Skip to main content

References

CommandGoverningDefinition

Re-exports CommandGoverningDefinition

DatasetLayout

Re-exports DatasetLayout

Type Aliases

SourceBinding

Ƭ SourceBinding: Object

Type declaration


CommandRefs

Ƭ CommandRefs<A, Contracts>: { readonly [K in keyof A]: CommandHandle<ObjectType<A[K]>, K extends keyof Contracts ? Contracts[K] extends Object | Object ? “collection” : “record” : “record”> } Not exported: an exported type refers to it.

Type parameters


TransportCollections

Ƭ TransportCollections<S, R, L>: S & L extends LatestProjection<R> ? { latest: R } : {} Not exported: an exported type refers to it.

Type parameters


HttpParameters

Ƭ HttpParameters<C>: C extends { parameters: infer P } ? P extends Fields ? ObjectType<P> : never : never Not exported: an exported type refers to it.

Type parameters


IntegrationContext

Ƭ IntegrationContext<H, Setup>: Object

Type parameters

Type declaration


Retention

Ƭ Retention: { kind: "unknown" } | { kind: "stated" ; unit: "minutes" | "hours" | "days" ; value: number } How long a provider keeps a retained position resumable. It is not a number of days. DynamoDB’s shard iterator expires in fifteen MINUTES, and rounding that up to a day holds a recovered position two orders of magnitude past the point the provider still honours it. Kubernetes has two expiry boundaries and neither is a duration at all — etcd’s compaction revision and the apiserver’s in-memory event window — so the honest statement is unknown. Naming a number of days there would be worse than naming nothing, because it would make the engine believe it had checked something. The unit is the provider’s own word. unknown is the absence of a promise and never a promise that has run out: a channel whose retention is unknown never treats a retained position as fresh, so every resume needs the prefix check and a resume the check cannot decide stays unproved.

ResumePrefix

Ƭ ResumePrefix: { kind: "none" } | { kind: "served_floor" ; floor: Selector } | { kind: "restart" ; field: readonly string[] ; value: string ; restart_status?: number } | { kind: "ancestry" ; descends: Selector } Not exported: an exported type refers to it.

SourceProtocol

Ƭ SourceProtocol: { kind: "stream_latest" ; policy: { key: string[] ; order_by: string[] ; publish_every: SyncEvery } } | { kind: "snapshot_and_log" } | { kind: "change_feed" ; version?: { kind: "opaque" } ; position: { domain: string ; encoding: "uint64_decimal" | "int64_decimal" } ; checkpoint: { initial: string ; continuity: "complete_prefix" ; retention: Retention } ; records: "full_or_delete" ; atomic_group: "one_change" } | { kind: "record_observation" ; version: { kind: "opaque" } | { kind: "none" } ; coverage: { kind: "enumeration" } | { kind: "query_result" ; max_rows: number } | { kind: "incremental_snapshot" ; max_rows: number } | { kind: "filtered" ; completeness: "stated" | "none" } | { kind: "none" } ; resume: { kind: "opaque_cursor" } | { kind: "none" } } What an acquisition actually proves. Records with a done flag and a a resume cursor are not a change feed; declaring one would claim ordering and completeness the provider never established.

CoupledResult

Ƭ CoupledResult<S>: wire.CoupledResult<{ [K in keyof S]: RecordObservation<ObjectType<S[K]>>[] }, keyof S & string> What one coupled acquisition attempt claims, as a candidate only. The envelope is generated; this states the two narrowings that are facts about the declaration rather than about the wire, exactly as ProtocolInput and ProtocolResult do below: records is a mapped type over the author’s own collection schemas, and every collection named by an unresolved key or a file request is one of the author’s own collections.

Type parameters


TimestampWindowDiscovery

Ƭ TimestampWindowDiscovery: Object Frozen host-time windows for ServiceNow discovery. Completion advances only after the final accepted page. Full rediscovery and point verification still run independently; timestamps establish neither history nor coverage.

Type declaration


CouplingDefinition

Ƭ CouplingDefinition<S, H, Setup>: Object One acquisition over a whole group of collections: the collections it owns, the one interval the group is scheduled on, and the one reader.

Type parameters

Type declaration


ProtocolInput

Ƭ ProtocolInput<P>: [P] extends [{ kind: "record_observation" }] ? EnumerationInput | IncrementalInput | SweepInput : [P] extends [{ kind: "change_feed" }] ? FeedInput : SyncInput Not exported: an exported type refers to it.

Type parameters


ProtocolResult

Ƭ ProtocolResult<P, T>: [P] extends [{ kind: "record_observation" }] ? RecordResult<T> : [P] extends [{ kind: "change_feed" }] ? ChangeFeedResult<T> : ChangeFeedResult<T> | RecordResult<T> Not exported: an exported type refers to it.

Type parameters


DeliveryField

Ƭ DeliveryField: { kind: "header" ; name: string } | { kind: "body" ; path: WirePath } Not exported: an exported type refers to it.

IngressAuthentication

Ƭ IngressAuthentication: { kind: "shared_token" ; field: DeliveryField } | { kind: "configured_token" ; field: DeliveryField } | { kind: "timestamped_hmac_sha256" ; header: string ; timestamp: { kind: "element" ; name: string } | { kind: "header" ; name: string } ; signature_element?: string ; elements?: { separator: string ; delimiter: string } ; payload_prefix?: { kind: "literal" ; value: string } | { kind: "header" ; name: string ; separator: string } ; separator: string ; digest: "hex" | "base64" ; tolerance_seconds: number ; timestamp_unit?: "seconds" | "milliseconds" ; timestamp_format?: "unix" | "rfc3339" } | { kind: "timestamped_ed25519" ; header: string ; timestamp_header: string ; tolerance_seconds: number } | { kind: "hmac_sha256" ; header: string ; signature_element?: string ; digest: "hex" | "base64" ; rotation_headers?: readonly string[] } | { kind: "hmac_sha1" ; header: string ; digest: "hex" | "base64" } | { kind: "es256_jwt" ; header: string ; jwks_path: string ; body_digest_claim: string ; digest: "hex" | "base64" ; tolerance_seconds: number ; key_request?: { key_id_field: string ; key_path: WirePath ; expired_path?: WirePath } } Not exported: an exported type refers to it.

ListenerIngress

Ƭ ListenerIngress: Object Not exported: an exported type refers to it.

Type declaration


OccurrenceHandler

Ƭ OccurrenceHandler: Object How change hints reach the engine for one collection, and the whole of what a listener declares. The variant is the transport class and it carries what that transport needs. push has an ingress endpoint because the provider delivers to one; pull has none, because nothing is delivered to it. Neither is an optional field a declaration could leave empty. A hint requests acquisition. A business occurrence retains its exact body and stable identity for the declared operation.

Type declaration


ListenerProtocol

Ƭ ListenerProtocol: { kind: "queue" ; provider: "sqs" ; visibility_seconds: number ; wait_seconds: number ; poll_interval_ms: number ; proves: "refresh_hint" | "occurrence" ; handler?: OccurrenceHandler } | { kind: "socket" ; open: string ; address: Selector ; envelope: readonly string[] ; frame_kind: readonly string[] ; disconnect: string ; acknowledge: string ; max_frame_bytes: number ; proves: "refresh_hint" } | { kind: "push" ; handler?: OccurrenceHandler ; telemetry?: EventAcquisitionTransport ; ingress: ListenerIngress ; archive?: true ; subscription?: { channel: { resource: readonly string[] ; proof: { channel_id: Selector ; resource_id: Selector ; resource_uri: Selector ; expiration: Selector } ; matching: { tolerated_query?: readonly string[] ; lifetime_ms: number ; renewal_margin_ms: number } } ; watch: string ; stop: string } } | { kind: "pull" ; poll: string ; interval_ms: number ; min_interval_ms: number ; max_interval_ms: number ; continuation: { kind: "validator" ; request_header: string ; response_header: string ; interval_header?: string ; quiet_status: number } | { kind: "cursor" ; parameter: string ; resume: ResumePrefix ; retention: Retention ; link?: { header: string ; relation: string } } ; position: { items?: readonly string[] ; id: readonly string[] ; order: "decimal" | "opaque" | "opaque_ascending" } ; keys?: { list: string ; items?: readonly string[] ; id?: readonly string[] ; parameter: string ; partition: readonly string[] } }

CollectionShape

Ƭ CollectionShape<S, P>: Object Not exported: an exported type refers to it.

Type parameters

Type declaration


CollectionDefinition

Ƭ CollectionDefinition<S, H, P, Setup>: CollectionShape<S, P> & { deliveryOnly: true ; sync?: never ; freshness?: never ; listener?: never ; reconcile?: never ; release?: never ; orderingAlias?: never } | { deliveryOnly?: never ; sync: { every: SyncEvery ; discovery?: TimestampWindowDiscovery ; read: (ctx: IntegrationContext<H, Setup>, input: ProtocolInput<P>) => Promise<ProtocolResult<P, ObjectType<S>>> } } A collection acquired on its own: it declares its own interval and its own reader.

Type parameters


CoupledCollectionDefinition

Ƭ CoupledCollectionDefinition<S, P>: CollectionShape<S, P> & { sync?: never } A collection of a coupled group. One acquisition walks the whole group, so the group’s coupling owns the interval and the read and the collection declares neither: a per-collection sync here would name a schedule nothing runs and a reader nothing calls.

Type parameters


CommandInput

Ƭ CommandInput<A>: Object What a RECORD-TARGETED command’s handlers receive.

Type parameters

Type declaration


CreateCommandInput

Ƭ CreateCommandInput<A>: Object What a CREATE’s handlers receive. There is no target at all, and that absence is the declaration: the send addresses the collection, so there is no record to name and operation_id is what the request carries in its place. created is the provider’s own key for the record this operation made, present on the reconcile once the destination has named it.

Type parameters

Type declaration


CommandResult

Ƭ CommandResult<S>: { evidence: ResponseEvidence } & { outcome: "confirmed" ; observations?: { [K in keyof S]?: Observation<ObjectType<S[K]>>[] } ; readback?: { key: string ; version: string ; value: ObjectType<S[keyof S]> } } | { outcome: "rejected" ; reason: string } | { outcome: "refused" } | { outcome: "pending" | "unknown" } | { outcome: "counted" } | { outcome: "withdrawn" } Candidate interpretation only. Native retained-response evidence must admit completion, identity, membership and source progress independently.

Type parameters


CommandCondition

Ƭ CommandCondition: { kind: "target_version" ; from: { kind: "record_observation_position" } | { kind: "record_version" } } | { kind: "unconditional" } | { kind: "field_ownership" } | { kind: "target_state" } Exact native provenance for the provider’s conditional version. An ordered feed position and an opaque record token are not interchangeable. unconditional states that the destination enforces no compare-and-set on this endpoint, so the request carries no provider conditional token at all. It is the ABSENCE of a precondition, never an empty or fabricated one, and it promises nothing about writers acting directly in the provider.

CommandStates

Ƭ CommandStates<A>: Object The change a record-targeted command’s send REQUESTS of its target record, field by field: each key is a field of the target collection’s schema, and each value is the path into this command’s arguments whose value the request asks that field to take. Every path names REQUIRED arguments, and the argument’s type must be one the field admits. On a branch, where nothing is delivered, a held call is shown as this change with assumed provenance. Standing maintenance uses the same declaration to define desired values on live. Neither use supplies evidence that the destination applied anything, and fields the provider computes — assigned identifiers, totals — are not stated and stay as last observed. A create cannot state a change: its record’s key is the provider’s to assign.

Type parameters

Index signature

▪ [field: string]: readonly [keyof A & string, …string[]]

CommandDefinition

Ƭ CommandDefinition<A, S, H, Setup>: CommandShape<A, S> & { scope: "collection" ; condition: { kind: "unconditional" } ; creates?: never ; states?: never ; writes?: never ; group?: never ; send: (ctx: IntegrationContext<H, Setup>, input: CreateCommandInput<A>) => Promise<CommandResult<S>> } & { delivery: { kind: "at_least_once" ; max_delivery_hours: number } ; reconcile?: never } | { delivery: Extract<CommandShape<A, S>["delivery"], { kind: "single_attempt" }> ; reconcile: (ctx: IntegrationContext<H, Setup>, input: Omit<CreateCommandInput<A>, "expires_at">) => Promise<CommandResult<S>> } | CommandShape<A, S> & { scope?: never ; creates?: undefined ; states?: CommandStates<A> ; writes?: readonly string[] ; send: (ctx: IntegrationContext<H, Setup>, input: CommandInput<A>) => Promise<CommandResult<S>> ; reconcile?: (ctx: IntegrationContext<H, Setup>, input: Omit<CommandInput<A>, "expires_at">) => Promise<CommandResult<S>> } | CommandShape<A, S> & { scope?: never ; creates: "deduplicated" | "stored" | "unattributed" ; states?: undefined ; writes?: undefined ; send: (ctx: IntegrationContext<H, Setup>, input: CreateCommandInput<A>) => Promise<CommandResult<S>> ; reconcile: (ctx: IntegrationContext<H, Setup>, input: Omit<CreateCommandInput<A>, "expires_at">) => Promise<CommandResult<S>> } | CommandShape<A, S> & { scope?: never ; creates: "stored_from_record" ; states?: undefined ; writes?: undefined ; group?: undefined ; send: (ctx: IntegrationContext<H, Setup>, input: CommandInput<A> & CreateCommandInput<A>) => Promise<CommandResult<S>> ; reconcile: (ctx: IntegrationContext<H, Setup>, input: Omit<CommandInput<A> & CreateCommandInput<A>, "expires_at">) => Promise<CommandResult<S>> } One command. Record commands receive the existing target’s private key; collection creates receive the operation identity without a target. A child creation receives both its existing parent’s key and the operation identity. Any proved child key is retained separately and available during reconciliation.

Type parameters


TransportCommandDefinition

Ƭ TransportCommandDefinition<A, S>: Object Not exported: an exported type refers to it.

Type parameters

Type declaration


SourceHandle

Ƭ SourceHandle<S, Scope>: Object

Type parameters

Type declaration


ConnectionBudget

Ƭ ConnectionBudget: { capacity: number ; restorePerSecond: number ; restorePerMinute?: undefined ; perMinute?: undefined } | { capacity: number ; restorePerMinute: number ; restorePerSecond?: undefined ; perMinute?: undefined } | { perMinute: number ; capacity?: undefined ; restorePerSecond?: undefined ; restorePerMinute?: undefined } & { requestCost?: number ; stated?: { available: Selector ; capacity?: Selector ; restorePerSecond?: Selector } } What one connection may spend, and where the provider’s answers state it. The budget belongs to the connection rather than to a collection: the provider counts it against the credential, so every collection, listener and command that speaks through one connection shares one bucket. Declare it in whichever form the provider publishes — a cost bucket with a restore rate, or a count per minute — and the engine keeps one quantity either way. stated names where an answer carries the provider’s own figure. A stated availability can only lower what the engine believes it has, because the engine counts its own requests and the provider counts everybody’s; a stated ceiling or rate replaces the declared one, because those are the provider’s contract rather than a measurement.

BackoffRepresentation

Ƭ BackoffRepresentation: "secondsFromResponse" | "epochSeconds" | "epochMillis" | "httpDate" | "retryAfter" How a stated backoff value is spelled.
  • secondsFromResponse is a duration from the answer, in seconds. It admits RFC 9110 delta-seconds (Retry-After: 120) and a fractional seconds-remaining (x-ratelimit-reset-after: 0.529) alike: those are one quantity written two ways, and a fraction is always rounded up so a wait never comes out shorter than the one asked for.
  • epochSeconds and epochMillis are an absolute instant. The two cannot be told apart from the value, so the declaration names the unit.
  • httpDate is an absolute instant as an RFC 9110 HTTP-date. The two obsolete date forms are not read.
  • retryAfter is the Retry-After header itself, which RFC 9110 lets a provider spell either way in the same header; the form is decided by the value rather than by the declaration.

ConnectionBackoff

Ƭ ConnectionBackoff: Object When this provider will accept another request, and where its answers say so. It belongs to the connection rather than to a collection or a command, because a provider throttles the credential. Declare the statuses this provider states a wait on, where the statement is, and the longest wait this integration will honour on its own; a provider asking for longer holds the connection for an operator instead of sleeping for it. Every declared signal is read and the LATEST instant any of them names is the one honoured: two fields stating one quantity can disagree, and waiting longer is the only safe direction. IT NEVER AUTHORIZES REPEATING AN OPERATION. This says when the provider will accept another request. Whether a particular external command may be sent again is decided by that command’s own delivery contract from its retained operation identity, and nothing declared here reaches that decision.

Type declaration


TransportIntegrationDefinition

Ƭ TransportIntegrationDefinition<S, H, A, R, L, T, C>: Object Define source collections, sync routines and external command contracts. Compiler addresses are references, never capabilities or trusted evidence.

Type parameters

Type declaration


Integration

Ƭ Integration<S, H, A, R, L, T, C>: { commands: CommandRefs<A, T> } & { readonly [K in keyof S]: SourceHandle<S[K]> } & L extends LatestProjection<R> ? { latest: SourceHandle<R> } : {} & keyof R extends never ? {} : { stream: StreamRef<R> } An analyzed integration’s typed source and command handles.

Type parameters


CallbackIntegrationDefinition

Ƭ CallbackIntegrationDefinition<S, A, H, T, C>: { label?: string ; accountIdentity?: AccountIdentity ; terms?: Fields ; transport?: never ; record?: never ; archive?: never ; history?: never ; latest?: never ; series?: never ; requests?: H ; setup?: C ; setupFields?: SetupDeclaration ; budget?: ConnectionBudget ; backoff?: ConnectionBackoff ; discover?: (ctx: IntegrationContext<H, ObjectType<C>>, input: { resume: string | null ; next_page_reference: ResponseEvidence | null }) => Promise<{ resources: { id: string ; label: string | null }[] ; next_page: string | null ; evidence: ResponseEvidence }> ; identify: (ctx: IntegrationContext<H, ObjectType<C>>) => Promise<{ account_id?: string ; incarnation?: string ; evidence: ResponseEvidence }> ; commands: { [K in keyof A]: CommandDefinition<A[K], S, H, ObjectType<C>> } & T } & { coupling: CouplingDefinition<S, H, ObjectType<C>> ; collections: { [K in keyof S]: CoupledCollectionDefinition<S[K], SourceProtocol> } } | { coupling?: undefined ; collections: { [K in keyof S]: CollectionDefinition<S[K], H, SourceProtocol, ObjectType<C>> } } Source collections and commands acquired through retained HTTP callbacks.

Type parameters


AccountIdentityDefinition

Ƭ AccountIdentityDefinition: Object A connection that establishes a principal without importing resources.

Type declaration


HttpTelemetryDefinition

Ƭ HttpTelemetryDefinition<R, H, C>: Object Authenticated HTTP telemetry retains the existing HTTP identity and listener owners.

Type parameters

Type declaration


RequestValue

Ƭ RequestValue<T>: T | HttpValue<T> | T extends infer U[] ? RequestValue<U>[] : T extends object ? { [K in keyof T]: RequestValue<T[K]> } : never Not exported: an exported type refers to it.

Type parameters


Options

Ƭ Options: Object Not exported: an exported type refers to it.

Type declaration


MessageFields

Ƭ MessageFields<T>: { [K in keyof T]-?: Validator<Exclude<T[K], undefined>, undefined extends T[K] ? “optional” : “required”, any> } Not exported: an exported type refers to it.

Type parameters


GrpcMethod

Ƭ GrpcMethod<I, O>: Object

Type parameters

Type declaration


HttpValue

Ƭ HttpValue<T>: Object A typed host-bound value. JavaScript coercion and computation are refused.

Type parameters

Type declaration


Creation

Ƭ Creation: "deduplicated" | "stored" | "unattributed" | "stored_from_record" | undefined Not exported: an exported type refers to it.

InputFor

Ƭ InputFor<A, C>: C extends undefined ? CommandInput<A> : C extends "stored_from_record" ? CommandInput<A> & CreateCommandInput<A> : CreateCommandInput<A> Not exported: an exported type refers to it.

Type parameters


RequestInputs

Ƭ RequestInputs<A, C>: { args: { readonly [K in keyof A]: HttpInput<A[K][“type”]> } ; operationId: HttpValue<string> } & C extends undefined | "stored_from_record" ? { target: { key: HttpValue<string> ; version: HttpValue<string> ; parts: ReadonlyArray<HttpValue<string>> } } : {} Not exported: an exported type refers to it.

Type parameters


Node

Ƭ Node: string | number | boolean | bigint | ArrayBuffer | null | HttpValue<unknown> | readonly Node[] | { [key: string]: Node; } Not exported: an exported type refers to it.

RequestShape

Ƭ RequestShape: Object Not exported: an exported type refers to it.

Type declaration


RequestBuilder

Ƭ RequestBuilder: Object Not exported: an exported type refers to it.

Type declaration


Exchange

Ƭ Exchange<A, C, Response, Result>: Object Not exported: an exported type refers to it.

Type parameters

Type declaration


CommandShape

Ƭ CommandShape<A, Target, C>: C extends undefined ? Extract<CommandDefinition<A, Record<Target, Fields>, any, any>, { creates?: undefined ; scope?: undefined }> : C extends "stored_from_record" ? Extract<CommandDefinition<A, Record<Target, Fields>, any, any>, { creates: "stored_from_record" }> : Extract<CommandDefinition<A, Record<Target, Fields>, any, any>, { creates: "deduplicated" | "stored" | "unattributed" }> & { creates: C } & { target: Target } Not exported: an exported type refers to it.

Type parameters


WirePath

Ƭ WirePath: readonly string[]

HttpArgumentReference

Ƭ HttpArgumentReference: Object A retained command argument, addressed by its own field path.

Type declaration


HttpInputReference

Ƭ HttpInputReference: { input: "setup" ; path: readonly [string] } | { input: "checkpoint" | "resume" | "operation_id" | "expires_at" | "target_version" } | { input: "target_key" ; path?: WirePath } | { input: "created_key" } | { input: "provider_work_key" } | { input: "provider_task_key" } | HttpArgumentReference | { input: "parameter" ; path?: WirePath }

HttpInput

Ƭ HttpInput: { kind: "input" } & HttpInputReference

HttpTemplate

Ƭ HttpTemplate: { kind: "key_component" ; subject: HttpInputReference ; index: number } | { kind: "json_string" ; value: HttpTemplate } | { kind: "host" ; value: "workload_context" | "workload_context_ref" | "listener_channel_id" | "listener_callback_url" | "listener_expiration" | "listener_resource_id" | "listener_channel_token" } | { kind: "resume_path" ; prefix: string } | { kind: "resource_segment" ; subject: HttpInputReference ; prefix: readonly (HttpInput | { kind: "literal" ; value: string })[] ; suffix?: string } | { kind: "literal" ; value: JSONValue } | HttpInput | { kind: "object" ; fields: Record<string, HttpTemplate> } | { kind: "array" ; items: readonly HttpTemplate[] } | { kind: "concat" ; parts: readonly ({ kind: "literal" ; value: string } | HttpInput)[] }

Selector

Ƭ Selector: { kind: "header" ; name: string } | { kind: "body" ; path?: WirePath } Where one piece of evidence is read in a retained response. A provider’s conditional token is often a header, so selection cannot assume a body.

DocumentCodec

Ƭ DocumentCodec: "xml" | "jsonl" | "x12" | "edifact" | "hl7v2" | "mt940" | "bai2" | "nacha" | "idoc" | "copybook" | "vda" Not exported: an exported type refers to it.

VdaLayout

Ƭ VdaLayout: Object The layouts a vda document reads. records gives each record type’s fields after its five-character type and version, in order, with their widths; a prefix of the record suffices. Exactly one declared type ends in 11 (the header) and one in 19 (the trailer), of one family. counts maps a trailer field to the record type it counts; key names header fields the host renders as each transmission’s transmission identity.

Type declaration


CopybookField

Ƭ CopybookField: { name: string ; type: "text" ; length: number ; occurs?: number } | { name: string ; type: "filler" ; length: number } | { name: string ; type: "zoned" | "packed" | "binary" ; digits: number ; scale?: number ; signed?: boolean ; occurs?: number } One elementary item of a COBOL copybook, in record order. Text and filler state their bytes (PIC X(n)); numeric items state their digits, implied decimal places (V99) and whether the picture is signed (S). zoned is usage DISPLAY, packed is COMP-3, binary is COMP, COMP-4, COMP-5 or BINARY. occurs repeats the item in place. Hyphens in COBOL names become underscores.

CopybookLayout

Ƭ CopybookLayout: Object A copybook’s record layout. encoding is the code page of text bytes (IBM 037, 1140, 500 or 273 EBCDIC, or ASCII); framing is how records are delimited: back to back (fixed), each behind a four-byte record descriptor word (rdw), or one per line (lines, ASCII text and zoned items only). key names the items whose values identify a record; the host renders them as each record’s record (one value as itself, several as a JSON array), and without a key a record is named by its position. A key item the host could not read names the record by the original’s digest and position. REDEFINES and OCCURS DEPENDING ON are not expressible.

Type declaration


UnwrapStep

Ƭ UnwrapStep: { kind: "gzip" } | { kind: "base64" } | { kind: "charset" ; from: "windows_1252" | "iso_8859_15" | "iso_8859_2" | "shift_jis" | "utf16le" | "utf16be" } Not exported: an exported type refers to it.

DocumentDeclaration

Ƭ DocumentDeclaration: { codec: "xml" ; validator: Validator<any, any, any> ; markup?: { attributes: string ; text: string } ; unwrap?: readonly UnwrapStep[] } | { codec: "idoc" ; validator: Validator<any, any, any> ; segments: Record<string, readonly { name: string ; length: number }[]> ; unwrap?: readonly UnwrapStep[] } | { codec: "copybook" ; validator: Validator<any, any, any> ; copybook: CopybookLayout ; unwrap?: readonly UnwrapStep[] } | { codec: "vda" ; validator: Validator<any, any, any> ; vda: VdaLayout ; unwrap?: readonly UnwrapStep[] } | { codec: Exclude<DocumentCodec, "xml" | "idoc" | "copybook" | "vda"> ; validator: Validator<any, any, any> ; unwrap?: readonly UnwrapStep[] } A document the host decodes: its codec, the validator the decoded value must satisfy, and the codec’s options. At most four unwrap steps; a copybook or vda document admits no charset step, because its layout counts bytes.

BodyContract

Ƭ BodyContract: { kind: "grpc" ; exchange: GrpcExchange ; _message?: unknown } | { kind: "text" } | { kind: "none" } | { kind: "json" ; validator: Validator<any, any, any> } | { kind: "json_schema" ; schema: HttpWireSchema ; validator: Validator<any, any, any> } | { kind: "document" } & DocumentDeclaration | { kind: "positional" ; schema: WirePath ; name: WirePath ; column_type: WirePath ; rows: WirePath ; cells: WirePath ; value: WirePath ; columns: Record<string, string> ; validator: Validator<any, any, any> } | { kind: "json_fields" ; fields: readonly string[] ; optional_fields?: readonly string[] ; paths?: Record<string, readonly string[]> ; decimal_fields?: readonly string[] } | { kind: "json_batch" ; selection: { items: WirePath ; fields: readonly string[] ; max_records: number ; scan_key?: string ; string_fields?: readonly WirePath[] ; parents?: { path: WirePath ; key: WirePath ; child_key: WirePath } } } | { kind: "opaque" } The body an admitted status carries. These are three different things. none is no body at all: a successful empty 204 declares it, and bytes arriving anyway violate the contract rather than being an empty success. json must parse and match the validator; malformed bytes are invalid at that status and never degrade to an empty success. opaque is bytes the host retains without interpreting, such as a provider answering an ordinary error with HTML or plain text. opaque is not “ignore any body”: the status is still evidence, and the body supplies no field evidence at all.

ResponseContract

Ƭ ResponseContract: Object What may be interpreted from a response. A status outside statuses is still retained, but proves only that the provider answered.

Type declaration


ScalarValue

Ƭ ScalarValue: { type: "bool" ; value: boolean } | { type: "text" ; value: string } | { type: "integer" ; value: string } | { type: "null" } | { type: "missing" } An exact scalar a response field may equal. Matching is by type and value together, so false, "false", null and an absent field stay four different things. An integer is canonical decimal text compared against an exact JSON integer, never through a float.

KeyEncoding

Ƭ KeyEncoding: "text" | "integer" How one key component is read. integer preserves an exact provider identifier: a value that is not an exact JSON integer is refused rather than rounded, so a large numeric id never loses its low digits.

KindMatch

Ƭ KindMatch: Object

Type declaration


RecordKindSource

Ƭ RecordKindSource: { kind: "fixed" ; record: "present" | "deleted" } | { kind: "match" ; path: WirePath ; variants: readonly KindMatch[] } How a response says what each of its records is. Providers differ: one tags rows with a string, another with a boolean archived flag, and an endpoint that only ever returns live records says nothing at all.

KeyPart

Ƭ KeyPart: { kind: "literal" ; value: string } | { kind: "mapped_field" ; path: WirePath ; values: Record<string, string> } | HttpInput | { kind: "field" ; path: WirePath ; encoding: KeyEncoding } One component of a compound key. A provider returning association rows omits the parent it was asked about, so identity is completed from the admitted request context rather than from anything a response invented.

RecordKeySource

Ƭ RecordKeySource: { kind: "input" } & HttpInputReference | { kind: "field" ; path: WirePath ; encoding: KeyEncoding } | { kind: "compound" ; parts: readonly KeyPart[] } | { kind: "first_present" ; paths: readonly WirePath[] ; encoding: KeyEncoding } How each record’s key is assembled.

ResumeSource

Ƭ ResumeSource: { kind: "stated" ; from: Selector } | { kind: "when" ; from: Selector ; condition: Selector } | { kind: "while_more" ; from: Selector } | { kind: "link_relation" ; header: string ; relation: string } | { kind: "last_record_key" } | { kind: "maximum_field" ; path: WirePath } Where the position the NEXT acquisition request resumes from comes from. stated is the provider’s own cursor, read from the position it states it at. last_record_key is the after=<id> walk: the provider states no cursor and the next request continues after the LAST record this response returned, so the HOST derives the position from the keys it already verified against this same response’s declared key. The connector composes nothing, because a position the host cannot check against retained evidence is one a guest could move backwards over records already published. An empty page names no last row and therefore derives no position. maximum_field is the third, and it is the same derivation over a different value: the provider states no cursor and the next request continues from the LARGEST value a declared ordered field took over this page’s records — Odoo’s write_date >= <the largest one you saw>, and BigQuery’s APPENDS instant. It exists because neither other arm can say it: there is no stated cursor to select, and the last ROW’s key is a different value in a different domain from the one the request filters on. Two rules come with it. The values are compared as the PROVIDER spelled them, so every row must carry the field as text of one width — a fixed-width timestamp orders by bytes and "9" against "10" does not, so a page mixing widths is refused rather than positioned wrongly. And the continuation is INCLUSIVE of its own boundary, because the field’s rendering may be coarser than the comparison the provider makes on it: Odoo renders write_date to the second and compares at full stored precision, so a strict > returns the row it came from. The boundary row is therefore re-read on every resume, and the declaration owes an opaque record version so that the re-read row is deduplicated by (key, version) instead of churning history. That inclusiveness is also why the walk needs an end: the last page returns its boundary row and nothing else, and its maximum is the position the request already carried. The host derives a position only where what it computed is STRICTLY GREATER than the one this request resumed from, and an empty page derives none, so a finished walk exhausts instead of asking for the same page for ever.

RecordProjection

Ƭ RecordProjection: Object

Type declaration


HttpEvidence

Ƭ HttpEvidence: { kind: "resources" ; items?: WirePath ; id: { path: WirePath ; encoding: KeyEncoding } ; label?: WirePath ; next_page?: WirePath } | { kind: "query_result" ; collection: string ; items: WirePath ; columns: WirePath ; column_names: readonly string[] ; key_prefix: readonly string[] ; key_columns: readonly number[] ; has_more: WirePath ; is_cached: WirePath ; calculated_at: WirePath ; calculated_at_field: string } | { kind: "identity" ; account?: { path: WirePath ; encoding: KeyEncoding } ; incarnation?: WirePath } | { kind: "feed" ; collection: string ; items: WirePath ; discriminator: WirePath ; variants: Record<string, { kind: "replace" | "delete" ; key: WirePath ; position: WirePath ; version?: WirePath }> ; through: WirePath ; head?: WirePath ; has_more: WirePath } | { kind: "records" ; collection: string ; subject?: HttpInputReference ; items?: WirePath ; parents?: WirePath ; sole?: WirePath ; presence: RecordKindSource ; key: RecordKeySource ; version?: Selector ; complete?: WirePath ; more?: WirePath ; end_cursor?: WirePath ; resume?: ResumeSource ; exact?: readonly { path: WirePath ; encoding: { kind: "decimal_string" } | { kind: "minor_units" ; scale: number } | { kind: "implied_decimals" ; scale: number } }[] } | { kind: "projections" ; records: readonly RecordProjection[] } | { kind: "incremental" ; collection: string ; items: WirePath ; also?: readonly WirePath[] ; items_optional?: boolean ; presence: RecordKindSource ; key: RecordKeySource ; version?: Selector ; removals?: { items: WirePath ; key: RecordKeySource } ; next_page: Selector ; next_sync: Selector ; missing_sync_token?: "refuse" | "retain_committed" ; terminal?: WirePath ; more?: WirePath ; sync_parameter: string ; page_parameter: string ; reset_status?: number ; restart?: { status: number ; code: WirePath ; values: readonly string[] } ; stated_coverage?: { path: WirePath ; values: Record<string, "complete" | "partial"> } } | { kind: "traversal" ; collection: string ; deletions: readonly string[] ; items: readonly { parents?: WirePath ; parents_optional?: boolean ; items: WirePath ; items_optional?: boolean ; key: WirePath ; version?: WirePath ; presence: RecordKindSource }[] ; duplicates: "present" | "deleted" | "last" ; next_page?: Selector ; checkpoint?: Selector ; checkpoint_name: string ; page_parameter?: string ; checkpoint_parameter?: string ; reset_status: number ; terminal_without_checkpoint?: boolean } | { kind: "discovery" ; keyset?: boolean ; collection: string ; items: WirePath ; presence: RecordKindSource ; key: RecordKeySource ; complete?: WirePath ; resume?: Selector ; continuation?: HttpInputReference } | { kind: "data" } | { kind: "checkpoint" ; name: string ; value: Selector } | { kind: "command" ; command: string ; operation_id?: never ; outcome: { kind: "status" } | { kind: "selected" ; from: Selector } | { kind: "by_status" ; selected: Record<number, Selector> } | { kind: "presence" ; of: WirePath } ; outcomes: Record<string, { kind: "confirmed" ; target_key?: Selector ; effects?: readonly { response: WirePath ; input: HttpArgumentReference }[] ; observation?: { key: WirePath ; position?: WirePath ; version?: WirePath ; record?: WirePath } } | { kind: "rejected" | "pending" | "unknown" } | { kind: "counted" } | { kind: "observed" } | { kind: "withdrawn" } | { kind: "refused" }> ; refusal?: { name: Selector ; kinds: Record<string, "precondition_failed" | "member_missing" | "invariant_violated" | "malformed" | "identity_reused"> ; member?: { on: string[] ; reasons: WirePath ; code: WirePath ; unaffected: string } ; current?: { kind: "body" ; path: WirePath } | { kind: "member" ; path: WirePath } } ; attribution?: { kind: "echoed" ; operation_id: Selector } | { kind: "searched" ; list?: WirePath ; operation_id: WirePath ; created_key?: WirePath ; complete?: WirePath ; more?: WirePath ; end_cursor?: WirePath ; page: number } | { kind: "absence" ; target_key: Selector } | { kind: "created" } ; created?: Selector ; created_encoding?: KeyEncoding }

HttpContract

Ƭ HttpContract: Object

Type declaration


ResponseEvidence

Ƭ ResponseEvidence: string A reference is only a lookup key; native admission checks its invocation.

IdentityKey

Ƭ IdentityKey<S>: Extract<keyof S, string> | readonly [Extract<keyof S, string>, Extract<keyof S, string>, …Extract<keyof S, string>[]] Not exported: an exported type refers to it.

Type parameters


CommandsOf

Ƭ CommandsOf<I>: I extends { commands: infer C } ? C : {} Not exported: an exported type refers to it.

Type parameters


Fields

Ƭ Fields: Record<string, GenericValidator> Not exported: an exported type refers to it.

HttpContracts

Ƭ HttpContracts: Record<string, HttpContract> Not exported: an exported type refers to it.

Declaration

Ƭ Declaration: Object Not exported: an exported type refers to it.

Type declaration


ResourceDeclaration

Ƭ ResourceDeclaration<Setup, S, Connector, ConnectionKeys, Credential, Commands>: ResourceTable<S> & { isIntegration: true ; isResource: true ; commands: Commands ; _connectionSetup?: Setup ; _connector?: Connector ; _credential?: Credential ; _connectionKeys?: ConnectionKeys ; exportIntegration: () => string } Stable public type used in emitted application declarations.

Type parameters


ResourceIdentity

Ƭ ResourceIdentity<S>: Object Provider identity fields are declared once and selected by acquisition and receipts.

Type parameters

Type declaration


ResourceRead

Ƭ ResourceRead: Object A collection recipe receives the resource schema and identity exactly once.

Type declaration


ResourceCommand

Ƭ ResourceCommand<A, Target>: Object A command recipe lowers to ordinary request contracts and governed handlers.

Type parameters

Type declaration


ResourceConnection

Ƭ ResourceConnection<Setup, Kind, Credential, Keys>: { kind: Kind ; credentialKind: Credential ; fields: readonly Keys[] ; address?: ResourceAddress ; requests: HttpContracts } & Pick<CallbackIntegrationDefinition<any, any, any, any, Setup>, "identify" | "discover" | "budget" | "backoff"> Shared connection behavior. Setup is declared once on the resource; fields selects the immutable connection-owned subset, and the remaining setup selects a resource on that connection. Private authentication stays in native custody.

Type parameters


ResourceOptions

Ƭ ResourceOptions<S>: Object

Type parameters

Type declaration


ResourceGroupDeclaration

Ƭ ResourceGroupDeclaration<Setup, Tables, Connector, ConnectionKeys, Credential, Commands>: Object One binding and acquisition responsibility for several inseparable tables.

Type parameters

Type declaration


MultiResourceOptions

Ƭ MultiResourceOptions<I, T, C>: Object Not exported: an exported type refers to it.

Type parameters

Type declaration


AccountIdentity

Ƭ AccountIdentity: { method: "GET" ; path: string ; query?: Readonly<Record<string, string>> ; requiredPermissions: readonly string[] ; subject: WirePath ; label?: WirePath } | { method: "signedAssertion" ; requiredPermissions: readonly string[] }

CollectionRecipe

Ƭ CollectionRecipe<S, P>: Object The request contract and collection a builder stands for once it is named.

Type parameters

Type declaration


ResourceTable

Ƭ ResourceTable<S, Scope>: Object Not exported: an exported type refers to it.

Type parameters

Type declaration


FieldsOfKind

Ƭ FieldsOfKind<S, Kind>: { [K in keyof S]: S[K][“isOptional”] extends “required” ? S[K][“kind”] extends Kind ? K : never : never }[keyof S] & string Not exported: an exported type refers to it.

Type parameters


RecordDefinition

Ƭ RecordDefinition<S>: Object What one acquired event means. schema validates the decoded payload; time names its business instant, a required int64 field in an exact unit. History stores it as timestamptz; series uses exact microseconds. { kind: "change_feed", feed } reads a distributed SQL database’s change feed off Kafka into latest rows only: "cockroachdb" (CREATE CHANGEFEED ... WITH format = 'json', envelope = 'wrapped', updated, resolved) or "ticdc_canal_json" (TiCDC canal-json with enable-tidb-extension=true). The schema names the table’s columns; latest.key its primary key, in key order; latest.orderBy two int64 fields (CockroachDB: wall nanoseconds and logical) or one (TiCDC: the commit TSO) that the commit timestamp fills. A deletion withdraws its key, and rows are published only through the resolved frontier, the least resolved timestamp of every partition.

Type parameters

Type declaration


EventHistory

Ƭ EventHistory<S>: Object One Iceberg table of decoded events. history: true partitions by day and sorts by the declared record time, or uses no layout when time is absent. layout uses the same partition and sort grammar as datasets. Adding a nullable field or renaming one keeps the same history. Any other change to its columns, partition or sort is a new history: declare version: 2 (then 3, …), kept as dataset <export>_v2 and built from the raw archive, while the previous table stays readable and receives no more rows.

Type parameters

Type declaration


LatestProjection

Ƭ LatestProjection<S>: Object The latest row per key, published to the table bound with defineSyncedTable({ source: source.latest }). orderBy lists one to four distinct int64 fields compared in order, so ["eventTime", "sequence"] takes the newest instant and, at that instant, the newest correction. It defaults to the record time field.

Type parameters

Type declaration


NativeSeriesOutput

Ƭ NativeSeriesOutput<S>: Object Accepted observations in a declared native series table in this component. The table’s payload is the record schema. Ordering is a business fact; Kafka offsets are comparable only within their own partitions.

Type parameters

Type declaration


KafkaTransport

Ƭ KafkaTransport: { kind: "kafka" ; correlation?: never } | { kind: "kafka" ; correlation: string } Kafka interpretation and acknowledgement semantics; routing is installed through binding setup.

EventBrokerTransport

Ƭ EventBrokerTransport: { kind: "pulsar" } | { kind: "jetstream" } | { kind: "rabbitmq" } | { kind: "redis" } | { kind: "kinesis" } | { kind: "pubsub" ; expectedTopic?: string ; correlation?: string } | { kind: "sqs" ; envelope?: "sns" } | { kind: "servicebus" } | { kind: "rabbitmq_queue" } | { kind: "mqtt" ; identity: readonly string[] ; correlation?: string } | { kind: "stomp" } Raw broker routing; physical endpoints and subscriptions are privately installed.

PostgresTransport

Ƭ PostgresTransport: Object A PostgreSQL logical replication slot, pgoutput protocol v1. Physical relation names, publication and credentials are private installation configuration and are never declared here.

Type declaration


MailboxTransport

Ƭ MailboxTransport: Object One mailbox session. The account, endpoint, selected folders and credentials are private installation configuration; a declaration names only the three projections it publishes.

Type declaration


EventAcquisitionTransport

Ƭ EventAcquisitionTransport: Object Bounded native ingestion: the raw archive, the typed event history and the latest rows of one topic, with command correlation. Broker and registry connection details stay in private installation data. Acquisition uses the ordinary source schedule; the latest policy independently bounds database publication. Acknowledgements never replace rows.

Type declaration


SqlTransport

Ƭ SqlTransport: Object Not exported: an exported type refers to it.

Type declaration


BayeuxTransport

Ƭ BayeuxTransport: Object Not exported: an exported type refers to it.

Type declaration


SalesforceTransport

Ƭ SalesforceTransport: Object Not exported: an exported type refers to it.

Type declaration


As2Transport

Ƭ As2Transport: Object Not exported: an exported type refers to it.

Type declaration


SftpTransport

Ƭ SftpTransport: Object Not exported: an exported type refers to it.

Type declaration


SftpRelease

Ƭ SftpRelease: { kind: "remove" } | { kind: "archive" ; directory: string } Not exported: an exported type refers to it.

ODataTransport

Ƭ ODataTransport: Object Not exported: an exported type refers to it.

Type declaration


BijectionTransport

Ƭ BijectionTransport: Object Not exported: an exported type refers to it.

Type declaration


DatasetTransport

Ƭ DatasetTransport: Object Not exported: an exported type refers to it.

Type declaration


AcquisitionTransport

Ƭ AcquisitionTransport: { transport: "postgres" ; value: PostgresTransport } | { transport: "mailbox" ; value: MailboxTransport } | { transport: "kafka" ; value: EventAcquisitionTransport } | { transport: "broker" ; value: { protocol: Exclude<EventBrokerTransport, { kind: "pubsub" }> | { kind: "pubsub" ; expected_topic?: string } ; collection?: string ; events?: EventAcquisitionTransport } } | { transport: "dynamo_db" ; value: { collection: string } } | { transport: "salesforce" ; value: SalesforceTransport } | { transport: "git" ; value: { collection: string } } | { transport: "big_query" ; value: { collection: string } } | { transport: "sheets" ; value: { collection: string ; columns: number ; page_rows: number ; enrollment_rows: number ; writes?: Record<string, { columns: Record<string, number> }> } } | { transport: "kubernetes" ; value: { collection: string ; projection?: "pod" } } | { transport: "bayeux" ; value: BayeuxTransport } | { transport: "mongo" ; value: { collections: Record<string, { fields: Record<string, string> }> ; page_rows: number ; max_depth: number ; max_values: number } } | { transport: "sql" ; value: SqlTransport } | { transport: "dataset" ; value: DatasetTransport } | { transport: "bijection" ; value: BijectionTransport } | { transport: "sftp" ; value: SftpTransport } | { transport: "odata" ; value: ODataTransport } | { transport: "as2" ; value: As2Transport } The declared transport. The discriminator is spelled transport because that is what it selects; there is no acquisition kind beside it.

HttpWireSchema

Ƭ HttpWireSchema: { kind: "null" | "boolean" | "json" } | { kind: "string" ; min_length?: number ; max_length?: number ; pattern?: string } | { kind: "number" ; integer: boolean ; minimum?: number ; maximum?: number } | { kind: "literal" ; value: string | number | boolean | null } | { kind: "array" ; items: HttpWireSchema ; min_items?: number ; max_items?: number } | { kind: "object" ; fields: Record<string, { required: boolean ; schema: HttpWireSchema }> ; forbidden?: readonly string[] ; additional: { kind: "allow" | "deny" } | { kind: "schema" ; schema: HttpWireSchema } } | { kind: "union" ; variants: readonly HttpWireSchema[] ; exclusive: boolean } Compiled, bounded wire contracts. The native HTTP owner checks these before dispatch and before projecting a provider response into its native validator.

HttpRequestSchema

Ƭ HttpRequestSchema: Object

Type declaration


SyncInput

Ƭ SyncInput: FeedInput | IncrementalInput | EnumerationInput | SweepInput The read arguments of one acquisition. Untagged, because that is the shipped wire and the guest branches on which fields are present. The three shapes have disjoint required fields and each refuses unknown ones, so the union stays unambiguous in both directions.

FeedInput

Ƭ FeedInput: Object

Type declaration


IncrementalInput

Ƭ IncrementalInput: Object

Type declaration


EnumerationInput

Ƭ EnumerationInput: Object

Type declaration


DiscoverySlice

Ƭ DiscoverySlice: Object Not exported: an exported type refers to it.

Type declaration


DiscoveredItem

Ƭ DiscoveredItem: Object Not exported: an exported type refers to it.

Type declaration


RecordKind

Ƭ RecordKind: "present" | "deleted" Not exported: an exported type refers to it.

SweepInput

Ƭ SweepInput: Object One batch of a reconciliation sweep: the keys this engine has already published that this pass is to read again. The keys are the HOST’s, resolved from publication and pinned on the acquisition’s own start, so the read that goes out is addressed at a key the engine holds rather than one a connector chose. There is no cursor here and no listing: a sweep asks the provider about named records and the provider answers about exactly those.

Type declaration


CoupledInput

Ƭ CoupledInput: Object What the host gives one coupled acquisition attempt. Every field is host state the attempt is checked against, and none of it is something an integration may invent. It is its own shape rather than a member of SyncInput because a coupled group has its own reader: the group’s coupling.read is called with this, a collection’s own sync.read is called with a SyncInput, and no handler ever receives both.

Type declaration


CoupledCheckpoint

Ƭ CoupledCheckpoint: Object Not exported: an exported type refers to it.

Type declaration


CoupledPhase

Ƭ CoupledPhase: { kind: "traversal" } | { kind: "fanout" ; keys: string[] ; terminal: boolean } Not exported: an exported type refers to it.

ChangeFeedResult

Ƭ ChangeFeedResult<T>: Object What one change-feed read claims.

Type parameters

Type declaration


Observation

Ƭ Observation<T>: { kind: "replace" ; evidence: string ; item_index: number ; key: string ; position: string ; version?: string ; value: T } | { kind: "delete" ; evidence: string ; item_index: number ; key: string ; position: string } One observed change in an ordered feed. evidence cites the retained response that proved it; item_index is the item’s position within that response, which is how the host matches a guest’s interpretation to the evidence rather than trusting its order. A feed item is a replacement or a deletion, and both carry the position the provider stated. There is no third case: a feed that cannot say which of the two an item is has no evidence contract here.

Type parameters


RecordResult

Ƭ RecordResult<T>: ResetResult | EnumerationResult<T> | FanoutResult<T> | KeyedFanoutResult<T> | SweepResult<T> | SnapshotResult<T> What one record-observation read claims. Untagged, because that is the shipped wire: the guest returns a bare object and branches on which fields it filled. The four shapes are told apart by fields no other shape admits — reset, next_page/next_sync, complete, unresolved — and each refuses the others’ fields, so the union stays unambiguous in both directions.

Type parameters


ResetResult

Ƭ ResetResult: Object

Type declaration


EnumerationResult

Ƭ EnumerationResult<T>: Object

Type parameters

Type declaration


RecordObservation

Ƭ RecordObservation<T>: { kind: "present" ; evidence: string ; item_index: number ; key: string ; version?: string ; value: T } | { kind: "deleted" ; evidence: string ; item_index: number ; key: string } One observed record. version is an opaque equality token and never a position; a deletion carries neither a version nor a value, because a record the provider says is gone has no state to project.

Type parameters


FanoutResult

Ƭ FanoutResult<T>: Object Not exported: an exported type refers to it.

Type parameters

Type declaration


UnresolvedRecord

Ƭ UnresolvedRecord: Object Not exported: an exported type refers to it.

Type declaration


KeyedFanoutResult

Ƭ KeyedFanoutResult<T>: Object Not exported: an exported type refers to it.

Type parameters

Type declaration


KeyPage

Ƭ KeyPage<T>: Object Not exported: an exported type refers to it.

Type parameters

Type declaration


SweepResult

Ƭ SweepResult<T>: Object Not exported: an exported type refers to it.

Type parameters

Type declaration


SnapshotResult

Ƭ SnapshotResult<T>: Object

Type parameters

Type declaration


SnapshotProgress

Ƭ SnapshotProgress: { kind: "continue" ; token: string } | { kind: "complete" ; resume: SnapshotResume } Exactly one evidenced transition of an incremental membership acquisition.

SnapshotResume

Ƭ SnapshotResume: { kind: "advance" ; token: string } | { kind: "retain_committed" } A missing response token never manufactures a new acquisition basis.

SourceMetadataProvider

Ƭ SourceMetadataProvider: { kind: "salesforce" ; api_version: string } | { kind: "odata" ; version: "v2" | "v4" } | { kind: "netsuite" } | { kind: "dataverse" ; api_version: "v9.2" } | { kind: "servicenow" ; api_version: "v1" } Captured provider descriptions. Runtime authority and coverage come from native connection and acquisition admission, independently of these types.

SourceMetadataField

Ƭ SourceMetadataField: Object

Type declaration


SourceFieldMeaning

Ƭ SourceFieldMeaning: Object

Type declaration


SourceSemantics

Ƭ SourceSemantics: Object

Type declaration


SourceMetadataObject

Ƭ SourceMetadataObject: Object

Type declaration


CapturedSourceSchema

Ƭ CapturedSourceSchema: Object

Type declaration


SourceMetadataRequirement

Ƭ SourceMetadataRequirement: Object

Type declaration

Properties

post

• post: (shape: RequestShape) => RequestBuilder

Type declaration

▸ (shape): RequestBuilder
Parameters
Returns
RequestBuilder

Variables

http

• Const http: Readonly<{ setup: (name: string) => HttpValue<string> ; parameter: <T>(name: string) => HttpValue<T> ; get: (shape: RequestShape) => RequestBuilder ; post: (shape: RequestShape) => RequestBuilder ; put: (shape: RequestShape) => RequestBuilder ; patch: (shape: RequestShape) => RequestBuilder ; delete: (shape: RequestShape) => RequestBuilder }> Request builders describe ordinary admitted HTTP templates. Their callbacks run at declaration time and cannot read credentials or perform provider I/O.

identity

• Const identity: Readonly<{ field: <F>(field: F) => F ; tuple: <F>(…fields: F) => F }> A tuple’s ordered fields are part of its identity, never a display format.

Functions

admitIntegration

▸ admitIntegration<T>(definition): T Admit an integration definition authored outside this deployment component. A definition’s module/export address is assigned by the compiler and names a module of the deployment being installed. A definition imported from a package or a sibling directory is not such a module, so it has no address of its own and cannot be bound by defineSyncedTable({ source: collection }). Re-exporting it through this function from a module of the component gives it that module’s address:
The definition is returned unchanged, so the address belongs to the admitted definition and never to a copy of it; the deployment independently checks that the address resolves to this same object. Admitting one definition twice, or admitting one that already carries an address, is refused by the definition itself, which is what keeps one authored collection bound to one table per component.

Type parameters

Parameters

Returns

T

defineAccountIntegration

▸ defineAccountIntegration(definition): Object Declare an account identity without an acquisition reader.

Parameters

Returns

Object

defineExecutor

▸ defineExecutor<Engine>(definition?): Object Declare an execution capability. Its engine, inputs and credentials are installed by deployment administration. It schedules no acquisition.

Type parameters

Parameters

Returns

Object

defineIntegration

▸ defineIntegration<S, H, A, R, L, T, C, D>(definition): Integration<S, H, A, R, L, T, keyof C extends never ? NativeSetupFor<D> : C>

Type parameters

Parameters

Returns

Integration<S, H, A, R, L, T, keyof C extends never ? NativeSetupFor<D> : C> ▸ defineIntegration<S, A, H, T, C>(definition): ReturnType<typeof defineCallbackIntegration>

Type parameters

Parameters

Returns

ReturnType<typeof defineCallbackIntegration>

defineHttpTelemetry

▸ defineHttpTelemetry<R, H, C>(definition): Integration<{ latest: R }, H, {}, {}, undefined, {}, C> One signed HTTP occurrence contributes to the same native event outputs.

Type parameters

Parameters

Returns

Integration<{ latest: R }, H, {}, {}, undefined, {}, C>

defineCallbackIntegration

▸ defineCallbackIntegration<S, A, H, T, C>(definition): Object Not exported: an exported type refers to it.

Type parameters

Parameters

Returns

Object

createGrpcMessageValidator

▸ createGrpcMessageValidator<T>(schema, message): VObject<T, MessageFields<T>> Exact SDK validators derived from the same captured descriptor as native encoding. The host additionally enforces numeric ranges and wire bounds.

Type parameters

Parameters

Returns

VObject<T, MessageFields<T>>

createGrpcMethod

▸ createGrpcMethod<I, O>(schema, method): GrpcMethod<I, O> Called by the captured-source preparer. Native admission rechecks the digest, descriptors, field selectors, request role and full resolved input.

Type parameters

Parameters

Returns

GrpcMethod<I, O>

compileHttpRequest

▸ compileHttpRequest(builder): Object Lower a declaration without acquiring credentials or performing I/O.

Parameters

Returns

Object

identityFields

▸ identityFields(key): readonly string[]

Parameters

Returns

readonly string[]

identityContract

▸ identityContract(schema, key, path?): Extract<RecordKeySource, { kind: "field" | "compound" }> Lower through the existing native exact-key encoding and evidence checks.

Parameters

Returns

Extract<RecordKeySource, { kind: "field" | "compound" }>

encodeIdentity

▸ encodeIdentity(schema, key, read): string

Parameters

Returns

string

defineResource

▸ defineResource<I, S, C>(input): ResourceDeclaration<NonNullable<I["_connectionSetup"]>, S, C["kind"], keyof C["setup"] & string, C["credentialKind"], CommandsOf<I>> Native transports expose an already admitted collection through the same constructor.

Type parameters

Parameters

Returns

ResourceDeclaration<NonNullable<I["_connectionSetup"]>, S, C["kind"], keyof C["setup"] & string, C["credentialKind"], CommandsOf<I>> ▸ defineResource<Setup, S, Kind, Credential, Keys, Commands>(input): ResourceDeclaration<ObjectType<Setup>, S, Kind, Keys, Credential, { readonly [K in keyof Commands]: CommandHandle<ObjectType<Commands[K][“args”]>, Commands[K][“target”]> }> One setup schema, one acquisition owner and the explicitly supported commands.

Type parameters

Parameters

Returns

ResourceDeclaration<ObjectType<Setup>, S, Kind, Keys, Credential, { readonly [K in keyof Commands]: CommandHandle<ObjectType<Commands[K][“args”]>, Commands[K][“target”]> }>

defineResourceGroup

▸ defineResourceGroup<I, T, C>(input): ResourceGroupDeclaration<NonNullable<I["_connectionSetup"]>, { readonly [K in string | number | symbol]: T[K] extends SourceHandle<S> ? ResourceTable<S> : never }, C["kind"], keyof C["setup"] & string, C["credentialKind"], CommandsOf<I>> One coupled acquisition and its inseparable tables.

Type parameters

Parameters

Returns

ResourceGroupDeclaration<NonNullable<I["_connectionSetup"]>, { readonly [K in string | number | symbol]: T[K] extends SourceHandle<S> ? ResourceTable<S> : never }, C["kind"], keyof C["setup"] & string, C["credentialKind"], CommandsOf<I>>

defineResourceBundle

▸ defineResourceBundle<I, T, C>(input): ResourceGroupDeclaration<NonNullable<I["_connectionSetup"]>, { readonly [K in string | number | symbol]: T[K] extends SourceHandle<S> ? ResourceTable<S> : never }, C["kind"], keyof C["setup"] & string, C["credentialKind"], CommandsOf<I>> Independent callback collections sharing a connection, without joint publication.

Type parameters

Parameters

Returns

ResourceGroupDeclaration<NonNullable<I["_connectionSetup"]>, { readonly [K in string | number | symbol]: T[K] extends SourceHandle<S> ? ResourceTable<S> : never }, C["kind"], keyof C["setup"] & string, C["credentialKind"], CommandsOf<I>>

command

▸ command<A, Target, Send, Reconcile, Sent, Reconciled, C>(definition): Omit<CommandShape<A, Target, C>, "send" | "reconcile"> & { send: (ctx: IntegrationContext<any, any>, input: InputFor<A, C>) => Promise<Sent> ; reconcile: (ctx: IntegrationContext<any, any>, input: Omit<InputFor<A, C>, "expires_at">) => Promise<Reconciled> } Semantic constructors preserve the existing native command and call owners.

Type parameters

Parameters

Returns

Omit<CommandShape<A, Target, C>, "send" | "reconcile"> & { send: (ctx: IntegrationContext<any, any>, input: InputFor<A, C>) => Promise<Sent> ; reconcile: (ctx: IntegrationContext<any, any>, input: Omit<InputFor<A, C>, "expires_at">) => Promise<Reconciled> } ▸ command<A, Target, Send, Sent, C>(definition): Omit<CommandShape<A, Target, C>, "send" | "reconcile"> & { send: (ctx: IntegrationContext<any, any>, input: InputFor<A, C>) => Promise<Sent> } Semantic constructors preserve the existing native command and call owners.

Type parameters

Parameters

Returns

Omit<CommandShape<A, Target, C>, "send" | "reconcile"> & { send: (ctx: IntegrationContext<any, any>, input: InputFor<A, C>) => Promise<Sent> }

validateSetupDeclaration

▸ validateSetupDeclaration(setup): SetupDeclaration Check the declaration itself, at definition time. Everything here is a defect in the definition rather than in a supplied value, so it throws: the module never loads with a declaration the backend would refuse, and an author sees it at bijection dev rather than at the first connection.

Parameters

Returns

SetupDeclaration

defineCollectionRecipe

▸ defineCollectionRecipe<S, P>(name): CollectionDefinition<S, any, P> A builder’s collection before defineIntegration names it. Its schema, protocol and cadence are already the named collection’s; its read refuses, because the request it reads is named only by the key it is declared under. The options are checked here, so a malformed builder fails where it is written.

Type parameters

Parameters

Returns

CollectionDefinition<S, any, P>

connectionReference

▸ connectionReference<Kind, Setup>(kind, id): ConnectionReference<Kind, Setup> Reference the connection returned by source metadata connect. Native binding admission checks its connector, setup and private credential.

Type parameters

Parameters

Returns

ConnectionReference<Kind, Setup>