FabricFabricHarness
Reference

API reference

Generated public API inventory for every published Fabric Harness entrypoint.

This reference is generated from the declaration files shipped in each package. Import from the entrypoint shown in the table; symbols marked type are TypeScript-only exports.

@fabric-harness/agent-boundary

@fabric-harness/agent-boundary

ExportKindTypeScript signaturePurpose
AgentRunBoundstype{ maxWallTimeMs: number; maxTurns: number; maxToolCalls: number; maxExternalCalls: number; maxConcurrentToolCalls: number; maxRunTokens: number; maxCostUsd: number; }Type contract for agent run bounds.
agentRunBoundsSchemavaluez.ZodObject<{ maxWallTimeMs: z.ZodNumber; maxTurns: z.ZodNumber; maxToolCalls: z.ZodNumber; maxExternalCalls: z.ZodNumber; maxConcurrentToolCalls: z.ZodNumber; maxRunTokens: z.ZodNumber; maxCostUsd: z.ZodNumber; }, z.core.$strip>The complete per-run bound set (collaboration plan D10). Every consuming boundary — MCP tool calls, the ACP/process path, and the model/provider path — enforces from this one shape; no path may carry a looser private subset.
AgentRunBudgetStoretypeAgentRunBudgetStoreDurable, per-run budget state (collaboration plan D10: budget state is per enrollment/run, durable, and audited). Implementations must make consume atomic — two concurrent consumers must not both fit through the last slot of a bound — and must persist revocation so a restarted process cannot resume a revoked run.
AgentRunUsagetype{ turns: number; toolCalls: number; externalCalls: number; usedTokens: number; usedCostUsd: number; }Type contract for agent run usage.
AgentRunUsageDeltatypeAgentRunUsageDeltaIncremental usage to charge against a run's bounds.
agentRunUsageSchemavaluez.ZodObject<{ turns: z.ZodNumber; toolCalls: z.ZodNumber; externalCalls: z.ZodNumber; usedTokens: z.ZodNumber; usedCostUsd: z.ZodNumber; }, z.core.$strip>Cumulative usage recorded against AgentRunBounds.
BoundaryAuditEventtype{ type: "run-started"; runId: string; enrollmentId: string; tenantId: string; at: string; } | { type: "bound-exhausted"; runId: string; bound: "turns" | "wall-time" | "tool-calls" | "external-calls" | "concurrency" | "tokens" | "cost"; usage: { turns...Type contract for boundary audit event.
boundaryAuditEventSchemavaluez.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"run-started">; runId: z.ZodString; enrollmentId: z.ZodString; tenantId: z.ZodString; at: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"bound-exhausted">; runId...Audit vocabulary for the execution boundary. Every bound exhaustion, refusal, cancellation, revocation, and process termination is recorded — an unaudited stop is a gate failure (collaboration plan D10).
BoundaryAuditSinktypeBoundaryAuditSinkWhere boundary audit events go. Verticals bind this to their audit log.
BoundaryRefusalvaluetypeof BoundaryRefusalA refusal is a terminal answer for the refused unit of work, never a retry hint. Exhaustion refusals also stop the run itself (the governor aborts), so later model or tool work cannot proceed.
BoundaryRefusalCodetypeBoundaryRefusalCodeRefusal vocabulary for the governed execution boundary (collaboration plan D10). Every refusal names the exhausted or violated bound; callers must not invent codes outside this union.
BoundaryToolDefinitiontypeBoundaryToolDefinitionType contract for boundary tool definition.
ConsumeResulttypeConsumeResultResult returned by consume.
createRunGovernorvalue(options: RunGovernorOptions) => Promise<RunGovernor>Creates run governor.
createToolBoundaryvalue(options: ToolBoundaryOptions) => ToolBoundaryBuild the per-run tool surface. Every call is governed: active-run check, tool-call/external-call/concurrency metering, zod validation, and — for proposal tools — submission through the governed proposal port only.
decideConsumevalue(usage: AgentRunUsage, delta: AgentRunUsageDelta, bounds: AgentRunBounds) => ConsumeResultShared decision core for store implementations (pure).
defineProposalToolvalue<TInput extends z.ZodType>(tool: Omit<ProposalToolDefinition<TInput>, "kind">) => ProposalToolDefinition<TInput>Defines proposal tool.
defineReadToolvalue<TInput extends z.ZodType>(tool: Omit<ReadToolDefinition<TInput>, "kind">) => ReadToolDefinition<TInput>Defines read tool.
emptyAgentRunUsagevalue{ turns: number; toolCalls: number; externalCalls: number; usedTokens: number; usedCostUsd: number; }Runtime API for empty agent run usage; the generated signature shows its accepted inputs and return type.
ExhaustedBoundtypeExhaustedBoundType contract for exhausted bound.
GuardedModelRequesttypeGuardedModelRequestInput contract for guarded model.
GuardedModelResponsetypeGuardedModelResponseResponse contract for guarded model.
guardModelProvidervalue<TRequest extends GuardedModelRequest, TResponse extends GuardedModelResponse>(options: GuardModelProviderOptions<TRequest, TResponse>) => (request: TRequest) => Promise<TResponse>Model/provider-path enforcement (collaboration plan D10): the budget is checked before the provider is invoked, each request is clamped to the policy's per-request output cap, actual usage is recorded immediately after the response, and the run's abort signal reaches the provider call. A run that exhausts its budget cannot start another model turn — stopping is not deferred until a later tool call.
GuardModelProviderOptionstypeGuardModelProviderOptions<TRequest, TResponse>Configuration options for guard model provider.
inMemoryAgentRunBudgetStorevalue() => AgentRunBudgetStoreIn-memory reference implementation. Suitable for tests and single-process development runners; production deployments bind a store backed by their durable database.
inMemoryBoundaryAuditSinkvalue() => BoundaryAuditSink & { events: BoundaryAuditEvent[]; }Test/development sink retaining every event in order.
isBoundaryRefusalvalue(error: unknown) => error is BoundaryRefusalChecks whether a value is boundary refusal.
McpBoundaryServertypeMcpBoundaryServerType contract for mcp boundary server.
McpBoundaryServerOptionstypeMcpBoundaryServerOptionsConfiguration options for mcp boundary server.
ProposalToolDefinitiontypeProposalToolDefinition<TInput>A proposal tool: the only write shape an agent has. It maps validated params to a governed action proposal — the boundary submits through the vertical's GovernedProposalPort and nothing else. The tool itself performs no effect.
ReadToolDefinitiontypeReadToolDefinition<TInput>A read tool: answers from the vertical's authorized projections. Never mutates. external marks reads that leave the deployment boundary (they are metered against maxExternalCalls).
resolveRunBoundsvalue(policy: AgentVersion["modelPolicy"], options: ResolveRunBoundsOptions) => AgentRunBoundsDerive the run bounds from an immutable agent version's modelPolicy (token/cost budgets come from the registry contract verbatim) plus the execution-shape bounds the enrolling surface supplies.
ResolveRunBoundsOptionstypeResolveRunBoundsOptionsConfiguration options for resolve run bounds.
RunGovernortypeRunGovernorThe per-run enforcement core (collaboration plan D10). One governor guards every consuming boundary of a run: MCP tool calls, the model/provider path, and the supervised process. Exhaustion, cancellation, and revocation all abort the shared signal so in-flight work stops — a stop is never deferred until the next tool call.
RunGovernorOptionstypeRunGovernorOptionsConfiguration options for run governor.
serveMcpBoundaryvalue(options: McpBoundaryServerOptions) => Promise<McpBoundaryServer>Serve a ToolBoundary over MCP. The listing is exactly the boundary's allowlist — a forbidden tool is absent, not refused — and every call flows through the run governor. When the governor stops (cancelled, revoked, exhausted, out of wall time) the transport is closed, so an agent mid-run loses the tool surface entirely (gate B2).
superviseAgentProcessvalue(options: SuperviseProcessOptions) => SupervisedProcessACP/process-path enforcement (collaboration plan D10): the agent child process lives strictly inside its run's governor. Cancellation, revocation, wall-time expiry, and budget exhaustion all abort the governor's signal, which terminates the child (SIGTERM, then SIGKILL after the grace period). Termination is audited.
SupervisedProcesstypeSupervisedProcessType contract for supervised process.
SuperviseProcessOptionstypeSuperviseProcessOptionsConfiguration options for supervise process.
ToolBoundarytypeToolBoundaryType contract for tool boundary.
ToolBoundaryOptionstypeToolBoundaryOptionsConfiguration options for tool boundary.
ToolCallGuardtypeToolCallGuardType contract for tool call guard.
ToolCallOutcometypeToolCallOutcomeType contract for tool call outcome.

@fabric-harness/agent-registry

@fabric-harness/agent-registry

ExportKindTypeScript signaturePurpose
ActionRoutetypeActionRouteType contract for action route.
actionRouteSchemavaluez.ZodDiscriminatedUnion<[z.ZodObject<{ status: z.ZodLiteral<"auto-executed">; actionInvocationId: z.ZodString; }, z.core.$strip>, z.ZodObject<{ status: z.ZodLiteral<"awaiting-approval">; approvalRequestId: z.ZodString; reason: z.ZodString...Runtime API for action route schema; the generated signature shows its accepted inputs and return type.
AGENT_AUTONOMY_RANKvalueRecord<"shadow" | "draft-only" | "approval-required" | "bounded", number>Ranks used by subset/ceiling checks. Approval may only lower the rank.
AgentAutonomytype"shadow" | "draft-only" | "approval-required" | "bounded"Type contract for agent autonomy.
agentAutonomySchemavaluez.ZodEnum<{ shadow: "shadow"; "draft-only": "draft-only"; "approval-required": "approval-required"; bounded: "bounded"; }>Autonomy ceiling for a registered agent (ADR §2.3).
AgentCapabilityGrantBasetype{ grantId: string; readTools: string[]; proposalActions: string[]; executionActions: string[]; skillIds?: string[]; expiresAt?: string; }Type contract for agent capability grant base.
agentCapabilityGrantBaseSchemavaluez.ZodObject<{ grantId: z.ZodString; readTools: z.ZodArray<z.ZodString>; proposalActions: z.ZodArray<z.ZodString>; executionActions: z.ZodDefault<z.ZodArray<z.ZodString>>; skillIds: z.ZodOptional<z.ZodArray<z.ZodString>>; expiresAt: z...Capability grant with the three-way authority separation — read, propose, execute — preserved as a core guarantee (an agent that may propose cannot silently acquire delivery authority). Scope-free base; verticals extend.
AgentDefinitiontype{ agentDefinitionId: string; name: string; displayName: string; description: string; inputKinds: string[]; outputKinds: string[]; createdAt: string; }Type contract for agent definition.
agentDefinitionSchemavaluez.ZodObject<{ agentDefinitionId: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodString; inputKinds: z.ZodArray<z.ZodString>; outputKinds: z.ZodArray<z.ZodString>; createdAt: z.ZodString; }, z.core.$strip>Runtime API for agent definition schema; the generated signature shows its accepted inputs and return type.
AgentEventEnvelopetypeAgentEventEnvelope<T>Type contract for agent event envelope.
agentEventEnvelopeSchemavaluez.ZodObject<{ eventId: z.ZodString; type: z.ZodString; tenantId: z.ZodString; spaceId: z.ZodOptional<z.ZodString>; occurredAt: z.ZodString; correlationId: z.ZodString; event: z.ZodUnknown; }, z.core.$strip>The family signed event envelope (ADR §3.7): the single normalized wire form for platform→agent event delivery, converging the origin protocol package's vertical webhook envelopes and the channel-tail envelopes. Signature standard: X-Fabric-Signature: v1=hex(hmac-sha256(secret, "<unix-seconds>.<raw-body>")) with the timestamp in X-Fabric-Timestamp, verified constant-time within a bounded skew. WebCrypto only — runs on Node and edge.
AgentExecutionPrincipaltype{ principalId: string; tenantId: string; registrationId: string; agentDefinitionId: string; agentVersionId: string; agentRunId: string; temporalWorkflowId: string; grantId: string; correlationId: string; idempotencyKey?: string; requestHash?: string; causationId?: string;...Type contract for agent execution principal.
agentExecutionPrincipalSchemavaluez.ZodObject<{ principalId: z.ZodString; tenantId: z.ZodString; registrationId: z.ZodString; agentDefinitionId: z.ZodString; agentVersionId: z.ZodString; agentRunId: z.ZodString; temporalWorkflowId: z.ZodString; grantId: z.ZodString; idempotencyKey: z.ZodOptional<z.Z...Short-lived execution principal minted per agent run. Verbatim (ADR §3.1 P).
AgentExecutionUsageRecordtype{ usedTokens: number; usedCostUsd: number; inputTokens?: number; outputTokens?: number; maxCallOutputTokens?: number; modelCalls?: number; }Type contract for agent execution usage record.
agentExecutionUsageSchemavaluez.ZodObject<{ usedTokens: z.ZodNumber; usedCostUsd: z.ZodNumber; inputTokens: z.ZodOptional<z.ZodNumber>; outputTokens: z.ZodOptional<z.ZodNumber>; maxCallOutputTokens: z.ZodOptional<z.ZodNumber>; modelCalls: z.ZodOptional<z.ZodNumber>; },...Runtime API for agent execution usage schema; the generated signature shows its accepted inputs and return type.
AgentRunBasetype{ agentRunId: string; tenantId: string; registrationId: string; agentDefinitionId: string; agentVersionId: string; temporalWorkflowId: string; trigger: "manual" | "schedule" | "event" | "workflow"; status: "cancelled" | "queued" | "running" | "waiting-for-approval"...Type contract for agent run base.
agentRunBaseSchemavaluez.ZodObject<{ agentRunId: z.ZodString; tenantId: z.ZodString; registrationId: z.ZodString; agentDefinitionId: z.ZodString; agentVersionId: z.ZodString; temporalWorkflowId: z.ZodString; idempotencyKey: z.ZodOptional<z.ZodString>; requestHash: z.ZodOptional<z.Zo...Agent run base — trigger, lifecycle, budget accounting, skill binding. Scope-free and attestation-free; verticals extend with their subject scope and their attestation schema (ADR §3.1 P-base).
agentRunReliabilityMetricSchemavaluez.ZodDiscriminatedUnion<[z.ZodObject<{ status: z.ZodLiteral<"suppressed">; cohort: z.ZodLiteral<"fewer-than-10">; }, z.core.$strict>, z.ZodObject<{ status: z.ZodLiteral<"available">; cohortSize: z.ZodNumber; succeeded: z.ZodNumber;...Runtime API for agent run reliability metric schema; the generated signature shows its accepted inputs and return type.
AgentRunStagetype"cancelled" | "queued" | "failed" | "loading-inputs" | "generating" | "staging-output" | "applying-mutations" | "completed"Type contract for agent run stage.
agentRunStageSchemavaluez.ZodEnum<{ queued: "queued"; failed: "failed"; cancelled: "cancelled"; "loading-inputs": "loading-inputs"; generating: "generating"; "staging-output": "staging-output"; "applying-mutations": "applying-mutations"; completed: "completed"; }>Runtime API for agent run stage schema; the generated signature shows its accepted inputs and return type.
agentRunStatusSchemavaluez.ZodEnum<{ queued: "queued"; running: "running"; "waiting-for-approval": "waiting-for-approval"; succeeded: "succeeded"; failed: "failed"; cancelled: "cancelled"; }>Runtime API for agent run status schema; the generated signature shows its accepted inputs and return type.
agentStatusSchemavaluez.ZodEnum<{ disabled: "disabled"; enabled: "enabled"; suspended: "suspended"; }>Runtime API for agent status schema; the generated signature shows its accepted inputs and return type.
AgentVersiontype{ agentVersionId: string; agentDefinitionId: string; version: string; configurationHash: string; promptVersion: string; skillIds: string[]; toolIds: string[]; modelPolicy: { provider: string; model: string; maxInputTokens: number; maxOutputTokens: number; maxCostUsd:...Type contract for agent version.
agentVersionSchemavaluez.ZodObject<{ agentVersionId: z.ZodString; agentDefinitionId: z.ZodString; version: z.ZodString; configurationHash: z.ZodString; implementationDigest: z.ZodOptional<z.ZodString>; runtimeVersion: z.ZodOptional<z.ZodString>; promptVersion: z.ZodString; skillI...Immutable, hash-pinned agent version with hard model budgets. Verbatim from the origin — modelPolicy is the bounded-agent contract the MCP budget meter enforces (collaboration plan D10).
approvalIsSubsetvalue<T extends EnrollmentRegistrationLike>(requested: T, approved: T, scopeAccessors?: ReadonlyArray<(registration: T) => readonly string[]>) => booleanApproval may narrow an external runtime's requested authority, but can never change its identity or increase any capability, scope, autonomy, or lifetime. Vertical scope dimensions (per-vertical scope-id lists) participate via scopeAccessors — each accessor's approved list must be a subset of its requested list. Wire-behavior-identical to the origin when the vertical passes its scope accessors (ADR §3.2, equivalence-tested).
ApprovalRequesttype{ approvalRequestId: string; tenantId: string; subject: { subjectType: string; subjectId: string; }; proposedActionId: string; proposedParametersHash: string; reason: string; escalation: boolean; requiredCapability: string; options: ("approve" | "reject" | "ap...Input contract for approval.
approvalRequestSchemavaluez.ZodObject<{ approvalRequestId: z.ZodString; tenantId: z.ZodString; spaceId: z.ZodOptional<z.ZodString>; subject: z.ZodObject<{ subjectType: z.ZodString; subjectId: z.ZodString; }, z.core.$strip>; proposedActionId: z.ZodString; proposedParameters...Runtime API for approval request schema; the generated signature shows its accepted inputs and return type.
approvalRequestStatusSchemavaluez.ZodEnum<{ pending: "pending"; granted: "granted"; denied: "denied"; expired: "expired"; }>Runtime API for approval request status schema; the generated signature shows its accepted inputs and return type.
AttestedIdentitytype{ namespace: string; externalId: string; signatureRef?: string; }Type contract for attested identity.
attestedIdentitySchemavaluez.ZodObject<{ namespace: z.ZodString; externalId: z.ZodString; signatureRef: z.ZodOptional<z.ZodString>; }, z.core.$strict>Runtime API for attested identity schema; the generated signature shows its accepted inputs and return type.
BindExternalIdentityParamstype{ commandId: string; bindingId: string; principalId: string; namespace: string; externalId: string; verification: "self-asserted" | "signature" | "sso"; occurredAt: string; }Type contract for bind external identity params.
bindExternalIdentitySchemavaluez.ZodObject<{ commandId: z.ZodString; bindingId: z.ZodString; principalId: z.ZodString; namespace: z.ZodString; externalId: z.ZodString; verification: z.ZodEnum<{ "self-asserted": "self-asserted"; signature: "signature"; sso: "sso"; }>; occurredAt: z.Zo...Runtime API for bind external identity schema; the generated signature shows its accepted inputs and return type.
CapabilityDescriptortypeCapabilityDescriptorAction-catalog entry: what exists (grants say what a principal may use).
CertificationSchemaOptionstypeCertificationSchemaOptions<TSchemaVersion, TEvidence, TDefinitionId>Configuration options for certification schema.
clampRoutevalue(autonomy: AgentAutonomy, decision: PolicyDecision) => ActionRouteClamp a per-action policy decision to the registration's autonomy ceiling. The registration autonomy is the ceiling; policy routes within it: - shadow → every mutation is rejected (observe/record only) - draft-only → at most awaiting-approval; nothing auto-executes - approval-required → at most awaiting-approval / escalated - bounded → policy result stands (auto-execution within grant + budget) The returned route for gated decisions carries an empty approvalRequestId — the caller creates the ApprovalRequest and fills it in.
CompleteExternalAgentActivationParamstype{ commandId: string; enrollmentRequestId: string; expectedRequestHash: string; expectedApprovedEnvelopeHash: string; expectedFenceVersion: number; operatorDispatchId: string; activationActionInvocationId: string; }Type contract for complete external agent activation params.
completeExternalAgentActivationSchemavaluez.ZodObject<{ commandId: z.ZodString; enrollmentRequestId: z.ZodString; expectedRequestHash: z.ZodString; expectedApprovedEnvelopeHash: z.ZodString; expectedFenceVersion: z.ZodNumber; operatorDispatchId: z.ZodString; activationActionInvocationId: z.ZodString; }, z...Runtime API for complete external agent activation schema; the generated signature shows its accepted inputs and return type.
CompleteExternalAgentOffboardingParamstype{ commandId: string; enrollmentRequestId: string; expectedRequestHash: string; expectedFenceVersion: number; operatorDispatchId: string; terminalDisposition: "revoked" | "expired"; registrationActionInvocationId?: string; credentialActionInvocationId?: string; }Type contract for complete external agent offboarding params.
completeExternalAgentOffboardingSchemavaluez.ZodObject<{ commandId: z.ZodString; enrollmentRequestId: z.ZodString; expectedRequestHash: z.ZodString; expectedFenceVersion: z.ZodNumber; operatorDispatchId: z.ZodString; registrationActionInvocationId: z.ZodOptional<z.ZodString>; credentialActionInvocationId:...Runtime API for complete external agent offboarding schema; the generated signature shows its accepted inputs and return type.
CompleteExternalAgentProvisioningParamstype{ commandId: string; enrollmentRequestId: string; expectedRequestHash: string; expectedApprovedEnvelopeHash: string; expectedFenceVersion: number; operatorDispatchId: string; registrationActionInvocationId: string; credentialActionInvocationId: string; credentialId: strin...Type contract for complete external agent provisioning params.
completeExternalAgentProvisioningSchemavaluez.ZodObject<{ commandId: z.ZodString; enrollmentRequestId: z.ZodString; expectedRequestHash: z.ZodString; expectedApprovedEnvelopeHash: z.ZodString; expectedFenceVersion: z.ZodNumber; operatorDispatchId: z.ZodString; registrationActionInvocationId: z.ZodString; credent...Runtime API for complete external agent provisioning schema; the generated signature shows its accepted inputs and return type.
ContentReftype{ id: string; revision: number; contentHash: string; }Type contract for content ref.
contentRefSchemavaluez.ZodObject<{ id: z.ZodString; revision: z.ZodNumber; contentHash: z.ZodString; }, z.core.$strip>Content-addressed reference to a revisioned artifact-like subject.
CorrelationKeytype{ type: string; value: string; }Type contract for correlation key.
correlationKeySchemavaluez.ZodObject<{ type: z.ZodString; value: z.ZodString; }, z.core.$strip>Runtime API for correlation key schema; the generated signature shows its accepted inputs and return type.
createCertificationSchemavalue<TSchemaVersion extends string, TEvidence extends z.ZodTypeAny, TDefinitionId extends z.ZodTypeAny = z.ZodString>(options: CertificationSchemaOptions<TSchemaVersion, TEvidence, TDefinitionId>) => z.ZodObject<{ schemaVersion: z.ZodLiteral<TSchemaVersio...Factory for the immutable certification record (ADR §3.1 P-fact).
createEnrollmentContractsvalue<TRegistration extends z.ZodTypeAny>(options: EnrollmentContractsOptions<TRegistration>) => { submitExternalAgentEnrollmentSchema: z.ZodObject<{ commandId: z.ZodString; enrollmentRequestId: z.ZodString; inviteId: z.ZodString; runtimeKind: z.ZodEnum&...Factory for the registration-dependent enrollment contracts. The vertical supplies its registration schema; everything else is neutral (ADR §3.2).
CreateExternalAgentInviteParamstype{ commandId: string; inviteId: string; inviteRevealId: string; runtimeKind: "hermes" | "generic-mcp"; expiresAt: string; }Type contract for create external agent invite params.
createExternalAgentInviteSchemavaluez.ZodObject<{ commandId: z.ZodString; inviteId: z.ZodString; inviteRevealId: z.ZodString; runtimeKind: z.ZodEnum<{ hermes: "hermes"; "generic-mcp": "generic-mcp"; }>; expiresAt: z.ZodString; }, z.core.$strict>Creates external agent invite schema.
createOutcomeEvidenceSchemavalue<TSchemaVersion extends string, TVersionExtension extends z.ZodRawShape = Record<never, never>, TDefinitionId extends z.ZodTypeAny = z.ZodString>(options: OutcomeEvidenceSchemaOptions<TSchemaVersion, TVersionExtension, TDefinitionId>) => z.ZodObject<&#1...Creates outcome evidence schema.
createSignalOutboxReconcilervalue(deps: SignalOutboxReconcilerDeps) => () => Promise<{ delivered: number; failed: number; }>Idempotent outbox reconciler (plan D16). Run from a worker loop, a Temporal activity, or after the vertical action commits. Safe under concurrent workers and restarts: the checkpoint is a CAS in the store, and receiving workflows dedupe on approvalRequestId.
createSkillIoSchemavalue<TSchemaVersion extends string>(schemaVersion: TSchemaVersion) => z.ZodObject<{ schemaVersion: z.ZodLiteral<TSchemaVersion>; fields: z.ZodArray<z.ZodObject<{ name: z.ZodString; type: z.ZodEnum<{ string: "string"; number: "number"; bool...IO contract factory — the vertical supplies its schemaVersion literal.
createSkillRunnerExecutionInputSchemavalue<TIo extends z.ZodTypeAny>(ioSchema: TIo) => z.ZodObject<{ skillId: z.ZodString; skillVersion: z.ZodNumber; name: z.ZodString; description: z.ZodString; instructions: z.ZodString; inputSchema: TIo; outputSchema: TIo; allowedActions: z.ZodArray<z.ZodString&g...Execution-input factory. runtimePolicy promotes verbatim — bounded iterations/timeout/tokens/cost/concurrency with failureMode: fail_closed is a core finite-agent guarantee, not a vertical choice.
DecisionEventtype{ approvalRequestId: string; tenantId: string; subject: { subjectType: string; subjectId: string; }; occurredAt: string; type: "decision.requested"; escalation: boolean; } | { approvalRequestId: string; tenantId: string; subject: { subjectType: s...Type contract for decision event.
decisionEventSchemavaluez.ZodDiscriminatedUnion<[z.ZodObject<{ approvalRequestId: z.ZodString; tenantId: z.ZodString; subject: z.ZodObject<{ subjectType: z.ZodString; subjectId: z.ZodString; }, z.core.$strip>; occurredAt: z.ZodString; type: z.ZodLiteral<"decision.request...Runtime API for decision event schema; the generated signature shows its accepted inputs and return type.
decisionOptionSchemavaluez.ZodEnum<{ approve: "approve"; reject: "reject"; "approve-with-edits": "approve-with-edits"; }>Runtime API for decision option schema; the generated signature shows its accepted inputs and return type.
DecisionRefusaltypeDecisionRefusalType contract for decision refusal.
DecisionSubjecttype{ subjectType: string; subjectId: string; }Type contract for decision subject.
decisionSubjectSchemavaluez.ZodObject<{ subjectType: z.ZodString; subjectId: z.ZodString; }, z.core.$strip>Runtime API for decision subject schema; the generated signature shows its accepted inputs and return type.
EnforceExternalAgentEnrollmentRetentionParamstype{ commandId: string; cutoffAt: string; limit: number; }Type contract for enforce external agent enrollment retention params.
enforceExternalAgentEnrollmentRetentionSchemavaluez.ZodObject<{ commandId: z.ZodString; cutoffAt: z.ZodString; limit: z.ZodNumber; }, z.core.$strict>Runtime API for enforce external agent enrollment retention schema; the generated signature shows its accepted inputs and return type.
EnrollmentContractsOptionstypeEnrollmentContractsOptions<TRegistration>Configuration options for enrollment contracts.
EnrollmentRegistrationLiketypeEnrollmentRegistrationLikeMinimal registration shape the subset check operates over.
externalActionContractFingerprintSchemavaluez.ZodStringPins the exact action contract an external runtime was approved against.
ExternalAgentEnrollmentInviteRecordtype{ inviteId: string; runtimeKind: "hermes" | "generic-mcp"; tokenHash: string; status: "revoked" | "active" | "consumed"; createdBy: string; createdAt: string; expiresAt: string; retentionUntil: string; consumedByRequestId?: string; revokedAt?: string; revocationReason?...Type contract for external agent enrollment invite record.
externalAgentEnrollmentInviteRecordSchemavaluez.ZodObject<{ inviteId: z.ZodString; runtimeKind: z.ZodEnum<{ hermes: "hermes"; "generic-mcp": "generic-mcp"; }>; tokenHash: z.ZodString; status: z.ZodEnum<{ revoked: "revoked"; active: "active"; consumed: "consumed"; }>; createdBy: z.Zo...Runtime API for external agent enrollment invite record schema; the generated signature shows its accepted inputs and return type.
ExternalAgentEnrollmentInviteStatustype"revoked" | "active" | "consumed"Type contract for external agent enrollment invite status.
externalAgentEnrollmentInviteStatusSchemavaluez.ZodEnum<{ revoked: "revoked"; active: "active"; consumed: "consumed"; }>Runtime API for external agent enrollment invite status schema; the generated signature shows its accepted inputs and return type.
ExternalAgentEnrollmentStatustype"revoked" | "approved" | "rejected" | "active" | "expired" | "pending_review" | "provisioning" | "claim_ready" | "claimed_pending_activation" | "revoking"Type contract for external agent enrollment status.
externalAgentEnrollmentStatusSchemavaluez.ZodEnum<{ revoked: "revoked"; rejected: "rejected"; expired: "expired"; approved: "approved"; active: "active"; pending_review: "pending_review"; provisioning: "provisioning"; claim_ready: "claim_ready"; claimed_pending_activation: "claimed_pending_activation"; revok...Runtime API for external agent enrollment status schema; the generated signature shows its accepted inputs and return type.
ExternalAgentInviteRevealRecordtype{ inviteRevealId: string; inviteId: string; ciphertext: string; payloadHash: string; encryptionKeyId: string; associatedDataHash: string; createdAt: string; expiresAt: string; revealedAt?: string; revealedByCommandId?: string; replayUntil?: string; }Type contract for external agent invite reveal record.
externalAgentInviteRevealRecordSchemavaluez.ZodObject<{ inviteRevealId: z.ZodString; inviteId: z.ZodString; ciphertext: z.ZodString; payloadHash: z.ZodString; encryptionKeyId: z.ZodString; associatedDataHash: z.ZodString; createdAt: z.ZodString; expiresAt: z.ZodString; revealedAt: z.ZodOptional<z.ZodString&...Runtime API for external agent invite reveal record schema; the generated signature shows its accepted inputs and return type.
ExternalAgentMutationFencetype{ enrollmentRequestId: string; requestHash: string; fenceVersion: number; allowedStatuses: ("revoked" | "approved" | "rejected" | "active" | "expired" | "pending_review" | "provisioning" | "claim_ready" | "claimed_pending_activation" | "revoking")[]; approvedEnve...Type contract for external agent mutation fence.
externalAgentMutationFenceSchemavaluez.ZodObject<{ enrollmentRequestId: z.ZodString; requestHash: z.ZodString; approvedEnvelopeHash: z.ZodOptional<z.ZodString>; fenceVersion: z.ZodNumber; allowedStatuses: z.ZodArray<z.ZodEnum<{ revoked: "revoked"; rejected: "rejected"; expired: "expired";...Runtime API for external agent mutation fence schema; the generated signature shows its accepted inputs and return type.
ExternalAgentOperatorAdmissionRecordtype{ admissionId: string; dispatchId: string; enrollmentRequestId: string; workflowId: string; workflowRunId: string; actionId: string; stagedCommandId: string; parameterHash: string; fenceVersion: number; issuedAt: string; expiresAt: string; consumedByActionInvocationId?: s...Type contract for external agent operator admission record.
externalAgentOperatorAdmissionRecordSchemavaluez.ZodObject<{ admissionId: z.ZodString; dispatchId: z.ZodString; enrollmentRequestId: z.ZodString; workflowId: z.ZodString; workflowRunId: z.ZodString; actionId: z.ZodString; stagedCommandId: z.ZodString; parameterHash: z.ZodString; fenceVersion: z.ZodNumber; issuedAt:...Runtime API for external agent operator admission record schema; the generated signature shows its accepted inputs and return type.
ExternalAgentOperatorDispatchRecordtype{ dispatchId: string; enrollmentRequestId: string; kind: "provisioning" | "activation" | "offboarding"; bindingHash: string; sourceActionInvocationId: string; fenceVersion: number; status: "completed" | "pending" | "started"; workflowId: string; createdAt: string; app...Type contract for external agent operator dispatch record.
externalAgentOperatorDispatchRecordSchemavaluez.ZodObject<{ dispatchId: z.ZodString; enrollmentRequestId: z.ZodString; kind: z.ZodEnum<{ provisioning: "provisioning"; activation: "activation"; offboarding: "offboarding"; }>; bindingHash: z.ZodString; sourceActionInvocationId: z.ZodString; approvedE...Runtime API for external agent operator dispatch record schema; the generated signature shows its accepted inputs and return type.
externalAgentOperatorDispatchStatusSchemavaluez.ZodEnum<{ completed: "completed"; pending: "pending"; started: "started"; }>Runtime API for external agent operator dispatch status schema; the generated signature shows its accepted inputs and return type.
externalAgentOperatorKindSchemavaluez.ZodEnum<{ provisioning: "provisioning"; activation: "activation"; offboarding: "offboarding"; }>Runtime API for external agent operator kind schema; the generated signature shows its accepted inputs and return type.
ExternalAgentRevealEnvelopeRecordtype{ revealEnvelopeId: string; enrollmentRequestId: string; registrationId: string; credentialId: string; credentialVersion: string; ciphertext: string; payloadHash: string; purpose: "registration-credential"; encryptionKeyId: string; associatedDataHash: string; createdAt: s...Type contract for external agent reveal envelope record.
externalAgentRevealEnvelopeRecordSchemavaluez.ZodObject<{ revealEnvelopeId: z.ZodString; enrollmentRequestId: z.ZodString; registrationId: z.ZodString; credentialId: z.ZodString; credentialVersion: z.ZodString; ciphertext: z.ZodString; payloadHash: z.ZodString; purpose: z.ZodLiteral<"registration-credential"&...Runtime API for external agent reveal envelope record schema; the generated signature shows its accepted inputs and return type.
ExternalAgentRuntimeKindtype"hermes" | "generic-mcp"Type contract for external agent runtime kind.
externalAgentRuntimeKindSchemavaluez.ZodEnum<{ hermes: "hermes"; "generic-mcp": "generic-mcp"; }>generic-mcp is the runtime kind for channel-hosted ACP + MCP agents.
FABRIC_SIGNATURE_HEADERvalue"x-fabric-signature"Constant defining fabric signature header.
FABRIC_TIMESTAMP_HEADERvalue"x-fabric-timestamp"Constant defining fabric timestamp header.
FieldValuetypeFieldValue<T, TSource>Field value with confidence and provenance — used when an agent submits extracted data so per-action policy can route it (auto-execute, approval, or escalate) based on confidence. Promoted from the origin protocol package (ADR §3.6) with one erratum: the origin's source union carries vertical vocabulary, so the neutral form takes an open provenance string and the vertical narrows it in its own re-export (TSource defaults to string).
GovernanceNoticetype{ noticeId: string; tenantId: string; kind: "escalation" | "binding-refused" | "capability-refused" | "validation-failed" | "policy-blocked" | "budget-exhausted"; reason: string; occurredAt: string; subject?: { subjectType: string; subjectId: string; }; act...Type contract for governance notice.
governanceNoticeSchemavaluez.ZodObject<{ noticeId: z.ZodString; tenantId: z.ZodString; subject: z.ZodOptional<z.ZodObject<{ subjectType: z.ZodString; subjectId: z.ZodString; }, z.core.$strip>>; kind: z.ZodEnum<{ escalation: "escalation"; "binding-refused": "binding-...Runtime API for governance notice schema; the generated signature shows its accepted inputs and return type.
GovernedProposalPorttypeGovernedProposalPortThe only write path an agent has: propose a governed Platform action.
IdentityBindingtype{ bindingId: string; tenantId: string; principalId: string; namespace: string; externalId: string; verification: "self-asserted" | "signature" | "sso"; boundAt: string; boundBy: string; revokedAt?: string; revokedBy?: string; revocationReason?: string; }Type contract for identity binding.
identityBindingSchemavaluez.ZodObject<{ bindingId: z.ZodString; tenantId: z.ZodString; principalId: z.ZodString; namespace: z.ZodString; externalId: z.ZodString; verification: z.ZodEnum<{ "self-asserted": "self-asserted"; signature: "signature"; sso: "sso"; }>; boundAt: z.ZodStr...Runtime API for identity binding schema; the generated signature shows its accepted inputs and return type.
identityNamespaceSchemavaluez.ZodStringIdentity bindings (ADR §3.8): the typed, revocable link between an external surface identity (a Nostr pubkey, Slack member id, email, …) and a Fabric principal. Supersedes untyped actor-id lists for new decisions; binding and revoking are governed actions in each vertical's module, so "who may decide as whom" is itself audited history.
IdentityVerificationtype"self-asserted" | "signature" | "sso"Type contract for identity verification.
identityVerificationSchemavaluez.ZodEnum<{ "self-asserted": "self-asserted"; signature: "signature"; sso: "sso"; }>Runtime API for identity verification schema; the generated signature shows its accepted inputs and return type.
idSchemavaluez.ZodStringShared field primitives. Exactly the shapes used by the origin vertical packages so extracted schemas stay wire-identical — see the Fabric Agent Contracts Reconciliation ADR §1.
inMemorySignalOutboxStorevalue() => SignalOutboxStore & { all(): SignalOutboxIntent[]; add(intent: SignalOutboxIntent): void; }Test/development outbox store. Not durable — never use in production.
isoDateSchemavaluez.ZodStringRuntime API for iso date schema; the generated signature shows its accepted inputs and return type.
JsonObjecttypeRecord<string, unknown>Type contract for json object.
jsonObjectSchemavaluez.ZodRecord<z.ZodString, z.ZodUnknown>Runtime API for json object schema; the generated signature shows its accepted inputs and return type.
MutationCommonInputtypeMutationCommonInputCommon metadata every agent-proposed mutation carries (ADR §3.5).
NamespacedKindtypestringType contract for namespaced kind.
namespacedKindSchemavaluez.ZodStringNamespaced kind identifier: lowercase, dot/dash namespacing, no vertical vocabulary. Wire-identical to the origin artifactKindSchema regex so vertical re-exports validate exactly as before (ADR §3.3).
OutcomeEvidenceSchemaOptionstypeOutcomeEvidenceSchemaOptions<TSchemaVersion, TVersionExtension, TDefinitionId>Configuration options for outcome evidence schema.
PolicyDecisiontypePolicyDecisionType contract for policy decision.
PolicyEvaluationInputtypePolicyEvaluationInputType contract for policy evaluation input.
PolicyHinttypePolicyHintType contract for policy hint.
RecordExternalAgentClaimParamstype{ commandId: string; enrollmentRequestId: string; expectedRequestHash: string; expectedApprovedEnvelopeHash: string; expectedFenceVersion: number; operatorDispatchId: string; credentialId: string; credentialVersion: string; revealEnvelopeId: string; }Type contract for record external agent claim params.
recordExternalAgentClaimSchemavaluez.ZodObject<{ commandId: z.ZodString; enrollmentRequestId: z.ZodString; expectedRequestHash: z.ZodString; expectedApprovedEnvelopeHash: z.ZodString; expectedFenceVersion: z.ZodNumber; operatorDispatchId: z.ZodString; credentialId: z.ZodString; credentialVersion: z.ZodS...Runtime API for record external agent claim schema; the generated signature shows its accepted inputs and return type.
resolveAgentRunTokenBudgetvalue(policy: AgentVersion["modelPolicy"]) => numberResolves agent run token budget.
ResolvedDecisionContexttypeResolvedDecisionContextType contract for resolved decision context.
RevokeExternalAgentEnrollmentParamstype{ commandId: string; enrollmentRequestId: string; expectedRequestHash: string; reason: string; }Type contract for revoke external agent enrollment params.
revokeExternalAgentEnrollmentSchemavaluez.ZodObject<{ commandId: z.ZodString; enrollmentRequestId: z.ZodString; expectedRequestHash: z.ZodString; reason: z.ZodString; }, z.core.$strict>Runtime API for revoke external agent enrollment schema; the generated signature shows its accepted inputs and return type.
RevokeExternalAgentInviteParamstype{ commandId: string; inviteId: string; reason: string; }Type contract for revoke external agent invite params.
revokeExternalAgentInviteSchemavaluez.ZodObject<{ commandId: z.ZodString; inviteId: z.ZodString; reason: z.ZodString; }, z.core.$strict>Runtime API for revoke external agent invite schema; the generated signature shows its accepted inputs and return type.
RevokeExternalIdentityParamstype{ commandId: string; bindingId: string; reason: string; occurredAt: string; }Type contract for revoke external identity params.
revokeExternalIdentitySchemavaluez.ZodObject<{ commandId: z.ZodString; bindingId: z.ZodString; reason: z.ZodString; occurredAt: z.ZodString; }, z.core.$strict>Runtime API for revoke external identity schema; the generated signature shows its accepted inputs and return type.
RiskTiertype"low" | "medium" | "high"Type contract for risk tier.
riskTierSchemavaluez.ZodEnum<{ low: "low"; medium: "medium"; high: "high"; }>The neutral decision boundary (ADR §2, §3.5, §3.7, §3.8): routing vocabulary, per-action policy contracts, the ApprovalRequest entity, the durable-resume primitive, and the governed decision-ingress factory. Layering (collaboration plan D7): channel adapters carry candidate identities and never authorize; only a vertical's governed decision-ingress action — composed from createDecisionIngress — resolves bindings, checks capability, and signals durable workflows.
sha256Schemavaluez.ZodStringRuntime API for sha256 schema; the generated signature shows its accepted inputs and return type.
SignalOutboxIntenttype{ intentId: string; tenantId: string; approvalRequestId: string; correlationKey: { type: string; value: string; }; signalName: string; payload: Record<string, unknown>; idempotencyKey: string; createdAt: string; attempts: number; deliveredAt?: string; last...Type contract for signal outbox intent.
signalOutboxIntentSchemavaluez.ZodObject<{ intentId: z.ZodString; tenantId: z.ZodString; approvalRequestId: z.ZodString; correlationKey: z.ZodObject<{ type: z.ZodString; value: z.ZodString; }, z.core.$strip>; signalName: z.ZodString; payload: z.ZodRecord<z.ZodString, z.ZodUnknow...Durable signal-outbox intent, persisted atomically with the decision.
SignalOutboxReconcilerDepstypeSignalOutboxReconcilerDepsType contract for signal outbox reconciler deps.
SignalOutboxStoretypeSignalOutboxStoreStorage contract for signal outbox.
SignalPendingStepInputtypeSignalPendingStepInputType contract for signal pending step input.
SignalPendingStepResulttypeSignalPendingStepResultResult returned by signal pending step.
signFabricEnvelopevalue(secret: string, timestampSeconds: number, rawBody: string) => Promise<string>Sign a raw body for delivery: returns the v1=<hex> header value.
SkillActionProposaltype{ actionId: string; parameters: Record<string, unknown>; reason: string; }Type contract for skill action proposal.
skillActionProposalSchemavaluez.ZodObject<{ actionId: z.ZodString; parameters: z.ZodRecord<z.ZodString, z.ZodUnknown>; reason: z.ZodString; }, z.core.$strict>Skill-runner contracts (ADR §3.1 P-fact): bounded, fail-closed skill execution with action proposals. IO-contract literals are vertical-supplied.
SkillRunnerOutputtype{ output: Record<string, unknown>; proposedActions: { actionId: string; parameters: Record<string, unknown>; reason: string; }[]; }Type contract for skill runner output.
skillRunnerOutputSchemavaluez.ZodObject<{ output: z.ZodRecord<z.ZodString, z.ZodUnknown>; proposedActions: z.ZodDefault<z.ZodArray<z.ZodObject<{ actionId: z.ZodString; parameters: z.ZodRecord<z.ZodString, z.ZodUnknown>; reason: z.ZodString; }, z.core.$strict>>...Runtime API for skill runner output schema; the generated signature shows its accepted inputs and return type.
SubjectContextPorttypeSubjectContextPortNeutral read port keyed by subject reference (ADR §3.4).
SubmitExternalDecisionInputtype{ commandId: string; approvalRequestId: string; choice: "approve" | "reject" | "approve-with-edits"; attestedIdentity: { namespace: string; externalId: string; signatureRef?: string; }; occurredAt: string; edits?: Record<string, unknown>; receipt?: &#123...Type contract for submit external decision input.
submitExternalDecisionSchemavaluez.ZodObject<{ commandId: z.ZodString; approvalRequestId: z.ZodString; choice: z.ZodEnum<{ approve: "approve"; reject: "reject"; "approve-with-edits": "approve-with-edits"; }>; edits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; att...Runtime API for submit external decision schema; the generated signature shows its accepted inputs and return type.
suppressedOutcomeMetricSchemavaluez.ZodObject<{ status: z.ZodLiteral<"suppressed">; cohort: z.ZodLiteral<"fewer-than-10">; }, z.core.$strict>Privacy-safe longitudinal outcome evidence (ADR §3.1 P-fact): cohorts below ten observations expose no exact counts; no tenant, subject, actor, prompt, body, or failure-detail fields. The base carries run reliability; verticals extend per-version entries with their own metric families and pass their schemaVersion literal.
TenantAgentRegistrationBasetype{ registrationId: string; tenantId: string; agentDefinitionId: string; agentVersionId: string; status: "disabled" | "enabled" | "suspended"; autonomy: "shadow" | "draft-only" | "approval-required" | "bounded"; grant: { grantId: string; readTools: string[]; propo...Type contract for tenant agent registration base.
tenantAgentRegistrationBaseSchemavaluez.ZodObject<{ registrationId: z.ZodString; tenantId: z.ZodString; agentDefinitionId: z.ZodString; agentVersionId: z.ZodString; status: z.ZodEnum<{ disabled: "disabled"; enabled: "enabled"; suspended: "suspended"; }>; autonomy: z.ZodEnum<{ shadow...Tenant-level registration base (scope-free; verticals extend).
ValidatedDecisiontypeValidatedDecisionType contract for validated decision.
validateExternalDecisionvalue(input: SubmitExternalDecisionInput, context: ResolvedDecisionContext) => ValidatedDecisionPURE decision validation (plan D16). No I/O, no clock reads, no effects — every input is resolved by the caller first. Returns either a refusal (with the governance notice the caller must emit and audit), expiry, or the exact decision record + signal-outbox intent the caller must persist atomically with its pending→terminal compare-and-set.
verifyFabricEnvelopevalue(secret: string, rawBody: string, headers: { signature: string | null; timestamp: string | null; }, options?: { maxSkewSeconds?: number; nowMs?: number; }) => Promise<boolean>Constant-time verification of a v1= signature within maxSkewSeconds.

@fabric-harness/azure

@fabric-harness/azure

ExportKindTypeScript signaturePurpose
AzureAksClusterReftypeAzureAksClusterRefType contract for azure aks cluster ref.
azureAksRunCommandToolvalue(client: AzureArmClient, options?: { name?: string; description?: string; apiVersion?: string; }) => ToolDef<AzureAksClusterRef & { command: string; context?: string; }, unknown>Model-callable tool or tool factory for azure aks run command.
AzureArmClientvaluetypeof AzureArmClientClient implementation for azure arm.
AzureArmClientOptionstypeAzureArmClientOptionsConfiguration options for azure arm client.
AzureBlobArtifactStoretypeAzureBlobArtifactStoreStorage contract for azure blob artifact.
AzureBlobArtifactStoreOptionstypeAzureBlobArtifactStoreOptionsConfiguration options for azure blob artifact store.
AzureBundletypeAzureBundleType contract for azure bundle.
AzureBundleConfigtypeAzureBundleConfigType contract for azure bundle config.
AzureContainerAppsJobReftypeAzureContainerAppsJobRefType contract for azure container apps job ref.
azureContainerAppsJobToolvalue(client: AzureArmClient, options?: { name?: string; description?: string; apiVersion?: string; }) => ToolDef<AzureContainerAppsJobRef & { environmentVariables?: Record<string, string>; }, unknown>Model-callable tool or tool factory for azure container apps job.
azureContainerInstanceExecToolvalue(client: AzureArmClient, options?: { name?: string; description?: string; apiVersion?: string; }) => ToolDef<AzureContainerInstanceRef & { command: string; }, unknown>Model-callable tool or tool factory for azure container instance exec.
AzureContainerInstanceReftypeAzureContainerInstanceRefType contract for azure container instance ref.
azureKeyVaultSecretProvidervalue(options: AzureKeyVaultSecretResolverOptions) => SecretProviderKey Vault adapter for chainSecretProviders() and secretResolver().
AzureKeyVaultSecretResolverOptionstypeAzureKeyVaultSecretResolverOptionsConfiguration options for azure key vault secret resolver.
AzureOpenAIModelProvidervaluetypeof AzureOpenAIModelProviderProvider implementation for azure open aimodel.
AzureOpenAIModelProviderOptionstypeAzureOpenAIModelProviderOptionsConfiguration options for azure open aimodel provider.
AzureResourceReftypeAzureResourceRefType contract for azure resource ref.
createAzureArmClientvalue(options: AzureArmClientOptions) => AzureArmClientCreates azure arm client.
createAzureBlobArtifactStorevalue(options: AzureBlobArtifactStoreOptions) => AzureBlobArtifactStoreCreates azure blob artifact store.
createAzureKeyVaultSecretResolvervalue(options: AzureKeyVaultSecretResolverOptions) => (name: string) => Promise<string | undefined>Creates azure key vault secret resolver.
createFoundryAgentServiceClientvalue(options: FoundryAgentServiceOptions) => FoundryAgentServiceClientCreates foundry agent service client.
defineAzureAgentvalue<TInput = JsonObject, TOutput = unknown>(options?: DefineAzureAgentOptions<TInput, TOutput>) => DefinedAgent<TInput, TOutput>Defines azure agent.
DefineAzureAgentOptionstypeDefineAzureAgentOptions<TInput, TOutput>Configuration options for define azure agent.
FoundryAgentDefinitiontypeFoundryAgentDefinitionType contract for foundry agent definition.
FoundryAgentInvocationOptionstypeFoundryAgentInvocationOptionsConfiguration options for foundry agent invocation.
FoundryAgentInvocationResulttypeFoundryAgentInvocationResultResult returned by foundry agent invocation.
foundryAgentLifecycleToolsvalue(client: FoundryAgentServiceClient) => ToolDef[]Runtime API for foundry agent lifecycle tools; the generated signature shows its accepted inputs and return type.
FoundryAgentServiceClientvaluetypeof FoundryAgentServiceClientClient implementation for foundry agent service.
FoundryAgentServiceOptionstypeFoundryAgentServiceOptionsConfiguration options for foundry agent service.
foundryAgentToolvalue(client: FoundryAgentServiceClient, options?: { name?: string; description?: string; agentId?: string; }) => ToolDef<{ prompt: string; threadId?: string; }, FoundryAgentInvocationResult>Model-callable tool or tool factory for foundry agent.
FoundryHostedAgentSandboxOptionstypeFoundryHostedAgentSandboxOptionsConfiguration options for foundry hosted agent sandbox.
FoundryRuntimeModelProvidervaluetypeof FoundryRuntimeModelProviderModel provider that calls the Foundry-managed Azure OpenAI surface using a Bearer token (managed identity) instead of an API key. Designed for the Azure AI Foundry Hosted Agent runtime, but useful on any Azure compute with a managed identity (ACA / AKS / VM) — you don't need the Foundry runtime adapter to use this provider. The runtime injects: - AZURE_OPENAI_ENDPOINT — the Foundry-routed Azure OpenAI endpoint. - AZURE_OPENAI_DEPLOYMENT — the model deployment name. - FOUNDRY_AGENT_TOKEN (or AZURE_AI_FOUNDRY_TOKEN) — a pre-issued token when running inside the Hosted Agent contain...
FoundryRuntimeModelProviderOptionstypeFoundryRuntimeModelProviderOptionsConfiguration options for foundry runtime model provider.
FoundryThreadMessagetypeFoundryThreadMessageType contract for foundry thread message.
FoundryTokenResolvertypeFoundryTokenResolverToken resolver — returns a Bearer token for the Foundry runtime's managed Azure OpenAI surface. Implementations may cache and refresh.
MockAzureModelProvidervaluetypeof MockAzureModelProviderA deterministic ModelProvider for Azure agent tests and init templates. Returns structured responses without requiring real Azure credentials.
MockAzureModelProviderOptionstypeMockAzureModelProviderOptionsConfiguration options for mock azure model provider.
resolveToolRefsvalue(bundle: AzureBundle, refs: string[]) => ToolDef[]Resolves tool refs.

@fabric-harness/azure/aks-sandbox

ExportKindTypeScript signaturePurpose
aksSandboxvalue(options: AksSandboxOptions) => Promise<SandboxEnv>Sandbox adapter for aks.
AksSandboxOptionstypeAksSandboxOptionsAKS-flavored Kubernetes sandbox. Pulls cluster credentials from the AKS listClusterUserCredentials endpoint, builds a @kubernetes/client-node KubeConfig, and delegates to kubernetesSandbox. Requires both peer deps: ```sh npm install

@fabric-harness/azure/app-insights

ExportKindTypeScript signaturePurpose
ApplicationInsightsClientLiketypeApplicationInsightsClientLikeOptional Azure Monitor / Application Insights telemetry exporter. Adapts Fabric's TelemetrySpan shape into App Insights TelemetryClient trackDependency calls. The Azure Monitor SDK is provided by the caller — we don't take a hard dependency. Install peer dep: See the package declarations for an example. Usage: See the package declarations for an example.
applicationInsightsExportervalue(options: ApplicationInsightsExporterOptions) => TelemetryExporterRuntime API for application insights exporter; the generated signature shows its accepted inputs and return type.
ApplicationInsightsExporterOptionstypeApplicationInsightsExporterOptionsConfiguration options for application insights exporter.

@fabric-harness/azure/foundry-runtime

ExportKindTypeScript signaturePurpose
FoundryRuntimeModelProvidervaluetypeof FoundryRuntimeModelProviderModel provider that calls the Foundry-managed Azure OpenAI surface using a Bearer token (managed identity) instead of an API key. Designed for the Azure AI Foundry Hosted Agent runtime, but useful on any Azure compute with a managed identity (ACA / AKS / VM) — you don't need the Foundry runtime adapter to use this provider. The runtime injects: - AZURE_OPENAI_ENDPOINT — the Foundry-routed Azure OpenAI endpoint. - AZURE_OPENAI_DEPLOYMENT — the model deployment name. - FOUNDRY_AGENT_TOKEN (or AZURE_AI_FOUNDRY_TOKEN) — a pre-issued token when running inside the Hosted Agent contain...
FoundryRuntimeModelProviderOptionstypeFoundryRuntimeModelProviderOptionsConfiguration options for foundry runtime model provider.
FoundryTokenResolvertypeFoundryTokenResolverToken resolver — returns a Bearer token for the Foundry runtime's managed Azure OpenAI surface. Implementations may cache and refresh.

@fabric-harness/azure/agent

ExportKindTypeScript signaturePurpose
azurevalue(config: AzureBundleConfig) => AzureBundleBundle factory for Azure agents. Returns an AzureBundle with a model provider, Azure-specific tools, and a safe default egress policy.
AzureBundletypeAzureBundleType contract for azure bundle.
AzureBundleConfigtypeAzureBundleConfigType contract for azure bundle config.
defineAzureAgentvalue<TInput = JsonObject, TOutput = unknown>(options?: DefineAzureAgentOptions<TInput, TOutput>) => DefinedAgent<TInput, TOutput>Defines azure agent.
DefineAzureAgentOptionstypeDefineAzureAgentOptions<TInput, TOutput>Configuration options for define azure agent.
resolveToolRefsvalue(bundle: AzureBundle, refs: string[]) => ToolDef[]Resolves tool refs.

@fabric-harness/channels

@fabric-harness/channels

ExportKindTypeScript signaturePurpose
bytesToHexvalue(bytes: Uint8Array) => stringRuntime API for bytes to hex; the generated signature shows its accepted inputs and return type.
ChanneltypeChannelType contract for channel.
channelCompatibilityvalue{ readonly slack: { readonly subpath: "slack"; readonly status: "stable"; readonly inboundApi: "Slack Events API"; readonly outboundApi: "Slack Web API"; readonly sdk: "none"; }; readonly github: { readonly subpath: "github"; readonly status: "stable"; read...Published channel compatibility contract. Provider payload changes that only add fields are supported without a Fabric release; breaking provider versions are added here before becoming the default.
ChannelCompatibilitytypeChannelCompatibilityType contract for channel compatibility.
channelCompatibilityPolicyvalue{ readonly packageRule: "Adapters remain dependency-free subpaths unless a required SDK, runtime incompatibility, or independent release cadence requires a package."; readonly deprecationNoticeDays: 180; readonly removalRule: "Removal occurs only in a major release after...Runtime API for channel compatibility policy; the generated signature shows its accepted inputs and return type.
ChannelCompatibilityStatustypeChannelCompatibilityStatusType contract for channel compatibility status.
ChannelContexttypeChannelContextType contract for channel context.
ChannelDispatchtypeChannelDispatchType contract for channel dispatch.
ChannelDispatchRequesttypeChannelDispatchRequestInput contract for channel dispatch.
ChannelRoutetypeChannelRouteChannels turn platform webhooks (Slack, GitHub, …) into agent dispatches. Handlers are written against the Web Request/Response API and crypto.subtle, so the same channel runs on Node and Cloudflare. A channel is a stateless route container plus a conversation-id (de)serializer — session continuity falls out of the key (same thread → same key → same session).
conversationKeyvalue(provider: string, version: string, ...segments: string[]) => stringRuntime API for conversation key; the generated signature shows its accepted inputs and return type.
defineChannelvalue(channel: Channel) => ChannelValidates and brands a channel's routes.
FirstPartyChannelNametype"slack" | "github" | "discord" | "teams" | "telegram" | "twilio" | "whatsapp" | "googleChat" | "linear" | "notion" | "stripe" | "zendesk" | "intercom" | "shopify" | "messenger" | "resend" | "salesforceMarketingCloud" | "buzz"Type contract for first party channel name.
hexToBytesvalue(hex: string) => Uint8ArrayRuntime API for hex to bytes; the generated signature shows its accepted inputs and return type.
hmacSha256value(secret: string | Uint8Array, message: Uint8Array) => Promise<Uint8Array>Runtime API for hmac sha256; the generated signature shows its accepted inputs and return type.
parseConversationKeyvalue(key: string) => ParsedConversationKeyParses conversation key.
ParsedConversationKeytypeParsedConversationKeyType contract for parsed conversation key.
readRequestBodyvalue(request: Request, limitBytes?: number) => Promise<Uint8Array | undefined>Reads the full request body as bytes, or returns undefined if it exceeds limitBytes. NOTE: this consumes the request stream (single read). Signature-verifying channels need the exact bytes for HMAC and the parsed JSON afterward — don't call request.json() as well. Use readJsonBody to get both from one read.
verifyHmacSha256value(secret: string | Uint8Array, message: Uint8Array, signature: Uint8Array) => Promise<boolean>Constant-time HMAC-SHA256 verification (via crypto.subtle.verify).

@fabric-harness/channels/compatibility

ExportKindTypeScript signaturePurpose
channelCompatibilityvalue{ readonly slack: { readonly subpath: "slack"; readonly status: "stable"; readonly inboundApi: "Slack Events API"; readonly outboundApi: "Slack Web API"; readonly sdk: "none"; }; readonly github: { readonly subpath: "github"; readonly status: "stable"; read...Published channel compatibility contract. Provider payload changes that only add fields are supported without a Fabric release; breaking provider versions are added here before becoming the default.
ChannelCompatibilitytypeChannelCompatibilityType contract for channel compatibility.
channelCompatibilityPolicyvalue{ readonly packageRule: "Adapters remain dependency-free subpaths unless a required SDK, runtime incompatibility, or independent release cadence requires a package."; readonly deprecationNoticeDays: 180; readonly removalRule: "Removal occurs only in a major release after...Runtime API for channel compatibility policy; the generated signature shows its accepted inputs and return type.
ChannelCompatibilityStatustypeChannelCompatibilityStatusType contract for channel compatibility status.
FirstPartyChannelNametype"slack" | "github" | "discord" | "teams" | "telegram" | "twilio" | "whatsapp" | "googleChat" | "linear" | "notion" | "stripe" | "zendesk" | "intercom" | "shopify" | "messenger" | "resend" | "salesforceMarketingCloud" | "buzz"Type contract for first party channel name.

@fabric-harness/channels/slack

ExportKindTypeScript signaturePurpose
createSlackChannelvalue(options: SlackChannelOptions) => SlackChannelSlack events channel. Verifies the v0 HMAC signature, answers the URL-verification challenge, and dispatches app_mention / threaded message events to a persistent agent keyed by the Slack thread — with the Slack event_id as the dedupe key (exactly-once), the team as tenant, and the user as the acting actor (which is what powers on-behalf-of governance downstream).
parseSlackConversationKeyvalue(id: string) => SlackThreadRefParse a Slack instance id back into the thread ref (e.g. to bind replyInSlackThread at agent init).
replyInSlackThreadvalue(ref: SlackThreadRef, options: { botToken: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Outbound tool: reply in the Slack thread this agent is handling.
SlackChanneltypeSlackChannelType contract for slack channel.
SlackChannelOptionstypeSlackChannelOptionsConfiguration options for slack channel.
slackConversationKeyvalue(ref: SlackThreadRef) => stringSerialize a Slack thread into the stable instance id used by createSlackChannel.
SlackEventtypeSlackEventType contract for slack event.
SlackEventsPayloadtypeSlackEventsPayloadType contract for slack events payload.
SlackThreadReftypeSlackThreadRefType contract for slack thread ref.

@fabric-harness/channels/github

ExportKindTypeScript signaturePurpose
commentOnGitHubIssuevalue(ref: GitHubIssueRef, options: { token: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Outbound tool: comment on the GitHub issue / PR this agent is handling.
createGitHubChannelvalue(options: GitHubChannelOptions) => GitHubChannelGitHub webhook channel. Verifies the X-Hub-Signature-256 (sha256=<hex> HMAC over the raw body), and dispatches issue / PR / comment events to a persistent agent keyed by owner/repo/<kind>/<number> — with X-GitHub-Delivery as the dedupe key (exactly-once), the owner as tenant, and the sender as the acting actor. Bot senders are ignored to avoid loops; ping is acknowledged.
GitHubChanneltypeGitHubChannelType contract for git hub channel.
GitHubChannelOptionstypeGitHubChannelOptionsConfiguration options for git hub channel.
githubConversationKeyvalue(ref: GitHubIssueRef) => stringRuntime API for github conversation key; the generated signature shows its accepted inputs and return type.
GitHubIssueReftypeGitHubIssueRefType contract for git hub issue ref.
GitHubWebhookPayloadtypeGitHubWebhookPayloadType contract for git hub webhook payload.
NormalizedGitHubEventtypeNormalizedGitHubEventType contract for normalized git hub event.
normalizeGitHubEventvalue(eventType: string, payload: GitHubWebhookPayload) => NormalizedGitHubEvent | undefinedRuntime API for normalize git hub event; the generated signature shows its accepted inputs and return type.
parseGitHubConversationKeyvalue(id: string) => GitHubIssueRefParses git hub conversation key.

@fabric-harness/channels/discord

ExportKindTypeScript signaturePurpose
createDiscordChannelvalue(options: DiscordChannelOptions) => DiscordChannelCreates discord channel.
DiscordChanneltypeDiscordChannelType contract for discord channel.
DiscordChannelOptionstypeDiscordChannelOptionsConfiguration options for discord channel.
discordConversationKeyvalue(ref: DiscordConversationRef) => stringRuntime API for discord conversation key; the generated signature shows its accepted inputs and return type.
DiscordConversationReftypeDiscordConversationRefType contract for discord conversation ref.
DiscordInteractionPayloadtypeDiscordInteractionPayloadType contract for discord interaction payload.
parseDiscordConversationKeyvalue(id: string) => DiscordConversationRefParses discord conversation key.
replyInDiscordvalue(ref: DiscordConversationRef, options: { botToken: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Runtime API for reply in discord; the generated signature shows its accepted inputs and return type.
verifyDiscordSignaturevalue(publicKeyHex: string, timestamp: string, body: Uint8Array, signatureHex: string) => Promise<boolean>Runtime API for verify discord signature; the generated signature shows its accepted inputs and return type.

@fabric-harness/channels/teams

ExportKindTypeScript signaturePurpose
BotFrameworkAuthenticatorOptionstypeBotFrameworkAuthenticatorOptionsConfiguration options for bot framework authenticator.
createBotFrameworkAuthenticatorvalue(options: BotFrameworkAuthenticatorOptions) => NonNullable<TeamsChannelOptions["authenticate"]>Verify Microsoft Bot Connector signatures, issuer, audience, lifetime, service URL, and endorsement.
createTeamsChannelvalue(options: TeamsChannelOptions) => TeamsChannelCreates teams channel.
parseTeamsConversationKeyvalue(id: string) => TeamsConversationRefParses teams conversation key.
replyInTeamsConversationvalue(ref: TeamsConversationRef, options: { accessToken: string | (() => string | Promise<string>); fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Runtime API for reply in teams conversation; the generated signature shows its accepted inputs and return type.
TeamsActivityPayloadtypeTeamsActivityPayloadType contract for teams activity payload.
TeamsChanneltypeTeamsChannelType contract for teams channel.
TeamsChannelOptionstypeTeamsChannelOptionsConfiguration options for teams channel.
teamsConversationKeyvalue(ref: TeamsConversationRef) => stringRuntime API for teams conversation key; the generated signature shows its accepted inputs and return type.
TeamsConversationReftypeTeamsConversationRefType contract for teams conversation ref.

@fabric-harness/channels/telegram

ExportKindTypeScript signaturePurpose
createTelegramChannelvalue(options: TelegramChannelOptions) => TelegramChannelCreates telegram channel.
parseTelegramConversationKeyvalue(id: string) => TelegramConversationRefParses telegram conversation key.
replyInTelegramvalue(ref: TelegramConversationRef, options: { botToken: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Runtime API for reply in telegram; the generated signature shows its accepted inputs and return type.
TelegramChanneltypeTelegramChannelType contract for telegram channel.
TelegramChannelOptionstypeTelegramChannelOptionsConfiguration options for telegram channel.
telegramConversationKeyvalue(ref: TelegramConversationRef) => stringRuntime API for telegram conversation key; the generated signature shows its accepted inputs and return type.
TelegramConversationReftypeTelegramConversationRefType contract for telegram conversation ref.
TelegramMessagePayloadtypeTelegramMessagePayloadType contract for telegram message payload.
TelegramUpdatePayloadtypeTelegramUpdatePayloadType contract for telegram update payload.

@fabric-harness/channels/twilio

ExportKindTypeScript signaturePurpose
createTwilioChannelvalue(options: TwilioChannelOptions) => TwilioChannelCreates twilio channel.
parseTwilioConversationKeyvalue(id: string) => TwilioConversationRefParses twilio conversation key.
replyWithTwiliovalue(ref: TwilioConversationRef, options: { authToken: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Runtime API for reply with twilio; the generated signature shows its accepted inputs and return type.
TwilioChanneltypeTwilioChannelType contract for twilio channel.
TwilioChannelOptionstypeTwilioChannelOptionsConfiguration options for twilio channel.
twilioConversationKeyvalue(ref: TwilioConversationRef) => stringRuntime API for twilio conversation key; the generated signature shows its accepted inputs and return type.
TwilioConversationReftypeTwilioConversationRefType contract for twilio conversation ref.
TwilioMessagePayloadtypeTwilioMessagePayloadType contract for twilio message payload.
verifyTwilioSignaturevalue(authToken: string, url: string, params: URLSearchParams, signature: string) => Promise<boolean>Runtime API for verify twilio signature; the generated signature shows its accepted inputs and return type.

@fabric-harness/channels/whatsapp

ExportKindTypeScript signaturePurpose
createWhatsAppChannelvalue(options: WhatsAppChannelOptions) => WhatsAppChannelCreates whats app channel.
parseWhatsAppConversationKeyvalue(id: string) => WhatsAppConversationRefParses whats app conversation key.
replyInWhatsAppvalue(ref: WhatsAppConversationRef, options: { accessToken: string; apiVersion?: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Runtime API for reply in whats app; the generated signature shows its accepted inputs and return type.
WhatsAppChanneltypeWhatsAppChannelType contract for whats app channel.
WhatsAppChannelOptionstypeWhatsAppChannelOptionsConfiguration options for whats app channel.
whatsAppConversationKeyvalue(ref: WhatsAppConversationRef) => stringRuntime API for whats app conversation key; the generated signature shows its accepted inputs and return type.
WhatsAppConversationReftypeWhatsAppConversationRefType contract for whats app conversation ref.
WhatsAppWebhookPayloadtypeWhatsAppWebhookPayloadType contract for whats app webhook payload.

@fabric-harness/channels/google-chat

ExportKindTypeScript signaturePurpose
createGoogleChatChannelvalue(options: GoogleChatChannelOptions) => GoogleChatChannelCreates google chat channel.
GoogleChatChanneltypeGoogleChatChannelType contract for google chat channel.
GoogleChatChannelOptionstypeGoogleChatChannelOptionsConfiguration options for google chat channel.
googleChatConversationKeyvalue(ref: GoogleChatConversationRef) => stringRuntime API for google chat conversation key; the generated signature shows its accepted inputs and return type.
GoogleChatConversationReftypeGoogleChatConversationRefType contract for google chat conversation ref.
GoogleChatEventtypeGoogleChatEventType contract for google chat event.
parseGoogleChatConversationKeyvalue(id: string) => GoogleChatConversationRefParses google chat conversation key.
replyInGoogleChatvalue(ref: GoogleChatConversationRef, options: { accessToken: string; space: string; thread?: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Runtime API for reply in google chat; the generated signature shows its accepted inputs and return type.
verifyGoogleChatRequestvalue(request: Request, options: { audience: string | readonly string[]; fetchImpl?: typeof fetch | undefined; now?: (() => number) | undefined; }) => Promise<boolean>Input contract for verify google chat.

@fabric-harness/channels/linear

ExportKindTypeScript signaturePurpose
commentOnLinearIssuevalue(ref: LinearConversationRef, options: { apiKey: string; issueId: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Runtime API for comment on linear issue; the generated signature shows its accepted inputs and return type.
createLinearChannelvalue(options: LinearChannelOptions) => LinearChannelCreates linear channel.
LinearChanneltypeLinearChannelType contract for linear channel.
LinearChannelOptionstypeLinearChannelOptionsConfiguration options for linear channel.
linearConversationKeyvalue(ref: LinearConversationRef) => stringRuntime API for linear conversation key; the generated signature shows its accepted inputs and return type.
LinearConversationReftypeLinearConversationRefType contract for linear conversation ref.
LinearWebhookPayloadtypeLinearWebhookPayloadType contract for linear webhook payload.
parseLinearConversationKeyvalue(id: string) => SimpleConversationRefParses linear conversation key.

@fabric-harness/channels/notion

ExportKindTypeScript signaturePurpose
commentOnNotionPagevalue(ref: NotionConversationRef, options: { token: string; parentId: string; notionVersion?: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Runtime API for comment on notion page; the generated signature shows its accepted inputs and return type.
createNotionChannelvalue(options: NotionChannelOptions) => NotionChannelCreates notion channel.
NotionChanneltypeNotionChannelType contract for notion channel.
NotionChannelOptionstypeNotionChannelOptionsConfiguration options for notion channel.
notionConversationKeyvalue(ref: NotionConversationRef) => stringRuntime API for notion conversation key; the generated signature shows its accepted inputs and return type.
NotionConversationReftypeNotionConversationRefType contract for notion conversation ref.
NotionWebhookPayloadtypeNotionWebhookPayloadType contract for notion webhook payload.
parseNotionConversationKeyvalue(id: string) => SimpleConversationRefParses notion conversation key.

@fabric-harness/channels/stripe

ExportKindTypeScript signaturePurpose
createStripeChannelvalue(options: StripeChannelOptions) => StripeChannelCreates stripe channel.
parseStripeConversationKeyvalue(id: string) => SimpleConversationRefParses stripe conversation key.
StripeChanneltypeStripeChannelType contract for stripe channel.
StripeChannelOptionstypeStripeChannelOptionsConfiguration options for stripe channel.
stripeConversationKeyvalue(ref: StripeConversationRef) => stringRuntime API for stripe conversation key; the generated signature shows its accepted inputs and return type.
StripeConversationReftypeStripeConversationRefType contract for stripe conversation ref.
StripeEventPayloadtypeStripeEventPayloadType contract for stripe event payload.
updateStripeCustomervalue(ref: StripeConversationRef, options: { secretKey: string; customerId: string; fetchImpl?: typeof fetch; }) => ToolDef<{ description: string; }, unknown>Runtime API for update stripe customer; the generated signature shows its accepted inputs and return type.
verifyStripeSignaturevalue(secret: string, raw: Uint8Array, header: string | null, options?: { toleranceSeconds?: number; now?: () => number; }) => Promise<boolean>Runtime API for verify stripe signature; the generated signature shows its accepted inputs and return type.

@fabric-harness/channels/zendesk

ExportKindTypeScript signaturePurpose
commentOnZendeskTicketvalue(ref: ZendeskConversationRef, options: { subdomain: string; token: string; email: string; ticketId: string | number; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; public?: boolean; }, unknown>Runtime API for comment on zendesk ticket; the generated signature shows its accepted inputs and return type.
createZendeskChannelvalue(options: ZendeskChannelOptions) => ZendeskChannelCreates zendesk channel.
parseZendeskConversationKeyvalue(id: string) => SimpleConversationRefParses zendesk conversation key.
ZendeskChanneltypeZendeskChannelType contract for zendesk channel.
ZendeskChannelOptionstypeZendeskChannelOptionsConfiguration options for zendesk channel.
zendeskConversationKeyvalue(ref: ZendeskConversationRef) => stringRuntime API for zendesk conversation key; the generated signature shows its accepted inputs and return type.
ZendeskConversationReftypeZendeskConversationRefType contract for zendesk conversation ref.
ZendeskWebhookPayloadtypeZendeskWebhookPayloadType contract for zendesk webhook payload.

@fabric-harness/channels/intercom

ExportKindTypeScript signaturePurpose
createIntercomChannelvalue(options: IntercomChannelOptions) => IntercomChannelCreates intercom channel.
IntercomChanneltypeIntercomChannelType contract for intercom channel.
IntercomChannelOptionstypeIntercomChannelOptionsConfiguration options for intercom channel.
intercomConversationKeyvalue(ref: IntercomConversationRef) => stringRuntime API for intercom conversation key; the generated signature shows its accepted inputs and return type.
IntercomConversationReftypeIntercomConversationRefType contract for intercom conversation ref.
IntercomWebhookPayloadtypeIntercomWebhookPayloadType contract for intercom webhook payload.
parseIntercomConversationKeyvalue(id: string) => SimpleConversationRefParses intercom conversation key.
replyInIntercomvalue(ref: IntercomConversationRef, options: { accessToken: string; conversationId: string; adminId: string; apiVersion?: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Runtime API for reply in intercom; the generated signature shows its accepted inputs and return type.

@fabric-harness/channels/shopify

ExportKindTypeScript signaturePurpose
createShopifyChannelvalue(options: ShopifyChannelOptions) => ShopifyChannelCreates shopify channel.
parseShopifyConversationKeyvalue(id: string) => SimpleConversationRefParses shopify conversation key.
ShopifyChanneltypeShopifyChannelType contract for shopify channel.
ShopifyChannelOptionstypeShopifyChannelOptionsConfiguration options for shopify channel.
shopifyConversationKeyvalue(ref: ShopifyConversationRef) => stringRuntime API for shopify conversation key; the generated signature shows its accepted inputs and return type.
ShopifyConversationReftypeShopifyConversationRefType contract for shopify conversation ref.
ShopifyWebhookPayloadtypeShopifyWebhookPayloadType contract for shopify webhook payload.
updateShopifyOrderNotevalue(ref: ShopifyConversationRef, options: { shop: string; accessToken: string; orderId: string; apiVersion?: string; fetchImpl?: typeof fetch; }) => ToolDef<{ note: string; }, unknown>Runtime API for update shopify order note; the generated signature shows its accepted inputs and return type.

@fabric-harness/channels/messenger

ExportKindTypeScript signaturePurpose
createMessengerChannelvalue(options: MessengerChannelOptions) => MessengerChannelCreates messenger channel.
MessengerChanneltypeMessengerChannelType contract for messenger channel.
MessengerChannelOptionstypeMessengerChannelOptionsConfiguration options for messenger channel.
messengerConversationKeyvalue(ref: MessengerConversationRef) => stringRuntime API for messenger conversation key; the generated signature shows its accepted inputs and return type.
MessengerConversationReftypeMessengerConversationRefType contract for messenger conversation ref.
MessengerWebhookPayloadtypeMessengerWebhookPayloadType contract for messenger webhook payload.
parseMessengerConversationKeyvalue(id: string) => MessengerConversationRefParses messenger conversation key.
replyInMessengervalue(ref: MessengerConversationRef, options: { pageAccessToken: string; apiVersion?: string; fetchImpl?: typeof fetch; }) => ToolDef<{ text: string; }, unknown>Runtime API for reply in messenger; the generated signature shows its accepted inputs and return type.

@fabric-harness/channels/resend

ExportKindTypeScript signaturePurpose
createResendChannelvalue(options: ResendChannelOptions) => ResendChannelCreates resend channel.
parseResendConversationKeyvalue(id: string) => SimpleConversationRefParses resend conversation key.
ResendChanneltypeResendChannelType contract for resend channel.
ResendChannelOptionstypeResendChannelOptionsConfiguration options for resend channel.
resendConversationKeyvalue(ref: ResendConversationRef) => stringRuntime API for resend conversation key; the generated signature shows its accepted inputs and return type.
ResendConversationReftypeResendConversationRefType contract for resend conversation ref.
ResendWebhookPayloadtypeResendWebhookPayloadType contract for resend webhook payload.
sendWithResendvalue(ref: ResendConversationRef, options: { apiKey: string; from: string; to: string; fetchImpl?: typeof fetch; }) => ToolDef<{ subject: string; text: string; }, unknown>Runtime API for send with resend; the generated signature shows its accepted inputs and return type.
verifyResendSignaturevalue(secret: string, raw: Uint8Array, headers: Headers, options?: { toleranceSeconds?: number; now?: () => number; }) => Promise<boolean>Runtime API for verify resend signature; the generated signature shows its accepted inputs and return type.

@fabric-harness/channels/salesforce-marketing-cloud

ExportKindTypeScript signaturePurpose
createSalesforceMarketingCloudChannelvalue(options: SalesforceMarketingCloudChannelOptions) => SalesforceMarketingCloudChannelCreates salesforce marketing cloud channel.
parseSalesforceMarketingCloudConversationKeyvalue(id: string) => SimpleConversationRefParses salesforce marketing cloud conversation key.
SalesforceMarketingCloudChanneltypeSalesforceMarketingCloudChannelType contract for salesforce marketing cloud channel.
SalesforceMarketingCloudChannelOptionstypeSalesforceMarketingCloudChannelOptionsConfiguration options for salesforce marketing cloud channel.
salesforceMarketingCloudConversationKeyvalue(ref: SalesforceMarketingCloudConversationRef) => stringRuntime API for salesforce marketing cloud conversation key; the generated signature shows its accepted inputs and return type.
SalesforceMarketingCloudConversationReftypeSalesforceMarketingCloudConversationRefType contract for salesforce marketing cloud conversation ref.
SalesforceMarketingCloudEventtypeSalesforceMarketingCloudEventType contract for salesforce marketing cloud event.
SalesforceMarketingCloudWebhookPayloadtypeSalesforceMarketingCloudWebhookPayloadType contract for salesforce marketing cloud webhook payload.
sendMarketingCloudMessagevalue(ref: SalesforceMarketingCloudConversationRef, options: { restBaseUrl: string; accessToken: string; definitionKey: string; recipient: string; fetchImpl?: typeof fetch; }) => ToolDef<{ attributes: Record<string, string>; }, unknown>Runtime API for send marketing cloud message; the generated signature shows its accepted inputs and return type.

@fabric-harness/channels/buzz

ExportKindTypeScript signaturePurpose
addBuzzReactionvalue(ref: BuzzThreadRef, config: BuzzPostConfig) => ToolDef<{ emoji: string; targetEventId: string; }, BuzzPostResult>Outbound tool: add an emoji reaction to an event in the handled channel.
BUZZ_PROTOCOL_SUPPORTvalue{ readonly channelMessages: "dispatch"; readonly forumMessages: "dispatch"; readonly reactions: "dispatch"; readonly messageEdits: "observe-only"; readonly eventDeletions: "observe-only"; readonly reactionRemoval: "observe-only-no-decision-reversal"; readonly channelDelet...Explicit product support policy for stock Buzz protocol surfaces.
BuzzChanneltypeBuzzChannelType contract for buzz channel.
BuzzChannelOptionstypeBuzzChannelOptionsConfiguration options for buzz channel.
buzzConversationKeyvalue(ref: BuzzThreadRef) => stringSerialize a Buzz thread into the stable instance id used by createBuzzChannel.
BuzzEnvelopetypeBuzzEnvelopeType contract for buzz envelope.
BuzzEventtypeBuzzEventNostr event shape (NIP-01). Kept local so the handler path stays SDK-only.
buzzHttpUrlvalue(relayUrl: string) => stringConvert a relay WebSocket URL to its HTTP origin (Buzz serves both on one port).
BuzzLifecycleNoticetypeBuzzLifecycleNoticeContent-free lifecycle evidence. Lifecycle events never enter model input and never reverse an immutable Platform decision. Applications may persist this through an operator/audit sink.
BuzzLifecycleTypetypeBuzzLifecycleTypeType contract for buzz lifecycle type.
buzzNip98AuthHeadervalue(secretKeyHex: string, url: string, method: string, bodyText?: string, now?: () => number) => Promise<string>Build the Authorization: Nostr <base64(kind-27235)> header for a Buzz HTTP-bridge request. Includes the payload sha256 tag when a body is given (NIP-98 SHOULD for POST; Buzz verifies it when present). Each call mints a fresh single-use event — the relay replay-guards by event id.
BuzzPostConfigtypeBuzzPostConfigType contract for buzz post config.
BuzzPostResulttypeBuzzPostResultResult returned by buzz post.
buzzPublicKeyvalue(secretKeyHex: string) => stringDerive the adapter identity's public key from its secret key (64-char hex).
BuzzRelayInfotypeBuzzRelayInfoNIP-11 relay information document (feature detection — plan §5.5).
BuzzThreadReftypeBuzzThreadRefType contract for buzz thread ref.
classifyBuzzLifecycleEventvalue(event: BuzzEvent, channelId?: string | undefined) => BuzzLifecycleNotice | undefinedClassify lifecycle kinds without inspecting or returning event content.
createBuzzChannelvalue(options: BuzzChannelOptions) => BuzzChannelBuzz events channel. Verifies the tail envelope HMAC (timestamped, replay bounded), verifies the inner event's Schnorr signature, normalizes stream messages / forum posts / reactions, and dispatches to a persistent agent keyed by (community, channel, thread root) — with the Nostr event id as the dedupe key (exactly-once), the community as tenant, and the author pubkey as the acting actor.
createSignedBuzzEventvalue(config: BuzzPostConfig, template: { kind: number; content: string; tags: string[][]; }) => BuzzEventBuild the exact signed event that will be submitted to Buzz.
parseBuzzConversationKeyvalue(id: string) => BuzzThreadRefParse a Buzz instance id back into the thread ref.
postBuzzDecisionRequestvalue(ref: BuzzThreadRef, config: BuzzPostConfig) => ToolDef<{ approvalRequestId: string; title: string; body: string; options?: string[]; }, BuzzPostResult>Outbound tool: post a decision-request card.
postInBuzzChannelvalue(ref: BuzzThreadRef, config: BuzzPostConfig) => ToolDef<{ text: string; }, BuzzPostResult>Outbound tool: post a message in the Buzz channel this agent is handling.
postSignedBuzzEventvalue(config: BuzzPostConfig, template: { kind: number; content: string; tags: string[][]; }) => Promise<BuzzPostResult>Sign a Buzz event with the adapter identity and submit it over the relay HTTP bridge.
probeBuzzRelayvalue(relayUrl: string, fetchImpl?: typeof fetch, options?: { signal?: AbortSignal; requestTimeoutMs?: number; }) => Promise<BuzzRelayInfo>Probe a Buzz relay's NIP-11 document. Detect features; never assume them.
queryBuzzEventsvalue(config: BuzzPostConfig, filters: ReadonlyArray<Record<string, unknown>>) => Promise<BuzzEvent[]>Authenticated HTTP-bridge query used by recovery and reconciliation paths.
replyInBuzzThreadvalue(ref: BuzzThreadRef, config: BuzzPostConfig) => ToolDef<{ text: string; }, BuzzPostResult>Outbound tool: reply in the Buzz thread this agent is handling.
signBuzzEnvelopevalue(secret: string, timestampSeconds: number, rawBody: string) => Promise<string>Family signed-envelope standard: v1=hex(hmac-sha256(secret, "<ts>.<body>")).
submitSignedBuzzEventvalue(config: BuzzPostConfig, event: BuzzEvent) => Promise<BuzzPostResult>Submit one already-signed event without changing its stable event id.
verifyBuzzEventvalue(event: BuzzEvent) => booleanVerify a complete NIP-01 event id and Schnorr signature.

@fabric-harness/channels/buzz-tail

ExportKindTypeScript signaturePurpose
BuzzCursorStoretypeBuzzCursorStoreDurable cursor persistence. Implementations must survive process restarts (file, database, durable object …). inMemoryBuzzCursorStore exists for tests and explicitly does NOT satisfy plan D15 in production.
BuzzDeadLetterReasontypeBuzzDeadLetterReasonType contract for buzz dead letter reason.
BuzzDeadLetterRecordtypeBuzzDeadLetterRecordType contract for buzz dead letter record.
BuzzDeadLetterStoretypeBuzzDeadLetterStoreDurable dead-letter backlog. Recording and reconciliation marking must be idempotent by event id; listing must return only unresolved records.
BuzzTailtypeBuzzTailType contract for buzz tail.
BuzzTailOperationalEventtypeBuzzTailOperationalEventContent-free operational events suitable for metrics and certification evidence.
BuzzTailOptionstypeBuzzTailOptionsConfiguration options for buzz tail.
inMemoryBuzzCursorStorevalue(initial?: number) => BuzzCursorStore & { current(): number | undefined; }Test/development cursor store. Not durable — never use in production.
reconcileBuzzDeadLettersvalue(options: ReconcileBuzzDeadLettersOptions) => Promise<{ attempted: number; reconciled: number; }>Reconcile one bounded dead-letter batch. Records are acknowledged only after replay succeeds, so failed records remain visible for later repair.
ReconcileBuzzDeadLettersOptionstypeReconcileBuzzDeadLettersOptionsConfiguration options for reconcile buzz dead letters.
startBuzzTailvalue(options: BuzzTailOptions) => BuzzTailStart tailing a Buzz relay with durable, ordered, at-least-once forwarding.

@fabric-harness/channels/buzz-decisions

ExportKindTypeScript signaturePurpose
BUZZ_DECISION_EMOJIvalueReadonly<Record<string, "approve" | "reject">>Fixed reaction→choice table (D14). NIP-25 +/- are included alongside the emoji the card legend shows. Anything else on a card is unmapped — surfaced for audit, never guessed.
BuzzCardReceipttypeBuzzCardReceiptThe binding between a posted card and its ApprovalRequest (plan §4 step 2). Stored by the trusted renderer beside the request; the bridge resolves reactions through it and through nothing else.
BuzzCardReceiptStoretypeBuzzCardReceiptStoreReceipt lookup shared by ingress correlation and the deterministic bridge.
BuzzDecisionBridgeOptionstypeBuzzDecisionBridgeOptionsConfiguration options for buzz decision bridge.
BuzzDecisionCandidatetypeBuzzDecisionCandidateType contract for buzz decision candidate.
BuzzDecisionCardDeliverytypeBuzzDecisionCardDeliveryDurable outbox record for one canonical decision card. The exact signed event is persisted before relay I/O, making its Nostr id stable across retries and ambiguous network outcomes.
buzzDecisionCardDeliveryKeyvalue(community: string, channelId: string, approvalRequestId: string, requestVersion: number) => stringStable logical identity for one request version on one Buzz surface.
BuzzDecisionCardDeliveryStatustypeBuzzDecisionCardDeliveryStatusType contract for buzz decision card delivery status.
BuzzDecisionCardDeliveryStoretypeBuzzDecisionCardDeliveryStoreProduction decision-card store. Implement this beside the vertical's ApprovalRequest. prepareDelivery is an immutable put-if-absent by deliveryKey and returns the existing record on retry. Publication marking must be idempotent.
BuzzDecisionCardInputtypeBuzzDecisionCardInputDeterministic, model-free decision surface for Buzz (Fabric Buzz Collaboration Plan D14; B1-H items 5–6). A signed reaction is mapped by trusted code from (community, channel, targetEventId) to exactly one immutable ApprovalRequest via a card receipt stored when the card was posted. A model may explain or acknowledge the result; it never selects the request, choice, principal, edits, or parameters. Free-form replies to a card are edit proposals — never approvals — until validated and explicitly confirmed through a structured decision path. Layering: this module performs zero autho...
BuzzDecisionResolutiontypeBuzzDecisionResolutionType contract for buzz decision resolution.
BuzzEditProposaltypeBuzzEditProposalType contract for buzz edit proposal.
BuzzMessageInputtypeBuzzMessageInputNormalized message input as dispatched by the Buzz channel route.
BuzzReactionInputtypeBuzzReactionInputNormalized reaction input as dispatched by the Buzz channel route.
createBuzzDecisionBridgevalue(options: BuzzDecisionBridgeOptions) => { resolveReaction: (reaction: BuzzReactionInput) => Promise<BuzzDecisionResolution>; resolveReply: (message: BuzzMessageInput) => Promise<BuzzDecisionResolution>; }The deterministic decision bridge (plan §4 steps 4–5). Pure lookup + fixed tables; no clock, no model, no authorization. Returns what the event is — the vertical's governed action decides what happens.
inMemoryBuzzCardReceiptStorevalue() => BuzzDecisionCardDeliveryStore & { all(): BuzzCardReceipt[]; deliveries(): BuzzDecisionCardDelivery[]; }Test/development receipt store. Not durable — never use in production.
postBuzzDecisionCardvalue(ref: BuzzThreadRef, config: BuzzPostConfig & { deliveryStore: BuzzDecisionCardDeliveryStore; now?: () => number; }) => ToolDef<BuzzDecisionCardInput, BuzzCardReceipt>Outbound tool: durably prepare the exact signed event + receipt, submit it, reconcile an ambiguous response by exact event id, then checkpoint publication. Returns the receipt. Posting a card grants nothing by itself.
renderBuzzDecisionCardvalue(input: BuzzDecisionCardInput) => { content: string; tags: string[][]; }Render the canonical decision card. Pure and deterministic: identical input yields byte-identical content and tags. The card's human-readable content is informational; all authority derives from the stored receipt, never from parsing this text back.

@fabric-harness/channels/buzz-postgres

ExportKindTypeScript signaturePurpose
BuzzPostgresClienttypeBuzzPostgresClientStructural client contract implemented by pg.Pool and Lakebase clients.
BuzzPostgresHealthtypeBuzzPostgresHealthContent-free operational evidence for one durable Buzz bridge consumer.
BuzzPostgresPersistencetypeBuzzPostgresPersistenceType contract for buzz postgres persistence.
BuzzPostgresPersistenceOptionstypeBuzzPostgresPersistenceOptionsConfiguration options for buzz postgres persistence.
createPostgresBuzzPersistencevalue(options: BuzzPostgresPersistenceOptions) => BuzzPostgresPersistenceCreate the durable Buzz bridge state used by PostgreSQL and Databricks Lakebase deployments. No pg dependency is loaded by the channels package; applications inject their existing pool/client.
ensurePostgresBuzzTablesvalue(client: BuzzPostgresClient, options?: { tablePrefix?: string; }) => Promise<void>Runtime API for ensure postgres buzz tables; the generated signature shows its accepted inputs and return type.
inspectPostgresBuzzHealthvalue(client: BuzzPostgresClient, options: InspectPostgresBuzzHealthOptions) => Promise<BuzzPostgresHealth>Inspect durable Buzz bridge state without creating tables or reading event, dead-letter, or decision-card payloads. This is safe for read-only certification principals and returns only bounded operational counters.
InspectPostgresBuzzHealthOptionstypeInspectPostgresBuzzHealthOptionsConfiguration options for inspect postgres buzz health.

@fabric-harness/channels/buzz-attestation

ExportKindTypeScript signaturePurpose
computeBuzzAuthTagvalue(ownerSecretKeyHex: string, agentPubkeyHex: string, conditions?: string) => stringCompute a NIP-OA auth tag as its canonical JSON-array string. Runs anywhere the adapter runs — no Rust toolchain needed for enrollment. Self-attestation (owner == agent) is rejected, matching the relay.
parseBuzzAuthTagvalue(tagJson: string) => [string, string, string, string]Parse and shape-check an auth-tag JSON string (from config/env) into the four-string tag array to attach to an AUTH event. Fails fast on malformed input so a mangled tag (the classic shell-sourced-.env bug) surfaces at startup, not as a silent 403 at the relay.
validateBuzzAuthConditionsvalue(conditions: string) => voidValidate a NIP-OA conditions string: empty, or &-joined clauses of kind=<0-65535>, created_at<<u32>, created_at><u32>. Canonical decimals only, no whitespace — mirrors buzz-sdk's validation so a tag we mint is a tag the relay accepts.

@fabric-harness/channels/buzz-doctor

ExportKindTypeScript signaturePurpose
BuzzDiagnostictypeBuzzDiagnosticType contract for buzz diagnostic.
diagnoseBuzzConnectionvalue(options: DiagnoseBuzzOptions) => Promise<BuzzDiagnostic[]>Runtime API for diagnose buzz connection; the generated signature shows its accepted inputs and return type.
DiagnoseBuzzOptionstypeDiagnoseBuzzOptionsConfiguration options for diagnose buzz.
formatBuzzDiagnosticsvalue(diagnostics: BuzzDiagnostic[]) => stringRender diagnostics as aligned operator-readable lines.

@fabric-harness/channels/buzz-media

ExportKindTypeScript signaturePurpose
BuzzAttachmenttypeBuzzAttachmentType contract for buzz attachment.
buzzAttachmentMarkdownvalue(attachments: readonly BuzzAttachment[]) => stringContent lines that make attachments render inline: ![image](url) / ![video](url) for media MIME types, a plain markdown link otherwise.
buzzImetaTagsvalue(attachments: readonly BuzzAttachment[]) => string[][]NIP-92 imeta tags, mirroring the desktop composer's field policy.
uploadBuzzAttachmentvalue(config: BuzzPostConfig, data: Uint8Array, options: { contentType: string; filename?: string; }) => Promise<BuzzAttachment>Upload one attachment to the relay's Blossom endpoint. Returns the descriptor needed for buzzImetaTags / buzzAttachmentMarkdown.

@fabric-harness/cli

@fabric-harness/cli

ExportKindTypeScript signaturePurpose
No named exports

@fabric-harness/cli/config

ExportKindTypeScript signaturePurpose
defineConfigvalue<T extends DefineConfigInput>(config: T) => TDefines config.
DefineConfigInputtypeDefineConfigInputType contract for define config input.

@fabric-harness/cloudflare

@fabric-harness/cloudflare

ExportKindTypeScript signaturePurpose
cloudflarevalue(config: CloudflareBundleConfig) => CloudflareBundleOne-call wiring for a Cloudflare-native agent: model provider, Workers AI binding tools, a safe default egress policy, and an optional Durable Object session store.
CLOUDFLARE_BUILD_TARGETvalue"cloudflare"Constant defining cloudflare build target.
CloudflareBundletypeCloudflareBundleType contract for cloudflare bundle.
CloudflareBundleConfigtypeCloudflareBundleConfigType contract for cloudflare bundle config.
CloudflareCronHandlerOptionstypeCloudflareCronHandlerOptions<TEnv>Configuration options for cloudflare cron handler.
CloudflareDurableObjectNamespaceLiketypeCloudflareDurableObjectNamespaceLikeType contract for cloudflare durable object namespace like.
CloudflareDurableObjectSessionStoreOptionstypeCloudflareDurableObjectSessionStoreOptionsConfiguration options for cloudflare durable object session store.
CloudflareDurableObjectSqlStoragetypeCloudflareDurableObjectSqlStorageType contract for cloudflare durable object sql storage.
CloudflareDurablePersistenceStorestypeCloudflareDurablePersistenceStoresType contract for cloudflare durable persistence stores.
CloudflareExecutionContextLiketypeCloudflareExecutionContextLikeType contract for cloudflare execution context like.
CloudflareExtensiontypeCloudflareExtensionType contract for cloudflare extension.
CloudflareIndexedRuntypeCloudflareIndexedRunType contract for cloudflare indexed run.
CloudflareIndexedRunStatustypeCloudflareIndexedRunStatusType contract for cloudflare indexed run status.
CloudflareR2BucketLiketypeCloudflareR2BucketLikeType contract for cloudflare r2 bucket like.
CloudflareR2ListResultLiketypeCloudflareR2ListResultLikeType contract for cloudflare r2 list result like.
CloudflareR2ObjectBodyLiketypeCloudflareR2ObjectBodyLikeType contract for cloudflare r2 object body like.
CloudflareRunListOptionstypeCloudflareRunListOptionsConfiguration options for cloudflare run list.
CloudflareRunListPagetypeCloudflareRunListPageType contract for cloudflare run list page.
CloudflareRunRegistrytypeCloudflareRunRegistryType contract for cloudflare run registry.
CloudflareRunRegistryClienttypeCloudflareRunRegistryClientClient implementation for cloudflare run registry.
CloudflareSandboxEnvOptionstypeCloudflareSandboxEnvOptionsConfiguration options for cloudflare sandbox env.
CloudflareSandboxExecResulttypeCloudflareSandboxExecResultResult returned by cloudflare sandbox exec.
CloudflareSandboxFileInfotypeCloudflareSandboxFileInfoType contract for cloudflare sandbox file info.
CloudflareSandboxLiketypeCloudflareSandboxLikeType contract for cloudflare sandbox like.
CloudflareSandboxProcessLiketypeCloudflareSandboxProcessLikeType contract for cloudflare sandbox process like.
CloudflareScheduledControllertypeCloudflareScheduledControllerType contract for cloudflare scheduled controller.
CloudflareScheduledJobtypeCloudflareScheduledJobType contract for cloudflare scheduled job.
cloudflareScheduleIdempotencyKeyvalue(job: string, expression: string, scheduledTime: number) => stringRuntime API for cloudflare schedule idempotency key; the generated signature shows its accepted inputs and return type.
createCloudflareCronHandlervalue<TEnv = unknown>(options: CloudflareCronHandlerOptions<TEnv>) => (controller: CloudflareScheduledController, env: TEnv, context: CloudflareExecutionContextLike) => Promise<JobInvocationReceipt[]>Build a Cloudflare scheduled() handler that admits matching jobs through the finite-run seam.
createCloudflareDurableObjectSessionStorevalue(sql: CloudflareDurableObjectSqlStorage, options?: CloudflareDurableObjectSessionStoreOptions) => SessionStoreMinimal Durable Object SQL-backed SessionStore used by the Cloudflare build target. It intentionally depends only on the small SQL shape exposed by Workers Durable Objects so Cloudflare SDK types do not leak into the SDK.
createCloudflareDurablePersistenceStoresvalue(sql: CloudflareDurableObjectSqlStorage) => CloudflareDurablePersistenceStoresDurable Object SQLite stores for the v2 submission and stream lifecycle.
createCloudflareRunRegistryvalue(sql: CloudflareDurableObjectSqlStorage) => CloudflareRunRegistryTenant-aware cross-Durable-Object index for finite job runs. Per-run Durable Objects remain authoritative. This index only stores the fields needed for discovery, so a registry outage cannot corrupt a run.
createCloudflareRunRegistryClientvalue(namespace: CloudflareDurableObjectNamespaceLike | undefined) => CloudflareRunRegistryClient | undefinedCreates cloudflare run registry client.
createCloudflareRunStorevalue(sql: CloudflareDurableObjectSqlStorage) => RunStoreCloudflare Durable Object SQL-backed RunStore for workflow events. Enforces append-only semantics via a UNIQUE(run_id, event_index) primary key on the fabric_harness_workflow_events table. Duplicate event indexes for the same runId are rejected at the storage layer. A BEFORE INSERT trigger on fabric_harness_runs deletes existing events when a run is reset with the same id (same-ID reset behaviour).
createCloudflareSandboxEnvvalue(sandbox: CloudflareSandboxLike, options?: CloudflareSandboxEnvOptions) => SandboxEnvAdapt an instance returned by getSandbox(env.Sandbox, id) from @cloudflare/sandbox into Fabric's provider-neutral SandboxEnv contract.
defineCloudflareAgentvalue<TInput = JsonObject, TOutput = unknown>(options?: DefineCloudflareAgentOptions<TInput, TOutput>) => DefinedAgent<TInput, TOutput>Defines cloudflare agent.
DefineCloudflareAgentOptionstypeDefineCloudflareAgentOptions<TInput, TOutput>Configuration options for define cloudflare agent.
extendvalue(extension: CloudflareExtension) => CloudflareExtensionRuntime API for extend; the generated signature shows its accepted inputs and return type.
ExtensionClasstypeExtensionClassType contract for extension class.
handleCloudflareRunRegistryRequestvalue(registry: CloudflareRunRegistry, request: Request) => Promise<Response>Handle the private protocol used between the generated Worker and registry DO.
MockCloudflareModelProvidervaluetypeof MockCloudflareModelProviderA deterministic ModelProvider for Cloudflare agent tests and init templates. Returns structured responses without requiring real Cloudflare credentials.
MockCloudflareModelProviderOptionstypeMockCloudflareModelProviderOptionsConfiguration options for mock cloudflare model provider.
r2FilesystemSourcevalue(bucket: CloudflareR2BucketLike, options?: R2FilesystemSourceOptions) => FilesystemSourceRead Cloudflare R2 objects as a Fabric filesystem source. Mount it with withFilesystemSources() so support agents can grep/read R2-backed knowledge bases through the normal sandbox tools.
R2FilesystemSourceOptionstypeR2FilesystemSourceOptionsConfiguration options for r2 filesystem source.
registerCloudflareSandboxRefDecodervalue(connect: (data: { id: string; }) => Promise<CloudflareSandboxLike> | CloudflareSandboxLike) => voidRegister cross-process/Worker attachment for Cloudflare Sandbox IDs.
resolveCloudflareExtensionvalue(mod: Record<string, unknown>, name: string, kind: "Agent" | "Workflow") => ResolvedCloudflareExtensionResolves cloudflare extension.
ResolvedCloudflareExtensiontypeResolvedCloudflareExtensionType contract for resolved cloudflare extension.
resolveToolRefsvalue(bundle: CloudflareBundle, refs: string[]) => ToolDef[]Resolves tool refs.

@fabric-harness/cloudflare/agent

ExportKindTypeScript signaturePurpose
defineCloudflareAgentvalue<TInput = JsonObject, TOutput = unknown>(options?: DefineCloudflareAgentOptions<TInput, TOutput>) => DefinedAgent<TInput, TOutput>Defines cloudflare agent.
DefineCloudflareAgentOptionstypeDefineCloudflareAgentOptions<TInput, TOutput>Configuration options for define cloudflare agent.
resolveToolRefsvalue(bundle: CloudflareBundle, refs: string[]) => ToolDef[]Resolves tool refs.

@fabric-harness/cloudflare/workers-ai

ExportKindTypeScript signaturePurpose
BUILTIN_WORKERS_AI_MODEL_INFOvalueRecord<string, CloudflareWorkersAIModelInfo>Constant defining builtin workers ai model info.
CLOUDFLARE_WORKERS_AI_MODEL_PREFIXvalue"cloudflare/"Reserved model-string prefix that routes through the Workers AI binding provider. init({ model: 'cloudflare/@cf/meta/llama-3.1-8b-instruct' }) picks this provider when one is registered with the matching name.
CloudflareWorkersAIBindingLiketypeCloudflareWorkersAIBindingLikeStructural shape of Cloudflare Workers' AI binding (env.AI). The real Ai type lives in @cloudflare/workers-types; we accept a narrower structural type so this package doesn't peer-dep workers-types. The run() method accepts the OpenAI Chat Completions request body and returns an OpenAI-shaped response when stream: false is passed.
CloudflareWorkersAIGatewayOptionstypeCloudflareWorkersAIGatewayOptionsConfiguration options for cloudflare workers aigateway.
CloudflareWorkersAIModelInfotypeCloudflareWorkersAIModelInfoType contract for cloudflare workers aimodel info.
CloudflareWorkersAIModelProvidervaluetypeof CloudflareWorkersAIModelProviderModel provider that dispatches to Cloudflare Workers AI via the platform binding (env.AI.run()) instead of HTTP. Use on a Cloudflare Workers deployment to skip API tokens, gain Workers-AI-native rate limiting, and keep inference inside Cloudflare's network. Workers AI accepts the OpenAI Chat Completions request body verbatim, so we serialize through the SDK's toOpenAIMessage/toOpenAITool helpers and parse the binding's response with openAIChatCompletionToModelResponse. See the package declarations for an example. Pair with the cloudflare/ model prefix to make routing explicit when...
CloudflareWorkersAIModelProviderOptionstypeCloudflareWorkersAIModelProviderOptionsConfiguration options for cloudflare workers aimodel provider.
mapReasoningEffortvalue(level: Exclude<ThinkingLevel, "off">) => WorkersAIReasoningEffortMap Fabric's ordinal ThinkingLevel to Cloudflare's shared reasoning_effort option: minimal/lowlow, mediummedium, high/xhighhigh. 'off' is handled by the caller (the field is omitted) and never reaches this function.
stripCloudflarePrefixvalue(model: string) => stringStrip the cloudflare/ routing prefix from a model id, leaving the raw Workers AI model id (e.g. @cf/meta/llama-3.1-8b-instruct).
WorkersAIReasoningEfforttypeWorkersAIReasoningEffortCloudflare Workers AI reasoning-effort wire values.

@fabric-harness/cloudflare/computer

ExportKindTypeScript signaturePurpose
CLOUDFLARE_COMPUTER_DEFAULT_CWDvalue"/workspace"Constant defining cloudflare computer default cwd.
CloudflareComputerContexttypeCloudflareComputerContextType contract for cloudflare computer context.
CloudflareComputerSandboxEnvtypeCloudflareComputerSandboxEnvType contract for cloudflare computer sandbox env.
CloudflareComputerSandboxOptionstypeCloudflareComputerSandboxOptionsConfiguration options for cloudflare computer sandbox.
CloudflareComputerWorkerLoaderLiketypeCloudflareComputerWorkerLoaderLikeType contract for cloudflare computer worker loader like.
cloudflareComputerWorkspacevalue(sandbox: SandboxEnv) => WorkspaceRuntime API for cloudflare computer workspace; the generated signature shows its accepted inputs and return type.
createCloudflareComputerSandboxEnvvalue(workspace: Workspace, options?: { cwd?: string; portableId?: string; }) => CloudflareComputerSandboxEnvCreates cloudflare computer sandbox env.
getCloudflareComputerContextvalue() => CloudflareComputerContextReturns cloudflare computer context.
getCloudflareComputerSandboxvalue(options?: CloudflareComputerSandboxOptions) => Promise<{ sandbox: CloudflareComputerSandboxEnv; tools: []; }>Returns cloudflare computer sandbox.
getCloudflareComputerWorkspaceStubvalue(id: string) => Promise<import("@cloudflare/computer").WorkspaceStub>RPC endpoint used by Computer's WorkspaceServiceProxy and worker shell.
getDefaultCloudflareComputerWorkspacevalue(options?: GetDefaultCloudflareComputerWorkspaceOptions) => WorkspaceReturn the memoized Computer workspace hosted by the current Durable Object. The wiring intentionally follows Cloudflare Computer's worker-shell topology: SQLite DO storage, a loopback WorkspaceServiceProxy, and the typed git client.
GetDefaultCloudflareComputerWorkspaceOptionstypeGetDefaultCloudflareComputerWorkspaceOptionsConfiguration options for get default cloudflare computer workspace.
runWithCloudflareComputerContextvalue<T>(context: CloudflareComputerContext, fn: () => T) => TRegister the current Durable Object as the host for its Computer workspace.
Workspacevaluetypeof WorkspaceRuntime API for workspace; the generated signature shows its accepted inputs and return type.
WorkspaceOptionstypeWorkspaceOptionsConfiguration options for workspace.
WorkspaceServiceProxyvaluetypeof WorkspaceServiceProxyRuntime API for workspace service proxy; the generated signature shows its accepted inputs and return type.

@fabric-harness/cloudflare/shell

ExportKindTypeScript signaturePurpose
CloudflareShellCodeExecutorLiketypeCloudflareShellCodeExecutorLikeType contract for cloudflare shell code executor like.
CloudflareShellCodeInputtypeCloudflareShellCodeInputType contract for cloudflare shell code input.
CloudflareShellCodeToolOptionstypeCloudflareShellCodeToolOptionsConfiguration options for cloudflare shell code tool.
CloudflareShellContexttypeCloudflareShellContextType contract for cloudflare shell context.
CloudflareShellWorkspaceSandboxtypeCloudflareShellWorkspaceSandboxSandbox adapter for cloudflare shell workspace.
CloudflareShellWorkspaceSandboxOptionstypeCloudflareShellWorkspaceSandboxOptionsConfiguration options for cloudflare shell workspace sandbox.
CloudflareWorkerLoaderLiketypeCloudflareWorkerLoaderLikeType contract for cloudflare worker loader like.
createCloudflareShellCodeToolvalue(options: CloudflareShellCodeToolOptions) => Promise<ToolDef<CloudflareShellCodeInput, string>>Creates cloudflare shell code tool.
createCloudflareShellCodeToolFromExecutorvalue(executor: CloudflareShellCodeExecutorLike, stateProvider: ResolvedProvider, options?: { stateTypes?: string; }) => ToolDef<CloudflareShellCodeInput, string>Creates cloudflare shell code tool from executor.
createCloudflareShellWorkspaceSandboxEnvvalue(workspace: Workspace, options?: { cwd?: string; portableId?: string; }) => Promise<SandboxEnv>Creates cloudflare shell workspace sandbox env.
getCloudflareShellContextvalue() => CloudflareShellContextReturns cloudflare shell context.
getCloudflareShellWorkspaceSandboxvalue(options: CloudflareShellWorkspaceSandboxOptions) => Promise<CloudflareShellWorkspaceSandbox>Returns cloudflare shell workspace sandbox.
getDefaultCloudflareWorkspacevalue(options?: GetDefaultCloudflareWorkspaceOptions) => Promise<Workspace>Construct the default
GetDefaultCloudflareWorkspaceOptionstypeGetDefaultCloudflareWorkspaceOptionsConfiguration options for get default cloudflare workspace.
hydrateCloudflareWorkspaceFromR2value(workspace: Pick<Workspace, "writeFileBytes">, bucket: Pick<CloudflareR2BucketLike, "list" | "get">, options?: HydrateCloudflareWorkspaceFromR2Options) => Promise<void>Eagerly copy R2 objects into a
HydrateCloudflareWorkspaceFromR2OptionstypeHydrateCloudflareWorkspaceFromR2OptionsConfiguration options for hydrate cloudflare workspace from r2.
registerCloudflareShellWorkspaceRefDecodervalue(connect: (data: { workspaceId: string; }) => Promise<Workspace> | Workspace) => voidRegister attachment for a durable Cloudflare Shell workspace routing ID.
runWithCloudflareShellContextvalue<T>(context: CloudflareShellContext, fn: () => T) => TRuns with cloudflare shell context.

@fabric-harness/cloudflare/scheduled

ExportKindTypeScript signaturePurpose
CloudflareCronHandlerOptionstypeCloudflareCronHandlerOptions<TEnv>Configuration options for cloudflare cron handler.
CloudflareExecutionContextLiketypeCloudflareExecutionContextLikeType contract for cloudflare execution context like.
CloudflareScheduledControllertypeCloudflareScheduledControllerType contract for cloudflare scheduled controller.
CloudflareScheduledJobtypeCloudflareScheduledJobType contract for cloudflare scheduled job.
cloudflareScheduleIdempotencyKeyvalue(job: string, expression: string, scheduledTime: number) => stringRuntime API for cloudflare schedule idempotency key; the generated signature shows its accepted inputs and return type.
createCloudflareCronHandlervalue<TEnv = unknown>(options: CloudflareCronHandlerOptions<TEnv>) => (controller: CloudflareScheduledController, env: TEnv, context: CloudflareExecutionContextLike) => Promise<JobInvocationReceipt[]>Build a Cloudflare scheduled() handler that admits matching jobs through the finite-run seam.

@fabric-harness/cloudflare/persistence

ExportKindTypeScript signaturePurpose
CloudflareDurablePersistenceStorestypeCloudflareDurablePersistenceStoresType contract for cloudflare durable persistence stores.
createCloudflareDurablePersistenceStoresvalue(sql: CloudflareDurableObjectSqlStorage) => CloudflareDurablePersistenceStoresDurable Object SQLite stores for the v2 submission and stream lifecycle.

@fabric-harness/connectors

@fabric-harness/connectors

ExportKindTypeScript signaturePurpose
assertRetainableSandboxCertificationvalue(report: SandboxCertificationReport, expectation: RetainedSandboxCertificationExpectation) => SandboxCertificationReportFail closed before a credentialed report is retained as release evidence.
assertSandboxCertificationvalue(env: SandboxEnv, options: SandboxCertificationOptions) => Promise<SandboxCertificationReport>Validates sandbox certification and throws when the requirement is not met.
AzureBlobBodyLiketypeAzureBlobBodyLikeType contract for azure blob body like.
AzureBlobFilesystemClientLiketypeAzureBlobFilesystemClientLikeType contract for azure blob filesystem client like.
azureBlobFilesystemSourcevalue(client: AzureBlobFilesystemClientLike, options?: ObjectStorageFilesystemSourceOptions) => FilesystemSourceData or filesystem source for azure blob filesystem.
AzureBlobListResultLiketypeAzureBlobListResultLikeType contract for azure blob list result like.
certifySandboxAdaptervalue(env: SandboxEnv, options: SandboxCertificationOptions) => Promise<SandboxCertificationReport>Exercise the portable Fabric sandbox contract and return secret-free, machine-readable evidence suitable for a CI artifact.
daytonaSandboxvalue(sandbox: DaytonaSandboxLike, options?: DaytonaSandboxOptions) => SandboxEnvSandbox adapter for daytona.
daytonaSandboxFactoryvalue(sandbox: DaytonaSandboxLike, options?: DaytonaSandboxOptions) => Promise<SandboxFactory>Factory for daytona sandbox.
DaytonaSandboxLiketypeDaytonaSandboxLikeType contract for daytona sandbox like.
DaytonaSandboxOptionstypeDaytonaSandboxOptionsConfiguration options for daytona sandbox.
e2bSandboxvalue(sandbox: E2BSandboxLike, options?: RemoteAdapterOptions) => SandboxEnvSandbox adapter for e2b.
E2BSandboxLiketypeE2BSandboxLikeType contract for e2 bsandbox like.
FilesystemSourcetypeFilesystemSourceA read-only content source that can be mounted into a sandbox at sandbox-creation time. The agent then has built-in read, glob, and grep tools available over the mounted content — no retrieval pipeline, no embeddings, no vector store required. Sources are intentionally minimal: they yield (path, content) pairs. Implementations decide how to enumerate (eager vs lazy is up to the source author) — the mount step pulls the full set into the sandbox.
ModalFileInfoLiketypeModalFileInfoLikeType contract for modal file info like.
ModalFilesystemLiketypeModalFilesystemLikeType contract for modal filesystem like.
ModalProcessLiketypeModalProcessLikeType contract for modal process like.
ModalReadStreamLiketypeModalReadStreamLike<T>Type contract for modal read stream like.
modalSandboxvalue(sandbox: ModalSandboxLike, options?: RemoteAdapterOptions) => SandboxEnvSandbox adapter for modal.
ModalSandboxLiketypeModalSandboxLikeType contract for modal sandbox like.
modalSdkSandboxvalue(sandbox: ModalSdkSandboxLike, options?: ModalSdkSandboxOptions) => SandboxEnvAdapt a native Modal TypeScript SDK Sandbox without exposing credentials to the Fabric runtime or model context.
ModalSdkSandboxLiketypeModalSdkSandboxLikeStructural subset implemented by modal 0.9 Sandbox.
ModalSdkSandboxOptionstypeModalSdkSandboxOptionsConfiguration options for modal sdk sandbox.
ObjectStorageFilesystemSourceOptionstypeObjectStorageFilesystemSourceOptionsConfiguration options for object storage filesystem source.
ProviderCleanupOptionstypeProviderCleanupOptionsConfiguration options for provider cleanup.
RemoteAdapterOptionstypeRemoteAdapterOptionsConfiguration options for remote adapter.
remoteSandboxvalue(api: RemoteSandboxApi, options?: RemoteSandboxConnectorOptions) => SandboxFactoryDependency-free structural connector for provider-owned remote sandboxes. Provider-specific packages can keep their SDK/client types private and map them to RemoteSandboxApi, then return this SandboxFactory. Credentials stay in the provider client and are never serialized into Fabric session history.
RemoteSandboxApitypeRemoteSandboxApiType contract for remote sandbox api.
RemoteSandboxConnectorOptionstypeRemoteSandboxConnectorOptionsConfiguration options for remote sandbox connector.
remoteSandboxEnvvalue(api: RemoteSandboxApi, options?: RemoteAdapterOptions) => SandboxEnvRuntime API for remote sandbox env; the generated signature shows its accepted inputs and return type.
RemoteSandboxOptionstypeRemoteSandboxOptionsConfiguration options for remote sandbox.
RetainedSandboxCertificationExpectationtypeRetainedSandboxCertificationExpectationType contract for retained sandbox certification expectation.
S3FilesystemClientLiketypeS3FilesystemClientLikeType contract for s3 filesystem client like.
s3FilesystemSourcevalue(client: S3FilesystemClientLike, options?: ObjectStorageFilesystemSourceOptions) => FilesystemSourceData or filesystem source for s3 filesystem.
S3ObjectBodyLiketypeS3ObjectBodyLikeType contract for s3 object body like.
S3ObjectListResultLiketypeS3ObjectListResultLikeType contract for s3 object list result like.
SANDBOX_CERTIFICATION_CHECKSvaluereadonly SandboxCertificationCheckName[]Constant defining sandbox certification checks.
SANDBOX_PROVIDER_COMPATIBILITYvalue{ readonly daytona: { readonly package: "@daytona/sdk"; readonly range: ">=0.195.0 <1"; readonly supportedMajors: readonly [0]; readonly tested: readonly ["0.195.0"]; }; readonly e2b: { readonly package: "@e2b/code-interpreter"; readonly range: ">=...Constant defining sandbox provider compatibility.
SandboxAdapterValidationOptionstypeSandboxAdapterValidationOptionsConfiguration options for sandbox adapter validation.
SandboxAdapterValidationResulttypeSandboxAdapterValidationResultResult returned by sandbox adapter validation.
SandboxCertificationChecktypeSandboxCertificationCheckType contract for sandbox certification check.
SandboxCertificationCheckNametypeSandboxCertificationCheckNameType contract for sandbox certification check name.
SandboxCertificationErrorvaluetypeof SandboxCertificationErrorError raised for sandbox certification failures.
SandboxCertificationOptionstypeSandboxCertificationOptionsConfiguration options for sandbox certification.
SandboxCertificationReporttypeSandboxCertificationReportType contract for sandbox certification report.
SandboxFactorytypeSandboxFactoryFactory for sandbox.
validateSandboxAdaptervalue(env: SandboxEnv, options?: SandboxAdapterValidationOptions) => Promise<SandboxAdapterValidationResult>Runtime API for validate sandbox adapter; the generated signature shows its accepted inputs and return type.

@fabric-harness/connectors/s3

ExportKindTypeScript signaturePurpose
s3Sourcevalue(options: S3SourceOptions) => FilesystemSourceRead-only S3 connector. Mount with session.mount(mountAt, s3Source(...)). The agent's built-in read, grep, glob, and bash tools then operate over the mounted prefix as if it were a local directory.
S3SourceOptionstypeS3SourceOptionsConcrete S3 connector backed by @aws-sdk/client-s3. Users pass bucket config; this module constructs the SDK client internally and adapts it to Fabric Harness's FilesystemSource contract. Install peer dep: ```sh npm install
s3Writervalue(options: S3WriterOptions) => S3WriterWriter implementation for s3.
S3WritertypeS3WriterWriter implementation for s3.
S3WriterOptionstypeS3WriterOptionsWrite-side helper for S3. Use to publish artifacts or mount a writable view. See the package declarations for an example.

@fabric-harness/connectors/azure-blob

ExportKindTypeScript signaturePurpose
azureBlobSourcevalue(options: AzureBlobSourceOptions) => FilesystemSourceData or filesystem source for azure blob.
AzureBlobSourceOptionstypeAzureBlobSourceOptionsConcrete Azure Blob connector backed by @azure/storage-blob. Install peer deps: ```sh npm install
azureBlobWritervalue(options: AzureBlobWriterOptions) => AzureBlobWriterWriter implementation for azure blob.
AzureBlobWritertypeAzureBlobWriterWriter implementation for azure blob.
AzureBlobWriterOptionstypeAzureBlobWriterOptionsConfiguration options for azure blob writer.

@fabric-harness/connectors/gcs

ExportKindTypeScript signaturePurpose
gcsSourcevalue(options: GcsSourceOptions) => FilesystemSourceData or filesystem source for gcs.
GcsSourceOptionstypeGcsSourceOptionsConcrete Google Cloud Storage connector backed by @google-cloud/storage. Install peer dep: ```sh npm install
gcsWritervalue(options: GcsWriterOptions) => GcsWriterWriter implementation for gcs.
GcsWritertypeGcsWriterWriter implementation for gcs.
GcsWriterOptionstypeGcsWriterOptionsConfiguration options for gcs writer.

@fabric-harness/connectors/github

ExportKindTypeScript signaturePurpose
githubSourcevalue(options: GithubSourceOptions) => FilesystemSourceData or filesystem source for github.
GithubSourceOptionstypeGithubSourceOptionsRead-only GitHub repository connector backed by octokit. Mounts a repository (at a given ref) as files inside the sandbox. Uses the Git Trees API in recursive mode for efficient enumeration. Install peer dep: See the package declarations for an example.

@fabric-harness/connectors/databricks-volume

ExportKindTypeScript signaturePurpose
databricksVolumeSourcevalue(options: DatabricksVolumeSourceOptions) => FilesystemSourceData or filesystem source for databricks volume.
DatabricksVolumeSourceOptionstypeDatabricksVolumeSourceOptionsDatabricks Unity Catalog Volume connector backed by the Files API (/api/2.0/fs/files/...). No SDK dependency — uses fetch directly. Volume paths are addressed as /Volumes/<catalog>/<schema>/<volume>/<path>. Usage: See the package declarations for an example.
databricksVolumeWritervalue(options: DatabricksVolumeWriterOptions) => DatabricksVolumeWriterWriter implementation for databricks volume.
DatabricksVolumeWritertypeDatabricksVolumeWriterWriter implementation for databricks volume.
DatabricksVolumeWriterOptionstypeDatabricksVolumeWriterOptionsConfiguration options for databricks volume writer.

@fabric-harness/connectors/k8s

ExportKindTypeScript signaturePurpose
createKubernetesEgressNetworkPolicyvalue(options: KubernetesEgressNetworkPolicyOptions) => KubernetesNetworkPolicyManifestBuild a deny-by-default Kubernetes egress boundary. Domain filtering belongs in the selected proxy; Kubernetes NetworkPolicy is intentionally limited to DNS, that proxy, and explicit private endpoint CIDRs.
createKubernetesPodvalue(options: CreateKubernetesPodOptions) => KubernetesPodLikeCreates kubernetes pod.
createKubernetesPodFromImagevalue(options: CreateKubernetesPodFromImageOptions) => Promise<KubernetesPodLike>Creates kubernetes pod from image.
CreateKubernetesPodFromImageOptionstypeCreateKubernetesPodFromImageOptionsProvision an ephemeral pod from an image and return a KubernetesPodLike ready for kubernetesSandbox(). Works against any cluster reachable via the resolved kubeconfig — in-cluster, $KUBECONFIG, or ~/.kube/config. The pod is created with restartPolicy: Never and runs sleep infinity so it stays attachable. cleanup() (when wired via kubernetesSandbox's cleanup: true) deletes the pod. For Azure-managed clusters, prefer aksSandbox() from @fabric-harness/azure/aks-sandbox which adds ARM-resolved kubeconfig. See the package declarations for an example.
CreateKubernetesPodOptionstypeCreateKubernetesPodOptionsConvenience helper: build a KubernetesPodLike from a @kubernetes/client-node KubeConfig plus pod identity. Suitable when kubectl already gets you in the door — for AKS, prefer aksSandbox() from @fabric-harness/azure. Files are transferred over exec using base64-encoded cat / tee. Works for text and small binaries; for large objects mount external storage via s3Source / gcsSource / azureBlobSource instead.
KubernetesEgressNetworkPolicyOptionstypeKubernetesEgressNetworkPolicyOptionsConfiguration options for kubernetes egress network policy.
KubernetesNetworkPolicyManifesttypeKubernetesNetworkPolicyManifestType contract for kubernetes network policy manifest.
KubernetesPodLiketypeKubernetesPodLikeStructural Kubernetes pod adapter. The caller wires up @kubernetes/client-node (or any SPDY/exec-capable client) and supplies an object that satisfies KubernetesPodLike. Why structural: cluster auth, RBAC, and the exec wire format vary too much across environments (in-cluster, kubeconfig, AKS managed identity, GKE Workload Identity, EKS IRSA, …) for a single concrete adapter to be sensible. Pattern matches daytonaSandbox / e2bSandbox. For Azure-hosted clusters use the higher-level aksSandbox() from @fabric-harness/azure, which wires this adapter to Azure-managed credentials.
kubernetesSandboxvalue(pod: KubernetesPodLike, options?: KubernetesSandboxOptions) => SandboxEnvSandbox adapter for kubernetes.
KubernetesSandboxOptionstypeKubernetesSandboxOptionsConfiguration options for kubernetes sandbox.

@fabric-harness/connectors/vercel

ExportKindTypeScript signaturePurpose
vercelSandboxvalue(sandbox: VercelSandboxLike, options?: VercelSandboxOptions) => SandboxEnvWrap a Vercel Sandbox instance as a Fabric Harness SandboxEnv. The sandbox's filesystem and shell exec are mapped to the fabric contract; cleanup: true calls sandbox.stop() when the Fabric session tears down. See the package declarations for an example. Vercel's runCommand accepts cwd, env, AbortSignal, and output streams. Fabric maps its millisecond timeout to an AbortSignal and resolves the command object's async stdout()/stderr() methods used by SDK 1.x.
vercelSandboxFactoryvalue(create: () => Promise<VercelSandboxLike> | VercelSandboxLike, options?: VercelSandboxOptions) => SandboxFactoryConvenience factory that returns a SandboxFactory, suitable for init({ sandbox: vercelSandboxFactory(...) }). Provisions a fresh sandbox on first use via the supplied create() callback.
VercelSandboxLiketypeVercelSandboxLikeStructural shape of @vercel/sandbox's Sandbox instance, kept narrow so this package doesn't peer-dep on @vercel/sandbox directly. Pass any object satisfying this contract — the real Sandbox from @vercel/sandbox does. See https://vercel.com/docs/vercel-sandbox/sdk-reference for the upstream API. This adapter targets the post-GA shape (runCommand, fs.*).
VercelSandboxOptionstypeVercelSandboxOptionsConfiguration options for vercel sandbox.

@fabric-harness/connectors/modal

ExportKindTypeScript signaturePurpose
ModalFileInfoLiketypeModalFileInfoLikeType contract for modal file info like.
ModalFilesystemLiketypeModalFilesystemLikeType contract for modal filesystem like.
ModalProcessLiketypeModalProcessLikeType contract for modal process like.
ModalReadStreamLiketypeModalReadStreamLike<T>Type contract for modal read stream like.
modalSdkSandboxvalue(sandbox: ModalSdkSandboxLike, options?: ModalSdkSandboxOptions) => SandboxEnvAdapt a native Modal TypeScript SDK Sandbox without exposing credentials to the Fabric runtime or model context.
ModalSdkSandboxLiketypeModalSdkSandboxLikeStructural subset implemented by modal 0.9 Sandbox.
ModalSdkSandboxOptionstypeModalSdkSandboxOptionsConfiguration options for modal sdk sandbox.

@fabric-harness/connectors/sandbox-refs

ExportKindTypeScript signaturePurpose
RegisterStandardDecodersOptionstypeRegisterStandardDecodersOptionsStandard cross-process sandbox-ref decoders for the connectors that ship here. Call this once at startup in any process that needs to attach to sandboxes encoded by session.sandboxRef({ portable: true }). Each connect* callback is responsible for hydrating a provider-native client object from providerData; the connectors package wraps that client in a SandboxEnv exactly the way the upstream factory functions do (daytonaSandbox, e2bSandbox, modalSandbox, kubernetesSandbox). See the package declarations for an example.
registerStandardSandboxRefDecodersvalue(options: RegisterStandardDecodersOptions) => voidRegisters standard sandbox ref decoders.

@fabric-harness/connectors/sandbox-certification

ExportKindTypeScript signaturePurpose
assertRetainableSandboxCertificationvalue(report: SandboxCertificationReport, expectation: RetainedSandboxCertificationExpectation) => SandboxCertificationReportFail closed before a credentialed report is retained as release evidence.
assertSandboxCertificationvalue(env: SandboxEnv, options: SandboxCertificationOptions) => Promise<SandboxCertificationReport>Validates sandbox certification and throws when the requirement is not met.
certifySandboxAdaptervalue(env: SandboxEnv, options: SandboxCertificationOptions) => Promise<SandboxCertificationReport>Exercise the portable Fabric sandbox contract and return secret-free, machine-readable evidence suitable for a CI artifact.
RetainedSandboxCertificationExpectationtypeRetainedSandboxCertificationExpectationType contract for retained sandbox certification expectation.
SANDBOX_CERTIFICATION_CHECKSvaluereadonly SandboxCertificationCheckName[]Constant defining sandbox certification checks.
SandboxCertificationChecktypeSandboxCertificationCheckType contract for sandbox certification check.
SandboxCertificationCheckNametypeSandboxCertificationCheckNameType contract for sandbox certification check name.
SandboxCertificationErrorvaluetypeof SandboxCertificationErrorError raised for sandbox certification failures.
SandboxCertificationOptionstypeSandboxCertificationOptionsConfiguration options for sandbox certification.
SandboxCertificationReporttypeSandboxCertificationReportType contract for sandbox certification report.

@fabric-harness/databases

@fabric-harness/databases

ExportKindTypeScript signaturePurpose
assertReadOnlyStatementvalue(statement: string) => voidValidates read only statement and throws when the requirement is not met.
governedDatabaseToolvalue<TInput, TOutput>(options: GovernedDatabaseToolOptions<TInput, TOutput>) => ToolDef<TInput, TOutput>Common database tool boundary: effect metadata, timeout, size cap, and redacted failures.
GovernedDatabaseToolOptionstypeGovernedDatabaseToolOptions<TInput, TOutput>Configuration options for governed database tool.
MongoCollectionLiketypeMongoCollectionLike<T>Type contract for mongo collection like.
MongoCursorLiketypeMongoCursorLike<T>Type contract for mongo cursor like.
mongoFindToolvalue<TInput = JsonObject, TDocument = JsonObject>(options: MongoFindToolOptions<TInput, TDocument>) => ToolDef<TInput, { documents: TDocument[]; }>Collection-bound find tool. Host code constructs the filter and projection.
MongoFindToolOptionstypeMongoFindToolOptions<TInput, TDocument>Configuration options for mongo find tool.
MysqlClientLiketypeMysqlClientLikeType contract for mysql client like.
mysqlToolvalue<TInput = JsonObject, TRow = JsonObject>(options: MysqlToolOptions<TInput, TRow>) => ToolDef<TInput, { rows: TRow[]; }>Model-callable tool or tool factory for mysql.
MysqlToolOptionstypeMysqlToolOptions<TInput, TRow>Configuration options for mysql tool.
PostgresClientLiketypePostgresClientLikeType contract for postgres client like.
postgresToolvalue<TInput = JsonObject, TRow = JsonObject>(options: PostgresToolOptions<TInput, TRow>) => ToolDef<TInput, { rows: TRow[]; rowCount: number; }>Fixed-statement Postgres tool. The model supplies values, never SQL text.
PostgresToolOptionstypePostgresToolOptions<TInput, TRow>Configuration options for postgres tool.
RedisClientLiketypeRedisClientLikeType contract for redis client like.
RedisToolOptionstypeRedisToolOptionsConfiguration options for redis tool.
redisToolsvalue(options: RedisToolOptions) => Array<ToolDef>Runtime API for redis tools; the generated signature shows its accepted inputs and return type.
SqliteClientLiketypeSqliteClientLikeType contract for sqlite client like.
SqliteStatementLiketypeSqliteStatementLikeType contract for sqlite statement like.
sqliteToolvalue<TInput = JsonObject, TRow = JsonObject>(options: SqliteToolOptions<TInput, TRow>) => ToolDef<TInput, { rows?: TRow[]; result?: unknown; }>Model-callable tool or tool factory for sqlite.
SqliteToolOptionstypeSqliteToolOptions<TInput, TRow>Configuration options for sqlite tool.

@fabric-harness/databases/postgres

ExportKindTypeScript signaturePurpose
PostgresClientLiketypePostgresClientLikeType contract for postgres client like.
postgresToolvalue<TInput = JsonObject, TRow = JsonObject>(options: PostgresToolOptions<TInput, TRow>) => ToolDef<TInput, { rows: TRow[]; rowCount: number; }>Fixed-statement Postgres tool. The model supplies values, never SQL text.
PostgresToolOptionstypePostgresToolOptions<TInput, TRow>Configuration options for postgres tool.

@fabric-harness/databases/mysql

ExportKindTypeScript signaturePurpose
MysqlClientLiketypeMysqlClientLikeType contract for mysql client like.
mysqlToolvalue<TInput = JsonObject, TRow = JsonObject>(options: MysqlToolOptions<TInput, TRow>) => ToolDef<TInput, { rows: TRow[]; }>Model-callable tool or tool factory for mysql.
MysqlToolOptionstypeMysqlToolOptions<TInput, TRow>Configuration options for mysql tool.

@fabric-harness/databases/sqlite

ExportKindTypeScript signaturePurpose
SqliteClientLiketypeSqliteClientLikeType contract for sqlite client like.
SqliteStatementLiketypeSqliteStatementLikeType contract for sqlite statement like.
sqliteToolvalue<TInput = JsonObject, TRow = JsonObject>(options: SqliteToolOptions<TInput, TRow>) => ToolDef<TInput, { rows?: TRow[]; result?: unknown; }>Model-callable tool or tool factory for sqlite.
SqliteToolOptionstypeSqliteToolOptions<TInput, TRow>Configuration options for sqlite tool.

@fabric-harness/databases/mongodb

ExportKindTypeScript signaturePurpose
MongoCollectionLiketypeMongoCollectionLike<T>Type contract for mongo collection like.
MongoCursorLiketypeMongoCursorLike<T>Type contract for mongo cursor like.
mongoFindToolvalue<TInput = JsonObject, TDocument = JsonObject>(options: MongoFindToolOptions<TInput, TDocument>) => ToolDef<TInput, { documents: TDocument[]; }>Collection-bound find tool. Host code constructs the filter and projection.
MongoFindToolOptionstypeMongoFindToolOptions<TInput, TDocument>Configuration options for mongo find tool.

@fabric-harness/databases/redis

ExportKindTypeScript signaturePurpose
RedisClientLiketypeRedisClientLikeType contract for redis client like.
RedisToolOptionstypeRedisToolOptionsConfiguration options for redis tool.
redisToolsvalue(options: RedisToolOptions) => Array<ToolDef>Runtime API for redis tools; the generated signature shows its accepted inputs and return type.

@fabric-harness/databricks

@fabric-harness/databricks

ExportKindTypeScript signaturePurpose
analyticsCopilotGovernancevalue(options: AnalyticsCopilotGovernanceOptions) => AnalyticsCopilotGovernanceGovernance defaults for the analytics-copilot path. Safe Genie questions and sql_read carry a read effect and remain interactive; arbitrary SQL execution and Genie lifecycle tools retain steward approval. Enabling another authoring service with this pack fails bundle initialization until the caller deliberately expands its approval scope.
AnalyticsCopilotGovernancetypeAnalyticsCopilotGovernanceType contract for analytics copilot governance.
AnalyticsCopilotGovernanceOptionstypeAnalyticsCopilotGovernanceOptionsConfiguration options for analytics copilot governance.
appServicePrincipalFromEnvvalue(env?: Record<string, string | undefined>) => Extract<DatabricksPrincipal, { kind: "service-principal"; }> | undefinedThe service principal a Databricks App runs as, from the standard app runtime environment (DATABRICKS_HOST / DATABRICKS_CLIENT_ID / DATABRICKS_CLIENT_SECRET). Returns undefined when any variable is missing, so callers can fall back to explicit configuration.
buildMlflowTracevalue(input: MlflowTraceInput) => MlflowTracePayloadBuild the MLflow V3 POST /api/3.0/mlflow/traces payload for one settled submission. Pure and deterministic: trace/span ids derive from the submission id (+ span index) via SHA-256, so replaying the same settled submission produces byte-identical ids. The root span covers the whole submission; buffered TelemetrySpans become its children.
chooseDatabricksSqlWarehousevalue(warehouses: readonly DatabricksSqlWarehouse[]) => DatabricksSqlWarehouse | undefinedRuntime API for choose databricks sql warehouse; the generated signature shows its accepted inputs and return type.
ConnectDatabricksManagedMcpOptionstypeConnectDatabricksManagedMcpOptionsConfiguration options for connect databricks managed mcp.
connectDatabricksManagedMcpServervalue(options: ConnectDatabricksManagedMcpOptions) => Promise<McpServerConnection>Connect to one Databricks managed MCP endpoint with a rotating OBO or service token. Remote tools are classified before they can enter a governed bundle; unknown effects fail closed.
ConsumptionGroupBytypeConsumptionGroupByType contract for consumption group by.
ConsumptionSummarytypeConsumptionSummaryType contract for consumption summary.
ConsumptionSummaryOptionstypeConsumptionSummaryOptionsConfiguration options for consumption summary.
createDatabricksAppUserAuthenticatorvalue(options: DatabricksAppUserAuthenticatorOptions) => (request: { headers: Headers | Record<string, string | string[] | undefined>; }) => Promise<DatabricksAppAuthenticatedPrincipal | false | undefined>Authenticate Databricks Apps forwarded user tokens and isolate each user by default. Validation calls the workspace current-user API once per token digest; raw tokens are never stored as cache keys or returned to Fabric Harness.
createDatabricksAuthenticatedFetchvalue(options: DatabricksAuthenticatedFetchOptions) => typeof fetchFetch adapter for third-party SDKs that require a standard fetch surface. A fresh principal token is resolved per attempt and one auth refresh retry is bounded to 401/403.
createDatabricksAuthoringCertificationChecksvalue(fixtures: DatabricksAuthoringCertificationFixtures) => DatabricksCertificationCheck[]Creates databricks authoring certification checks.
createDatabricksRagChainvalue(options: DatabricksRagChainResolvedOptions) => DatabricksRagChainThin orchestration of Databricks-native AI Search + Model Serving for the online RAG inference chain documented in the Databricks AI Cookbook. Prefer databricksRagChain from the package root when you have a databricks({ aiSearch }) config — it wires the bundle for you. Does not implement offline chunking/indexing (use Databricks Jobs/Lakeflow). Does not replace Mosaic Agent Evaluation — export turns with rag-eval helpers.
databricksvalue(config: DatabricksBundleConfig) => DatabricksBundleOne-call wiring for a Databricks-native agent: model serving, a UC principal threaded through model + data + state, governed tools, an approval/egress policy, and (optionally) Lakebase-backed durable state. Also registers databricks/* model refs. Everything is layered on Unity Catalog — never a replacement for it.
DATABRICKS_AGENT_SERVICE_SECURABLEvalue"AGENT_SERVICE"Constant defining databricks agent service securable.
DATABRICKS_AGENT_SERVICES_APIvalue"/api/2.1/unity-catalog/agent-services"Constant defining databricks agent services api.
DATABRICKS_API_VERSIONSvalue{ readonly sdkJs: string; readonly jobs: "2.2"; readonly sqlStatements: "2.0"; readonly unityCatalog: "2.1"; readonly workspace: "2.0"; readonly mlflow: "2.0"; readonly lakebaseCredentials: "2.0"; readonly apps: "2.0"; readonly responses: "agent/v1/responses"; readonly ai...Constant defining databricks api versions.
DATABRICKS_APP_USER_PERMISSIONSvaluereadonly ["agent:invoke", "approval:read", "approval:write", "artifact:read", "mcp:invoke", "session:abort", "session:delete", "session:read"]Constant defining databricks app user permissions.
DATABRICKS_AUTH_MODESvaluereadonly [{ readonly mode: "oauth-m2m"; readonly production: true; readonly use: "External services and CI service principals."; }, { readonly mode: "app-service-principal"; readonly production: true; readonly use: "Databricks Apps runtime identity."; }, &#...Constant defining databricks auth modes.
DATABRICKS_AUTHORING_CERTIFICATION_CHECKSvaluereadonly ["approval-provenance", "jobs-authoring", "lakeflow-authoring", "ai-search-admin", "serving-admin", "uc-admin-obo-execution", "workspace-write", "secrets-write", "genie-authoring"]Constant defining databricks authoring certification checks.
DATABRICKS_CAPABILITIESvaluereadonly DatabricksCapability[]Public capability registry. contractClouds describes designed API portability; clouds is deliberately narrower and is derived only from retained evidence linked to that capability.
DATABRICKS_CAPABILITY_EVIDENCEvaluereadonly DatabricksCapabilityEvidenceReference[]Constant defining databricks capability evidence.
DATABRICKS_CERTIFICATION_RESOURCE_PREFIXvalue"fabric-harness-authoring-cert-"Constant defining databricks certification resource prefix.
DATABRICKS_OPTIONAL_CERTIFICATION_CHECKSvaluereadonly ["agent-services", "rag-evaluation", "responses-agent", "ai-search", "genie-agent-mode", "feature-serving", "lakeflow", "jobs", "notebook", "jobs-classic-authoring", "ai-search-delta-sync-admin", "serving-provisioned-throughput-admin"]Tier O checks are preview, SKU-specific, or not part of the default product spine.
DATABRICKS_PACKAGE_COMPATIBILITYvalue{ readonly node: ">=22.0.0"; readonly package: "@fabric-harness/databricks"; readonly packageRange: ">=7.0.0 <8"; readonly pg: "^8.11.0 (only for Lakebase)"; }Constant defining databricks package compatibility.
DATABRICKS_PLATFORM_DOMAINSvaluereadonly DatabricksPlatformDomain[]Whole-platform inventory. A domain remains listed even when its current Harness coverage is empty, preventing documentation and release claims from silently omitting native Databricks product families.
DATABRICKS_RELEASE_CERTIFICATION_CHECKSvaluereadonly ["identity", "ai-gateway", "sql", "unity-catalog", "uc-denial", "uc-allowed-select", "catalog-preflight-denial", "mutation-approval", "model-serving", "rag", "genie", "managed-mcp", "volumes", "lakebase", "lakebase-app-restart", "dynamic-agent", "lineage", "obo", "sys...Tier R checks prove the supported Databricks consumption path. A release certification cannot pass when one of these checks fails or is not configured.
DATABRICKS_SDK_VERSIONvaluestringExact modular Databricks SDK release used by every generated service client.
databricksActualCostSourcevalue(client: DatabricksStatementClient, warehouseId: string, options?: DatabricksActualCostSourceOptions) => ActualCostSourceCreate a Databricks-backed ActualCostSource that queries system.billing.usage joined to system.billing.list_prices for real spend data. Results are cached per-scope-key for cacheTtlMs (default 60s) to avoid hammering the SQL warehouse.
DatabricksActualCostSourceOptionstypeDatabricksActualCostSourceOptionsConfiguration options for databricks actual cost source.
DatabricksAgentEndpointClientvaluetypeof DatabricksAgentEndpointClientBounded OpenResponses invocation for an existing Databricks agent endpoint. The endpoint remains owned and permissioned by Databricks; Harness only treats it as a governed read/subagent tool.
DatabricksAgentEndpointInvocationtypeDatabricksAgentEndpointInvocationType contract for databricks agent endpoint invocation.
DatabricksAgentEndpointResponsetypeDatabricksAgentEndpointResponseResponse contract for databricks agent endpoint.
DatabricksAgentEntitytypeDatabricksAgentEntityType contract for databricks agent entity.
DatabricksAgentServicetypeDatabricksAgentServiceType contract for databricks agent service.
DatabricksAgentServiceConfigtypeDatabricksAgentServiceConfigType contract for databricks agent service config.
DatabricksAgentServiceConnectiontypeDatabricksAgentServiceConnectionType contract for databricks agent service connection.
DatabricksAgentServiceCreateOptionstypeDatabricksAgentServiceCreateOptionsConfiguration options for databricks agent service create.
DatabricksAgentServiceGrantChangetypeDatabricksAgentServiceGrantChangeType contract for databricks agent service grant change.
DatabricksAgentServiceListtypeDatabricksAgentServiceListType contract for databricks agent service list.
DatabricksAgentServicePermissiontypeDatabricksAgentServicePermissionType contract for databricks agent service permission.
DatabricksAgentServicePermissionstypeDatabricksAgentServicePermissionsType contract for databricks agent service permissions.
DatabricksAgentServicePrivilegetypeDatabricksAgentServicePrivilegeType contract for databricks agent service privilege.
DatabricksAgentServicesvaluetypeof DatabricksAgentServicesTyped lifecycle client for Unity Catalog Agent Services. Databricks currently supports registration, discovery and grants only. This client intentionally has no invoke method until runtime invocation is part of the Agent Services API.
DatabricksAgentServicesOptionstypeDatabricksAgentServicesOptionsConfiguration options for databricks agent services.
DatabricksAgentServiceUpdateOptionstypeDatabricksAgentServiceUpdateOptionsConfiguration options for databricks agent service update.
DatabricksAiGatewayUpdatetypeDatabricksAiGatewayUpdateType contract for databricks ai gateway update.
DatabricksAiQueryPolicytypeDatabricksAiQueryPolicyType contract for databricks ai query policy.
databricksAiQueryToolvalue(client: DatabricksStatementClient, endpointPolicy: DatabricksAiQueryPolicy, options: DatabricksAiQueryToolOptions) => ToolDef<{ endpoint: string; request: string; }, unknown>ai_query(endpoint, request) — run model inference inside the SQL warehouse against a serving endpoint. Drives both serving and SQL-warehouse consumption. Uses named SQL parameters, so the endpoint and request are never string-interpolated into SQL.
DatabricksAiQueryToolOptionstypeDatabricksAiQueryToolOptionsConfiguration options for databricks ai query tool.
databricksAiSearchvalue(options: DatabricksAiSearchOptions) => DatabricksAiSearchRetrieverDatabricks AI Search as a Retriever. Runs under the bundle's Unity Catalog principal.
DatabricksAiSearchAdminvaluetypeof DatabricksAiSearchAdminRuntime API for databricks ai search admin; the generated signature shows its accepted inputs and return type.
DatabricksAiSearchAdminClienttypeDatabricksAiSearchAdminClientClient implementation for databricks ai search admin.
DatabricksAiSearchAdminOperationtypeDatabricksAiSearchAdminOperationOne model-callable AI Search administration operation.
DatabricksAiSearchAdminPolicytypeDatabricksAiSearchAdminPolicyBounds the model-callable AI Search admin tools. allowedOperations decides which tools exist at all; the index/endpoint arms pin the resource names those tools may name. An index or endpoint dimension no registered operation uses may be omitted; omitting the embedding arm instead withholds delta-sync index creation (see DatabricksAiSearchEmbeddingArm). { allowAnyAiSearchAdmin: true } is the deliberate, greppable unbounded opt-out.
databricksAiSearchAdminToolsvalue(client: DatabricksAiSearchAdminClient, policy: DatabricksAiSearchAdminPolicy) => ToolDef[]Model-callable AI Search administration, bounded by an explicit policy. allowedOperations filters which tools are registered at all, and every resource name is pinned into the tool's input schema and re-checked at call time before the Vector Search API is touched. The typed DatabricksAiSearchAdmin client stays unbounded.
DatabricksAiSearchInputModetypeDatabricksAiSearchInputModeType contract for databricks ai search input mode.
DatabricksAiSearchOptionstypeDatabricksAiSearchOptionsConfiguration options for databricks ai search.
DatabricksAiSearchQueryOptionstypeDatabricksAiSearchQueryOptionsConfiguration options for databricks ai search query.
DatabricksAiSearchQueryResulttypeDatabricksAiSearchQueryResultResult returned by databricks ai search query.
DatabricksAiSearchRetrievertypeDatabricksAiSearchRetrieverType contract for databricks ai search retriever.
DatabricksAiSearchStrategytypeDatabricksAiSearchStrategyType contract for databricks ai search strategy.
databricksAnthropicGatewayBaseUrlvalue(host: string) => stringRuntime API for databricks anthropic gateway base url; the generated signature shows its accepted inputs and return type.
DatabricksApiFidelitytypeDatabricksApiFidelityType contract for databricks api fidelity.
databricksAppvalue(options?: DatabricksAppOptions) => DatabricksAppRuntimeRuntime API for databricks app; the generated signature shows its accepted inputs and return type.
DatabricksAppAuthenticatedPrincipaltypeDatabricksAppAuthenticatedPrincipalType contract for databricks app authenticated principal.
DatabricksAppOptionstypeDatabricksAppOptionsProduction preset for agents hosted on Databricks Apps (v2, workstream C5). One call resolves the runtime from the standard app environment: the app's service principal (client-credentials OAuth), official workspace SDK clients and serving-endpoint model provider, Lakebase-backed persistence for sessions + submissions + conversation streams, and submission-keyed telemetry — all running as one governed identity that Unity Catalog enforces. See the package declarations for an example.
DatabricksAppRecoveryEvidencetypeDatabricksAppRecoveryEvidenceType contract for databricks app recovery evidence.
DatabricksApprovalRuleOptionstypeDatabricksApprovalRuleOptionsConfiguration options for databricks approval rule.
databricksApprovalRulesvalue(tools: ToolDef[], options: DatabricksApprovalRuleOptions) => ApprovalPolicyRule[]Builds approval rules (one per gated tool) for CapabilityPolicy.toolPolicy.approvalRules.
DatabricksAppRuntimetypeDatabricksAppRuntimeType contract for databricks app runtime.
DatabricksAppUserAuthenticatorOptionstypeDatabricksAppUserAuthenticatorOptionsConfiguration options for databricks app user authenticator.
DatabricksAppUserAuthorizationInspectiontypeDatabricksAppUserAuthorizationInspectionType contract for databricks app user authorization inspection.
DatabricksAppUserIsolationEvidencetypeDatabricksAppUserIsolationEvidenceType contract for databricks app user isolation evidence.
DatabricksAssetBundleEntrytypeDatabricksAssetBundleEntryOne checked-in Asset Bundle as configured on databricks({ assetBundles }).
databricksAssetBundleLifecyclevalue(options: DatabricksAssetBundleOptions) => DatabricksAssetBundleLifecycleRuntime API for databricks asset bundle lifecycle; the generated signature shows its accepted inputs and return type.
DatabricksAssetBundleLifecyclevaluetypeof DatabricksAssetBundleLifecycleGoverned lifecycle for a checked-in Databricks Asset Bundle (DAB). Harness does not generate bundle YAML — it makes validate/deploy/run/destroy of an existing bundle a fingerprinted, approval-gated operation: - fingerprint() hashes the bundle source tree (sorted relative paths + content), excluding .databricks/ CLI state, node_modules/, and dist/. - deploy() validates, deploys, then upserts the managed-resource record. When the caller passes expectedFingerprint and a record exists with a different fingerprint, deploy fails with DatabricksManagedResourceConflictError (optimisti...
databricksAssetBundleLifecyclesvalue(options: DatabricksAssetBundleMapOptions, defaults?: Omit<DatabricksAssetBundleOptions, "bundleDir" | "instanceName">) => Map<string, DatabricksAssetBundleLifecycle>Build one lifecycle per named bundle. Names are validated (they reach the model as tool input and the managed-resource store as ids) and sorted, so tool enums and dispatch stay deterministic. defaults are applied under each entry, letting a caller set one principalLabel for every bundle.
DatabricksAssetBundleMapOptionstypeDatabricksAssetBundleMapOptionsSeveral checked-in bundles keyed by logical name; the key becomes the lifecycle's instanceName.
DatabricksAssetBundleOptionstypeDatabricksAssetBundleOptionsConfiguration options for databricks asset bundle.
databricksAssetBundleToolsvalue(options: DatabricksAssetBundleOptions | DatabricksAssetBundleLifecycle | DatabricksAssetBundleMapOptions | Map<string, DatabricksAssetBundleLifecycle>) => ToolDef[]Model-facing tools for the governed bundle lifecycle. Write tools are approval-gated by the databricks() bundle like every other authoring surface. A single bundle keeps bundle-free tool schemas; a named map adds a required bundle selector to every schema (even with one entry, so the schema and its approval digests stay stable when a second bundle is added) and governs only the bundle the call actually names.
DatabricksAuthenticatedFetchOptionstypeDatabricksAuthenticatedFetchOptionsConfiguration options for databricks authenticated fetch.
DatabricksAuthoringCertificationFixturestypeDatabricksAuthoringCertificationFixturesType contract for databricks authoring certification fixtures.
DatabricksAuthoringLifecycletypeDatabricksAuthoringLifecycle<Resource, Mutation>Type contract for databricks authoring lifecycle.
DatabricksAuthoringLifecycleEvidencetypeDatabricksAuthoringLifecycleEvidenceType contract for databricks authoring lifecycle evidence.
DatabricksBundletypeDatabricksBundleType contract for databricks bundle.
DatabricksBundleConfigtypeDatabricksBundleConfigType contract for databricks bundle config.
DatabricksCapabilitytypeDatabricksCapabilityType contract for databricks capability.
DatabricksCapabilityEvidenceReferencetypeDatabricksCapabilityEvidenceReferenceType contract for databricks capability evidence reference.
DatabricksCapabilityStatustypeDatabricksCapabilityStatusType contract for databricks capability status.
DatabricksCertificationBlockingTiertypeDatabricksCertificationBlockingTierType contract for databricks certification blocking tier.
DatabricksCertificationChecktypeDatabricksCertificationCheckType contract for databricks certification check.
DatabricksCertificationCleanupLedgervaluetypeof DatabricksCertificationCleanupLedgerReverse-order cleanup ledger for live lifecycle certification.
DatabricksCertificationEnvironmentIssuetypeDatabricksCertificationEnvironmentIssueType contract for databricks certification environment issue.
DatabricksCertificationEvidencetypeDatabricksCertificationEvidenceType contract for databricks certification evidence.
DatabricksCertificationLeveltypeDatabricksCertificationLevelType contract for databricks certification level.
DatabricksCertificationResulttypeDatabricksCertificationResultResult returned by databricks certification.
DatabricksCertificationStatustypeDatabricksCertificationStatusType contract for databricks certification status.
DatabricksCertificationSweepClientstypeDatabricksCertificationSweepClientsType contract for databricks certification sweep clients.
DatabricksCertificationSweepOptionstypeDatabricksCertificationSweepOptionsConfiguration options for databricks certification sweep.
DatabricksCertificationSweepResulttypeDatabricksCertificationSweepResultResult returned by databricks certification sweep.
databricksCertificationTiervalue(checkId: string) => DatabricksCertificationTierReturn the default certification tier for a built-in check. Custom checks default to Tier O.
DatabricksCertificationTiertypeDatabricksCertificationTierType contract for databricks certification tier.
DatabricksCertificationWorkspaceSweepOptionstypeDatabricksCertificationWorkspaceSweepOptionsConfiguration options for databricks certification workspace sweep.
DatabricksCleanupResourcetypeDatabricksCleanupResourceType contract for databricks cleanup resource.
DatabricksCloudtypestringType contract for databricks cloud.
DatabricksCommandResulttypeDatabricksCommandResultResult returned by databricks command.
DatabricksCommandRunnertypeDatabricksCommandRunnerType contract for databricks command runner.
databricksCompatibilityRecordvalue(evidence: DatabricksCertificationEvidence) => DatabricksWorkspaceCompatibilityRecordConvert successful, fully identified certification evidence into a publishable matrix row.
DatabricksComputePolicytypeDatabricksComputePolicyType contract for databricks compute policy.
databricksConsumptionvalue(client: DatabricksStatementClient, options: DatabricksConsumptionOptions) => { summary(opts: ConsumptionSummaryOptions): Promise<ConsumptionSummary>; }System-Tables consumption reporting. Reads system.billing.usage joined to list_prices to report real DBUs + list cost — the "prove the consumption" artifact for chargeback and partner credit.
DatabricksConsumptiontype{ summary(opts: ConsumptionSummaryOptions): Promise<ConsumptionSummary>; }Type contract for databricks consumption.
DatabricksConsumptionOptionstypeDatabricksConsumptionOptionsConfiguration options for databricks consumption.
databricksConsumptionToolvalue(client: DatabricksStatementClient, options: DatabricksConsumptionToolOptions) => ToolDef<{ days?: number; startDate?: string; endDate?: string; groupBy?: ConsumptionGroupBy; }, unknown>Agent-callable consumption report over the last days (default 30) or an explicit date window.
DatabricksConsumptionToolOptionstypeDatabricksConsumptionToolOptionsConfiguration options for databricks consumption tool.
DatabricksCostReconciliationOptionstypeDatabricksCostReconciliationOptionsConfiguration options for databricks cost reconciliation.
DatabricksCostReconciliationResulttypeDatabricksCostReconciliationResultResult returned by databricks cost reconciliation.
DatabricksCreatedJobtypeDatabricksCreatedJobType contract for databricks created job.
DatabricksCreateJobOptionstypeDatabricksCreateJobOptionsConfiguration options for databricks create job.
DatabricksCrossTierEvidenceManifesttypeDatabricksCrossTierEvidenceManifestType contract for databricks cross tier evidence manifest.
DatabricksCustomModelEntitytypeDatabricksCustomModelEntityType contract for databricks custom model entity.
DatabricksDbtTaskSpectypeDatabricksDbtTaskSpecType contract for databricks dbt task spec.
DatabricksDynamicAgentEvidencetypeDatabricksDynamicAgentEvidenceType contract for databricks dynamic agent evidence.
databricksEmbeddingsvalue(options: DatabricksEmbeddingsOptions) => EmbeddingProviderEmbeddings via a Mosaic AI serving embedding endpoint. Databricks exposes the OpenAI-compatible embeddings surface at <host>/serving-endpoints/embeddings with the endpoint name as model. Reuses the bundle's generated Model Serving Query client, so it inherits the rotating UC-principal credential. (URL/response schema worth a smoke test against a live embedding endpoint — chat and embeddings share the OpenAI-compatible convention but endpoint families can differ.)
DatabricksEmbeddingsOptionstypeDatabricksEmbeddingsOptionsConfiguration options for databricks embeddings.
DatabricksExternalModelEntitytypeDatabricksExternalModelEntityType contract for databricks external model entity.
databricksFeatureLookupToolvalue(client: DatabricksModelServingQueryClient, options: DatabricksFeatureLookupToolOptions) => ToolDef<{ records: JsonObject[]; }, unknown>Low-latency feature lookup from a Databricks Feature Serving endpoint (backed by an Online Table). The model passes primary-key records; the endpoint returns the served feature values. Drives serving consumption and keeps features governed by Unity Catalog under the bundle principal.
DatabricksFeatureLookupToolOptionstypeDatabricksFeatureLookupToolOptionsConfiguration options for databricks feature lookup tool.
databricksFoundationModelProvidervalue(options: DatabricksModelOptions) => ModelProviderDatabricks inference provider supporting both Unity AI Gateway model services and custom Model Serving endpoints. In auto mode, fully-qualified system.ai.* models use AI Gateway and other endpoint names retain the /serving-endpoints route.
databricksGenievalue(client: DatabricksGenieSdkClient, options: DatabricksGenieClientOptions) => DatabricksGenieClientRuntime API for databricks genie; the generated signature shows its accepted inputs and return type.
DatabricksGenieAccessControltypeDatabricksGenieAccessControlType contract for databricks genie access control.
DatabricksGenieAdminvaluetypeof DatabricksGenieAdminRuntime API for databricks genie admin; the generated signature shows its accepted inputs and return type.
DatabricksGenieAdminOptionstypeDatabricksGenieAdminOptionsConfiguration options for databricks genie admin.
DatabricksGenieAgenttypeDatabricksGenieAgentType contract for databricks genie agent.
DatabricksGenieAgentModeClientvaluetypeof DatabricksGenieAgentModeClientClient implementation for databricks genie agent mode.
DatabricksGenieAgentModeClientOptionstypeDatabricksGenieAgentModeClientOptionsConfiguration options for databricks genie agent mode client.
DatabricksGenieAgentModeCompletedEventtypeDatabricksGenieAgentModeCompletedEventType contract for databricks genie agent mode completed event.
DatabricksGenieAgentModeCreatedEventtypeDatabricksGenieAgentModeCreatedEventType contract for databricks genie agent mode created event.
DatabricksGenieAgentModeErrorInfotypeDatabricksGenieAgentModeErrorInfoType contract for databricks genie agent mode error info.
DatabricksGenieAgentModeEventtypeDatabricksGenieAgentModeEventType contract for databricks genie agent mode event.
DatabricksGenieAgentModeFailedEventtypeDatabricksGenieAgentModeFailedEventType contract for databricks genie agent mode failed event.
DatabricksGenieAgentModeItemPagetypeDatabricksGenieAgentModeItemPageType contract for databricks genie agent mode item page.
DatabricksGenieAgentModeOutputEventtypeDatabricksGenieAgentModeOutputEventType contract for databricks genie agent mode output event.
DatabricksGenieAgentModeProtocolErrorvaluetypeof DatabricksGenieAgentModeProtocolErrorError raised for databricks genie agent mode protocol failures.
DatabricksGenieAgentModeResponsetypeDatabricksGenieAgentModeResponseResponse contract for databricks genie agent mode.
DatabricksGenieAgentModeResponseErrorvaluetypeof DatabricksGenieAgentModeResponseErrorError raised for databricks genie agent mode response failures.
DatabricksGenieAgentModeTimeoutErrorvaluetypeof DatabricksGenieAgentModeTimeoutErrorError raised for databricks genie agent mode timeout failures.
databricksGenieAgentModeToolvalue(client: DatabricksGenieAgentModeClient, agentId: string, options?: DatabricksGenieAgentModeToolOptions) => ToolDefModel-callable tool or tool factory for databricks genie agent mode.
DatabricksGenieAgentModeToolOptionstypeDatabricksGenieAgentModeToolOptionsConfiguration options for databricks genie agent mode tool.
DatabricksGenieAgentModeUnknownEventtypeDatabricksGenieAgentModeUnknownEventType contract for databricks genie agent mode unknown event.
DatabricksGenieAgentPagetypeDatabricksGenieAgentPageType contract for databricks genie agent page.
DatabricksGenieAgentReferencetypeDatabricksGenieAgentReferenceType contract for databricks genie agent reference.
DatabricksGenieAgentSpecV2typeDatabricksGenieAgentSpecV2Type contract for databricks genie agent spec v2.
DatabricksGenieAgentUpdatetypeDatabricksGenieAgentUpdateType contract for databricks genie agent update.
DatabricksGenieAskInputtypeDatabricksGenieAskInputType contract for databricks genie ask input.
DatabricksGenieAttachmenttypeDatabricksGenieAttachmentType contract for databricks genie attachment.
DatabricksGenieAuthoringToolOptionstypeDatabricksGenieAuthoringToolOptionsConfiguration options for databricks genie authoring tool.
DatabricksGenieBenchmarktypeDatabricksGenieBenchmarkType contract for databricks genie benchmark.
DatabricksGenieClientvaluetypeof DatabricksGenieClientClient implementation for databricks genie.
DatabricksGenieClientOptionstypeDatabricksGenieClientOptionsConfiguration options for databricks genie client.
DatabricksGenieColumnSpectypeDatabricksGenieColumnSpecType contract for databricks genie column spec.
DatabricksGenieCommentPagetypeDatabricksGenieCommentPageType contract for databricks genie comment page.
DatabricksGenieConfigtypeDatabricksGenieConfigType contract for databricks genie config.
DatabricksGenieConversationPagetypeDatabricksGenieConversationPageType contract for databricks genie conversation page.
DatabricksGenieConversationSummarytypeDatabricksGenieConversationSummaryType contract for databricks genie conversation summary.
DatabricksGenieDataSourcetypeDatabricksGenieDataSourceData or filesystem source for databricks genie data.
DatabricksGenieExporttypeDatabricksGenieExportType contract for databricks genie export.
DatabricksGenieJoinSidetypeDatabricksGenieJoinSideType contract for databricks genie join side.
DatabricksGenieJoinSpectypeDatabricksGenieJoinSpecType contract for databricks genie join spec.
DatabricksGenieManagementConfigtypeDatabricksGenieManagementConfigType contract for databricks genie management config.
DatabricksGenieMessageCommenttypeDatabricksGenieMessageCommentType contract for databricks genie message comment.
DatabricksGenieMessageErrorvaluetypeof DatabricksGenieMessageErrorError raised for databricks genie message failures.
DatabricksGenieMessagePagetypeDatabricksGenieMessagePageType contract for databricks genie message page.
DatabricksGenieMessageStatustypestringType contract for databricks genie message status.
DatabricksGenieMessageSummarytypeDatabricksGenieMessageSummaryType contract for databricks genie message summary.
DatabricksGenieOwnershipContexttypeDatabricksGenieOwnershipContextType contract for databricks genie ownership context.
DatabricksGeniePermissionChangetypeDatabricksGeniePermissionChangeType contract for databricks genie permission change.
DatabricksGeniePermissionLeveltypeDatabricksGeniePermissionLevelType contract for databricks genie permission level.
DatabricksGeniePermissionstypeDatabricksGeniePermissionsType contract for databricks genie permissions.
DatabricksGenieProtocolErrorvaluetypeof DatabricksGenieProtocolErrorError raised for databricks genie protocol failures.
DatabricksGenieQueryAttachmenttypeDatabricksGenieQueryAttachmentType contract for databricks genie query attachment.
DatabricksGenieQueryResulttypeDatabricksGenieQueryResultResult returned by databricks genie query.
DatabricksGenieResponsetypeDatabricksGenieResponseResponse contract for databricks genie.
DatabricksGenieResponseLimitErrorvaluetypeof DatabricksGenieResponseLimitErrorError raised for databricks genie response limit failures.
DatabricksGenieSqlExampletypeDatabricksGenieSqlExampleType contract for databricks genie sql example.
DatabricksGenieSqlFunctiontypeDatabricksGenieSqlFunctionType contract for databricks genie sql function.
DatabricksGenieSqlPolicytypeDatabricksGenieSqlPolicyType contract for databricks genie sql policy.
DatabricksGenieSqlPolicyInputtypeDatabricksGenieSqlPolicyInputType contract for databricks genie sql policy input.
DatabricksGenieSqlPolicyResulttypeDatabricksGenieSqlPolicyResultResult returned by databricks genie sql policy.
DatabricksGenieSqlSnippettypeDatabricksGenieSqlSnippetType contract for databricks genie sql snippet.
DatabricksGenieSqlSnippetstypeDatabricksGenieSqlSnippetsType contract for databricks genie sql snippets.
DatabricksGenieSuggestedQuestionsAttachmenttypeDatabricksGenieSuggestedQuestionsAttachmentType contract for databricks genie suggested questions attachment.
DatabricksGenieTextAttachmenttypeDatabricksGenieTextAttachmentType contract for databricks genie text attachment.
DatabricksGenieTimeoutErrorvaluetypeof DatabricksGenieTimeoutErrorError raised for databricks genie timeout failures.
databricksGenieToolvalue(client: DatabricksGenieSdkClient, options: DatabricksGenieToolOptions) => ToolDef<{ question: string; conversationId?: string; }, DatabricksGenieResponse>Genie Agents — delegate a natural-language analytics question to a governed Genie Agent. Genie generates and runs SQL on the warehouse and returns typed answer, query, result, and visualization attachments. Pass conversationId to continue a multi-turn thread.
DatabricksGenieToolOptionstypeDatabricksGenieToolOptionsConfiguration options for databricks genie tool.
DatabricksGenieUnknownAttachmenttypeDatabricksGenieUnknownAttachmentType contract for databricks genie unknown attachment.
DatabricksGenieVisualizationAttachmenttypeDatabricksGenieVisualizationAttachmentType contract for databricks genie visualization attachment.
DatabricksGovernanceMetadatatypeDatabricksGovernanceMetadataType contract for databricks governance metadata.
DatabricksGovernanceOptionstypeDatabricksGovernanceOptionsConfiguration options for databricks governance.
databricksGovernancePolicyvalue(options: DatabricksGovernancePolicyOptions) => CapabilityPolicyAssembles a CapabilityPolicy for a Databricks tool set: approval routing for sensitive operations (if stewardAudience is set) plus an egress allowlist pinned to the workspace host(s). Used by the databricks() bundle; can also be merged into an agent's own policy.
DatabricksGovernancePolicyOptionstypeDatabricksGovernancePolicyOptionsConfiguration options for databricks governance policy.
DatabricksGovernanceResourceDescriptortypeDatabricksGovernanceResourceDescriptorType contract for databricks governance resource descriptor.
DatabricksGovernedResourcetypeDatabricksGovernedResourceType contract for databricks governed resource.
databricksHostFromCliProfilevalue(profile?: string) => Promise<string>Workspace host resolved from a Databricks CLI profile (~/.databrickscfg or DATABRICKS_CONFIG_FILE), normalized to the workspace origin. DATABRICKS_* environment variables overlay the file per the official SDK credential chain.
databricksIdentityvalue(principal: DatabricksPrincipal) => DatabricksTokenProviderBuilds a rotating bearer-token provider from the same native credential used by SDK clients.
DatabricksInferenceModetypeDatabricksInferenceModeType contract for databricks inference mode.
DatabricksJobFieldtypeDatabricksJobFieldType contract for databricks job field.
DatabricksJobRunPolicytypeDatabricksJobRunPolicyBound for triggering existing jobs. Ids, not names: the narrow run client cannot resolve names, and call-time resolution would be a TOCTOU hole. allowAnyJobId is the explicit opt-out.
databricksJobsvalue(client: DatabricksJobsClient, options?: DatabricksJobsOptions) => DatabricksJobsRuntime API for databricks jobs; the generated signature shows its accepted inputs and return type.
DatabricksJobsvaluetypeof DatabricksJobsRuntime API for databricks jobs; the generated signature shows its accepted inputs and return type.
databricksJobsAuthoringvalue(client: DatabricksJobsAuthoringClient, computePolicy?: DatabricksComputePolicy) => DatabricksJobsAuthoringRuntime API for databricks jobs authoring; the generated signature shows its accepted inputs and return type.
DatabricksJobsAuthoringvaluetypeof DatabricksJobsAuthoringRuntime API for databricks jobs authoring; the generated signature shows its accepted inputs and return type.
databricksJobsAuthoringToolsvalue(client: DatabricksJobsAuthoringClient, computePolicy?: DatabricksComputePolicy, options?: { oneOffCompute?: boolean; }) => ToolDef[]Runtime API for databricks jobs authoring tools; the generated signature shows its accepted inputs and return type.
DatabricksJobScheduletypeDatabricksJobScheduleType contract for databricks job schedule.
DatabricksJobsClienttypeDatabricksJobsClientClient implementation for databricks jobs.
DatabricksJobsOptionstypeDatabricksJobsOptionsConfiguration options for databricks jobs.
DatabricksJobSpectypeDatabricksJobSpecType contract for databricks job spec.
DatabricksJobsWaitOptionstypeDatabricksJobsWaitOptionsConfiguration options for databricks jobs wait.
DatabricksJobTasktypeDatabricksJobTaskType contract for databricks job task.
DatabricksJobUpdatetypeDatabricksJobUpdateType contract for databricks job update.
DatabricksLakeflowAuthoringvaluetypeof DatabricksLakeflowAuthoringRuntime API for databricks lakeflow authoring; the generated signature shows its accepted inputs and return type.
databricksLakeflowAuthoringToolsvalue(client: DatabricksPipelinesAuthoringClient, options?: { warehouseId?: string; statements?: DatabricksStatementClient; }) => ToolDef[]Runtime API for databricks lakeflow authoring tools; the generated signature shows its accepted inputs and return type.
databricksLakeflowToolsvalue(client: DatabricksPipelinesClient, runPolicy?: DatabricksPipelineRunPolicy) => ToolDef[]The default Lakeflow tool set. Omitting runPolicy is intentionally read-only.
DatabricksLifecycleOperationtypeDatabricksLifecycleOperationType contract for databricks lifecycle operation.
DatabricksLineageEvidenceRowtypeDatabricksLineageEvidenceRowType contract for databricks lineage evidence row.
DatabricksLineageRecordtypeDatabricksLineageRecordGovernance for Databricks tools is layered on top of Unity Catalog, never a replacement. UC enforces table/row/column ACLs natively via the acting principal (see identity.ts). These helpers add the things UC doesn't: an audit/lineage stamp on every tool call, approval routing for sensitive operations, and an egress allowlist pinned to the workspace — all expressed through the SDK's existing CapabilityPolicy, so the loop enforces them without a bespoke engine.
DatabricksManagedAgentKindtypeDatabricksManagedAgentKindType contract for databricks managed agent kind.
databricksManagedAgentToolvalue(client: DatabricksAgentEndpointClient, options: DatabricksManagedAgentToolOptions) => ToolDef<{ question: string; previousResponseId?: string; }, DatabricksManagedAgentToolResult>Project an existing Supervisor Agent, Knowledge Assistant, or Responses-compatible endpoint.
DatabricksManagedAgentToolOptionstypeDatabricksManagedAgentToolOptionsConfiguration options for databricks managed agent tool.
DatabricksManagedAgentToolResulttypeDatabricksManagedAgentToolResultResult returned by databricks managed agent tool.
DatabricksManagedMcpBundletypeDatabricksManagedMcpBundleType contract for databricks managed mcp bundle.
DatabricksManagedMcpEndpointtypeDatabricksManagedMcpEndpointType contract for databricks managed mcp endpoint.
DatabricksManagedMcpServerConfigtypeDatabricksManagedMcpServerConfigType contract for databricks managed mcp server config.
databricksManagedMcpUrlvalue(host: string, endpoint: DatabricksManagedMcpEndpoint) => URLBuild a workspace-local managed MCP or Unity AI Gateway MCP Service endpoint.
databricksManagedMemoryvalue(client: DatabricksRawProtocolClient, options: DatabricksManagedMemoryOptions) => DatabricksManagedMemoryClientRuntime API for databricks managed memory; the generated signature shows its accepted inputs and return type.
DatabricksManagedMemoryClientvaluetypeof DatabricksManagedMemoryClientExplicit managed long-term memory client. Scope is required on every entry operation and is never inferred from model input, keeping tenant partitioning at the trusted application boundary.
DatabricksManagedMemoryOptionstypeDatabricksManagedMemoryOptionsConfiguration options for databricks managed memory.
DatabricksManagedResourceConflictErrorvaluetypeof DatabricksManagedResourceConflictErrorError raised for databricks managed resource conflict failures.
DatabricksManagedResourceRecordtypeDatabricksManagedResourceRecordType contract for databricks managed resource record.
DatabricksManagedResourceStoretypeDatabricksManagedResourceStoreStorage contract for databricks managed resource.
DatabricksMemoryEntrytypeDatabricksMemoryEntryType contract for databricks memory entry.
DatabricksMemoryEntryEdittypeDatabricksMemoryEntryEditType contract for databricks memory entry edit.
DatabricksMemoryEntryPagetypeDatabricksMemoryEntryPageType contract for databricks memory entry page.
DatabricksMemoryStoretypeDatabricksMemoryStoreStorage contract for databricks memory.
DatabricksMemoryStorePagetypeDatabricksMemoryStorePageType contract for databricks memory store page.
databricksMlflowLogMetricToolvalue(client: DatabricksExperimentsClient, runPolicy: DatabricksMlflowRunPolicy, options?: { name?: string; description?: string; }) => ToolDef<{ runId: string; key: string; value: number; step?: number; timestamp?: number; }, unknown>Model-callable tool or tool factory for databricks mlflow log metric.
databricksMlflowLogParamToolvalue(client: DatabricksExperimentsClient, runPolicy: DatabricksMlflowRunPolicy, options?: { name?: string; description?: string; }) => ToolDef<{ runId: string; key: string; value: string; }, unknown>Model-callable tool or tool factory for databricks mlflow log param.
DatabricksMlflowRunPolicytypeDatabricksMlflowRunPolicyType contract for databricks mlflow run policy.
databricksModelBaseUrlvalue(host: string, mode: Exclude<DatabricksInferenceMode, "auto">) => stringBuild the OpenAI-compatible base URL used for one Databricks inference mode.
DatabricksModelOptionstypeDatabricksModelOptionsConfiguration options for databricks model.
DatabricksModelProviderServicetypeDatabricksModelProviderServiceType contract for databricks model provider service.
databricksModelProviderSupportsAnthropicvalue(service: DatabricksModelProviderService) => booleanRuntime API for databricks model provider supports anthropic; the generated signature shows its accepted inputs and return type.
DatabricksModelServicetypeDatabricksModelServiceType contract for databricks model service.
DatabricksModelServiceDiscoveryOptionstypeDatabricksModelServiceDiscoveryOptionsConfiguration options for databricks model service discovery.
DatabricksNewClusterSpectypeDatabricksNewClusterSpecType contract for databricks new cluster spec.
DatabricksNotebookImporttypeDatabricksNotebookImportType contract for databricks notebook import.
DatabricksNotebookRunPolicytypeDatabricksNotebookRunPolicyBound for one-off notebook submission. allowAnyNotebookPath is the explicit opt-out.
DatabricksNotebookTaskSpectypeDatabricksNotebookTaskSpecType contract for databricks notebook task spec.
databricksNotebookToolvalue(client: DatabricksJobsClient, notebookPolicy: DatabricksNotebookRunPolicy, options?: { name?: string; description?: string; existingClusterId?: string; }) => ToolDef<{ notebookPath: string; idempotencyToken?: string; baseParameters?: JsonObject; runName?:...Submit a one-off Databricks notebook run. notebookPolicy is required for the same reason the run-job tool requires one, and more strongly: an unbounded notebook path executes arbitrary workspace code as the calling principal.
DatabricksPermissionChangetypeDatabricksPermissionChangeType contract for databricks permission change.
databricksPersistencevalue(options: DatabricksPersistenceOptions) => DatabricksPersistenceOne-call Lakebase persistence for Databricks-hosted agents. See the package declarations for an example. The Postgres store implementations come from @fabric-harness/node (optional peer) and run unchanged against Lakebase — the only Databricks specifics are database-credential exchange, refresh caching, and TLS defaults from lakebaseClient.
DatabricksPersistencetypeDatabricksPersistenceEverything the v2 runtime persists, on Lakebase, in one adapter: sessions (canonical conversation state), durable agent submissions (admission/FIFO/leases/settlement), and offset-addressable conversation streams. Implements the SDK PersistenceAdapter contract, so it plugs straight into init({ persistence }); the extra connect* methods feed startDevServer({ submissionStore, conversationStreamStore }).
DatabricksPersistenceOptionstypeDatabricksPersistenceOptionsConfiguration options for databricks persistence.
DatabricksPersistenceStoreModuletypeDatabricksPersistenceStoreModuleThe slice of @fabric-harness/node this adapter assembles. Loaded dynamically (node is an optional peer — Databricks Apps always run on Node, but this package stays importable without it); injectable for tests.
DatabricksPipelineLibrarytypeDatabricksPipelineLibraryType contract for databricks pipeline library.
databricksPipelineListToolvalue(client: DatabricksPipelinesClient, options?: ToolMeta) => ToolDef<{ maxResults?: number; filter?: string; }, unknown>Lakeflow Declarative Pipelines (formerly DLT). These drive heavy continuous-compute consumption. start/stop mutate pipeline state (effect: 'execute', governable); list/status are reads.
DatabricksPipelineRunPolicytypeDatabricksPipelineRunPolicyType contract for databricks pipeline run policy.
DatabricksPipelinesClienttypeDatabricksPipelinesClientClient implementation for databricks pipelines.
DatabricksPipelineSpectypeDatabricksPipelineSpecType contract for databricks pipeline spec.
databricksPipelineStartToolvalue(client: DatabricksPipelinesClient, runPolicy: DatabricksPipelineRunPolicy, options?: ToolMeta) => ToolDef<{ pipelineId: string; fullRefresh?: boolean; }, unknown>Model-callable tool or tool factory for databricks pipeline start.
databricksPipelineStatusToolvalue(client: DatabricksPipelinesClient, options?: ToolMeta) => ToolDef<{ pipelineId: string; }, unknown>Model-callable tool or tool factory for databricks pipeline status.
databricksPipelineStopToolvalue(client: DatabricksPipelinesClient, runPolicy: DatabricksPipelineRunPolicy, options?: ToolMeta) => ToolDef<{ pipelineId: string; }, unknown>Model-callable tool or tool factory for databricks pipeline stop.
DatabricksPlatformDomaintypeDatabricksPlatformDomainType contract for databricks platform domain.
DatabricksPlatformDomainIdtypeDatabricksPlatformDomainIdType contract for databricks platform domain id.
DatabricksPrincipaltypeDatabricksPrincipalType contract for databricks principal.
DatabricksPrincipalEnvOptionstypeDatabricksPrincipalEnvOptionsConfiguration options for databricks principal env.
databricksPrincipalFromEnvvalue(env?: Record<string, string | undefined>, options?: DatabricksPrincipalEnvOptions) => Extract<DatabricksPrincipal, { kind: "pat" | "service-principal" | "cli-profile"; }>Resolve a PAT or OAuth M2M principal consistently across CLIs, recipes, Apps, and tests.
DatabricksProvisionedThroughputEntitytypeDatabricksProvisionedThroughputEntityType contract for databricks provisioned throughput entity.
DatabricksPythonWheelTaskSpectypeDatabricksPythonWheelTaskSpecType contract for databricks python wheel task spec.
databricksRagChainvalue(options: DatabricksRagChainOptions) => import("./rag-chain.js").DatabricksRagChainCookbook-style online RAG chain over native Databricks AI Search + Model Serving. See the package declarations for an example.
DatabricksRagChaintypeDatabricksRagChainType contract for databricks rag chain.
DatabricksRagChainOptionstypeDatabricksRagChainOptionsConfiguration options for databricks rag chain.
DatabricksRagChainResolvedOptionstypeDatabricksRagChainResolvedOptionsInputs once a bundle (or explicit retriever + model) is resolved.
DatabricksRagInputtypeDatabricksRagInputType contract for databricks rag input.
DatabricksRagRetrievalOptionstypeDatabricksRagRetrievalOptionsConfiguration options for databricks rag retrieval.
DatabricksReleaseEvidenceValidationtypeDatabricksReleaseEvidenceValidationType contract for databricks release evidence validation.
DatabricksRequestTagstypeDatabricksRequestTagsType contract for databricks request tags.
databricksResourceFingerprintvalue(value: unknown) => Promise<string>Runtime API for databricks resource fingerprint; the generated signature shows its accepted inputs and return type.
DatabricksResourceNotAllowedErrorvaluetypeof DatabricksResourceNotAllowedErrorError raised for databricks resource not allowed failures.
DatabricksResponsesContenttypeDatabricksResponsesContentType contract for databricks responses content.
DatabricksResponsesOutputItemtypeDatabricksResponsesOutputItemType contract for databricks responses output item.
databricksResponsesTextvalue(response: DatabricksAgentEndpointResponse) => stringRuntime API for databricks responses text; the generated signature shows its accepted inputs and return type.
DatabricksRollingEvidenceReporttypeDatabricksRollingEvidenceReportType contract for databricks rolling evidence report.
databricksRunJobToolvalue(client: DatabricksJobsClient, runPolicy: DatabricksJobRunPolicy, options?: { name?: string; description?: string; }) => ToolDef<{ jobId: number; idempotencyToken?: string; notebookParams?: JsonObject; pythonParams?: string[]; jarParams?: string[]; },...Trigger an existing Databricks job. runPolicy is required: the run target is model-supplied, so the bound is part of constructing the tool rather than an option a caller can forget. The pinned schema is a model-facing hint; databricksJobs() re-checks the id before calling the Jobs API.
DatabricksRunLifeCycleStatetypestringType contract for databricks run life cycle state.
DatabricksRunNotAllowedErrorvaluetypeof DatabricksRunNotAllowedErrorRaised before the Jobs API is called when a run target falls outside the configured bound.
DatabricksRunOutputtypeDatabricksRunOutputType contract for databricks run output.
DatabricksRunReceipttypeDatabricksRunReceiptType contract for databricks run receipt.
DatabricksRunResultStatetypestringType contract for databricks run result state.
DatabricksRunStatetypeDatabricksRunStateType contract for databricks run state.
DatabricksRunTimeoutErrorvaluetypeof DatabricksRunTimeoutErrorError raised for databricks run timeout failures.
databricksSdkvalue(options: DatabricksSdkOptions) => DatabricksSdkClientsBuild the official modular Databricks SDK clients under one governed identity. SDK-gap protocols remain private to Fabric's explicit raw protocol adapters.
DatabricksSdkClientstypeDatabricksSdkClientsGenerated Databricks service clients exposed to application code.
DatabricksSdkOptionstypeDatabricksSdkOptionsConfiguration options for databricks sdk.
DatabricksSearchIndexSpectypeDatabricksSearchIndexSpecType contract for databricks search index spec.
DatabricksSecretsAuthoringvaluetypeof DatabricksSecretsAuthoringRuntime API for databricks secrets authoring; the generated signature shows its accepted inputs and return type.
databricksSecretsAuthoringToolsvalue(client: DatabricksSecretsClient, provider: SecretProvider) => ToolDef[]Runtime API for databricks secrets authoring tools; the generated signature shows its accepted inputs and return type.
databricksSecretsProvidervalue(options: DatabricksSecretsProviderOptions) => SecretProviderDatabricks Secret Management adapter. Secret values are decoded only at runtime.
DatabricksSecretsProviderOptionstypeDatabricksSecretsProviderOptionsConfiguration options for databricks secrets provider.
DatabricksSecurableTypetypeDatabricksSecurableTypeType contract for databricks securable type.
DatabricksServingAdminvaluetypeof DatabricksServingAdminRuntime API for databricks serving admin; the generated signature shows its accepted inputs and return type.
databricksServingAdminToolsvalue(client: DatabricksServingAdminClient) => ToolDef[]Runtime API for databricks serving admin tools; the generated signature shows its accepted inputs and return type.
DatabricksServingEndpointSpectypeDatabricksServingEndpointSpecType contract for databricks serving endpoint spec.
DatabricksSparkJarTaskSpectypeDatabricksSparkJarTaskSpecType contract for databricks spark jar task spec.
DatabricksSqlClienttypeDatabricksSqlClientClient implementation for databricks sql.
DatabricksSqlExecutionPolicytypeDatabricksSqlExecutionPolicyType contract for databricks sql execution policy.
databricksSqlReadToolvalue(client: DatabricksSqlClient, options: DatabricksSqlReadToolOptions) => ToolDef<{ statement: string; catalog?: string; schema?: string; }, unknown>Run one read-only query on a Databricks SQL Warehouse. The tool accepts SELECT (including SELECT-ending CTEs), rejects mutation/administration keywords, and denies multiple statements before resolving credentials or calling Statement Execution.
DatabricksSqlReadToolOptionstypeDatabricksSqlToolOptionsConfiguration options for databricks sql read tool.
databricksSqlSandboxvalue(options: DatabricksSqlSandboxOptions) => SandboxEnvSandbox adapter for databricks sql.
DatabricksSqlSandboxOptionstypeDatabricksSqlSandboxOptionsSandbox backend that maps exec(command) to a Databricks SQL Statement Execution API call against a SQL Warehouse. Useful for data agents whose "shell" is a query interface. Behavior: - exec(sql) runs the SQL synchronously (with a timeout) and returns the serialized result set as stdout (newline-delimited JSON rows by default, or CSV when resultFormat: 'csv'). - File operations are intentionally minimal: the sandbox-virtual filesystem keeps a small in-memory map. SQL warehouses are not file servers; mount actual data via databricksVolumeSource from @fabric-harness/connectors. Usa...
DatabricksSqlSandboxRefDatatypeDatabricksSqlSandboxRefDataType contract for databricks sql sandbox ref data.
DatabricksSqlSandboxRegistrationOptionstypeDatabricksSqlSandboxRegistrationOptionsConfiguration options for databricks sql sandbox registration.
DatabricksSqlStatementInputtypeDatabricksSqlStatementInputType contract for databricks sql statement input.
DatabricksSqlTaskSpectypeDatabricksSqlTaskSpecType contract for databricks sql task spec.
databricksSqlToolvalue(client: DatabricksSqlClient, policy: DatabricksSqlExecutionPolicy, options: DatabricksSqlToolOptions) => ToolDef<DatabricksSqlStatementInput, unknown>Model-callable tool or tool factory for databricks sql.
DatabricksSqlToolOptionstypeDatabricksSqlToolOptionsConfiguration options for databricks sql tool.
DatabricksSqlWarehousetypeDatabricksSqlWarehouseType contract for databricks sql warehouse.
DatabricksStatementClienttypeDatabricksStatementClientClient implementation for databricks statement.
DatabricksSupervisorAgentListOptionstypeDatabricksSupervisorAgentListOptionsConfiguration options for databricks supervisor agent list.
databricksSupervisorAgentsvalue(sdk: SupervisorAgentsClient, endpoints: DatabricksAgentEndpointClient, options: DatabricksSupervisorAgentsOptions) => DatabricksSupervisorAgentsRuntime API for databricks supervisor agents; the generated signature shows its accepted inputs and return type.
DatabricksSupervisorAgentsvaluetypeof DatabricksSupervisorAgentsGuarded composition boundary over the official generated Supervisor Agents SDK.
DatabricksSupervisorAgentsOptionstypeDatabricksSupervisorAgentsOptionsConfiguration options for databricks supervisor agents.
DatabricksSupportTiertypeDatabricksSupportTierType contract for databricks support tier.
databricksTableInfoToolvalue(client: DatabricksTablesClient, options?: { name?: string; description?: string; }) => ToolDef<{ fullName: string; }, unknown>Model-callable tool or tool factory for databricks table info.
databricksTelemetryvalue(options: DatabricksTelemetryOptions) => DatabricksTelemetryRuntime API for databricks telemetry; the generated signature shows its accepted inputs and return type.
DatabricksTelemetrytypeDatabricksTelemetryType contract for databricks telemetry.
DatabricksTelemetryOptionstypeDatabricksTelemetryOptionsCost + lineage as core telemetry (v2, workstream C4): submission lifecycle events and governed tool-call lineage land in Lakebase tables keyed by the same submissionId that drives events, settlement, and audit — so spend, lineage, and outcomes join on one stable key. Writes are fire-and-forget: a telemetry failure must never affect execution.
databricksTenantCostLimitvalue(client: DatabricksStatementClient, warehouseId: string, tenantId: string, options: { perHourUsd?: number; perDayUsd?: number; perMonthUsd?: number; cacheTtlMs?: number; onExceed?: "throw" | "approve"; }) => CostLimitRuntime API for databricks tenant cost limit; the generated signature shows its accepted inputs and return type.
DatabricksTokenProvidertypeDatabricksTokenProviderA bearer-token resolver awaited per request. Fabric uses the same native-SDK credential across generated service clients, model calls, preview streaming, and Lakebase credential exchange.
DatabricksUnityCatalogAdminvaluetypeof DatabricksUnityCatalogAdminRuntime API for databricks unity catalog admin; the generated signature shows its accepted inputs and return type.
databricksUnityCatalogAdminToolsvalue(client: DatabricksUnityCatalogAdminClients, options?: { destructive?: boolean; }) => ToolDef[]Runtime API for databricks unity catalog admin tools; the generated signature shows its accepted inputs and return type.
DatabricksUnmanagedResourceErrorvaluetypeof DatabricksUnmanagedResourceErrorError raised for databricks unmanaged resource failures.
DatabricksUpstreamMaturitytypeDatabricksUpstreamMaturityType contract for databricks upstream maturity.
databricksWithManagedMcpvalue(config: DatabricksBundleConfig, scope?: { tokenProvider: DatabricksTokenProvider; principal: FabricPrincipal; }) => Promise<DatabricksManagedMcpBundle>Build a Databricks bundle after discovering and classifying managed MCP tools.
databricksWorkspaceApivalue(options: DatabricksWorkspaceApiOptions) => DatabricksWorkspaceApiRuntime API for databricks workspace api; the generated signature shows its accepted inputs and return type.
DatabricksWorkspaceApitypeDatabricksWorkspaceApiCredential-safe native Databricks REST escape hatch. Prefer the generated clients from databricksSdk when one exists. This client preserves access to newly released or uncommon Databricks APIs without waiting for a Harness wrapper. It is deliberately not a model tool: applications must validate requests and place governed mutations behind their own explicit tool/action boundary.
DatabricksWorkspaceApiMethodtypeDatabricksWorkspaceApiMethodType contract for databricks workspace api method.
DatabricksWorkspaceApiOptionstypeDatabricksWorkspaceApiOptionsConfiguration options for databricks workspace api.
DatabricksWorkspaceApiRequestOptionstypeDatabricksWorkspaceApiRequestOptionsConfiguration options for databricks workspace api request.
DatabricksWorkspaceCompatibilityRecordtypeDatabricksWorkspaceCompatibilityRecordType contract for databricks workspace compatibility record.
databricksWorkspaceOriginvalue(host: string) => stringNormalize a workspace hostname or URL to its HTTPS origin.
DatabricksWorkspaceSourceOptionstypeDatabricksWorkspaceSourceOptionsConfiguration options for databricks workspace source.
defaultDatabricksCertificationChecksvalue(options?: { agentServices?: boolean; authoring?: boolean; }) => string[]Required checks used by the protected Databricks certification workflow.
defineDatabricksAgentvalue<TInput = JsonObject, TOutput = unknown>(options?: DefineDatabricksAgentOptions<TInput, TOutput>) => DefinedAgent<TInput, TOutput>Defines databricks agent.
DefineDatabricksAgentOptionstypeDefineDatabricksAgentOptions<TInput, TOutput>Configuration options for define databricks agent.
deployDatabricksAppArtifactvalue(options: DeployDatabricksAppArtifactOptions) => Promise<DeployDatabricksAppArtifactResult>Deploy an already-built Fabric Harness Databricks App artifact. This is the programmatic counterpart of fh deploy --target databricks-app. It intentionally does not rebuild the artifact: release orchestrators can verify the immutable digest first, then use this function for the Databricks side effect.
DeployDatabricksAppArtifactOptionstypeDeployDatabricksAppArtifactOptionsConfiguration options for deploy databricks app artifact.
DeployDatabricksAppArtifactResulttypeDeployDatabricksAppArtifactResultResult returned by deploy databricks app artifact.
destroyDatabricksAppArtifactvalue(options: DestroyDatabricksAppArtifactOptions) => Promise<DestroyDatabricksAppArtifactResult>Destroy only resources declared by an already-built Databricks App bundle.
DestroyDatabricksAppArtifactOptionstypeDestroyDatabricksAppArtifactOptionsConfiguration options for destroy databricks app artifact.
DestroyDatabricksAppArtifactResulttypeDestroyDatabricksAppArtifactResultResult returned by destroy databricks app artifact.
digestDatabricksArtifactvalue(target: string) => Promise<string>Digest a release artifact using the standard SHA-256 file digest. Directory targets use a deterministic, tagged tree digest so deployment bundles can be certified without archiving them.
ensureDatabricksTelemetryTablesvalue(client: LakebaseClient) => Promise<void>Create the telemetry tables when absent. Idempotent.
exportAgentEvaluationJsonlvalue(records: LegacyAgentEvaluationRecord[]) => stringSerialize evaluation records as JSONL for MLflow / Agent Evaluation import.
exportMlflow3EvaluationJsonlvalue(records: Mlflow3RagEvaluationRecord[]) => stringSerialize structured MLflow 3 evaluation rows as newline-delimited JSON.
extractDatabricksGovernedResourcesvalue(tool: ToolDef, input: unknown) => DatabricksGovernedResource[]Runtime API for extract databricks governed resources; the generated signature shows its accepted inputs and return type.
fabricPrincipalForvalue(principal: DatabricksPrincipal, overrides?: FabricPrincipalOverrides) => FabricPrincipalMap a Databricks principal onto the SDK's FabricPrincipal so the governed identity rides submissions → tool calls → lineage/cost records. Never carries a token — ids and labels only.
FabricPrincipalOverridestypeFabricPrincipalOverridesType contract for fabric principal overrides.
getDatabricksCapabilityvalue(id: string) => DatabricksCapability | undefinedReturns databricks capability.
governanceMetadatavalue(tool: ToolDef) => DatabricksGovernanceMetadata | undefinedRuntime API for governance metadata; the generated signature shows its accepted inputs and return type.
inferenceTableUsageQueryvalue(options: InferenceTableUsageQueryOptions) => stringSQL aggregating a serving endpoint's inference/payload table by client_request_id — one row per submission with the request count and the first/last request timestamps — for offline joins against fh_submission_telemetry.submission_id. Join contract: callers MUST send the submission id as the serving request's client_request_id (e.g. the client_request_id field on the serving-endpoint invocation) — the inference table records it verbatim, and this query's submission_id column only joins when that convention holds. Rows without a client_request_id (traffic from other callers) are...
InferenceTableUsageQueryOptionstypeInferenceTableUsageQueryOptionsConfiguration options for inference table usage query.
inspectDatabricksAppUserAuthorizationvalue(options: { headers: Headers | Record<string, string | string[] | undefined>; host: string; fetchImpl?: typeof fetch; now?: () => number; }) => Promise<DatabricksAppUserAuthorizationInspection>Validate a Databricks Apps forwarded user token and return non-secret identity/lifetime metadata suitable for OBO lifecycle certification. The access token is never returned or included in an error.
isDatabricksModelServicevalue(model: string | undefined) => booleanTrue for Unity Catalog model-service identifiers accepted by Unity AI Gateway.
lakebaseClientvalue(options: LakebaseClientOptions) => LakebaseClientClient implementation for lakebase.
LakebaseClienttypeLakebaseClientClient implementation for lakebase.
LakebaseClientOptionstypeLakebaseClientOptionsConfiguration options for lakebase client.
lakebaseCredentialProvidervalue(options: LakebaseCredentialProviderOptions) => () => Promise<string>Exchange a workspace OAuth token for a Lakebase database credential. The result is cached, refreshed early with jitter, and refreshes are single-flight.
LakebaseCredentialProviderOptionstypeLakebaseCredentialProviderOptionsConfiguration options for lakebase credential provider.
LakebaseDatabricksManagedResourceStorevaluetypeof LakebaseDatabricksManagedResourceStoreDurable managed-resource manifest backed by Lakebase or ordinary PostgreSQL.
LakebaseDatabricksManagedResourceStoreOptionstypeLakebaseDatabricksManagedResourceStoreOptionsConfiguration options for lakebase databricks managed resource store.
LakebasePoolConfigtypeLakebasePoolConfigType contract for lakebase pool config.
LakebasePoolFactorytypeLakebasePoolFactoryFactory for lakebase pool.
LegacyAgentEvaluationRecordtypeLegacyAgentEvaluationRecordOne row in the shape commonly used with Databricks / MLflow GenAI evaluation tables (request / response / retrieved_context). This is an export for Mosaic Agent Evaluation and notebooks — not a reimplementation of judges.
listDatabricksCapabilitiesvalue(options?: { status?: DatabricksCapabilityStatus; tier?: DatabricksSupportTier; apiFidelity?: DatabricksApiFidelity; domain?: DatabricksPlatformDomainId; }) => DatabricksCapability[]Lists databricks capabilities.
MemoryDatabricksManagedResourceStorevaluetypeof MemoryDatabricksManagedResourceStoreIn-process store for tests and single-process development. Production callers should inject persistence.
missingDatabricksCapabilityEvidencevalue(capability: DatabricksCapability, evidence?: readonly DatabricksCapabilityEvidenceReference[]) => string[]Runtime API for missing databricks capability evidence; the generated signature shows its accepted inputs and return type.
Mlflow3RagEvaluationRecordtypeMlflow3RagEvaluationRecordMLflow 3 evaluation-dataset row with structured inputs, outputs, and expectations.
MlflowTraceExportertypeMlflowTraceExporterType contract for mlflow trace exporter.
MlflowTraceInputtypeMlflowTraceInputType contract for mlflow trace input.
MlflowTracePayloadtypeMlflowTracePayloadType contract for mlflow trace payload.
MockDatabricksModelProvidervaluetypeof MockDatabricksModelProviderA deterministic ModelProvider for Databricks agent tests and init templates. Returns structured responses for SQL/table-info tool calls without requiring real Databricks credentials.
MockDatabricksModelProviderOptionstypeMockDatabricksModelProviderOptionsConfiguration options for mock databricks model provider.
normalizeDatabricksGenieAgentSpecvalue(spec: DatabricksGenieAgentSpecV2) => Promise<DatabricksGenieAgentSpecV2>Runtime API for normalize databricks genie agent spec; the generated signature shows its accepted inputs and return type.
onBehalfOfFromHeadersvalue(headers: Headers | Record<string, string | string[] | undefined>) => Extract<DatabricksPrincipal, { kind: "on-behalf-of"; }> | undefinedOn-behalf-of principal from Databricks Apps user-authorization headers: the platform forwards the signed-in user's access token as x-forwarded-access-token (plus x-forwarded-email/x-forwarded-user). Returns undefined when the request carries no user token (e.g. app service-to-service traffic) so callers fall back to the app principal.
parseStatementRowsvalue(response: unknown) => JsonObject[]Map a statement response's columns + rows into objects keyed by column name.
queryDatabricksLineageEvidencevalue(client: LakebaseClient, submissionId: string) => Promise<DatabricksLineageEvidenceRow[]>Join governed object access to the submission actor, outcome, and model/tool cost.
RagChainPostProcessOptionstypeRagChainPostProcessOptionsConfiguration options for rag chain post process.
RagChainPromptOptionstypeRagChainPromptOptionsConfiguration options for rag chain prompt.
RagEvalExpectedtypeRagEvalExpectedType contract for rag eval expected.
RagPreprocesstypeRagPreprocessType contract for rag preprocess.
RagStreamEventtypeRagStreamEventIncremental event from DatabricksRagChain.stream. delta events carry raw first-pass model output for live UI. They are emitted before citation validation, bounded repair, truncation, and the sources footer run, so the concatenated deltas may differ from the final validated answer. The terminal turn event is authoritative — use it for persistence, evaluation export, and cost telemetry, exactly like the SDK's ModelStreamChunk.done contract.
RagTurntypeRagTurnStructured result of one online RAG inference turn. Mirrors the Databricks AI Cookbook chain: preprocess → retrieve (AI Search) → prompt augment → generate → post-process. Fabric does not reimplement AI Search or Model Serving — this is a thin orchestration over native Databricks APIs already exposed by this package.
ragTurnCitationsScorervalue(name?: string) => (input: { output: RagTurn; }) => RagTurnScoreRuntime API for rag turn citations scorer; the generated signature shows its accepted inputs and return type.
ragTurnContainsScorervalue(name?: string) => (input: { case: { expected?: RagEvalExpected | string; }; output: RagTurn; }) => RagTurnScoreAdapter for @fabric-harness/evals scorers when the suite output is a RagTurn. Keep heavy quality judges in Databricks Agent Evaluation; use these for CI smoke.
RagTurnScoretypeRagTurnScoreType contract for rag turn score.
reconcileDatabricksCostvalue(options: DatabricksCostReconciliationOptions) => Promise<DatabricksCostReconciliationResult>Compare immediate estimates with delayed System Tables actuals and apply an explicit outage policy.
registerDatabricksModelProvidervalue() => voidRegister databricks/<model> model references.
registerDatabricksSqlSandboxBackendvalue(registration?: DatabricksSqlSandboxRegistrationOptions) => voidRegister sandbox: 'databricks' and its credential-safe portable-ref decoder.
requireDatabricksManagedResourcevalue(input: { store: DatabricksManagedResourceStore; resourceType: string; resourceId: string; expectedFingerprint?: string; }) => Promise<DatabricksManagedResourceRecord>Runtime API for require databricks managed resource; the generated signature shows its accepted inputs and return type.
resolveDatabricksRequiredChecksvalue(requiredTiers: readonly DatabricksCertificationBlockingTier[], explicitlyRequired?: readonly string[]) => string[]Resolve blocking-tier checks plus explicit additions. Explicit ids never remove tier defaults.
resolveToolRefsvalue(bundle: DatabricksBundle, refs: string[]) => ToolDef[]Resolves tool refs.
runDatabricksAuthoringLifecyclevalue<Resource, Mutation = Resource>(lifecycle: DatabricksAuthoringLifecycle<Resource, Mutation>, ledger?: DatabricksCertificationCleanupLedger) => Promise<DatabricksAuthoringLifecycleEvidence>Exercise a destructive authoring capability with mandatory verification and reverse-order cleanup. Callers should perform each operation through the same governed ToolDef path used in production.
runDatabricksCertificationvalue(options: RunDatabricksCertificationOptions) => Promise<DatabricksCertificationEvidence>Run live capability checks and produce stable, secret-redacted CI evidence.
RunDatabricksCertificationOptionstypeRunDatabricksCertificationOptionsConfiguration options for run databricks certification.
runDatabricksCommandvalue(command: string, args: readonly string[], options: { cwd: string; env: NodeJS.ProcessEnv; }) => Promise<DatabricksCommandResult>Runs databricks command.
RunDatabricksJobInputtypeRunDatabricksJobInputType contract for run databricks job input.
runStatementvalue(client: DatabricksStatementClient, warehouseId: string, statement: string, parameters: SqlParameter[], poll: StatementPoll) => Promise<unknown>Submit a parameterized SQL statement and poll to a terminal state. Named parameters → injection-safe.
scoreRagTurnvalue(turn: RagTurn, expected?: RagEvalExpected) => RagTurnScore[]Lightweight local checks before/alongside Databricks Agent Evaluation.
serializeDatabricksGenieAgentSpecvalue(spec: DatabricksGenieAgentSpecV2) => Promise<string>Serializes databricks genie agent spec.
servingUsageCapturevalue(options: ServingUsageCaptureOptions) => (event: FabricEvent) => voidBuild an onEvent fan-in that turns model-usage events into submission_usage telemetry. For every FabricEvent carrying data.usage ({ inputTokens?, outputTokens?, costUsd? }, at least one numeric field) — and optionally data.model — while an ambient currentSubmissionContext is set, it emits one submission_usage event stamped with the submission correlation (submission/attempt ids, agent identity, tenant, actor). Events observed outside a submission context are dropped silently — not every session turn belongs to a submission. The submission context does not carry the...
ServingUsageCaptureOptionstypeServingUsageCaptureOptionsServing usage capture (v2 migration, workstream C7): attribute model/serving spend to submissions through the ambient submission context.
SqlParametertypeSqlParameterType contract for sql parameter.
StatementPolltypeStatementPollType contract for statement poll.
SubmitDatabricksNotebookInputtypeSubmitDatabricksNotebookInputType contract for submit databricks notebook input.
sweepDatabricksAuthoringCertificationvalue(clients: DatabricksCertificationSweepClients, options?: DatabricksCertificationSweepOptions) => Promise<DatabricksCertificationSweepResult>Remove only resources carrying the reserved protected-certification prefix.
sweepDatabricksAuthoringCertificationWorkspacevalue(options: DatabricksCertificationWorkspaceSweepOptions) => Promise<DatabricksCertificationSweepResult>Build the official generated clients plus the private Workspace-object adapter and sweep one workspace. This is the supported operational entrypoint; callers never construct raw transport.
toAgentEvaluationRecordvalue(turn: RagTurn, options?: { expectedAnswer?: string; tags?: Record<string, string>; }) => LegacyAgentEvaluationRecordConvert a RagTurn into a Databricks-friendly evaluation record. Upload JSONL of these rows to MLflow / Agent Evaluation rather than building a parallel judge stack in Fabric.
toMlflow3EvaluationRecordvalue(turn: RagTurn, options?: { expectedAnswer?: string; expectedRetrievedContext?: Array<{ doc_uri?: string; content: string; }>; tags?: Record<string, string>; traceId?: string; submissionId?: string; }) => Mlflow3RagEvaluationRecordConvert a RAG turn into the structured MLflow 3 evaluation-dataset shape.
UcVolumesAttachmentStorevaluetypeof UcVolumesAttachmentStoreStorage contract for uc volumes attachment.
UcVolumesAttachmentStoreOptionstypeUcVolumesAttachmentStoreOptionsUnity Catalog Volumes attachment backend (v2 migration, workstream C2). Implements the SDK AttachmentStore contract on a UC Volume via the Databricks Files API, so attachment bytes are governed by Unity Catalog grants like every other Databricks asset. Layout under the volume: See the package declarations for an example. The bare <digest> file holds the raw bytes; the <digest>.json sidecar holds the AttachmentRef metadata and doubles as the record's existence marker: put is first-write-wins per (scope, digest) — when the sidecar already exists the put is a no-op, so...
unityCatalogTablesToolvalue(client: DatabricksTablesClient, options?: { name?: string; description?: string; }) => ToolDef<{ catalog: string; schema: string; }, unknown>Model-callable tool or tool factory for unity catalog tables.
unregisterDatabricksSqlSandboxBackendvalue() => voidRemove both process-local registrations, primarily for tests and controlled shutdown.
validateDatabricksAppArtifactvalue(options: ValidateDatabricksAppArtifactOptions) => Promise<ValidateDatabricksAppArtifactResult>Validate an already-built Databricks App artifact without mutating the workspace.
ValidateDatabricksAppArtifactOptionstypeValidateDatabricksAppArtifactOptionsConfiguration options for validate databricks app artifact.
ValidateDatabricksAppArtifactResulttypeValidateDatabricksAppArtifactResultResult returned by validate databricks app artifact.
validateDatabricksAppRecoveryEvidencevalue(evidence: DatabricksAppRecoveryEvidence) => voidAssert that App restart evidence proves durable state, approval recovery, and cascade cleanup.
validateDatabricksAppUserIsolationEvidencevalue(evidence: DatabricksAppUserIsolationEvidence) => voidAssert that retained App evidence proves distinct principals and cross-user denial.
validateDatabricksCertificationEnvironmentvalue(environment: Environment, requiredChecks: readonly string[]) => DatabricksCertificationEnvironmentIssue[]Return actionable, secret-free preflight failures for a protected certification environment. The certification runner remains authoritative for runtime configuration and service behavior.
validateDatabricksComputePolicyvalue(policy: DatabricksComputePolicy) => voidRuntime API for validate databricks compute policy; the generated signature shows its accepted inputs and return type.
validateDatabricksCrossTierEvidencevalue(options: ValidateDatabricksCrossTierEvidenceOptions) => DatabricksCrossTierEvidenceManifestFail closed unless Tier R and Tier A exercised the same immutable package tarball and commit.
ValidateDatabricksCrossTierEvidenceOptionstypeValidateDatabricksCrossTierEvidenceOptionsConfiguration options for validate databricks cross tier evidence.
validateDatabricksDynamicAgentEvidencevalue(evidence: DatabricksDynamicAgentEvidence) => voidAssert that Tier R exercised hook-authored agents across a real App restart.
validateDatabricksGenieSqlReferencesvalue(spec: DatabricksGenieAgentSpecV2, policy: DatabricksGenieSqlPolicy) => Promise<void>Runtime API for validate databricks genie sql references; the generated signature shows its accepted inputs and return type.
validateDatabricksGovernanceDescriptorvalue(tool: ToolDef, required?: boolean) => voidValidate descriptor syntax and that each path can be traversed in the declared input schema.
validateDatabricksJobRunPolicyvalue(policy: DatabricksJobRunPolicy) => voidRuntime API for validate databricks job run policy; the generated signature shows its accepted inputs and return type.
validateDatabricksNotebookRunPolicyvalue(policy: DatabricksNotebookRunPolicy) => voidRuntime API for validate databricks notebook run policy; the generated signature shows its accepted inputs and return type.
validateDatabricksReleaseEvidencevalue(options: ValidateDatabricksReleaseEvidenceOptions) => DatabricksReleaseEvidenceValidationFail closed unless retained Databricks evidence proves the exact release commit and artifacts.
ValidateDatabricksReleaseEvidenceOptionstypeValidateDatabricksReleaseEvidenceOptionsConfiguration options for validate databricks release evidence.
validateDatabricksRollingEvidencevalue(options: ValidateDatabricksRollingEvidenceOptions) => DatabricksRollingEvidenceReportRequire daily Tier R evidence plus at least two same-candidate Tier R/A proofs in the rolling public-claim window. Every Tier R record must bind two-user App isolation.
ValidateDatabricksRollingEvidenceOptionstypeValidateDatabricksRollingEvidenceOptionsConfiguration options for validate databricks rolling evidence.
validateJobSpecvalue(spec: DatabricksJobSpec, policy: DatabricksComputePolicy) => voidRuntime API for validate job spec; the generated signature shows its accepted inputs and return type.
withGovernancevalue<I, O>(tool: ToolDef<I, O>, options?: DatabricksGovernanceOptions) => ToolDef<I, O>Wraps one Databricks tool to stamp lineage/audit and enforce the optional catalog allowlist.
withGovernanceToolsvalue(tools: ToolDef[], options?: DatabricksGovernanceOptions) => ToolDef[]Wraps a set of Databricks tools with withGovernance.

@fabric-harness/databricks/agent

ExportKindTypeScript signaturePurpose
defineDatabricksAgentvalue<TInput = JsonObject, TOutput = unknown>(options?: DefineDatabricksAgentOptions<TInput, TOutput>) => DefinedAgent<TInput, TOutput>Defines databricks agent.
DefineDatabricksAgentOptionstypeDefineDatabricksAgentOptions<TInput, TOutput>Configuration options for define databricks agent.
resolveToolRefsvalue(bundle: DatabricksBundle, refs: string[]) => ToolDef[]Resolves tool refs.

@fabric-harness/databricks/sql-sandbox

ExportKindTypeScript signaturePurpose
databricksSqlSandboxvalue(options: DatabricksSqlSandboxOptions) => SandboxEnvSandbox adapter for databricks sql.
DatabricksSqlSandboxOptionstypeDatabricksSqlSandboxOptionsSandbox backend that maps exec(command) to a Databricks SQL Statement Execution API call against a SQL Warehouse. Useful for data agents whose "shell" is a query interface. Behavior: - exec(sql) runs the SQL synchronously (with a timeout) and returns the serialized result set as stdout (newline-delimited JSON rows by default, or CSV when resultFormat: 'csv'). - File operations are intentionally minimal: the sandbox-virtual filesystem keeps a small in-memory map. SQL warehouses are not file servers; mount actual data via databricksVolumeSource from @fabric-harness/connectors. Usa...
DatabricksSqlSandboxRefDatatypeDatabricksSqlSandboxRefDataType contract for databricks sql sandbox ref data.
DatabricksSqlSandboxRegistrationOptionstypeDatabricksSqlSandboxRegistrationOptionsConfiguration options for databricks sql sandbox registration.
registerDatabricksSqlSandboxBackendvalue(registration?: DatabricksSqlSandboxRegistrationOptions) => voidRegister sandbox: 'databricks' and its credential-safe portable-ref decoder.
unregisterDatabricksSqlSandboxBackendvalue() => voidRemove both process-local registrations, primarily for tests and controlled shutdown.

@fabric-harness/databricks/app-user-authorization

ExportKindTypeScript signaturePurpose
createDatabricksAppUserAuthenticatorvalue(options: DatabricksAppUserAuthenticatorOptions) => (request: { headers: Headers | Record<string, string | string[] | undefined>; }) => Promise<DatabricksAppAuthenticatedPrincipal | false | undefined>Authenticate Databricks Apps forwarded user tokens and isolate each user by default. Validation calls the workspace current-user API once per token digest; raw tokens are never stored as cache keys or returned to Fabric Harness.
DATABRICKS_APP_USER_PERMISSIONSvaluereadonly ["agent:invoke", "approval:read", "approval:write", "artifact:read", "mcp:invoke", "session:abort", "session:delete", "session:read"]Constant defining databricks app user permissions.
DatabricksAppAuthenticatedPrincipaltypeDatabricksAppAuthenticatedPrincipalType contract for databricks app authenticated principal.
DatabricksAppUserAuthenticatorOptionstypeDatabricksAppUserAuthenticatorOptionsConfiguration options for databricks app user authenticator.
DatabricksAppUserAuthorizationInspectiontypeDatabricksAppUserAuthorizationInspectionType contract for databricks app user authorization inspection.
databricksPrincipalTenantIdvalue(kind: "user" | "service-principal" | "app", id: string) => stringStable, non-reversible tenant scope for Databricks App principals.
inspectDatabricksAppUserAuthorizationvalue(options: { headers: Headers | Record<string, string | string[] | undefined>; host: string; fetchImpl?: typeof fetch; now?: () => number; }) => Promise<DatabricksAppUserAuthorizationInspection>Validate a Databricks Apps forwarded user token and return non-secret identity/lifetime metadata suitable for OBO lifecycle certification. The access token is never returned or included in an error.

@fabric-harness/databricks/platform

ExportKindTypeScript signaturePurpose
createDatabricksMutationGovernanceResolvervalue(options: DatabricksMutationGovernanceOptions) => MutationGovernanceResolverPlatform resolver backed by Databricks resource identities but no Databricks network calls.
DATABRICKS_PLATFORM_GOVERNANCE_BRIDGE_VERSIONvalue"1"Durable generation of the Harness-to-Platform Databricks governance bridge.
DatabricksAttestationInputtypeDatabricksAttestationInputType contract for databricks attestation input.
databricksExecutionAttestationvalue(input: DatabricksAttestationInput) => ExecutionAttestationRuntime API for databricks execution attestation; the generated signature shows its accepted inputs and return type.
databricksExecutionPrincipalvalue(principal: DatabricksPrincipal, delegatedBy?: ExecutionPrincipal, explicitId?: string) => ExecutionPrincipalAudit-safe Databricks identity. Tokens and secrets are deliberately never represented.
databricksGovernanceRuntimeEvidencevalue(overrides?: Pick<GovernanceRuntimeEvidence, "hostPackageVersion" | "policyRulesetVersion">) => Partial<GovernanceRuntimeEvidence>Runtime evidence applications pass directly to createGovernedActionHost.
DatabricksMutationGovernanceOptionstypeDatabricksMutationGovernanceOptionsConfiguration options for databricks mutation governance.
DatabricksPlatformResourcetypeDatabricksPlatformResourceType contract for databricks platform resource.
databricksPlatformResourceRefvalue(workspaceHost: string, resource: Omit<DatabricksPlatformResource, "operation" | "dataClassifications">) => ExternalResourceRefRuntime API for databricks platform resource ref; the generated signature shows its accepted inputs and return type.

@fabric-harness/databricks/runtime

ExportKindTypeScript signaturePurpose
chooseDatabricksSqlWarehousevalue(warehouses: readonly DatabricksSqlWarehouse[]) => DatabricksSqlWarehouse | undefinedRuntime API for choose databricks sql warehouse; the generated signature shows its accepted inputs and return type.
createDatabricksAuthenticatedFetchvalue(options: DatabricksAuthenticatedFetchOptions) => typeof fetchFetch adapter for third-party SDKs that require a standard fetch surface. A fresh principal token is resolved per attempt and one auth refresh retry is bounded to 401/403.
databricksAnthropicGatewayBaseUrlvalue(host: string) => stringRuntime API for databricks anthropic gateway base url; the generated signature shows its accepted inputs and return type.
DatabricksAuthenticatedFetchOptionstypeDatabricksAuthenticatedFetchOptionsConfiguration options for databricks authenticated fetch.
databricksControlPlanevalue(options: DatabricksControlPlaneOptions) => { aiGateway: { ensure: () => Promise<void>; listModelServices: (discoveryOptions?: DatabricksModelServiceDiscoveryOptions) => Promise<DatabricksModelService[]>; listModelProviderServices: () => Promi...A compact Databricks control-plane client that deliberately excludes Harness build, deployment, and agent-authoring code. Use this entrypoint from application bundles such as Next.js.
DatabricksControlPlaneOptionstypeDatabricksControlPlaneOptionsRuntime-only control-plane configuration for applications and server frameworks.
databricksIdentityvalue(principal: DatabricksPrincipal) => DatabricksTokenProviderBuilds a rotating bearer-token provider from the same native credential used by SDK clients.
DatabricksModelProviderServicetypeDatabricksModelProviderServiceType contract for databricks model provider service.
databricksModelProviderSupportsAnthropicvalue(service: DatabricksModelProviderService) => booleanRuntime API for databricks model provider supports anthropic; the generated signature shows its accepted inputs and return type.
DatabricksModelServicetypeDatabricksModelServiceType contract for databricks model service.
DatabricksModelServiceDiscoveryOptionstypeDatabricksModelServiceDiscoveryOptionsConfiguration options for databricks model service discovery.
DatabricksPrincipaltypeDatabricksPrincipalType contract for databricks principal.
databricksPrincipalFromEnvvalue(env?: Record<string, string | undefined>, options?: DatabricksPrincipalEnvOptions) => Extract<DatabricksPrincipal, { kind: "pat" | "service-principal" | "cli-profile"; }>Resolve a PAT or OAuth M2M principal consistently across CLIs, recipes, Apps, and tests.
databricksSdkvalue(options: DatabricksSdkOptions) => DatabricksSdkClientsBuild the official modular Databricks SDK clients under one governed identity. SDK-gap protocols remain private to Fabric's explicit raw protocol adapters.
DatabricksSdkClientstypeDatabricksSdkClientsGenerated Databricks service clients exposed to application code.
DatabricksSdkOptionstypeDatabricksSdkOptionsConfiguration options for databricks sdk.
DatabricksSqlWarehousetypeDatabricksSqlWarehouseType contract for databricks sql warehouse.
DatabricksTokenProvidertypeDatabricksTokenProviderA bearer-token resolver awaited per request. Fabric uses the same native-SDK credential across generated service clients, model calls, preview streaming, and Lakebase credential exchange.
databricksWorkspaceOriginvalue(host: string) => stringNormalize a workspace hostname or URL to its HTTPS origin.
lakebaseCredentialProvidervalue(options: LakebaseCredentialProviderOptions) => () => Promise<string>Exchange a workspace OAuth token for a Lakebase database credential. The result is cached, refreshed early with jitter, and refreshes are single-flight.
parseStatementRowsvalue(response: unknown) => JsonObject[]Map a statement response's columns + rows into objects keyed by column name.
runStatementvalue(client: DatabricksStatementClient, warehouseId: string, statement: string, parameters: SqlParameter[], poll: StatementPoll) => Promise<unknown>Submit a parameterized SQL statement and poll to a terminal state. Named parameters → injection-safe.
SqlParametertypeSqlParameterType contract for sql parameter.
StatementPolltypeStatementPollType contract for statement poll.

@fabric-harness/node

@fabric-harness/node

ExportKindTypeScript signaturePurpose
AgentDescriptiontypeAgentDescriptionType contract for agent description.
AgentModuletypeAgentModuleType contract for agent module.
AgentNotFoundErrorvaluetypeof AgentNotFoundErrorError raised for agent not found failures.
AgentSummarytypeAgentSummaryType contract for agent summary.
applyEnvModelProvidervalue(options: AgentInit, env?: NodeJS.ProcessEnv, modelOptions?: EnvModelOptions) => AgentInitProvider implementation for apply env model.
ApprovalSummarytypeApprovalSummaryType contract for approval summary.
asJsonObjectvalue(value: unknown) => JsonObjectRuntime API for as json object; the generated signature shows its accepted inputs and return type.
assertDataResidencyvalue(region: string, allowedRegions: readonly string[]) => voidValidates data residency and throws when the requirement is not met.
BackupObjectStoretypeBackupObjectStoreStorage contract for backup object.
backupPostgresPersistencevalue(input: { client: PostgresClientLike; objectStore: BackupObjectStore; objectKey: string; tablePrefix?: string; }) => Promise<PostgresBackupRecord>Create a transactionally consistent logical backup and write it to object storage.
BuildBundleStrategytypeBuildBundleStrategyType contract for build bundle strategy.
BuildManifesttypeBuildManifestType contract for build manifest.
BuildManifestAgenttypeBuildManifestAgentType contract for build manifest agent.
BuildManifestFiletypeBuildManifestFileType contract for build manifest file.
BuildManifestRoletypeBuildManifestRoleType contract for build manifest role.
BuildManifestSkilltypeBuildManifestSkillType contract for build manifest skill.
BuildSummarytypeBuildSummaryType contract for build summary.
BuildTargettypeBuildTargetType contract for build target.
buildWorkspacevalue(options?: BuildWorkspaceOptions) => Promise<BuildWorkspaceResult>Runtime API for build workspace; the generated signature shows its accepted inputs and return type.
BuildWorkspaceOptionstypeBuildWorkspaceOptionsConfiguration options for build workspace.
BuildWorkspaceResulttypeBuildWorkspaceResultResult returned by build workspace.
cancelSessionTaskvalue(workspaceRoot: string, sessionId: string, taskId: string, reason?: string, actor?: string) => Promise<TaskSummary>Runtime API for cancel session task; the generated signature shows its accepted inputs and return type.
cancelTaskInStorevalue(store: SessionStore, sessionId: string, taskId: string, reason?: string, actor?: string) => Promise<TaskSummary>Storage contract for cancel task in.
CheckpointSummarytypeCheckpointSummaryType contract for checkpoint summary.
compactPersistedSessionvalue(workspaceRoot: string, sessionId: string, options?: CompactPersistedSessionOptions) => Promise<PersistedCompactionResult>Runtime API for compact persisted session; the generated signature shows its accepted inputs and return type.
CompactPersistedSessionOptionstypeCompactPersistedSessionOptionsConfiguration options for compact persisted session.
compactSessionInStorevalue(store: SessionStore, sessionId: string, options?: CompactPersistedSessionOptions) => Promise<PersistedCompactionResult>Storage contract for compact session in.
createConfiguredSessionStorevalue(options: CreateConfiguredSessionStoreOptions) => Promise<SessionStore>Creates configured session store.
CreateConfiguredSessionStoreOptionstypeCreateConfiguredSessionStoreOptionsConfiguration options for create configured session store.
createFabricRunContextvalue(options: CreateFabricRunContextOptions) => Promise<FabricContext>Creates fabric run context.
CreateFabricRunContextOptionstypeCreateFabricRunContextOptionsConfiguration options for create fabric run context.
createMcpHttpServervalue(tools: ToolDef[], options?: FabricMcpHttpServerOptions) => Promise<FabricMcpHttpServer>Expose governed Harness tools through stateless MCP Streamable HTTP.
createPersistentDispatchProcessorvalue(options: PersistentDispatchProcessorOptions) => DispatchProcessorBuild a DispatchProcessor that applies dispatched inputs to a persistent instance session. Idempotent by dispatchId: a marker entry is appended to the instance session after a dispatch is applied, and re-delivery of the same dispatchId is skipped. The marker lives in the shared session store, so dedup holds across separate processings (and survives restart when the store is durable).
createPersistentSubmissionExecutorvalue(options: PersistentSubmissionExecutorOptions) => SubmissionExecutorThe SubmissionExecutor that applies durable submissions to persistent instance sessions. execute runs a real session turn (session.prompt is idempotent by submission id, so a recovered attempt resumes instead of double-applying its input); everything else operates store-level so reconciliation never needs a live agent.
createPrivateNetworkFetchvalue(options?: PrivateNetworkFetchOptions) => PrivateNetworkFetchClientCreate an outbound Node client with one policy and transport trust path. Credentials and PEM material remain in the dispatcher and are never placed in request URLs, Fabric events, or model messages.
createResponsesDeltaEventvalue(itemId: string, delta: string) => JsonObjectCreates responses delta event.
createResponsesDoneEventvalue(itemId: string, text: string) => JsonObjectCreates responses done event.
createResponsesOutputItemvalue(itemId: string, text: string) => FabricResponsesOutputItemCreates responses output item.
createResponsesResponsevalue(input: { submissionId: string; itemId: string; text: string; customOutputs?: JsonObject; includeTraceId?: boolean; }) => JsonObjectCreates responses response.
currentMcpRequestContextvalue() => FabricMcpRequestContextRuntime API for current mcp request context; the generated signature shows its accepted inputs and return type.
databricksAppsOidcAuthenticatorvalue(options: DatabricksAppsOidcAuthenticatorOptions) => (request: IncomingMessage) => Promise<ServerPrincipal | false | undefined>Databricks workspace OIDC preset for Apps ingress and workspace-scoped RBAC claims.
DatabricksAppsOidcAuthenticatorOptionstypeDatabricksAppsOidcAuthenticatorOptionsConfiguration options for databricks apps oidc authenticator.
daytonavalue(config: DaytonaBundleConfig, isMock?: boolean) => DaytonaBundleOne-call wiring for a Daytona-native agent: resolves the model provider from config or env, includes Daytona-specific workspace tools, and sets a safe default egress policy.
DaytonaBundletypeDaytonaBundleType contract for daytona bundle.
DaytonaBundleConfigtypeDaytonaBundleConfigType contract for daytona bundle config.
defineApplicationvalue(application: FabricApplication) => FabricApplicationIdentity helper that preserves route/middleware inference in workspace config.
defineDaytonaAgentvalue(options?: DefineDaytonaAgentOptions) => DefinedAgent<JsonObject, unknown>Defines daytona agent.
DefineDaytonaAgentOptionstypeDefineDaytonaAgentOptionsConfiguration options for define daytona agent.
defineDockerAgentvalue(options?: DefineDockerAgentOptions) => DefinedAgent<JsonObject, unknown>Defines docker agent.
DefineDockerAgentOptionstypeDefineDockerAgentOptionsConfiguration options for define docker agent.
defineE2bAgentvalue(options?: DefineE2bAgentOptions) => DefinedAgent<JsonObject, unknown>Defines e2b agent.
DefineE2bAgentOptionstypeDefineE2bAgentOptionsConfiguration options for define e2b agent.
defineK8sAgentvalue(options?: DefineK8sAgentOptions) => DefinedAgent<JsonObject, unknown>Defines k8s agent.
DefineK8sAgentOptionstypeDefineK8sAgentOptionsConfiguration options for define k8s agent.
defineModalAgentvalue(options?: DefineModalAgentOptions) => DefinedAgent<JsonObject, unknown>Defines modal agent.
DefineModalAgentOptionstypeDefineModalAgentOptionsConfiguration options for define modal agent.
defineNodeAgentvalue(options?: DefineNodeAgentOptions) => DefinedAgent<JsonObject, unknown>Defines node agent.
DefineNodeAgentOptionstypeDefineNodeAgentOptionsConfiguration options for define node agent.
DeletionEvidenceSignertypeDeletionEvidenceSignerType contract for deletion evidence signer.
DeletionEvidenceStoretypeDeletionEvidenceStoreStorage contract for deletion evidence.
describeAgentFilevalue(options: LoadAgentModuleOptions) => Promise<AgentDescription>Runtime API for describe agent file; the generated signature shows its accepted inputs and return type.
DevServerHandletypeDevServerHandleType contract for dev server handle.
DevServerOptionstypeDevServerOptionsConfiguration options for dev server.
discoverWorkspacevalue(startDir?: string) => Promise<WorkspaceInfo>Runtime API for discover workspace; the generated signature shows its accepted inputs and return type.
dockervalue(config: DockerBundleConfig, isMock?: boolean) => DockerBundleOne-call wiring for a Docker-native agent: resolves the model provider from config or env, includes Docker-specific container tools, and sets a safe default egress policy.
DockerBundletypeDockerBundleType contract for docker bundle.
DockerBundleConfigtypeDockerBundleConfigType contract for docker bundle config.
e2bvalue(config: E2bBundleConfig, isMock?: boolean) => E2bBundleOne-call wiring for an E2B-native agent: resolves the model provider from config or env, includes built-in tools, and sets a safe default egress policy.
E2bBundletypeE2bBundleType contract for e2b bundle.
E2bBundleConfigtypeE2bBundleConfigType contract for e2b bundle config.
ed25519DeletionEvidenceSignervalue(options: { privateKey: KeyObject | string | Buffer; identityKey: string | Uint8Array; keyId: string; }) => DeletionEvidenceSignerRuntime API for ed25519 deletion evidence signer; the generated signature shows its accepted inputs and return type.
enforcePersistenceRetentionvalue(persistence: PersistenceBundle, policy: FabricRetentionPolicy, options?: { now?: Date; }) => Promise<RetentionResult>Enforce durable data retention. Use a deletion-evidence-wrapped bundle for signed session receipts.
ensurePostgresAttachmentTablesvalue(client: PostgresClientLike) => Promise<void>Create the attachments table when absent. Idempotent.
ensurePostgresConversationStreamTablesvalue(client: PostgresClientLike) => Promise<void>Create the conversation stream tables when absent. Idempotent.
ensurePostgresSubmissionTablesvalue(client: PostgresClientLike) => Promise<void>Create the submission tables and indexes when absent. Idempotent.
ensureSqliteAttachmentTablesvalue(db: SqliteDatabaseLike) => voidCreate the attachments table when absent. Idempotent.
ensureSqliteConversationStreamTablesvalue(db: SqliteDatabaseLike) => voidCreate the conversation stream tables when absent. Idempotent.
ensureSqliteSubmissionTablesvalue(db: SqliteDatabaseLike) => voidCreate the submission tables and indexes when absent. Idempotent.
entraIdAuthenticatorvalue(options: EntraIdAuthenticatorOptions) => (request: IncomingMessage) => Promise<ServerPrincipal | false | undefined>Microsoft Entra ID v2 preset with tenant, roles, groups, and app/user identity mapping.
EntraIdAuthenticatorOptionstypeEntraIdAuthenticatorOptionsConfiguration options for entra id authenticator.
ExternalRetentionTargettypeExternalRetentionTargetType contract for external retention target.
FabricApplicationtypeFabricApplicationType contract for fabric application.
FabricApplicationMiddlewaretypeFabricApplicationMiddlewareMiddleware for fabric application.
FabricApplicationNexttypeFabricApplicationNextType contract for fabric application next.
FabricApplicationPublicMiddlewaretypeFabricApplicationPublicMiddlewareMiddleware for fabric application public.
FabricApplicationPublicRequestContexttypeFabricApplicationPublicRequestContextType contract for fabric application public request context.
FabricApplicationRequestContexttypeFabricApplicationRequestContextType contract for fabric application request context.
FabricApplicationRoutetypeFabricApplicationRouteType contract for fabric application route.
FabricApplicationStorestypeFabricApplicationStoresType contract for fabric application stores.
FabricBuildContexttypeFabricBuildContextType contract for fabric build context.
FabricBuildErrorvaluetypeof FabricBuildErrorError raised for fabric build failures.
FabricBuildErrorCodetypeFabricBuildErrorCodeType contract for fabric build error code.
FabricBuildPlugintypeFabricBuildPluginType contract for fabric build plugin.
FabricHarnessConfigtypeFabricHarnessConfigType contract for fabric harness config.
FabricHarnessDatabricksAiSearchAppResourceConfigtypeFabricHarnessDatabricksAiSearchAppResourceConfigType contract for fabric harness databricks ai search app resource config.
FabricHarnessDatabricksAppConfigtypeFabricHarnessDatabricksAppConfigType contract for fabric harness databricks app config.
FabricHarnessDatabricksAppResourceApptypeFabricHarnessDatabricksAppResourceAppType contract for fabric harness databricks app resource app.
FabricHarnessDatabricksAppResourceConfigtypeFabricHarnessDatabricksAppResourceConfigA Databricks-native App resource plus its app.yaml environment projection. Native field and permission names intentionally match the Databricks Bundle schema.
FabricHarnessDatabricksAppResourceDatabasetypeFabricHarnessDatabricksAppResourceDatabaseType contract for fabric harness databricks app resource database.
FabricHarnessDatabricksAppResourceExperimenttypeFabricHarnessDatabricksAppResourceExperimentType contract for fabric harness databricks app resource experiment.
FabricHarnessDatabricksAppResourceGenieSpacetypeFabricHarnessDatabricksAppResourceGenieSpaceType contract for fabric harness databricks app resource genie space.
FabricHarnessDatabricksAppResourceJobtypeFabricHarnessDatabricksAppResourceJobType contract for fabric harness databricks app resource job.
FabricHarnessDatabricksAppResourceKindtype"postgres" | "app" | "database" | "experiment" | "genie_space" | "job" | "secret" | "serving_endpoint" | "sql_warehouse" | "uc_securable"Type contract for fabric harness databricks app resource kind.
FabricHarnessDatabricksAppResourcePostgrestypeFabricHarnessDatabricksAppResourcePostgresType contract for fabric harness databricks app resource postgres.
FabricHarnessDatabricksAppResourceSecrettypeFabricHarnessDatabricksAppResourceSecretType contract for fabric harness databricks app resource secret.
FabricHarnessDatabricksAppResourceServingEndpointtypeFabricHarnessDatabricksAppResourceServingEndpointType contract for fabric harness databricks app resource serving endpoint.
FabricHarnessDatabricksAppResourceSqlWarehousetypeFabricHarnessDatabricksAppResourceSqlWarehouseType contract for fabric harness databricks app resource sql warehouse.
FabricHarnessDatabricksAppResourceUcSecurabletypeFabricHarnessDatabricksAppResourceUcSecurableType contract for fabric harness databricks app resource uc securable.
FabricHarnessDatabricksConfigtypeFabricHarnessDatabricksConfigType contract for fabric harness databricks config.
FabricHarnessDatabricksGenieAppResourceConfigtypeFabricHarnessDatabricksGenieAppResourceConfigType contract for fabric harness databricks genie app resource config.
FabricHarnessDatabricksServingConfigtypeFabricHarnessDatabricksServingConfigType contract for fabric harness databricks serving config.
FabricHarnessEnvironmentConfigtypeFabricHarnessEnvironmentConfigType contract for fabric harness environment config.
FabricHarnessPersistenceConfigtypeFabricHarnessPersistenceConfigType contract for fabric harness persistence config.
FabricHarnessSandboxConfigtypeFabricHarnessSandboxConfigType contract for fabric harness sandbox config.
FabricHarnessStoreConfigtypeFabricHarnessStoreConfigType contract for fabric harness store config.
FabricHarnessTemporalConfigtypeFabricHarnessTemporalConfigType contract for fabric harness temporal config.
FabricMcpHttpServertypeFabricMcpHttpServerType contract for fabric mcp http server.
FabricMcpHttpServerOptionstypeFabricMcpHttpServerOptionsConfiguration options for fabric mcp http server.
FabricMcpRequestContexttypeFabricMcpRequestContextType contract for fabric mcp request context.
FabricMcpToolContextRequesttypeFabricMcpToolContextRequestInput contract for fabric mcp tool context.
FabricMcpToolContextResolutiontypeFabricMcpToolContextResolutionType contract for fabric mcp tool context resolution.
FabricPersistencetypeFabricPersistenceType contract for fabric persistence.
FabricPersistenceErrorvaluetypeof FabricPersistenceErrorError raised for fabric persistence failures.
FabricPersistenceErrorCodetypeFabricPersistenceErrorCodeType contract for fabric persistence error code.
FabricPersistenceHealthtypePersistenceHealthType contract for fabric persistence health.
fabricPostgresMigrationsvalue(tablePrefix?: string) => PostgresMigration[]Runtime API for fabric postgres migrations; the generated signature shows its accepted inputs and return type.
FabricResponsesConfigtypeFabricResponsesConfigType contract for fabric responses config.
FabricResponsesInputItemtypeFabricResponsesInputItemType contract for fabric responses input item.
FabricResponsesOutputItemtypeFabricResponsesOutputItemType contract for fabric responses output item.
FabricResponsesRequesttypeFabricResponsesRequestInput contract for fabric responses.
FabricRetentionPolicytypeFabricRetentionPolicyType contract for fabric retention policy.
FileAttachmentStorevaluetypeof FileAttachmentStoreStorage contract for file attachment.
FileAttachmentStoreOptionstypeFileAttachmentStoreOptionsConfiguration options for file attachment store.
FileConversationStreamStorevaluetypeof FileConversationStreamStoreStorage contract for file conversation stream.
FileConversationStreamStoreOptionstypeFileConversationStreamStoreOptionsConfiguration options for file conversation stream store.
FileSessionStorevaluetypeof FileSessionStoreStorage contract for file session.
FileSessionStoreOptionstypeFileSessionStoreOptionsConfiguration options for file session store.
findWorkspaceRootvalue(startDir?: string) => Promise<string>Runtime API for find workspace root; the generated signature shows its accepted inputs and return type.
forkSessionAtStepvalue(store: SessionStore, sourceSessionId: string, stepId: string, options?: { newSessionId: string; metadata?: JsonObject; }) => Promise<ForkSessionAtStepResult>Forks a session at the given step into a new session in the same store. The new session contains the active-path entries up to and including stepId, and its leafId is set to stepId. Used by fh replay --rerun. If a user_prompt entry exists immediately after the cut on the original active path, its text is returned as resumePromptText so the caller can resubmit it against the forked session.
ForkSessionAtStepResulttypeForkSessionAtStepResultResult returned by fork session at step.
getMetricsFromStorevalue(store: SessionStore, sessionId: string) => Promise<SessionMetrics | undefined>Returns metrics from store.
getRequiredAgentDefinitionvalue(value: unknown, agentPath: string) => AgentDefinition<unknown, unknown>Returns required agent definition.
getSessionApprovalStatevalue(workspaceRoot: string, sessionId: string, approvalId: string) => Promise<ApprovalState | undefined>Returns session approval state.
getSessionArtifactvalue(workspaceRoot: string, sessionId: string, artifactIdOrName: string) => Promise<{ ref: ArtifactRef; content: Uint8Array; } | undefined>Returns session artifact.
getSessionMetricsvalue(workspaceRoot: string, sessionId: string) => Promise<SessionMetrics | undefined>Returns session metrics.
getSessionTaskvalue(workspaceRoot: string, sessionId: string, taskId: string) => Promise<TaskSummary | undefined>Returns session task.
getSessionTimelinevalue(workspaceRoot: string, sessionId: string) => Promise<SessionTimeline | undefined>Returns session timeline.
getTaskFromStorevalue(store: SessionStore, sessionId: string, taskId: string) => Promise<TaskSummary | undefined>Returns task from store.
hmacDeletionEvidenceSignervalue(options: { key: string | Uint8Array; keyId: string; }) => DeletionEvidenceSignerRuntime API for hmac deletion evidence signer; the generated signature shows its accepted inputs and return type.
httpBackupObjectStorevalue(options: { urlForKey: (key: string) => string | URL; headers?: (method: "GET" | "PUT", key: string, metadata?: Record<string, string>) => BackupHeadersInit | Promise<BackupHeadersInit>; fetch?: typeof globalThis.fetch; }) => BackupObjectStoreHTTP PUT/GET object store for presigned S3/R2, Azure Blob SAS, or an internal object gateway.
HttpRateLimitClasstypeHttpRateLimitClassType contract for http rate limit class.
HttpRateLimitConfigtypeHttpRateLimitConfigType contract for http rate limit config.
HttpRateLimitContexttypeHttpRateLimitContextType contract for http rate limit context.
HttpRateLimitDecisiontypeHttpRateLimitDecisionType contract for http rate limit decision.
HttpRateLimitertypeHttpRateLimiterType contract for http rate limiter.
HttpRateLimitRuletypeHttpRateLimitRuleType contract for http rate limit rule.
inspectReplayvalue(workspaceRoot: string, sessionId: string) => Promise<ReplayInspection | undefined>Runtime API for inspect replay; the generated signature shows its accepted inputs and return type.
inspectReplayFromStorevalue(store: SessionStore, sessionId: string) => Promise<ReplayInspection | undefined>Storage contract for inspect replay from.
inspectSessionvalue(workspaceRoot: string, sessionId: string) => Promise<SessionData | undefined>Runtime API for inspect session; the generated signature shows its accepted inputs and return type.
inspectSessionFromStorevalue(store: SessionStore, sessionId: string) => Promise<SessionData | undefined>Storage contract for inspect session from.
isDefinedAgentvalue(value: unknown) => value is DefinedAgentChecks whether a value is defined agent.
isPersistentAgentvalue(workspaceRoot: string, agent: string) => Promise<boolean>Checks whether a value is persistent agent.
JobSchedulertypeJobSchedulerType contract for job scheduler.
JobSchedulerOptionstypeJobSchedulerOptionsConfiguration options for job scheduler.
k8svalue(config: K8sBundleConfig, isMock?: boolean) => K8sBundleOne-call wiring for a Kubernetes-native agent: resolves the model provider from config or env, includes K8s-specific kubectl tools, and sets a safe default egress policy.
K8sBundletypeK8sBundleType contract for k8s bundle.
K8sBundleConfigtypeK8sBundleConfigType contract for k8s bundle config.
libsqlPersistencevalue(options: LibSqlPersistenceOptions) => FabricPersistenceFull local libSQL or remote Turso bundle using optimistic version fencing.
LibSqlPersistenceClienttypeLibSqlPersistenceClientClient implementation for lib sql persistence.
LibSqlPersistenceOptionstypeLibSqlPersistenceOptionsConfiguration options for lib sql persistence.
LibSqlResultSettypeLibSqlResultSetType contract for lib sql result set.
listAgentFilesvalue(workspaceRoot: string) => Promise<string[]>Lists agent files.
listAgentSummariesvalue(workspaceRoot: string) => Promise<AgentSummary[]>Lists agent summaries.
listApprovalsFromStorevalue(store: SessionStore, sessionId: string) => Promise<ApprovalSummary[]>Lists approvals from store.
listApprovalStatesFromStorevalue(store: SessionStore, sessionId: string) => Promise<import("@fabric-harness/sdk").ApprovalState[]>Lists approval states from store.
listBuildsvalue(workspaceRoot: string) => Promise<BuildSummary[]>Lists builds.
listCheckpointsFromStorevalue(store: SessionStore, sessionId: string) => Promise<CheckpointSummary[]>Lists checkpoints from store.
listSessionApprovalsvalue(workspaceRoot: string, sessionId: string) => Promise<ApprovalSummary[]>Lists session approvals.
listSessionApprovalStatesvalue(workspaceRoot: string, sessionId: string) => Promise<ApprovalState[]>Lists session approval states.
listSessionArtifactsvalue(workspaceRoot: string, sessionId: string) => Promise<ArtifactRef[]>Lists session artifacts.
listSessionCheckpointsvalue(workspaceRoot: string, sessionId: string) => Promise<CheckpointSummary[]>Lists session checkpoints.
listSessionsvalue(workspaceRoot: string) => Promise<SessionSummary[]>Lists sessions.
listSessionSummariesFromStorevalue(store: SessionStore, options?: ListSessionSummariesOptions) => Promise<SessionSummary[]>Lists session summaries from store.
listSessionTasksvalue(workspaceRoot: string, sessionId: string) => Promise<TaskSummary[]>Lists session tasks.
listTasksFromStorevalue(store: SessionStore, sessionId: string) => Promise<TaskSummary[]>Lists tasks from store.
loadAgentModulevalue(options: LoadAgentModuleOptions) => Promise<AgentModule>Loads agent module.
LoadAgentModuleOptionstypeLoadAgentModuleOptionsConfiguration options for load agent module.
loadFabricHarnessConfigvalue(options: LoadFabricHarnessConfigOptions) => Promise<FabricHarnessConfig>Loads fabric harness config.
LoadFabricHarnessConfigOptionstypeLoadFabricHarnessConfigOptionsConfiguration options for load fabric harness config.
loadRolesvalue(workspaceRoot: string) => Promise<Role[]>Loads roles.
loadSkillsvalue(workspaceRoot: string) => Promise<Skill[]>Loads skills.
mapOidcPrincipalvalue(context: OidcPrincipalContext, options: Pick<OidcJwtAuthenticatorOptions, "claims" | "groupRoles" | "rolePermissions" | "provider">) => ServerPrincipal | falseRuntime API for map oidc principal; the generated signature shows its accepted inputs and return type.
memoryDeletionEvidenceStorevalue() => DeletionEvidenceStoreStorage contract for memory deletion evidence.
memoryPersistencevalue() => FabricPersistenceInfrastructure-free unified bundle for tests and lightweight applications.
memorySchedulerLeaseStorevalue() => SchedulerLeaseStoreStorage contract for memory scheduler lease.
migratePostgresPersistencevalue(client: PostgresClientLike, options?: { tablePrefix?: string; migrations?: PostgresMigration[]; targetVersion?: number; }) => Promise<PostgresMigrationResult>Runtime API for migrate postgres persistence; the generated signature shows its accepted inputs and return type.
MockDaytonaModelProvidervaluetypeof MockDaytonaModelProviderA deterministic ModelProvider for Daytona agent tests and init templates. Returns structured responses without requiring real API credentials.
MockDaytonaModelProviderOptionstypeMockDaytonaModelProviderOptionsConfiguration options for mock daytona model provider.
MockDockerModelProvidervaluetypeof MockDockerModelProviderA deterministic ModelProvider for Docker agent tests and init templates. Returns structured responses without requiring real API credentials.
MockDockerModelProviderOptionstypeMockDockerModelProviderOptionsConfiguration options for mock docker model provider.
MockE2bModelProvidervaluetypeof MockE2bModelProviderA deterministic ModelProvider for E2B agent tests and init templates. Returns structured responses without requiring real API credentials.
MockE2bModelProviderOptionstypeMockE2bModelProviderOptionsConfiguration options for mock e2b model provider.
MockK8sModelProvidervaluetypeof MockK8sModelProviderA deterministic ModelProvider for Kubernetes agent tests and init templates. Returns structured responses without requiring real API credentials.
MockK8sModelProviderOptionstypeMockK8sModelProviderOptionsConfiguration options for mock k8s model provider.
MockModalModelProvidervaluetypeof MockModalModelProviderA deterministic ModelProvider for Modal agent tests and init templates. Returns structured responses without requiring real API credentials.
MockModalModelProviderOptionstypeMockModalModelProviderOptionsConfiguration options for mock modal model provider.
MockNodeModelProvidervaluetypeof MockNodeModelProviderA deterministic ModelProvider for Node agent tests and init templates. Returns structured responses without requiring real API credentials.
MockNodeModelProviderOptionstypeMockNodeModelProviderOptionsConfiguration options for mock node model provider.
modalvalue(config: ModalBundleConfig, isMock?: boolean) => ModalBundleOne-call wiring for a Modal-native agent: resolves the model provider from config or env, includes built-in tools, and sets a safe default egress policy.
ModalBundletypeModalBundleType contract for modal bundle.
ModalBundleConfigtypeModalBundleConfigType contract for modal bundle config.
mongodbPersistencevalue(options: MongoPersistenceOptions) => FabricPersistenceFull bundle over a MongoDB collection using _id + version compare-and-swap.
MongoPersistenceClienttypeMongoPersistenceClientClient implementation for mongo persistence.
MongoPersistenceCollectiontypeMongoPersistenceCollectionType contract for mongo persistence collection.
MongoPersistenceOptionstypeMongoPersistenceOptionsConfiguration options for mongo persistence.
mysqlPersistencevalue(options: MySqlPersistenceOptions) => FabricPersistenceFull bundle over a MySQL 8 compatible database using version-fenced snapshot rows.
MySqlPersistenceClienttypeMySqlPersistenceClientClient implementation for my sql persistence.
MySqlPersistenceOptionstypeMySqlPersistenceOptionsConfiguration options for my sql persistence.
nextScheduledAtvalue(expression: string, currentDate?: Date, timezone?: string) => DateRuntime API for next scheduled at; the generated signature shows its accepted inputs and return type.
nodevalue(config: NodeBundleConfig, isMock?: boolean) => NodeBundleOne-call wiring for a Node-native agent: resolves the model provider from config or env, includes built-in file/shell tools, and sets a safe default egress policy.
NodeBundletypeNodeBundleType contract for node bundle.
NodeBundleConfigtypeNodeBundleConfigType contract for node bundle config.
OidcClaimMappingtypeOidcClaimMappingType contract for oidc claim mapping.
oidcJwtAuthenticatorvalue(options: OidcJwtAuthenticatorOptions) => (request: IncomingMessage) => Promise<ServerPrincipal | false | undefined>Validate Bearer JWTs with a local or remote JWKS and map claims into server RBAC.
OidcJwtAuthenticatorOptionstypeOidcJwtAuthenticatorOptionsConfiguration options for oidc jwt authenticator.
OidcPrincipalContexttypeOidcPrincipalContextType contract for oidc principal context.
parseCookievalue(req: http.IncomingMessage, name: string) => string | undefinedParse the Cookie header on an IncomingMessage and return a named cookie's value, or undefined when missing. Use inside a custom extractAuthToken to validate session cookies set by your existing identity layer.
ParsedFabricResponsesRequesttypeParsedFabricResponsesRequestInput contract for parsed fabric responses.
parseFabricResponsesRequestvalue(value: unknown) => ParsedFabricResponsesRequestParses fabric responses request.
parseFrontmattervalue(markdown: string) => FrontmatterResultParses frontmatter.
pathExistsvalue(filePath: string) => Promise<boolean>Runtime API for path exists; the generated signature shows its accepted inputs and return type.
PersistedCompactionResulttypePersistedCompactionResultResult returned by persisted compaction.
PersistentDispatchProcessorOptionstypePersistentDispatchProcessorOptionsConfiguration options for persistent dispatch processor.
PersistentPromptOptionstypePersistentPromptOptionsConfiguration options for persistent prompt.
PersistentPromptResulttypePersistentPromptResultResult returned by persistent prompt.
PersistentSessionBusyErrorvaluetypeof PersistentSessionBusyErrorError raised for persistent session busy failures.
PersistentSubmissionExecutorOptionstypePersistentSubmissionExecutorOptionsConfiguration options for persistent submission executor.
PersistentTaskOptionstypePersistentTaskOptionsConfiguration options for persistent task.
PersistentTaskResulttypePersistentTaskResultResult returned by persistent task.
PostgresAttachmentStorevaluetypeof PostgresAttachmentStoreStorage contract for postgres attachment.
PostgresAttachmentStoreOptionstypePostgresAttachmentStoreOptionsConfiguration options for postgres attachment store.
PostgresBackupRecordtypePostgresBackupRecordType contract for postgres backup record.
PostgresClientLiketypePostgresClientLikeType contract for postgres client like.
PostgresConversationStreamStorevaluetypeof PostgresConversationStreamStoreStorage contract for postgres conversation stream.
PostgresConversationStreamStoreOptionstypePostgresConversationStreamStoreOptionsConfiguration options for postgres conversation stream store.
postgresCostBudgetStorevalue(options: PostgresCostBudgetStoreOptions) => CostBudgetStorePostgres-backed cost budget store. Pair with init({ costLimit: { perScope, scopeKey, store } }) to enforce a budget that survives process restarts — per-tenant, per-day, per-organization caps, etc. The table holds one row per scope key: (scope TEXT PRIMARY KEY, total_usd NUMERIC, updated_at TIMESTAMPTZ). Increments use ON CONFLICT UPDATE for atomic compare-and-set semantics.
PostgresCostBudgetStoreOptionstypePostgresCostBudgetStoreOptionsConfiguration options for postgres cost budget store.
postgresDeletionEvidenceStorevalue(client: PostgresClientLike, options?: { tablePrefix?: string; }) => DeletionEvidenceStoreStorage contract for postgres deletion evidence.
PostgresMigrationtypePostgresMigrationType contract for postgres migration.
PostgresMigrationResulttypePostgresMigrationResultResult returned by postgres migration.
postgresPersistencevalue(options: PostgresPersistenceOptions) => FabricPersistenceOne Postgres/Lakebase bundle for every durable Node server store.
PostgresPersistenceOptionstypePostgresPersistenceOptionsConfiguration options for postgres persistence.
PostgresRestoreResulttypePostgresRestoreResultResult returned by postgres restore.
postgresSandboxOwnershipLeaseStorevalue(client: SandboxOwnershipPostgresClient, options?: { tableName?: string; }) => SandboxOwnershipLeaseStoreAtomic, expiry-aware ownership leases for portable sandboxes.
postgresSchedulerLeaseStorevalue(client: SchedulerPostgresClient, options?: { tableName?: string; }) => SchedulerLeaseStorePostgres-backed scheduler leases for horizontally scaled Node deployments.
postgresSessionMemoryvalue(options: PostgresSessionMemoryOptions) => SessionMemoryPostgres-backed SessionMemory. Persistent across process restarts; scoped by tenantId. Pair with init({ memory }) to share recall across a fleet of agents. Schema: CREATE TABLE fabric_harness_session_memory ( tenant_id TEXT NOT NULL DEFAULT '', key TEXT NOT NULL, value JSONB NOT NULL, metadata JSONB, expires_at TIMESTAMPTZ, updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), PRIMARY KEY (tenant_id, key) ); Set/Get scrub expired rows lazily on access. Run a scheduled DELETE WHERE expires_at < NOW() if you have many TTL'd entries.
PostgresSessionMemoryOptionstypePostgresSessionMemoryOptionsConfiguration options for postgres session memory.
PostgresSessionStorevaluetypeof PostgresSessionStoreStorage contract for postgres session.
PostgresSessionStoreOptionstypePostgresSessionStoreOptionsConfiguration options for postgres session store.
PostgresSubmissionStorevaluetypeof PostgresSubmissionStoreStorage contract for postgres submission.
PostgresSubmissionStoreOptionstypePostgresSubmissionStoreOptionsConfiguration options for postgres submission store.
principalHasPermissionvalue(principal: ServerPrincipal, permission: ServerPermission) => booleanRuntime API for principal has permission; the generated signature shows its accepted inputs and return type.
principalToActorvalue(principal: ServerPrincipal) => FabricActorRuntime API for principal to actor; the generated signature shows its accepted inputs and return type.
principalToApprovalActorvalue(principal: ServerPrincipal) => ActorIdentityRuntime API for principal to approval actor; the generated signature shows its accepted inputs and return type.
PrivateNetworkFetchClienttypePrivateNetworkFetchClientClient implementation for private network fetch.
PrivateNetworkFetchOptionstypePrivateNetworkFetchOptionsConfiguration options for private network fetch.
PrivateNetworkProxyOptionstypePrivateNetworkProxyOptionsConfiguration options for private network proxy.
PrivateNetworkTlsOptionstypePrivateNetworkTlsOptionsConfiguration options for private network tls.
readBuildManifestvalue(workspaceRoot: string, target: string) => Promise<BuildManifest | undefined>Runtime API for read build manifest; the generated signature shows its accepted inputs and return type.
redisApprovalNotificationStorevalue(options: RedisApprovalNotificationStoreOptions) => ApprovalNotificationDeliveryStoreDistributed dedupe state for approvalNotificationHandler().
RedisApprovalNotificationStoreOptionstypeRedisApprovalNotificationStoreOptionsConfiguration options for redis approval notification store.
RedisClientLiketypeRedisClientLikeCross-process token-bucket rate limiter backed by Redis. Pair with OpenAICompatibleModelProvider / AnthropicModelProvider to enforce a shared API-key quota across a fleet of containers. RedisClientLike only requires an eval method — both ioredis and @upstash/redis ship a compatible signature. fabric-harness does NOT depend on either; users pass their own client.
redisHttpRateLimitervalue(options: RedisHttpRateLimiterOptions) => HttpRateLimiterCreates an atomic, cross-process HTTP limiter for startDevServer. The caller supplies its Redis client so the Node package has no Redis SDK dependency.
RedisHttpRateLimiterOptionstypeRedisHttpRateLimiterOptionsConfiguration options for redis http rate limiter.
redisPersistencevalue(options: RedisPersistenceOptions) => FabricPersistenceRedis/Valkey bundle with cluster-safe keys, binary attachments, and optional retention TTL.
RedisPersistenceClienttypeRedisPersistenceClientClient implementation for redis persistence.
RedisPersistenceOptionstypeRedisPersistenceOptionsConfiguration options for redis persistence.
redisRateLimitervalue(options: RedisRateLimiterOptions) => RateLimiterRuntime API for redis rate limiter; the generated signature shows its accepted inputs and return type.
RedisRateLimiterOptionstypeRedisRateLimiterOptionsConfiguration options for redis rate limiter.
renderOperatorConsolevalue() => stringRuntime API for render operator console; the generated signature shows its accepted inputs and return type.
renderResponsesInputvalue(input: string | FabricResponsesInputItem[]) => stringRuntime API for render responses input; the generated signature shows its accepted inputs and return type.
ReplayInspectiontypeReplayInspectionType contract for replay inspection.
resolveAgentPathvalue(workspaceRoot: string, agent: string) => Promise<string>Resolves agent path.
resolveApprovalInStorevalue(store: SessionStore, sessionId: string, approvalId: string, decision: "approved" | "denied", reason?: string, actor?: ActorIdentity | string) => Promise<ApprovalSummary>Resolves approval in store.
resolveConfigPathvalue(workspaceRoot: string) => Promise<string | undefined>Resolves config path.
resolveDatabricksAppResourceBindingsvalue(input: readonly FabricHarnessDatabricksAppResourceConfig[] | undefined, options?: ResolveDatabricksAppResourceBindingsOptions) => ResolvedDatabricksAppResourceBinding[]Validate and normalize native Databricks App resource bindings without network access.
ResolveDatabricksAppResourceBindingsOptionstypeResolveDatabricksAppResourceBindingsOptionsConfiguration options for resolve databricks app resource bindings.
resolveDaytonaToolRefsvalue(bundle: DaytonaBundle, refs: string[]) => ToolDef[]Resolves daytona tool refs.
ResolvedDatabricksAppResourceBindingtypeResolvedDatabricksAppResourceBindingType contract for resolved databricks app resource binding.
ResolvedDatabricksAppResourceVariabletypeResolvedDatabricksAppResourceVariableType contract for resolved databricks app resource variable.
resolveDockerToolRefsvalue(bundle: DockerBundle, refs: string[]) => ToolDef[]Resolves docker tool refs.
resolveE2bToolRefsvalue(bundle: E2bBundle, refs: string[]) => ToolDef[]Resolves e2b tool refs.
resolveK8sToolRefsvalue(bundle: K8sBundle, refs: string[]) => ToolDef[]Resolves k8s tool refs.
resolveModalToolRefsvalue(bundle: ModalBundle, refs: string[]) => ToolDef[]Resolves modal tool refs.
resolvePrincipalTenantvalue(principal: ServerPrincipal, requestedTenantId: string | undefined) => { tenantId?: string; forbidden: boolean; }Resolves principal tenant.
resolveServerPermissionvalue(method: string | undefined, path: string) => ServerPermissionResolves server permission.
resolveSessionApprovalvalue(workspaceRoot: string, sessionId: string, approvalId: string, decision: "approved" | "denied", reason?: string, actor?: ActorIdentity | string) => Promise<ApprovalSummary>Resolves session approval.
resolveSseKeepaliveMsvalue(env?: NodeJS.ProcessEnv) => numberResolve the SSE keepalive interval from the environment. Returns the parsed FABRIC_HARNESS_SSE_KEEPALIVE_MS value, or the 15000ms default. Negative or unparseable values fall back to the default. Returns 0 when explicitly set to 0, disabling keepalive.
resolveToolRefsvalue(bundle: NodeBundle, refs: string[]) => ToolDef[]Resolves tool refs.
resolveWorkspacePackageImportvalue(workspaceRoot: string, packageName: string) => Promise<string | undefined>Resolve an installed package's ESM entrypoint from the workspace dependency tree.
responseIdForSubmissionvalue(submissionId: string) => stringRuntime API for response id for submission; the generated signature shows its accepted inputs and return type.
responseTraceIdForSubmissionvalue(submissionId: string) => stringMatches the deterministic trace id emitted by the Databricks MLflow trace exporter.
restorePostgresPersistencevalue(input: { client: PostgresClientLike; objectStore: BackupObjectStore; objectKey: string; tablePrefix?: string; }) => Promise<PostgresRestoreResult>Verify and restore a logical backup under an exclusive advisory lock and transaction.
RetentionResulttypeRetentionResultResult returned by retention.
RetentionRuletypeRetentionRuleType contract for retention rule.
runAgentvalue(options: RunAgentOptions) => Promise<RunAgentResult>Runs agent.
RunAgentOptionstypeRunAgentOptionsConfiguration options for run agent.
RunAgentResulttypeRunAgentResultResult returned by run agent.
runPersistentPromptvalue(options: PersistentPromptOptions) => Promise<PersistentPromptResult>Runs persistent prompt.
runPersistentTaskvalue(options: PersistentTaskOptions) => Promise<PersistentTaskResult>Invoke a hook-registered persistent-agent specialist through the normal bounded task runtime.
runPostgresRecoveryDrillvalue(input: { client: PostgresClientLike; objectStore: BackupObjectStore; objectKey: string; tablePrefix?: string; simulateFailure: () => Promise<void>; verify: () => Promise<void>; maxRtoMs?: number; maxRpoSeconds?: number; }) => Promise<{ b...Runs postgres recovery drill.
SandboxOwnershipPostgresClienttypeSandboxOwnershipPostgresClientClient implementation for sandbox ownership postgres.
SchedulerLeaseStoretypeSchedulerLeaseStoreStorage contract for scheduler lease.
SchedulerPostgresClienttypeSchedulerPostgresClientClient implementation for scheduler postgres.
ServerAuthorizationContexttypeServerAuthorizationContextType contract for server authorization context.
ServerPermissiontypeServerPermissionType contract for server permission.
ServerPrincipaltypeServerPrincipalType contract for server principal.
SessionMetricstypeSessionMetricsType contract for session metrics.
sessionRunStorevalue(store: SessionStore) => RunStoreStorage contract for session run.
SessionSummarytypeSessionSummaryType contract for session summary.
SessionTimelinetypeSessionTimelineType contract for session timeline.
SqliteAttachmentStorevaluetypeof SqliteAttachmentStoreStorage contract for sqlite attachment.
SqliteAttachmentStoreOptionstypeSqliteAttachmentStoreOptionsConfiguration options for sqlite attachment store.
SqliteConversationStreamStorevaluetypeof SqliteConversationStreamStoreStorage contract for sqlite conversation stream.
SqliteConversationStreamStoreOptionstypeSqliteConversationStreamStoreOptionsConfiguration options for sqlite conversation stream store.
SqliteCostBudgetStorevaluetypeof SqliteCostBudgetStoreAtomic cross-process cost totals for a single-node SQLite deployment.
SqliteCostBudgetStoreOptionstypeSqliteCostBudgetStoreOptionsConfiguration options for sqlite cost budget store.
SqliteDatabaseLiketypeSqliteDatabaseLikeThe slice of node:sqlite's DatabaseSync this store uses.
sqlitePersistencevalue(options: SqlitePersistenceOptions) => FabricPersistenceUnified durable bundle for local and single-node deployments.
SqlitePersistenceOptionstypeSqlitePersistenceOptionsConfiguration options for sqlite persistence.
SQLiteSessionStorevaluetypeof SQLiteSessionStoreStorage contract for sqlite session.
SQLiteSessionStoreOptionstypeSQLiteSessionStoreOptionsConfiguration options for sqlite session store.
SqliteSubmissionStorevaluetypeof SqliteSubmissionStoreStorage contract for sqlite submission.
SqliteSubmissionStoreOptionstypeSqliteSubmissionStoreOptionsConfiguration options for sqlite submission store.
SSE_KEEPALIVE_DEFAULT_MSvalue15000Constant defining sse keepalive default ms.
startDevServervalue(options?: DevServerOptions) => Promise<DevServerHandle>Runtime API for start dev server; the generated signature shows its accepted inputs and return type.
startJobSchedulervalue(options: JobSchedulerOptions) => Promise<JobScheduler>Start an in-process cron scheduler for finite job triggers.schedule values.
submissionIdFromResponseIdvalue(responseId: string) => string | undefinedRuntime API for submission id from response id; the generated signature shows its accepted inputs and return type.
TaskStatustypeTaskStatusType contract for task status.
TaskSummarytypeTaskSummaryType contract for task summary.
TimelineItemtypeTimelineItemType contract for timeline item.
transpileAgentvalue(options: TranspileAgentOptions) => Promise<string>Runtime API for transpile agent; the generated signature shows its accepted inputs and return type.
TranspileAgentOptionstypeTranspileAgentOptionsConfiguration options for transpile agent.
vaultSecretProvidervalue(options: VaultSecretProviderOptions) => SecretProviderHashiCorp Vault KV v2 provider. Vault tokens remain in the adapter closure.
VaultSecretProviderOptionstypeVaultSecretProviderOptionsConfiguration options for vault secret provider.
verifyAttestationvalue(pathOrDir: string) => Promise<{ ok: true; manifestPath: string; attestationPath: string; manifestSha256: string; }>Runtime API for verify attestation; the generated signature shows its accepted inputs and return type.
verifyProvenancevalue(pathOrDir: string) => Promise<{ ok: true; manifestPath: string; provenancePath: string; manifestSha256: string; }>Runtime API for verify provenance; the generated signature shows its accepted inputs and return type.
withDeletionEvidencevalue(persistence: PersistenceBundle, options: { signer: DeletionEvidenceSigner; store: DeletionEvidenceStore; }) => PersistenceBundleAdd signed, append-only deletion evidence to any persistence bundle.
withPostgresConnectionvalue<T>(client: PostgresClientLike, operation: (connection: PostgresClientLike) => Promise<T>) => Promise<T>Runtime API for with postgres connection; the generated signature shows its accepted inputs and return type.
WorkspaceInfotypeWorkspaceInfoType contract for workspace info.

@fabric-harness/node/agent

ExportKindTypeScript signaturePurpose
defineNodeAgentvalue(options?: DefineNodeAgentOptions) => DefinedAgent<JsonObject, unknown>Defines node agent.
DefineNodeAgentOptionstypeDefineNodeAgentOptionsConfiguration options for define node agent.
nodevalue(config: NodeBundleConfig, isMock?: boolean) => NodeBundleOne-call wiring for a Node-native agent: resolves the model provider from config or env, includes built-in file/shell tools, and sets a safe default egress policy.
NodeBundletypeNodeBundleType contract for node bundle.
NodeBundleConfigtypeNodeBundleConfigType contract for node bundle config.
resolveToolRefsvalue(bundle: NodeBundle, refs: string[]) => ToolDef[]Resolves tool refs.

@fabric-harness/node/docker-agent

ExportKindTypeScript signaturePurpose
defineDockerAgentvalue(options?: DefineDockerAgentOptions) => DefinedAgent<JsonObject, unknown>Defines docker agent.
DefineDockerAgentOptionstypeDefineDockerAgentOptionsConfiguration options for define docker agent.
dockervalue(config: DockerBundleConfig, isMock?: boolean) => DockerBundleOne-call wiring for a Docker-native agent: resolves the model provider from config or env, includes Docker-specific container tools, and sets a safe default egress policy.
DockerBundletypeDockerBundleType contract for docker bundle.
DockerBundleConfigtypeDockerBundleConfigType contract for docker bundle config.
resolveDockerToolRefsvalue(bundle: DockerBundle, refs: string[]) => ToolDef[]Resolves docker tool refs.

@fabric-harness/node/k8s-agent

ExportKindTypeScript signaturePurpose
defineK8sAgentvalue(options?: DefineK8sAgentOptions) => DefinedAgent<JsonObject, unknown>Defines k8s agent.
DefineK8sAgentOptionstypeDefineK8sAgentOptionsConfiguration options for define k8s agent.
k8svalue(config: K8sBundleConfig, isMock?: boolean) => K8sBundleOne-call wiring for a Kubernetes-native agent: resolves the model provider from config or env, includes K8s-specific kubectl tools, and sets a safe default egress policy.
K8sBundletypeK8sBundleType contract for k8s bundle.
K8sBundleConfigtypeK8sBundleConfigType contract for k8s bundle config.
resolveK8sToolRefsvalue(bundle: K8sBundle, refs: string[]) => ToolDef[]Resolves k8s tool refs.

@fabric-harness/sdk

@fabric-harness/sdk

ExportKindTypeScript signaturePurpose
actionAsToolvalue<TInput, TOutput>(action: ActionDefinition<TInput, TOutput>, host: ActionHost) => ToolDef<unknown, TOutput>Expose an action to the model as a tool on an agent profile. The tool's JSON schema comes from the action's input schema; execution validates input/output exactly like runAction.
ActionContexttypeActionContext<TInput>Context passed to an action's run. Unlike a tool's execute (a leaf capability invoked by the model), an action receives the harness itself and can orchestrate: prompt models, spawn sessions, call other actions.
ActionDefinitiontypeActionDefinition<TInput, TOutput>A named, schema-validated unit of harness work created with defineAction. First-class in v2: registrable on agent profiles as a tool, callable from jobs and agents, evaluable via fh test, and deployable as a platform job task.
ActionErrorvaluetypeof ActionErrorError raised for action failures.
ActionHosttypeActionHostWhat an action runs against: the harness entry point (init can prompt models, spawn sessions, and call tools) plus the platform environment. Jobs, agents, and servers all satisfy this — it is the harness slice of FabricContext.
ActionOptionstypeActionOptions<TInput, TOutput>Configuration options for action.
ActivateSkillInputtypeActivateSkillInputType contract for activate skill input.
ActorIdentitytypeActorIdentityType contract for actor identity.
ActualCostSourcetypeActualCostSourceExternal source for actual (non-estimated) spend. Implementations can query provider billing APIs, Databricks usage tables, or other real-time cost data.
admitSubmissionWithBackendvalue<Row extends SubmissionAdmissionRow>(input: AgentSubmissionInput, backend: SubmissionAdmissionBackend<Row>) => AgentDispatchAdmission | Promise<AgentDispatchAdmission>Shared submission admission algorithm for row-oriented backends: dispatch-receipt check → insert-or-ignore → read-back → payload compare (idempotent replay vs. conflict). The message payload is stored as JSON verbatim; payload identity is deep JSON equality, so a backend that normalizes stored JSON (e.g. Postgres JSONB key ordering) still recognizes an exact replay. The caller owns transaction scoping — invoke this inside one transaction and pass callbacks bound to it. When every callback is synchronous the result is returned synchronously, so the algorithm also fits synchronous backends.
AgentAttemptMarkertypeAgentAttemptMarkerHarness-owned durable evidence that a submission attempt was started and has not yet settled. A coordinator inserts a marker immediately before starting an attempt and deletes it when the attempt settles; reconciliation treats a fresh marker as proof that the attempt may still be running and must not be reconciled as interrupted.
AgentDefinitiontypeAgentDefinition<TInput, TOutput>Type contract for agent definition.
AgentDispatchAdmissiontypeAgentDispatchAdmissionType contract for agent dispatch admission.
AgentDispatchReceipttypeAgentDispatchReceiptType contract for agent dispatch receipt.
AgentDispatchRequesttypeAgentDispatchRequestAsync delivery request to a persistent agent instance + session.
AgentEventtypeAgentEventType contract for agent event.
AgentEventBasetypeAgentEventBaseCommon envelope shared by every event variant.
AgentEventCallbacktypeAgentEventCallbackCallback signature accepted by init({ onEvent }), agent.session(id, { onEvent }), and session.prompt(text, { onEvent }).
AgentEventTypetype"agent_start" | "session_start" | "prompt_start" | "prompt_end" | "turn_start" | "turn_end" | "model_attempt" | "text_delta" | "toolcall_delta" | "submission_queued" | "submission_running" | "submission_recovery" | "submission_settled" | "cost_limit" | "webhook_r...Type contract for agent event type.
AgentInittypeAgentInitType contract for agent init.
AgentLoopRuntimetypeAgentLoopRuntimeType contract for agent loop runtime.
AgentMiddlewaretype(context: AgentRunContext<TInput>, next: () => Promise<TOutput>) => Promise<TOutput> | TOutputMiddleware for agent.
AgentProfiletypeAgentProfileType contract for agent profile.
AgentProfileOptionstypeAgentProfileOptionsConfiguration options for agent profile.
AgentRunContexttypeAgentRunContext<TInput>Runtime-ready context for finite agents. The default session is initialized lazily.
AgentSubmissiontypeAgentSubmissionType contract for agent submission.
AgentSubmissionDurabilitytypeAgentSubmissionDurabilityType contract for agent submission durability.
AgentSubmissionInputtypeAgentSubmissionInputOne admitted agent submission — the persisted operational payload for both transports. kind records how the submission arrived ('dispatch' via dispatch(), 'direct' via the agent HTTP route); a dispatch's submissionId is the public dispatchId from its receipt.
AgentSubmissionStatustypeAgentSubmissionStatusType contract for agent submission status.
AgentSubmissionStoretypeAgentSubmissionStoreDurable submission lifecycle storage. Stability: the lease method group mirrors the durable-execution engine and is subject to change until 1.0. This applies to every backend equally.
AgentTriggerstypeAgentTriggersType contract for agent triggers.
aiGatewayvalue(options: AIGatewayOptions) => OpenAICompatibleModelProviderGeneric OpenAI-compatible AI gateway helper. Use for any gateway that speaks the OpenAI Chat Completions request/response shape: Helicone, Portkey, LiteLLM (self-hosted), Cloudflare AI Gateway, internal corp proxies, etc. See the package declarations for an example. For Vercel AI Gateway, prefer the vercelAIGateway preset — same factory under the hood with the gateway URL pre-baked.
AIGatewayOptionstypeAIGatewayOptionsConfiguration options for aigateway.
AnthropicModelProvidervaluetypeof AnthropicModelProviderProvider implementation for anthropic model.
AnthropicProviderOptionstypeAnthropicProviderOptionsConfiguration options for anthropic provider.
applyEstimatedCostvalue<T extends { costUsd?: number; } | undefined>(modelRef: string | undefined, usage: T) => TIdempotently populate usage.costUsd from the static price table. Mutates usage and returns it. No-op when: - usage is undefined, - usage.costUsd is already set (provider supplied it directly), - no price row matches modelRef.
ApprovalCallbacktypeApprovalCallbackType contract for approval callback.
ApprovalDecisiontypeApprovalDecisionType contract for approval decision.
ApprovalGranttypeApprovalGrantDurable provenance for one approved logical tool operation. A grant may be replayed for the same logical operation after a crash, but must never authorize a different tool call, input, or executing principal.
approvalGrantFromJsonvalue(value: unknown) => ApprovalGrant | undefinedParse persisted provenance without trusting a partial or malformed object.
approvalGrantToJsonvalue(grant: ApprovalGrant) => JsonObjectRuntime API for approval grant to json; the generated signature shows its accepted inputs and return type.
approvalInputDigestvalue(input: unknown) => stringDeterministic digest shared by inline and durable approval runtimes.
ApprovalNotificationtypeApprovalNotificationType contract for approval notification.
ApprovalNotificationDeadLettertypeApprovalNotificationDeadLetterType contract for approval notification dead letter.
ApprovalNotificationDeliveryStoretypeApprovalNotificationDeliveryStoreStorage contract for approval notification delivery.
approvalNotificationFromEventvalue(event: FabricEvent, baseUrl?: string) => ApprovalNotification | undefinedRuntime API for approval notification from event; the generated signature shows its accepted inputs and return type.
approvalNotificationHandlervalue(options: ApprovalNotificationHandlerOptions) => FabricEventCallbackConvert approval events into retryable, deduplicated notifications. This callback never throws.
ApprovalNotificationHandlerOptionstypeApprovalNotificationHandlerOptionsConfiguration options for approval notification handler.
ApprovalNotificationStatetypeApprovalNotificationStateType contract for approval notification state.
ApprovalNotifiertypeApprovalNotifierType contract for approval notifier.
ApprovalOptionstypeApprovalOptionsConfiguration options for approval.
ApprovalPolicyRuletypeApprovalPolicyRulePer-pattern approval metadata. Lets policy authors route specific tools/commands to a named audience (e.g. 'reviewer', 'compliance-team', 'project-admin'). The audience id is opaque to fabric-harness — host applications map ids to humans via their own identity layer.
ApprovalRequesttypeApprovalRequestInput contract for approval.
ApprovalResponsetypeApprovalResponseResponse contract for approval.
ApprovalRisktypeApprovalRiskType contract for approval risk.
ApprovalStatetypeApprovalStateType contract for approval state.
approvalStatesFromEntriesvalue(sessionId: string, entries: SessionEntry[]) => ApprovalState[]Runtime API for approval states from entries; the generated signature shows its accepted inputs and return type.
ApprovalStateStatustypeApprovalStateStatusType contract for approval state status.
ApprovalUnavailableStrategytypeApprovalUnavailableStrategyType contract for approval unavailable strategy.
ApprovalVotetypeApprovalVoteType contract for approval vote.
ArtifactCreateOptionstypeArtifactCreateOptionsConfiguration options for artifact create.
ArtifactReftypeArtifactRefType contract for artifact ref.
assertEnforceableNetworkPolicyvalue(policy: CapabilityPolicy | undefined, sandbox: SandboxEnv | Pick<SandboxCapabilities, "network" | "networkEnforcement" | "networkBoundary"> | undefined, requirement?: NetworkEnforcementRequirement) => voidRefuse production network policy when it can be bypassed by code in the sandbox. This validates an operator assertion; the named network boundary must still be provisioned by Docker, Kubernetes, or the cloud provider.
attachmentDigestvalue(bytes: Uint8Array) => Promise<string>Lowercase hex SHA-256 of the bytes (WebCrypto).
AttachmentLimitErrorvaluetypeof AttachmentLimitErrorError raised for attachment limit failures.
AttachmentPutInputtypeAttachmentPutInputType contract for attachment put input.
AttachmentReftypeAttachmentRefContent-addressed descriptor of one stored attachment.
AttachmentStoretypeAttachmentStoreDurable content-addressed attachment storage. - put is idempotent by (scope, digest) — re-putting the same content succeeds without duplicating storage (the first stored ref metadata is retained). It MUST verify the digest against the bytes and reject a mismatch with AttachmentStoreError('DIGEST_MISMATCH') before writing. - get/getByAttachmentId return null on a miss. - delete removes one stored attachment and throws AttachmentStoreError('NOT_FOUND') when nothing is stored under (scope, digest).
AttachmentStoreErrorvaluetypeof AttachmentStoreErrorError raised for attachment store failures.
attachSandboxvalue(ref: SandboxRef | SerializedSandboxRef, options?: AttachSandboxOptions) => SandboxFactoryBuild a SandboxFactory that, when invoked, returns an AttachedSandboxEnv delegating to the registered sandbox without owning its lifecycle. Calling cleanup() on the attached env unregisters this attachment but does NOT tear down the underlying sandbox. Pass an in-process SandboxRef to attach within the same process, or a SerializedSandboxRef (from session.sandboxRef({ portable: true })) to rehydrate a sandbox handed off from another process. Cross-process refs require a decoder registered for serialized.provider via registerSandboxRefDecoder().
AttachSandboxOptionstypeAttachSandboxOptionsConfiguration options for attach sandbox.
AttributionQuerytypeAttributionQueryQuery filters for retrieving aggregated cost attribution rows.
AutonomyModetypeAutonomyModeType contract for autonomy mode.
AutonomyOptionstypeAutonomyOptionsConfiguration options for autonomy.
AzureOpenAIModelProvidervaluetypeof AzureOpenAIModelProviderProvider implementation for azure open aimodel.
AzureOpenAIProviderOptionstypeAzureOpenAIProviderOptionsConfiguration options for azure open aiprovider.
BashInputtypeBashInputType contract for bash input.
bashToolvalue(sandbox?: SandboxEnv) => ToolDef<BashInput, ShellResult>Model-callable tool or tool factory for bash.
BedrockModelProvidervaluetypeof BedrockModelProviderProvider implementation for bedrock model.
BedrockProviderOptionstypeBedrockProviderOptionsConfiguration options for bedrock provider.
buildModelMessagesFromHistoryvalue(data: SessionData | undefined, role?: Role) => ModelMessage[]Runtime API for build model messages from history; the generated signature shows its accepted inputs and return type.
buildResultFollowUpPromptvalue() => stringFollow-up prompt sent when the LLM ends a turn without calling finish or give_up.
buildResultFootervalue() => stringFooter appended to user prompts/skill bodies when a result schema is set.
buildResultRetryPromptvalue(error: unknown, extraction?: boolean | ResultExtractionOptions) => stringRuntime API for build result retry prompt; the generated signature shows its accepted inputs and return type.
BUILTIN_BASH_MAX_BYTESvaluenumberConstant defining builtin bash max bytes.
BUILTIN_BASH_MAX_LINESvalue2000Constant defining builtin bash max lines.
BUILTIN_GLOB_MAX_RESULTSvalue1000Constant defining builtin glob max results.
BUILTIN_GREP_MAX_LINE_LENGTHvalue500Constant defining builtin grep max line length.
BUILTIN_GREP_MAX_MATCHESvalue100Constant defining builtin grep max matches.
BUILTIN_READ_MAX_BYTESvaluenumberConstant defining builtin read max bytes.
BUILTIN_READ_MAX_LINESvalue2000Public built-in tool limits; documentation and tests consume these constants.
BuiltinFileTooltypeBuiltinFileToolModel-callable tool or tool factory for builtin file.
BuiltinTooltypeBuiltinToolModel-callable tool or tool factory for builtin.
bytesToHexvalue(bytes: Uint8Array) => stringRuntime API for bytes to hex; the generated signature shows its accepted inputs and return type.
CapabilityPolicytypeCapabilityPolicyType contract for capability policy.
CartesiaSttProvidervaluetypeof CartesiaSttProviderProvider implementation for cartesia stt.
CartesiaSttProviderOptionstypeCartesiaSttProviderOptionsConfiguration options for cartesia stt provider.
CartesiaTtsProvidervaluetypeof CartesiaTtsProviderProvider implementation for cartesia tts.
CartesiaTtsProviderOptionstypeCartesiaTtsProviderOptionsConfiguration options for cartesia tts provider.
chainSecretProvidersvalue(...providers: Array<SecretProvider | undefined>) => SecretProviderResolve from providers in order; errors fail closed instead of falling through.
ChanneltypeChannelType contract for channel.
ChannelContexttypeChannelContextType contract for channel context.
ChannelDispatchtypeChannelDispatchType contract for channel dispatch.
ChannelDispatchRequesttypeChannelDispatchRequestInput contract for channel dispatch.
ChannelRoutetypeChannelRouteChannels turn platform webhooks (Slack, GitHub, …) into agent dispatches. Handlers are written against the Web Request/Response API and crypto.subtle, so the same channel runs on Node and Cloudflare. A channel is a stateless route container plus a conversation-id (de)serializer — session continuity falls out of the key (same thread → same key → same session).
CheckpointCreateOptionstypeCheckpointCreateOptionsConfiguration options for checkpoint create.
CheckpointRestoreOptionstypeCheckpointRestoreOptionsConfiguration options for checkpoint restore.
CheckpointResulttypeCheckpointResultResult returned by checkpoint.
claimSandboxOwnershipvalue(ref: SerializedSandboxRef, env: SandboxEnv, options: SandboxOwnershipOptions) => Promise<SandboxEnv>Claim exclusive ownership of an already-connected portable sandbox.
clampCommandTimeoutvalue(timeout: number | undefined, policy?: CapabilityPolicy) => number | undefinedRuntime API for clamp command timeout; the generated signature shows its accepted inputs and return type.
clampReadLimitvalue(limit: number | undefined) => numberRuntime API for clamp read limit; the generated signature shows its accepted inputs and return type.
classifySubmissionStatevalue(path: readonly SessionEntry[], submissionId: string) => SubmissionInspectionClassify how far a persisted submission input progressed. - absent — the input entry never landed in session history: the attempt crashed before applying it. Safe to requeue for a clean first attempt. - completed — finished work: a canonical settlement entry exists, an assistant response follows the input with no unresolved trailing tool batch, or a later user input shows the conversation moved on. Settle as success; never retry (retrying completed work is the one unrecoverable corruption). - continuable — the trailing turn carries unresolved tool calls. The next session.prompt() re...
CohereModelProvidervaluetypeof CohereModelProviderProvider implementation for cohere model.
CohereProviderOptionstypeCohereProviderOptionsConfiguration options for cohere provider.
combineSubmissionTelemetrySinksvalue(...sinks: SubmissionTelemetrySink[]) => SubmissionTelemetrySinkFan one event out to several sinks.
CommandtypeCommand<TInput>Type contract for command.
CommandEnvValuetypeCommandEnvValueType contract for command env value.
CommandPolicytypeCommandPolicyType contract for command policy.
CommandToolInputtypeCommandToolInputType contract for command tool input.
CommandToolOptionstypeCommandToolOptionsConfiguration options for command tool.
CompactionOptionstypeCompactionOptionsConfiguration options for compaction.
CompactionResulttypeCompactionResultResult returned by compaction.
configureDispatchRuntimevalue(runtime: DispatchRuntime) => voidConfigure the ambient dispatch queue used by dispatch.
configureJobInvocationRuntimevalue(next: JobInvocationRuntime) => voidRuntime API for configure job invocation runtime; the generated signature shows its accepted inputs and return type.
connectFabricVoicevalue(options: VoiceWsClientOptions) => VoiceWsClientHandleRuntime API for connect fabric voice; the generated signature shows its accepted inputs and return type.
connectFabricWsvalue(options: WsClientOptions) => WsClientHandleRuntime API for connect fabric ws; the generated signature shows its accepted inputs and return type.
connectMcpServervalue(name: string, options: McpServerOptions) => Promise<McpServerConnection>Runtime API for connect mcp server; the generated signature shows its accepted inputs and return type.
consoleTelemetryExportervalue(prefix?: string) => TelemetryExporterTelemetry exporter that writes spans through the SDK logger (default console-backed). Useful for local development and as a fallback when no OpenTelemetry collector is wired up. Use openTelemetryExporter or langfuseExporter for production.
ContextBudgettypeContextBudgetType contract for context budget.
ContextBudgetOptionstypeContextBudgetOptionsConfiguration options for context budget.
CONVERSATION_STREAM_DEFAULT_READ_LIMITvalue100Constant defining conversation stream default read limit.
CONVERSATION_STREAM_FORMAT_VERSIONvalue1Constant defining conversation stream format version.
CONVERSATION_STREAM_MAX_READ_LIMITvalue1000Constant defining conversation stream max read limit.
ConversationFoldCheckpointtypeConversationFoldCheckpointDisposable durable cache of a folded conversation at one committed batch.
conversationKeyvalue(provider: string, version: string, ...segments: string[]) => stringRuntime API for conversation key; the generated signature shows its accepted inputs and return type.
ConversationMessagetypeConversationMessageType contract for conversation message.
ConversationMessageDisplaytypeConversationMessageDisplayType contract for conversation message display.
ConversationMessagePurposetypeConversationMessagePurposeType contract for conversation message purpose.
ConversationMessageRoletypeConversationMessageRoleType contract for conversation message role.
ConversationParttypeConversationPartType contract for conversation part.
ConversationProducerClaimtypeConversationProducerClaimType contract for conversation producer claim.
ConversationProjectorvaluetypeof ConversationProjectorRuntime API for conversation projector; the generated signature shows its accepted inputs and return type.
ConversationReplytypeConversationReplyType contract for conversation reply.
ConversationSettlementtypeConversationSettlementType contract for conversation settlement.
ConversationSnapshottypeConversationSnapshotType contract for conversation snapshot.
ConversationStreamAppendInputtypeConversationStreamAppendInputType contract for conversation stream append input.
ConversationStreamBatchtypeConversationStreamBatchType contract for conversation stream batch.
ConversationStreamIdentitytypeConversationStreamIdentityType contract for conversation stream identity.
ConversationStreamMetatypeConversationStreamMetaType contract for conversation stream meta.
conversationStreamPathvalue(storeSessionId: string) => stringStream path for a session's conversation projection.
ConversationStreamReadResulttypeConversationStreamReadResultResult returned by conversation stream read.
ConversationStreamRecordtypeConversationStreamRecordAppend-only conversation stream — the durable, offset-addressable projection of a session's active path (v2 migration, phase A4). The SessionEntry DAG remains the single source of truth for model context; this stream exists so clients can read a conversation with offsets (catch-up + live tail), across processes, without count-based replay. The projection appends one record per active-path entry, and — because the DAG can branch (fork/replay/checkpoint-restore) while a stream cannot — an explicit truncated record whenever the active path rewinds, paired with a producer-epoch bump so stale...
ConversationStreamStoretypeConversationStreamStoreDurable append-only conversation stream storage. Batch atomicity is a hard contract requirement: every record in an append must be persisted together under one offset, all-or-nothing. First-party adapters satisfy this by serializing the batch into a single row/document write; an adapter that splits records across non-atomic writes violates the contract. Producer fencing: acquireProducer bumps the producer epoch; appends carrying a stale epoch are rejected. The (path, producerId, epoch, sequence) uniqueness makes redelivered appends idempotent — a retried append with the same coo...
ConversationStreamStoreErrorvaluetypeof ConversationStreamStoreErrorError raised for conversation stream store failures.
CostAttributiontypeCostAttributionAttribution dimensions for a single cost observation. All fields are optional so callers can tag as much or as little metadata as they have.
CostAttributionRowtypeCostAttributionRowA single row of aggregated cost attribution data.
CostBudgetStoretypeCostBudgetStoreAsync store for cross-process spend aggregation. Pair with CostLimit.scopeKey + CostLimit.perScope to enforce a budget that survives process restarts — "tenant:acme spends ≤ $50 today" or "company-wide ≤ $100 this hour". Built-in implementations: - inMemoryCostBudgetStore() — process-local; default. - @fabric-harness/node exposes postgresCostBudgetStore({ pool }).
CostBudgetTrackervaluetypeof CostBudgetTrackerTracks cumulative session spend. Cheap to construct; one per session.
CostLimittypeCostLimitType contract for cost limit.
CostLimitContexttypeCostLimitContextType contract for cost limit context.
CostLimitExceededErrorvaluetypeof CostLimitExceededErrorError raised for cost limit exceeded failures.
createActivateSkillToolvalue(skillNames: string[], activate: (name: string) => Promise<string>) => ToolDef<ActivateSkillInput, string>Creates activate skill tool.
createAgentvalue<TEnv = Record<string, string>>(initialize: ((context: PersistentAgentContext<TEnv>) => PersistentAgentConfig | Promise<PersistentAgentConfig>) | DynamicAgentFunction<TEnv>, definition?: PersistentAgentConfig) => CreatedAgent<TEnv>Define a persistent, URL-addressable agent. Files in .fabricharness/agents/ default-export createAgent(...); the runtime resolves a fresh config per interaction and keeps sessions across direct prompts and dispatched inputs.
createApprovalGrantvalue(input: { approvalId: string; toolCallId: string; toolInput: unknown; principal: FabricPrincipal; response: ApprovalResponse; createdAt: string; ttlSeconds?: number; decidedAt?: string; }) => ApprovalGrantCreates approval grant.
createApprovalGrantForStatevalue(state: ApprovalState, response: ApprovalResponse) => ApprovalGrant | undefinedBuild the terminal grant after a store reaches approval quorum.
createAttachmentRefvalue(input: { id: string; mimeType: string; bytes: Uint8Array; filename?: string; }) => Promise<AttachmentRef>Build an AttachmentRef for the given bytes, computing the SHA-256 digest via WebCrypto (crypto.subtle) so the SDK stays runtime-agnostic.
createBuiltinToolsvalue(sandbox: SandboxEnv, packagedSkills?: Record<string, PackagedSkillDirectory>) => BuiltinTool[]Creates builtin tools.
createCommandToolsvalue(commands: Command[], options?: CommandToolOptions) => ToolDef<CommandToolInput, ShellResult>[]Creates command tools.
createConsoleLoggervalue(level?: LogLevel) => LoggerBuild a Console-backed logger with an explicit level. Useful for tests that want to capture or silence SDK output without touching globals.
CreatedAgenttypeCreatedAgent<TEnv>A persistent, addressable agent created with createAgent. Distinct from a finite defineAgent({ run }) job: it has no run — the initializer returns configuration, and the runtime maintains sessions across interactions.
createDirectAgentSubmissionInputvalue(options: { agent: string; id: string; session?: string; message: DeliveredMessage; initialData?: JsonValue; uid?: string | null; joinWhileBusy?: boolean; tenantId?: string; actor?: FabricActor; durability?: AgentSubmissionDurability; }) => AgentSubmissionInputMint a direct-prompt submission input with a fresh submission id.
createDispatchAgentSubmissionInputvalue(dispatch: DispatchInput) => AgentSubmissionInputMap a DispatchInput onto the persisted submission input shape.
createErrorReferencevalue(now?: number) => stringMint an opaque, sortable correlation reference for one transported error.
createFabricContextvalue<TPayload extends JsonObject = JsonObject>(payload: TPayload) => FabricContext<TPayload>Creates fabric context.
createFabricFsvalue(sandboxLike: SandboxEnv | Promise<SandboxEnv> | (() => SandboxEnv | Promise<SandboxEnv>)) => FabricFsAdapt a sandbox into the public filesystem convenience surface.
createFileToolsvalue(sandbox: SandboxEnv, packagedSkills?: Record<string, PackagedSkillDirectory>) => BuiltinFileTool[]Creates file tools.
createMcpAuthorizationCodeAuthvalue(options: McpAuthorizationCodeOptions) => OAuthClientProviderAuthorization-code + PKCE provider; the MCP SDK refreshes stored tokens automatically.
createMcpClientCredentialsAuthvalue(options: McpClientCredentialsOptions) => OAuthClientProviderOAuth client-credentials provider with MCP SDK token refresh handling.
createMcpToolsvalue(client: McpClientLike, options?: CreateMcpToolsOptions) => Promise<ToolDef[]>Creates mcp tools.
CreateMcpToolsOptionstypeCreateMcpToolsOptionsConfiguration options for create mcp tools.
createObservabilityObservervalue(options: ObservabilityObserverOptions) => FabricEventCallbackCreate a fail-open event observer suitable for Braintrust, Sentry, Jetty, or a custom sink.
createObservabilityRecordvalue(event: FabricEvent, options: Pick<ObservabilityObserverOptions, "integration" | "correlation" | "captureData" | "additionalSecrets">) => FabricObservabilityRecordConvert a Fabric event into a vendor-neutral, low-cardinality record.
createOperationalMetricsCollectorvalue() => OperationalMetricsCollectorLow-cardinality operational metrics collector suitable for OTel/Prometheus bridging.
createRemoteSandboxEnvvalue(api: RemoteSandboxApi, options?: RemoteSandboxOptions) => SandboxEnvWrap a provider-owned remote sandbox client in Fabric's SandboxEnv contract. Provider credentials and SDK objects remain outside model context/history; Fabric only sees the narrow file/shell/snapshot API exposed here.
createResultToolsvalue<TResult>(validator: ResultValidator<TResult>) => ResultToolBundle<TResult>Produce the per-call finish and give_up tool pair for a given ResultValidator. - finish's parameters are a generic JSON Schema object because we can't derive a precise schema from ResultValidator. The validator's safeParse handles actual validation. - First successful finish (or give_up) call wins. Subsequent calls return an error tool result rather than throwing, to keep the conversation transcript natural.
createSandboxEnvvalue(options?: SandboxFactoryOptions) => Promise<SandboxEnv>Creates sandbox env.
createScopedSandboxEnvvalue(sandbox: SandboxEnv, cwd?: string) => SandboxEnvReturn a view of a sandbox with a narrower default cwd. Relative file paths and shell cwd values are resolved from this scoped cwd while the underlying sandbox still enforces its workspace boundary.
createSearchToolvalue(retriever: Retriever, options?: SearchToolOptions) => ToolDef<SearchToolInput, SearchToolResult>Exposes a Retriever to the model as a search tool. The tool is read-only; wrap it with a governance decorator to stamp lineage or route approvals.
createSessionSubmissionExecutorvalue(options: SessionSubmissionExecutorOptions) => SubmissionExecutorProvider-neutral durable submission executor for hosts that can open a Fabric session themselves. Node, Durable Objects, and custom runtimes share the same recovery and conservative interrupted-tool settlement behavior.
createStdioMcpClientvalue(options: StdioMcpClientOptions) => StdioMcpClientCreates stdio mcp client.
createSubmissionRunnervalue(options: SubmissionRunnerOptions) => SubmissionRunnerCreates submission runner.
createUnifiedInMemoryStorevalue() => UnifiedInMemoryStoreFactory that returns a fresh UnifiedInMemoryStore. The returned object can be passed as store, streamChunkStore, and runStore simultaneously.
createVirtualSandboxEnvvalue(options?: SandboxFactoryOptions & { initialFiles?: Record<string, string | Uint8Array>; }) => VirtualSandboxEnvCreates virtual sandbox env.
CredentialMissingStrategytype"fail"Type contract for credential missing strategy.
currentJobInvocationvalue() => JobInvocationContext | undefinedRuntime API for current job invocation; the generated signature shows its accepted inputs and return type.
currentSubmissionContextvalue() => SubmissionContext | undefinedThe submission owning the current execution, or undefined outside one.
DeepgramSttProvidervaluetypeof DeepgramSttProviderProvider implementation for deepgram stt.
DeepgramSttProviderOptionstypeDeepgramSttProviderOptionsConfiguration options for deepgram stt provider.
DEFAULT_HEADLESS_PREAMBLEvalue"You are running in headless autonomous mode (background-agent mode) with no human operator assumed. Work autonomously: Do not ask clarifying questions or wait for in-band user input. Make safe, reasonable assumptions when possible; if blocked by missing credentials, unavailab...Constant defining default headless preamble.
defaultAgentProfilevalueAgentProfileRuntime API for default agent profile; the generated signature shows its accepted inputs and return type.
defaultLoopRuntimevalueNativeLoopRuntimeRuntime API for default loop runtime; the generated signature shows its accepted inputs and return type.
defaultModelProvidervalueMockModelProviderProvider implementation for default model.
defaultSessionStorevalueInMemorySessionStoreStorage contract for default session.
defineActionvalue<TInput = unknown, TOutput = unknown>(options: ActionOptions<TInput, TOutput>) => ActionDefinition<TInput, TOutput>Define an action — the harness-context counterpart to defineTool. A tool is a leaf capability the model calls; an action holds the harness (context.init) and can prompt, spawn sessions, and compose other work. Input/output use the harness schema builders and are validated on every runAction call; outputs must be JSON-serializable.
defineAgentvalue<TInput = JsonObject, TOutput = unknown>(definition: AgentDefinition<TInput, TOutput>) => DefinedAgent<TInput, TOutput>Defaults-injecting finite-agent builder exported from the bare SDK entry point.
defineAgentProfilevalue(options: AgentProfileOptions) => AgentProfileDefines agent profile.
defineChannelvalue(channel: Channel) => ChannelValidates and brands a channel's routes.
defineCommandvalue<TInput = CommandToolInput>(name: string, options?: Omit<Command<TInput>, "name">) => Command<TInput>Defines command.
DefinedAgenttypeDefinedAgent<TInput, TOutput>Type contract for defined agent.
defineMcpConnectionvalue(definition: McpConnectionDefinition) => McpConnectionDefinitionDefines mcp connection.
defineSubagentvalue(definition: SubagentDefinition) => SubagentDefinitionDefines subagent.
defineToolvalue{ <TInput = unknown, TOutput = unknown>(tool: ToolDef<TInput, TOutput>): ToolDef<TInput, TOutput>; <TInput = unknown, TOutput = unknown, THarness extends boolean = false, TDurable extends boolean = false>(tool: HookToolDefinition<TInput, TOutput...Defines tool.
defineWebhookSubscriptionvalue<TPayload = JsonObject>(definition: WebhookSubscriptionDefinition<TPayload>) => WebhookSubscriptionDefinition<TPayload>Helper that returns the definition unchanged. Useful for type inference and to keep agent files declarative. See the package declarations for an example.
DeletionCompletionRecordtypeDeletionCompletionRecordType contract for deletion completion record.
DeliveredAttachmenttypeDeliveredAttachmentOne attachment on a kind: 'user' message. Today the only supported attachment is an image, carried either inline (data, base64) or as a durable content-addressed reference (ref) once an attachment store is configured — admission materializes inline bytes into refs. An attachment must carry data or ref (or both, transiently during materialization).
DeliveredAttachmentReftypeDeliveredAttachmentRefDurable reference to attachment bytes in an attachment store.
DeliveredMessagetypeDeliveredMessageDeliveredMessage — the single unified input shape for everything that enters a persistent agent's session: direct HTTP prompts, dispatch, channels/webhooks, Databricks events, SDK clients, and tests. kind: 'user' is a direct user talking to the assistant (1:1 chat surface), optionally carrying attachments. kind: 'signal' models everything beyond that direct exchange — a Slack thread or a Lakeflow job event is activity the agent observes, not the assistant's own user speaking. Sender identity and structured metadata go in attributes; the message itself in body. Signals render into mo...
deliveredSignalToEntryDatavalue(message: Extract<DeliveredMessage, { kind: "signal"; }>) => SignalEntryDataMap a signal-kind message onto the persisted signal entry's data shape.
deriveCompactionDefaultsvalue(input: { contextWindowTokens: number; maxOutputTokens?: number; }) => { reserveTokens: number; keepRecentTokens: number; }Compute model-aware compaction defaults. Reserve is capped at the model's max output because reserving more than the model can emit in one turn wastes context; the preserved tail stays flat because recent-context fidelity depends on the active work, not on the model's total window size.
dispatchvalue{ (agent: CreatedAgent, request: AgentDispatchRequest): Promise<DispatchReceipt>; (request: NamedAgentDispatchRequest): Promise<DispatchReceipt>; }Runtime API for dispatch; the generated signature shows its accepted inputs and return type.
DispatchInputtypeDispatchInputInternal enqueued form, carrying correlation + isolation metadata.
DispatchProcessortypeDispatchProcessorConsumes enqueued dispatches and applies them to an instance session.
DispatchQueuetypeDispatchQueueAdmission queue for dispatches. The default is in-process; durable backends implement the same shape.
DispatchReceipttypeDispatchReceiptAcceptance confirmation for an enqueued dispatch.
DockerSandboxEnvvaluetypeof DockerSandboxEnvRuntime API for docker sandbox env; the generated signature shows its accepted inputs and return type.
DockerSandboxOptionstypeDockerSandboxOptionsConfiguration options for docker sandbox.
DURABILITY_DEFAULT_MAX_ATTEMPTSvalue10Default maximum total attempts before terminalization.
DURABILITY_DEFAULT_TIMEOUT_MSvalue3600000Default submission timeout in milliseconds (one hour).
DurableSessionRuntimetypeDurableSessionRuntimeStructural delegate for durable session execution. When init() is given a sessionRuntime factory that produces one of these, the SDK's session calls (prompt, task, shell, checkpoint.*) are routed through the runtime instead of executing inline. This is the seam for Temporal workflows, external orchestration runtimes, or test fakes. mount, history, artifact, and compact remain SDK-local concerns and are not delegated — they operate against the local session store.
DurableSessionRuntimeFactorytypeDurableSessionRuntimeFactoryFactory for durable session runtime.
DynamicAgentExecutionDescriptortypeDynamicAgentExecutionDescriptorJSON-safe identity required to re-render a persistent dynamic agent at a trusted durable-runtime boundary. Hook functions, tool implementations, credentials, and resolved MCP connections are deliberately excluded.
DynamicAgentFinishContexttypeDynamicAgentFinishContextType contract for dynamic agent finish context.
DynamicAgentFunctiontypeDynamicAgentFunction<TEnv>Type contract for dynamic agent function.
DynamicAgentPropstypeDynamicAgentProps<TEnv>Dynamic persistent-agent composition. The runtime keeps Fabric's builders, policies, persistence contracts, and backend-neutral types while allowing capabilities to evolve per interaction.
DynamicAgentRefreshInputtypeDynamicAgentRefreshInputType contract for dynamic agent refresh input.
DynamicAgentRenderOptionstypeDynamicAgentRenderOptionsConfiguration options for dynamic agent render.
DynamicAgentResponsetypeDynamicAgentResponseResponse contract for dynamic agent.
DynamicAgentRuntimetypeDynamicAgentRuntimeType contract for dynamic agent runtime.
DynamicAgentStartContexttypeDynamicAgentStartContextType contract for dynamic agent start context.
DynamicLifecycleContexttypeDynamicLifecycleContextType contract for dynamic lifecycle context.
DynamicMetadataCallbacktypeDynamicMetadataCallbackType contract for dynamic metadata callback.
editFileToolvalue(sandbox?: SandboxEnv) => ToolDef<EditInput, void>Model-callable tool or tool factory for edit file.
EditInputtypeEditInputType contract for edit input.
ElevenLabsTtsProvidervaluetypeof ElevenLabsTtsProviderProvider implementation for eleven labs tts.
ElevenLabsTtsProviderOptionstypeElevenLabsTtsProviderOptionsConfiguration options for eleven labs tts provider.
EmbeddingProvidertypeEmbeddingProviderEmbeddings seam. Feeds self-managed-embedding vector indexes (embed the query → query vector) and any bring-your-own retrieval pipeline. Returns one vector per input text, order-preserving.
emitOpenTelemetrySpanvalue(tracer: Tracer, span: TelemetrySpan, attributes?: Record<string, string | number | boolean>, conventions?: "fabric" | "foundry") => SpanRuntime API for emit open telemetry span; the generated signature shows its accepted inputs and return type.
emitSubmissionTelemetryvalue(sink: SubmissionTelemetrySink | undefined, event: SubmissionTelemetryEvent, onError?: (error: unknown) => void) => voidDeliver an event to a sink, swallowing (and reporting) sink failures.
EmptySandboxEnvvaluetypeof EmptySandboxEnvRuntime API for empty sandbox env; the generated signature shows its accepted inputs and return type.
enqueueDispatchvalue(queue: DispatchQueue, request: NamedAgentDispatchRequest, extra?: { tenantId?: string; actor?: FabricActor; dispatchId?: string; }) => Promise<DispatchReceipt>Validate + normalize a named request and enqueue it, generating the dispatch id.
ensurePersistentInstanceIdentityvalue(options: { store: SessionStore; agentName: string; instanceId: string; uid?: string | null; tenantId?: string; actor?: FabricActor; }) => Promise<PersistentInstanceIdentity>Atomically resolve or create one tenant-scoped persistent instance generation.
entryToTelemetrySpanvalue(sessionId: string, entry: SessionEntry) => TelemetrySpan | undefinedRuntime API for entry to telemetry span; the generated signature shows its accepted inputs and return type.
environmentSecretProvidervalue(options?: EnvironmentSecretProviderOptions) => SecretProviderRuntime-only environment provider with optional prefix and explicit allowlist.
EnvironmentSecretProviderOptionstypeEnvironmentSecretProviderOptionsConfiguration options for environment secret provider.
estimateCostUsdvalue(modelRef: string, usage: ModelPricingUsage) => numberEstimate USD cost for a single model call. Returns 0 when no row matches modelRef — callers should treat 0 as "unknown" and not overwrite an existing costUsd from the provider.
estimateModelMessagesTokensvalue(messages: ModelMessage[]) => numberRuntime API for estimate model messages tokens; the generated signature shows its accepted inputs and return type.
estimateSessionEntriesTokensvalue(entries: SessionEntry[]) => numberRuntime API for estimate session entries tokens; the generated signature shows its accepted inputs and return type.
estimateTextTokensvalue(text: string) => numberRuntime API for estimate text tokens; the generated signature shows its accepted inputs and return type.
evaluateCommandPolicyvalue(command: string | undefined, policy?: CapabilityPolicy) => PolicyDecisionRuntime API for evaluate command policy; the generated signature shows its accepted inputs and return type.
evaluateContextBudgetvalue(messages: ModelMessage[], options?: ContextBudgetOptions) => ContextBudgetRuntime API for evaluate context budget; the generated signature shows its accepted inputs and return type.
evaluateNetworkPolicyvalue(input: string | URL | Request, policy?: CapabilityPolicy) => PolicyDecisionEvaluate a URL or Request against the configured network policy. Returns { allowed: true } when the request is permitted, otherwise a denial with the reason and matched pattern.
evaluateOperationalSlosvalue(snapshot: OperationalMetricsSnapshot, targets: OperationalSloTargets) => OperationalSloEvaluationRuntime API for evaluate operational slos; the generated signature shows its accepted inputs and return type.
evaluateToolCallPolicyvalue(call: ToolCall, policy?: CapabilityPolicy) => PolicyDecisionRuntime API for evaluate tool call policy; the generated signature shows its accepted inputs and return type.
eventToTelemetrySpanvalue(event: FabricEvent) => TelemetrySpan | undefinedRuntime API for event to telemetry span; the generated signature shows its accepted inputs and return type.
execSandboxCommandvalue(sandbox: SandboxEnv, command: string, options?: SandboxExecOptions) => Promise<ShellResult>Reject promptly on cancellation even when a remote provider cannot cancel its command. The underlying promise remains observed and reports its final, redacted settlement through onOrphanSettled.
ExistsInputtypeExistsInputType contract for exists input.
existsToolvalue(sandbox?: SandboxEnv) => ToolDef<ExistsInput, boolean>Model-callable tool or tool factory for exists.
extractResultValuevalue(value: unknown, extraction?: boolean | ResultExtractionOptions) => unknownRuntime API for extract result value; the generated signature shows its accepted inputs and return type.
FABRIC_OPERATIONAL_METRICSvalue{ readonly requestLatencyMs: "fabric_harness_request_latency_ms"; readonly submissionDurationMs: "fabric_harness_submission_duration_ms"; readonly queueAgeMs: "fabric_harness_queue_age_ms"; readonly errorsTotal: "fabric_harness_errors_total"; readonly approvalWaitMs: "fab...Constant defining fabric operational metrics.
FabricActortypeFabricActorType contract for fabric actor.
FabricAgenttypeFabricAgentType contract for fabric agent.
FabricContexttypeFabricContext<TPayload>Type contract for fabric context.
FabricErrorvaluetypeof FabricErrorError raised for fabric failures.
FabricErrorCodetypeFabricErrorCodeType contract for fabric error code.
FabricErrorOptionstypeFabricErrorOptionsConfiguration options for fabric error.
FabricEventtypeFabricEvent<TData>Type contract for fabric event.
FabricEventCallbacktypeFabricEventCallbackType contract for fabric event callback.
FabricEventTypetypeFabricEventTypeType contract for fabric event type.
FabricFstypeFabricFsOut-of-band filesystem surface for a session sandbox. These operations do not write to conversation history and are intended for host-side plumbing: staging files, collecting artifacts, and preparing scratch space. If the model should reason about a file, prompt it to use the normal read/write/edit tools instead.
FabricObservabilityRecordtypeFabricObservabilityRecordType contract for fabric observability record.
FabricPrincipaltypeFabricPrincipalThe governed identity a piece of work runs as (v2). Distinct from ActorIdentity (who asked): the principal is what the platform's access control enforces — a human user, a machine service principal, or a hosted app's own identity. ucPrincipal carries the catalog-governance principal name when the platform has one (e.g. Unity Catalog).
FabricRuntimetypeFabricRuntimeExecution runtime selection. - inline (default): single-process execution. Uses the configured SessionStore (in-memory by default) for history, artifacts, approvals. - stateless: explicit headless / ephemeral mode. No session store, no artifact persistence, no approval waiting. Each invocation is independent. Use for high-volume webhook agents and edge runtimes where state would just be discarded anyway. In production (FABRIC_ENV=production or NODE_ENV=production) this mode must be selected explicitly — inline without an explicit store will warn or fail depending on `FABRIC_ALLO...
FabricSessiontypeFabricSessionType contract for fabric session.
FallbackModelProvidervaluetypeof FallbackModelProviderProvider implementation for fallback model.
FallbackModelProviderOptionstypeFallbackModelProviderOptionsConfiguration options for fallback model provider.
FileStattypeFileStatType contract for file stat.
FilesystemEntrytypeFilesystemEntryType contract for filesystem entry.
FilesystemPolicytypeFilesystemPolicyType contract for filesystem policy.
FilesystemSourcetypeFilesystemSourceA read-only content source that can be mounted into a sandbox at sandbox-creation time. The agent then has built-in read, glob, and grep tools available over the mounted content — no retrieval pipeline, no embeddings, no vector store required. Sources are intentionally minimal: they yield (path, content) pairs. Implementations decide how to enumerate (eager vs lazy is up to the source author) — the mount step pulls the full set into the sandbox.
findSubmissionInputIndexvalue(path: readonly SessionEntry[], submissionId: string) => numberIndex of the last canonical user or signal input carrying the submission id, or -1.
findTrailingDanglingToolCallsvalue(path: SessionEntry[]) => SessionEntry[]Find trailing tool_call entries on the active path that were never settled — no matching tool_result (paired by toolCallId, falling back to tool name) and no subsequent error entry for the same tool. A dangling call means a model turn died (crash/abort) between recording the call and recording its outcome. Left in place it produces an assistant tool_use with no tool_result on resume, which providers reject — the repair path appends synthetic interrupted outcomes for exactly the entries returned here. Conservative by construction: only the window after the last turn boundary (use...
findTrailingUnfinishedTasksvalue(path: SessionEntry[]) => SessionEntry[]Trailing task_start entries in the same window with no matching task_end — a subtask that was in flight when the turn died. These do not corrupt model context (task entries are bookkeeping), but settling them keeps UI/audit state coherent.
formatSchemaIssuesvalue(issues: SchemaIssue[]) => stringRuntime API for format schema issues; the generated signature shows its accepted inputs and return type.
formatStreamOffsetvalue(offset: number) => stringRuntime API for format stream offset; the generated signature shows its accepted inputs and return type.
fumadocsSourcevalue(contentRoot: string, options?: { name?: string; stripFrontmatter?: boolean; include?: (relativePath: string) => boolean; }) => FilesystemSourceMount a local Fumadocs content directory as a knowledge base. Strips MDX frontmatter by default for cleaner agent context. For a published Fumadocs site, fetch its llms.txt / sitemap and pass the URLs to httpFilesystemSource.
GeminiModelProvidervaluetypeof GeminiModelProviderProvider implementation for gemini model.
GeminiProviderOptionstypeGeminiProviderOptionsConfiguration options for gemini provider.
GeneralSubagentvalueSubagentDefinitionRuntime API for general subagent; the generated signature shows its accepted inputs and return type.
generateAffinityKeyvalue(agentId: string, sessionId: string) => stringGenerate a deterministic aff_\u003cULID\u003e affinity key from an (agentId, sessionId) pair. The same pair always produces the same key, which is stable across restarts. Different pairs produce different keys with overwhelming probability.
generateWithRuntimevalue(provider: ModelProvider, request: ModelRequest, options?: ModelRuntimeOptions) => Promise<ModelResponse>Runtime API for generate with runtime; the generated signature shows its accepted inputs and return type.
getAgentDefinitionvalue(value: unknown) => AgentDefinition<unknown, unknown> | undefinedReturns agent definition.
getCreatedAgentvalue(value: unknown) => CreatedAgent | undefinedReturn the CreatedAgent carried by a value, or undefined.
getLoggervalue() => LoggerGet the currently configured logger.
getVirtualSandboxvalue(source: FilesystemSource, options?: { mountAt?: string; }) => SandboxFactoryOne-liner helper for the most common pattern: mount a single read-only source into a virtual sandbox. Equivalent to: See the package declarations for an example. Used for support agents, runbook lookup, FAQ assistants — anywhere a small Markdown corpus needs to be searchable via the agent's built-in grep/glob/read tools. See the package declarations for an example.
GlobInputtypeGlobInputType contract for glob input.
globToolvalue(sandbox?: SandboxEnv) => ToolDef<GlobInput, string[]>Model-callable tool or tool factory for glob.
GrepInputtypeGrepInputType contract for grep input.
GrepMatchtypeGrepMatchType contract for grep match.
grepToolvalue(sandbox?: SandboxEnv) => ToolDef<GrepInput, GrepMatch[]>Model-callable tool or tool factory for grep.
hasSubmissionSettledEntryvalue(path: readonly SessionEntry[], submissionId: string) => booleanTrue when the path carries a canonical submission_settled entry for the id.
hexToBytesvalue(hex: string) => Uint8ArrayRuntime API for hex to bytes; the generated signature shows its accepted inputs and return type.
hmacSha256value(secret: string | Uint8Array, message: Uint8Array) => Promise<Uint8Array>Runtime API for hmac sha256; the generated signature shows its accepted inputs and return type.
HookToolContexttypeHookToolContext<TInput, THarness, TDurable>Type contract for hook tool context.
HookToolDefinitiontypeHookToolDefinition<TInput, TOutput, THarness, TDurable>Hook-oriented tool declaration supported by defineTool() and useTool().
httpFilesystemSourcevalue(resources: HttpResource[] | (() => Promise<HttpResource[]>), options?: { name?: string; fetchImpl?: typeof fetch; }) => FilesystemSourceFetch a list of URLs and mount each response body as a file. Useful for pulling a small published docs set into the sandbox so the built-in read/grep/glob tools can search it like local files.
HttpResourcetypeHttpResourceType contract for http resource.
initvalue(options?: AgentInit) => Promise<FabricAgent>Initialize a runtime-neutral Fabric agent from explicit model, sandbox, policy, store, identity, and lifecycle options. Call agent.session() on the returned value to create or resume a session. Supplying both store and persistence is invalid; a persistence adapter is connected before the agent is returned and connection failures propagate to the caller.
initializePersistentAgentvalue<TEnv>(created: CreatedAgent<TEnv>, context: PersistentAgentContext<TEnv>, overrides?: AgentInit) => Promise<{ config: PersistentAgentConfig; agent: FabricAgent; }>Resolve a persistent agent's config for an instance and build a FabricAgent. Runtime-specific resources (session store, workspace roles/skills, loop runtime) are layered by the host that calls this.
inMemoryApprovalNotificationStorevalue() => ApprovalNotificationDeliveryStoreProcess-local atomic delivery state for development and single-process hosts.
InMemoryAttachmentStorevaluetypeof InMemoryAttachmentStoreIn-memory attachment store (dev / runtime: 'stateless' / tests).
InMemoryConversationStreamStorevaluetypeof InMemoryConversationStreamStoreIn-memory conversation stream store (dev / runtime: 'stateless' / tests).
inMemoryCostBudgetStorevalue() => CostBudgetStoreProcess-local cost budget store. Default when store is not provided.
InMemoryDispatchQueuevaluetypeof InMemoryDispatchQueueIn-process dispatch queue: microtask-drained, concurrent across sessions, serialized within a single session. Suitable for the inline/stateless runtimes and dev. Durable delivery (surviving restarts) is provided by the Temporal-backed queue, which implements this same interface.
inMemorySessionMemoryvalue() => SessionMemoryProcess-local in-memory implementation. Default when init({ memory }) is not configured — pair with Postgres for durability across restarts.
InMemorySessionStorevaluetypeof InMemorySessionStoreStorage contract for in memory session.
inMemorySourcevalue(files: Record<string, string | Uint8Array>, options?: { name?: string; }) => FilesystemSourceBuild a source from an in-memory map of path -> content. Useful for tests, fixtures, and small static knowledge bases bundled into the agent module itself.
InMemoryStreamChunkStorevaluetypeof InMemoryStreamChunkStoreStorage contract for in memory stream chunk.
InMemorySubmissionStorevaluetypeof InMemorySubmissionStoreStorage contract for in memory submission.
InterruptedToolCallReftypeInterruptedToolCallRefA tool call settled with an explicit interrupted-outcome marker at terminalization.
InvalidDeliveredMessageErrorvaluetypeof InvalidDeliveredMessageErrorThrown by parseDeliveredMessage on malformed input.
invokevalue{ <TInput = JsonObject, TOutput = unknown>(job: DefinedAgent<TInput, TOutput>, options: JobInvocationOptions<TInput>): Promise<JobInvocationReceipt>; <TInput = JsonObject>(request: NamedJobInvocation<TInput>): Promise<JobInvocationRe...Runtime API for invoke; the generated signature shows its accepted inputs and return type.
isActionDefinitionvalue(value: unknown) => value is ActionDefinitionChecks whether a value is action definition.
isContextOverflowErrorvalue(error: unknown) => booleanChecks whether a value is context overflow error.
isCreatedAgentvalue(value: unknown) => value is CreatedAgentWhether a value is a CreatedAgent.
isDeliveredMessageShapevalue(value: unknown) => booleanTrue when a raw value already looks like a DeliveredMessage (has a valid kind).
isDynamicAgentRenderingvalue() => booleanChecks whether a value is dynamic agent rendering.
isEventvalue<T extends AgentEventType>(event: AgentEvent, type: T) => event is Extract<AgentEvent, { type: T; }>Type guard: narrow an AgentEvent to a specific variant. See the package declarations for an example.
isFabricErrorvalue(error: unknown) => error is FabricErrorChecks whether a value is fabric error.
isInMemoryStorevalue(store: SessionStore | undefined) => booleanReturns true when store is the in-memory default (no appendEntry persistence beyond memory). Used by stateless mode to skip writes.
isStatelessRuntimevalue(runtime: FabricRuntime | undefined) => booleanChecks whether a value is stateless runtime.
isSubmissionPayloadvalue(input: unknown, ctx: SubmissionPayloadContext) => input is AgentSubmissionInputValidate that a parsed JSON payload matches the expected submission shape. Used after deserializing a persisted payload to verify the object is a well-formed AgentSubmissionInput that is consistent with the stored submission metadata. Both dispatch and direct payloads carry the same message: DeliveredMessage field — validated identically here regardless of transport kind.
isValidAffinityKeyvalue(key: string) => booleanChecks whether a value is valid affinity key.
JobInvocationContexttypeJobInvocationContextType contract for job invocation context.
JobInvocationOptionstypeJobInvocationOptions<TInput>Configuration options for job invocation.
JobInvocationReceipttypeJobInvocationReceiptType contract for job invocation receipt.
JobInvocationRuntimetypeJobInvocationRuntimeType contract for job invocation runtime.
JournalCallbackstypeJournalCallbacksType contract for journal callbacks.
jsonDeepEqualvalue(a: unknown, b: unknown) => booleanStructural equality over JSON values (objects compared key-order-insensitively).
JsonObjecttypeJsonObjectType contract for json object.
JsonPrimitivetypeJsonPrimitiveType contract for json primitive.
JsonSchemaObjecttypeJsonSchemaObjectType contract for json schema object.
JsonValuetypeJsonValueType contract for json value.
LangfuseClientLiketypeLangfuseClientLikeOptional Langfuse exporter. Adapts Fabric's TelemetrySpan shape to Langfuse's tracing API. The Langfuse client is provided by the caller — we don't take a hard dependency. Install peer dep: See the package declarations for an example. Usage: See the package declarations for an example.
langfuseExportervalue(options: LangfuseExporterOptions) => TelemetryExporterRuntime API for langfuse exporter; the generated signature shows its accepted inputs and return type.
LangfuseExporterOptionstypeLangfuseExporterOptionsConfiguration options for langfuse exporter.
LEASE_DURATION_MSvalue30000Default lease duration for submission ownership in milliseconds (30 seconds).
listModelPricesvalue() => ModelPriceRow[]All currently-registered rows (newest-last). Returns a copy.
listSandboxBackendFactoriesvalue() => SandboxBackend[]Return provider backend names currently available to createSandboxEnv().
listSandboxRefDecodersvalue() => string[]Returns the list of currently registered providers.
localDirectorySourcevalue(hostPath: string, options?: { name?: string; include?: (relativePath: string) => boolean; }) => FilesystemSourceRead a host directory recursively as a read-only source. include is called for each candidate file path (relative to hostPath). Return false to skip. Defaults to including everything.
LocalSandboxEnvvaluetypeof LocalSandboxEnvRuntime API for local sandbox env; the generated signature shows its accepted inputs and return type.
LocalSandboxOptionstypeLocalSandboxOptionsConfiguration options for local sandbox.
LoggertypeLoggerMinimal logger seam used by the SDK for non-event diagnostic output (warnings, deprecation notices, telemetry fallbacks). All console.* inside the SDK should route through getLogger() so ops teams can redirect or silence messages in production. The default logger writes to console and respects FABRIC_HARNESS_LOG_LEVEL=debug|info|warn|error|silent (default warn).
LogLeveltypeLogLevelType contract for log level.
lookupModelPricevalue(modelRef: string) => ModelPriceRow | undefinedLook up the most recently-registered row matching modelRef. modelRef can be: - 'provider/model' (preferred, e.g. 'openai/gpt-4o') - 'model' alone (e.g. 'gpt-4o') — first row whose model matches wins Provider matching is case-insensitive. Model matching is exact.
materializeMessageAttachmentsvalue(message: DeliveredMessage, store: AttachmentStore, options: { scope: string; idPrefix: string; maxCount?: number; maxAttachmentBytes?: number; maxTotalBytes?: number; }) => Promise<DeliveredMessage>Materialize a message's inline attachments into durable refs: decode the base64 data, store the bytes under scope, and return a NEW message whose attachments carry { type, mimeType, filename?, ref } and no data. Deterministic by construction — attachment ids are ${idPrefix}_${index} and digests derive from content — so an exact redelivery of the same message produces an identical materialized payload (admission idempotency). Messages without inline attachments are returned unchanged (same reference).
MAX_ATTACHMENT_DATA_LENGTHvaluenumberMaximum accepted base64 length for a single inline attachment.
McpAuthorizationCodeOptionstypeMcpAuthorizationCodeOptionsConfiguration options for mcp authorization code.
McpAuthorizationCodeStatetypeMcpAuthorizationCodeStateType contract for mcp authorization code state.
McpClientCredentialsOptionstypeMcpClientCredentialsOptionsConfiguration options for mcp client credentials.
McpClientLiketypeMcpClientLikeType contract for mcp client like.
McpConnectionDefinitiontypeMcpConnectionDefinitionType contract for mcp connection definition.
McpServerConnectiontypeMcpServerConnectionType contract for mcp server connection.
McpServerOptionstypeMcpServerOptionsConfiguration options for mcp server.
McpToolDescriptortypeMcpToolDescriptorType contract for mcp tool descriptor.
McpTransporttypeMcpTransportType contract for mcp transport.
memorySandboxOwnershipLeaseStorevalue() => SandboxOwnershipLeaseStoreProcess-local lease store for tests and single-replica durable workers.
mergeCapabilityPoliciesvalue(definition: CapabilityPolicy | undefined, invocation: CapabilityPolicy | undefined) => CapabilityPolicy | undefinedTreat a definition policy as a security floor. Invocation policy can add denials and approval requirements, but cannot replace definition allowlists.
mergeSessionEntryBatchvalue(existing: SessionData, entries: readonly SessionEntry[], expectedLeafId?: string, enforceExpectedLeaf?: boolean) => SessionData | falseMerge one idempotent, leaf-fenced entry batch into a session snapshot. Exported for first-party storage adapters so every backend applies the same conflict and exact-replay semantics before its single atomic write.
messageHasDataAttachmentsvalue(message: DeliveredMessage) => booleanTrue when the message carries at least one inline (base64) attachment.
mintlifySourcevalue(contentRoot: string, options?: { name?: string; include?: (relativePath: string) => boolean; }) => FilesystemSourceMount a checked-out Mintlify content directory. For a hosted Mintlify MCP server, use connectMcpServer('mintlify', { url, transport: 'streamable-http' }) instead.
MissingInputStrategytypeMissingInputStrategyType contract for missing input strategy.
MkdirInputtypeMkdirInputType contract for mkdir input.
mkdirToolvalue(sandbox?: SandboxEnv) => ToolDef<MkdirInput, void>Model-callable tool or tool factory for mkdir.
ModelAttemptEventtypeModelAttemptEventType contract for model attempt event.
ModelConfigtypeModelConfigType contract for model config.
ModelMessagetypeModelMessageType contract for model message.
ModelMessageRoletypeModelMessageRoleType contract for model message role.
ModelMetadatatypeModelMetadataType contract for model metadata.
ModelPriceRowtypeModelPriceRowStatic USD price table for model providers. Used to populate ModelUsage.costUsd on responses that don't include billing info from the provider directly (most providers — only pi-loop-runtime and a handful of gateways report cost). Prices are stamped with effectiveAt. The table is best-effort: real billing reconciliation should use vendor invoices. Override or extend at runtime with registerModelPrices for custom-rate contracts.
ModelPricingUsagetypeModelPricingUsageType contract for model pricing usage.
ModelProvidertypeModelProviderProvider implementation for model.
ModelProviderFactorytypeModelProviderFactoryResolves a parsed provider/model-id ref into a concrete provider. Registered factories let out-of-core packages (e.g.
ModelProviderResolvertypeModelProviderResolverType contract for model provider resolver.
ModelRequesttypeModelRequestInput contract for model.
ModelResponsetypeModelResponseResponse contract for model.
ModelRuntimeOptionstypeModelRuntimeOptionsConfiguration options for model runtime.
ModelStreamChunktypeModelStreamChunkType contract for model stream chunk.
ModelToolCalltypeModelToolCallType contract for model tool call.
ModelToolSchematypeModelToolSchemaType contract for model tool schema.
ModelUsagetypeModelUsageType contract for model usage.
MountedSourcetypeMountedSourceData or filesystem source for mounted.
MountResulttypeMountResultResult returned by mount.
NamedAgentDispatchRequesttypeNamedAgentDispatchRequestA dispatch request that names its target agent.
NamedJobInvocationtypeNamedJobInvocation<TInput>Type contract for named job invocation.
NativeLoopRuntimevaluetypeof NativeLoopRuntimeRuntime API for native loop runtime; the generated signature shows its accepted inputs and return type.
negotiateSandboxContinuityvalue(value: SandboxEnv | SandboxRef | SerializedSandboxRef) => SandboxContinuityCapabilitiesReport the continuity operations that a backend or serialized ref can support.
NetworkEnforcementLayertypeNetworkEnforcementLayerType contract for network enforcement layer.
NetworkEnforcementRequirementtypeNetworkEnforcementRequirementType contract for network enforcement requirement.
NetworkPolicytypeNetworkPolicyType contract for network policy.
noopSessionStorevalueNoopSessionStoreStorage contract for noop session.
NoopSessionStorevaluetypeof NoopSessionStoreNo-op session store for runtime: 'stateless' mode. All writes are discarded; reads always return the empty initial session. Use this when the agent is intended as a pure request/response handler with no persistence (typical for high-volume webhooks and edge runtimes). Approvals and artifact retrieval are not supported — wiring those up requires a real store. Callers in stateless mode should not rely on artifact persistence or approval gating.
normalizeDeliveredMessagevalue(input: unknown) => DeliveredMessageNormalize legacy inputs into a DeliveredMessage: - a string → a user message with that body - a value with a kind discriminator → validated as a DeliveredMessage - any other JSON value → a user message with the JSON-stringified body (matching the historical dispatch rendering, so behavior is unchanged for pre-DeliveredMessage callers)
ObservabilityCorrelationtypeObservabilityCorrelationType contract for observability correlation.
ObservabilityObserverOptionstypeObservabilityObserverOptionsConfiguration options for observability observer.
OpenAIChatCompletiontypeOpenAIChatCompletionType contract for open aichat completion.
openAIChatCompletionToModelResponsevalue(json: OpenAIChatCompletion) => ModelResponseResponse contract for open aichat completion to model.
OpenAICompatibleModelProvidervaluetypeof OpenAICompatibleModelProviderProvider implementation for open aicompatible model.
OpenAICompatibleProviderOptionstypeOpenAICompatibleProviderOptionsConfiguration options for open aicompatible provider.
OpenAIRealtimeVoiceProvidervaluetypeof OpenAIRealtimeVoiceProviderOpenAI Realtime voice provider. Connects via WebSocket; emits audio_delta / text_delta / transcript / tool_call / response_done events. No transitive dependency on ws — uses the global WebSocket available on Node 22+ and browsers. See the package declarations for an example.
OpenAIRealtimeVoiceProviderOptionstypeOpenAIRealtimeVoiceProviderOptionsConfiguration options for open airealtime voice provider.
openTelemetryExportervalue(options: OpenTelemetryExporterOptions) => TelemetryExporterBridge Fabric's SDK-neutral TelemetrySpan into a real
OpenTelemetryExporterOptionstypeOpenTelemetryExporterOptionsConfiguration options for open telemetry exporter.
OperationalMetricsCollectortypeOperationalMetricsCollectorType contract for operational metrics collector.
OperationalMetricsSnapshottypeOperationalMetricsSnapshotType contract for operational metrics snapshot.
OperationalSloEvaluationtypeOperationalSloEvaluationType contract for operational slo evaluation.
OperationalSloTargetstypeOperationalSloTargetsType contract for operational slo targets.
parseConversationKeyvalue(key: string) => ParsedConversationKeyParses conversation key.
ParsedConversationKeytypeParsedConversationKeyType contract for parsed conversation key.
parseDeliveredMessagevalue(value: unknown) => DeliveredMessageValidate a raw value as a DeliveredMessage. Shared by dispatch admission and the direct HTTP route so every transport produces the same structured error on bad input.
ParsedModelReftypeParsedModelRefType contract for parsed model ref.
ParsedScopeKeytypeParsedScopeKeyType contract for parsed scope key.
parseModelRefvalue(model: string) => ParsedModelRef | undefinedParses model ref.
parsePersistentSessionIdvalue(storeSessionId: string) => PersistentSessionIdentity | undefinedInverse of persistentStoreSessionId: decode a store session id back into { agent, instanceId, session }, or undefined if it is not a persistent-instance key. Useful for admin surfaces that list raw session ids.
parseRetryAfterMsvalue(headerValue: string | null | undefined) => number | undefinedParse a Retry-After header value (RFC 7231) into milliseconds. Accepts both delta-seconds and HTTP-date forms. Returns undefined when the value is missing or unparseable.
parseScopeKeyvalue(scopeKey: string) =&gt; ParsedScopeKey | undefinedParse a scope key into its structured components. Recognized patterns: tenant:<id>:day:YYYY-MM-DD tenant:<id>:hour:YYYY-MM-DDTHH:00Z tenant:<id>:month:YYYY-MM agent:<id>:day:YYYY-MM-DD agent:<id>:hour:YYYY-MM-DDTHH:00Z agent:<id>:month:YYYY-MM user:<id>:day:YYYY-MM-DD user:<id>:hour:YYYY-MM-DDTHH:00Z user:<id>:month:YYYY-MM Unknown prefixes fall back to kind: 'custom' with raw: scopeKey. Returns undefined for empty strings.
parseStreamOffsetvalue(offset: string | undefined) =&gt; numberParses stream offset.
persistenceAdaptervalue() =&gt; PersistenceAdapterCreate an in-memory PersistenceAdapter backed by a fresh InMemorySessionStore. This is the default when no persistence is configured. The returned adapter's connect() always returns the same store instance.
PersistenceAdaptertypePersistenceAdapterA persistence adapter abstracts over storage backends (SQLite, Postgres, file, etc.). The SDK only requires connect() → SessionStore. Optional methods connectRunStore and connectRunRegistry are used by workflow backends (Temporal, Cloudflare). The optional migrate() hook is called once at startup to ensure schema exists, and close() releases resources.
PersistenceBundletypePersistenceBundleComplete persistence surface consumed by a Fabric host.
PersistenceDeleteResulttypePersistenceDeleteResultResult returned by persistence delete.
PersistenceHealthtypePersistenceHealthType contract for persistence health.
PersistentAgentConfigtypePersistentAgentConfigRuntime configuration returned by a createAgent initializer. Mirrors the agent-level slice of AgentInit; instructions becomes the session system prompt (a role), and subagents map to named roles.
PersistentAgentContexttypePersistentAgentContext&lt;TEnv&gt;Per-interaction context passed to a createAgent initializer. id is the URL &lt;id&gt; of the addressed instance (or the dispatch target id); env is the platform environment supplied by the runtime.
PersistentAgentDurabilityConfigtypePersistentAgentDurabilityConfigStatic retry and wall-clock budget applied to every durable submission.
persistentAgentSubmissionDurabilityvalue(created: CreatedAgent, acceptedAt: number) =&gt; import("./submission-store.js").AgentSubmissionDurability | undefinedResolve a static policy into the store's absolute durability stamp.
PersistentAgentTriggerstypePersistentAgentTriggersPublic triggers supported by persistent agents. Scheduling requires a concrete instance id and message, so cron belongs on a finite dispatcher job.
persistentConfigToAgentInitvalue(config: PersistentAgentConfig, id: string) =&gt; AgentInitTranslate a PersistentAgentConfig into an AgentInit.
PersistentInstanceIdentitytypePersistentInstanceIdentityType contract for persistent instance identity.
persistentInstanceStoreIdvalue(agentName: string, instanceId: string) =&gt; stringInstance-scoped metadata key shared by every named session of one persistent agent.
PersistentSessionIdentitytypePersistentSessionIdentityDecoded identity of a persistent instance session store key.
persistentStoreSessionIdvalue(agentName: string, instanceId: string, sessionName?: string) =&gt; stringStore-session key for a persistent instance's named session. Collapses the (agentName, instanceId, sessionName) identity onto Fabric's single-string sessionId, keeping persistent sessions inside the existing session stores.
PipelineVoiceProvidervaluetypeof PipelineVoiceProviderProvider implementation for pipeline voice.
PipelineVoiceProviderOptionstypePipelineVoiceProviderOptionsConfiguration options for pipeline voice provider.
policiedFetchvalue(fetchImpl: typeof fetch, policy?: CapabilityPolicy, options?: PoliciedFetchOptions) =&gt; typeof fetchWrap a Fetch implementation with URL, protocol, host, redirect, and optional DNS-answer checks from a capability policy. This wrapper governs only calls made through the returned function; it does not intercept global Fetch, Axios, raw sockets, subprocesses, or third-party clients. Pair it with a container, cluster, or provider egress boundary for untrusted production workloads.
PoliciedFetchOptionstypePoliciedFetchOptionsWrap a fetch-like function with CapabilityPolicy enforcement. Tools and connectors that make outbound HTTP should accept a custom fetch and pass the result of policiedFetch(fetch, policy). Throws a FabricError (POLICY_DENIED) when a request violates the policy; never sends a forbidden request.
PolicyDecisiontypePolicyDecisionType contract for policy decision.
projectConversationRecordsvalue(records: readonly ConversationStreamRecord[]) =&gt; ConversationSnapshotProject canonical session records into a stable, UI-oriented protocol.
PromptOptionstypePromptOptions&lt;TResult&gt;Configuration options for prompt.
PromptRunInputtypePromptRunInputType contract for prompt run input.
PromptRunResulttypePromptRunResultResult returned by prompt run.
ProviderHttpErrorvaluetypeof ProviderHttpErrorError raised for provider http failures.
ProvidersConfigtypeProvidersConfigType contract for providers config.
ProviderSettingstypeProviderSettingsType contract for provider settings.
pruneSnapshotsvalue(snapshotRoot: string, options?: SnapshotPruneOptions) =&gt; Promise&lt;SnapshotPruneResult&gt;Runtime API for prune snapshots; the generated signature shows its accepted inputs and return type.
RateLimitertypeRateLimiterType contract for rate limiter.
RateLimiterAcquireOptionstypeRateLimiterAcquireOptionsProcess-local rate limiter for outbound provider calls. Use to prevent a fleet of agents from stampeding a single API key when the host runs many sessions in parallel. The default token-bucket implementation is in-memory; @fabric-harness/node exports redisRateLimiter for shared limits across processes. fabric-harness ships this as a generic primitive — the same limiter can be reused for outbound HTTP calls inside connectors, webhook fan-out, or anywhere else throttling is useful.
readConversationFromFoldvalue(store: ConversationStreamStore, path: string, options?: &#123; offset?: string; limit?: number; &#125;) =&gt; Promise&lt;ConversationStreamReadResult&gt;Read a conversation from its newest validated fold checkpoint plus the log suffix. Non-origin offsets always use the raw store so resume semantics stay unchanged. Invalid checkpoints are disposable and fall back to full replay.
readConversationReplyvalue(snapshot: ConversationSnapshot, submissionId: string) =&gt; ConversationReplyRead the canonical assistant reply for a durable submission. Submission ids are used when available. The positional fallback supports conversations written by older Harness servers that predate submission correlation on individual entries.
ReaddirInputtypeReaddirInputType contract for readdir input.
readdirToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;ReaddirInput, string[]&gt;Model-callable tool or tool factory for readdir.
ReadFileBufferInputtypeReadFileBufferInputType contract for read file buffer input.
readFileBufferToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;ReadFileBufferInput, Uint8Array&gt;Model-callable tool or tool factory for read file buffer.
ReadFileInputtypeReadFileInputType contract for read file input.
readFileToolvalue(sandbox?: SandboxEnv, packagedSkills?: Record&lt;string, PackagedSkillDirectory&gt;) =&gt; ToolDef&lt;ReadFileInput, string&gt;Model-callable tool or tool factory for read file.
readJsonBodyvalue(request: Request, limitBytes?: number) =&gt; Promise&lt;RequestBody | undefined&gt;Reads the body once and returns the raw bytes, the decoded text, and the parsed JSON together — so a channel can HMAC-verify the exact bytes and use the JSON without re-reading the (already consumed) stream. Returns undefined only when the body exceeds limitBytes.
readRequestBodyvalue(request: Request, limitBytes?: number) =&gt; Promise&lt;Uint8Array | undefined&gt;Reads the full request body as bytes, or returns undefined if it exceeds limitBytes. NOTE: this consumes the request stream (single read). Signature-verifying channels need the exact bytes for HMAC and the parsed JSON afterward — don't call request.json() as well. Use readJsonBody to get both from one read.
ReconstructedPartialAssistantMessagetypeReconstructedPartialAssistantMessageType contract for reconstructed partial assistant message.
reconstructInterruptedStreamvalue(segments: Array&lt;&#123; segmentIndex: number; body: string; &#125;&gt;, streamKey: string) =&gt; &#123; partial: ReconstructedPartialAssistantMessage; interrupted: SignalEntryData; continued: SignalEntryData; &#125; | nullRuntime API for reconstruct interrupted stream; the generated signature shows its accepted inputs and return type.
redactErrorvalue(error: unknown, options?: RedactionOptions) =&gt; JsonObjectError raised for redact failures.
RedactionOptionstypeRedactionOptionsConfiguration options for redaction.
redactJsonvalue&lt;T&gt;(value: T, options?: RedactionOptions) =&gt; TRuntime API for redact json; the generated signature shows its accepted inputs and return type.
redactTextvalue(value: string, options?: RedactionOptions) =&gt; stringRuntime API for redact text; the generated signature shows its accepted inputs and return type.
registerCreatedAgentNamevalue(agent: CreatedAgent, name: string) =&gt; voidRegister a name for a CreatedAgent so dispatch(agent, ...) can resolve it.
registeredModelProvidersvalue() =&gt; string[]Names of externally registered providers, for diagnostics.
registerJobNamevalue&lt;TInput, TOutput&gt;(job: DefinedAgent&lt;TInput, TOutput&gt;, name: string) =&gt; voidRegisters job name.
registerModelPricesvalue(rows: ModelPriceRow[]) =&gt; voidAdd or override price rows. Later rows take precedence over earlier ones.
registerModelProvidervalue(name: string, factory: ModelProviderFactory) =&gt; voidRegister a model provider resolvable via FABRIC_MODEL=&lt;name&gt;/&lt;model-id&gt;. Built-in providers always take precedence; registering a name a built-in already owns has no effect on routing. Idempotent by name (last registration wins). Call at module import time.
registerSandboxvalue(env: SandboxEnv, options?: &#123; ownerSessionId?: string; &#125;) =&gt; SandboxRefRegister a sandbox in the in-process registry and return a portable ref. Subsequent calls for the same env return the same ref.
registerSandboxBackendFactoryvalue(backend: SandboxBackend, factory: SandboxFactory) =&gt; voidRegister an implementation for a non-core SandboxBackend name. Provider packages use this hook so the shared runtime can resolve backends such as databricks without depending on them.
registerSandboxRefDecodervalue(provider: string, decoder: SandboxRefDecoder) =&gt; voidRegister a decoder for provider so attachSandbox(serialized) can rehydrate a sandbox from another process. Typically called once at startup by the package that owns the provider integration (e.g. @fabric-harness/connectors/e2b registers the e2b provider).
RemoteSandboxApitypeRemoteSandboxApiType contract for remote sandbox api.
RemoteSandboxOptionstypeRemoteSandboxOptionsConfiguration options for remote sandbox.
renderDeliveredMessagevalue(message: DeliveredMessage) =&gt; stringRender a delivered message to the prompt text form. User messages pass their body through verbatim; signals render as their XML envelope via the shared renderSignalMessage machinery.
RequestBodytypeRequestBodyType contract for request body.
resetDispatchRuntimevalue() =&gt; voidClear the ambient dispatch runtime (tests/teardown).
resetJobInvocationRuntimevalue() =&gt; voidRuntime API for reset job invocation runtime; the generated signature shows its accepted inputs and return type.
resetModelPricesToBuiltinsvalue() =&gt; voidReset the registry to the built-in seed (test/utility).
ResolvedDynamicModelProvidertypeResolvedDynamicModelProviderProvider and normalized model selected for a dynamically rendered model reference.
ResolvedModelProvidertypeResolvedModelProviderProvider implementation for resolved model.
resolveModelProvidervalue(options?: ResolveModelProviderOptions) =&gt; ResolvedModelProviderResolves model provider.
ResolveModelProviderOptionstypeResolveModelProviderOptionsConfiguration options for resolve model provider.
resolveRuntimeModevalue(options: Pick&lt;AgentInit, "runtime" | "store" | "persistence"&gt;, env?: Record&lt;string, string | undefined&gt;) =&gt; RuntimeModeResolutionResolve the effective runtime mode for an init() call, applying production safety rules: - In production (FABRIC_ENV=production or NODE_ENV=production), choosing stateless is allowed but logged as an explicit choice. - inline (the default) without an explicit SessionStore falls back to in-memory storage. In production this emits a warning unless FABRIC_ALLOW_EPHEMERAL_STATE=1 is set or runtime is explicitly 'stateless'. - Unknown runtime values fall through to 'inline' with a warning.
RESULT_END_DELIMITERvalue"---RESULT_END---"Constant defining result end delimiter.
RESULT_START_DELIMITERvalue"---RESULT_START---"Constant defining result start delimiter.
ResultExtractionOptionstypeResultExtractionOptionsConfiguration options for result extraction.
ResultOutcometypeResultOutcome&lt;TResult&gt;Type contract for result outcome.
ResultToolBundletypeResultToolBundle&lt;TResult&gt;Type contract for result tool bundle.
ResultUnavailableErrorvaluetypeof ResultUnavailableErrorThrown when the LLM calls the give_up tool, indicating it cannot produce a result that conforms to the required schema.
ResultValidatortypeResultValidator&lt;TResult&gt;Type contract for result validator.
RetrievedChunktypeRetrievedChunkGeneric, provider-agnostic retrieval seam. RAG is query-time, so it does NOT fit FilesystemSource (an eager full-dump mount) — a retriever resolves the top matches for a query on demand. Databricks AI Search is the flagship implementation, but this is reusable for any vector store.
RetrieveOptionstypeRetrieveOptionsConfiguration options for retrieve.
RetrievertypeRetrieverType contract for retriever.
RmInputtypeRmInputType contract for rm input.
rmToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;RmInput, void&gt;Model-callable tool or tool factory for rm.
RoletypeRoleType contract for role.
runActionvalue&lt;TInput, TOutput&gt;(action: ActionDefinition&lt;TInput, TOutput&gt;, host: ActionHost, input?: unknown) =&gt; Promise&lt;TOutput&gt;Validate input, run the action against host, validate + JSON-clone the output. The returned value is always safely serializable (a fresh JSON clone), so callers can persist or transmit it without sharing references.
RunEventtypeRunEventA workflow event with append-only identity enforced by (runId, eventIndex).
RunRegistrytypeRunRegistryMinimal interface for a workflow run registry. Used by durable runtime backends to index and track run statuses.
RunStoretypeRunStoreMinimal interface for a workflow/event run store. Used by durable runtime backends (Temporal, Cloudflare, etc.) to persist run metadata and events.
RuntimeModeResolutiontypeRuntimeModeResolutionType contract for runtime mode resolution.
runWithJobInvocationvalue&lt;T&gt;(context: JobInvocationContext, fn: () =&gt; Promise&lt;T&gt; | T) =&gt; Promise&lt;T&gt; | TRuns with job invocation.
runWithSubmissionContextvalue&lt;T&gt;(context: SubmissionContext, fn: () =&gt; Promise&lt;T&gt; | T) =&gt; Promise&lt;T&gt; | TRun fn with context as the ambient submission correlation.
sameApprovalOperationvalue(grant: ApprovalGrant, input: &#123; toolCallId: string; toolInput: unknown; principal: FabricPrincipal; &#125;) =&gt; booleanRuntime API for same approval operation; the generated signature shows its accepted inputs and return type.
SandboxAdapterDescriptortypeSandboxAdapterDescriptorAdapter expectations: - Every backend must expose the SandboxEnv contract above and map paths into a scoped workspace. - Secrets and provider credentials must stay in adapter-owned environment/config, not model context. - exec should enforce backend-specific command, network, and timeout policy before process launch. - snapshot/restore is optional because not all targets support filesystem or VM snapshots. - Future adapters should be added without changing session/runtime code. Planned backends: local, Docker, Azure Container Apps, Azure Container Instances, AKS, Databricks, E2B, Daytona, C...
SandboxBackendtypeSandboxBackendType contract for sandbox backend.
SandboxCapabilitiestypeSandboxCapabilitiesType contract for sandbox capabilities.
SandboxContinuityCapabilitiestypeSandboxContinuityCapabilitiesType contract for sandbox continuity capabilities.
SandboxContinuityModetypeSandboxContinuityModeType contract for sandbox continuity mode.
SandboxEnvtypeSandboxEnvType contract for sandbox env.
SandboxExecOptionstypeSandboxExecOptionsConfiguration options for sandbox exec.
SandboxFactorytypeSandboxFactoryFactory for sandbox.
SandboxFactoryOptionstypeSandboxFactoryOptionsConfiguration options for sandbox factory.
SandboxForktypeSandboxForkType contract for sandbox fork.
SandboxOrphanSettlementtypeSandboxOrphanSettlementType contract for sandbox orphan settlement.
SandboxOwnershipLeaseStoretypeSandboxOwnershipLeaseStoreStorage contract for sandbox ownership lease.
SandboxOwnershipOptionstypeSandboxOwnershipOptionsConfiguration options for sandbox ownership.
SandboxReftypeSandboxRefType contract for sandbox ref.
SandboxRefDecodertypeSandboxRefDecoderDecoder for a SerializedSandboxRef.provider. Returns a SandboxFactory that, when invoked, produces a SandboxEnv connected to the existing remote sandbox identified by providerData. Decoders SHOULD attach without owning the remote sandbox's lifecycle — the returned env's cleanup() should detach, not destroy.
SandboxSnapshottypeSandboxSnapshotType contract for sandbox snapshot.
sanitizeObservabilityDatavalue(data: JsonObject, additionalSecrets?: string[]) =&gt; JsonObjectRuntime API for sanitize observability data; the generated signature shows its accepted inputs and return type.
sanitizePublicJsonvalue&lt;T&gt;(value: T) =&gt; TRuntime API for sanitize public json; the generated signature shows its accepted inputs and return type.
sanitizePublicTextvalue(value: string) =&gt; stringRemove credentials and host filesystem locations from caller-visible text.
schemavalue&#123; string(): Schema&lt;string&gt;; number(): Schema&lt;number&gt;; boolean(): Schema&lt;boolean&gt;; unknown(): Schema&lt;unknown&gt;; enum&lt;const T extends readonly [string, ...string[]]&gt;(values: T): Schema&lt;T[number]&gt;; array&lt;T&gt;(item: Schema&lt;T&gt;): Sch...Runtime API for schema; the generated signature shows its accepted inputs and return type.
SchematypeSchema&lt;T&gt;Type contract for schema.
SchemaIssuetypeSchemaIssueType contract for schema issue.
SchemaValidationErrorvaluetypeof SchemaValidationErrorError raised for schema validation failures.
SearchToolInputtypeSearchToolInputType contract for search tool input.
SearchToolOptionstypeSearchToolOptionsConfiguration options for search tool.
SearchToolResulttypeSearchToolResultResult returned by search tool.
secretvalue(name: string) =&gt; SecretRefRuntime API for secret; the generated signature shows its accepted inputs and return type.
SecretProvidertypeSecretProviderProvider implementation for secret.
SecretReftypeSecretRefType contract for secret ref.
SecretResolutionContexttypeSecretResolutionContextType contract for secret resolution context.
secretResolvervalue(provider: SecretProvider, context?: SecretResolutionContext) =&gt; (ref: SecretRef) =&gt; Promise&lt;string | undefined&gt;Adapt a provider to the existing init(&#123; resolveSecret &#125;) callback.
SerializedFabricErrortypeSerializedFabricErrorError raised for serialized fabric failures.
SerializedSandboxReftypeSerializedSandboxRefCross-process / cross-machine sandbox reference. Created by session.sandboxRef(&#123; portable: true &#125;) and re-attached via attachSandbox(serialized) in a separate process. Each provider string maps to a decoder registered via registerSandboxRefDecoder().
serializeFabricErrorvalue(error: unknown, audience?: "public" | "developer", fallback?: Omit&lt;FabricErrorOptions, "cause"&gt;) =&gt; SerializedFabricErrorConvert any thrown value into the stable public/developer transport shape.
serializeSandboxRefvalue(ref: SandboxRef, ownerSessionId?: string, tenantId?: string) =&gt; SerializedSandboxRefSerialize an in-process SandboxRef into the cross-process form. Requires the underlying sandbox to implement encodeRef(). Throws SANDBOX_UNAVAILABLE if the backend is in-process-only.
SessionDatatypeSessionDataType contract for session data.
SessionEntrytypeSessionEntry&lt;TData&gt;Type contract for session entry.
SessionEntryTypetypeSessionEntryTypeType contract for session entry type.
SessionHistoryvaluetypeof SessionHistoryRuntime API for session history; the generated signature shows its accepted inputs and return type.
SessionMemorytypeSessionMemoryType contract for session memory.
SessionMemoryEntrytypeSessionMemoryEntry&lt;TValue&gt;Persistent key/value store for facts an agent should remember across sessions — borrower preferences, prior outcomes, learned task history. Distinct from SessionEntry (which is the audit log): memory is for recall, entries are for audit. Memory writes do NOT land in the session log, so they don't pollute prompt context unless the agent explicitly reads them. Tenancy: every operation accepts an optional tenantId. Two tenants with the same key get isolated values. tenantId defaults to the empty string for non-tenant deployments.
SessionMemoryFiltertypeSessionMemoryFilterType contract for session memory filter.
SessionMemoryGetOptionstypeSessionMemoryGetOptionsConfiguration options for session memory get.
SessionMemorySetInputtypeSessionMemorySetInput&lt;TValue&gt;Type contract for session memory set input.
SessionOptionstypeSessionOptionsConfiguration options for session.
SessionStoretypeSessionStoreStorage contract for session.
SessionSubmissionExecutorOptionstypeSessionSubmissionExecutorOptionsConfiguration options for session submission executor.
setLoggervalue(logger: Logger) =&gt; voidReplace the global SDK logger. Call once at startup before any init(). Pass a custom Logger to redirect to your structured logging system.
ShellOptionstypeShellOptionsConfiguration options for shell.
shellQuotevalue(value: string) =&gt; stringRuntime API for shell quote; the generated signature shows its accepted inputs and return type.
ShellResulttypeShellResultResult returned by shell.
SkilltypeSkillType contract for skill.
SkillOptionstypeSkillOptions&lt;TResult&gt;Configuration options for skill.
slackApprovalNotifiervalue(options: &#123; webhookUrl: string; fetch?: typeof fetch; &#125;) =&gt; ApprovalNotifierSlack incoming-webhook notifier. The webhook URL remains in host configuration, never event data.
SnapshotPruneOptionstypeSnapshotPruneOptionsConfiguration options for snapshot prune.
SnapshotPruneResulttypeSnapshotPruneResultResult returned by snapshot prune.
StateSettertypeStateSetter&lt;T&gt;Type contract for state setter.
StatInputtypeStatInputType contract for stat input.
statToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;StatInput, FileStat&gt;Model-callable tool or tool factory for stat.
StdioMcpClientvaluetypeof StdioMcpClientClient implementation for stdio mcp.
StdioMcpClientOptionstypeStdioMcpClientOptionsConfiguration options for stdio mcp client.
StoredAttachmenttypeStoredAttachmentType contract for stored attachment.
StreamChunkStoretypeStreamChunkStoreStorage contract for stream chunk.
StreamChunkWritervaluetypeof StreamChunkWriterWriter implementation for stream chunk.
StreamListenerRegistryvaluetypeof StreamListenerRegistryProcess-local listener registry shared by store implementations — registration, unsubscribe-and-prune, and error-swallowing notify.
SttEventtypeSttEventType contract for stt event.
SttProvidertypeSttProviderProvider implementation for stt.
SttSessiontypeSttSessionType contract for stt session.
SttSessionOptionstypeSttSessionOptionsConfiguration options for stt session.
SttSessionUsagetypeSttSessionUsageType contract for stt session usage.
SubagentDefinitiontypeSubagentDefinitionType contract for subagent definition.
SubmissionAbortedErrorvaluetypeof SubmissionAbortedErrorError raised for submission aborted failures.
SubmissionAdmissionBackendtypeSubmissionAdmissionBackend&lt;Row&gt;Storage callbacks for admitSubmissionWithBackend. Every callback runs inside the transaction the caller has already opened (or the backend's equivalent atomicity scope). Callbacks may return plain values (synchronous backends) or native Promises — non-native thenables are not supported.
SubmissionAdmissionRowtypeSubmissionAdmissionRowThe minimal shape admitSubmissionWithBackend needs from a persisted submission row: the transport kind and persisted payload it compares against the incoming admission. payload may be the serialized JSON string or an already-deserialized object (e.g. a Postgres JSONB column).
SubmissionAttemptReftypeSubmissionAttemptRefType contract for submission attempt ref.
SubmissionClaimReftypeSubmissionClaimRefType contract for submission claim ref.
SubmissionContexttypeSubmissionContextType contract for submission context.
SubmissionDurabilitytypeSubmissionDurabilityType contract for submission durability.
SubmissionExecuteOptionstypeSubmissionExecuteOptionsConfiguration options for submission execute.
SubmissionExecutortypeSubmissionExecutorHow the runner touches sessions. execute applies the submission's input to the addressed instance session and resolves with the turn result; everything else is store-level and must not require a live agent. Contract requirements: - execute must be idempotent by submission id (a resumed attempt whose input entry already exists must not append it again). - recordTerminal settles the conversation to a deterministic rest state (unresolved trailing tool calls get explicit interrupted-outcome markers — NEVER re-executed) and appends a terminal advisory. - appendSettlement appends the cano...
SubmissionInsertRowtypeSubmissionInsertRowThe queued row that admitSubmissionWithBackend writes on first admission.
SubmissionInspectiontypeSubmissionInspectionCoarse persisted-progress classification consumed by reconciliation.
SubmissionInterruptedErrorvaluetypeof SubmissionInterruptedErrorError raised for submission interrupted failures.
SubmissionInterruptiontypeSubmissionInterruptionType contract for submission interruption.
SubmissionPayloadContexttypeSubmissionPayloadContextContext needed for submission payload validation. Implementations extract these fields from their storage-specific row/document type before calling isSubmissionPayload.
SubmissionRetryExhaustedErrorvaluetypeof SubmissionRetryExhaustedErrorError raised for submission retry exhausted failures.
SubmissionRunnertypeSubmissionRunnerType contract for submission runner.
SubmissionRunnerOptionstypeSubmissionRunnerOptionsConfiguration options for submission runner.
submissionSessionKeyvalue(input: Pick&lt;AgentSubmissionInput, "agent" | "id" | "session"&gt;) =&gt; stringStore-session FIFO key of a submission (re-exported convenience).
SubmissionSettledRecordtypeSubmissionSettledRecordMinimal canonical settlement record for a direct submission. The conversation-stream phase reuses this shape as the durable terminal record a reconnecting waiter observes.
SubmissionSettlementtypeSubmissionSettlementType contract for submission settlement.
submissionSettlementEntryIdvalue(submissionId: string) =&gt; stringDeterministic canonical settlement entry id for a submission.
SubmissionSettlementObligationtypeSubmissionSettlementObligationType contract for submission settlement obligation.
submissionStoreSessionIdvalue(input: Pick&lt;AgentSubmissionInput, "agent" | "id" | "session"&gt;) =&gt; stringThe harness identity string (agent:&lt;name&gt;:&lt;id&gt;:&lt;session&gt;) targeted by a submission input. This is the persistentStoreSessionId of the addressed instance session and the per-session FIFO key of the store.
SubmissionTelemetryEventtypeSubmissionTelemetryEventType contract for submission telemetry event.
SubmissionTelemetrySinktypeSubmissionTelemetrySinkType contract for submission telemetry sink.
SubmissionTimeoutErrorvaluetypeof SubmissionTimeoutErrorError raised for submission timeout failures.
TaskOptionstypeTaskOptions&lt;TResult&gt;Configuration options for task.
TelemetryExportertypeTelemetryExporterType contract for telemetry exporter.
TelemetrySpantypeTelemetrySpanType contract for telemetry span.
tenantCostLimitvalue(tenantId: string, options: TenantCostLimit) =&gt; CostLimitSugar over CostLimit.perScope + scopeKey + store for the common "per-tenant ceiling per period" pattern. Pick one of perDayUsd, perHourUsd, or perMonthUsd; when multiple are set, the most restrictive (smallest absolute) wins. Scope key convention: tenant:&lt;id&gt;:&lt;period&gt; where &lt;period&gt; is day:YYYY-MM-DD, hour:YYYY-MM-DDTHH:00Z, or month:YYYY-MM. Reset semantics (rollover) are the host's job — call store.reset(scopeKey) from a scheduled task to clear the period total. See the package declarations for an example.
TenantCostLimittypeTenantCostLimitType contract for tenant cost limit.
ThinkingLeveltypeThinkingLevelReasoning-effort input level, ordered from least to most thinking. Maps to each provider's native control (Workers AI / OpenAI reasoning_effort, Anthropic thinking.budget_tokens, Gemini thinkingConfig). 'off' (the default when unset) requests no reasoning. Providers that don't support reasoning ignore the level — see ModelMetadata.supportsReasoning.
toFabricErrorvalue(error: unknown, fallback: Omit&lt;FabricErrorOptions, "cause"&gt;) =&gt; FabricErrorError raised for to fabric failures.
tokenBucketRateLimitervalue(options: TokenBucketRateLimiterOptions) =&gt; RateLimiterIn-memory token-bucket rate limiter. Each key has its own bucket — keys are independent (waiting on one key doesn't block another). Buckets refill continuously at tokensPerSecond.
TokenBucketRateLimiterOptionstypeTokenBucketRateLimiterOptionsConfiguration options for token bucket rate limiter.
ToolCalltypeToolCall&lt;TInput&gt;Type contract for tool call.
ToolCallResulttypeToolCallResult&lt;TOutput&gt;Result returned by tool call.
ToolContexttypeToolContextType contract for tool context.
ToolDeftypeToolDef&lt;TInput, TOutput&gt;Type contract for tool def.
ToolEffecttypeToolEffectType contract for tool effect.
ToolHarnesstypeToolHarnessType contract for tool harness.
ToolPolicytypeToolPolicyType contract for tool policy.
ToolProgressLoggertypeToolProgressLoggerType contract for tool progress logger.
ToolSteptypeToolStepType contract for tool step.
toolsToModelSchemasvalue(tools: Iterable&lt;ToolDef&gt;) =&gt; ModelToolSchema[]Runtime API for tools to model schemas; the generated signature shows its accepted inputs and return type.
toOpenAIMessagevalue(message: ModelMessage) =&gt; Record&lt;string, unknown&gt;Runtime API for to open aimessage; the generated signature shows its accepted inputs and return type.
toOpenAIToolvalue(tool: ModelToolSchema) =&gt; Record&lt;string, unknown&gt;Model-callable tool or tool factory for to open ai.
TtsProvidertypeTtsProviderProvider implementation for tts.
TtsSynthesisOptionstypeTtsSynthesisOptionsConfiguration options for tts synthesis.
TtsSynthesisUsagetypeTtsSynthesisUsageType contract for tts synthesis usage.
TurnJournalStatetypeTurnJournalStateType contract for turn journal state.
UnifiedInMemoryStorevaluetypeof UnifiedInMemoryStoreA unified in-memory store that implements SessionStore, StreamChunkStore, and RunStore. Useful for testing and dev environments where a single object needs to be passed as store, streamChunkStore, and runStore. Backed by separate Maps for each concern so that stream chunks and run data do not pollute session state.
UnimplementedSandboxEnvvaluetypeof UnimplementedSandboxEnvRuntime API for unimplemented sandbox env; the generated signature shows its accepted inputs and return type.
unregisterSandboxvalue(refId: string) =&gt; voidMark a registered sandbox as dead so future attach attempts fail. Called from the owner session's cleanup path.
unregisterSandboxBackendFactoryvalue(backend: SandboxBackend) =&gt; voidRemove a provider-owned backend factory, primarily for tests and controlled shutdown.
unregisterSandboxRefDecodervalue(provider: string) =&gt; voidTest/internal: remove a decoder.
useAgentFinishvalue(run: (context: DynamicAgentFinishContext) =&gt; void | Promise&lt;void&gt;) =&gt; voidRuntime API for use agent finish; the generated signature shows its accepted inputs and return type.
useAgentStartvalue(run: (context: DynamicAgentStartContext) =&gt; void | Promise&lt;void&gt;) =&gt; voidRuntime API for use agent start; the generated signature shows its accepted inputs and return type.
useDataWritervalue&lt;T&gt;(name: string, options?: &#123; schema?: Schema&lt;T&gt;; &#125;) =&gt; (data: T) =&gt; voidWriter implementation for use data.
useDeliveryvalue() =&gt; DeliveredMessageRuntime API for use delivery; the generated signature shows its accepted inputs and return type.
useDispatchMessagevalue() =&gt; (message: DeliveredMessage | string) =&gt; Promise&lt;import("./dispatch.js").DispatchReceipt&gt;Runtime API for use dispatch message; the generated signature shows its accepted inputs and return type.
useInitialDatavalue&lt;T = unknown&gt;() =&gt; TRuntime API for use initial data; the generated signature shows its accepted inputs and return type.
useInstructionvalue(text: string) =&gt; voidRuntime API for use instruction; the generated signature shows its accepted inputs and return type.
useMcpConnectionvalue(definition: McpConnectionDefinition) =&gt; voidRuntime API for use mcp connection; the generated signature shows its accepted inputs and return type.
useModelvalue(model: NonNullable&lt;AgentInit["model"]&gt;, options?: UseModelOptions) =&gt; voidRuntime API for use model; the generated signature shows its accepted inputs and return type.
UseModelOptionstypeUseModelOptionsConfiguration options for use model.
usePersistentStatevalue&lt;T&gt;(name: string, defaultValue: T, options?: &#123; schema?: Schema&lt;T&gt;; &#125;) =&gt; [T, StateSetter&lt;T&gt;]Runtime API for use persistent state; the generated signature shows its accepted inputs and return type.
useResponseFinishvalue(run: DynamicMetadataCallback) =&gt; voidRuntime API for use response finish; the generated signature shows its accepted inputs and return type.
useResponseStartvalue(run: DynamicMetadataCallback) =&gt; voidRuntime API for use response start; the generated signature shows its accepted inputs and return type.
useSandboxvalue(sandbox: SandboxBackend | SandboxFactory | SandboxEnv, options?: UseSandboxOptions) =&gt; voidSandbox adapter for use.
UseSandboxOptionstypeUseSandboxOptionsConfiguration options for use sandbox.
useSkillvalue(skill: Skill) =&gt; voidRuntime API for use skill; the generated signature shows its accepted inputs and return type.
useSubagentvalue(definition: SubagentDefinition) =&gt; voidRuntime API for use subagent; the generated signature shows its accepted inputs and return type.
useToolvalue&lt;TInput = unknown, TOutput = unknown, THarness extends boolean = false, TDurable extends boolean = false&gt;(tool: ToolDef&lt;TInput, TOutput&gt; | HookToolDefinition&lt;TInput, TOutput, THarness, TDurable&gt;) =&gt; voidModel-callable tool or tool factory for use.
validatePersistentAgentDurabilityvalue(durability: PersistentAgentDurabilityConfig) =&gt; PersistentAgentDurabilityConfigValidate and normalize a persistent agent's static submission policy.
validatePersistentInitialDatavalue(created: CreatedAgent, initialData: unknown) =&gt; JsonValueValidate and normalize creation data before an instance generation is admitted.
validatePersistentInstanceContactvalue(uid: string | null | undefined, initialData: unknown) =&gt; voidReject contradictory existing-incarnation and instance-creation inputs.
validateResultvalue&lt;TResult&gt;(value: unknown, validator?: ResultValidator&lt;TResult&gt;, extraction?: boolean | ResultExtractionOptions) =&gt; Promise&lt;TResult&gt;Result returned by validate.
VERCEL_AI_GATEWAY_BASE_URLvalue"https://ai-gateway.vercel.sh/v1"Default base URL for Vercel AI Gateway's OpenAI-compatible Chat Completions endpoint. The gateway accepts the standard OpenAI request body and routes through to the configured provider; switching from OpenAI to the gateway is just a base-URL change. See https://vercel.com/docs/ai-gateway/sdks-and-apis/openai-compat
vercelAIGatewayvalue(options: VercelAIGatewayProviderOptions) =&gt; OpenAICompatibleModelProviderVercel AI Gateway model provider. The gateway is an OpenAI-compatible HTTP endpoint that brokers between your agent and any of the major model providers (OpenAI, Anthropic, Google, xAI, Groq, etc.) with a single key, observability, caching, and spend controls. Use this provider on any deploy target — Node, Cloudflare Workers, Vercel — to route inference through the gateway. See the package declarations for an example. Returns an OpenAICompatibleModelProvider configured for the gateway — use it anywhere a ModelProvider is accepted. Compatible with fabric-harness's tool-calling, retries,...
VercelAIGatewayProviderOptionstypeVercelAIGatewayProviderOptionsConfiguration options for vercel aigateway provider.
verifyAttachmentBytesvalue(ref: AttachmentRef, bytes: Uint8Array) =&gt; Promise&lt;void&gt;Verify that bytes match the ref's digest (and declared size), throwing AttachmentStoreError('DIGEST_MISMATCH') otherwise. Every store's put MUST run this check before persisting.
verifyHmacSha256value(secret: string | Uint8Array, message: Uint8Array, signature: Uint8Array) =&gt; Promise&lt;boolean&gt;Constant-time HMAC-SHA256 verification (via crypto.subtle.verify).
VertexAIModelProvidervaluetypeof VertexAIModelProviderProvider implementation for vertex aimodel.
VertexAIProviderOptionstypeVertexAIProviderOptionsConfiguration options for vertex aiprovider.
VirtualSandboxEnvvaluetypeof VirtualSandboxEnvVirtual sandbox backend powered by just-bash. Provides an in-memory filesystem and a bash subset (grep, glob, cat, read, mkdir, rm, ls, echo, etc.) without shelling out to the host. The backend is fast, cheap, safe, and high-concurrency. Selected automatically by the bare @fabric-harness/sdk import when the caller doesn't pass sandbox. Override with 'local', 'docker', a SandboxFactory, or a SandboxEnv when you need real shell access.
VoiceAudioFormattypeVoiceAudioFormatBidirectional voice / audio streaming surface. fabric-harness ships an OpenAI Realtime implementation; bring-your-own-vendor for Anthropic / Gemini Live / on-prem TTS+ASR pipelines. Audio frames flow in raw bytes — the standard format is PCM 16-bit little-endian at 24kHz mono (OpenAI Realtime default). Telephony bridges (Twilio Media Streams μ-law 8kHz, etc.) resample at the edge. Tool execution is the caller's responsibility: a tool_call event surfaces, the host code runs the tool through whatever governance gates apply (approvals, cost caps, rate limits), then calls `submitToolResult(...
VoiceConnectOptionstypeVoiceConnectOptionsConfiguration options for voice connect.
VoiceEventtypeVoiceEventEvents streamed from a VoiceSession. audio_delta carries raw audio bytes; text_delta and transcript carry text; tool_call and response_done mark structured boundaries; error is fatal.
VoiceProvidertypeVoiceProviderProvider implementation for voice.
VoiceSessiontypeVoiceSessionType contract for voice session.
VoiceToolResultInputtypeVoiceToolResultInputType contract for voice tool result input.
VoiceWsClientEventtypeVoiceWsClientEventType contract for voice ws client event.
VoiceWsClientHandletypeVoiceWsClientHandleType contract for voice ws client handle.
VoiceWsClientOptionstypeVoiceWsClientOptionsLightweight WebSocket client for the Node server's WS /sessions/:id/voice endpoint. Server-side bridge owns the provider connection and API keys; this client just streams audio + control messages over WS. Works in browsers and on Node 22+ (uses the global WebSocket).
webhookApprovalNotifiervalue(options: &#123; url: string; headers?: Record&lt;string, string&gt;; fetch?: typeof fetch; &#125;) =&gt; ApprovalNotifierRuntime API for webhook approval notifier; the generated signature shows its accepted inputs and return type.
WebhookSubscriptionContexttypeWebhookSubscriptionContext&lt;TPayload&gt;Generic webhook subscription primitive — wakes an agent on inbound events from any external system (event bus, queue, scheduler, third-party SaaS webhook, your own application's domain events). fabric-harness consumes a JSON payload and dispatches to the user-provided handler. The host event system decides which payloads land here; fabric-harness has no opinion on event taxonomy or producer.
WebhookSubscriptionDefinitiontypeWebhookSubscriptionDefinition&lt;TPayload&gt;Type contract for webhook subscription definition.
withConversationProjectionvalue(store: SessionStore, streams: ConversationStreamStore, options?: &#123; producerId?: string; onError?: (error: unknown) =&gt; void; &#125;) =&gt; SessionStoreWrap a SessionStore so active-path appends are mirrored into an append-only ConversationStreamStore projection (v2 A4). The SessionEntry DAG stays the single source of truth; the stream gives clients offset-based catch-up + live tail. Two rules keep them coherent: 1. Idempotent by entryId — a crash between the DAG write and the stream write is repaired on the next append: the projector diffs the stream tail against the active path and re-emits anything missing. 2. Truncation is explicit — the DAG can branch (fork/replay/ checkpoint-restore rewrite leafId); the stream cannot. W...
withFilesystemSourcesvalue(base: SandboxBackend | SandboxFactory | SandboxEnv, sources: MountedSource[]) =&gt; SandboxFactoryRuntime API for with filesystem sources; the generated signature shows its accepted inputs and return type.
WriteFileInputtypeWriteFileInputType contract for write file input.
writeFileToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;WriteFileInput, void&gt;Model-callable tool or tool factory for write file.
WsClientCommandtypeWsClientCommandType contract for ws client command.
WsClientHandletypeWsClientHandleType contract for ws client handle.
WsClientOptionstypeWsClientOptionsLightweight WebSocket client for the Node server's WS /sessions/:id/ws endpoint. Works in browsers and on Node 22+ (uses the global WebSocket). Does NOT depend on the ws package — that's the server side's optional peer dep.

@fabric-harness/sdk/strict

ExportKindTypeScript signaturePurpose
actionAsToolvalue&lt;TInput, TOutput&gt;(action: ActionDefinition&lt;TInput, TOutput&gt;, host: ActionHost) =&gt; ToolDef&lt;unknown, TOutput&gt;Expose an action to the model as a tool on an agent profile. The tool's JSON schema comes from the action's input schema; execution validates input/output exactly like runAction.
ActionContexttypeActionContext&lt;TInput&gt;Context passed to an action's run. Unlike a tool's execute (a leaf capability invoked by the model), an action receives the harness itself and can orchestrate: prompt models, spawn sessions, call other actions.
ActionDefinitiontypeActionDefinition&lt;TInput, TOutput&gt;A named, schema-validated unit of harness work created with defineAction. First-class in v2: registrable on agent profiles as a tool, callable from jobs and agents, evaluable via fh test, and deployable as a platform job task.
ActionErrorvaluetypeof ActionErrorError raised for action failures.
ActionHosttypeActionHostWhat an action runs against: the harness entry point (init can prompt models, spawn sessions, and call tools) plus the platform environment. Jobs, agents, and servers all satisfy this — it is the harness slice of FabricContext.
ActionOptionstypeActionOptions&lt;TInput, TOutput&gt;Configuration options for action.
ActorIdentitytypeActorIdentityType contract for actor identity.
admitSubmissionWithBackendvalue&lt;Row extends SubmissionAdmissionRow&gt;(input: AgentSubmissionInput, backend: SubmissionAdmissionBackend&lt;Row&gt;) =&gt; AgentDispatchAdmission | Promise&lt;AgentDispatchAdmission&gt;Shared submission admission algorithm for row-oriented backends: dispatch-receipt check → insert-or-ignore → read-back → payload compare (idempotent replay vs. conflict). The message payload is stored as JSON verbatim; payload identity is deep JSON equality, so a backend that normalizes stored JSON (e.g. Postgres JSONB key ordering) still recognizes an exact replay. The caller owns transaction scoping — invoke this inside one transaction and pass callbacks bound to it. When every callback is synchronous the result is returned synchronously, so the algorithm also fits synchronous backends.
AgentAttemptMarkertypeAgentAttemptMarkerHarness-owned durable evidence that a submission attempt was started and has not yet settled. A coordinator inserts a marker immediately before starting an attempt and deletes it when the attempt settles; reconciliation treats a fresh marker as proof that the attempt may still be running and must not be reconciled as interrupted.
AgentDefinitiontypeAgentDefinition&lt;TInput, TOutput&gt;Type contract for agent definition.
AgentDispatchAdmissiontypeAgentDispatchAdmissionType contract for agent dispatch admission.
AgentDispatchReceipttypeAgentDispatchReceiptType contract for agent dispatch receipt.
AgentDispatchRequesttypeAgentDispatchRequestAsync delivery request to a persistent agent instance + session.
AgentEventtypeAgentEventType contract for agent event.
AgentEventBasetypeAgentEventBaseCommon envelope shared by every event variant.
AgentEventCallbacktypeAgentEventCallbackCallback signature accepted by init(&#123; onEvent &#125;), agent.session(id, &#123; onEvent &#125;), and session.prompt(text, &#123; onEvent &#125;).
AgentEventTypetype"agent_start" | "session_start" | "prompt_start" | "prompt_end" | "turn_start" | "turn_end" | "model_attempt" | "text_delta" | "toolcall_delta" | "submission_queued" | "submission_running" | "submission_recovery" | "submission_settled" | "cost_limit" | "webhook_r...Type contract for agent event type.
AgentInittypeAgentInitType contract for agent init.
AgentLoopRuntimetypeAgentLoopRuntimeType contract for agent loop runtime.
AgentMiddlewaretype(context: AgentRunContext&lt;TInput&gt;, next: () =&gt; Promise&lt;TOutput&gt;) =&gt; Promise&lt;TOutput&gt; | TOutputMiddleware for agent.
AgentRunContexttypeAgentRunContext&lt;TInput&gt;Runtime-ready context for finite agents. The default session is initialized lazily.
AgentSubmissiontypeAgentSubmissionType contract for agent submission.
AgentSubmissionDurabilitytypeAgentSubmissionDurabilityType contract for agent submission durability.
AgentSubmissionInputtypeAgentSubmissionInputOne admitted agent submission — the persisted operational payload for both transports. kind records how the submission arrived ('dispatch' via dispatch(), 'direct' via the agent HTTP route); a dispatch's submissionId is the public dispatchId from its receipt.
AgentSubmissionStatustypeAgentSubmissionStatusType contract for agent submission status.
AgentSubmissionStoretypeAgentSubmissionStoreDurable submission lifecycle storage. Stability: the lease method group mirrors the durable-execution engine and is subject to change until 1.0. This applies to every backend equally.
AgentTriggerstypeAgentTriggersType contract for agent triggers.
aiGatewayvalue(options: AIGatewayOptions) =&gt; OpenAICompatibleModelProviderGeneric OpenAI-compatible AI gateway helper. Use for any gateway that speaks the OpenAI Chat Completions request/response shape: Helicone, Portkey, LiteLLM (self-hosted), Cloudflare AI Gateway, internal corp proxies, etc. See the package declarations for an example. For Vercel AI Gateway, prefer the vercelAIGateway preset — same factory under the hood with the gateway URL pre-baked.
AIGatewayOptionstypeAIGatewayOptionsConfiguration options for aigateway.
AnthropicModelProvidervaluetypeof AnthropicModelProviderProvider implementation for anthropic model.
AnthropicProviderOptionstypeAnthropicProviderOptionsConfiguration options for anthropic provider.
applyEstimatedCostvalue&lt;T extends &#123; costUsd?: number; &#125; | undefined&gt;(modelRef: string | undefined, usage: T) =&gt; TIdempotently populate usage.costUsd from the static price table. Mutates usage and returns it. No-op when: - usage is undefined, - usage.costUsd is already set (provider supplied it directly), - no price row matches modelRef.
ApprovalCallbacktypeApprovalCallbackType contract for approval callback.
ApprovalDecisiontypeApprovalDecisionType contract for approval decision.
ApprovalGranttypeApprovalGrantDurable provenance for one approved logical tool operation. A grant may be replayed for the same logical operation after a crash, but must never authorize a different tool call, input, or executing principal.
approvalGrantFromJsonvalue(value: unknown) =&gt; ApprovalGrant | undefinedParse persisted provenance without trusting a partial or malformed object.
approvalGrantToJsonvalue(grant: ApprovalGrant) =&gt; JsonObjectRuntime API for approval grant to json; the generated signature shows its accepted inputs and return type.
approvalInputDigestvalue(input: unknown) =&gt; stringDeterministic digest shared by inline and durable approval runtimes.
ApprovalNotificationtypeApprovalNotificationType contract for approval notification.
ApprovalNotificationDeadLettertypeApprovalNotificationDeadLetterType contract for approval notification dead letter.
ApprovalNotificationDeliveryStoretypeApprovalNotificationDeliveryStoreStorage contract for approval notification delivery.
approvalNotificationFromEventvalue(event: FabricEvent, baseUrl?: string) =&gt; ApprovalNotification | undefinedRuntime API for approval notification from event; the generated signature shows its accepted inputs and return type.
approvalNotificationHandlervalue(options: ApprovalNotificationHandlerOptions) =&gt; FabricEventCallbackConvert approval events into retryable, deduplicated notifications. This callback never throws.
ApprovalNotificationHandlerOptionstypeApprovalNotificationHandlerOptionsConfiguration options for approval notification handler.
ApprovalNotificationStatetypeApprovalNotificationStateType contract for approval notification state.
ApprovalNotifiertypeApprovalNotifierType contract for approval notifier.
ApprovalOptionstypeApprovalOptionsConfiguration options for approval.
ApprovalPolicyRuletypeApprovalPolicyRulePer-pattern approval metadata. Lets policy authors route specific tools/commands to a named audience (e.g. 'reviewer', 'compliance-team', 'project-admin'). The audience id is opaque to fabric-harness — host applications map ids to humans via their own identity layer.
ApprovalRequesttypeApprovalRequestInput contract for approval.
ApprovalResponsetypeApprovalResponseResponse contract for approval.
ApprovalRisktypeApprovalRiskType contract for approval risk.
ApprovalStatetypeApprovalStateType contract for approval state.
approvalStatesFromEntriesvalue(sessionId: string, entries: SessionEntry[]) =&gt; ApprovalState[]Runtime API for approval states from entries; the generated signature shows its accepted inputs and return type.
ApprovalStateStatustypeApprovalStateStatusType contract for approval state status.
ApprovalUnavailableStrategytypeApprovalUnavailableStrategyType contract for approval unavailable strategy.
ApprovalVotetypeApprovalVoteType contract for approval vote.
ArtifactCreateOptionstypeArtifactCreateOptionsConfiguration options for artifact create.
ArtifactReftypeArtifactRefType contract for artifact ref.
assertEnforceableNetworkPolicyvalue(policy: CapabilityPolicy | undefined, sandbox: SandboxEnv | Pick&lt;SandboxCapabilities, "network" | "networkEnforcement" | "networkBoundary"&gt; | undefined, requirement?: NetworkEnforcementRequirement) =&gt; voidRefuse production network policy when it can be bypassed by code in the sandbox. This validates an operator assertion; the named network boundary must still be provisioned by Docker, Kubernetes, or the cloud provider.
attachmentDigestvalue(bytes: Uint8Array) =&gt; Promise&lt;string&gt;Lowercase hex SHA-256 of the bytes (WebCrypto).
AttachmentLimitErrorvaluetypeof AttachmentLimitErrorError raised for attachment limit failures.
AttachmentPutInputtypeAttachmentPutInputType contract for attachment put input.
AttachmentReftypeAttachmentRefContent-addressed descriptor of one stored attachment.
AttachmentStoretypeAttachmentStoreDurable content-addressed attachment storage. - put is idempotent by (scope, digest) — re-putting the same content succeeds without duplicating storage (the first stored ref metadata is retained). It MUST verify the digest against the bytes and reject a mismatch with AttachmentStoreError('DIGEST_MISMATCH') before writing. - get/getByAttachmentId return null on a miss. - delete removes one stored attachment and throws AttachmentStoreError('NOT_FOUND') when nothing is stored under (scope, digest).
AttachmentStoreErrorvaluetypeof AttachmentStoreErrorError raised for attachment store failures.
attachSandboxvalue(ref: SandboxRef | SerializedSandboxRef, options?: AttachSandboxOptions) =&gt; SandboxFactoryBuild a SandboxFactory that, when invoked, returns an AttachedSandboxEnv delegating to the registered sandbox without owning its lifecycle. Calling cleanup() on the attached env unregisters this attachment but does NOT tear down the underlying sandbox. Pass an in-process SandboxRef to attach within the same process, or a SerializedSandboxRef (from session.sandboxRef(&#123; portable: true &#125;)) to rehydrate a sandbox handed off from another process. Cross-process refs require a decoder registered for serialized.provider via registerSandboxRefDecoder().
AutonomyModetypeAutonomyModeType contract for autonomy mode.
AutonomyOptionstypeAutonomyOptionsConfiguration options for autonomy.
AzureOpenAIModelProvidervaluetypeof AzureOpenAIModelProviderProvider implementation for azure open aimodel.
AzureOpenAIProviderOptionstypeAzureOpenAIProviderOptionsConfiguration options for azure open aiprovider.
BashInputtypeBashInputType contract for bash input.
bashToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;BashInput, ShellResult&gt;Model-callable tool or tool factory for bash.
BedrockModelProvidervaluetypeof BedrockModelProviderProvider implementation for bedrock model.
BedrockProviderOptionstypeBedrockProviderOptionsConfiguration options for bedrock provider.
buildModelMessagesFromHistoryvalue(data: SessionData | undefined, role?: Role) =&gt; ModelMessage[]Runtime API for build model messages from history; the generated signature shows its accepted inputs and return type.
buildResultFollowUpPromptvalue() =&gt; stringFollow-up prompt sent when the LLM ends a turn without calling finish or give_up.
buildResultFootervalue() =&gt; stringFooter appended to user prompts/skill bodies when a result schema is set.
buildResultRetryPromptvalue(error: unknown, extraction?: boolean | ResultExtractionOptions) =&gt; stringRuntime API for build result retry prompt; the generated signature shows its accepted inputs and return type.
BUILTIN_BASH_MAX_BYTESvaluenumberConstant defining builtin bash max bytes.
BUILTIN_BASH_MAX_LINESvalue2000Constant defining builtin bash max lines.
BUILTIN_GLOB_MAX_RESULTSvalue1000Constant defining builtin glob max results.
BUILTIN_GREP_MAX_LINE_LENGTHvalue500Constant defining builtin grep max line length.
BUILTIN_GREP_MAX_MATCHESvalue100Constant defining builtin grep max matches.
BUILTIN_READ_MAX_BYTESvaluenumberConstant defining builtin read max bytes.
BUILTIN_READ_MAX_LINESvalue2000Public built-in tool limits; documentation and tests consume these constants.
BuiltinFileTooltypeBuiltinFileToolModel-callable tool or tool factory for builtin file.
BuiltinTooltypeBuiltinToolModel-callable tool or tool factory for builtin.
bytesToHexvalue(bytes: Uint8Array) =&gt; stringRuntime API for bytes to hex; the generated signature shows its accepted inputs and return type.
CapabilityPolicytypeCapabilityPolicyType contract for capability policy.
CartesiaSttProvidervaluetypeof CartesiaSttProviderProvider implementation for cartesia stt.
CartesiaSttProviderOptionstypeCartesiaSttProviderOptionsConfiguration options for cartesia stt provider.
CartesiaTtsProvidervaluetypeof CartesiaTtsProviderProvider implementation for cartesia tts.
CartesiaTtsProviderOptionstypeCartesiaTtsProviderOptionsConfiguration options for cartesia tts provider.
chainSecretProvidersvalue(...providers: Array&lt;SecretProvider | undefined&gt;) =&gt; SecretProviderResolve from providers in order; errors fail closed instead of falling through.
ChanneltypeChannelType contract for channel.
ChannelContexttypeChannelContextType contract for channel context.
ChannelDispatchtypeChannelDispatchType contract for channel dispatch.
ChannelDispatchRequesttypeChannelDispatchRequestInput contract for channel dispatch.
ChannelRoutetypeChannelRouteChannels turn platform webhooks (Slack, GitHub, …) into agent dispatches. Handlers are written against the Web Request/Response API and crypto.subtle, so the same channel runs on Node and Cloudflare. A channel is a stateless route container plus a conversation-id (de)serializer — session continuity falls out of the key (same thread → same key → same session).
CheckpointCreateOptionstypeCheckpointCreateOptionsConfiguration options for checkpoint create.
CheckpointRestoreOptionstypeCheckpointRestoreOptionsConfiguration options for checkpoint restore.
CheckpointResulttypeCheckpointResultResult returned by checkpoint.
clampCommandTimeoutvalue(timeout: number | undefined, policy?: CapabilityPolicy) =&gt; number | undefinedRuntime API for clamp command timeout; the generated signature shows its accepted inputs and return type.
clampReadLimitvalue(limit: number | undefined) =&gt; numberRuntime API for clamp read limit; the generated signature shows its accepted inputs and return type.
classifySubmissionStatevalue(path: readonly SessionEntry[], submissionId: string) =&gt; SubmissionInspectionClassify how far a persisted submission input progressed. - absent — the input entry never landed in session history: the attempt crashed before applying it. Safe to requeue for a clean first attempt. - completed — finished work: a canonical settlement entry exists, an assistant response follows the input with no unresolved trailing tool batch, or a later user input shows the conversation moved on. Settle as success; never retry (retrying completed work is the one unrecoverable corruption). - continuable — the trailing turn carries unresolved tool calls. The next session.prompt() re...
CohereModelProvidervaluetypeof CohereModelProviderProvider implementation for cohere model.
CohereProviderOptionstypeCohereProviderOptionsConfiguration options for cohere provider.
combineSubmissionTelemetrySinksvalue(...sinks: SubmissionTelemetrySink[]) =&gt; SubmissionTelemetrySinkFan one event out to several sinks.
CommandtypeCommand&lt;TInput&gt;Type contract for command.
CommandEnvValuetypeCommandEnvValueType contract for command env value.
CommandPolicytypeCommandPolicyType contract for command policy.
CommandToolInputtypeCommandToolInputType contract for command tool input.
CommandToolOptionstypeCommandToolOptionsConfiguration options for command tool.
CompactionOptionstypeCompactionOptionsConfiguration options for compaction.
CompactionResulttypeCompactionResultResult returned by compaction.
configureDispatchRuntimevalue(runtime: DispatchRuntime) =&gt; voidConfigure the ambient dispatch queue used by dispatch.
configureJobInvocationRuntimevalue(next: JobInvocationRuntime) =&gt; voidRuntime API for configure job invocation runtime; the generated signature shows its accepted inputs and return type.
connectFabricVoicevalue(options: VoiceWsClientOptions) =&gt; VoiceWsClientHandleRuntime API for connect fabric voice; the generated signature shows its accepted inputs and return type.
connectFabricWsvalue(options: WsClientOptions) =&gt; WsClientHandleRuntime API for connect fabric ws; the generated signature shows its accepted inputs and return type.
connectMcpServervalue(name: string, options: McpServerOptions) =&gt; Promise&lt;McpServerConnection&gt;Runtime API for connect mcp server; the generated signature shows its accepted inputs and return type.
consoleTelemetryExportervalue(prefix?: string) =&gt; TelemetryExporterTelemetry exporter that writes spans through the SDK logger (default console-backed). Useful for local development and as a fallback when no OpenTelemetry collector is wired up. Use openTelemetryExporter or langfuseExporter for production.
ContextBudgettypeContextBudgetType contract for context budget.
ContextBudgetOptionstypeContextBudgetOptionsConfiguration options for context budget.
CONVERSATION_STREAM_DEFAULT_READ_LIMITvalue100Constant defining conversation stream default read limit.
CONVERSATION_STREAM_FORMAT_VERSIONvalue1Constant defining conversation stream format version.
CONVERSATION_STREAM_MAX_READ_LIMITvalue1000Constant defining conversation stream max read limit.
ConversationFoldCheckpointtypeConversationFoldCheckpointDisposable durable cache of a folded conversation at one committed batch.
conversationKeyvalue(provider: string, version: string, ...segments: string[]) =&gt; stringRuntime API for conversation key; the generated signature shows its accepted inputs and return type.
ConversationMessagetypeConversationMessageType contract for conversation message.
ConversationMessageDisplaytypeConversationMessageDisplayType contract for conversation message display.
ConversationMessagePurposetypeConversationMessagePurposeType contract for conversation message purpose.
ConversationMessageRoletypeConversationMessageRoleType contract for conversation message role.
ConversationParttypeConversationPartType contract for conversation part.
ConversationProducerClaimtypeConversationProducerClaimType contract for conversation producer claim.
ConversationProjectorvaluetypeof ConversationProjectorRuntime API for conversation projector; the generated signature shows its accepted inputs and return type.
ConversationReplytypeConversationReplyType contract for conversation reply.
ConversationSettlementtypeConversationSettlementType contract for conversation settlement.
ConversationSnapshottypeConversationSnapshotType contract for conversation snapshot.
ConversationStreamAppendInputtypeConversationStreamAppendInputType contract for conversation stream append input.
ConversationStreamBatchtypeConversationStreamBatchType contract for conversation stream batch.
ConversationStreamIdentitytypeConversationStreamIdentityType contract for conversation stream identity.
ConversationStreamMetatypeConversationStreamMetaType contract for conversation stream meta.
conversationStreamPathvalue(storeSessionId: string) =&gt; stringStream path for a session's conversation projection.
ConversationStreamReadResulttypeConversationStreamReadResultResult returned by conversation stream read.
ConversationStreamRecordtypeConversationStreamRecordAppend-only conversation stream — the durable, offset-addressable projection of a session's active path (v2 migration, phase A4). The SessionEntry DAG remains the single source of truth for model context; this stream exists so clients can read a conversation with offsets (catch-up + live tail), across processes, without count-based replay. The projection appends one record per active-path entry, and — because the DAG can branch (fork/replay/checkpoint-restore) while a stream cannot — an explicit truncated record whenever the active path rewinds, paired with a producer-epoch bump so stale...
ConversationStreamStoretypeConversationStreamStoreDurable append-only conversation stream storage. Batch atomicity is a hard contract requirement: every record in an append must be persisted together under one offset, all-or-nothing. First-party adapters satisfy this by serializing the batch into a single row/document write; an adapter that splits records across non-atomic writes violates the contract. Producer fencing: acquireProducer bumps the producer epoch; appends carrying a stale epoch are rejected. The (path, producerId, epoch, sequence) uniqueness makes redelivered appends idempotent — a retried append with the same coo...
ConversationStreamStoreErrorvaluetypeof ConversationStreamStoreErrorError raised for conversation stream store failures.
CostBudgetStoretypeCostBudgetStoreAsync store for cross-process spend aggregation. Pair with CostLimit.scopeKey + CostLimit.perScope to enforce a budget that survives process restarts — "tenant:acme spends ≤ $50 today" or "company-wide ≤ $100 this hour". Built-in implementations: - inMemoryCostBudgetStore() — process-local; default. - @fabric-harness/node exposes postgresCostBudgetStore(&#123; pool &#125;).
CostBudgetTrackervaluetypeof CostBudgetTrackerTracks cumulative session spend. Cheap to construct; one per session.
CostLimittypeCostLimitType contract for cost limit.
CostLimitContexttypeCostLimitContextType contract for cost limit context.
CostLimitExceededErrorvaluetypeof CostLimitExceededErrorError raised for cost limit exceeded failures.
createAgentvalue&lt;TEnv = Record&lt;string, string&gt;&gt;(initialize: ((context: PersistentAgentContext&lt;TEnv&gt;) =&gt; PersistentAgentConfig | Promise&lt;PersistentAgentConfig&gt;) | DynamicAgentFunction&lt;TEnv&gt;, definition?: PersistentAgentConfig) =&gt; CreatedAgent&lt;TEnv&gt;Define a persistent, URL-addressable agent. Files in .fabricharness/agents/ default-export createAgent(...); the runtime resolves a fresh config per interaction and keeps sessions across direct prompts and dispatched inputs.
createApprovalGrantvalue(input: &#123; approvalId: string; toolCallId: string; toolInput: unknown; principal: FabricPrincipal; response: ApprovalResponse; createdAt: string; ttlSeconds?: number; decidedAt?: string; &#125;) =&gt; ApprovalGrantCreates approval grant.
createApprovalGrantForStatevalue(state: ApprovalState, response: ApprovalResponse) =&gt; ApprovalGrant | undefinedBuild the terminal grant after a store reaches approval quorum.
createAttachmentRefvalue(input: &#123; id: string; mimeType: string; bytes: Uint8Array; filename?: string; &#125;) =&gt; Promise&lt;AttachmentRef&gt;Build an AttachmentRef for the given bytes, computing the SHA-256 digest via WebCrypto (crypto.subtle) so the SDK stays runtime-agnostic.
createBuiltinToolsvalue(sandbox: SandboxEnv, packagedSkills?: Record&lt;string, PackagedSkillDirectory&gt;) =&gt; BuiltinTool[]Creates builtin tools.
createCommandToolsvalue(commands: Command[], options?: CommandToolOptions) =&gt; ToolDef&lt;CommandToolInput, ShellResult&gt;[]Creates command tools.
createConsoleLoggervalue(level?: LogLevel) =&gt; LoggerBuild a Console-backed logger with an explicit level. Useful for tests that want to capture or silence SDK output without touching globals.
CreatedAgenttypeCreatedAgent&lt;TEnv&gt;A persistent, addressable agent created with createAgent. Distinct from a finite defineAgent(&#123; run &#125;) job: it has no run — the initializer returns configuration, and the runtime maintains sessions across interactions.
createDirectAgentSubmissionInputvalue(options: &#123; agent: string; id: string; session?: string; message: DeliveredMessage; initialData?: JsonValue; uid?: string | null; joinWhileBusy?: boolean; tenantId?: string; actor?: FabricActor; durability?: AgentSubmissionDurability; &#125;) =&gt; AgentSubmissionInputMint a direct-prompt submission input with a fresh submission id.
createDispatchAgentSubmissionInputvalue(dispatch: DispatchInput) =&gt; AgentSubmissionInputMap a DispatchInput onto the persisted submission input shape.
createErrorReferencevalue(now?: number) =&gt; stringMint an opaque, sortable correlation reference for one transported error.
createFabricContextvalue&lt;TPayload extends JsonObject = JsonObject&gt;(payload: TPayload) =&gt; FabricContext&lt;TPayload&gt;Creates fabric context.
createFabricFsvalue(sandboxLike: SandboxEnv | Promise&lt;SandboxEnv&gt; | (() =&gt; SandboxEnv | Promise&lt;SandboxEnv&gt;)) =&gt; FabricFsAdapt a sandbox into the public filesystem convenience surface.
createFileToolsvalue(sandbox: SandboxEnv, packagedSkills?: Record&lt;string, PackagedSkillDirectory&gt;) =&gt; BuiltinFileTool[]Creates file tools.
createMcpAuthorizationCodeAuthvalue(options: McpAuthorizationCodeOptions) =&gt; OAuthClientProviderAuthorization-code + PKCE provider; the MCP SDK refreshes stored tokens automatically.
createMcpClientCredentialsAuthvalue(options: McpClientCredentialsOptions) =&gt; OAuthClientProviderOAuth client-credentials provider with MCP SDK token refresh handling.
createMcpToolsvalue(client: McpClientLike, options?: CreateMcpToolsOptions) =&gt; Promise&lt;ToolDef[]&gt;Creates mcp tools.
CreateMcpToolsOptionstypeCreateMcpToolsOptionsConfiguration options for create mcp tools.
createObservabilityObservervalue(options: ObservabilityObserverOptions) =&gt; FabricEventCallbackCreate a fail-open event observer suitable for Braintrust, Sentry, Jetty, or a custom sink.
createObservabilityRecordvalue(event: FabricEvent, options: Pick&lt;ObservabilityObserverOptions, "integration" | "correlation" | "captureData" | "additionalSecrets"&gt;) =&gt; FabricObservabilityRecordConvert a Fabric event into a vendor-neutral, low-cardinality record.
createOperationalMetricsCollectorvalue() =&gt; OperationalMetricsCollectorLow-cardinality operational metrics collector suitable for OTel/Prometheus bridging.
createPiAgentLoopRuntimevalue(options?: PiAgentLoopRuntimeOptions) =&gt; PiAgentLoopRuntimeCreates pi agent loop runtime.
createRemoteSandboxEnvvalue(api: RemoteSandboxApi, options?: RemoteSandboxOptions) =&gt; SandboxEnvWrap a provider-owned remote sandbox client in Fabric's SandboxEnv contract. Provider credentials and SDK objects remain outside model context/history; Fabric only sees the narrow file/shell/snapshot API exposed here.
createResultToolsvalue&lt;TResult&gt;(validator: ResultValidator&lt;TResult&gt;) =&gt; ResultToolBundle&lt;TResult&gt;Produce the per-call finish and give_up tool pair for a given ResultValidator. - finish's parameters are a generic JSON Schema object because we can't derive a precise schema from ResultValidator. The validator's safeParse handles actual validation. - First successful finish (or give_up) call wins. Subsequent calls return an error tool result rather than throwing, to keep the conversation transcript natural.
createSandboxEnvvalue(options?: SandboxFactoryOptions) =&gt; Promise&lt;SandboxEnv&gt;Creates sandbox env.
createScopedSandboxEnvvalue(sandbox: SandboxEnv, cwd?: string) =&gt; SandboxEnvReturn a view of a sandbox with a narrower default cwd. Relative file paths and shell cwd values are resolved from this scoped cwd while the underlying sandbox still enforces its workspace boundary.
createSearchToolvalue(retriever: Retriever, options?: SearchToolOptions) =&gt; ToolDef&lt;SearchToolInput, SearchToolResult&gt;Exposes a Retriever to the model as a search tool. The tool is read-only; wrap it with a governance decorator to stamp lineage or route approvals.
createStdioMcpClientvalue(options: StdioMcpClientOptions) =&gt; StdioMcpClientCreates stdio mcp client.
createSubmissionRunnervalue(options: SubmissionRunnerOptions) =&gt; SubmissionRunnerCreates submission runner.
createVirtualSandboxEnvvalue(options?: SandboxFactoryOptions & &#123; initialFiles?: Record&lt;string, string | Uint8Array&gt;; &#125;) =&gt; VirtualSandboxEnvCreates virtual sandbox env.
CredentialMissingStrategytype"fail"Type contract for credential missing strategy.
currentJobInvocationvalue() =&gt; JobInvocationContext | undefinedRuntime API for current job invocation; the generated signature shows its accepted inputs and return type.
currentSubmissionContextvalue() =&gt; SubmissionContext | undefinedThe submission owning the current execution, or undefined outside one.
DeepgramSttProvidervaluetypeof DeepgramSttProviderProvider implementation for deepgram stt.
DeepgramSttProviderOptionstypeDeepgramSttProviderOptionsConfiguration options for deepgram stt provider.
DEFAULT_HEADLESS_PREAMBLEvalue"You are running in headless autonomous mode (background-agent mode) with no human operator assumed. Work autonomously: Do not ask clarifying questions or wait for in-band user input. Make safe, reasonable assumptions when possible; if blocked by missing credentials, unavailab...Constant defining default headless preamble.
defaultLoopRuntimevalueNativeLoopRuntimeRuntime API for default loop runtime; the generated signature shows its accepted inputs and return type.
defaultModelProvidervalueMockModelProviderProvider implementation for default model.
defaultSessionStorevalueInMemorySessionStoreStorage contract for default session.
defineActionvalue&lt;TInput = unknown, TOutput = unknown&gt;(options: ActionOptions&lt;TInput, TOutput&gt;) =&gt; ActionDefinition&lt;TInput, TOutput&gt;Define an action — the harness-context counterpart to defineTool. A tool is a leaf capability the model calls; an action holds the harness (context.init) and can prompt, spawn sessions, and compose other work. Input/output use the harness schema builders and are validated on every runAction call; outputs must be JSON-serializable.
defineAgentvalue&lt;TInput = JsonObject, TOutput = unknown&gt;(definition: AgentDefinition&lt;TInput, TOutput&gt;) =&gt; DefinedAgent&lt;TInput, TOutput&gt;No-defaults finite-agent builder with lazy default-session helpers. The runtime admits these finite definitions through its job/run protocol, but authors define an agent. Use createAgent for a persistent, URL-addressable agent whose sessions span multiple submissions.
defineChannelvalue(channel: Channel) =&gt; ChannelValidates and brands a channel's routes.
defineCommandvalue&lt;TInput = CommandToolInput&gt;(name: string, options?: Omit&lt;Command&lt;TInput&gt;, "name"&gt;) =&gt; Command&lt;TInput&gt;Defines command.
DefinedAgenttypeDefinedAgent&lt;TInput, TOutput&gt;Type contract for defined agent.
defineMcpConnectionvalue(definition: McpConnectionDefinition) =&gt; McpConnectionDefinitionDefines mcp connection.
defineSubagentvalue(definition: SubagentDefinition) =&gt; SubagentDefinitionDefines subagent.
defineToolvalue&#123; &lt;TInput = unknown, TOutput = unknown&gt;(tool: ToolDef&lt;TInput, TOutput&gt;): ToolDef&lt;TInput, TOutput&gt;; &lt;TInput = unknown, TOutput = unknown, THarness extends boolean = false, TDurable extends boolean = false&gt;(tool: HookToolDefinition&lt;TInput, TOutput...Defines tool.
defineWebhookSubscriptionvalue&lt;TPayload = JsonObject&gt;(definition: WebhookSubscriptionDefinition&lt;TPayload&gt;) =&gt; WebhookSubscriptionDefinition&lt;TPayload&gt;Helper that returns the definition unchanged. Useful for type inference and to keep agent files declarative. See the package declarations for an example.
DeletionCompletionRecordtypeDeletionCompletionRecordType contract for deletion completion record.
DeliveredAttachmenttypeDeliveredAttachmentOne attachment on a kind: 'user' message. Today the only supported attachment is an image, carried either inline (data, base64) or as a durable content-addressed reference (ref) once an attachment store is configured — admission materializes inline bytes into refs. An attachment must carry data or ref (or both, transiently during materialization).
DeliveredAttachmentReftypeDeliveredAttachmentRefDurable reference to attachment bytes in an attachment store.
DeliveredMessagetypeDeliveredMessageDeliveredMessage — the single unified input shape for everything that enters a persistent agent's session: direct HTTP prompts, dispatch, channels/webhooks, Databricks events, SDK clients, and tests. kind: 'user' is a direct user talking to the assistant (1:1 chat surface), optionally carrying attachments. kind: 'signal' models everything beyond that direct exchange — a Slack thread or a Lakeflow job event is activity the agent observes, not the assistant's own user speaking. Sender identity and structured metadata go in attributes; the message itself in body. Signals render into mo...
deliveredSignalToEntryDatavalue(message: Extract&lt;DeliveredMessage, &#123; kind: "signal"; &#125;&gt;) =&gt; SignalEntryDataMap a signal-kind message onto the persisted signal entry's data shape.
deriveCompactionDefaultsvalue(input: &#123; contextWindowTokens: number; maxOutputTokens?: number; &#125;) =&gt; &#123; reserveTokens: number; keepRecentTokens: number; &#125;Compute model-aware compaction defaults. Reserve is capped at the model's max output because reserving more than the model can emit in one turn wastes context; the preserved tail stays flat because recent-context fidelity depends on the active work, not on the model's total window size.
dispatchvalue&#123; (agent: CreatedAgent, request: AgentDispatchRequest): Promise&lt;DispatchReceipt&gt;; (request: NamedAgentDispatchRequest): Promise&lt;DispatchReceipt&gt;; &#125;Runtime API for dispatch; the generated signature shows its accepted inputs and return type.
DispatchInputtypeDispatchInputInternal enqueued form, carrying correlation + isolation metadata.
DispatchProcessortypeDispatchProcessorConsumes enqueued dispatches and applies them to an instance session.
DispatchQueuetypeDispatchQueueAdmission queue for dispatches. The default is in-process; durable backends implement the same shape.
DispatchReceipttypeDispatchReceiptAcceptance confirmation for an enqueued dispatch.
DockerSandboxEnvvaluetypeof DockerSandboxEnvRuntime API for docker sandbox env; the generated signature shows its accepted inputs and return type.
DockerSandboxOptionstypeDockerSandboxOptionsConfiguration options for docker sandbox.
DURABILITY_DEFAULT_MAX_ATTEMPTSvalue10Default maximum total attempts before terminalization.
DURABILITY_DEFAULT_TIMEOUT_MSvalue3600000Default submission timeout in milliseconds (one hour).
DurableSessionRuntimetypeDurableSessionRuntimeStructural delegate for durable session execution. When init() is given a sessionRuntime factory that produces one of these, the SDK's session calls (prompt, task, shell, checkpoint.*) are routed through the runtime instead of executing inline. This is the seam for Temporal workflows, external orchestration runtimes, or test fakes. mount, history, artifact, and compact remain SDK-local concerns and are not delegated — they operate against the local session store.
DurableSessionRuntimeFactorytypeDurableSessionRuntimeFactoryFactory for durable session runtime.
DynamicAgentExecutionDescriptortypeDynamicAgentExecutionDescriptorJSON-safe identity required to re-render a persistent dynamic agent at a trusted durable-runtime boundary. Hook functions, tool implementations, credentials, and resolved MCP connections are deliberately excluded.
DynamicAgentFinishContexttypeDynamicAgentFinishContextType contract for dynamic agent finish context.
DynamicAgentFunctiontypeDynamicAgentFunction&lt;TEnv&gt;Type contract for dynamic agent function.
DynamicAgentPropstypeDynamicAgentProps&lt;TEnv&gt;Dynamic persistent-agent composition. The runtime keeps Fabric's builders, policies, persistence contracts, and backend-neutral types while allowing capabilities to evolve per interaction.
DynamicAgentRefreshInputtypeDynamicAgentRefreshInputType contract for dynamic agent refresh input.
DynamicAgentRenderOptionstypeDynamicAgentRenderOptionsConfiguration options for dynamic agent render.
DynamicAgentResponsetypeDynamicAgentResponseResponse contract for dynamic agent.
DynamicAgentRuntimetypeDynamicAgentRuntimeType contract for dynamic agent runtime.
DynamicAgentStartContexttypeDynamicAgentStartContextType contract for dynamic agent start context.
DynamicLifecycleContexttypeDynamicLifecycleContextType contract for dynamic lifecycle context.
DynamicMetadataCallbacktypeDynamicMetadataCallbackType contract for dynamic metadata callback.
editFileToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;EditInput, void&gt;Model-callable tool or tool factory for edit file.
EditInputtypeEditInputType contract for edit input.
ElevenLabsTtsProvidervaluetypeof ElevenLabsTtsProviderProvider implementation for eleven labs tts.
ElevenLabsTtsProviderOptionstypeElevenLabsTtsProviderOptionsConfiguration options for eleven labs tts provider.
EmbeddingProvidertypeEmbeddingProviderEmbeddings seam. Feeds self-managed-embedding vector indexes (embed the query → query vector) and any bring-your-own retrieval pipeline. Returns one vector per input text, order-preserving.
emitOpenTelemetrySpanvalue(tracer: Tracer, span: TelemetrySpan, attributes?: Record&lt;string, string | number | boolean&gt;, conventions?: "fabric" | "foundry") =&gt; SpanRuntime API for emit open telemetry span; the generated signature shows its accepted inputs and return type.
emitSubmissionTelemetryvalue(sink: SubmissionTelemetrySink | undefined, event: SubmissionTelemetryEvent, onError?: (error: unknown) =&gt; void) =&gt; voidDeliver an event to a sink, swallowing (and reporting) sink failures.
EmptySandboxEnvvaluetypeof EmptySandboxEnvRuntime API for empty sandbox env; the generated signature shows its accepted inputs and return type.
enqueueDispatchvalue(queue: DispatchQueue, request: NamedAgentDispatchRequest, extra?: &#123; tenantId?: string; actor?: FabricActor; dispatchId?: string; &#125;) =&gt; Promise&lt;DispatchReceipt&gt;Validate + normalize a named request and enqueue it, generating the dispatch id.
ensurePersistentInstanceIdentityvalue(options: &#123; store: SessionStore; agentName: string; instanceId: string; uid?: string | null; tenantId?: string; actor?: FabricActor; &#125;) =&gt; Promise&lt;PersistentInstanceIdentity&gt;Atomically resolve or create one tenant-scoped persistent instance generation.
entryToTelemetrySpanvalue(sessionId: string, entry: SessionEntry) =&gt; TelemetrySpan | undefinedRuntime API for entry to telemetry span; the generated signature shows its accepted inputs and return type.
environmentSecretProvidervalue(options?: EnvironmentSecretProviderOptions) =&gt; SecretProviderRuntime-only environment provider with optional prefix and explicit allowlist.
EnvironmentSecretProviderOptionstypeEnvironmentSecretProviderOptionsConfiguration options for environment secret provider.
estimateCostUsdvalue(modelRef: string, usage: ModelPricingUsage) =&gt; numberEstimate USD cost for a single model call. Returns 0 when no row matches modelRef — callers should treat 0 as "unknown" and not overwrite an existing costUsd from the provider.
estimateModelMessagesTokensvalue(messages: ModelMessage[]) =&gt; numberRuntime API for estimate model messages tokens; the generated signature shows its accepted inputs and return type.
estimateSessionEntriesTokensvalue(entries: SessionEntry[]) =&gt; numberRuntime API for estimate session entries tokens; the generated signature shows its accepted inputs and return type.
estimateTextTokensvalue(text: string) =&gt; numberRuntime API for estimate text tokens; the generated signature shows its accepted inputs and return type.
evaluateCommandPolicyvalue(command: string | undefined, policy?: CapabilityPolicy) =&gt; PolicyDecisionRuntime API for evaluate command policy; the generated signature shows its accepted inputs and return type.
evaluateContextBudgetvalue(messages: ModelMessage[], options?: ContextBudgetOptions) =&gt; ContextBudgetRuntime API for evaluate context budget; the generated signature shows its accepted inputs and return type.
evaluateNetworkPolicyvalue(input: string | URL | Request, policy?: CapabilityPolicy) =&gt; PolicyDecisionEvaluate a URL or Request against the configured network policy. Returns &#123; allowed: true &#125; when the request is permitted, otherwise a denial with the reason and matched pattern.
evaluateOperationalSlosvalue(snapshot: OperationalMetricsSnapshot, targets: OperationalSloTargets) =&gt; OperationalSloEvaluationRuntime API for evaluate operational slos; the generated signature shows its accepted inputs and return type.
evaluateToolCallPolicyvalue(call: ToolCall, policy?: CapabilityPolicy) =&gt; PolicyDecisionRuntime API for evaluate tool call policy; the generated signature shows its accepted inputs and return type.
eventToTelemetrySpanvalue(event: FabricEvent) =&gt; TelemetrySpan | undefinedRuntime API for event to telemetry span; the generated signature shows its accepted inputs and return type.
execSandboxCommandvalue(sandbox: SandboxEnv, command: string, options?: SandboxExecOptions) =&gt; Promise&lt;ShellResult&gt;Reject promptly on cancellation even when a remote provider cannot cancel its command. The underlying promise remains observed and reports its final, redacted settlement through onOrphanSettled.
ExistsInputtypeExistsInputType contract for exists input.
existsToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;ExistsInput, boolean&gt;Model-callable tool or tool factory for exists.
extractResultValuevalue(value: unknown, extraction?: boolean | ResultExtractionOptions) =&gt; unknownRuntime API for extract result value; the generated signature shows its accepted inputs and return type.
FABRIC_OPERATIONAL_METRICSvalue&#123; readonly requestLatencyMs: "fabric_harness_request_latency_ms"; readonly submissionDurationMs: "fabric_harness_submission_duration_ms"; readonly queueAgeMs: "fabric_harness_queue_age_ms"; readonly errorsTotal: "fabric_harness_errors_total"; readonly approvalWaitMs: "fab...Constant defining fabric operational metrics.
FabricActortypeFabricActorType contract for fabric actor.
FabricAgenttypeFabricAgentType contract for fabric agent.
FabricContexttypeFabricContext&lt;TPayload&gt;Type contract for fabric context.
FabricErrorvaluetypeof FabricErrorError raised for fabric failures.
FabricErrorCodetypeFabricErrorCodeType contract for fabric error code.
FabricErrorOptionstypeFabricErrorOptionsConfiguration options for fabric error.
FabricEventtypeFabricEvent&lt;TData&gt;Type contract for fabric event.
FabricEventCallbacktypeFabricEventCallbackType contract for fabric event callback.
FabricEventTypetypeFabricEventTypeType contract for fabric event type.
FabricFstypeFabricFsOut-of-band filesystem surface for a session sandbox. These operations do not write to conversation history and are intended for host-side plumbing: staging files, collecting artifacts, and preparing scratch space. If the model should reason about a file, prompt it to use the normal read/write/edit tools instead.
FabricObservabilityRecordtypeFabricObservabilityRecordType contract for fabric observability record.
FabricPrincipaltypeFabricPrincipalThe governed identity a piece of work runs as (v2). Distinct from ActorIdentity (who asked): the principal is what the platform's access control enforces — a human user, a machine service principal, or a hosted app's own identity. ucPrincipal carries the catalog-governance principal name when the platform has one (e.g. Unity Catalog).
FabricRuntimetypeFabricRuntimeExecution runtime selection. - inline (default): single-process execution. Uses the configured SessionStore (in-memory by default) for history, artifacts, approvals. - stateless: explicit headless / ephemeral mode. No session store, no artifact persistence, no approval waiting. Each invocation is independent. Use for high-volume webhook agents and edge runtimes where state would just be discarded anyway. In production (FABRIC_ENV=production or NODE_ENV=production) this mode must be selected explicitly — inline without an explicit store will warn or fail depending on `FABRIC_ALLO...
FabricSessiontypeFabricSessionType contract for fabric session.
FallbackModelProvidervaluetypeof FallbackModelProviderProvider implementation for fallback model.
FallbackModelProviderOptionstypeFallbackModelProviderOptionsConfiguration options for fallback model provider.
FileStattypeFileStatType contract for file stat.
FilesystemEntrytypeFilesystemEntryType contract for filesystem entry.
FilesystemPolicytypeFilesystemPolicyType contract for filesystem policy.
FilesystemSourcetypeFilesystemSourceA read-only content source that can be mounted into a sandbox at sandbox-creation time. The agent then has built-in read, glob, and grep tools available over the mounted content — no retrieval pipeline, no embeddings, no vector store required. Sources are intentionally minimal: they yield (path, content) pairs. Implementations decide how to enumerate (eager vs lazy is up to the source author) — the mount step pulls the full set into the sandbox.
findSubmissionInputIndexvalue(path: readonly SessionEntry[], submissionId: string) =&gt; numberIndex of the last canonical user or signal input carrying the submission id, or -1.
findTrailingDanglingToolCallsvalue(path: SessionEntry[]) =&gt; SessionEntry[]Find trailing tool_call entries on the active path that were never settled — no matching tool_result (paired by toolCallId, falling back to tool name) and no subsequent error entry for the same tool. A dangling call means a model turn died (crash/abort) between recording the call and recording its outcome. Left in place it produces an assistant tool_use with no tool_result on resume, which providers reject — the repair path appends synthetic interrupted outcomes for exactly the entries returned here. Conservative by construction: only the window after the last turn boundary (use...
findTrailingUnfinishedTasksvalue(path: SessionEntry[]) =&gt; SessionEntry[]Trailing task_start entries in the same window with no matching task_end — a subtask that was in flight when the turn died. These do not corrupt model context (task entries are bookkeeping), but settling them keeps UI/audit state coherent.
formatSchemaIssuesvalue(issues: SchemaIssue[]) =&gt; stringRuntime API for format schema issues; the generated signature shows its accepted inputs and return type.
formatStreamOffsetvalue(offset: number) =&gt; stringRuntime API for format stream offset; the generated signature shows its accepted inputs and return type.
fumadocsSourcevalue(contentRoot: string, options?: &#123; name?: string; stripFrontmatter?: boolean; include?: (relativePath: string) =&gt; boolean; &#125;) =&gt; FilesystemSourceMount a local Fumadocs content directory as a knowledge base. Strips MDX frontmatter by default for cleaner agent context. For a published Fumadocs site, fetch its llms.txt / sitemap and pass the URLs to httpFilesystemSource.
GeminiModelProvidervaluetypeof GeminiModelProviderProvider implementation for gemini model.
GeminiProviderOptionstypeGeminiProviderOptionsConfiguration options for gemini provider.
GeneralSubagentvalueSubagentDefinitionRuntime API for general subagent; the generated signature shows its accepted inputs and return type.
generateAffinityKeyvalue(agentId: string, sessionId: string) =&gt; stringGenerate a deterministic aff_\u003cULID\u003e affinity key from an (agentId, sessionId) pair. The same pair always produces the same key, which is stable across restarts. Different pairs produce different keys with overwhelming probability.
generateWithRuntimevalue(provider: ModelProvider, request: ModelRequest, options?: ModelRuntimeOptions) =&gt; Promise&lt;ModelResponse&gt;Runtime API for generate with runtime; the generated signature shows its accepted inputs and return type.
getAgentDefinitionvalue(value: unknown) =&gt; AgentDefinition&lt;unknown, unknown&gt; | undefinedReturns agent definition.
getCreatedAgentvalue(value: unknown) =&gt; CreatedAgent | undefinedReturn the CreatedAgent carried by a value, or undefined.
getLoggervalue() =&gt; LoggerGet the currently configured logger.
getVirtualSandboxvalue(source: FilesystemSource, options?: &#123; mountAt?: string; &#125;) =&gt; SandboxFactoryOne-liner helper for the most common pattern: mount a single read-only source into a virtual sandbox. Equivalent to: See the package declarations for an example. Used for support agents, runbook lookup, FAQ assistants — anywhere a small Markdown corpus needs to be searchable via the agent's built-in grep/glob/read tools. See the package declarations for an example.
GlobInputtypeGlobInputType contract for glob input.
globToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;GlobInput, string[]&gt;Model-callable tool or tool factory for glob.
GrepInputtypeGrepInputType contract for grep input.
GrepMatchtypeGrepMatchType contract for grep match.
grepToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;GrepInput, GrepMatch[]&gt;Model-callable tool or tool factory for grep.
hasSubmissionSettledEntryvalue(path: readonly SessionEntry[], submissionId: string) =&gt; booleanTrue when the path carries a canonical submission_settled entry for the id.
hexToBytesvalue(hex: string) =&gt; Uint8ArrayRuntime API for hex to bytes; the generated signature shows its accepted inputs and return type.
hmacSha256value(secret: string | Uint8Array, message: Uint8Array) =&gt; Promise&lt;Uint8Array&gt;Runtime API for hmac sha256; the generated signature shows its accepted inputs and return type.
HookToolContexttypeHookToolContext&lt;TInput, THarness, TDurable&gt;Type contract for hook tool context.
HookToolDefinitiontypeHookToolDefinition&lt;TInput, TOutput, THarness, TDurable&gt;Hook-oriented tool declaration supported by defineTool() and useTool().
httpFilesystemSourcevalue(resources: HttpResource[] | (() =&gt; Promise&lt;HttpResource[]&gt;), options?: &#123; name?: string; fetchImpl?: typeof fetch; &#125;) =&gt; FilesystemSourceFetch a list of URLs and mount each response body as a file. Useful for pulling a small published docs set into the sandbox so the built-in read/grep/glob tools can search it like local files.
HttpResourcetypeHttpResourceType contract for http resource.
initvalue(options?: AgentInit) =&gt; Promise&lt;FabricAgent&gt;Initialize a runtime-neutral Fabric agent from explicit model, sandbox, policy, store, identity, and lifecycle options. Call agent.session() on the returned value to create or resume a session. Supplying both store and persistence is invalid; a persistence adapter is connected before the agent is returned and connection failures propagate to the caller.
initializePersistentAgentvalue&lt;TEnv&gt;(created: CreatedAgent&lt;TEnv&gt;, context: PersistentAgentContext&lt;TEnv&gt;, overrides?: AgentInit) =&gt; Promise&lt;&#123; config: PersistentAgentConfig; agent: FabricAgent; &#125;&gt;Resolve a persistent agent's config for an instance and build a FabricAgent. Runtime-specific resources (session store, workspace roles/skills, loop runtime) are layered by the host that calls this.
inMemoryApprovalNotificationStorevalue() =&gt; ApprovalNotificationDeliveryStoreProcess-local atomic delivery state for development and single-process hosts.
InMemoryAttachmentStorevaluetypeof InMemoryAttachmentStoreIn-memory attachment store (dev / runtime: 'stateless' / tests).
InMemoryConversationStreamStorevaluetypeof InMemoryConversationStreamStoreIn-memory conversation stream store (dev / runtime: 'stateless' / tests).
inMemoryCostBudgetStorevalue() =&gt; CostBudgetStoreProcess-local cost budget store. Default when store is not provided.
InMemoryDispatchQueuevaluetypeof InMemoryDispatchQueueIn-process dispatch queue: microtask-drained, concurrent across sessions, serialized within a single session. Suitable for the inline/stateless runtimes and dev. Durable delivery (surviving restarts) is provided by the Temporal-backed queue, which implements this same interface.
inMemorySessionMemoryvalue() =&gt; SessionMemoryProcess-local in-memory implementation. Default when init(&#123; memory &#125;) is not configured — pair with Postgres for durability across restarts.
InMemorySessionStorevaluetypeof InMemorySessionStoreStorage contract for in memory session.
inMemorySourcevalue(files: Record&lt;string, string | Uint8Array&gt;, options?: &#123; name?: string; &#125;) =&gt; FilesystemSourceBuild a source from an in-memory map of path -&gt; content. Useful for tests, fixtures, and small static knowledge bases bundled into the agent module itself.
InMemorySubmissionStorevaluetypeof InMemorySubmissionStoreStorage contract for in memory submission.
InterruptedToolCallReftypeInterruptedToolCallRefA tool call settled with an explicit interrupted-outcome marker at terminalization.
InvalidDeliveredMessageErrorvaluetypeof InvalidDeliveredMessageErrorThrown by parseDeliveredMessage on malformed input.
invokevalue&#123; &lt;TInput = JsonObject, TOutput = unknown&gt;(job: DefinedAgent&lt;TInput, TOutput&gt;, options: JobInvocationOptions&lt;TInput&gt;): Promise&lt;JobInvocationReceipt&gt;; &lt;TInput = JsonObject&gt;(request: NamedJobInvocation&lt;TInput&gt;): Promise&lt;JobInvocationRe...Runtime API for invoke; the generated signature shows its accepted inputs and return type.
isActionDefinitionvalue(value: unknown) =&gt; value is ActionDefinitionChecks whether a value is action definition.
isContextOverflowErrorvalue(error: unknown) =&gt; booleanChecks whether a value is context overflow error.
isCreatedAgentvalue(value: unknown) =&gt; value is CreatedAgentWhether a value is a CreatedAgent.
isDeliveredMessageShapevalue(value: unknown) =&gt; booleanTrue when a raw value already looks like a DeliveredMessage (has a valid kind).
isDynamicAgentRenderingvalue() =&gt; booleanChecks whether a value is dynamic agent rendering.
isEventvalue&lt;T extends AgentEventType&gt;(event: AgentEvent, type: T) =&gt; event is Extract&lt;AgentEvent, &#123; type: T; &#125;&gt;Type guard: narrow an AgentEvent to a specific variant. See the package declarations for an example.
isFabricErrorvalue(error: unknown) =&gt; error is FabricErrorChecks whether a value is fabric error.
isInMemoryStorevalue(store: SessionStore | undefined) =&gt; booleanReturns true when store is the in-memory default (no appendEntry persistence beyond memory). Used by stateless mode to skip writes.
isStatelessRuntimevalue(runtime: FabricRuntime | undefined) =&gt; booleanChecks whether a value is stateless runtime.
isSubmissionPayloadvalue(input: unknown, ctx: SubmissionPayloadContext) =&gt; input is AgentSubmissionInputValidate that a parsed JSON payload matches the expected submission shape. Used after deserializing a persisted payload to verify the object is a well-formed AgentSubmissionInput that is consistent with the stored submission metadata. Both dispatch and direct payloads carry the same message: DeliveredMessage field — validated identically here regardless of transport kind.
isValidAffinityKeyvalue(key: string) =&gt; booleanChecks whether a value is valid affinity key.
JobInvocationContexttypeJobInvocationContextType contract for job invocation context.
JobInvocationOptionstypeJobInvocationOptions&lt;TInput&gt;Configuration options for job invocation.
JobInvocationReceipttypeJobInvocationReceiptType contract for job invocation receipt.
JobInvocationRuntimetypeJobInvocationRuntimeType contract for job invocation runtime.
JournalCallbackstypeJournalCallbacksType contract for journal callbacks.
jsonDeepEqualvalue(a: unknown, b: unknown) =&gt; booleanStructural equality over JSON values (objects compared key-order-insensitively).
JsonObjecttypeJsonObjectType contract for json object.
JsonPrimitivetypeJsonPrimitiveType contract for json primitive.
JsonSchemaObjecttypeJsonSchemaObjectType contract for json schema object.
JsonValuetypeJsonValueType contract for json value.
LangfuseClientLiketypeLangfuseClientLikeOptional Langfuse exporter. Adapts Fabric's TelemetrySpan shape to Langfuse's tracing API. The Langfuse client is provided by the caller — we don't take a hard dependency. Install peer dep: See the package declarations for an example. Usage: See the package declarations for an example.
langfuseExportervalue(options: LangfuseExporterOptions) =&gt; TelemetryExporterRuntime API for langfuse exporter; the generated signature shows its accepted inputs and return type.
LangfuseExporterOptionstypeLangfuseExporterOptionsConfiguration options for langfuse exporter.
LEASE_DURATION_MSvalue30000Default lease duration for submission ownership in milliseconds (30 seconds).
listModelPricesvalue() =&gt; ModelPriceRow[]All currently-registered rows (newest-last). Returns a copy.
listSandboxBackendFactoriesvalue() =&gt; SandboxBackend[]Return provider backend names currently available to createSandboxEnv().
listSandboxRefDecodersvalue() =&gt; string[]Returns the list of currently registered providers.
localDirectorySourcevalue(hostPath: string, options?: &#123; name?: string; include?: (relativePath: string) =&gt; boolean; &#125;) =&gt; FilesystemSourceRead a host directory recursively as a read-only source. include is called for each candidate file path (relative to hostPath). Return false to skip. Defaults to including everything.
LocalSandboxEnvvaluetypeof LocalSandboxEnvRuntime API for local sandbox env; the generated signature shows its accepted inputs and return type.
LocalSandboxOptionstypeLocalSandboxOptionsConfiguration options for local sandbox.
LoggertypeLoggerMinimal logger seam used by the SDK for non-event diagnostic output (warnings, deprecation notices, telemetry fallbacks). All console.* inside the SDK should route through getLogger() so ops teams can redirect or silence messages in production. The default logger writes to console and respects FABRIC_HARNESS_LOG_LEVEL=debug|info|warn|error|silent (default warn).
LogLeveltypeLogLevelType contract for log level.
lookupModelPricevalue(modelRef: string) =&gt; ModelPriceRow | undefinedLook up the most recently-registered row matching modelRef. modelRef can be: - 'provider/model' (preferred, e.g. 'openai/gpt-4o') - 'model' alone (e.g. 'gpt-4o') — first row whose model matches wins Provider matching is case-insensitive. Model matching is exact.
materializeMessageAttachmentsvalue(message: DeliveredMessage, store: AttachmentStore, options: &#123; scope: string; idPrefix: string; maxCount?: number; maxAttachmentBytes?: number; maxTotalBytes?: number; &#125;) =&gt; Promise&lt;DeliveredMessage&gt;Materialize a message's inline attachments into durable refs: decode the base64 data, store the bytes under scope, and return a NEW message whose attachments carry &#123; type, mimeType, filename?, ref &#125; and no data. Deterministic by construction — attachment ids are $&#123;idPrefix&#125;_$&#123;index&#125; and digests derive from content — so an exact redelivery of the same message produces an identical materialized payload (admission idempotency). Messages without inline attachments are returned unchanged (same reference).
MAX_ATTACHMENT_DATA_LENGTHvaluenumberMaximum accepted base64 length for a single inline attachment.
McpAuthorizationCodeOptionstypeMcpAuthorizationCodeOptionsConfiguration options for mcp authorization code.
McpAuthorizationCodeStatetypeMcpAuthorizationCodeStateType contract for mcp authorization code state.
McpClientCredentialsOptionstypeMcpClientCredentialsOptionsConfiguration options for mcp client credentials.
McpClientLiketypeMcpClientLikeType contract for mcp client like.
McpConnectionDefinitiontypeMcpConnectionDefinitionType contract for mcp connection definition.
McpServerConnectiontypeMcpServerConnectionType contract for mcp server connection.
McpServerOptionstypeMcpServerOptionsConfiguration options for mcp server.
McpToolDescriptortypeMcpToolDescriptorType contract for mcp tool descriptor.
McpTransporttypeMcpTransportType contract for mcp transport.
mergeCapabilityPoliciesvalue(definition: CapabilityPolicy | undefined, invocation: CapabilityPolicy | undefined) =&gt; CapabilityPolicy | undefinedTreat a definition policy as a security floor. Invocation policy can add denials and approval requirements, but cannot replace definition allowlists.
mergeSessionEntryBatchvalue(existing: SessionData, entries: readonly SessionEntry[], expectedLeafId?: string, enforceExpectedLeaf?: boolean) =&gt; SessionData | falseMerge one idempotent, leaf-fenced entry batch into a session snapshot. Exported for first-party storage adapters so every backend applies the same conflict and exact-replay semantics before its single atomic write.
messageHasDataAttachmentsvalue(message: DeliveredMessage) =&gt; booleanTrue when the message carries at least one inline (base64) attachment.
mintlifySourcevalue(contentRoot: string, options?: &#123; name?: string; include?: (relativePath: string) =&gt; boolean; &#125;) =&gt; FilesystemSourceMount a checked-out Mintlify content directory. For a hosted Mintlify MCP server, use connectMcpServer('mintlify', &#123; url, transport: 'streamable-http' &#125;) instead.
MissingInputStrategytypeMissingInputStrategyType contract for missing input strategy.
MkdirInputtypeMkdirInputType contract for mkdir input.
mkdirToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;MkdirInput, void&gt;Model-callable tool or tool factory for mkdir.
MockModelProvidervaluetypeof MockModelProviderProvider implementation for mock model.
ModelAttemptEventtypeModelAttemptEventType contract for model attempt event.
ModelConfigtypeModelConfigType contract for model config.
ModelMessagetypeModelMessageType contract for model message.
ModelMessageRoletypeModelMessageRoleType contract for model message role.
ModelMetadatatypeModelMetadataType contract for model metadata.
ModelPriceRowtypeModelPriceRowStatic USD price table for model providers. Used to populate ModelUsage.costUsd on responses that don't include billing info from the provider directly (most providers — only pi-loop-runtime and a handful of gateways report cost). Prices are stamped with effectiveAt. The table is best-effort: real billing reconciliation should use vendor invoices. Override or extend at runtime with registerModelPrices for custom-rate contracts.
ModelPricingUsagetypeModelPricingUsageType contract for model pricing usage.
ModelProvidertypeModelProviderProvider implementation for model.
ModelProviderFactorytypeModelProviderFactoryResolves a parsed provider/model-id ref into a concrete provider. Registered factories let out-of-core packages (e.g.
ModelProviderResolvertypeModelProviderResolverType contract for model provider resolver.
ModelRequesttypeModelRequestInput contract for model.
ModelResponsetypeModelResponseResponse contract for model.
ModelRuntimeOptionstypeModelRuntimeOptionsConfiguration options for model runtime.
ModelStreamChunktypeModelStreamChunkType contract for model stream chunk.
ModelToolCalltypeModelToolCallType contract for model tool call.
ModelToolSchematypeModelToolSchemaType contract for model tool schema.
ModelUsagetypeModelUsageType contract for model usage.
MountedSourcetypeMountedSourceData or filesystem source for mounted.
MountResulttypeMountResultResult returned by mount.
NamedAgentDispatchRequesttypeNamedAgentDispatchRequestA dispatch request that names its target agent.
NamedJobInvocationtypeNamedJobInvocation&lt;TInput&gt;Type contract for named job invocation.
NativeLoopRuntimevaluetypeof NativeLoopRuntimeRuntime API for native loop runtime; the generated signature shows its accepted inputs and return type.
NetworkEnforcementLayertypeNetworkEnforcementLayerType contract for network enforcement layer.
NetworkEnforcementRequirementtypeNetworkEnforcementRequirementType contract for network enforcement requirement.
NetworkPolicytypeNetworkPolicyType contract for network policy.
noopSessionStorevalueNoopSessionStoreStorage contract for noop session.
NoopSessionStorevaluetypeof NoopSessionStoreNo-op session store for runtime: 'stateless' mode. All writes are discarded; reads always return the empty initial session. Use this when the agent is intended as a pure request/response handler with no persistence (typical for high-volume webhooks and edge runtimes). Approvals and artifact retrieval are not supported — wiring those up requires a real store. Callers in stateless mode should not rely on artifact persistence or approval gating.
normalizeDeliveredMessagevalue(input: unknown) =&gt; DeliveredMessageNormalize legacy inputs into a DeliveredMessage: - a string → a user message with that body - a value with a kind discriminator → validated as a DeliveredMessage - any other JSON value → a user message with the JSON-stringified body (matching the historical dispatch rendering, so behavior is unchanged for pre-DeliveredMessage callers)
ObservabilityCorrelationtypeObservabilityCorrelationType contract for observability correlation.
ObservabilityObserverOptionstypeObservabilityObserverOptionsConfiguration options for observability observer.
openAIChatCompletionToModelResponsevalue(json: OpenAIChatCompletion) =&gt; ModelResponseResponse contract for open aichat completion to model.
OpenAICompatibleModelProvidervaluetypeof OpenAICompatibleModelProviderProvider implementation for open aicompatible model.
OpenAICompatibleProviderOptionstypeOpenAICompatibleProviderOptionsConfiguration options for open aicompatible provider.
OpenAIRealtimeVoiceProvidervaluetypeof OpenAIRealtimeVoiceProviderOpenAI Realtime voice provider. Connects via WebSocket; emits audio_delta / text_delta / transcript / tool_call / response_done events. No transitive dependency on ws — uses the global WebSocket available on Node 22+ and browsers. See the package declarations for an example.
OpenAIRealtimeVoiceProviderOptionstypeOpenAIRealtimeVoiceProviderOptionsConfiguration options for open airealtime voice provider.
openTelemetryExportervalue(options: OpenTelemetryExporterOptions) =&gt; TelemetryExporterBridge Fabric's SDK-neutral TelemetrySpan into a real
OpenTelemetryExporterOptionstypeOpenTelemetryExporterOptionsConfiguration options for open telemetry exporter.
OperationalMetricsCollectortypeOperationalMetricsCollectorType contract for operational metrics collector.
OperationalMetricsSnapshottypeOperationalMetricsSnapshotType contract for operational metrics snapshot.
OperationalSloEvaluationtypeOperationalSloEvaluationType contract for operational slo evaluation.
OperationalSloTargetstypeOperationalSloTargetsType contract for operational slo targets.
parseConversationKeyvalue(key: string) =&gt; ParsedConversationKeyParses conversation key.
ParsedConversationKeytypeParsedConversationKeyType contract for parsed conversation key.
parseDeliveredMessagevalue(value: unknown) =&gt; DeliveredMessageValidate a raw value as a DeliveredMessage. Shared by dispatch admission and the direct HTTP route so every transport produces the same structured error on bad input.
ParsedModelReftypeParsedModelRefType contract for parsed model ref.
parseModelRefvalue(model: string) =&gt; ParsedModelRef | undefinedParses model ref.
parsePersistentSessionIdvalue(storeSessionId: string) =&gt; PersistentSessionIdentity | undefinedInverse of persistentStoreSessionId: decode a store session id back into &#123; agent, instanceId, session &#125;, or undefined if it is not a persistent-instance key. Useful for admin surfaces that list raw session ids.
parseRetryAfterMsvalue(headerValue: string | null | undefined) =&gt; number | undefinedParse a Retry-After header value (RFC 7231) into milliseconds. Accepts both delta-seconds and HTTP-date forms. Returns undefined when the value is missing or unparseable.
parseStreamOffsetvalue(offset: string | undefined) =&gt; numberParses stream offset.
PersistenceBundletypePersistenceBundleComplete persistence surface consumed by a Fabric host.
PersistenceDeleteResulttypePersistenceDeleteResultResult returned by persistence delete.
PersistenceHealthtypePersistenceHealthType contract for persistence health.
PersistentAgentConfigtypePersistentAgentConfigRuntime configuration returned by a createAgent initializer. Mirrors the agent-level slice of AgentInit; instructions becomes the session system prompt (a role), and subagents map to named roles.
PersistentAgentContexttypePersistentAgentContext&lt;TEnv&gt;Per-interaction context passed to a createAgent initializer. id is the URL &lt;id&gt; of the addressed instance (or the dispatch target id); env is the platform environment supplied by the runtime.
PersistentAgentDurabilityConfigtypePersistentAgentDurabilityConfigStatic retry and wall-clock budget applied to every durable submission.
persistentAgentSubmissionDurabilityvalue(created: CreatedAgent, acceptedAt: number) =&gt; import("./submission-store.js").AgentSubmissionDurability | undefinedResolve a static policy into the store's absolute durability stamp.
PersistentAgentTriggerstypePersistentAgentTriggersPublic triggers supported by persistent agents. Scheduling requires a concrete instance id and message, so cron belongs on a finite dispatcher job.
persistentConfigToAgentInitvalue(config: PersistentAgentConfig, id: string) =&gt; AgentInitTranslate a PersistentAgentConfig into an AgentInit.
PersistentInstanceIdentitytypePersistentInstanceIdentityType contract for persistent instance identity.
persistentInstanceStoreIdvalue(agentName: string, instanceId: string) =&gt; stringInstance-scoped metadata key shared by every named session of one persistent agent.
PersistentSessionIdentitytypePersistentSessionIdentityDecoded identity of a persistent instance session store key.
persistentStoreSessionIdvalue(agentName: string, instanceId: string, sessionName?: string) =&gt; stringStore-session key for a persistent instance's named session. Collapses the (agentName, instanceId, sessionName) identity onto Fabric's single-string sessionId, keeping persistent sessions inside the existing session stores.
PiAgentLoopRuntimevaluetypeof PiAgentLoopRuntimeRuntime API for pi agent loop runtime; the generated signature shows its accepted inputs and return type.
PiAgentLoopRuntimeOptionstypePiAgentLoopRuntimeOptionsConfiguration options for pi agent loop runtime.
PiCustomModeltypePiCustomModelType contract for pi custom model.
PipelineVoiceProvidervaluetypeof PipelineVoiceProviderProvider implementation for pipeline voice.
PipelineVoiceProviderOptionstypePipelineVoiceProviderOptionsConfiguration options for pipeline voice provider.
policiedFetchvalue(fetchImpl: typeof fetch, policy?: CapabilityPolicy, options?: PoliciedFetchOptions) =&gt; typeof fetchWrap a Fetch implementation with URL, protocol, host, redirect, and optional DNS-answer checks from a capability policy. This wrapper governs only calls made through the returned function; it does not intercept global Fetch, Axios, raw sockets, subprocesses, or third-party clients. Pair it with a container, cluster, or provider egress boundary for untrusted production workloads.
PoliciedFetchOptionstypePoliciedFetchOptionsWrap a fetch-like function with CapabilityPolicy enforcement. Tools and connectors that make outbound HTTP should accept a custom fetch and pass the result of policiedFetch(fetch, policy). Throws a FabricError (POLICY_DENIED) when a request violates the policy; never sends a forbidden request.
policiedSandboxEnvvalue(inner: SandboxEnv, policy: CapabilityPolicy | undefined) =&gt; SandboxEnvWrap a SandboxEnv with CapabilityPolicy enforcement at the sandbox layer. Without this decorator, agent code that calls (await session.sandbox).exec(...) directly bypasses the policy that session.shell() and tool dispatch enforce. policiedSandboxEnv() closes that gap by re-running the same policy evaluation against exec / readFile / writeFile / mkdir / rm / etc. Throws FabricError: - COMMAND_DENIED when an exec is denied or requires approval. - POLICY_DENIED when a filesystem op is denied or requires approval. The decorator does NOT auto-resolve requireApproval p...
PolicyDecisiontypePolicyDecisionType contract for policy decision.
projectConversationRecordsvalue(records: readonly ConversationStreamRecord[]) =&gt; ConversationSnapshotProject canonical session records into a stable, UI-oriented protocol.
PromptOptionstypePromptOptions&lt;TResult&gt;Configuration options for prompt.
PromptRunInputtypePromptRunInputType contract for prompt run input.
PromptRunResulttypePromptRunResultResult returned by prompt run.
ProviderHttpErrorvaluetypeof ProviderHttpErrorError raised for provider http failures.
ProvidersConfigtypeProvidersConfigType contract for providers config.
ProviderSettingstypeProviderSettingsType contract for provider settings.
pruneSnapshotsvalue(snapshotRoot: string, options?: SnapshotPruneOptions) =&gt; Promise&lt;SnapshotPruneResult&gt;Runtime API for prune snapshots; the generated signature shows its accepted inputs and return type.
RateLimitertypeRateLimiterType contract for rate limiter.
RateLimiterAcquireOptionstypeRateLimiterAcquireOptionsProcess-local rate limiter for outbound provider calls. Use to prevent a fleet of agents from stampeding a single API key when the host runs many sessions in parallel. The default token-bucket implementation is in-memory; @fabric-harness/node exports redisRateLimiter for shared limits across processes. fabric-harness ships this as a generic primitive — the same limiter can be reused for outbound HTTP calls inside connectors, webhook fan-out, or anywhere else throttling is useful.
readConversationFromFoldvalue(store: ConversationStreamStore, path: string, options?: &#123; offset?: string; limit?: number; &#125;) =&gt; Promise&lt;ConversationStreamReadResult&gt;Read a conversation from its newest validated fold checkpoint plus the log suffix. Non-origin offsets always use the raw store so resume semantics stay unchanged. Invalid checkpoints are disposable and fall back to full replay.
readConversationReplyvalue(snapshot: ConversationSnapshot, submissionId: string) =&gt; ConversationReplyRead the canonical assistant reply for a durable submission. Submission ids are used when available. The positional fallback supports conversations written by older Harness servers that predate submission correlation on individual entries.
ReaddirInputtypeReaddirInputType contract for readdir input.
readdirToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;ReaddirInput, string[]&gt;Model-callable tool or tool factory for readdir.
ReadFileBufferInputtypeReadFileBufferInputType contract for read file buffer input.
readFileBufferToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;ReadFileBufferInput, Uint8Array&gt;Model-callable tool or tool factory for read file buffer.
ReadFileInputtypeReadFileInputType contract for read file input.
readFileToolvalue(sandbox?: SandboxEnv, packagedSkills?: Record&lt;string, PackagedSkillDirectory&gt;) =&gt; ToolDef&lt;ReadFileInput, string&gt;Model-callable tool or tool factory for read file.
readJsonBodyvalue(request: Request, limitBytes?: number) =&gt; Promise&lt;RequestBody | undefined&gt;Reads the body once and returns the raw bytes, the decoded text, and the parsed JSON together — so a channel can HMAC-verify the exact bytes and use the JSON without re-reading the (already consumed) stream. Returns undefined only when the body exceeds limitBytes.
readRequestBodyvalue(request: Request, limitBytes?: number) =&gt; Promise&lt;Uint8Array | undefined&gt;Reads the full request body as bytes, or returns undefined if it exceeds limitBytes. NOTE: this consumes the request stream (single read). Signature-verifying channels need the exact bytes for HMAC and the parsed JSON afterward — don't call request.json() as well. Use readJsonBody to get both from one read.
redactErrorvalue(error: unknown, options?: RedactionOptions) =&gt; JsonObjectError raised for redact failures.
RedactionOptionstypeRedactionOptionsConfiguration options for redaction.
redactJsonvalue&lt;T&gt;(value: T, options?: RedactionOptions) =&gt; TRuntime API for redact json; the generated signature shows its accepted inputs and return type.
redactTextvalue(value: string, options?: RedactionOptions) =&gt; stringRuntime API for redact text; the generated signature shows its accepted inputs and return type.
registerCreatedAgentNamevalue(agent: CreatedAgent, name: string) =&gt; voidRegister a name for a CreatedAgent so dispatch(agent, ...) can resolve it.
registeredModelProvidersvalue() =&gt; string[]Names of externally registered providers, for diagnostics.
registerJobNamevalue&lt;TInput, TOutput&gt;(job: DefinedAgent&lt;TInput, TOutput&gt;, name: string) =&gt; voidRegisters job name.
registerModelPricesvalue(rows: ModelPriceRow[]) =&gt; voidAdd or override price rows. Later rows take precedence over earlier ones.
registerModelProvidervalue(name: string, factory: ModelProviderFactory) =&gt; voidRegister a model provider resolvable via FABRIC_MODEL=&lt;name&gt;/&lt;model-id&gt;. Built-in providers always take precedence; registering a name a built-in already owns has no effect on routing. Idempotent by name (last registration wins). Call at module import time.
registerSandboxvalue(env: SandboxEnv, options?: &#123; ownerSessionId?: string; &#125;) =&gt; SandboxRefRegister a sandbox in the in-process registry and return a portable ref. Subsequent calls for the same env return the same ref.
registerSandboxBackendFactoryvalue(backend: SandboxBackend, factory: SandboxFactory) =&gt; voidRegister an implementation for a non-core SandboxBackend name. Provider packages use this hook so the shared runtime can resolve backends such as databricks without depending on them.
registerSandboxRefDecodervalue(provider: string, decoder: SandboxRefDecoder) =&gt; voidRegister a decoder for provider so attachSandbox(serialized) can rehydrate a sandbox from another process. Typically called once at startup by the package that owns the provider integration (e.g. @fabric-harness/connectors/e2b registers the e2b provider).
RemoteSandboxApitypeRemoteSandboxApiType contract for remote sandbox api.
RemoteSandboxOptionstypeRemoteSandboxOptionsConfiguration options for remote sandbox.
renderDeliveredMessagevalue(message: DeliveredMessage) =&gt; stringRender a delivered message to the prompt text form. User messages pass their body through verbatim; signals render as their XML envelope via the shared renderSignalMessage machinery.
RequestBodytypeRequestBodyType contract for request body.
resetDispatchRuntimevalue() =&gt; voidClear the ambient dispatch runtime (tests/teardown).
resetJobInvocationRuntimevalue() =&gt; voidRuntime API for reset job invocation runtime; the generated signature shows its accepted inputs and return type.
resetModelPricesToBuiltinsvalue() =&gt; voidReset the registry to the built-in seed (test/utility).
ResolvedDynamicModelProvidertypeResolvedDynamicModelProviderProvider and normalized model selected for a dynamically rendered model reference.
ResolvedModelProvidertypeResolvedModelProviderProvider implementation for resolved model.
resolveModelProvidervalue(options?: ResolveModelProviderOptions) =&gt; ResolvedModelProviderResolves model provider.
ResolveModelProviderOptionstypeResolveModelProviderOptionsConfiguration options for resolve model provider.
resolveRuntimeModevalue(options: Pick&lt;AgentInit, "runtime" | "store" | "persistence"&gt;, env?: Record&lt;string, string | undefined&gt;) =&gt; RuntimeModeResolutionResolve the effective runtime mode for an init() call, applying production safety rules: - In production (FABRIC_ENV=production or NODE_ENV=production), choosing stateless is allowed but logged as an explicit choice. - inline (the default) without an explicit SessionStore falls back to in-memory storage. In production this emits a warning unless FABRIC_ALLOW_EPHEMERAL_STATE=1 is set or runtime is explicitly 'stateless'. - Unknown runtime values fall through to 'inline' with a warning.
RESULT_END_DELIMITERvalue"---RESULT_END---"Constant defining result end delimiter.
RESULT_START_DELIMITERvalue"---RESULT_START---"Constant defining result start delimiter.
ResultExtractionOptionstypeResultExtractionOptionsConfiguration options for result extraction.
ResultOutcometypeResultOutcome&lt;TResult&gt;Type contract for result outcome.
ResultToolBundletypeResultToolBundle&lt;TResult&gt;Type contract for result tool bundle.
ResultUnavailableErrorvaluetypeof ResultUnavailableErrorThrown when the LLM calls the give_up tool, indicating it cannot produce a result that conforms to the required schema.
ResultValidatortypeResultValidator&lt;TResult&gt;Type contract for result validator.
RetrievedChunktypeRetrievedChunkGeneric, provider-agnostic retrieval seam. RAG is query-time, so it does NOT fit FilesystemSource (an eager full-dump mount) — a retriever resolves the top matches for a query on demand. Databricks AI Search is the flagship implementation, but this is reusable for any vector store.
RetrieveOptionstypeRetrieveOptionsConfiguration options for retrieve.
RetrievertypeRetrieverType contract for retriever.
RmInputtypeRmInputType contract for rm input.
rmToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;RmInput, void&gt;Model-callable tool or tool factory for rm.
RoletypeRoleType contract for role.
runActionvalue&lt;TInput, TOutput&gt;(action: ActionDefinition&lt;TInput, TOutput&gt;, host: ActionHost, input?: unknown) =&gt; Promise&lt;TOutput&gt;Validate input, run the action against host, validate + JSON-clone the output. The returned value is always safely serializable (a fresh JSON clone), so callers can persist or transmit it without sharing references.
RuntimeModeResolutiontypeRuntimeModeResolutionType contract for runtime mode resolution.
runWithJobInvocationvalue&lt;T&gt;(context: JobInvocationContext, fn: () =&gt; Promise&lt;T&gt; | T) =&gt; Promise&lt;T&gt; | TRuns with job invocation.
runWithSubmissionContextvalue&lt;T&gt;(context: SubmissionContext, fn: () =&gt; Promise&lt;T&gt; | T) =&gt; Promise&lt;T&gt; | TRun fn with context as the ambient submission correlation.
sameApprovalOperationvalue(grant: ApprovalGrant, input: &#123; toolCallId: string; toolInput: unknown; principal: FabricPrincipal; &#125;) =&gt; booleanRuntime API for same approval operation; the generated signature shows its accepted inputs and return type.
SandboxAdapterDescriptortypeSandboxAdapterDescriptorAdapter expectations: - Every backend must expose the SandboxEnv contract above and map paths into a scoped workspace. - Secrets and provider credentials must stay in adapter-owned environment/config, not model context. - exec should enforce backend-specific command, network, and timeout policy before process launch. - snapshot/restore is optional because not all targets support filesystem or VM snapshots. - Future adapters should be added without changing session/runtime code. Planned backends: local, Docker, Azure Container Apps, Azure Container Instances, AKS, Databricks, E2B, Daytona, C...
SandboxBackendtypeSandboxBackendType contract for sandbox backend.
SandboxCapabilitiestypeSandboxCapabilitiesType contract for sandbox capabilities.
SandboxEnvtypeSandboxEnvType contract for sandbox env.
SandboxExecOptionstypeSandboxExecOptionsConfiguration options for sandbox exec.
SandboxFactorytypeSandboxFactoryFactory for sandbox.
SandboxFactoryOptionstypeSandboxFactoryOptionsConfiguration options for sandbox factory.
SandboxForktypeSandboxForkType contract for sandbox fork.
SandboxOrphanSettlementtypeSandboxOrphanSettlementType contract for sandbox orphan settlement.
SandboxReftypeSandboxRefType contract for sandbox ref.
SandboxRefDecodertypeSandboxRefDecoderDecoder for a SerializedSandboxRef.provider. Returns a SandboxFactory that, when invoked, produces a SandboxEnv connected to the existing remote sandbox identified by providerData. Decoders SHOULD attach without owning the remote sandbox's lifecycle — the returned env's cleanup() should detach, not destroy.
SandboxSnapshottypeSandboxSnapshotType contract for sandbox snapshot.
sanitizeObservabilityDatavalue(data: JsonObject, additionalSecrets?: string[]) =&gt; JsonObjectRuntime API for sanitize observability data; the generated signature shows its accepted inputs and return type.
sanitizePublicJsonvalue&lt;T&gt;(value: T) =&gt; TRuntime API for sanitize public json; the generated signature shows its accepted inputs and return type.
sanitizePublicTextvalue(value: string) =&gt; stringRemove credentials and host filesystem locations from caller-visible text.
schemavalue&#123; string(): Schema&lt;string&gt;; number(): Schema&lt;number&gt;; boolean(): Schema&lt;boolean&gt;; unknown(): Schema&lt;unknown&gt;; enum&lt;const T extends readonly [string, ...string[]]&gt;(values: T): Schema&lt;T[number]&gt;; array&lt;T&gt;(item: Schema&lt;T&gt;): Sch...Runtime API for schema; the generated signature shows its accepted inputs and return type.
SchematypeSchema&lt;T&gt;Type contract for schema.
SchemaIssuetypeSchemaIssueType contract for schema issue.
SchemaValidationErrorvaluetypeof SchemaValidationErrorError raised for schema validation failures.
SearchToolInputtypeSearchToolInputType contract for search tool input.
SearchToolOptionstypeSearchToolOptionsConfiguration options for search tool.
SearchToolResulttypeSearchToolResultResult returned by search tool.
secretvalue(name: string) =&gt; SecretRefRuntime API for secret; the generated signature shows its accepted inputs and return type.
SecretProvidertypeSecretProviderProvider implementation for secret.
SecretReftypeSecretRefType contract for secret ref.
SecretResolutionContexttypeSecretResolutionContextType contract for secret resolution context.
secretResolvervalue(provider: SecretProvider, context?: SecretResolutionContext) =&gt; (ref: SecretRef) =&gt; Promise&lt;string | undefined&gt;Adapt a provider to the existing init(&#123; resolveSecret &#125;) callback.
SerializedFabricErrortypeSerializedFabricErrorError raised for serialized fabric failures.
SerializedSandboxReftypeSerializedSandboxRefCross-process / cross-machine sandbox reference. Created by session.sandboxRef(&#123; portable: true &#125;) and re-attached via attachSandbox(serialized) in a separate process. Each provider string maps to a decoder registered via registerSandboxRefDecoder().
serializeFabricErrorvalue(error: unknown, audience?: "public" | "developer", fallback?: Omit&lt;FabricErrorOptions, "cause"&gt;) =&gt; SerializedFabricErrorConvert any thrown value into the stable public/developer transport shape.
serializeSandboxRefvalue(ref: SandboxRef, ownerSessionId?: string, tenantId?: string) =&gt; SerializedSandboxRefSerialize an in-process SandboxRef into the cross-process form. Requires the underlying sandbox to implement encodeRef(). Throws SANDBOX_UNAVAILABLE if the backend is in-process-only.
SessionDatatypeSessionDataType contract for session data.
SessionEntrytypeSessionEntry&lt;TData&gt;Type contract for session entry.
SessionEntryTypetypeSessionEntryTypeType contract for session entry type.
SessionHistoryvaluetypeof SessionHistoryRuntime API for session history; the generated signature shows its accepted inputs and return type.
SessionMemorytypeSessionMemoryType contract for session memory.
SessionMemoryEntrytypeSessionMemoryEntry&lt;TValue&gt;Persistent key/value store for facts an agent should remember across sessions — borrower preferences, prior outcomes, learned task history. Distinct from SessionEntry (which is the audit log): memory is for recall, entries are for audit. Memory writes do NOT land in the session log, so they don't pollute prompt context unless the agent explicitly reads them. Tenancy: every operation accepts an optional tenantId. Two tenants with the same key get isolated values. tenantId defaults to the empty string for non-tenant deployments.
SessionMemoryFiltertypeSessionMemoryFilterType contract for session memory filter.
SessionMemoryGetOptionstypeSessionMemoryGetOptionsConfiguration options for session memory get.
SessionMemorySetInputtypeSessionMemorySetInput&lt;TValue&gt;Type contract for session memory set input.
SessionOptionstypeSessionOptionsConfiguration options for session.
SessionStoretypeSessionStoreStorage contract for session.
setLoggervalue(logger: Logger) =&gt; voidReplace the global SDK logger. Call once at startup before any init(). Pass a custom Logger to redirect to your structured logging system.
ShellOptionstypeShellOptionsConfiguration options for shell.
shellQuotevalue(value: string) =&gt; stringRuntime API for shell quote; the generated signature shows its accepted inputs and return type.
ShellResulttypeShellResultResult returned by shell.
SkilltypeSkillType contract for skill.
SkillOptionstypeSkillOptions&lt;TResult&gt;Configuration options for skill.
slackApprovalNotifiervalue(options: &#123; webhookUrl: string; fetch?: typeof fetch; &#125;) =&gt; ApprovalNotifierSlack incoming-webhook notifier. The webhook URL remains in host configuration, never event data.
SnapshotPruneOptionstypeSnapshotPruneOptionsConfiguration options for snapshot prune.
SnapshotPruneResulttypeSnapshotPruneResultResult returned by snapshot prune.
StateSettertypeStateSetter&lt;T&gt;Type contract for state setter.
StatInputtypeStatInputType contract for stat input.
statToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;StatInput, FileStat&gt;Model-callable tool or tool factory for stat.
StdioMcpClientvaluetypeof StdioMcpClientClient implementation for stdio mcp.
StdioMcpClientOptionstypeStdioMcpClientOptionsConfiguration options for stdio mcp client.
StoredAttachmenttypeStoredAttachmentType contract for stored attachment.
StreamListenerRegistryvaluetypeof StreamListenerRegistryProcess-local listener registry shared by store implementations — registration, unsubscribe-and-prune, and error-swallowing notify.
SttEventtypeSttEventType contract for stt event.
SttProvidertypeSttProviderProvider implementation for stt.
SttSessiontypeSttSessionType contract for stt session.
SttSessionOptionstypeSttSessionOptionsConfiguration options for stt session.
SttSessionUsagetypeSttSessionUsageType contract for stt session usage.
StubFabricAgentvaluetypeof StubFabricAgentRuntime API for stub fabric agent; the generated signature shows its accepted inputs and return type.
StubFabricSessionvaluetypeof StubFabricSessionRuntime API for stub fabric session; the generated signature shows its accepted inputs and return type.
SubagentDefinitiontypeSubagentDefinitionType contract for subagent definition.
SubmissionAbortedErrorvaluetypeof SubmissionAbortedErrorError raised for submission aborted failures.
SubmissionAdmissionBackendtypeSubmissionAdmissionBackend&lt;Row&gt;Storage callbacks for admitSubmissionWithBackend. Every callback runs inside the transaction the caller has already opened (or the backend's equivalent atomicity scope). Callbacks may return plain values (synchronous backends) or native Promises — non-native thenables are not supported.
SubmissionAdmissionRowtypeSubmissionAdmissionRowThe minimal shape admitSubmissionWithBackend needs from a persisted submission row: the transport kind and persisted payload it compares against the incoming admission. payload may be the serialized JSON string or an already-deserialized object (e.g. a Postgres JSONB column).
SubmissionAttemptReftypeSubmissionAttemptRefType contract for submission attempt ref.
SubmissionClaimReftypeSubmissionClaimRefType contract for submission claim ref.
SubmissionContexttypeSubmissionContextType contract for submission context.
SubmissionDurabilitytypeSubmissionDurabilityType contract for submission durability.
SubmissionExecuteOptionstypeSubmissionExecuteOptionsConfiguration options for submission execute.
SubmissionExecutortypeSubmissionExecutorHow the runner touches sessions. execute applies the submission's input to the addressed instance session and resolves with the turn result; everything else is store-level and must not require a live agent. Contract requirements: - execute must be idempotent by submission id (a resumed attempt whose input entry already exists must not append it again). - recordTerminal settles the conversation to a deterministic rest state (unresolved trailing tool calls get explicit interrupted-outcome markers — NEVER re-executed) and appends a terminal advisory. - appendSettlement appends the cano...
SubmissionInsertRowtypeSubmissionInsertRowThe queued row that admitSubmissionWithBackend writes on first admission.
SubmissionInspectiontypeSubmissionInspectionCoarse persisted-progress classification consumed by reconciliation.
SubmissionInterruptedErrorvaluetypeof SubmissionInterruptedErrorError raised for submission interrupted failures.
SubmissionInterruptiontypeSubmissionInterruptionType contract for submission interruption.
SubmissionPayloadContexttypeSubmissionPayloadContextContext needed for submission payload validation. Implementations extract these fields from their storage-specific row/document type before calling isSubmissionPayload.
SubmissionRetryExhaustedErrorvaluetypeof SubmissionRetryExhaustedErrorError raised for submission retry exhausted failures.
SubmissionRunnertypeSubmissionRunnerType contract for submission runner.
SubmissionRunnerOptionstypeSubmissionRunnerOptionsConfiguration options for submission runner.
submissionSessionKeyvalue(input: Pick&lt;AgentSubmissionInput, "agent" | "id" | "session"&gt;) =&gt; stringStore-session FIFO key of a submission (re-exported convenience).
SubmissionSettledRecordtypeSubmissionSettledRecordMinimal canonical settlement record for a direct submission. The conversation-stream phase reuses this shape as the durable terminal record a reconnecting waiter observes.
SubmissionSettlementtypeSubmissionSettlementType contract for submission settlement.
submissionSettlementEntryIdvalue(submissionId: string) =&gt; stringDeterministic canonical settlement entry id for a submission.
SubmissionSettlementObligationtypeSubmissionSettlementObligationType contract for submission settlement obligation.
submissionStoreSessionIdvalue(input: Pick&lt;AgentSubmissionInput, "agent" | "id" | "session"&gt;) =&gt; stringThe harness identity string (agent:&lt;name&gt;:&lt;id&gt;:&lt;session&gt;) targeted by a submission input. This is the persistentStoreSessionId of the addressed instance session and the per-session FIFO key of the store.
SubmissionTelemetryEventtypeSubmissionTelemetryEventType contract for submission telemetry event.
SubmissionTelemetrySinktypeSubmissionTelemetrySinkType contract for submission telemetry sink.
SubmissionTimeoutErrorvaluetypeof SubmissionTimeoutErrorError raised for submission timeout failures.
SuspendingSandboxEnvvaluetypeof SuspendingSandboxEnvDecorator that adds idle-based auto-suspend to any SandboxEnv whose underlying implementation supports suspend() / resume(). If the inner env doesn't implement them, the decorator is a no-op pass-through (the idle timer never fires anything). The decorator tracks a lastAccessAt timestamp on every operation. After idleSuspendMs elapses without activity, it calls inner.suspend(). The next operation transparently calls inner.resume() first (unless autoResumeOnAccess: false). cleanup() cancels the idle timer.
SuspendingSandboxOptionstypeSuspendingSandboxOptionsConfiguration options for suspending sandbox.
TaskOptionstypeTaskOptions&lt;TResult&gt;Configuration options for task.
TelemetryExportertypeTelemetryExporterType contract for telemetry exporter.
TelemetrySpantypeTelemetrySpanType contract for telemetry span.
tenantCostLimitvalue(tenantId: string, options: TenantCostLimit) =&gt; CostLimitSugar over CostLimit.perScope + scopeKey + store for the common "per-tenant ceiling per period" pattern. Pick one of perDayUsd, perHourUsd, or perMonthUsd; when multiple are set, the most restrictive (smallest absolute) wins. Scope key convention: tenant:&lt;id&gt;:&lt;period&gt; where &lt;period&gt; is day:YYYY-MM-DD, hour:YYYY-MM-DDTHH:00Z, or month:YYYY-MM. Reset semantics (rollover) are the host's job — call store.reset(scopeKey) from a scheduled task to clear the period total. See the package declarations for an example.
TenantCostLimittypeTenantCostLimitType contract for tenant cost limit.
toFabricErrorvalue(error: unknown, fallback: Omit&lt;FabricErrorOptions, "cause"&gt;) =&gt; FabricErrorError raised for to fabric failures.
tokenBucketRateLimitervalue(options: TokenBucketRateLimiterOptions) =&gt; RateLimiterIn-memory token-bucket rate limiter. Each key has its own bucket — keys are independent (waiting on one key doesn't block another). Buckets refill continuously at tokensPerSecond.
TokenBucketRateLimiterOptionstypeTokenBucketRateLimiterOptionsConfiguration options for token bucket rate limiter.
ToolCalltypeToolCall&lt;TInput&gt;Type contract for tool call.
ToolCallResulttypeToolCallResult&lt;TOutput&gt;Result returned by tool call.
ToolContexttypeToolContextType contract for tool context.
ToolDeftypeToolDef&lt;TInput, TOutput&gt;Type contract for tool def.
ToolEffecttypeToolEffectType contract for tool effect.
ToolHarnesstypeToolHarnessType contract for tool harness.
ToolPolicytypeToolPolicyType contract for tool policy.
ToolProgressLoggertypeToolProgressLoggerType contract for tool progress logger.
ToolSteptypeToolStepType contract for tool step.
toolsToModelSchemasvalue(tools: Iterable&lt;ToolDef&gt;) =&gt; ModelToolSchema[]Runtime API for tools to model schemas; the generated signature shows its accepted inputs and return type.
toOpenAIMessagevalue(message: ModelMessage) =&gt; Record&lt;string, unknown&gt;Runtime API for to open aimessage; the generated signature shows its accepted inputs and return type.
toOpenAIToolvalue(tool: ModelToolSchema) =&gt; Record&lt;string, unknown&gt;Model-callable tool or tool factory for to open ai.
TtsProvidertypeTtsProviderProvider implementation for tts.
TtsSynthesisOptionstypeTtsSynthesisOptionsConfiguration options for tts synthesis.
TtsSynthesisUsagetypeTtsSynthesisUsageType contract for tts synthesis usage.
TurnJournalStatetypeTurnJournalStateType contract for turn journal state.
UnimplementedSandboxEnvvaluetypeof UnimplementedSandboxEnvRuntime API for unimplemented sandbox env; the generated signature shows its accepted inputs and return type.
unregisterSandboxvalue(refId: string) =&gt; voidMark a registered sandbox as dead so future attach attempts fail. Called from the owner session's cleanup path.
unregisterSandboxBackendFactoryvalue(backend: SandboxBackend) =&gt; voidRemove a provider-owned backend factory, primarily for tests and controlled shutdown.
unregisterSandboxRefDecodervalue(provider: string) =&gt; voidTest/internal: remove a decoder.
useAgentFinishvalue(run: (context: DynamicAgentFinishContext) =&gt; void | Promise&lt;void&gt;) =&gt; voidRuntime API for use agent finish; the generated signature shows its accepted inputs and return type.
useAgentStartvalue(run: (context: DynamicAgentStartContext) =&gt; void | Promise&lt;void&gt;) =&gt; voidRuntime API for use agent start; the generated signature shows its accepted inputs and return type.
useDataWritervalue&lt;T&gt;(name: string, options?: &#123; schema?: Schema&lt;T&gt;; &#125;) =&gt; (data: T) =&gt; voidWriter implementation for use data.
useDeliveryvalue() =&gt; DeliveredMessageRuntime API for use delivery; the generated signature shows its accepted inputs and return type.
useDispatchMessagevalue() =&gt; (message: DeliveredMessage | string) =&gt; Promise&lt;import("./dispatch.js").DispatchReceipt&gt;Runtime API for use dispatch message; the generated signature shows its accepted inputs and return type.
useInitialDatavalue&lt;T = unknown&gt;() =&gt; TRuntime API for use initial data; the generated signature shows its accepted inputs and return type.
useInstructionvalue(text: string) =&gt; voidRuntime API for use instruction; the generated signature shows its accepted inputs and return type.
useMcpConnectionvalue(definition: McpConnectionDefinition) =&gt; voidRuntime API for use mcp connection; the generated signature shows its accepted inputs and return type.
useModelvalue(model: NonNullable&lt;AgentInit["model"]&gt;, options?: UseModelOptions) =&gt; voidRuntime API for use model; the generated signature shows its accepted inputs and return type.
UseModelOptionstypeUseModelOptionsConfiguration options for use model.
usePersistentStatevalue&lt;T&gt;(name: string, defaultValue: T, options?: &#123; schema?: Schema&lt;T&gt;; &#125;) =&gt; [T, StateSetter&lt;T&gt;]Runtime API for use persistent state; the generated signature shows its accepted inputs and return type.
useResponseFinishvalue(run: DynamicMetadataCallback) =&gt; voidRuntime API for use response finish; the generated signature shows its accepted inputs and return type.
useResponseStartvalue(run: DynamicMetadataCallback) =&gt; voidRuntime API for use response start; the generated signature shows its accepted inputs and return type.
useSandboxvalue(sandbox: SandboxBackend | SandboxFactory | SandboxEnv, options?: UseSandboxOptions) =&gt; voidSandbox adapter for use.
UseSandboxOptionstypeUseSandboxOptionsConfiguration options for use sandbox.
useSkillvalue(skill: Skill) =&gt; voidRuntime API for use skill; the generated signature shows its accepted inputs and return type.
useSubagentvalue(definition: SubagentDefinition) =&gt; voidRuntime API for use subagent; the generated signature shows its accepted inputs and return type.
useToolvalue&lt;TInput = unknown, TOutput = unknown, THarness extends boolean = false, TDurable extends boolean = false&gt;(tool: ToolDef&lt;TInput, TOutput&gt; | HookToolDefinition&lt;TInput, TOutput, THarness, TDurable&gt;) =&gt; voidModel-callable tool or tool factory for use.
validatePersistentAgentDurabilityvalue(durability: PersistentAgentDurabilityConfig) =&gt; PersistentAgentDurabilityConfigValidate and normalize a persistent agent's static submission policy.
validatePersistentInitialDatavalue(created: CreatedAgent, initialData: unknown) =&gt; JsonValueValidate and normalize creation data before an instance generation is admitted.
validatePersistentInstanceContactvalue(uid: string | null | undefined, initialData: unknown) =&gt; voidReject contradictory existing-incarnation and instance-creation inputs.
validateResultvalue&lt;TResult&gt;(value: unknown, validator?: ResultValidator&lt;TResult&gt;, extraction?: boolean | ResultExtractionOptions) =&gt; Promise&lt;TResult&gt;Result returned by validate.
VERCEL_AI_GATEWAY_BASE_URLvalue"https://ai-gateway.vercel.sh/v1"Default base URL for Vercel AI Gateway's OpenAI-compatible Chat Completions endpoint. The gateway accepts the standard OpenAI request body and routes through to the configured provider; switching from OpenAI to the gateway is just a base-URL change. See https://vercel.com/docs/ai-gateway/sdks-and-apis/openai-compat
vercelAIGatewayvalue(options: VercelAIGatewayProviderOptions) =&gt; OpenAICompatibleModelProviderVercel AI Gateway model provider. The gateway is an OpenAI-compatible HTTP endpoint that brokers between your agent and any of the major model providers (OpenAI, Anthropic, Google, xAI, Groq, etc.) with a single key, observability, caching, and spend controls. Use this provider on any deploy target — Node, Cloudflare Workers, Vercel — to route inference through the gateway. See the package declarations for an example. Returns an OpenAICompatibleModelProvider configured for the gateway — use it anywhere a ModelProvider is accepted. Compatible with fabric-harness's tool-calling, retries,...
VercelAIGatewayProviderOptionstypeVercelAIGatewayProviderOptionsConfiguration options for vercel aigateway provider.
verifyAttachmentBytesvalue(ref: AttachmentRef, bytes: Uint8Array) =&gt; Promise&lt;void&gt;Verify that bytes match the ref's digest (and declared size), throwing AttachmentStoreError('DIGEST_MISMATCH') otherwise. Every store's put MUST run this check before persisting.
verifyHmacSha256value(secret: string | Uint8Array, message: Uint8Array, signature: Uint8Array) =&gt; Promise&lt;boolean&gt;Constant-time HMAC-SHA256 verification (via crypto.subtle.verify).
VertexAIModelProvidervaluetypeof VertexAIModelProviderProvider implementation for vertex aimodel.
VertexAIProviderOptionstypeVertexAIProviderOptionsConfiguration options for vertex aiprovider.
VirtualSandboxEnvvaluetypeof VirtualSandboxEnvVirtual sandbox backend powered by just-bash. Provides an in-memory filesystem and a bash subset (grep, glob, cat, read, mkdir, rm, ls, echo, etc.) without shelling out to the host. The backend is fast, cheap, safe, and high-concurrency. Selected automatically by the bare @fabric-harness/sdk import when the caller doesn't pass sandbox. Override with 'local', 'docker', a SandboxFactory, or a SandboxEnv when you need real shell access.
VoiceAudioFormattypeVoiceAudioFormatBidirectional voice / audio streaming surface. fabric-harness ships an OpenAI Realtime implementation; bring-your-own-vendor for Anthropic / Gemini Live / on-prem TTS+ASR pipelines. Audio frames flow in raw bytes — the standard format is PCM 16-bit little-endian at 24kHz mono (OpenAI Realtime default). Telephony bridges (Twilio Media Streams μ-law 8kHz, etc.) resample at the edge. Tool execution is the caller's responsibility: a tool_call event surfaces, the host code runs the tool through whatever governance gates apply (approvals, cost caps, rate limits), then calls `submitToolResult(...
VoiceConnectOptionstypeVoiceConnectOptionsConfiguration options for voice connect.
VoiceEventtypeVoiceEventEvents streamed from a VoiceSession. audio_delta carries raw audio bytes; text_delta and transcript carry text; tool_call and response_done mark structured boundaries; error is fatal.
VoiceProvidertypeVoiceProviderProvider implementation for voice.
VoiceSessiontypeVoiceSessionType contract for voice session.
VoiceToolResultInputtypeVoiceToolResultInputType contract for voice tool result input.
VoiceWsClientEventtypeVoiceWsClientEventType contract for voice ws client event.
VoiceWsClientHandletypeVoiceWsClientHandleType contract for voice ws client handle.
VoiceWsClientOptionstypeVoiceWsClientOptionsLightweight WebSocket client for the Node server's WS /sessions/:id/voice endpoint. Server-side bridge owns the provider connection and API keys; this client just streams audio + control messages over WS. Works in browsers and on Node 22+ (uses the global WebSocket).
webhookApprovalNotifiervalue(options: &#123; url: string; headers?: Record&lt;string, string&gt;; fetch?: typeof fetch; &#125;) =&gt; ApprovalNotifierRuntime API for webhook approval notifier; the generated signature shows its accepted inputs and return type.
WebhookSubscriptionContexttypeWebhookSubscriptionContext&lt;TPayload&gt;Generic webhook subscription primitive — wakes an agent on inbound events from any external system (event bus, queue, scheduler, third-party SaaS webhook, your own application's domain events). fabric-harness consumes a JSON payload and dispatches to the user-provided handler. The host event system decides which payloads land here; fabric-harness has no opinion on event taxonomy or producer.
WebhookSubscriptionDefinitiontypeWebhookSubscriptionDefinition&lt;TPayload&gt;Type contract for webhook subscription definition.
withConversationProjectionvalue(store: SessionStore, streams: ConversationStreamStore, options?: &#123; producerId?: string; onError?: (error: unknown) =&gt; void; &#125;) =&gt; SessionStoreWrap a SessionStore so active-path appends are mirrored into an append-only ConversationStreamStore projection (v2 A4). The SessionEntry DAG stays the single source of truth; the stream gives clients offset-based catch-up + live tail. Two rules keep them coherent: 1. Idempotent by entryId — a crash between the DAG write and the stream write is repaired on the next append: the projector diffs the stream tail against the active path and re-emits anything missing. 2. Truncation is explicit — the DAG can branch (fork/replay/ checkpoint-restore rewrite leafId); the stream cannot. W...
withFilesystemSourcesvalue(base: SandboxBackend | SandboxFactory | SandboxEnv, sources: MountedSource[]) =&gt; SandboxFactoryRuntime API for with filesystem sources; the generated signature shows its accepted inputs and return type.
withIdleSuspendvalue(inner: SandboxEnv, options: SuspendingSandboxOptions | undefined) =&gt; SandboxEnvWrap any SandboxEnv with idle-based auto-suspend. Returns the inner env unchanged when idleSuspendMs is undefined or the inner env doesn't implement suspend().
WriteFileInputtypeWriteFileInputType contract for write file input.
writeFileToolvalue(sandbox?: SandboxEnv) =&gt; ToolDef&lt;WriteFileInput, void&gt;Model-callable tool or tool factory for write file.
WsClientCommandtypeWsClientCommandType contract for ws client command.
WsClientHandletypeWsClientHandleType contract for ws client handle.
WsClientOptionstypeWsClientOptionsLightweight WebSocket client for the Node server's WS /sessions/:id/ws endpoint. Works in browsers and on Node 22+ (uses the global WebSocket). Does NOT depend on the ws package — that's the server side's optional peer dep.

@fabric-harness/sdk/cloudflare

ExportKindTypeScript signaturePurpose
CloudflareR2BucketLiketypeCloudflareR2BucketLikeType contract for cloudflare r2 bucket like.
CloudflareR2ListResultLiketypeCloudflareR2ListResultLikeType contract for cloudflare r2 list result like.
CloudflareR2ObjectBodyLiketypeCloudflareR2ObjectBodyLikeType contract for cloudflare r2 object body like.
r2FilesystemSourcevalue(bucket: CloudflareR2BucketLike, options?: R2FilesystemSourceOptions) =&gt; FilesystemSourceRead Cloudflare R2 objects as a Fabric filesystem source. Mount it with withFilesystemSources() (or getVirtualSandbox(...)) so agents can grep/read R2-backed knowledge bases through the normal sandbox tools. See the package declarations for an example.
R2FilesystemSourceOptionstypeR2FilesystemSourceOptionsConfiguration options for r2 filesystem source.

@fabric-harness/sdk/channel

ExportKindTypeScript signaturePurpose
bytesToHexvalue(bytes: Uint8Array) =&gt; stringRuntime API for bytes to hex; the generated signature shows its accepted inputs and return type.
ChanneltypeChannelType contract for channel.
ChannelContexttypeChannelContextType contract for channel context.
ChannelDispatchtypeChannelDispatchType contract for channel dispatch.
ChannelDispatchRequesttypeChannelDispatchRequestInput contract for channel dispatch.
ChannelRoutetypeChannelRouteChannels turn platform webhooks (Slack, GitHub, …) into agent dispatches. Handlers are written against the Web Request/Response API and crypto.subtle, so the same channel runs on Node and Cloudflare. A channel is a stateless route container plus a conversation-id (de)serializer — session continuity falls out of the key (same thread → same key → same session).
conversationKeyvalue(provider: string, version: string, ...segments: string[]) =&gt; stringRuntime API for conversation key; the generated signature shows its accepted inputs and return type.
defineChannelvalue(channel: Channel) =&gt; ChannelValidates and brands a channel's routes.
defineToolvalue&lt;TInput = unknown, TOutput = unknown&gt;(tool: ToolDef&lt;TInput, TOutput&gt;) =&gt; ToolDef&lt;TInput, TOutput&gt;Edge-safe identity helper equivalent to the root SDK's defineTool.
hexToBytesvalue(hex: string) =&gt; Uint8ArrayRuntime API for hex to bytes; the generated signature shows its accepted inputs and return type.
hmacSha256value(secret: string | Uint8Array, message: Uint8Array) =&gt; Promise&lt;Uint8Array&gt;Runtime API for hmac sha256; the generated signature shows its accepted inputs and return type.
parseConversationKeyvalue(key: string) =&gt; ParsedConversationKeyParses conversation key.
ParsedConversationKeytypeParsedConversationKeyType contract for parsed conversation key.
readJsonBodyvalue(request: Request, limitBytes?: number) =&gt; Promise&lt;RequestBody | undefined&gt;Reads the body once and returns the raw bytes, the decoded text, and the parsed JSON together — so a channel can HMAC-verify the exact bytes and use the JSON without re-reading the (already consumed) stream. Returns undefined only when the body exceeds limitBytes.
readRequestBodyvalue(request: Request, limitBytes?: number) =&gt; Promise&lt;Uint8Array | undefined&gt;Reads the full request body as bytes, or returns undefined if it exceeds limitBytes. NOTE: this consumes the request stream (single read). Signature-verifying channels need the exact bytes for HMAC and the parsed JSON afterward — don't call request.json() as well. Use readJsonBody to get both from one read.
RequestBodytypeRequestBodyType contract for request body.
ToolDeftypeToolDef&lt;TInput, TOutput&gt;Type contract for tool def.
ToolEffecttypeToolEffectType contract for tool effect.
verifyHmacSha256value(secret: string | Uint8Array, message: Uint8Array, signature: Uint8Array) =&gt; Promise&lt;boolean&gt;Constant-time HMAC-SHA256 verification (via crypto.subtle.verify).

@fabric-harness/sdk/conversation

ExportKindTypeScript signaturePurpose
ConversationMessagetypeConversationMessageType contract for conversation message.
ConversationMessageDisplaytypeConversationMessageDisplayType contract for conversation message display.
ConversationMessagePurposetypeConversationMessagePurposeType contract for conversation message purpose.
ConversationMessageRoletypeConversationMessageRoleType contract for conversation message role.
ConversationParttypeConversationPartType contract for conversation part.
ConversationReplytypeConversationReplyType contract for conversation reply.
ConversationSettlementtypeConversationSettlementType contract for conversation settlement.
ConversationSnapshottypeConversationSnapshotType contract for conversation snapshot.
projectConversationRecordsvalue(records: readonly ConversationStreamRecord[]) =&gt; ConversationSnapshotProject canonical session records into a stable, UI-oriented protocol.
readConversationReplyvalue(snapshot: ConversationSnapshot, submissionId: string) =&gt; ConversationReplyRead the canonical assistant reply for a durable submission. Submission ids are used when available. The positional fallback supports conversations written by older Harness servers that predate submission correlation on individual entries.

@fabric-harness/sdk/experimental

ExportKindTypeScript signaturePurpose
createPiAgentLoopRuntimevalue(options?: PiAgentLoopRuntimeOptions) =&gt; PiAgentLoopRuntimeCreates pi agent loop runtime.
PiAgentLoopRuntimevaluetypeof PiAgentLoopRuntimeRuntime API for pi agent loop runtime; the generated signature shows its accepted inputs and return type.
PiAgentLoopRuntimeOptionstypePiAgentLoopRuntimeOptionsConfiguration options for pi agent loop runtime.
PiCustomModeltypePiCustomModelType contract for pi custom model.
policiedSandboxEnvvalue(inner: SandboxEnv, policy: CapabilityPolicy | undefined) =&gt; SandboxEnvWrap a SandboxEnv with CapabilityPolicy enforcement at the sandbox layer. Without this decorator, agent code that calls (await session.sandbox).exec(...) directly bypasses the policy that session.shell() and tool dispatch enforce. policiedSandboxEnv() closes that gap by re-running the same policy evaluation against exec / readFile / writeFile / mkdir / rm / etc. Throws FabricError: - COMMAND_DENIED when an exec is denied or requires approval. - POLICY_DENIED when a filesystem op is denied or requires approval. The decorator does NOT auto-resolve requireApproval p...
SuspendingSandboxEnvvaluetypeof SuspendingSandboxEnvDecorator that adds idle-based auto-suspend to any SandboxEnv whose underlying implementation supports suspend() / resume(). If the inner env doesn't implement them, the decorator is a no-op pass-through (the idle timer never fires anything). The decorator tracks a lastAccessAt timestamp on every operation. After idleSuspendMs elapses without activity, it calls inner.suspend(). The next operation transparently calls inner.resume() first (unless autoResumeOnAccess: false). cleanup() cancels the idle timer.
SuspendingSandboxOptionstypeSuspendingSandboxOptionsConfiguration options for suspending sandbox.
withIdleSuspendvalue(inner: SandboxEnv, options: SuspendingSandboxOptions | undefined) =&gt; SandboxEnvWrap any SandboxEnv with idle-based auto-suspend. Returns the inner env unchanged when idleSuspendMs is undefined or the inner env doesn't implement suspend().

@fabric-harness/sdk/otel-observer

ExportKindTypeScript signaturePurpose
createOpenTelemetryObservervalue(options?: OpenTelemetryObserverOptions) =&gt; FabricEventCallbackCreates open telemetry observer.
OpenTelemetryObserverOptionstypeOpenTelemetryObserverOptionsBuild a hierarchical OpenTelemetry trace from Fabric's event stream. Unlike openTelemetryExporter (which emits one flat span per duration-bearing event), this observer nests spans into a tree: prompt/skill operations contain turns, which contain tool / shell spans, with task sub-work nested under the active operation. The result is a single parent trace per operation that visualizes the full agent run. This module lives on the @fabric-harness/sdk/otel-observer subpath (not the main entry) because building parent contexts requires @opentelemetry/api at runtime; the main SDK...

@fabric-harness/sdk/testing

ExportKindTypeScript signaturePurpose
MockModelProvidervaluetypeof MockModelProviderProvider implementation for mock model.
StubFabricAgentvaluetypeof StubFabricAgentRuntime API for stub fabric agent; the generated signature shows its accepted inputs and return type.
StubFabricSessionvaluetypeof StubFabricSessionRuntime API for stub fabric session; the generated signature shows its accepted inputs and return type.

@fabric-harness/sdk/testing/contracts

ExportKindTypeScript signaturePurpose
AttachmentStoreContractHandletypeAttachmentStoreContractHandleType contract for attachment store contract handle.
ChannelContractDispatchtypeChannelContractDispatchType contract for channel contract dispatch.
ChannelContractFixturetypeChannelContractFixtureType contract for channel contract fixture.
ChannelContractRequesttypeChannelContractRequestInput contract for channel contract.
ConversationStreamStoreContractHandletypeConversationStreamStoreContractHandleType contract for conversation stream store contract handle.
defineAttachmentStoreContractTestsvalue(name: string, factory: () =&gt; Promise&lt;AttachmentStoreContractHandle&gt;) =&gt; voidRegister the standard AttachmentStore contract tests under the given describe label. Each test gets a fresh store from factory().
defineChannelContractTestsvalue(fixture: ChannelContractFixture) =&gt; voidShared behavioral contract for first-party and community channel adapters.
defineConversationStreamStoreContractTestsvalue(name: string, factory: () =&gt; Promise&lt;ConversationStreamStoreContractHandle&gt;) =&gt; voidRegister the standard ConversationStreamStore contract tests under the given describe label. Each test gets a fresh store from factory().
definePersistenceBundleContractTestsvalue(name: string, factory: () =&gt; Promise&lt;PersistenceBundleContractHandle&gt;) =&gt; voidCompose all store contracts with bundle health, cost, run, and cascade checks.
defineSubmissionStoreContractTestsvalue(name: string, factory: () =&gt; Promise&lt;SubmissionStoreContractHandle&gt;) =&gt; voidRegister the standard AgentSubmissionStore contract tests under the given describe label. Each test gets a fresh store from factory().
PersistenceBundleContractHandletypePersistenceBundleContractHandleType contract for persistence bundle contract handle.
SubmissionStoreContractHandletypeSubmissionStoreContractHandleType contract for submission store contract handle.

@fabric-harness/temporal

@fabric-harness/temporal

ExportKindTypeScript signaturePurpose
ActivityIdempotencytypeActivityIdempotencyType contract for activity idempotency.
ActivityTimeoutPolicytypeActivityTimeoutPolicyType contract for activity timeout policy.
adaptSessionRuntimevalue(runtime: SessionRuntime, capabilities?: &#123; dynamicAgents?: boolean; &#125;) =&gt; DurableSessionRuntimeAdapt any SessionRuntime (Temporal-backed, Mock, or otherwise) into the SDK's DurableSessionRuntime shape. The two interfaces are structurally identical, but the type bridging keeps SDK types out of the temporal package's public API.
AppendSessionEntryActivityInputtypeAppendSessionEntryActivityInputType contract for append session entry activity input.
AppendSessionEntryActivityResulttypeAppendSessionEntryActivityResultResult returned by append session entry activity.
AppendSessionEventActivityInputtypeAppendSessionEventActivityInputType contract for append session event activity input.
APPROVAL_SIGNALvalue"approval"Constant defining approval signal.
approvalSignalvalueSignalDefinition&lt;[ApprovalSignal], string&gt;Runtime API for approval signal; the generated signature shows its accepted inputs and return type.
ApprovalSignaltypeApprovalSignalType contract for approval signal.
BuildContextActivityInputtypeBuildContextActivityInputType contract for build context activity input.
BuildContextActivityResulttypeBuildContextActivityResultResult returned by build context activity.
CHECKPOINT_CREATE_WORKFLOW_NAMEvalue"checkpointCreateWorkflow"Constant defining checkpoint create workflow name.
CHECKPOINT_RESTORE_WORKFLOW_NAMEvalue"checkpointRestoreWorkflow"Constant defining checkpoint restore workflow name.
CheckpointActivityInputtypeCheckpointActivityInputType contract for checkpoint activity input.
CheckpointActivityResulttypeCheckpointActivityResultResult returned by checkpoint activity.
checkpointCreateWorkflowvalue(input: SessionRuntimeCheckpointCreateInput & &#123; sessionId: string; idempotency: &#123; idempotencyKey: string; &#125;; &#125;) =&gt; Promise&lt;import("@fabric-harness/sdk").CheckpointResult&gt;Runtime API for checkpoint create workflow; the generated signature shows its accepted inputs and return type.
checkpointRestoreWorkflowvalue(input: SessionRuntimeCheckpointRestoreInput & &#123; sessionId: string; idempotency: &#123; idempotencyKey: string; &#125;; &#125;) =&gt; Promise&lt;import("@fabric-harness/sdk").CheckpointResult&gt;Runtime API for checkpoint restore workflow; the generated signature shows its accepted inputs and return type.
CompactSessionActivityInputtypeCompactSessionActivityInputType contract for compact session activity input.
CompactSessionActivityResulttypeCompactSessionActivityResultResult returned by compact session activity.
connectTemporalWithRetryvalue&lt;T&gt;(connect: () =&gt; Promise&lt;T&gt;, options?: TemporalConnectRetryOptions) =&gt; Promise&lt;T&gt;Runtime API for connect temporal with retry; the generated signature shows its accepted inputs and return type.
createInlineSessionRuntimevalue(session: FabricSession) =&gt; SessionRuntimeCreates inline session runtime.
createLocalTemporalActivitiesvalue(options: LocalTemporalActivitiesOptions) =&gt; TemporalActivitiesCreates local temporal activities.
createMockTemporalRuntimevalue(options?: MockTemporalRuntimeOptions) =&gt; MockTemporalRuntimeCreates mock temporal runtime.
createTemporalClientvalue(options?: TemporalClientOptions) =&gt; Promise&lt;TemporalClientHandle&gt;Creates temporal client.
createTemporalClientConnectionOptionsvalue(config?: TemporalConnectionConfig) =&gt; ConnectionOptionsCreates temporal client connection options.
createTemporalDispatchActivitiesvalue(options: CreateTemporalDispatchActivitiesOptions) =&gt; TemporalDispatchActivitiesWrap a DispatchProcessor as a Temporal activity. The processor is idempotent by dispatchId, so Temporal retries are safe.
CreateTemporalDispatchActivitiesOptionstypeCreateTemporalDispatchActivitiesOptionsConfiguration options for create temporal dispatch activities.
createTemporalSessionRuntimeActivitiesvalue(options: CreateTemporalSessionRuntimeActivitiesOptions) =&gt; TemporalSessionRuntimeActivitiesCreates temporal session runtime activities.
CreateTemporalSessionRuntimeActivitiesOptionstypeCreateTemporalSessionRuntimeActivitiesOptionsConfiguration options for create temporal session runtime activities.
createTemporalWorkerConnectionOptionsvalue(config?: TemporalConnectionConfig) =&gt; NativeConnectionOptionsCreates temporal worker connection options.
CUSTOM_APPROVAL_WORKFLOW_NAMEvalue"customApprovalWorkflow"Constant defining custom approval workflow name.
customApprovalWorkflowvalue(input: CustomApprovalWorkflowInput) =&gt; Promise&lt;ApprovalResponse | undefined&gt;Durable custom approval gate used by session.approval.request().
CustomApprovalWorkflowInputtypeCustomApprovalWorkflowInputType contract for custom approval workflow input.
DEFAULT_TEMPORAL_ACTIVITY_TIMEOUTSvalueTemporalActivityTimeoutsConstant defining default temporal activity timeouts.
DEFAULT_TEMPORAL_ADDRESSvalue"localhost:7233"Default Temporal frontend address used by CLI / build scaffolds when nothing is configured.
DEFAULT_TEMPORAL_NAMESPACEvalue"default"Default namespace.
DEFAULT_TEMPORAL_TASK_QUEUEvalue"fabric-harness"Default task queue name.
defineTemporalAgentvalue(options?: DefineTemporalAgentOptions) =&gt; DefinedAgent&lt;JsonObject, unknown&gt;Defines temporal agent.
DefineTemporalAgentOptionstypeDefineTemporalAgentOptionsConfiguration options for define temporal agent.
DISPATCH_WORKFLOW_NAMEvalue"dispatchWorkflow"Constant defining dispatch workflow name.
dispatchWorkflowvalue(input: DispatchInput) =&gt; Promise&lt;void&gt;Durable dispatch: applies one dispatched input to a persistent instance via the processDispatch activity. The activity is idempotent by dispatchId, so Temporal retries (and worker restarts) won't double-apply.
ExecuteToolActivityInputtypeExecuteToolActivityInputType contract for execute tool activity input.
ExecuteToolActivityResulttypeExecuteToolActivityResultResult returned by execute tool activity.
HYBRID_PROMPT_WORKFLOW_NAMEvalue"hybridPromptWorkflow"Constant defining hybrid prompt workflow name.
hybridPromptWorkflowvalue(input: PromptWorkflowInput, sharedEventState?: EventIndexState) =&gt; Promise&lt;PromptWorkflowResult&gt;Hybrid durable prompt workflow. The workflow owns deterministic turn orchestration while activities perform nondeterministic effects: context construction, model calls, tool execution, approval policy checks, and durable entry/event appends.
InlineSessionRuntimevaluetypeof InlineSessionRuntimeRuntime API for inline session runtime; the generated signature shows its accepted inputs and return type.
LoadSessionActivityInputtypeLoadSessionActivityInputType contract for load session activity input.
LocalTemporalActivitiesOptionstypeLocalTemporalActivitiesOptionsConfiguration options for local temporal activities.
MockTemporalClientvaluetypeof MockTemporalClientMinimal mock Temporal client that satisfies enough of the TemporalClientHandle interface for agent tests. Delegates SessionRuntime calls to MockTemporalRuntime.
MockTemporalModelProvidervaluetypeof MockTemporalModelProviderMinimal mock model provider for Temporal agent tests. Returns deterministic responses based on the latest user message.
MockTemporalRuntimevaluetypeof MockTemporalRuntimeRuntime API for mock temporal runtime; the generated signature shows its accepted inputs and return type.
MockTemporalRuntimeOptionstypeMockTemporalRuntimeOptionsConfiguration options for mock temporal runtime.
ModelGenerateActivityInputtypeModelGenerateActivityInputType contract for model generate activity input.
ModelGenerateActivityResulttypeModelGenerateActivityResultResult returned by model generate activity.
PendingApprovalStatetypePendingApprovalStateType contract for pending approval state.
PROMPT_WORKFLOW_NAMEvalue"promptWorkflow"Constant defining prompt workflow name.
promptWorkflowvalue(input: PromptWorkflowInput) =&gt; Promise&lt;PromptWorkflowResult&gt;Coarse one-shot prompt workflow. Useful as a compatibility path while the hybrid loop is still gaining lower-level activity implementations.
PromptWorkflowInputtypePromptWorkflowInputType contract for prompt workflow input.
PromptWorkflowResulttypePromptWorkflowResultResult returned by prompt workflow.
requireIdempotencyvalue(input: &#123; idempotency?: ActivityIdempotency; &#125;, activityName: string) =&gt; ActivityIdempotencyRuntime API for require idempotency; the generated signature shows its accepted inputs and return type.
ResolvedTemporalConnectionConfigtypeResolvedTemporalConnectionConfigType contract for resolved temporal connection config.
ResolveSecretActivityInputtypeResolveSecretActivityInputType contract for resolve secret activity input.
resolveTemporalConnectionConfigvalue(options?: TemporalConnectionConfig) =&gt; ResolvedTemporalConnectionConfigResolves temporal connection config.
resolveToolRefsvalue(bundle: TemporalBundle, refs: string[]) =&gt; ToolDef[]Resolves tool refs.
RuntimeCheckpointCreateActivityInputtypeRuntimeCheckpointCreateActivityInputType contract for runtime checkpoint create activity input.
RuntimeCheckpointRestoreActivityInputtypeRuntimeCheckpointRestoreActivityInputType contract for runtime checkpoint restore activity input.
RuntimePromptActivityInputtypeRuntimePromptActivityInputType contract for runtime prompt activity input.
RuntimeShellActivityInputtypeRuntimeShellActivityInputType contract for runtime shell activity input.
SESSION_STATE_QUERYvalue"sessionState"Constant defining session state query.
SessionRuntimetypeSessionRuntimeType contract for session runtime.
SessionRuntimeApprovalInputtypeSessionRuntimeApprovalInputType contract for session runtime approval input.
SessionRuntimeCheckpointCreateInputtypeSessionRuntimeCheckpointCreateInputType contract for session runtime checkpoint create input.
SessionRuntimeCheckpointRestoreInputtypeSessionRuntimeCheckpointRestoreInputType contract for session runtime checkpoint restore input.
SessionRuntimeFactorytypeSessionRuntimeFactoryFactory for session runtime.
SessionRuntimePromptInputtypeSessionRuntimePromptInput&lt;TResult&gt;Type contract for session runtime prompt input.
SessionRuntimeShellInputtypeSessionRuntimeShellInputType contract for session runtime shell input.
SessionRuntimeTaskInputtypeSessionRuntimeTaskInput&lt;TResult&gt;Type contract for session runtime task input.
sessionStateQueryvalueQueryDefinition&lt;TemporalWorkflowQueryState, [], string&gt;Runtime API for session state query; the generated signature shows its accepted inputs and return type.
sessionWorkflowvalue(input: TemporalSessionWorkflowInput) =&gt; Promise&lt;void&gt;Long-lived session coordination workflow. This first production Temporal integration supports approval signaling and state queries. Prompt/shell/checkpoint operations are workflows below.
SessionWorkflowDefinitiontypeSessionWorkflowDefinitionType contract for session workflow definition.
SHELL_WORKFLOW_NAMEvalue"shellWorkflow"Constant defining shell workflow name.
shellWorkflowvalue(input: SessionRuntimeShellInput & &#123; sessionId: string; idempotency: &#123; idempotencyKey: string; &#125;; &#125;) =&gt; Promise&lt;import("@fabric-harness/sdk").ShellResult&gt;Runtime API for shell workflow; the generated signature shows its accepted inputs and return type.
SnapshotReftypeSnapshotRefType contract for snapshot ref.
startTemporalWorkervalue(options?: TemporalWorkerOptions) =&gt; Promise&lt;TemporalWorkerHandle&gt;Runtime API for start temporal worker; the generated signature shows its accepted inputs and return type.
TASK_WORKFLOW_NAMEvalue"taskWorkflow"Constant defining task workflow name.
taskWorkflowvalue(input: TaskWorkflowInput) =&gt; Promise&lt;PromptWorkflowResult&gt;Runtime API for task workflow; the generated signature shows its accepted inputs and return type.
TaskWorkflowInputtypeTaskWorkflowInputType contract for task workflow input.
temporalvalue(config: TemporalBundleConfig) =&gt; Promise&lt;TemporalBundle&gt;Runtime API for temporal; the generated signature shows its accepted inputs and return type.
TemporalActivitiestypeTemporalActivitiesType contract for temporal activities.
TemporalActivityTimeoutstypeTemporalActivityTimeoutsType contract for temporal activity timeouts.
TemporalBundletypeTemporalBundleType contract for temporal bundle.
TemporalBundleConfigtypeTemporalBundleConfigType contract for temporal bundle config.
TemporalClientHandletypeTemporalClientHandleType contract for temporal client handle.
TemporalClientOptionstypeTemporalClientOptionsConfiguration options for temporal client.
TemporalConnectionConfigtypeTemporalConnectionConfigType contract for temporal connection config.
TemporalConnectRetryOptionstypeTemporalConnectRetryOptionsConfiguration options for temporal connect retry.
TemporalDispatchActivitiestypeTemporalDispatchActivitiesActivity that durably applies a dispatched input to a persistent instance.
TemporalDispatchClientLiketypeTemporalDispatchClientLikeMinimal Temporal client surface needed to start a dispatch workflow.
temporalDispatchQueuevalue(options: TemporalDispatchQueueOptions) =&gt; DispatchQueueDurable dispatch queue. enqueue starts a dispatchWorkflow keyed by the dispatchId, so delivery survives worker/process restarts and a duplicate dispatchId maps to the same workflow id (idempotent admission). Implements the SDK's DispatchQueue; pair with createTemporalDispatchActivities on the worker. When runtime: 'temporal' is configured, this is the default dispatch queue (D4) unless an explicit queue is supplied.
TemporalDispatchQueueOptionstypeTemporalDispatchQueueOptionsConfiguration options for temporal dispatch queue.
TemporalIntegrationModetypeTemporalIntegrationModeType contract for temporal integration mode.
TemporalPromptWorkflowModetypeTemporalPromptWorkflowModeType contract for temporal prompt workflow mode.
TemporalRunStatustypeTemporalRunStatusType contract for temporal run status.
TemporalRuntimeOptionstypeTemporalRuntimeOptionsConfiguration options for temporal runtime.
temporalSessionRuntimevalue(options?: TemporalClientOptions) =&gt; DurableSessionRuntimeFactoryBuild a DurableSessionRuntimeFactory for init(&#123; sessionRuntime &#125;) that delegates each session's prompt/task/shell/checkpoint calls to a Temporal workflow. The Temporal client connection is opened lazily on the first session and shared across all sessions produced by this factory. Pair with runtime: 'temporal' for production deployments. For tests, pass mode: 'mock' to use the in-process mock runtime. See the package declarations for an example.
TemporalSessionRuntimevaluetypeof TemporalSessionRuntimeRuntime API for temporal session runtime; the generated signature shows its accepted inputs and return type.
TemporalSessionRuntimeActivitiestypeTemporalSessionRuntimeActivitiesType contract for temporal session runtime activities.
TemporalSessionWorkflowInputtypeTemporalSessionWorkflowInputType contract for temporal session workflow input.
TemporalSignalClienttypeTemporalSignalClientClient implementation for temporal signal.
TemporalTlsConfigtypeTemporalTlsConfigType contract for temporal tls config.
TemporalWorkerHandletypeTemporalWorkerHandleType contract for temporal worker handle.
TemporalWorkerOptionstypeTemporalWorkerOptionsConfiguration options for temporal worker.
TemporalWorkflowQueryStatetypeTemporalWorkflowQueryStateType contract for temporal workflow query state.
ToolApprovalRequesttypeToolApprovalRequestInput contract for tool approval.

@fabric-harness/temporal/agent

ExportKindTypeScript signaturePurpose
defineTemporalAgentvalue(options?: DefineTemporalAgentOptions) =&gt; DefinedAgent&lt;JsonObject, unknown&gt;Defines temporal agent.
DefineTemporalAgentOptionstypeDefineTemporalAgentOptionsConfiguration options for define temporal agent.
resolveToolRefsvalue(bundle: TemporalBundle, refs: string[]) =&gt; ToolDef[]Resolves tool refs.
temporalvalue(config: TemporalBundleConfig) =&gt; Promise&lt;TemporalBundle&gt;Runtime API for temporal; the generated signature shows its accepted inputs and return type.
TemporalBundletypeTemporalBundleType contract for temporal bundle.
TemporalBundleConfigtypeTemporalBundleConfigType contract for temporal bundle config.

@fabric-harness/vite

@fabric-harness/vite

ExportKindTypeScript signaturePurpose
fabricHarnessvalue(options?: FabricHarnessViteOptions) =&gt; PluginCompose Harness with Vite without replacing fh dev, fh build, explicit agent builders, or the portable target registry.
FabricHarnessViteApitypeFabricHarnessViteApiType contract for fabric harness vite api.
FabricHarnessViteOptionstypeFabricHarnessViteOptionsConfiguration options for fabric harness vite.
fabricHarnessWorkerConfigvalue() =&gt; FabricHarnessWorkerConfigCustomizerNarrow customizer for @cloudflare/vite-plugin. It contributes only the Harness-generated worker entry and node compatibility flag; user bindings, migrations, and deployment settings remain untouched.
FabricHarnessWorkerConfigCustomizertypeFabricHarnessWorkerConfigCustomizerType contract for fabric harness worker config customizer.

On this page

@fabric-harness/agent-boundary@fabric-harness/agent-boundary@fabric-harness/agent-registry@fabric-harness/agent-registry@fabric-harness/azure@fabric-harness/azure@fabric-harness/azure/aks-sandbox@fabric-harness/azure/app-insights@fabric-harness/azure/foundry-runtime@fabric-harness/azure/agent@fabric-harness/channels@fabric-harness/channels@fabric-harness/channels/compatibility@fabric-harness/channels/slack@fabric-harness/channels/github@fabric-harness/channels/discord@fabric-harness/channels/teams@fabric-harness/channels/telegram@fabric-harness/channels/twilio@fabric-harness/channels/whatsapp@fabric-harness/channels/google-chat@fabric-harness/channels/linear@fabric-harness/channels/notion@fabric-harness/channels/stripe@fabric-harness/channels/zendesk@fabric-harness/channels/intercom@fabric-harness/channels/shopify@fabric-harness/channels/messenger@fabric-harness/channels/resend@fabric-harness/channels/salesforce-marketing-cloud@fabric-harness/channels/buzz@fabric-harness/channels/buzz-tail@fabric-harness/channels/buzz-decisions@fabric-harness/channels/buzz-postgres@fabric-harness/channels/buzz-attestation@fabric-harness/channels/buzz-doctor@fabric-harness/channels/buzz-media@fabric-harness/cli@fabric-harness/cli@fabric-harness/cli/config@fabric-harness/cloudflare@fabric-harness/cloudflare@fabric-harness/cloudflare/agent@fabric-harness/cloudflare/workers-ai@fabric-harness/cloudflare/computer@fabric-harness/cloudflare/shell@fabric-harness/cloudflare/scheduled@fabric-harness/cloudflare/persistence@fabric-harness/connectors@fabric-harness/connectors@fabric-harness/connectors/s3@fabric-harness/connectors/azure-blob@fabric-harness/connectors/gcs@fabric-harness/connectors/github@fabric-harness/connectors/databricks-volume@fabric-harness/connectors/k8s@fabric-harness/connectors/vercel@fabric-harness/connectors/modal@fabric-harness/connectors/sandbox-refs@fabric-harness/connectors/sandbox-certification@fabric-harness/databases@fabric-harness/databases@fabric-harness/databases/postgres@fabric-harness/databases/mysql@fabric-harness/databases/sqlite@fabric-harness/databases/mongodb@fabric-harness/databases/redis@fabric-harness/databricks@fabric-harness/databricks@fabric-harness/databricks/agent@fabric-harness/databricks/sql-sandbox@fabric-harness/databricks/app-user-authorization@fabric-harness/databricks/platform@fabric-harness/databricks/runtime@fabric-harness/node@fabric-harness/node@fabric-harness/node/agent@fabric-harness/node/docker-agent@fabric-harness/node/k8s-agent@fabric-harness/sdk@fabric-harness/sdk@fabric-harness/sdk/strict@fabric-harness/sdk/cloudflare@fabric-harness/sdk/channel@fabric-harness/sdk/conversation@fabric-harness/sdk/experimental@fabric-harness/sdk/otel-observer@fabric-harness/sdk/testing@fabric-harness/sdk/testing/contracts@fabric-harness/temporal@fabric-harness/temporal@fabric-harness/temporal/agent@fabric-harness/vite@fabric-harness/vite