result/mod.ts

Examples

Basic usage with static methods

import { Result } from "@qlever-llc/result";

function divide(a: number, b: number): Result<number, ValidationError> {
  if (b === 0) {
    return Result.err(new ValidationError("Division by zero"));
  }
  return Result.ok(a / b);
}

const result = divide(10, 2)
  .map(x => x * 2)
  .map(x => x + 1);

const value = result.take();
if (Result.isErr(value)) return value;
console.log(value); // 11

Async operations

import { AsyncResult, Result } from "@qlever-llc/result";

const user = AsyncResult.try(async () => {
  const response = await fetch(`/api/users/123`);
  return await response.json();
});

const result = user
  .map(user => user.name)
  .map(name => name.toUpperCase());

const value = await result.take();
if (Result.isErr(value)) return value;
console.log(value); // "ALICE"

Classes

c
AsyncResult<T, E extends BaseError>(promise: Promise<Result<T, E>>)

An asynchronous Result class that represents a Promise of Result<T, E>.

c
BaseError<TData extends BaseErrorSchema = BaseErrorSchema>(
message: string,
options?: BaseErrorOptions
)

Base class for all errors used in Result<T, E>.

c
Result<T, E extends BaseError>(_value: ResultValue<T, E>)

A synchronous Result class that represents either success (Ok) or failure (Err).

c
UnexpectedError(options?: BaseErrorOptions)

Represents an unexpected error. Use this for wrapping unknown errors or for truly unexpected conditions.

Interfaces

I
ErrValue

Represents a failed result containing an error.

I
OkValue

Represents a successful result containing a value.

Type Aliases

Variables

v
T
BaseErrorSchema

Base error serialization schema. All errors serialize to this structure with optional additional fields.

v
v
UnexpectedErrorDataSchema

Schema for UnexpectedError serialization.

trellis-svelte/src/index.ts

Classes

Functions

Interfaces

I
TrellisApp

Public app-scoped typed Svelte context owner for a Trellis browser app.

Type Aliases

T
CreateTrellisAppOptions<
TContract extends TrellisContractLike = TrellisContractLike
>
= { contract: TContract; trellisUrl: TrellisAppUrlResolver; }

Options used to create a Trellis Svelte app owner.

T
TrellisAppUrl = string | URL

URL value accepted by a Trellis Svelte app owner.

T
TrellisAppUrlResolver = TrellisAppUrl | (() => TrellisAppUrl | undefined)

Trellis URL configuration for a Svelte app owner.

T
TrellisContextClient = { readonly connection: TrellisConnection; }

Minimal client surface required for Trellis Svelte context clients.

trellis-test/index.ts

Classes

c
TrellisTestRuntime(args: { trellisUrl: string; workdir: string; deployment: string; keepWorkdir: boolean; timeouts: RuntimeTimeouts; nats: NatsTestContainer; controlPlane: TrellisProcessHandle; admin: TrellisTestAdminAutomation; })

Runs an isolated Trellis control plane and NATS server for integration tests.

Functions

f
sqliteMemoryUrl(): string

Returns the SQLite in-memory URL used by service-owned tests.

f
tempSqlitePath(name?: string): Promise<string>

Returns a fresh path suitable for a service-owned SQLite database.

f
waitFor<T>(
fn: () =>
T
| null
| undefined
| false
| Promise<T | null | undefined | false>,
opts?: WaitForOptions
): Promise<T>

Polls until fn returns a truthy value, preserving the last thrown error on timeout.

Type Aliases

T
TrellisTestAssertionCapturedEvent<TEventName extends string = string, TPayload = unknown> = { readonly event: TEventName; readonly payload: TPayload; readonly context: unknown; readonly receivedAt: unknown; }

Minimal captured-event shape accepted by the generic event assertion helpers.

T
TrellisTestAssertionEventCapture<
TEvent extends TrellisTestAssertionCapturedEvent = TrellisTestAssertionCapturedEvent
>
= { all(): ReadonlyArray<TEvent>; }

Structural event capture accepted by Trellis test event assertion helpers.

T
TrellisTestAssertNoEventDuringOptions = { readonly durationMs: number; readonly intervalMs?: number; }

Options for assertNoEventDuring.

T
TrellisTestAuthorityPlanClassification = "update" | "migration"

Authority plan classifications the test runtime may approve automatically.

T
TrellisTestCapturedEventContext = { readonly id: string; readonly time: Date; readonly mode: "ephemeral"; }

Transport-neutral listener metadata captured with a test event.

T
TrellisTestCapturedEventContextExpectation = { readonly id?: string; readonly time?: Date; readonly mode?: "ephemeral"; readonly receivedAt?: Date; }

Expected captured event context fields for assertCapturedEventContext.

T
TrellisTestClientKey = { seed: string; sessionKey: string; }

Session-key material returned for a registered app/client participant.

T
TrellisTestEventSourceContract = EventSourceContract

Contract value accepted by TrellisTestRuntime.captureEvents.

T
TrellisTestJobTerminal<TResult = unknown> = { readonly id?: string; readonly state: string; readonly result?: TResult; }

Minimal terminal job snapshot accepted by assertJobCompleted.

T
TrellisTestOrThrowWaitResult<TTerminal> = { orThrow(): MaybePromise<TTerminal>; }

Generated-style wait result exposing an orThrow() terminal unwrap.

T
TrellisTestWaitableJob<TPayload = unknown, TResult = unknown> = { readonly id?: string; wait(): TrellisTestTerminalWaitResult<TrellisTestJobTerminal<TResult>>; }

Structural Trellis job reference accepted by assertJobCompleted.

T
TrellisTestWaitForSource =
TrellisTestWaitForFunction
| { readonly waitFor: TrellisTestWaitForFunction; }

Runtime-like object accepted by eventual Trellis test assertion helpers.

trellis/index.ts

Classes

c
AsyncResult<T, E extends BaseError>(promise: Promise<Result<T, E>>)

An asynchronous Result class that represents a Promise of Result<T, E>.

c
BaseError<TData extends BaseErrorSchema = BaseErrorSchema>(
message: string,
options?: BaseErrorOptions
)

Base class for all errors used in Result<T, E>.

c
ClientAuthHandledError()

Error raised when client authentication was delegated to caller-owned routing.

c
RemoteError(options:
ErrorOptions
& { error: TransportableTrellisErrorData; context?: Record<string, unknown>; id?: string; }
)

Error for wrapping errors received from remote Trellis services. This is the only error type with parseJSON/parseObject methods for deserializing remote errors.

c
Result<T, E extends BaseError>(_value: ResultValue<T, E>)

A synchronous Result class that represents either success (Ok) or failure (Err).

c
TrellisConnection(options: TrellisConnectionOptions)

Framework-neutral Trellis connection lifecycle handle.

c
TrellisError

Abstract base class for Trellis errors. Trellis errors automatically include traceId when initTelemetry() has been called and a span is active in the current context.

c
UnexpectedError(options?: BaseErrorOptions)

Represents an unexpected error. Use this for wrapping unknown errors or for truly unexpected conditions.

c
ValidationError(options:
ErrorOptions
& { errors: Iterable<ValidationErrorInput>; context?: Record<string, unknown>; id?: string; }
)

Error for data validation failures. Includes schema validation and missing required data.

Functions

f
buildCursorPage<T>(
items: T[],
nextCursor?: string
): CursorPage<T>

Builds a CursorPage from items and an optional next cursor.

f
CursorPageSchema<TItem extends TSchema>(item: TItem)

Create a schema for a cursor page response with typed items.

f
defineServiceContract<
TErrors extends Readonly<Record<string, unknown>> | undefined,
TRegistry extends DefineContractRegistry<Readonly<Record<string, TSchema>> | undefined, TErrors>,
TCapabilities extends ContractCapabilities | undefined,
TUses extends AuthorContractUses | undefined,
TRpc extends
Readonly<
Record<
string,
ContractSourceRpcMethod<
SchemaNameOf<RegistrySchemas<TRegistry>>,
ErrorNameOf<RegistryErrors<TRegistry>>,
CapabilityRef<TCapabilities>
>
>
>

| undefined,
TOperations extends
Readonly<
Record<
string,
ContractSourceOperation<
SchemaNameOf<RegistrySchemas<TRegistry>>,
CapabilityRef<TCapabilities>
>
>
>

| undefined,
TEvents extends
Readonly<
Record<
string,
ContractSourceEvent<
SchemaNameOf<RegistrySchemas<TRegistry>>,
CapabilityRef<TCapabilities>
>
>
>

| undefined,
TBody extends ServiceContractBodyInput<
TCapabilities,
RegistrySchemas<TRegistry>,
TUses,
RegistryErrors<TRegistry>,
TRpc,
TOperations,
TEvents
>
>
(
registry: TRegistry & { capabilities?: never; exports?: never; },
build: (ref: ContractRefBuilder<RegistrySchemas<TRegistry>, RegistryErrors<TRegistry>>) => TBody
): DefinedContract<
OwnedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
UsedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
MergeApis<
OwnedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
UsedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>,
TBody["id"],
ProjectedJobs<
JobsFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
SchemasFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>,
ProjectedState<
StateFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
SchemasFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>,
ProjectedKvResources<
ResourcesFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
SchemasFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>
>
f
digestJson(value: JsonValue): Promise<{ canonical: string; digest: string; }>

Canonicalizes JSON and computes its SHA-256 base64url digest.

f
f
PageResponseSchema<TEntry extends TSchema>(entry: TEntry)

Create a schema for a bounded page response with typed entries.

f
runAllHealthChecks(
service: string,
checks: Record<string, HealthCheckFn>
): Promise<HealthResponse>

Runs all health checks and returns an aggregated health response.

f

Interfaces

Type Aliases

T
ClientTrellis<
TA extends AnyTrellisAPI = TrellisAPI,
TState extends RuntimeStateStores = { },
TRequests = RpcRequestShapes<TA>
>
= { readonly name: string; readonly timeout: number; readonly stream: string; readonly api: TA; readonly state: StateFacade<TState>; readonly connection: TrellisConnection; readonly rpc: ActiveRpcFacade<TA>; readonly event: ActiveEventFacade<TA>; readonly feed: ActiveFeedFacade<TA>; readonly operation: ActiveOperationFacade<TA>; readonly handle: { readonly rpc: ActiveRpcHandleFacade<TA, TRequests>; }; request<M extends RequestMethodOf<TRequests>>(
method: M,
input: RequestInputOf<TRequests, M>,
opts?: RequestOpts
): AsyncResult<RequestOutputOf<TRequests, M>, BaseError>; publish<E extends EventsOf<TA>>(
event: E,
data: EventPayloadOf<TA, E>
): AsyncResult<void, ValidationError | UnexpectedError>; prepare<E extends EventsOf<TA>>(
event: E,
data: EventPayloadOf<TA, E>
): Result<
PreparedTrellisEvent<EventPayloadOf<TA, E>>,
ValidationError | UnexpectedError
>
; publishPrepared(event: PreparedTrellisEvent): AsyncResult<void, UnexpectedError>; transfer(grant: SendTransferGrant): SendTransferHandle; transfer(grant: ReceiveTransferGrant): ReceiveTransferHandle; wait(): AsyncResult<void, BaseError>; }

Public client-side surface returned by TrellisClient.connect.

T
CursorPageInfo = Static<CursorPageInfoSchema>

Cursor pagination response metadata.

T
CursorQueryOptions = { defaultLimit?: number; maxLimit?: number; }

Options for normalizing a cursor pagination query.

T
DefineContractInput<
TCapabilities extends ContractCapabilities | undefined = ContractCapabilities | undefined,
TSchemas extends Readonly<Record<string, TSchema>> | undefined = undefined,
TUses extends AuthorContractUses | undefined = undefined,
TErrors extends Readonly<Record<string, ErrorClass>> | undefined = undefined,
TRpc extends
Readonly<
Record<
string,
ContractSourceRpcMethod<
SchemaNameOf<TSchemas>,
ErrorNameOf<TErrors>,
CapabilityRef<TCapabilities>
>
>
>

| undefined
= undefined
,
TOperations extends
Readonly<
Record<
string,
ContractSourceOperation<SchemaNameOf<TSchemas>, CapabilityRef<TCapabilities>>
>
>

| undefined
= undefined
,
TEvents extends
Readonly<
Record<
string,
ContractSourceEvent<SchemaNameOf<TSchemas>, CapabilityRef<TCapabilities>>
>
>

| undefined
= undefined
>
= { id: string; displayName: string; description: string; docs?: ContractDocs; kind: ContractKind; capabilities?: ContractCapabilities; schemas?: TSchemas; exports?: ContractSourceExports<SchemaNameOf<TSchemas>>; state?: ContractSourceState<SchemaNameOf<TSchemas>>; uses?: TUses; errors?: TErrors; rpc?: TRpc; operations?: TOperations; events?: TEvents; feeds?: Readonly<
Record<
string,
ContractSourceFeed<SchemaNameOf<TSchemas>, CapabilityRef<TCapabilities>>
>
>
; jobs?: ContractSourceJobs<SchemaNameOf<TSchemas>>; eventConsumers?: ContractSourceEventConsumers; resources?: ContractSourceResources<SchemaNameOf<TSchemas>>; }
T
EventListenerContext = { id: string; time: Date; subject: string; mode: "durable" | "ephemeral"; group?: string; sequence?: number; }

Context provided to event listener callbacks.

T
HealthCheckFn = () => Promise<Result<boolean, TrellisError>>

A health check function that returns a Result indicating health status.

T
HealthCheckResult = { name: string; status: "ok" | "failed"; error?: string; summary?: string; info?: Record<string, JsonValue>; latencyMs: number; }

Result of a single health check.

T
HealthResponse = { status: "healthy" | "unhealthy" | "degraded"; service: string; timestamp: string; checks: HealthCheckResult[]; }

Aggregated health response for a service.

T
MaybeAsync<T, E extends BaseError> = Result<T, E> | AsyncResult<T, E> | Promise<Result<T, E>>

A type that accepts either a Result or AsyncResult with the same T and E types.

T
NormalizedCursorQuery = { cursor?: string; limit: number; }

Cursor query after defaults and validation have been applied.

T
OperationControlError = TransportError | OperationLifecycleError

Errors returned when an operation control request fails before producing a snapshot or ack.

T
OperationLifecycleError =
OperationNotFoundError
| OperationAlreadyTerminalError
| OperationMismatchError

Errors returned when an operation control request violates lifecycle state.

T
PageRequest = Static<PageRequestSchema>

Bounded pagination request.

T
TrellisEventHeader = Readonly<{ id: string; time: string; }>

Runtime metadata assigned to every Trellis event message.

T
WatchOptions = { includeDeletes?: boolean; }

Options for the watch() method.

Variables

trellis/auth.ts

Functions

f
approvalCapabilityKeys(approval: ContractApproval): string[]

Returns the raw global capability keys required by an approval.

f
buildNatsConnectSignaturePayload(
iat: number,
contractDigest: string
): string

Builds the canonical value signed for NATS runtime-auth tokens.

Type Aliases

T
SessionKeyOptions = { persistence?: SessionKeyPersistenceMode; expiresAt?: number | Date; ttlMs?: number; }

Variables

trellis/auth/browser.ts

Functions

f
approvalCapabilityKeys(approval: ContractApproval): string[]

Returns the raw global capability keys required by an approval.

Type Aliases

T
SessionKeyOptions = { persistence?: SessionKeyPersistenceMode; expiresAt?: number | Date; ttlMs?: number; }

Variables

trellis/browser.ts

Classes

c
AsyncResult<T, E extends BaseError>(promise: Promise<Result<T, E>>)

An asynchronous Result class that represents a Promise of Result<T, E>.

c
BaseError<TData extends BaseErrorSchema = BaseErrorSchema>(
message: string,
options?: BaseErrorOptions
)

Base class for all errors used in Result<T, E>.

c
ClientAuthHandledError()

Error raised when client authentication was delegated to caller-owned routing.

c
RemoteError(options:
ErrorOptions
& { error: TransportableTrellisErrorData; context?: Record<string, unknown>; id?: string; }
)

Error for wrapping errors received from remote Trellis services. This is the only error type with parseJSON/parseObject methods for deserializing remote errors.

c
Result<T, E extends BaseError>(_value: ResultValue<T, E>)

A synchronous Result class that represents either success (Ok) or failure (Err).

c
TrellisConnection(options: TrellisConnectionOptions)

Framework-neutral Trellis connection lifecycle handle.

c
TrellisError

Abstract base class for Trellis errors. Trellis errors automatically include traceId when initTelemetry() has been called and a span is active in the current context.

c
UnexpectedError(options?: BaseErrorOptions)

Represents an unexpected error. Use this for wrapping unknown errors or for truly unexpected conditions.

c
ValidationError(options:
ErrorOptions
& { errors: Iterable<ValidationErrorInput>; context?: Record<string, unknown>; id?: string; }
)

Error for data validation failures. Includes schema validation and missing required data.

Functions

f
buildCursorPage<T>(
items: T[],
nextCursor?: string
): CursorPage<T>

Builds a CursorPage from items and an optional next cursor.

f
CursorPageSchema<TItem extends TSchema>(item: TItem)

Create a schema for a cursor page response with typed items.

f
defineServiceContract<
TErrors extends Readonly<Record<string, unknown>> | undefined,
TRegistry extends DefineContractRegistry<Readonly<Record<string, TSchema>> | undefined, TErrors>,
TCapabilities extends ContractCapabilities | undefined,
TUses extends AuthorContractUses | undefined,
TRpc extends
Readonly<
Record<
string,
ContractSourceRpcMethod<
SchemaNameOf<RegistrySchemas<TRegistry>>,
ErrorNameOf<RegistryErrors<TRegistry>>,
CapabilityRef<TCapabilities>
>
>
>

| undefined,
TOperations extends
Readonly<
Record<
string,
ContractSourceOperation<
SchemaNameOf<RegistrySchemas<TRegistry>>,
CapabilityRef<TCapabilities>
>
>
>

| undefined,
TEvents extends
Readonly<
Record<
string,
ContractSourceEvent<
SchemaNameOf<RegistrySchemas<TRegistry>>,
CapabilityRef<TCapabilities>
>
>
>

| undefined,
TBody extends ServiceContractBodyInput<
TCapabilities,
RegistrySchemas<TRegistry>,
TUses,
RegistryErrors<TRegistry>,
TRpc,
TOperations,
TEvents
>
>
(
registry: TRegistry & { capabilities?: never; exports?: never; },
build: (ref: ContractRefBuilder<RegistrySchemas<TRegistry>, RegistryErrors<TRegistry>>) => TBody
): DefinedContract<
OwnedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
UsedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
MergeApis<
OwnedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
UsedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>,
TBody["id"],
ProjectedJobs<
JobsFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
SchemasFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>,
ProjectedState<
StateFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
SchemasFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>,
ProjectedKvResources<
ResourcesFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
SchemasFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>
>
f
digestJson(value: JsonValue): Promise<{ canonical: string; digest: string; }>

Canonicalizes JSON and computes its SHA-256 base64url digest.

f
f
PageResponseSchema<TEntry extends TSchema>(entry: TEntry)

Create a schema for a bounded page response with typed entries.

Interfaces

Type Aliases

T
ClientTrellis<
TA extends AnyTrellisAPI = TrellisAPI,
TState extends RuntimeStateStores = { },
TRequests = RpcRequestShapes<TA>
>
= { readonly name: string; readonly timeout: number; readonly stream: string; readonly api: TA; readonly state: StateFacade<TState>; readonly connection: TrellisConnection; readonly rpc: ActiveRpcFacade<TA>; readonly event: ActiveEventFacade<TA>; readonly feed: ActiveFeedFacade<TA>; readonly operation: ActiveOperationFacade<TA>; readonly handle: { readonly rpc: ActiveRpcHandleFacade<TA, TRequests>; }; request<M extends RequestMethodOf<TRequests>>(
method: M,
input: RequestInputOf<TRequests, M>,
opts?: RequestOpts
): AsyncResult<RequestOutputOf<TRequests, M>, BaseError>; publish<E extends EventsOf<TA>>(
event: E,
data: EventPayloadOf<TA, E>
): AsyncResult<void, ValidationError | UnexpectedError>; prepare<E extends EventsOf<TA>>(
event: E,
data: EventPayloadOf<TA, E>
): Result<
PreparedTrellisEvent<EventPayloadOf<TA, E>>,
ValidationError | UnexpectedError
>
; publishPrepared(event: PreparedTrellisEvent): AsyncResult<void, UnexpectedError>; transfer(grant: SendTransferGrant): SendTransferHandle; transfer(grant: ReceiveTransferGrant): ReceiveTransferHandle; wait(): AsyncResult<void, BaseError>; }

Public client-side surface returned by TrellisClient.connect.

T
CursorPageInfo = Static<CursorPageInfoSchema>

Cursor pagination response metadata.

T
CursorQueryOptions = { defaultLimit?: number; maxLimit?: number; }

Options for normalizing a cursor pagination query.

T
DefineContractInput<
TCapabilities extends ContractCapabilities | undefined = ContractCapabilities | undefined,
TSchemas extends Readonly<Record<string, TSchema>> | undefined = undefined,
TUses extends AuthorContractUses | undefined = undefined,
TErrors extends Readonly<Record<string, ErrorClass>> | undefined = undefined,
TRpc extends
Readonly<
Record<
string,
ContractSourceRpcMethod<
SchemaNameOf<TSchemas>,
ErrorNameOf<TErrors>,
CapabilityRef<TCapabilities>
>
>
>

| undefined
= undefined
,
TOperations extends
Readonly<
Record<
string,
ContractSourceOperation<SchemaNameOf<TSchemas>, CapabilityRef<TCapabilities>>
>
>

| undefined
= undefined
,
TEvents extends
Readonly<
Record<
string,
ContractSourceEvent<SchemaNameOf<TSchemas>, CapabilityRef<TCapabilities>>
>
>

| undefined
= undefined
>
= { id: string; displayName: string; description: string; docs?: ContractDocs; kind: ContractKind; capabilities?: ContractCapabilities; schemas?: TSchemas; exports?: ContractSourceExports<SchemaNameOf<TSchemas>>; state?: ContractSourceState<SchemaNameOf<TSchemas>>; uses?: TUses; errors?: TErrors; rpc?: TRpc; operations?: TOperations; events?: TEvents; feeds?: Readonly<
Record<
string,
ContractSourceFeed<SchemaNameOf<TSchemas>, CapabilityRef<TCapabilities>>
>
>
; jobs?: ContractSourceJobs<SchemaNameOf<TSchemas>>; eventConsumers?: ContractSourceEventConsumers; resources?: ContractSourceResources<SchemaNameOf<TSchemas>>; }
T
EventListenerContext = { id: string; time: Date; subject: string; mode: "durable" | "ephemeral"; group?: string; sequence?: number; }

Context provided to event listener callbacks.

T
MaybeAsync<T, E extends BaseError> = Result<T, E> | AsyncResult<T, E> | Promise<Result<T, E>>

A type that accepts either a Result or AsyncResult with the same T and E types.

T
NormalizedCursorQuery = { cursor?: string; limit: number; }

Cursor query after defaults and validation have been applied.

T
OperationControlError = TransportError | OperationLifecycleError

Errors returned when an operation control request fails before producing a snapshot or ack.

T
OperationLifecycleError =
OperationNotFoundError
| OperationAlreadyTerminalError
| OperationMismatchError

Errors returned when an operation control request violates lifecycle state.

T
PageRequest = Static<PageRequestSchema>

Bounded pagination request.

T
WatchOptions = { includeDeletes?: boolean; }

Options for the watch() method.

Variables

v
CursorPageInfoSchema

Schema for cursor pagination response metadata.

v
CursorQuerySchema

Schema for a cursor pagination query.

v
v
PageRequestSchema

Schema for a bounded pagination request.

trellis/contracts.ts

Functions

f
assertDataPointersExistAndAreTokenable(
name: string,
schema: unknown,
pointers: readonly string[]
): void

Verifies that event subject parameter pointers resolve to tokenable schemas.

f
buildCursorPage<T>(
items: T[],
nextCursor?: string
): CursorPage<T>

Builds a CursorPage from items and an optional next cursor.

f
contractCapabilityNamespace(contractId: string): string

Return the global capability namespace for a contract id.

f
CursorPageSchema<TItem extends TSchema>(item: TItem)

Create a schema for a cursor page response with typed items.

f
defineServiceContract<
TErrors extends Readonly<Record<string, unknown>> | undefined,
TRegistry extends DefineContractRegistry<Readonly<Record<string, TSchema>> | undefined, TErrors>,
TCapabilities extends ContractCapabilities | undefined,
TUses extends AuthorContractUses | undefined,
TRpc extends
Readonly<
Record<
string,
ContractSourceRpcMethod<
SchemaNameOf<RegistrySchemas<TRegistry>>,
ErrorNameOf<RegistryErrors<TRegistry>>,
CapabilityRef<TCapabilities>
>
>
>

| undefined,
TOperations extends
Readonly<
Record<
string,
ContractSourceOperation<
SchemaNameOf<RegistrySchemas<TRegistry>>,
CapabilityRef<TCapabilities>
>
>
>

| undefined,
TEvents extends
Readonly<
Record<
string,
ContractSourceEvent<
SchemaNameOf<RegistrySchemas<TRegistry>>,
CapabilityRef<TCapabilities>
>
>
>

| undefined,
TBody extends ServiceContractBodyInput<
TCapabilities,
RegistrySchemas<TRegistry>,
TUses,
RegistryErrors<TRegistry>,
TRpc,
TOperations,
TEvents
>
>
(
registry: TRegistry & { capabilities?: never; exports?: never; },
build: (ref: ContractRefBuilder<RegistrySchemas<TRegistry>, RegistryErrors<TRegistry>>) => TBody
): DefinedContract<
OwnedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
UsedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
MergeApis<
OwnedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
UsedApiFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>,
TBody["id"],
ProjectedJobs<
JobsFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
SchemasFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>,
ProjectedState<
StateFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
SchemasFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>,
ProjectedKvResources<
ResourcesFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>,
SchemasFromSource<BuiltContractSource<TRegistry, WithKind<TBody, "service">>>
>
>
f
digestContractManifest(contract: TrellisContractV1): string

Compute the v1 contract digest from the normalized digest projection.

f
digestJson(value: JsonValue): Promise<{ canonical: string; digest: string; }>

Canonicalizes JSON and computes its SHA-256 base64url digest.

f
getSubschemaAtDataPointer(
schema: unknown,
pointer: string
): unknown | undefined

Returns the first schema node reachable by following a payload JSON Pointer.

f
globalCapabilityName(
contractId: string,
localCapability: string
): string

Return the globally qualified name for a contract-local capability.

f
normalizeContractManifest(contract: TrellisContractV1): TrellisContractV1

Return the canonical manifest shape used by Trellis runtimes before validation, persistence, and digesting.

f
f
PageResponseSchema<TEntry extends TSchema>(entry: TEntry)

Create a schema for a bounded page response with typed entries.

f
parseContractManifest(value: unknown): TrellisContractV1

Parse untrusted contract JSON into the current Trellis v1 manifest shape.

f
projectContractDigestManifest(contract: TrellisContractV1): JsonValue

Build the normalized runtime/interface projection used for contract identity.

f
sha256Base64urlSync(text: string): string

Computes a synchronous SHA-256 digest encoded as base64url.

Type Aliases

T
CursorPageInfo = Static<CursorPageInfoSchema>

Cursor pagination response metadata.

T
CursorQueryOptions = { defaultLimit?: number; maxLimit?: number; }

Options for normalizing a cursor pagination query.

T
DefineContractInput<
TCapabilities extends ContractCapabilities | undefined = ContractCapabilities | undefined,
TSchemas extends Readonly<Record<string, TSchema>> | undefined = undefined,
TUses extends AuthorContractUses | undefined = undefined,
TErrors extends Readonly<Record<string, ErrorClass>> | undefined = undefined,
TRpc extends
Readonly<
Record<
string,
ContractSourceRpcMethod<
SchemaNameOf<TSchemas>,
ErrorNameOf<TErrors>,
CapabilityRef<TCapabilities>
>
>
>

| undefined
= undefined
,
TOperations extends
Readonly<
Record<
string,
ContractSourceOperation<SchemaNameOf<TSchemas>, CapabilityRef<TCapabilities>>
>
>

| undefined
= undefined
,
TEvents extends
Readonly<
Record<
string,
ContractSourceEvent<SchemaNameOf<TSchemas>, CapabilityRef<TCapabilities>>
>
>

| undefined
= undefined
>
= { id: string; displayName: string; description: string; docs?: ContractDocs; kind: ContractKind; capabilities?: ContractCapabilities; schemas?: TSchemas; exports?: ContractSourceExports<SchemaNameOf<TSchemas>>; state?: ContractSourceState<SchemaNameOf<TSchemas>>; uses?: TUses; errors?: TErrors; rpc?: TRpc; operations?: TOperations; events?: TEvents; feeds?: Readonly<
Record<
string,
ContractSourceFeed<SchemaNameOf<TSchemas>, CapabilityRef<TCapabilities>>
>
>
; jobs?: ContractSourceJobs<SchemaNameOf<TSchemas>>; eventConsumers?: ContractSourceEventConsumers; resources?: ContractSourceResources<SchemaNameOf<TSchemas>>; }
T
NormalizedCursorQuery = { cursor?: string; limit: number; }

Cursor query after defaults and validation have been applied.

T
PageRequest = Static<PageRequestSchema>

Bounded pagination request.

Variables

trellis/device.ts

Functions

Type Aliases

Variables

trellis/device/deno.ts

Functions

Type Aliases

T
TrellisDeviceActivatedStatus = { status: "activated"; }

Activation status for a device that is already ready to connect.

trellis/generate.ts

Classes

Functions

Type Aliases

Variables

trellis/health.ts

Classes

Functions

Type Aliases

T
HealthCheckFn = () => Promise<Result<boolean, TrellisError>>

A health check function that returns a Result indicating health status.

T
HealthCheckResult = { name: string; status: "ok" | "failed"; error?: string; summary?: string; info?: Record<string, JsonValue>; latencyMs: number; }

Result of a single health check.

T
HealthResponse = { status: "healthy" | "unhealthy" | "degraded"; service: string; timestamp: string; checks: HealthCheckResult[]; }

Aggregated health response for a service.

Variables

trellis/host/mod.ts

Legacy service host entry point.

Classes

c
MemoryInboxRepository

In-memory inbox repository intended for duplicate-suppression tests.

c
OutboxDispatcher(
repository: OutboxRepository,
runtime: Pick<Trellis, "publishPrepared">,
options?: OutboxDispatcherOptions
)

Coalesces outbox wakeups and drains due messages through dispatchOutbox.

  • notify(): void

    Signals that outbox work may be available and schedules a drain soon.

  • stop(): void

    Cancels pending wakeups and prevents future dispatch work.

c
TrellisService<
TOwnedApi extends TrellisAPI = TrellisAPI,
TTrellisApi extends TrellisAPI = TOwnedApi,
TJobs extends ContractJobsMetadata = { },
TKv extends ContractKvMetadata = ContractKvMetadata
>
(
name: string,
auth: SessionAuth,
nc: NatsConnection,
server: TrellisServiceRuntimeFor<TOwnedApi & TTrellisApi>,
event: ActiveEventFacade<TTrellisApi>,
handlerTrellis: Trellis<TTrellisApi, TKv, TJobs>,
kv: ServiceKvFacade<TKv>,
contractJobs: TJobs,
bindings: ResourceBindings,
operationTransfer: ServiceTransfer,
health: ServiceHealth,
stopHealthPublishing: () => Promise<void>,
connection: TrellisConnection,
token: trellisServiceConstructorToken
)

Functions

f
createPostgresOutboxSchema(tables?: SqlOutboxTables): readonly string[]

Returns Postgres DDL for Trellis outbox and inbox tables.

f
createSqliteOutboxSchema(tables?: SqlOutboxTables): readonly string[]

Returns SQLite DDL for Trellis outbox and inbox tables.

f
createSqlOutboxAdapter(
executor: SqlExecutor,
dialect: SqlDialect,
tables?: SqlOutboxTables
): SqlOutboxAdapter

Creates SQL outbox/inbox repositories plus DDL for caller-owned migrations.

f
outboxMessageToPrepared(message: OutboxMessage): PreparedTrellisEvent

Rehydrates a persisted outbox row into a prepared event.

f
runAllHealthChecks(
service: string,
checks: Record<string, HealthCheckFn>
): Promise<HealthResponse>

Runs all health checks and returns an aggregated health response.

f

Type Aliases

T
EventContext = { id: string; time: Date; seq: number; ack: () => void; nak: (delay?: number) => void; term: () => void; }

Context provided to event handlers with message metadata and acknowledgment controls.

T
HealthCheckFn = () => Promise<Result<boolean, TrellisError>>

A health check function that returns a Result indicating health status.

T
HealthCheckResult = { name: string; status: "ok" | "failed"; error?: string; summary?: string; info?: Record<string, JsonValue>; latencyMs: number; }

Result of a single health check.

T
HealthResponse = { status: "healthy" | "unhealthy" | "degraded"; service: string; timestamp: string; checks: HealthCheckResult[]; }

Aggregated health response for a service.

T
MultiSubscribeOpts = { defaultMode?: "strict" | "independent"; }

Options for subscribing to multiple events.

T
OperationRegistration<
TOwnedApi extends TrellisAPI,
TTrellisApi extends TrellisAPI,
O extends keyof TOwnedApi["operations"] & string,
TKv extends ContractKvMetadata = ContractKvMetadata,
TJobs extends ContractJobsMetadata = { }
>
= { accept(args: { sessionKey: string; }): AsyncResult<
AcceptedOperation<
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>
>,
UnexpectedError
>
; control(operationId: string): AsyncResult<
OperationRuntimeHandle<
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>
>,
BaseError
>
; handle(handler: (args:
OperationHandlerContext<
InferSchemaType<TOwnedApi["operations"][O]["input"]>,
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>,
OperationTransferContextOf<TOwnedApi, O>
>

& { client: Trellis<TTrellisApi, TKv, TJobs>; }
) => unknown | Promise<unknown>
): Promise<void>; }
T
OrderingGroup<TA extends TrellisAPI = TrellisAPI> = { name: string; events: Array<Events<TA>>; mode: "strict" | "independent"; }

Defines a group of events that should be processed together with ordering guarantees.

T
OutboxDispatcherOptions = { limit?: number; retryDelayMs?: number; debounceMs?: number; idleRetryMs?: number; onError?: (error: unknown) => void; }

Options for OutboxDispatcher.

T
SingleSubscription<
TA extends TrellisAPI = TrellisAPI,
E extends Events<TA> = Events<TA>
>
= { event: E; handler: EventHandler<TA, E>; opts?: SubscribeOpts; }

A subscription for a single event type.

T
SubscribeOpts = { filter?: Record<string, string>; startSeq?: number; startTime?: Date; consumerName?: string; }

Options for subscribing to events.

T
TrellisServiceConnectTelemetryOpts = false | { enabled?: boolean; }

Controls automatic telemetry initialization for TrellisService.connect().

Variables

trellis/host/control-plane.ts

Internal Trellis control-plane host surface.

Classes

c
Trellis<
TA extends AnyTrellisAPI = TrellisAPI,
TMode extends TrellisMode = "client",
TState extends RuntimeStateStores = { },
TRequests = RpcRequestShapes<TA>
>
(
name: string,
nats: NatsConnection,
auth: TrellisAuth,
opts?: TrellisOpts<TA>
)

Functions

Type Aliases

trellis/host/node.ts

Legacy Node service host entry point.

Classes

c
TrellisService<
TOwnedApi extends TrellisAPI = TrellisAPI,
TTrellisApi extends TrellisAPI = TOwnedApi,
TJobs extends ContractJobsMetadata = { },
TKv extends ContractKvMetadata = ContractKvMetadata
>
(
name: string,
auth: SessionAuth,
nc: NatsConnection,
server: TrellisServiceRuntimeFor<TOwnedApi & TTrellisApi>,
event: ActiveEventFacade<TTrellisApi>,
handlerTrellis: Trellis<TTrellisApi, TKv, TJobs>,
kv: ServiceKvFacade<TKv>,
contractJobs: TJobs,
bindings: ResourceBindings,
operationTransfer: ServiceTransfer,
health: ServiceHealth,
stopHealthPublishing: () => Promise<void>,
connection: TrellisConnection,
token: trellisServiceConstructorToken
)

Type Aliases

T
OperationRegistration<
TOwnedApi extends TrellisAPI,
TTrellisApi extends TrellisAPI,
O extends keyof TOwnedApi["operations"] & string,
TKv extends ContractKvMetadata = ContractKvMetadata,
TJobs extends ContractJobsMetadata = { }
>
= { accept(args: { sessionKey: string; }): AsyncResult<
AcceptedOperation<
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>
>,
UnexpectedError
>
; control(operationId: string): AsyncResult<
OperationRuntimeHandle<
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>
>,
BaseError
>
; handle(handler: (args:
OperationHandlerContext<
InferSchemaType<TOwnedApi["operations"][O]["input"]>,
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>,
OperationTransferContextOf<TOwnedApi, O>
>

& { client: Trellis<TTrellisApi, TKv, TJobs>; }
) => unknown | Promise<unknown>
): Promise<void>; }
T
TrellisServiceConnectTelemetryOpts = false | { enabled?: boolean; }

Controls automatic telemetry initialization for TrellisService.connect().

trellis/jobs.ts

Classes

Interfaces

Type Aliases

Variables

trellis/sdk/auth.ts

Interfaces

I
RpcMap
I
ServiceEventSurface
I
ServiceHandle
I
TrellisAuthClient

Type Aliases

T
AuthConnectionsListOutput = { count: number; entries: Array<
(
{ clientId: number; connectedAt: string; contractDisplayName: string; contractId: string; key: string; participantKind: "app"; principal: { identity: { identityId: string; provider: string; subject: string; }; name: string; type: "user"; userId: string; }; serverId: string; sessionKey: string; userNkey: string; }
| { clientId: number; connectedAt: string; contractDisplayName: string; contractId: string; key: string; participantKind: "agent"; principal: { identity: { identityId: string; provider: string; subject: string; }; name: string; type: "user"; userId: string; }; serverId: string; sessionKey: string; userNkey: string; }
| { clientId: number; connectedAt: string; contractDisplayName?: string; contractId: string; key: string; participantKind: "device"; principal: { deploymentId: string; deviceId: string; deviceType: string; runtimePublicKey: string; type: "device"; }; serverId: string; sessionKey: string; userNkey: string; }
| { clientId: number; connectedAt: string; key: string; participantKind: "service"; principal: { deploymentId: string; id: string; instanceId: string; name: string; type: "service"; }; serverId: string; sessionKey: string; userNkey: string; }
)
>
; limit: number; nextOffset?: number; offset: number; }
T
AuthDeploymentAuthorityAcceptMigrationOutput = { authority: { createdAt: string; deploymentId: string; desiredState: { capabilities: Array<string>; needs: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; }
; disabled: boolean; kind:
"service"
| "device"
| "app"
| "cli"
| "native"
| "device-user"
; updatedAt: string; version: string; }
; }
T
AuthDeploymentAuthorityAcceptUpdateOutput = { authority: { createdAt: string; deploymentId: string; desiredState: { capabilities: Array<string>; needs: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; }
; disabled: boolean; kind:
"service"
| "device"
| "app"
| "cli"
| "native"
| "device-user"
; updatedAt: string; version: string; }
; }
T
AuthDeploymentAuthorityGetOutput = { authority: { createdAt: string; deploymentId: string; desiredState: { capabilities: Array<string>; needs: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; }
; disabled: boolean; kind:
"service"
| "device"
| "app"
| "cli"
| "native"
| "device-user"
; updatedAt: string; version: string; }
; grantOverrides: Array<
(
{ capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "session"; origin: null; sessionPublicKey: string; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "session"; origin: null; sessionPublicKey: string; }
)
>
; materializedAuthority:
{ deploymentId: string; desiredVersion: string; error?: string; grants: { capabilities: Array<{ capability: string; }>; nats: Array<
{ direction: "publish" | "subscribe"; grantSource:
"owned-surface"
| "used-surface"
| "resource-binding"
| "platform-service"
| "transfer"
; requiredCapabilities: Array<string>; subject: string; surface?: { action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; name: string; surfaceKind: "rpc" | "operation" | "event" | "feed"; }
>
; }
; reconciledAt: string | null; resourceBindings: Array<
{ alias: string; binding: { [k: string]: unknown; }; createdAt: string; deploymentId: string; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; limits: { [k: string]: unknown; } | null; updatedAt: string; }
>
; status: "current" | "pending" | "failed"; }

| null
; portalRoute:
{ deploymentId: string; disabled: boolean; entryUrl: string | null; portalId: string | null; updatedAt: string; }
| null
; }
T
AuthDeploymentAuthorityGrantOverridesListOutput = { count: number; entries: Array<
(
{ capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "session"; origin: null; sessionPublicKey: string; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "session"; origin: null; sessionPublicKey: string; }
)
>
; limit: number; nextOffset?: number; offset: number; }
T
AuthDeploymentAuthorityGrantOverridesPutInput = { deploymentId: string; overrides: Array<
(
{ capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "session"; origin: null; sessionPublicKey: string; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "session"; origin: null; sessionPublicKey: string; }
)
>
; }
T
AuthDeploymentAuthorityGrantOverridesPutOutput = { grantOverrides: Array<
(
{ capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "session"; origin: null; sessionPublicKey: string; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "session"; origin: null; sessionPublicKey: string; }
)
>
; }
T
AuthDeploymentAuthorityGrantOverridesRemoveInput = { deploymentId: string; overrides: Array<
(
{ capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "session"; origin: null; sessionPublicKey: string; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "session"; origin: null; sessionPublicKey: string; }
)
>
; }
T
AuthDeploymentAuthorityGrantOverridesRemoveOutput = { grantOverrides: Array<
(
{ capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "web"; origin: string; sessionPublicKey: null; }
| { capability: string; capabilityGroupKey: null; contractId: string; deploymentId: string; grantKind: "capability"; identityKind: "session"; origin: null; sessionPublicKey: string; }
| { capability: null; capabilityGroupKey: string; contractId: string; deploymentId: string; grantKind: "capability-group"; identityKind: "session"; origin: null; sessionPublicKey: string; }
)
>
; }
T
AuthDeploymentAuthorityListOutput = { count: number; entries: Array<
{ createdAt: string; deploymentId: string; desiredState: { capabilities: Array<string>; needs: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; }
; disabled: boolean; kind:
"service"
| "device"
| "app"
| "cli"
| "native"
| "device-user"
; updatedAt: string; version: string; }
>
; limit: number; nextOffset?: number; offset: number; }
T
AuthDeploymentAuthorityPlanOutput = { plan:
{ classification: "update"; createdAt: string; decisionAt?: string | null; decisionBy?: { [k: string]: unknown; } | null; decisionReason?: string | null; deploymentId: string; desiredChange: { }; expiresAt?: string; materializationPreview: { }; planId: string; proposal: { contract?: { }; contractDigest: string; contractId: string; deploymentId: string; proposalId?: string; providedSurfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; requestedNeeds: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; summary?: { }; }
; state?: "pending" | "accepted" | "rejected" | "expired"; warnings: Array<string>; }

| { acknowledgementRequired: boolean; classification: "migration"; createdAt: string; decisionAt?: string | null; decisionBy?: { [k: string]: unknown; } | null; decisionReason?: string | null; deploymentId: string; desiredChange: { }; expiresAt?: string; materializationPreview: { }; planId: string; proposal: { contract?: { }; contractDigest: string; contractId: string; deploymentId: string; proposalId?: string; providedSurfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; requestedNeeds: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; summary?: { }; }
; state?: "pending" | "accepted" | "rejected" | "expired"; warnings: Array<string>; }
; }
T
AuthDeploymentAuthorityPlansGetOutput = { plan:
{ classification: "update"; createdAt: string; decisionAt?: string | null; decisionBy?: { [k: string]: unknown; } | null; decisionReason?: string | null; deploymentId: string; desiredChange: { }; expiresAt?: string; materializationPreview: { }; planId: string; proposal: { contract?: { }; contractDigest: string; contractId: string; deploymentId: string; proposalId?: string; providedSurfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; requestedNeeds: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; summary?: { }; }
; state?: "pending" | "accepted" | "rejected" | "expired"; warnings: Array<string>; }

| { acknowledgementRequired: boolean; classification: "migration"; createdAt: string; decisionAt?: string | null; decisionBy?: { [k: string]: unknown; } | null; decisionReason?: string | null; deploymentId: string; desiredChange: { }; expiresAt?: string; materializationPreview: { }; planId: string; proposal: { contract?: { }; contractDigest: string; contractId: string; deploymentId: string; proposalId?: string; providedSurfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; requestedNeeds: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; summary?: { }; }
; state?: "pending" | "accepted" | "rejected" | "expired"; warnings: Array<string>; }
; }
T
AuthDeploymentAuthorityPlansListOutput = { count: number; entries: Array<
(
{ classification: "update"; createdAt: string; decisionAt?: string | null; decisionBy?: { [k: string]: unknown; } | null; decisionReason?: string | null; deploymentId: string; desiredChange: { }; expiresAt?: string; materializationPreview: { }; planId: string; proposal: { contract?: { }; contractDigest: string; contractId: string; deploymentId: string; proposalId?: string; providedSurfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; requestedNeeds: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; summary?: { }; }
; state?: "pending" | "accepted" | "rejected" | "expired"; warnings: Array<string>; }

| { acknowledgementRequired: boolean; classification: "migration"; createdAt: string; decisionAt?: string | null; decisionBy?: { [k: string]: unknown; } | null; decisionReason?: string | null; deploymentId: string; desiredChange: { }; expiresAt?: string; materializationPreview: { }; planId: string; proposal: { contract?: { }; contractDigest: string; contractId: string; deploymentId: string; proposalId?: string; providedSurfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; requestedNeeds: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; summary?: { }; }
; state?: "pending" | "accepted" | "rejected" | "expired"; warnings: Array<string>; }
)
>
; limit: number; nextOffset?: number; offset: number; }
T
AuthDeploymentAuthorityReconcileOutput = { authority: { createdAt: string; deploymentId: string; desiredState: { capabilities: Array<string>; needs: { capabilities: Array<{ capability: string; required: boolean; }>; contracts: Array<{ contractId: string; required: boolean; }>; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; required: boolean; }
>
; }
; resources: Array<
{ alias: string; definition?: { }; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; required: boolean; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }
>
; }
; disabled: boolean; kind:
"service"
| "device"
| "app"
| "cli"
| "native"
| "device-user"
; updatedAt: string; version: string; }
; materializedAuthority: { deploymentId: string; desiredVersion: string; error?: string; grants: { capabilities: Array<{ capability: string; }>; nats: Array<
{ direction: "publish" | "subscribe"; grantSource:
"owned-surface"
| "used-surface"
| "resource-binding"
| "platform-service"
| "transfer"
; requiredCapabilities: Array<string>; subject: string; surface?: { action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; kind: "rpc" | "operation" | "event" | "feed"; name: string; }; }
>
; surfaces: Array<
{ action?: "call" | "publish" | "subscribe" | "observe" | "cancel"; contractId: string; name: string; surfaceKind: "rpc" | "operation" | "event" | "feed"; }
>
; }
; reconciledAt: string | null; resourceBindings: Array<
{ alias: string; binding: { [k: string]: unknown; }; createdAt: string; deploymentId: string; kind: "kv" | "store" | "jobs" | "event-consumer" | "transfer"; limits: { [k: string]: unknown; } | null; updatedAt: string; }
>
; status: "current" | "pending" | "failed"; }
; reconciliation?: { deploymentId: string; desiredVersion: string; finishedAt: string | null; message?: string; startedAt: string | null; state: "idle" | "running" | "succeeded" | "failed"; }; }
T
AuthServiceInstancesDisableOutput = { instance: { capabilities: Array<string>; createdAt: string; deploymentId: string; disabled: boolean; instanceId: string; instanceKey: string; resourceBindings?: { eventConsumers?: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; filterSubjects: Array<string>; maxDeliver: number; ordering: "strict"; replay: "new" | "all"; stream: string; }; }; jobs?: { namespace: string; queues: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; defaultDeadlineMs?: number; dlq: boolean; keyConcurrency?: { heartbeatIntervalMs: number; heartbeatTtlMs: number; key: Array<string>; maxActive: number; stalePolicy: "fail-stale" | "block"; }; logs: boolean; maxDeliver: number; payload: { schema: string; }; progress: boolean; publishPrefix: string; queue?: { maxQueuedPerKey: number; whenFull: "reject" | "coalesce" | "replace-oldest"; }; queueType: string; result?: { schema: string; }; workSubject: string; }; }; workStream?: string; }; kv?: { [k: string]: { bucket: string; history: number; maxValueBytes?: number; ttlMs: number; }; }; store?: { [k: string]: { maxObjectBytes?: number; maxTotalBytes?: number; name: string; ttlMs: number; }; }; }; }; }
T
AuthServiceInstancesEnableOutput = { instance: { capabilities: Array<string>; createdAt: string; deploymentId: string; disabled: boolean; instanceId: string; instanceKey: string; resourceBindings?: { eventConsumers?: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; filterSubjects: Array<string>; maxDeliver: number; ordering: "strict"; replay: "new" | "all"; stream: string; }; }; jobs?: { namespace: string; queues: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; defaultDeadlineMs?: number; dlq: boolean; keyConcurrency?: { heartbeatIntervalMs: number; heartbeatTtlMs: number; key: Array<string>; maxActive: number; stalePolicy: "fail-stale" | "block"; }; logs: boolean; maxDeliver: number; payload: { schema: string; }; progress: boolean; publishPrefix: string; queue?: { maxQueuedPerKey: number; whenFull: "reject" | "coalesce" | "replace-oldest"; }; queueType: string; result?: { schema: string; }; workSubject: string; }; }; workStream?: string; }; kv?: { [k: string]: { bucket: string; history: number; maxValueBytes?: number; ttlMs: number; }; }; store?: { [k: string]: { maxObjectBytes?: number; maxTotalBytes?: number; name: string; ttlMs: number; }; }; }; }; }
T
AuthServiceInstancesListOutput = { count: number; entries: Array<
{ capabilities: Array<string>; createdAt: string; deploymentId: string; disabled: boolean; instanceId: string; instanceKey: string; resourceBindings?: { eventConsumers?: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; filterSubjects: Array<string>; maxDeliver: number; ordering: "strict"; replay: "new" | "all"; stream: string; }; }; jobs?: { namespace: string; queues: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; defaultDeadlineMs?: number; dlq: boolean; keyConcurrency?: { heartbeatIntervalMs: number; heartbeatTtlMs: number; key: Array<string>; maxActive: number; stalePolicy: "fail-stale" | "block"; }; logs: boolean; maxDeliver: number; payload: { schema: string; }; progress: boolean; publishPrefix: string; queue?: { maxQueuedPerKey: number; whenFull: "reject" | "coalesce" | "replace-oldest"; }; queueType: string; result?: { schema: string; }; workSubject: string; }; }; workStream?: string; }; kv?: { [k: string]: { bucket: string; history: number; maxValueBytes?: number; ttlMs: number; }; }; store?: { [k: string]: { maxObjectBytes?: number; maxTotalBytes?: number; name: string; ttlMs: number; }; }; }; }
>
; limit: number; nextOffset?: number; offset: number; }
T
AuthServiceInstancesProvisionOutput = { instance: { capabilities: Array<string>; createdAt: string; deploymentId: string; disabled: boolean; instanceId: string; instanceKey: string; resourceBindings?: { eventConsumers?: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; filterSubjects: Array<string>; maxDeliver: number; ordering: "strict"; replay: "new" | "all"; stream: string; }; }; jobs?: { namespace: string; queues: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; defaultDeadlineMs?: number; dlq: boolean; keyConcurrency?: { heartbeatIntervalMs: number; heartbeatTtlMs: number; key: Array<string>; maxActive: number; stalePolicy: "fail-stale" | "block"; }; logs: boolean; maxDeliver: number; payload: { schema: string; }; progress: boolean; publishPrefix: string; queue?: { maxQueuedPerKey: number; whenFull: "reject" | "coalesce" | "replace-oldest"; }; queueType: string; result?: { schema: string; }; workSubject: string; }; }; workStream?: string; }; kv?: { [k: string]: { bucket: string; history: number; maxValueBytes?: number; ttlMs: number; }; }; store?: { [k: string]: { maxObjectBytes?: number; maxTotalBytes?: number; name: string; ttlMs: number; }; }; }; }; }
T
AuthSessionsListOutput = { count: number; entries: Array<
(
{ contractDisplayName: string; contractId: string; createdAt: string; key: string; lastAuth: string; participantKind: "app"; principal: { identity: { identityId: string; provider: string; subject: string; }; name: string; type: "user"; userId: string; }; sessionKey: string; }
| { contractDisplayName: string; contractId: string; createdAt: string; key: string; lastAuth: string; participantKind: "agent"; principal: { identity: { identityId: string; provider: string; subject: string; }; name: string; type: "user"; userId: string; }; sessionKey: string; }
| { contractDisplayName?: string; contractId: string; createdAt: string; key: string; lastAuth: string; participantKind: "device"; principal: { deploymentId: string; deviceId: string; deviceType: string; runtimePublicKey: string; type: "device"; }; sessionKey: string; }
| { createdAt: string; key: string; lastAuth: string; participantKind: "service"; principal: { deploymentId: string; id: string; instanceId: string; name: string; type: "service"; }; sessionKey: string; }
)
>
; limit: number; nextOffset?: number; offset: number; }

Variables

v
AuthCapabilitiesListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { consequence: { minLength: number; type: string; }; contractDigest: { pattern: string; type: string; }; contractDisplayName: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; description: { minLength: number; type: string; }; direction: { anyOf: { const: string; type: string; }[]; }; displayName: { minLength: number; type: string; }; key: { minLength: number; type: string; }; source: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
v
AuthConnectionsListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { anyOf:
{ properties: { clientId: { type: string; }; connectedAt: { type: string; }; contractDisplayName: { type: string; }; contractId: { type: string; }; key: { type: string; }; participantKind: { const: string; type: string; }; principal: { properties: { identity: { properties: { identityId: { type: string; }; provider: { type: string; }; subject: { type: string; }; }; required: string[]; type: string; }; name: { type: string; }; type: { const: string; type: string; }; userId: { type: string; }; }; required: string[]; type: string; }; serverId: { type: string; }; sessionKey: { type: string; }; userNkey: { type: string; }; }; required: string[]; type: string; }
| { properties: { clientId: { type: string; }; connectedAt: { type: string; }; contractDisplayName: { type: string; }; contractId: { type: string; }; key: { type: string; }; participantKind: { const: string; type: string; }; principal: { properties: { deploymentId: { type: string; }; deviceId: { type: string; }; deviceType: { type: string; }; runtimePublicKey: { type: string; }; type: { const: string; type: string; }; }; required: string[]; type: string; }; serverId: { type: string; }; sessionKey: { type: string; }; userNkey: { type: string; }; }; required: string[]; type: string; }
| { properties: { clientId: { type: string; }; connectedAt: { type: string; }; key: { type: string; }; participantKind: { const: string; type: string; }; principal: { properties: { deploymentId: { type: string; }; id: { type: string; }; instanceId: { type: string; }; name: { type: string; }; type: { const: string; type: string; }; }; required: string[]; type: string; }; serverId: { type: string; }; sessionKey: { type: string; }; userNkey: { type: string; }; }; required: string[]; type: string; }
[]
; }
; type: string; }
; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }
; required: string[]; type: string; }
v
AuthDeploymentAuthorityAcceptResponseSchema: { properties: { authority: { properties: { createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; desiredState: { properties: { capabilities: { items: { minLength: number; type: string; }; type: string; }; needs: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; contracts: { items: { properties: { contractId: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; disabled: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; updatedAt: { format: string; type: string; }; version: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
AuthDeploymentAuthorityGetResponseSchema: { properties: { authority: { properties: { createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; desiredState: { properties: { capabilities: { items: { minLength: number; type: string; }; type: string; }; needs: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; contracts: { items: { properties: { contractId: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; disabled: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; updatedAt: { format: string; type: string; }; version: { minLength: number; type: string; }; }; required: string[]; type: string; }; grantOverrides: { items: { anyOf:
{ properties: { capability: { minLength: number; type: string; }; capabilityGroupKey: { type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { minLength: number; type: string; }; sessionPublicKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { type: string; }; capabilityGroupKey: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { minLength: number; type: string; }; sessionPublicKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { minLength: number; type: string; }; capabilityGroupKey: { type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { type: string; }; capabilityGroupKey: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
; type: string; }
; materializedAuthority: { anyOf:
{ properties: { deploymentId: { minLength: number; type: string; }; desiredVersion: { minLength: number; type: string; }; error: { minLength: number; type: string; }; grants: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; nats: { items: { properties: { direction: { anyOf: { const: string; type: string; }[]; }; grantSource: { anyOf: { const: string; type: string; }[]; }; requiredCapabilities: { items: { minLength: number; type: string; }; type: string; }; subject: { minLength: number; type: string; }; surface: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; name: { minLength: number; type: string; }; surfaceKind: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; reconciledAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; resourceBindings: { items: { properties: { alias: { minLength: number; type: string; }; binding: { patternProperties: { ^.*$; }; type: string; }; createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; limits: { anyOf:
{ patternProperties: { ^.*$; }; type: string; }
| { type: string; }
[]
; }
; updatedAt: { format: string; type: string; }; }
; required: string[]; type: string; }
; type: string; }
; status: { anyOf: { const: string; type: string; }[]; }; }
; required: string[]; type: string; }

| { type: string; }
[]
; }
; portalRoute: { anyOf:
{ properties: { deploymentId: { minLength: number; type: string; }; disabled: { type: string; }; entryUrl: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; portalId: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }
| { type: string; }
[]
; }
; }
; required: string[]; type: string; }
v
AuthDeploymentAuthorityGrantOverridesListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { anyOf:
{ properties: { capability: { minLength: number; type: string; }; capabilityGroupKey: { type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { minLength: number; type: string; }; sessionPublicKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { type: string; }; capabilityGroupKey: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { minLength: number; type: string; }; sessionPublicKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { minLength: number; type: string; }; capabilityGroupKey: { type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { type: string; }; capabilityGroupKey: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
; type: string; }
; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }
; required: string[]; type: string; }
v
AuthDeploymentAuthorityGrantOverridesPutRequestSchema: { properties: { deploymentId: { minLength: number; type: string; }; overrides: { items: { anyOf:
{ properties: { capability: { minLength: number; type: string; }; capabilityGroupKey: { type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { minLength: number; type: string; }; sessionPublicKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { type: string; }; capabilityGroupKey: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { minLength: number; type: string; }; sessionPublicKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { minLength: number; type: string; }; capabilityGroupKey: { type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { type: string; }; capabilityGroupKey: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
; type: string; }
; }
; required: string[]; type: string; }
v
AuthDeploymentAuthorityGrantOverridesRemoveRequestSchema: { properties: { deploymentId: { minLength: number; type: string; }; overrides: { items: { anyOf:
{ properties: { capability: { minLength: number; type: string; }; capabilityGroupKey: { type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { minLength: number; type: string; }; sessionPublicKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { type: string; }; capabilityGroupKey: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { minLength: number; type: string; }; sessionPublicKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { minLength: number; type: string; }; capabilityGroupKey: { type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { type: string; }; capabilityGroupKey: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
; type: string; }
; }
; required: string[]; type: string; }
v
AuthDeploymentAuthorityGrantOverridesResponseSchema: { properties: { grantOverrides: { items: { anyOf:
{ properties: { capability: { minLength: number; type: string; }; capabilityGroupKey: { type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { minLength: number; type: string; }; sessionPublicKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { type: string; }; capabilityGroupKey: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { minLength: number; type: string; }; sessionPublicKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { minLength: number; type: string; }; capabilityGroupKey: { type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { properties: { capability: { type: string; }; capabilityGroupKey: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; grantKind: { const: string; type: string; }; identityKind: { const: string; type: string; }; origin: { type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
; type: string; }
; }
; required: string[]; type: string; }
v
AuthDeploymentAuthorityListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; desiredState: { properties: { capabilities: { items: { minLength: number; type: string; }; type: string; }; needs: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; contracts: { items: { properties: { contractId: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; disabled: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; updatedAt: { format: string; type: string; }; version: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
AuthDeploymentAuthorityPlanResponseSchema: { properties: { plan: { anyOf:
{ properties: { classification: { const: string; type: string; }; createdAt: { format: string; type: string; }; decisionAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; decisionBy: { anyOf:
{ patternProperties: { ^.*$; }; type: string; }
| { type: string; }
[]
; }
; decisionReason: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; deploymentId: { minLength: number; type: string; }; desiredChange: { type: string; }; expiresAt: { format: string; type: string; }; materializationPreview: { type: string; }; planId: { minLength: number; type: string; }; proposal: { properties: { contract: { type: string; }; contractDigest: { pattern: string; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; proposalId: { minLength: number; type: string; }; providedSurfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; requestedNeeds: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; contracts: { items: { properties: { contractId: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; warnings: { items: { minLength: number; type: string; }; type: string; }; }
; required: string[]; type: string; }

| { properties: { acknowledgementRequired: { type: string; }; classification: { const: string; type: string; }; createdAt: { format: string; type: string; }; decisionAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; decisionBy: { anyOf:
{ patternProperties: { ^.*$; }; type: string; }
| { type: string; }
[]
; }
; decisionReason: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; deploymentId: { minLength: number; type: string; }; desiredChange: { type: string; }; expiresAt: { format: string; type: string; }; materializationPreview: { type: string; }; planId: { minLength: number; type: string; }; proposal: { properties: { contract: { type: string; }; contractDigest: { pattern: string; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; proposalId: { minLength: number; type: string; }; providedSurfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; requestedNeeds: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; contracts: { items: { properties: { contractId: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; warnings: { items: { minLength: number; type: string; }; type: string; }; }
; required: string[]; type: string; }
[]
; }
; }
; required: string[]; type: string; }
v
AuthDeploymentAuthorityPlansGetResponseSchema: { properties: { plan: { anyOf:
{ properties: { classification: { const: string; type: string; }; createdAt: { format: string; type: string; }; decisionAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; decisionBy: { anyOf:
{ patternProperties: { ^.*$; }; type: string; }
| { type: string; }
[]
; }
; decisionReason: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; deploymentId: { minLength: number; type: string; }; desiredChange: { type: string; }; expiresAt: { format: string; type: string; }; materializationPreview: { type: string; }; planId: { minLength: number; type: string; }; proposal: { properties: { contract: { type: string; }; contractDigest: { pattern: string; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; proposalId: { minLength: number; type: string; }; providedSurfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; requestedNeeds: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; contracts: { items: { properties: { contractId: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; warnings: { items: { minLength: number; type: string; }; type: string; }; }
; required: string[]; type: string; }

| { properties: { acknowledgementRequired: { type: string; }; classification: { const: string; type: string; }; createdAt: { format: string; type: string; }; decisionAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; decisionBy: { anyOf:
{ patternProperties: { ^.*$; }; type: string; }
| { type: string; }
[]
; }
; decisionReason: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; deploymentId: { minLength: number; type: string; }; desiredChange: { type: string; }; expiresAt: { format: string; type: string; }; materializationPreview: { type: string; }; planId: { minLength: number; type: string; }; proposal: { properties: { contract: { type: string; }; contractDigest: { pattern: string; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; proposalId: { minLength: number; type: string; }; providedSurfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; requestedNeeds: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; contracts: { items: { properties: { contractId: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; warnings: { items: { minLength: number; type: string; }; type: string; }; }
; required: string[]; type: string; }
[]
; }
; }
; required: string[]; type: string; }
v
AuthDeploymentAuthorityPlansListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { anyOf:
{ properties: { classification: { const: string; type: string; }; createdAt: { format: string; type: string; }; decisionAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; decisionBy: { anyOf:
{ patternProperties: { ^.*$; }; type: string; }
| { type: string; }
[]
; }
; decisionReason: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; deploymentId: { minLength: number; type: string; }; desiredChange: { type: string; }; expiresAt: { format: string; type: string; }; materializationPreview: { type: string; }; planId: { minLength: number; type: string; }; proposal: { properties: { contract: { type: string; }; contractDigest: { pattern: string; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; proposalId: { minLength: number; type: string; }; providedSurfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; requestedNeeds: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; contracts: { items: { properties: { contractId: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; warnings: { items: { minLength: number; type: string; }; type: string; }; }
; required: string[]; type: string; }

| { properties: { acknowledgementRequired: { type: string; }; classification: { const: string; type: string; }; createdAt: { format: string; type: string; }; decisionAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; decisionBy: { anyOf:
{ patternProperties: { ^.*$; }; type: string; }
| { type: string; }
[]
; }
; decisionReason: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; deploymentId: { minLength: number; type: string; }; desiredChange: { type: string; }; expiresAt: { format: string; type: string; }; materializationPreview: { type: string; }; planId: { minLength: number; type: string; }; proposal: { properties: { contract: { type: string; }; contractDigest: { pattern: string; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; proposalId: { minLength: number; type: string; }; providedSurfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; requestedNeeds: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; contracts: { items: { properties: { contractId: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; warnings: { items: { minLength: number; type: string; }; type: string; }; }
; required: string[]; type: string; }
[]
; }
; type: string; }
; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }
; required: string[]; type: string; }
v
AuthDeploymentAuthorityReconcileResponseSchema: { properties: { authority: { properties: { createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; desiredState: { properties: { capabilities: { items: { minLength: number; type: string; }; type: string; }; needs: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; contracts: { items: { properties: { contractId: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; resources: { items: { properties: { alias: { minLength: number; type: string; }; definition: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; required: { type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; disabled: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; updatedAt: { format: string; type: string; }; version: { minLength: number; type: string; }; }; required: string[]; type: string; }; materializedAuthority: { properties: { deploymentId: { minLength: number; type: string; }; desiredVersion: { minLength: number; type: string; }; error: { minLength: number; type: string; }; grants: { properties: { capabilities: { items: { properties: { capability: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; nats: { items: { properties: { direction: { anyOf: { const: string; type: string; }[]; }; grantSource: { anyOf: { const: string; type: string; }[]; }; requiredCapabilities: { items: { minLength: number; type: string; }; type: string; }; subject: { minLength: number; type: string; }; surface: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }; type: string; }; surfaces: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; contractId: { minLength: number; type: string; }; name: { minLength: number; type: string; }; surfaceKind: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; reconciledAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; resourceBindings: { items: { properties: { alias: { minLength: number; type: string; }; binding: { patternProperties: { ^.*$; }; type: string; }; createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; limits: { anyOf:
{ patternProperties: { ^.*$; }; type: string; }
| { type: string; }
[]
; }
; updatedAt: { format: string; type: string; }; }
; required: string[]; type: string; }
; type: string; }
; status: { anyOf: { const: string; type: string; }[]; }; }
; required: string[]; type: string; }
; reconciliation: { properties: { deploymentId: { minLength: number; type: string; }; desiredVersion: { minLength: number; type: string; }; finishedAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; message: { minLength: number; type: string; }; startedAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; state: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; }
; required: string[]; type: string; }
v
AuthDeploymentsListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { anyOf:
{ properties: { contractCompatibilityMode: { anyOf: { const: string; type: string; }[]; }; deploymentId: { minLength: number; type: string; }; disabled: { type: string; }; kind: { const: string; type: string; }; namespaces: { items: { minLength: number; type: string; }; type: string; }; }; required: string[]; type: string; }
| { properties: { deploymentId: { minLength: number; type: string; }; disabled: { type: string; }; kind: { const: string; type: string; }; reviewMode: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }
[]
; }
; type: string; }
; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }
; required: string[]; type: string; }
v
AuthDevicesConnectInfoGetResponseSchema: { properties: { connectInfo: { properties: { auth: { properties: { authority: { anyOf: { const: string; type: string; }[]; }; iatSkewSeconds: { type: string; }; mode: { const: string; type: string; }; }; required: string[]; type: string; }; contractDigest: { pattern: string; type: string; }; contractId: { minLength: number; type: string; }; deploymentId: { minLength: number; type: string; }; instanceId: { minLength: number; type: string; }; transport: { properties: { sentinel: { properties: { jwt: { type: string; }; seed: { type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }; transports: { properties: { native: { properties: { natsServers: { items: { minLength: number; type: string; }; minItems: number; type: string; }; }; required: string[]; type: string; }; websocket: { properties: { natsServers: { items: { minLength: number; type: string; }; minItems: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; }; required: string[]; type: string; }; status: { const: string; type: string; }; }; required: string[]; type: string; }
v
AuthDevicesListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { activatedAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; instanceId: { minLength: number; type: string; }; metadata: { patternProperties: { ^.*$: { minLength: number; type: string; }; }; type: string; }; publicIdentityKey: { minLength: number; type: string; }; revokedAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; state: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
AuthDeviceUserAuthoritiesApprovedEventSchema: { properties: { approvedAt: { format: string; type: string; }; approvedBy: { properties: { identity: { properties: { identityId: { minLength: number; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; participantKind: { anyOf: { const: string; type: string; }[]; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; deploymentId: { minLength: number; type: string; }; flowId: { minLength: number; type: string; }; instanceId: { minLength: number; type: string; }; publicIdentityKey: { minLength: number; type: string; }; requestedAt: { format: string; type: string; }; requestedBy: { properties: { identity: { properties: { identityId: { minLength: number; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; participantKind: { anyOf: { const: string; type: string; }[]; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; reviewId: { minLength: number; type: string; }; }; required: string[]; type: string; }
v
AuthDeviceUserAuthoritiesListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { activatedAt: { format: string; type: string; }; activatedBy: { properties: { identity: { properties: { identityId: { minLength: number; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; participantKind: { anyOf: { const: string; type: string; }[]; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; deploymentId: { minLength: number; type: string; }; instanceId: { minLength: number; type: string; }; publicIdentityKey: { minLength: number; type: string; }; revokedAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; state: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
AuthDeviceUserAuthoritiesResolvedEventSchema: { properties: { deploymentId: { minLength: number; type: string; }; flowId: { minLength: number; type: string; }; instanceId: { minLength: number; type: string; }; publicIdentityKey: { minLength: number; type: string; }; resolvedAt: { format: string; type: string; }; resolvedBy: { properties: { identity: { properties: { identityId: { minLength: number; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; participantKind: { anyOf: { const: string; type: string; }[]; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; reviewId: { minLength: number; type: string; }; }; required: string[]; type: string; }
v
AuthDeviceUserAuthoritiesReviewRequestedEventSchema: { properties: { deploymentId: { minLength: number; type: string; }; flowId: { minLength: number; type: string; }; instanceId: { minLength: number; type: string; }; publicIdentityKey: { minLength: number; type: string; }; requestedAt: { format: string; type: string; }; requestedBy: { properties: { identity: { properties: { identityId: { minLength: number; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; participantKind: { anyOf: { const: string; type: string; }[]; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; reviewId: { minLength: number; type: string; }; }; required: string[]; type: string; }
v
AuthDeviceUserAuthoritiesReviewsDecideResponseSchema: { properties: { activation: { properties: { activatedAt: { format: string; type: string; }; activatedBy: { properties: { identity: { properties: { identityId: { minLength: number; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; participantKind: { anyOf: { const: string; type: string; }[]; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; deploymentId: { minLength: number; type: string; }; instanceId: { minLength: number; type: string; }; publicIdentityKey: { minLength: number; type: string; }; revokedAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; state: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; confirmationCode: { minLength: number; type: string; }; review: { properties: { decidedAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; deploymentId: { minLength: number; type: string; }; instanceId: { minLength: number; type: string; }; publicIdentityKey: { minLength: number; type: string; }; reason: { minLength: number; type: string; }; requestedAt: { format: string; type: string; }; reviewId: { minLength: number; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
AuthDeviceUserAuthoritiesReviewsListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { decidedAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; deploymentId: { minLength: number; type: string; }; instanceId: { minLength: number; type: string; }; publicIdentityKey: { minLength: number; type: string; }; reason: { minLength: number; type: string; }; requestedAt: { format: string; type: string; }; reviewId: { minLength: number; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
AuthIdentitiesListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { answer: { anyOf: { const: string; type: string; }[]; }; answeredAt: { format: string; type: string; }; capabilities: { patternProperties: { ^.*$: { properties: { consequence: { type: string; }; description: { type: string; }; displayName: { type: string; }; }; required: string[]; type: string; }; }; type: string; }; contractEvidence: { properties: { contractDigest: { pattern: string; type: string; }; contractId: { minLength: number; type: string; }; }; required: string[]; type: string; }; description: { minLength: number; type: string; }; displayName: { minLength: number; type: string; }; identityAnchor: { anyOf:
{ properties: { contractId: { minLength: number; type: string; }; kind: { const: string; type: string; }; origin: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { properties: { contractId: { minLength: number; type: string; }; kind: { const: string; type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { properties: { contractId: { minLength: number; type: string; }; devicePublicKey: { minLength: number; type: string; }; kind: { const: string; type: string; }; }; required: string[]; type: string; }
[]
; }
; identityGrantId: { minLength: number; type: string; }; participantKind: { anyOf: { const: string; type: string; }[]; }; updatedAt: { format: string; type: string; }; user: { minLength: number; type: string; }; }
; required: string[]; type: string; }
; type: string; }
; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }
; required: string[]; type: string; }
v
AuthIdentityGrantsListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { capabilities: { items: { type: string; }; type: string; }; contractEvidence: { properties: { contractDigest: { pattern: string; type: string; }; contractId: { minLength: number; type: string; }; }; required: string[]; type: string; }; description: { minLength: number; type: string; }; displayName: { minLength: number; type: string; }; grantedAt: { format: string; type: string; }; identityAnchor: { anyOf:
{ properties: { contractId: { minLength: number; type: string; }; kind: { const: string; type: string; }; origin: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { properties: { contractId: { minLength: number; type: string; }; kind: { const: string; type: string; }; sessionPublicKey: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { properties: { contractId: { minLength: number; type: string; }; devicePublicKey: { minLength: number; type: string; }; kind: { const: string; type: string; }; }; required: string[]; type: string; }
[]
; }
; identityGrantId: { minLength: number; type: string; }; participantKind: { anyOf: { const: string; type: string; }[]; }; updatedAt: { format: string; type: string; }; }
; required: string[]; type: string; }
; type: string; }
; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }
; required: string[]; type: string; }
v
AuthPortalsGetResponseSchema: { properties: { defaultCapabilities: { items: { minLength: number; type: string; }; type: string; }; defaultCapabilityGroups: { items: { minLength: number; type: string; }; type: string; }; federatedProviders: { items: { properties: { displayName: { minLength: number; type: string; }; id: { minLength: number; type: string; }; type: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; portal: { properties: { builtIn: { type: string; }; createdAt: { format: string; type: string; }; disabled: { type: string; }; displayName: { minLength: number; type: string; }; entryUrl: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; portalId: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; routes: { items: { properties: { contractId: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; disabled: { type: string; }; origin: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; portalId: { minLength: number; type: string; }; routeKey: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; settings: { properties: { allowedFederatedProviders: { anyOf:
{ items: { minLength: number; type: string; }; type: string; }
| { type: string; }
[]
; }
; federatedRegistrationEnabled: { type: string; }; localRegistrationEnabled: { type: string; }; portalId: { minLength: number; type: string; }; selfRegisteredAccountActive: { type: string; }; updatedAt: { format: string; type: string; }; }
; required: string[]; type: string; }
; }
; required: string[]; type: string; }
v
AuthPortalsListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { activeRouteCount: { minimum: number; type: string; }; builtIn: { type: string; }; createdAt: { format: string; type: string; }; disabled: { type: string; }; displayName: { minLength: number; type: string; }; entryUrl: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; portalId: { minLength: number; type: string; }; routeCount: { minimum: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
AuthPortalsLoginSettingsResponseSchema: { properties: { defaultCapabilities: { items: { minLength: number; type: string; }; type: string; }; defaultCapabilityGroups: { items: { minLength: number; type: string; }; type: string; }; federatedProviders: { items: { properties: { displayName: { minLength: number; type: string; }; id: { minLength: number; type: string; }; type: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; portal: { properties: { builtIn: { type: string; }; createdAt: { format: string; type: string; }; disabled: { type: string; }; displayName: { minLength: number; type: string; }; entryUrl: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; portalId: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; settings: { properties: { allowedFederatedProviders: { anyOf:
{ items: { minLength: number; type: string; }; type: string; }
| { type: string; }
[]
; }
; federatedRegistrationEnabled: { type: string; }; localRegistrationEnabled: { type: string; }; portalId: { minLength: number; type: string; }; selfRegisteredAccountActive: { type: string; }; updatedAt: { format: string; type: string; }; }
; required: string[]; type: string; }
; }
; required: string[]; type: string; }
v
AuthRequestsValidateResponseSchema: { properties: { allowed: { type: string; }; caller: { anyOf:
{ properties: { active: { type: string; }; capabilities: { items: { type: string; }; type: string; }; email: { type: string; }; identity: { properties: { identityId: { minLength: number; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; image: { type: string; }; lastAuth: { format: string; type: string; }; name: { type: string; }; participantKind: { anyOf: { const: string; type: string; }[]; }; type: { const: string; type: string; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { properties: { active: { type: string; }; capabilities: { items: { type: string; }; type: string; }; id: { type: string; }; name: { type: string; }; type: { const: string; type: string; }; }; required: string[]; type: string; }
| { properties: { active: { type: string; }; capabilities: { items: { type: string; }; type: string; }; deploymentId: { minLength: number; type: string; }; deviceId: { minLength: number; type: string; }; deviceType: { minLength: number; type: string; }; runtimePublicKey: { minLength: number; type: string; }; type: { const: string; type: string; }; }; required: string[]; type: string; }
[]
; }
; inboxPrefix: { type: string; }; }
; required: string[]; type: string; }
v
AuthServiceInstancesDisableResponseSchema: { properties: { instance: { properties: { capabilities: { items: { type: string; }; type: string; }; createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; disabled: { type: string; }; instanceId: { minLength: number; type: string; }; instanceKey: { minLength: number; type: string; }; resourceBindings: { properties: { eventConsumers: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; filterSubjects: { items: { minLength: number; type: string; }; type: string; }; maxDeliver: { minimum: number; type: string; }; ordering: { const: string; type: string; }; replay: { anyOf: { const: string; type: string; }[]; }; stream: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; jobs: { properties: { namespace: { minLength: number; type: string; }; queues: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; defaultDeadlineMs: { minimum: number; type: string; }; dlq: { type: string; }; keyConcurrency: { properties: { heartbeatIntervalMs: { minimum: number; type: string; }; heartbeatTtlMs: { minimum: number; type: string; }; key: { items: { minLength: number; type: string; }; minItems: number; type: string; }; maxActive: { minimum: number; type: string; }; stalePolicy: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; logs: { type: string; }; maxDeliver: { minimum: number; type: string; }; payload: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; progress: { type: string; }; publishPrefix: { minLength: number; type: string; }; queue: { properties: { maxQueuedPerKey: { minimum: number; type: string; }; whenFull: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; queueType: { minLength: number; type: string; }; result: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; workSubject: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; workStream: { minLength: number; type: string; }; }; required: string[]; type: string; }; kv: { patternProperties: { ^.*$: { properties: { bucket: { minLength: number; type: string; }; history: { minimum: number; type: string; }; maxValueBytes: { minimum: number; type: string; }; ttlMs: { minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; store: { patternProperties: { ^.*$: { properties: { maxObjectBytes: { minimum: number; type: string; }; maxTotalBytes: { minimum: number; type: string; }; name: { minLength: number; type: string; }; ttlMs: { minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; }; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
AuthServiceInstancesEnableResponseSchema: { properties: { instance: { properties: { capabilities: { items: { type: string; }; type: string; }; createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; disabled: { type: string; }; instanceId: { minLength: number; type: string; }; instanceKey: { minLength: number; type: string; }; resourceBindings: { properties: { eventConsumers: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; filterSubjects: { items: { minLength: number; type: string; }; type: string; }; maxDeliver: { minimum: number; type: string; }; ordering: { const: string; type: string; }; replay: { anyOf: { const: string; type: string; }[]; }; stream: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; jobs: { properties: { namespace: { minLength: number; type: string; }; queues: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; defaultDeadlineMs: { minimum: number; type: string; }; dlq: { type: string; }; keyConcurrency: { properties: { heartbeatIntervalMs: { minimum: number; type: string; }; heartbeatTtlMs: { minimum: number; type: string; }; key: { items: { minLength: number; type: string; }; minItems: number; type: string; }; maxActive: { minimum: number; type: string; }; stalePolicy: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; logs: { type: string; }; maxDeliver: { minimum: number; type: string; }; payload: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; progress: { type: string; }; publishPrefix: { minLength: number; type: string; }; queue: { properties: { maxQueuedPerKey: { minimum: number; type: string; }; whenFull: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; queueType: { minLength: number; type: string; }; result: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; workSubject: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; workStream: { minLength: number; type: string; }; }; required: string[]; type: string; }; kv: { patternProperties: { ^.*$: { properties: { bucket: { minLength: number; type: string; }; history: { minimum: number; type: string; }; maxValueBytes: { minimum: number; type: string; }; ttlMs: { minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; store: { patternProperties: { ^.*$: { properties: { maxObjectBytes: { minimum: number; type: string; }; maxTotalBytes: { minimum: number; type: string; }; name: { minLength: number; type: string; }; ttlMs: { minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; }; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
AuthServiceInstancesListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { capabilities: { items: { type: string; }; type: string; }; createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; disabled: { type: string; }; instanceId: { minLength: number; type: string; }; instanceKey: { minLength: number; type: string; }; resourceBindings: { properties: { eventConsumers: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; filterSubjects: { items: { minLength: number; type: string; }; type: string; }; maxDeliver: { minimum: number; type: string; }; ordering: { const: string; type: string; }; replay: { anyOf: { const: string; type: string; }[]; }; stream: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; jobs: { properties: { namespace: { minLength: number; type: string; }; queues: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; defaultDeadlineMs: { minimum: number; type: string; }; dlq: { type: string; }; keyConcurrency: { properties: { heartbeatIntervalMs: { minimum: number; type: string; }; heartbeatTtlMs: { minimum: number; type: string; }; key: { items: { minLength: number; type: string; }; minItems: number; type: string; }; maxActive: { minimum: number; type: string; }; stalePolicy: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; logs: { type: string; }; maxDeliver: { minimum: number; type: string; }; payload: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; progress: { type: string; }; publishPrefix: { minLength: number; type: string; }; queue: { properties: { maxQueuedPerKey: { minimum: number; type: string; }; whenFull: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; queueType: { minLength: number; type: string; }; result: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; workSubject: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; workStream: { minLength: number; type: string; }; }; required: string[]; type: string; }; kv: { patternProperties: { ^.*$: { properties: { bucket: { minLength: number; type: string; }; history: { minimum: number; type: string; }; maxValueBytes: { minimum: number; type: string; }; ttlMs: { minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; store: { patternProperties: { ^.*$: { properties: { maxObjectBytes: { minimum: number; type: string; }; maxTotalBytes: { minimum: number; type: string; }; name: { minLength: number; type: string; }; ttlMs: { minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; }; type: string; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
AuthServiceInstancesProvisionResponseSchema: { properties: { instance: { properties: { capabilities: { items: { type: string; }; type: string; }; createdAt: { format: string; type: string; }; deploymentId: { minLength: number; type: string; }; disabled: { type: string; }; instanceId: { minLength: number; type: string; }; instanceKey: { minLength: number; type: string; }; resourceBindings: { properties: { eventConsumers: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; filterSubjects: { items: { minLength: number; type: string; }; type: string; }; maxDeliver: { minimum: number; type: string; }; ordering: { const: string; type: string; }; replay: { anyOf: { const: string; type: string; }[]; }; stream: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; jobs: { properties: { namespace: { minLength: number; type: string; }; queues: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; defaultDeadlineMs: { minimum: number; type: string; }; dlq: { type: string; }; keyConcurrency: { properties: { heartbeatIntervalMs: { minimum: number; type: string; }; heartbeatTtlMs: { minimum: number; type: string; }; key: { items: { minLength: number; type: string; }; minItems: number; type: string; }; maxActive: { minimum: number; type: string; }; stalePolicy: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; logs: { type: string; }; maxDeliver: { minimum: number; type: string; }; payload: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; progress: { type: string; }; publishPrefix: { minLength: number; type: string; }; queue: { properties: { maxQueuedPerKey: { minimum: number; type: string; }; whenFull: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; queueType: { minLength: number; type: string; }; result: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; workSubject: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; workStream: { minLength: number; type: string; }; }; required: string[]; type: string; }; kv: { patternProperties: { ^.*$: { properties: { bucket: { minLength: number; type: string; }; history: { minimum: number; type: string; }; maxValueBytes: { minimum: number; type: string; }; ttlMs: { minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; store: { patternProperties: { ^.*$: { properties: { maxObjectBytes: { minimum: number; type: string; }; maxTotalBytes: { minimum: number; type: string; }; name: { minLength: number; type: string; }; ttlMs: { minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; }; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
AuthSessionsListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { anyOf:
{ properties: { contractDisplayName: { type: string; }; contractId: { type: string; }; createdAt: { type: string; }; key: { type: string; }; lastAuth: { type: string; }; participantKind: { const: string; type: string; }; principal: { properties: { identity: { properties: { identityId: { type: string; }; provider: { type: string; }; subject: { type: string; }; }; required: string[]; type: string; }; name: { type: string; }; type: { const: string; type: string; }; userId: { type: string; }; }; required: string[]; type: string; }; sessionKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { contractDisplayName: { type: string; }; contractId: { type: string; }; createdAt: { type: string; }; key: { type: string; }; lastAuth: { type: string; }; participantKind: { const: string; type: string; }; principal: { properties: { deploymentId: { type: string; }; deviceId: { type: string; }; deviceType: { type: string; }; runtimePublicKey: { type: string; }; type: { const: string; type: string; }; }; required: string[]; type: string; }; sessionKey: { type: string; }; }; required: string[]; type: string; }
| { properties: { createdAt: { type: string; }; key: { type: string; }; lastAuth: { type: string; }; participantKind: { const: string; type: string; }; principal: { properties: { deploymentId: { type: string; }; id: { type: string; }; instanceId: { type: string; }; name: { type: string; }; type: { const: string; type: string; }; }; required: string[]; type: string; }; sessionKey: { type: string; }; }; required: string[]; type: string; }
[]
; }
; type: string; }
; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }
; required: string[]; type: string; }
v
AuthSessionsMeResponseSchema: { properties: { device: { anyOf:
{ properties: { active: { type: string; }; capabilities: { items: { type: string; }; type: string; }; deploymentId: { minLength: number; type: string; }; deviceId: { minLength: number; type: string; }; deviceType: { minLength: number; type: string; }; runtimePublicKey: { minLength: number; type: string; }; type: { const: string; type: string; }; }; required: string[]; type: string; }
| { type: string; }
[]
; }
; participantKind: { anyOf:
{ anyOf: { const: string; type: string; }[]; }
| { const: string; type: string; }
[]
; }
; service: { anyOf:
{ properties: { active: { type: string; }; capabilities: { items: { type: string; }; type: string; }; id: { type: string; }; name: { type: string; }; type: { const: string; type: string; }; }; required: string[]; type: string; }
| { type: string; }
[]
; }
; user: { anyOf:
{ properties: { active: { type: string; }; capabilities: { items: { type: string; }; type: string; }; email: { type: string; }; identity: { properties: { identityId: { minLength: number; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; image: { type: string; }; lastLogin: { format: string; type: string; }; name: { type: string; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }
| { type: string; }
[]
; }
; }
; required: string[]; type: string; }
v
AuthUserIdentitiesListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { displayName: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; email: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; emailVerified: { type: string; }; identityId: { minLength: number; type: string; }; lastLoginAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; linkedAt: { format: string; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
AuthUsersCreateResponseSchema: { properties: { user: { properties: { active: { type: string; }; capabilities: { items: { type: string; }; type: string; }; capabilityGroups: { items: { type: string; }; type: string; }; email: { type: string; }; identities: { items: { properties: { displayName: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; email: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; emailVerified: { type: string; }; identityId: { minLength: number; type: string; }; lastLoginAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; linkedAt: { format: string; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; name: { type: string; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
AuthUsersGetResponseSchema: { properties: { user: { properties: { active: { type: string; }; capabilities: { items: { type: string; }; type: string; }; capabilityGroups: { items: { type: string; }; type: string; }; email: { type: string; }; identities: { items: { properties: { displayName: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; email: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; emailVerified: { type: string; }; identityId: { minLength: number; type: string; }; lastLoginAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; linkedAt: { format: string; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; name: { type: string; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
AuthUsersListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { properties: { active: { type: string; }; capabilities: { items: { type: string; }; type: string; }; capabilityGroups: { items: { type: string; }; type: string; }; email: { type: string; }; identities: { items: { properties: { displayName: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; email: { anyOf: { minLength: number; type: string; } | { type: string; }[]; }; emailVerified: { type: string; }; identityId: { minLength: number; type: string; }; lastLoginAt: { anyOf: { format: string; type: string; } | { type: string; }[]; }; linkedAt: { format: string; type: string; }; provider: { minLength: number; type: string; }; subject: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; name: { type: string; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
OWNED_API: { rpc: { Auth.Capabilities.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.CapabilityGroups.Delete: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.CapabilityGroups.Get: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.CapabilityGroups.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.CapabilityGroups.Put: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.CatalogIssues.Resolve: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Connections.Kick: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Connections.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.AcceptMigration: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.AcceptUpdate: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.Get: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.GrantOverrides.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.GrantOverrides.Put: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.GrantOverrides.Remove: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.Plan: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.Plans.Get: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.Plans.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError"[]; }; Auth.DeploymentAuthority.Reconcile: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeploymentAuthority.Reject: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Deployments.Create: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Deployments.Disable: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Deployments.Enable: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Deployments.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Deployments.Remove: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeviceUserAuthorities.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeviceUserAuthorities.Reviews.Decide: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeviceUserAuthorities.Reviews.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.DeviceUserAuthorities.Revoke: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Devices.ConnectInfo.Get: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Devices.Disable: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Devices.Enable: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Devices.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Devices.Provision: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Devices.Remove: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Health: { subject: string; input; output; callerCapabilities; errors: "UnexpectedError"[]; declaredErrorTypes: "UnexpectedError"[]; }; Auth.Identities.List: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.IdentityGrants.List: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError"[]; }; Auth.IdentityGrants.Revoke: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Portals.Get: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Portals.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError"[]; }; Auth.Portals.LoginSettings.Get: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Portals.LoginSettings.Update: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Portals.Put: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Portals.Remove: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Portals.Routes.Put: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Portals.Routes.Remove: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Requests.Validate: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.ServiceInstances.Disable: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.ServiceInstances.Enable: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.ServiceInstances.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.ServiceInstances.Provision: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.ServiceInstances.Remove: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Sessions.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Sessions.Logout: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError"[]; }; Auth.Sessions.Me: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError"[]; }; Auth.Sessions.Revoke: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.UserIdentities.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.UserIdentities.Unlink: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Users.Create: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Users.Get: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Users.IdentityLink.Create: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Users.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Users.Password.Change: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Users.PasswordReset.Create: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; Auth.Users.Update: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; }; operations: { Auth.DeviceUserAuthorities.Resolve: { subject: string; input; progress; output; callerCapabilities; observeCapabilities; cancelCapabilities; controlCapabilities; }; }; events: { Auth.Connections.Closed: { subject: string; event; publishCapabilities: string[]; subscribeCapabilities: string[]; }; Auth.Connections.Kicked: { subject: string; event; publishCapabilities: string[]; subscribeCapabilities: string[]; }; Auth.Connections.Opened: { subject: string; event; publishCapabilities: string[]; subscribeCapabilities: string[]; }; Auth.DeviceUserAuthorities.Approved: { subject: string; params: "/deploymentId"[]; event; publishCapabilities: string[]; subscribeCapabilities: string[]; }; Auth.DeviceUserAuthorities.Requested: { subject: string; params: "/deploymentId"[]; event; publishCapabilities: string[]; subscribeCapabilities: string[]; }; Auth.DeviceUserAuthorities.Resolved: { subject: string; params: "/deploymentId"[]; event; publishCapabilities: string[]; subscribeCapabilities: string[]; }; Auth.DeviceUserAuthorities.ReviewRequested: { subject: string; params: "/deploymentId"[]; event; publishCapabilities: string[]; subscribeCapabilities: string[]; }; Auth.Sessions.Revoked: { subject: string; event; publishCapabilities: string[]; subscribeCapabilities: string[]; }; }; feeds; subjects; }
trellis/sdk/core.ts

Interfaces

Type Aliases

T
TrellisBindingsGetOutput = { binding?: { contractId: string; digest: string; resources: { eventConsumers?: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; filterSubjects: Array<string>; maxDeliver: number; ordering: "strict"; replay: "new" | "all"; stream: string; }; }; jobs?: { namespace: string; queues: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; defaultDeadlineMs?: number; dlq: boolean; keyConcurrency?: { heartbeatIntervalMs: number; heartbeatTtlMs: number; key: Array<string>; maxActive: number; stalePolicy: "fail-stale" | "block"; }; logs: boolean; maxDeliver: number; payload: { schema: string; }; progress: boolean; publishPrefix: string; queue?: { maxQueuedPerKey: number; whenFull: "reject" | "coalesce" | "replace-oldest"; }; queueType: string; result?: { schema: string; }; workSubject: string; }; }; workStream?: string; }; kv?: { [k: string]: { bucket: string; history: number; maxValueBytes?: number; ttlMs: number; }; }; store?: { [k: string]: { maxObjectBytes?: number; maxTotalBytes?: number; name: string; ttlMs: number; }; }; }; }; eventConsumers?: { [k: string]: { ackWaitMs: number; backoffMs: Array<number>; concurrency: number; consumerName: string; filterSubjects: Array<string>; maxDeliver: number; ordering: "strict"; replay: "new" | "all"; stream: string; }; }; }
T
TrellisCatalogOutput = { catalog: { contracts: Array<
{ description: string; digest: string; displayName: string; id: string; }
>
; format: "trellis.catalog.v1"; issues?: Array<
{ actions: Array<
{ action: "keep-current" | "force-replace"; deploymentIds: Array<string>; description: string; digests: Array<string>; label: string; risk: "recommended" | "dangerous"; }
>
; conflictingDeploymentIds?: Array<string>; conflictingDigest?: string; conflictingDigests?: Array<string>; contractId?: string; deploymentIds: Array<string>; digest?: string; effectiveDeploymentIds?: Array<string>; effectiveDigests?: Array<string>; issueId: string; kind:
"missing-active-contract"
| "invalid-active-contract"
| "incompatible-active-contract"
| "invalid-active-contract-uses"
; message: string; }
>
; }
; }
T
TrellisContractGetOutput = { contract: { description: string; displayName: string; docs?: { markdown: string; summary?: string; }; errors?: { [k: string]: { }; }; events?: { [k: string]: { }; }; exports?: { schemas?: Array<string>; }; format: "trellis.contract.v1"; id: string; jobs?: { [k: string]: { ackWaitMs?: number; backoffMs?: Array<number>; concurrency?: number; defaultDeadlineMs?: number; dlq?: boolean; docs?: { markdown: string; summary?: string; }; keyConcurrency?: { heartbeatIntervalMs?: number; heartbeatTtlMs?: number; key: Array<string>; maxActive?: number; stalePolicy?: "fail-stale" | "block"; }; logs?: boolean; maxDeliver?: number; payload: { schema: string; }; progress?: boolean; queue?: { maxQueuedPerKey?: number; whenFull?: "reject" | "coalesce" | "replace-oldest"; }; result?: { schema: string; }; }; }; kind: "service" | "app" | "device" | "agent"; operations?: { [k: string]: { }; }; resources?: { kv?: { [k: string]: { docs?: { markdown: string; summary?: string; }; history?: number; maxValueBytes?: number; purpose: string; required?: boolean; schema: { schema: string; }; ttlMs?: number; }; }; store?: { [k: string]: { docs?: { markdown: string; summary?: string; }; maxObjectBytes?: number; maxTotalBytes?: number; purpose: string; required?: boolean; ttlMs?: number; }; }; }; rpc?: { [k: string]: { }; }; schemas?: { [k: string]: { } | boolean; }; state?: { [k: string]: { acceptedVersions?: { [k: string]: { schema: string; }; }; docs?: { markdown: string; summary?: string; }; kind: "value" | "map"; schema: { schema: string; }; stateVersion?: string; }; }; uses?: { [k: string]: { }; }; }; }

Variables

v
OWNED_API: { rpc: { Trellis.Bindings.Get: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError"[]; }; Trellis.Catalog: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError"[]; }; Trellis.Contract.Get: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError"[]; }; Trellis.Surface.Status: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError"[]; }; }; operations; events; feeds; subjects; }
v
TrellisBindingsGetResponseSchema: { properties: { binding: { properties: { contractId: { minLength: number; type: string; }; digest: { pattern: string; type: string; }; resources: { properties: { eventConsumers: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; filterSubjects: { items: { minLength: number; type: string; }; type: string; }; maxDeliver: { minimum: number; type: string; }; ordering: { const: string; type: string; }; replay: { anyOf: { const: string; type: string; }[]; }; stream: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; jobs: { properties: { namespace: { minLength: number; type: string; }; queues: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; defaultDeadlineMs: { minimum: number; type: string; }; dlq: { type: string; }; keyConcurrency: { properties: { heartbeatIntervalMs: { minimum: number; type: string; }; heartbeatTtlMs: { minimum: number; type: string; }; key: { items: { minLength: number; type: string; }; minItems: number; type: string; }; maxActive: { minimum: number; type: string; }; stalePolicy: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; logs: { type: string; }; maxDeliver: { minimum: number; type: string; }; payload: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; progress: { type: string; }; publishPrefix: { minLength: number; type: string; }; queue: { properties: { maxQueuedPerKey: { minimum: number; type: string; }; whenFull: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; queueType: { minLength: number; type: string; }; result: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; workSubject: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; workStream: { minLength: number; type: string; }; }; required: string[]; type: string; }; kv: { patternProperties: { ^.*$: { properties: { bucket: { minLength: number; type: string; }; history: { minimum: number; type: string; }; maxValueBytes: { minimum: number; type: string; }; ttlMs: { minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; store: { patternProperties: { ^.*$: { properties: { maxObjectBytes: { minimum: number; type: string; }; maxTotalBytes: { minimum: number; type: string; }; name: { minLength: number; type: string; }; ttlMs: { minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; }; type: string; }; }; required: string[]; type: string; }; eventConsumers: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; consumerName: { minLength: number; type: string; }; filterSubjects: { items: { minLength: number; type: string; }; type: string; }; maxDeliver: { minimum: number; type: string; }; ordering: { const: string; type: string; }; replay: { anyOf: { const: string; type: string; }[]; }; stream: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; }; type: string; }
v
TrellisCatalogResponseSchema: { properties: { catalog: { properties: { contracts: { items: { properties: { description: { minLength: number; type: string; }; digest: { type: string; }; displayName: { minLength: number; type: string; }; id: { type: string; }; }; required: string[]; type: string; }; type: string; }; format: { const: string; type: string; }; issues: { items: { properties: { actions: { items: { properties: { action: { anyOf: { const: string; type: string; }[]; }; deploymentIds: { items: { type: string; }; type: string; }; description: { minLength: number; type: string; }; digests: { items: { type: string; }; type: string; }; label: { minLength: number; type: string; }; risk: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; type: string; }; conflictingDeploymentIds: { items: { type: string; }; type: string; }; conflictingDigest: { type: string; }; conflictingDigests: { items: { type: string; }; type: string; }; contractId: { type: string; }; deploymentIds: { items: { type: string; }; type: string; }; digest: { type: string; }; effectiveDeploymentIds: { items: { type: string; }; type: string; }; effectiveDigests: { items: { type: string; }; type: string; }; issueId: { minLength: number; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; message: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
TrellisContractGetResponseSchema: { properties: { contract: { properties: { description: { minLength: number; type: string; }; displayName: { minLength: number; type: string; }; docs: { properties: { markdown: { type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; errors: { patternProperties: { ^.*$: { type: string; }; }; type: string; }; events: { patternProperties: { ^.*$: { type: string; }; }; type: string; }; exports: { properties: { schemas: { items: { minLength: number; type: string; }; type: string; }; }; type: string; }; format: { const: string; type: string; }; id: { minLength: number; type: string; }; jobs: { patternProperties: { ^.*$: { properties: { ackWaitMs: { minimum: number; type: string; }; backoffMs: { items: { minimum: number; type: string; }; type: string; }; concurrency: { minimum: number; type: string; }; defaultDeadlineMs: { minimum: number; type: string; }; dlq: { type: string; }; docs: { properties: { markdown: { type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; keyConcurrency: { properties: { heartbeatIntervalMs: { minimum: number; type: string; }; heartbeatTtlMs: { minimum: number; type: string; }; key: { items: { minLength: number; type: string; }; minItems: number; type: string; }; maxActive: { minimum: number; type: string; }; stalePolicy: { anyOf: { const: string; type: string; }[]; }; }; required: string[]; type: string; }; logs: { type: string; }; maxDeliver: { minimum: number; type: string; }; payload: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; progress: { type: string; }; queue: { properties: { maxQueuedPerKey: { minimum: number; type: string; }; whenFull: { anyOf: { const: string; type: string; }[]; }; }; type: string; }; result: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }; }; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; operations: { patternProperties: { ^.*$: { type: string; }; }; type: string; }; resources: { additionalProperties: boolean; properties: { kv: { patternProperties: { ^.*$: { properties: { docs: { properties: { markdown: { type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; history: { default: number; minimum: number; type: string; }; maxValueBytes: { minimum: number; type: string; }; purpose: { minLength: number; type: string; }; required: { default: boolean; type: string; }; schema: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; ttlMs: { default: number; minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; store: { patternProperties: { ^.*$: { properties: { docs: { properties: { markdown: { type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; maxObjectBytes: { minimum: number; type: string; }; maxTotalBytes: { minimum: number; type: string; }; purpose: { minLength: number; type: string; }; required: { default: boolean; type: string; }; ttlMs: { default: number; minimum: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; }; type: string; }; rpc: { patternProperties: { ^.*$: { type: string; }; }; type: string; }; schemas: { patternProperties: { ^.*$: { anyOf: { type: string; }[]; }; }; type: string; }; state: { patternProperties: { ^.*$: { properties: { acceptedVersions: { patternProperties: { ^.*$: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; docs: { properties: { markdown: { type: string; }; summary: { type: string; }; }; required: string[]; type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; schema: { properties: { schema: { minLength: number; type: string; }; }; required: string[]; type: string; }; stateVersion: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; type: string; }; uses: { patternProperties: { ^.*$: { type: string; }; }; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
TrellisSurfaceStatusResponseSchema: { properties: { status: { anyOf:
{ properties: { liveImplementer: { type: string; }; runtime: { anyOf: { const: string; type: string; }[]; }; state: { const: string; type: string; }; }; required: string[]; type: string; }
| { properties: { reason: { anyOf: { const: string; type: string; }[]; }; state: { const: string; type: string; }; }; required: string[]; type: string; }
| { properties: { missingCapabilities: { items: { type: string; }; type: string; }; state: { const: string; type: string; }; }; required: string[]; type: string; }
| { properties: { contractId: { minLength: number; type: string; }; state: { const: string; type: string; }; }; required: string[]; type: string; }
| { properties: { contractId: { minLength: number; type: string; }; kind: { minLength: number; type: string; }; state: { const: string; type: string; }; surface: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
; }
; required: string[]; type: string; }
trellis/sdk/health.ts

Interfaces

Type Aliases

Variables

v
HealthHeartbeatSchema: { properties: { checks: { items: { properties: { error: { type: string; }; info: { patternProperties: { ^.*$; }; type: string; }; latencyMs: { type: string; }; name: { type: string; }; status: { anyOf: { const: string; type: string; }[]; }; summary: { type: string; }; }; required: string[]; type: string; }; type: string; }; service: { properties: { contractDigest: { type: string; }; contractId: { type: string; }; info: { patternProperties: { ^.*$; }; type: string; }; instanceId: { type: string; }; kind: { anyOf: { const: string; type: string; }[]; }; name: { type: string; }; publishIntervalMs: { minimum: number; type: string; }; runtime: { anyOf: { const: string; type: string; }[]; }; runtimeVersion: { type: string; }; startedAt: { format: string; type: string; }; version: { type: string; }; }; required: string[]; type: string; }; status: { anyOf: { const: string; type: string; }[]; }; summary: { type: string; }; }; required: string[]; type: string; }
trellis/sdk/jobs.ts

Classes

Interfaces

I
TrellisJobsClient

Type Aliases

T
JobsCancelOutput = { job: { completedAt?: string; concurrency?: { heartbeatAt?: string; key: string; keyHash: string; leaseExpiresAt?: string; staleTakeoverCount?: number; }; context: { requestId: string; traceId: string; traceparent: string; tracestate?: string; }; createdAt: string; deadline?: string; id: string; lastError?: string; logs?: Array<
{ level: "info" | "warn" | "error"; message: string; timestamp: string; }
>
; maxTries: number; payload: unknown; progress?: { current?: number; message?: string; step?: string; total?: number; }; queuePolicy?: { existingJobId?: string; outcome: string; reason?: string; replacedJobId?: string; }; result?: unknown; service: string; startedAt?: string; state:
"pending"
| "active"
| "retry"
| "completed"
| "failed"
| "cancelled"
| "expired"
| "dead"
| "dismissed"
; tries: number; type: string; updatedAt: string; }
; }
T
JobsDismissDLQOutput = { job: { completedAt?: string; concurrency?: { heartbeatAt?: string; key: string; keyHash: string; leaseExpiresAt?: string; staleTakeoverCount?: number; }; context: { requestId: string; traceId: string; traceparent: string; tracestate?: string; }; createdAt: string; deadline?: string; id: string; lastError?: string; logs?: Array<
{ level: "info" | "warn" | "error"; message: string; timestamp: string; }
>
; maxTries: number; payload: unknown; progress?: { current?: number; message?: string; step?: string; total?: number; }; queuePolicy?: { existingJobId?: string; outcome: string; reason?: string; replacedJobId?: string; }; result?: unknown; service: string; startedAt?: string; state:
"pending"
| "active"
| "retry"
| "completed"
| "failed"
| "cancelled"
| "expired"
| "dead"
| "dismissed"
; tries: number; type: string; updatedAt: string; }
; }
T
JobsGetOutput = { job: { completedAt?: string; concurrency?: { heartbeatAt?: string; key: string; keyHash: string; leaseExpiresAt?: string; staleTakeoverCount?: number; }; context: { requestId: string; traceId: string; traceparent: string; tracestate?: string; }; createdAt: string; deadline?: string; id: string; lastError?: string; logs?: Array<
{ level: "info" | "warn" | "error"; message: string; timestamp: string; }
>
; maxTries: number; payload: unknown; progress?: { current?: number; message?: string; step?: string; total?: number; }; queuePolicy?: { existingJobId?: string; outcome: string; reason?: string; replacedJobId?: string; }; result?: unknown; service: string; startedAt?: string; state:
"pending"
| "active"
| "retry"
| "completed"
| "failed"
| "cancelled"
| "expired"
| "dead"
| "dismissed"
; tries: number; type: string; updatedAt: string; }
; }
T
JobsListDLQOutput = { count: number; entries: Array<
{ completedAt?: string; concurrency?: { heartbeatAt?: string; key: string; keyHash: string; leaseExpiresAt?: string; staleTakeoverCount?: number; }; context: { requestId: string; traceId: string; traceparent: string; tracestate?: string; }; createdAt: string; deadline?: string; id: string; lastError?: string; logs?: Array<
{ level: "info" | "warn" | "error"; message: string; timestamp: string; }
>
; maxTries: number; payload: unknown; progress?: { current?: number; message?: string; step?: string; total?: number; }; queuePolicy?: { existingJobId?: string; outcome: string; reason?: string; replacedJobId?: string; }; result?: unknown; service: string; startedAt?: string; state:
"pending"
| "active"
| "retry"
| "completed"
| "failed"
| "cancelled"
| "expired"
| "dead"
| "dismissed"
; tries: number; type: string; updatedAt: string; }
>
; limit: number; nextOffset?: number; offset: number; }
T
JobsListOutput = { count: number; entries: Array<
{ completedAt?: string; concurrency?: { heartbeatAt?: string; key: string; keyHash: string; leaseExpiresAt?: string; staleTakeoverCount?: number; }; context: { requestId: string; traceId: string; traceparent: string; tracestate?: string; }; createdAt: string; deadline?: string; id: string; lastError?: string; logs?: Array<
{ level: "info" | "warn" | "error"; message: string; timestamp: string; }
>
; maxTries: number; payload: unknown; progress?: { current?: number; message?: string; step?: string; total?: number; }; queuePolicy?: { existingJobId?: string; outcome: string; reason?: string; replacedJobId?: string; }; result?: unknown; service: string; startedAt?: string; state:
"pending"
| "active"
| "retry"
| "completed"
| "failed"
| "cancelled"
| "expired"
| "dead"
| "dismissed"
; tries: number; type: string; updatedAt: string; }
>
; limit: number; nextOffset?: number; offset: number; }
T
JobsReplayDLQOutput = { job: { completedAt?: string; concurrency?: { heartbeatAt?: string; key: string; keyHash: string; leaseExpiresAt?: string; staleTakeoverCount?: number; }; context: { requestId: string; traceId: string; traceparent: string; tracestate?: string; }; createdAt: string; deadline?: string; id: string; lastError?: string; logs?: Array<
{ level: "info" | "warn" | "error"; message: string; timestamp: string; }
>
; maxTries: number; payload: unknown; progress?: { current?: number; message?: string; step?: string; total?: number; }; queuePolicy?: { existingJobId?: string; outcome: string; reason?: string; replacedJobId?: string; }; result?: unknown; service: string; startedAt?: string; state:
"pending"
| "active"
| "retry"
| "completed"
| "failed"
| "cancelled"
| "expired"
| "dead"
| "dismissed"
; tries: number; type: string; updatedAt: string; }
; }
T
JobsRetryOutput = { job: { completedAt?: string; concurrency?: { heartbeatAt?: string; key: string; keyHash: string; leaseExpiresAt?: string; staleTakeoverCount?: number; }; context: { requestId: string; traceId: string; traceparent: string; tracestate?: string; }; createdAt: string; deadline?: string; id: string; lastError?: string; logs?: Array<
{ level: "info" | "warn" | "error"; message: string; timestamp: string; }
>
; maxTries: number; payload: unknown; progress?: { current?: number; message?: string; step?: string; total?: number; }; queuePolicy?: { existingJobId?: string; outcome: string; reason?: string; replacedJobId?: string; }; result?: unknown; service: string; startedAt?: string; state:
"pending"
| "active"
| "retry"
| "completed"
| "failed"
| "cancelled"
| "expired"
| "dead"
| "dismissed"
; tries: number; type: string; updatedAt: string; }
; }

Variables

v
JobsCancelResponseSchema: { properties: { job: { properties: { completedAt: { format: string; type: string; }; concurrency: { properties: { heartbeatAt: { format: string; type: string; }; key: { minLength: number; type: string; }; keyHash: { minLength: number; type: string; }; leaseExpiresAt: { format: string; type: string; }; staleTakeoverCount: { minimum: number; type: string; }; }; required: string[]; type: string; }; context: { properties: { requestId: { minLength: number; type: string; }; traceId: { pattern: string; type: string; }; traceparent: { pattern: string; type: string; }; tracestate: { minLength: number; type: string; }; }; required: string[]; type: string; }; createdAt: { format: string; type: string; }; deadline: { format: string; type: string; }; id: { minLength: number; type: string; }; lastError: { type: string; }; logs: { items: { properties: { level: { anyOf: { const: string; type: string; }[]; }; message: { type: string; }; timestamp: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; maxTries: { minimum: number; type: string; }; payload; progress: { properties: { current: { minimum: number; type: string; }; message: { type: string; }; step: { type: string; }; total: { minimum: number; type: string; }; }; type: string; }; queuePolicy: { properties: { existingJobId: { minLength: number; type: string; }; outcome: { minLength: number; type: string; }; reason: { minLength: number; type: string; }; replacedJobId: { minLength: number; type: string; }; }; required: string[]; type: string; }; result; service: { minLength: number; type: string; }; startedAt: { format: string; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; tries: { minimum: number; type: string; }; type: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
JobsDismissDLQResponseSchema: { properties: { job: { properties: { completedAt: { format: string; type: string; }; concurrency: { properties: { heartbeatAt: { format: string; type: string; }; key: { minLength: number; type: string; }; keyHash: { minLength: number; type: string; }; leaseExpiresAt: { format: string; type: string; }; staleTakeoverCount: { minimum: number; type: string; }; }; required: string[]; type: string; }; context: { properties: { requestId: { minLength: number; type: string; }; traceId: { pattern: string; type: string; }; traceparent: { pattern: string; type: string; }; tracestate: { minLength: number; type: string; }; }; required: string[]; type: string; }; createdAt: { format: string; type: string; }; deadline: { format: string; type: string; }; id: { minLength: number; type: string; }; lastError: { type: string; }; logs: { items: { properties: { level: { anyOf: { const: string; type: string; }[]; }; message: { type: string; }; timestamp: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; maxTries: { minimum: number; type: string; }; payload; progress: { properties: { current: { minimum: number; type: string; }; message: { type: string; }; step: { type: string; }; total: { minimum: number; type: string; }; }; type: string; }; queuePolicy: { properties: { existingJobId: { minLength: number; type: string; }; outcome: { minLength: number; type: string; }; reason: { minLength: number; type: string; }; replacedJobId: { minLength: number; type: string; }; }; required: string[]; type: string; }; result; service: { minLength: number; type: string; }; startedAt: { format: string; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; tries: { minimum: number; type: string; }; type: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
JobsGetKeyResponseSchema: { properties: { active: { items: { properties: { heartbeatAgeMs: { minimum: number; type: string; }; heartbeatAt: { format: string; type: string; }; instanceId: { type: string; }; jobId: { minLength: number; type: string; }; leaseExpiresAt: { format: string; type: string; }; startedAt: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; key: { minLength: number; type: string; }; keyHash: { minLength: number; type: string; }; latestPolicyReason: { minLength: number; type: string; }; queued: { items: { properties: { createdAt: { format: string; type: string; }; jobId: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; queuedDepth: { minimum: number; type: string; }; service: { minLength: number; type: string; }; staleTakeoverCount: { minimum: number; type: string; }; type: { minLength: number; type: string; }; }; required: string[]; type: string; }
v
JobsGetResponseSchema: { properties: { job: { properties: { completedAt: { format: string; type: string; }; concurrency: { properties: { heartbeatAt: { format: string; type: string; }; key: { minLength: number; type: string; }; keyHash: { minLength: number; type: string; }; leaseExpiresAt: { format: string; type: string; }; staleTakeoverCount: { minimum: number; type: string; }; }; required: string[]; type: string; }; context: { properties: { requestId: { minLength: number; type: string; }; traceId: { pattern: string; type: string; }; traceparent: { pattern: string; type: string; }; tracestate: { minLength: number; type: string; }; }; required: string[]; type: string; }; createdAt: { format: string; type: string; }; deadline: { format: string; type: string; }; id: { minLength: number; type: string; }; lastError: { type: string; }; logs: { items: { properties: { level: { anyOf: { const: string; type: string; }[]; }; message: { type: string; }; timestamp: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; maxTries: { minimum: number; type: string; }; payload; progress: { properties: { current: { minimum: number; type: string; }; message: { type: string; }; step: { type: string; }; total: { minimum: number; type: string; }; }; type: string; }; queuePolicy: { properties: { existingJobId: { minLength: number; type: string; }; outcome: { minLength: number; type: string; }; reason: { minLength: number; type: string; }; replacedJobId: { minLength: number; type: string; }; }; required: string[]; type: string; }; result; service: { minLength: number; type: string; }; startedAt: { format: string; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; tries: { minimum: number; type: string; }; type: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
JobsListDLQResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { items: { properties: { completedAt: { format: string; type: string; }; concurrency: { properties: { heartbeatAt: { format: string; type: string; }; key: { minLength: number; type: string; }; keyHash: { minLength: number; type: string; }; leaseExpiresAt: { format: string; type: string; }; staleTakeoverCount: { minimum: number; type: string; }; }; required: string[]; type: string; }; context: { properties: { requestId: { minLength: number; type: string; }; traceId: { pattern: string; type: string; }; traceparent: { pattern: string; type: string; }; tracestate: { minLength: number; type: string; }; }; required: string[]; type: string; }; createdAt: { format: string; type: string; }; deadline: { format: string; type: string; }; id: { minLength: number; type: string; }; lastError: { type: string; }; logs: { items: { properties: { level: { anyOf: { const: string; type: string; }[]; }; message: { type: string; }; timestamp: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; maxTries: { minimum: number; type: string; }; payload; progress: { properties: { current: { minimum: number; type: string; }; message: { type: string; }; step: { type: string; }; total: { minimum: number; type: string; }; }; type: string; }; queuePolicy: { properties: { existingJobId: { minLength: number; type: string; }; outcome: { minLength: number; type: string; }; reason: { minLength: number; type: string; }; replacedJobId: { minLength: number; type: string; }; }; required: string[]; type: string; }; result; service: { minLength: number; type: string; }; startedAt: { format: string; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; tries: { minimum: number; type: string; }; type: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
JobsListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { items: { properties: { completedAt: { format: string; type: string; }; concurrency: { properties: { heartbeatAt: { format: string; type: string; }; key: { minLength: number; type: string; }; keyHash: { minLength: number; type: string; }; leaseExpiresAt: { format: string; type: string; }; staleTakeoverCount: { minimum: number; type: string; }; }; required: string[]; type: string; }; context: { properties: { requestId: { minLength: number; type: string; }; traceId: { pattern: string; type: string; }; traceparent: { pattern: string; type: string; }; tracestate: { minLength: number; type: string; }; }; required: string[]; type: string; }; createdAt: { format: string; type: string; }; deadline: { format: string; type: string; }; id: { minLength: number; type: string; }; lastError: { type: string; }; logs: { items: { properties: { level: { anyOf: { const: string; type: string; }[]; }; message: { type: string; }; timestamp: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; maxTries: { minimum: number; type: string; }; payload; progress: { properties: { current: { minimum: number; type: string; }; message: { type: string; }; step: { type: string; }; total: { minimum: number; type: string; }; }; type: string; }; queuePolicy: { properties: { existingJobId: { minLength: number; type: string; }; outcome: { minLength: number; type: string; }; reason: { minLength: number; type: string; }; replacedJobId: { minLength: number; type: string; }; }; required: string[]; type: string; }; result; service: { minLength: number; type: string; }; startedAt: { format: string; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; tries: { minimum: number; type: string; }; type: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
JobsListServicesResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { items: { properties: { healthy: { type: string; }; name: { minLength: number; type: string; }; workers: { items: { properties: { concurrency: { minimum: number; type: string; }; instanceId: { minLength: number; type: string; }; jobType: { minLength: number; type: string; }; service: { minLength: number; type: string; }; timestamp: { format: string; type: string; }; version: { minLength: number; type: string; }; }; required: string[]; type: string; }; type: string; }; }; required: string[]; type: string; }; type: string; }; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }; required: string[]; type: string; }
v
JobsReplayDLQResponseSchema: { properties: { job: { properties: { completedAt: { format: string; type: string; }; concurrency: { properties: { heartbeatAt: { format: string; type: string; }; key: { minLength: number; type: string; }; keyHash: { minLength: number; type: string; }; leaseExpiresAt: { format: string; type: string; }; staleTakeoverCount: { minimum: number; type: string; }; }; required: string[]; type: string; }; context: { properties: { requestId: { minLength: number; type: string; }; traceId: { pattern: string; type: string; }; traceparent: { pattern: string; type: string; }; tracestate: { minLength: number; type: string; }; }; required: string[]; type: string; }; createdAt: { format: string; type: string; }; deadline: { format: string; type: string; }; id: { minLength: number; type: string; }; lastError: { type: string; }; logs: { items: { properties: { level: { anyOf: { const: string; type: string; }[]; }; message: { type: string; }; timestamp: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; maxTries: { minimum: number; type: string; }; payload; progress: { properties: { current: { minimum: number; type: string; }; message: { type: string; }; step: { type: string; }; total: { minimum: number; type: string; }; }; type: string; }; queuePolicy: { properties: { existingJobId: { minLength: number; type: string; }; outcome: { minLength: number; type: string; }; reason: { minLength: number; type: string; }; replacedJobId: { minLength: number; type: string; }; }; required: string[]; type: string; }; result; service: { minLength: number; type: string; }; startedAt: { format: string; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; tries: { minimum: number; type: string; }; type: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
JobsRetryResponseSchema: { properties: { job: { properties: { completedAt: { format: string; type: string; }; concurrency: { properties: { heartbeatAt: { format: string; type: string; }; key: { minLength: number; type: string; }; keyHash: { minLength: number; type: string; }; leaseExpiresAt: { format: string; type: string; }; staleTakeoverCount: { minimum: number; type: string; }; }; required: string[]; type: string; }; context: { properties: { requestId: { minLength: number; type: string; }; traceId: { pattern: string; type: string; }; traceparent: { pattern: string; type: string; }; tracestate: { minLength: number; type: string; }; }; required: string[]; type: string; }; createdAt: { format: string; type: string; }; deadline: { format: string; type: string; }; id: { minLength: number; type: string; }; lastError: { type: string; }; logs: { items: { properties: { level: { anyOf: { const: string; type: string; }[]; }; message: { type: string; }; timestamp: { format: string; type: string; }; }; required: string[]; type: string; }; type: string; }; maxTries: { minimum: number; type: string; }; payload; progress: { properties: { current: { minimum: number; type: string; }; message: { type: string; }; step: { type: string; }; total: { minimum: number; type: string; }; }; type: string; }; queuePolicy: { properties: { existingJobId: { minLength: number; type: string; }; outcome: { minLength: number; type: string; }; reason: { minLength: number; type: string; }; replacedJobId: { minLength: number; type: string; }; }; required: string[]; type: string; }; result; service: { minLength: number; type: string; }; startedAt: { format: string; type: string; }; state: { anyOf: { const: string; type: string; }[]; }; tries: { minimum: number; type: string; }; type: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
v
OWNED_API: { rpc: { Jobs.Cancel: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; runtimeErrors: { type: string; schema; fromSerializable; }[]; }; Jobs.DismissDLQ: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; runtimeErrors: { type: string; schema; fromSerializable; }[]; }; Jobs.Get: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; runtimeErrors: { type: string; schema; fromSerializable; }[]; }; Jobs.GetKey: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; runtimeErrors: { type: string; schema; fromSerializable; }[]; }; Jobs.Health: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError"[]; declaredErrorTypes: "UnexpectedError"[]; }; Jobs.List: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError"[]; }; Jobs.ListDLQ: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError"[]; }; Jobs.ListServices: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError"[]; }; Jobs.ReplayDLQ: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; runtimeErrors: { type: string; schema; fromSerializable; }[]; }; Jobs.Retry: { subject: string; input; output; callerCapabilities: string[]; errors: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; declaredErrorTypes: "UnexpectedError" | "ValidationError" | "NotFoundError"[]; runtimeErrors: { type: string; schema; fromSerializable; }[]; }; }; operations; events; feeds; subjects; }
trellis/sdk/state.ts

Interfaces

Type Aliases

Variables

v
OWNED_API: { rpc: { State.Admin.Delete: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; State.Admin.Get: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; State.Admin.List: { subject: string; input; output; callerCapabilities: string[]; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; State.Delete: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; State.Get: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; State.List: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; State.Put: { subject: string; input; output; callerCapabilities; errors: "AuthError" | "UnexpectedError" | "ValidationError"[]; declaredErrorTypes: "AuthError" | "UnexpectedError" | "ValidationError"[]; }; }; operations; events; feeds; subjects; }
v
StateAdminDeleteRequestSchema: { anyOf:
{ properties: { contractDigest: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; expectedRevision: { minLength: number; type: string; }; key: { minLength: number; type: string; }; scope: { const: string; type: string; }; store: { minLength: number; type: string; }; user: { properties: { id: { minLength: number; type: string; }; origin: { minLength: number; type: string; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
| { properties: { contractDigest: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deviceId: { minLength: number; type: string; }; expectedRevision: { minLength: number; type: string; }; key: { minLength: number; type: string; }; scope: { const: string; type: string; }; store: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
v
StateAdminGetRequestSchema: { anyOf:
{ properties: { contractDigest: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; key: { minLength: number; type: string; }; scope: { const: string; type: string; }; store: { minLength: number; type: string; }; user: { properties: { id: { minLength: number; type: string; }; origin: { minLength: number; type: string; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
| { properties: { contractDigest: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deviceId: { minLength: number; type: string; }; key: { minLength: number; type: string; }; scope: { const: string; type: string; }; store: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
v
StateAdminGetResponseSchema: { anyOf:
{ properties: { found: { const: boolean; type: string; }; }; required: string[]; type: string; }
| { properties: { entry: { properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }; found: { const: boolean; type: string; }; }; required: string[]; type: string; }
| { properties: { currentStateVersion: { minLength: number; type: string; }; entry: { properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }; migrationRequired: { const: boolean; type: string; }; stateVersion: { minLength: number; type: string; }; writerContractDigest: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
v
StateAdminListRequestSchema: { anyOf:
{ properties: { contractDigest: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; limit: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; prefix: { minLength: number; type: string; }; scope: { const: string; type: string; }; store: { minLength: number; type: string; }; user: { properties: { id: { minLength: number; type: string; }; origin: { minLength: number; type: string; }; userId: { minLength: number; type: string; }; }; required: string[]; type: string; }; }; required: string[]; type: string; }
| { properties: { contractDigest: { minLength: number; type: string; }; contractId: { minLength: number; type: string; }; deviceId: { minLength: number; type: string; }; limit: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; prefix: { minLength: number; type: string; }; scope: { const: string; type: string; }; store: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
v
StateAdminListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { anyOf:
{ properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }
| { properties: { currentStateVersion: { minLength: number; type: string; }; entry: { properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }; migrationRequired: { const: boolean; type: string; }; stateVersion: { minLength: number; type: string; }; writerContractDigest: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
; type: string; }
; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }
; required: string[]; type: string; }
v
StateGetResponseSchema: { anyOf:
{ properties: { found: { const: boolean; type: string; }; }; required: string[]; type: string; }
| { properties: { entry: { properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }; found: { const: boolean; type: string; }; }; required: string[]; type: string; }
| { properties: { currentStateVersion: { minLength: number; type: string; }; entry: { properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }; migrationRequired: { const: boolean; type: string; }; stateVersion: { minLength: number; type: string; }; writerContractDigest: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
v
StateListResponseSchema: { properties: { count: { minimum: number; type: string; }; entries: { default; items: { anyOf:
{ properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }
| { properties: { currentStateVersion: { minLength: number; type: string; }; entry: { properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }; migrationRequired: { const: boolean; type: string; }; stateVersion: { minLength: number; type: string; }; writerContractDigest: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
; type: string; }
; limit: { minimum: number; type: string; }; nextOffset: { minimum: number; type: string; }; offset: { minimum: number; type: string; }; }
; required: string[]; type: string; }
v
StatePutResponseSchema: { anyOf:
{ properties: { applied: { const: boolean; type: string; }; entry: { properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }; }; required: string[]; type: string; }
| { properties: { applied: { const: boolean; type: string; }; entry: { anyOf:
{ properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }
| { properties: { currentStateVersion: { minLength: number; type: string; }; entry: { properties: { expiresAt: { format: string; type: string; }; key: { minLength: number; type: string; }; revision: { minLength: number; type: string; }; updatedAt: { format: string; type: string; }; value; }; required: string[]; type: string; }; migrationRequired: { const: boolean; type: string; }; stateVersion: { minLength: number; type: string; }; writerContractDigest: { minLength: number; type: string; }; }; required: string[]; type: string; }
[]
; }
; found: { type: string; }; }
; required: string[]; type: string; }
[]
; }
trellis/service/mod.ts

Trellis service authoring entry point.

Classes

c
MemoryInboxRepository

In-memory inbox repository intended for duplicate-suppression tests.

c
OutboxDispatcher(
repository: OutboxRepository,
runtime: Pick<Trellis, "publishPrepared">,
options?: OutboxDispatcherOptions
)

Coalesces outbox wakeups and drains due messages through dispatchOutbox.

  • notify(): void

    Signals that outbox work may be available and schedules a drain soon.

  • stop(): void

    Cancels pending wakeups and prevents future dispatch work.

c
TrellisService<
TOwnedApi extends TrellisAPI = TrellisAPI,
TTrellisApi extends TrellisAPI = TOwnedApi,
TJobs extends ContractJobsMetadata = { },
TKv extends ContractKvMetadata = ContractKvMetadata
>
(
name: string,
auth: SessionAuth,
nc: NatsConnection,
server: TrellisServiceRuntimeFor<TOwnedApi & TTrellisApi>,
event: ActiveEventFacade<TTrellisApi>,
handlerTrellis: Trellis<TTrellisApi, TKv, TJobs>,
kv: ServiceKvFacade<TKv>,
contractJobs: TJobs,
bindings: ResourceBindings,
operationTransfer: ServiceTransfer,
health: ServiceHealth,
stopHealthPublishing: () => Promise<void>,
connection: TrellisConnection,
token: trellisServiceConstructorToken
)

Functions

f
createPostgresOutboxSchema(tables?: SqlOutboxTables): readonly string[]

Returns Postgres DDL for Trellis outbox and inbox tables.

f
createSqliteOutboxSchema(tables?: SqlOutboxTables): readonly string[]

Returns SQLite DDL for Trellis outbox and inbox tables.

f
createSqlOutboxAdapter(
executor: SqlExecutor,
dialect: SqlDialect,
tables?: SqlOutboxTables
): SqlOutboxAdapter

Creates SQL outbox/inbox repositories plus DDL for caller-owned migrations.

f
outboxMessageToPrepared(message: OutboxMessage): PreparedTrellisEvent

Rehydrates a persisted outbox row into a prepared event.

f
runAllHealthChecks(
service: string,
checks: Record<string, HealthCheckFn>
): Promise<HealthResponse>

Runs all health checks and returns an aggregated health response.

f

Type Aliases

T
EventContext = { id: string; time: Date; seq: number; ack: () => void; nak: (delay?: number) => void; term: () => void; }

Context provided to event handlers with message metadata and acknowledgment controls.

T
HealthCheckFn = () => Promise<Result<boolean, TrellisError>>

A health check function that returns a Result indicating health status.

T
HealthCheckResult = { name: string; status: "ok" | "failed"; error?: string; summary?: string; info?: Record<string, JsonValue>; latencyMs: number; }

Result of a single health check.

T
HealthResponse = { status: "healthy" | "unhealthy" | "degraded"; service: string; timestamp: string; checks: HealthCheckResult[]; }

Aggregated health response for a service.

T
MultiSubscribeOpts = { defaultMode?: "strict" | "independent"; }

Options for subscribing to multiple events.

T
OperationRegistration<
TOwnedApi extends TrellisAPI,
TTrellisApi extends TrellisAPI,
O extends keyof TOwnedApi["operations"] & string,
TKv extends ContractKvMetadata = ContractKvMetadata,
TJobs extends ContractJobsMetadata = { }
>
= { accept(args: { sessionKey: string; }): AsyncResult<
AcceptedOperation<
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>
>,
UnexpectedError
>
; control(operationId: string): AsyncResult<
OperationRuntimeHandle<
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>
>,
BaseError
>
; handle(handler: (args:
OperationHandlerContext<
InferSchemaType<TOwnedApi["operations"][O]["input"]>,
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>,
OperationTransferContextOf<TOwnedApi, O>
>

& { client: Trellis<TTrellisApi, TKv, TJobs>; }
) => unknown | Promise<unknown>
): Promise<void>; }
T
OrderingGroup<TA extends TrellisAPI = TrellisAPI> = { name: string; events: Array<Events<TA>>; mode: "strict" | "independent"; }

Defines a group of events that should be processed together with ordering guarantees.

T
OutboxDispatcherOptions = { limit?: number; retryDelayMs?: number; debounceMs?: number; idleRetryMs?: number; onError?: (error: unknown) => void; }

Options for OutboxDispatcher.

T
SingleSubscription<
TA extends TrellisAPI = TrellisAPI,
E extends Events<TA> = Events<TA>
>
= { event: E; handler: EventHandler<TA, E>; opts?: SubscribeOpts; }

A subscription for a single event type.

T
SubscribeOpts = { filter?: Record<string, string>; startSeq?: number; startTime?: Date; consumerName?: string; }

Options for subscribing to events.

T
TrellisServiceConnectTelemetryOpts = false | { enabled?: boolean; }

Controls automatic telemetry initialization for TrellisService.connect().

Variables

trellis/service/drizzle.ts

Functions

f
bindDrizzleSqlStatement(
statement: string,
params: readonly unknown[]
): SQL

Converts a Trellis SQL statement with positional placeholders into a Drizzle SQL object with parameters bound in order.

f
createDrizzleSqlExecutor(database: DrizzleSqlDatabase): SqlExecutor

Adapts a caller-owned Drizzle SQLite database or transaction to Trellis' generic SqlExecutor interface.

Type Aliases

T
DrizzleSqlDatabase = { all(query: SQL): Promise<readonly SqlRow[]>; run(query: SQL): Promise<unknown>; }

Structural Drizzle SQLite database or transaction shape accepted by Trellis SQL outbox helpers.

trellis/service/deno.ts

Classes

c
TrellisService<
TOwnedApi extends TrellisAPI = TrellisAPI,
TTrellisApi extends TrellisAPI = TOwnedApi,
TJobs extends ContractJobsMetadata = { },
TKv extends ContractKvMetadata = ContractKvMetadata
>
(
name: string,
auth: SessionAuth,
nc: NatsConnection,
server: TrellisServiceRuntimeFor<TOwnedApi & TTrellisApi>,
event: ActiveEventFacade<TTrellisApi>,
handlerTrellis: Trellis<TTrellisApi, TKv, TJobs>,
kv: ServiceKvFacade<TKv>,
contractJobs: TJobs,
bindings: ResourceBindings,
operationTransfer: ServiceTransfer,
health: ServiceHealth,
stopHealthPublishing: () => Promise<void>,
connection: TrellisConnection,
token: trellisServiceConstructorToken
)

Type Aliases

T
OperationRegistration<
TOwnedApi extends TrellisAPI,
TTrellisApi extends TrellisAPI,
O extends keyof TOwnedApi["operations"] & string,
TKv extends ContractKvMetadata = ContractKvMetadata,
TJobs extends ContractJobsMetadata = { }
>
= { accept(args: { sessionKey: string; }): AsyncResult<
AcceptedOperation<
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>
>,
UnexpectedError
>
; control(operationId: string): AsyncResult<
OperationRuntimeHandle<
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>
>,
BaseError
>
; handle(handler: (args:
OperationHandlerContext<
InferSchemaType<TOwnedApi["operations"][O]["input"]>,
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>,
OperationTransferContextOf<TOwnedApi, O>
>

& { client: Trellis<TTrellisApi, TKv, TJobs>; }
) => unknown | Promise<unknown>
): Promise<void>; }
T
TrellisServiceConnectTelemetryOpts = false | { enabled?: boolean; }

Controls automatic telemetry initialization for TrellisService.connect().

trellis/service/node.ts

Classes

c
TrellisService<
TOwnedApi extends TrellisAPI = TrellisAPI,
TTrellisApi extends TrellisAPI = TOwnedApi,
TJobs extends ContractJobsMetadata = { },
TKv extends ContractKvMetadata = ContractKvMetadata
>
(
name: string,
auth: SessionAuth,
nc: NatsConnection,
server: TrellisServiceRuntimeFor<TOwnedApi & TTrellisApi>,
event: ActiveEventFacade<TTrellisApi>,
handlerTrellis: Trellis<TTrellisApi, TKv, TJobs>,
kv: ServiceKvFacade<TKv>,
contractJobs: TJobs,
bindings: ResourceBindings,
operationTransfer: ServiceTransfer,
health: ServiceHealth,
stopHealthPublishing: () => Promise<void>,
connection: TrellisConnection,
token: trellisServiceConstructorToken
)

Type Aliases

T
OperationRegistration<
TOwnedApi extends TrellisAPI,
TTrellisApi extends TrellisAPI,
O extends keyof TOwnedApi["operations"] & string,
TKv extends ContractKvMetadata = ContractKvMetadata,
TJobs extends ContractJobsMetadata = { }
>
= { accept(args: { sessionKey: string; }): AsyncResult<
AcceptedOperation<
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>
>,
UnexpectedError
>
; control(operationId: string): AsyncResult<
OperationRuntimeHandle<
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>
>,
BaseError
>
; handle(handler: (args:
OperationHandlerContext<
InferSchemaType<TOwnedApi["operations"][O]["input"]>,
OperationProgressOf<TOwnedApi, O>,
OperationOutputOf<TOwnedApi, O>,
OperationTransferContextOf<TOwnedApi, O>
>

& { client: Trellis<TTrellisApi, TKv, TJobs>; }
) => unknown | Promise<unknown>
): Promise<void>; }
T
TrellisServiceConnectTelemetryOpts = false | { enabled?: boolean; }

Controls automatic telemetry initialization for TrellisService.connect().

trellis/telemetry.ts

Enums

E
SpanStatusCode

An enumeration of status codes.

Functions

Interfaces

I
Context
I
Span

An interface that represents a span. A span represents a single operation within a trace. Examples of span might include remote procedure calls or a in-process function calls to sub-components. A Trace has a single, top-level "root" Span that in turn may have zero or more child Spans, which in turn may have children.

Type Aliases

T
TrellisErrorMetricAttributes = { surface?: string; direction?: string; operation?: string; phase?: string; errorType?: string; remoteErrorType?: string; authReason?: string; messagingSystem?: string; messagingOperation?: string; }

Low-cardinality attributes accepted by recordTrellisError.

Variables

v
context: ContextAPI

Entrypoint for context API

v
trace: TraceAPI

Entrypoint for trace API

trellis/errors/index.ts

Classes

c
RemoteError(options:
ErrorOptions
& { error: TransportableTrellisErrorData; context?: Record<string, unknown>; id?: string; }
)

Error for wrapping errors received from remote Trellis services. This is the only error type with parseJSON/parseObject methods for deserializing remote errors.

c
TrellisError

Abstract base class for Trellis errors. Trellis errors automatically include traceId when initTelemetry() has been called and a span is active in the current context.

c
UnexpectedError(options?: BaseErrorOptions)

Represents an unexpected error. Use this for wrapping unknown errors or for truly unexpected conditions.

c
ValidationError(options:
ErrorOptions
& { errors: Iterable<ValidationErrorInput>; context?: Record<string, unknown>; id?: string; }
)

Error for data validation failures. Includes schema validation and missing required data.

Functions

Type Aliases

Variables

v
BUILTIN_RPC_ERRORS: { UnexpectedError: { type: string; schema; fromSerializable(data: UnexpectedErrorData); }; AuthError: { type: string; schema; fromSerializable(data: AuthErrorData); }; TransportError: { type: string; schema; fromSerializable(data: TransportErrorData); }; ValidationError: { type: string; schema; fromSerializable(data: ValidationErrorData); }; KVError: { type: string; schema; fromSerializable(data: KVErrorData); }; OperationNotFoundError: { type: string; schema; fromSerializable(data: OperationNotFoundErrorData); }; OperationAlreadyTerminalError: { type: string; schema; fromSerializable(data: OperationAlreadyTerminalErrorData); }; OperationMismatchError: { type: string; schema; fromSerializable(data: OperationMismatchErrorData); }; StoreError: { type: string; schema; fromSerializable(data: StoreErrorData); }; TransferError: { type: string; schema; fromSerializable(data: TransferErrorData); }; }
v
ValidationErrorDataSchema

Schema for ValidationError serialization.

v
ValidationIssueSchema

Schema for validation issue in ValidationError.