Skip to main content

TypeScript SDK Deno API

This page lists declarations added or changed by @stacklok-oss/mecatl-sdk/deno. The entry point also exports the shared core API.

Symbol index

SymbolKind
connectFunction
DaemonInfoInterface
DenoConnectOptionsType alias
NodeTransportCommonOptionsInterface
NodeTransportOptionsType alias
queryFunction
QueryInterface
QueryOptionsInterface
spawnFunction
SpawnedClientInterface
SpawnOptionsInterface

Functions

connect

Creates a Deno client using the shared ConnectRPC gRPC transport.

export declare function connect(options: DenoConnectOptions): Client;

Parameters:

  • options (DenoConnectOptions): TCP authority, Unix socket, credentials, HTTP/2 settings, or a caller-owned transport.

Returns: Client: A high-level client without callback-tool registration.

query

Spawns if needed, creates one session, runs one prompt, and cleans up owned resources.

export declare function query(prompt: PromptInput, options?: QueryOptions): Promise<Query>;

Parameters:

  • prompt (PromptInput): Text or ordered text, image, and audio parts for the run.
  • options (QueryOptions, optional): Session, responder, cancellation, retention, and daemon options.

Returns: Promise<Query>: A single-consumption event stream for the query-created session.

Throws: PlanApprovalRequiredError when plan mode has no approval responder.

spawn

Starts one local mecated daemon with Deno.Command and waits for its ready-file barrier.

export declare function spawn(options?: SpawnOptions): Promise<SpawnedClient>;

Parameters:

  • options (SpawnOptions, optional): Executable, daemon arguments, environment, readiness, and diagnostics options.

Returns: Promise<SpawnedClient>: A client that owns the daemon process and its private runtime directory.

Interfaces

DaemonInfo

Non-secret facts published by a Deno-owned daemon.

export interface DaemonInfo

DaemonInfo.apiMajor

The ready document's wire API major.

readonly apiMajor: number;

DaemonInfo.features

Deployment-scoped feature identifiers reported by the daemon.

readonly features: readonly string[];

DaemonInfo.grpcAddress

Loopback TCP gRPC address used by this client.

readonly grpcAddress: string;

DaemonInfo.pid

The spawned daemon's process identifier.

readonly pid: number;

DaemonInfo.transport

Deno-spawned clients use the shared ConnectRPC gRPC transport.

readonly transport: "grpc";

NodeTransportCommonOptions

Shared credentials and HTTP/2 settings for gRPC in Node.js, Bun, or Deno.

export interface NodeTransportCommonOptions extends CredentialOptions

NodeTransportCommonOptions.nodeOptions

HTTP/2 and TLS session options. The SDK controls createConnection when using socketPath.

nodeOptions?: Omit<SecureClientSessionOptions, "createConnection">;

Query

One query-owned event stream and its created session ID.

export interface Query extends AsyncIterable<Event>

Query.sessionId

The ID of the session created for this query.

readonly sessionId: string;

QueryOptions

Options for one Deno query() call.

export interface QueryOptions

QueryOptions.client

Use an existing client instead of spawning a local daemon. The client remains caller-owned.

client?: Client;

QueryOptions.onPermissionAsk

Automatically answer permission asks. With no responder, query denies each ask safely.

onPermissionAsk?: PermissionAskResponder;

QueryOptions.onPlanApproval

Required in plan mode and invoked only for PresentPlan approval asks.

onPlanApproval?: PlanApprovalResponder;

QueryOptions.retainSession

Keep the created session after the query. SDK-spawned daemons use an in-memory store.

retainSession?: boolean;

QueryOptions.session

Fields applied when query creates its session.

session?: CreateSessionOptions;

QueryOptions.signal

Abort this query and clean up every resource it created.

signal?: AbortSignal;

QueryOptions.spawn

Deno daemon options used only when query creates its own client.

spawn?: SpawnOptions;

SpawnedClient

A Client that owns one Deno.Command-launched local daemon.

export interface SpawnedClient extends Client

SpawnedClient.daemon

The ready document's non-secret daemon facts.

readonly daemon: DaemonInfo;

SpawnOptions

Options for starting one Deno-owned local daemon.

export interface SpawnOptions extends ClientDiagnosticsOptions

SpawnOptions.args

Additional daemon arguments. SDK-owned listener and lifecycle flags cannot be replaced.

args?: readonly string[];

SpawnOptions.binaryPath

Explicit mecated executable. Defaults to resolving mecated through PATH.

binaryPath?: string;

SpawnOptions.env

Environment overrides inherited by the daemon.

env?: Readonly<Record<string, string>>;

SpawnOptions.readinessTimeoutMs

Deadline for publication of a complete supported ready document.

readinessTimeoutMs?: number;

SpawnOptions.tempDirectory

Parent directory for the private ready-file directory. Defaults to Deno's temporary directory.

tempDirectory?: string;

Type aliases

DenoConnectOptions

Options accepted by gRPC connect() in Deno.

export type DenoConnectOptions = (NodeTransportOptions | InjectedTransportOptions) & ClientDiagnosticsOptions;

NodeTransportOptions

Selects a TCP authority or Unix domain socket for the gRPC transport.

export type NodeTransportOptions = NodeTransportCommonOptions & ({
baseUrl: string;
socketPath?: never;
} | {
baseUrl?: string;
socketPath: string;
});