Module: app
Classes
AppClientError
Extends
Error
Constructors
Constructor
new AppClientError(
code,message,options?):AppClientError
Parameters
code
message
string
options?
Readonly<{ data?: JsonValue; rpcCode?: number; }>
Returns
Overrides
Error.constructor
Properties
~effect/ErrorReporter/attributes?
readonlyoptional~effect/ErrorReporter/attributes?:ReadonlyRecord<string,unknown>
Inherited from
Error.~effect/ErrorReporter/attributes
~effect/ErrorReporter/ignore?
readonlyoptional~effect/ErrorReporter/ignore?:boolean
Inherited from
Error.~effect/ErrorReporter/ignore
~effect/ErrorReporter/severity?
readonlyoptional~effect/ErrorReporter/severity?:Severity
Inherited from
Error.~effect/ErrorReporter/severity
~effect/Runtime/errorExitCode?
readonlyoptional~effect/Runtime/errorExitCode?:number
Inherited from
Error.~effect/Runtime/errorExitCode
~effect/Runtime/errorReported?
readonlyoptional~effect/Runtime/errorReported?:boolean
Inherited from
Error.~effect/Runtime/errorReported
cause?
optionalcause?:unknown
Inherited from
Error.cause
code
readonlycode:AppClientErrorCode
data?
readonlyoptionaldata?:JsonValue
message
message:
string
Inherited from
Error.message
name
name:
string
Inherited from
Error.name
rpcCode?
readonlyoptionalrpcCode?:number
stack?
optionalstack?:string
Inherited from
Error.stack
stackTraceLimit
staticstackTraceLimit:number
The Error.stackTraceLimit property specifies the number of stack frames
collected by a stack trace (whether generated by new Error().stack or
Error.captureStackTrace(obj)).
The default value is 10 but may be set to any valid JavaScript number. Changes
will affect any stack trace captured after the value has been changed.
If set to a non-number value, or set to a negative number, stack traces will not capture any frames.
Inherited from
Error.stackTraceLimit
Methods
captureStackTrace()
staticcaptureStackTrace(targetObject,constructorOpt?):void
Creates a .stack property on targetObject, which when accessed returns
a string representing the location in the code at which
Error.captureStackTrace() was called.
The first line of the trace will be prefixed with
${myObject.name}: ${myObject.message}.
The optional constructorOpt argument accepts a function. If given, all frames
above constructorOpt, including constructorOpt, will be omitted from the
generated stack trace.
The constructorOpt argument is useful for hiding implementation
details of error generation from the user. For instance:
Parameters
targetObject
object
constructorOpt?
Function
Returns
void
Inherited from
Error.captureStackTrace
prepareStackTrace()
staticprepareStackTrace(err,stackTraces):any
Parameters
err
Error
stackTraces
CallSite[]
Returns
any
See
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Inherited from
Error.prepareStackTrace
Interfaces
AppAbortSignal
Properties
aborted
readonlyaborted:boolean
Methods
addEventListener()
addEventListener(
type,listener,options?):void
Parameters
type
"abort"
listener
() => void
options?
Readonly<{ once?: boolean; }>
Returns
void
removeEventListener()
removeEventListener(
type,listener):void
Parameters
type
"abort"
listener
() => void
Returns
void
AppClient
Properties
connected
readonlyconnected:boolean
disposed
readonlydisposed:boolean
Methods
call()
call<
Id>(routeId,input,options?):Promise<AppRouteResult<Id>>
Type Parameters
Id
Id extends `tool:${string}/${string}`
Parameters
routeId
Id
input
AppRouteInput<Id>
options?
Returns
Promise<AppRouteResult<Id>>
connect()
connect(
options?):Promise<AppInitializeResult>
Parameters
options?
Returns
Promise<AppInitializeResult>
dispose()
dispose():
void
Returns
void
onToolCancelled()
onToolCancelled(
listener): () =>void
Parameters
listener
Returns
() => void
onToolError()
onToolError<
Id>(routeId,listener): () =>void
Type Parameters
Id
Id extends `tool:${string}/${string}`
Parameters
routeId
Id
listener
Returns
() => void
onToolInput()
onToolInput<
Id>(routeId,listener): () =>void
Type Parameters
Id
Id extends `tool:${string}/${string}`
Parameters
routeId
Id
listener
Returns
() => void
onToolResult()
onToolResult<
Id>(routeId,listener): () =>void
Type Parameters
Id
Id extends `tool:${string}/${string}`
Parameters
routeId
Id
listener
Returns
() => void
rebind()
rebind(
options?):Promise<AppInitializeResult>
Parameters
options?
Returns
Promise<AppInitializeResult>
request()
request<
Result>(method,params?,options?):Promise<Result>
Type Parameters
Result
Result extends JsonValue = JsonValue
Parameters
method
string
params?
JsonObject
options?
Returns
Promise<Result>
AppConnectOptions
Extended by
Properties
parent?
readonlyoptionalparent?:AppMessageTarget
targetOrigin?
readonlyoptionaltargetOrigin?:string
window?
readonlyoptionalwindow?:AppWindow
AppImplementation
Properties
name
readonlyname:string
version
readonlyversion:string
AppInitializeResult
Extends
JsonObject
Indexable
[
key:string]:JsonValue
Properties
hostCapabilities
readonlyhostCapabilities:JsonObject
hostContext
readonlyhostContext:JsonObject
hostInfo
readonlyhostInfo:JsonObject
protocolVersion
readonlyprotocolVersion:"2026-01-26"
AppMessageEvent
Properties
data
readonlydata:unknown
origin
readonlyorigin:string
source
readonlysource:unknown
AppMessageTarget
Methods
postMessage()
postMessage(
message,targetOrigin):void
Parameters
message
JsonObject
targetOrigin
string
Returns
void
AppRegister
Project-generated declarations augment this interface with routes.
AppRequestOptions
Properties
signal?
readonlyoptionalsignal?:AppAbortSignal
timeoutMs?
readonlyoptionaltimeoutMs?:number
AppRouteContract
Properties
input
readonlyinput:unknown
result
readonlyresult:unknown
AppWindow
Properties
parent
readonlyparent:AppMessageTarget
Methods
addEventListener()
addEventListener(
type,listener):void
Parameters
type
"message"
listener
(event) => void
Returns
void
removeEventListener()
removeEventListener(
type,listener):void
Parameters
type
"message"
listener
(event) => void
Returns
void
CreateAppClientOptions
Extends
Properties
appCapabilities?
readonlyoptionalappCapabilities?:JsonObject
appInfo?
readonlyoptionalappInfo?:AppImplementation
parent?
readonlyoptionalparent?:AppMessageTarget
Inherited from
targetOrigin?
readonlyoptionaltargetOrigin?:string
Inherited from
AppConnectOptions.targetOrigin
timeoutMs?
readonlyoptionaltimeoutMs?:number
window?
readonlyoptionalwindow?:AppWindow
Inherited from
Type Aliases
AppClientErrorCode
AppClientErrorCode =
"timeout"|"aborted"|"disposed"|"connection-rebound"|"invalid-message"|"rpc"|"capability-unavailable"|"consent-required"
AppRouteId
AppRouteId =
unknownextendsAppRoutes?`tool:${string}/${string}`:Extract<keyofAppRoutes,`tool:${string}/${string}`> &string
AppRouteInput
AppRouteInput<
Id> =Idextends keyofAppRoutes?AppRoutes[Id] extendsAppRouteContract?AppRoutes[Id]["input"] :unknown:unknown
What a caller sends for one route: the registered inputSchema input type (defaults optional, transforms as the wire carries them), before the server parses it.
Type Parameters
Id
Id extends string
AppRouteResult
AppRouteResult<
Id> =Idextends keyofAppRoutes?AppRoutes[Id] extendsAppRouteContract?AppRoutes[Id]["result"] :unknown:unknown
The structured result one route resolves with: the registered resultSchema output.
Type Parameters
Id
Id extends string
AppRoutes
AppRoutes =
AppRegisterextendsobject?Routesextends{ readonly [Id in keyof Routes]: AppRouteContract }?Routes:never:unknown
AppToolCancelledListener
AppToolCancelledListener = (
event) =>Promise<void> |void
Parameters
event
Readonly<{ reason?: string; }>
Returns
Promise<void> | void
AppToolErrorListener
AppToolErrorListener = (
error) =>Promise<void> |void
Parameters
error
Returns
Promise<void> | void
AppToolInputListener
AppToolInputListener<
Id> = (input) =>Promise<void> |void
Type Parameters
Id
Id extends string
Parameters
input
AppRouteInput<Id>
Returns
Promise<void> | void
AppToolResultListener
AppToolResultListener<
Id> = (result) =>Promise<void> |void
Type Parameters
Id
Id extends string
Parameters
result
AppRouteResult<Id>
Returns
Promise<void> | void
Variables
APP_PROTOCOL_VERSION
constAPP_PROTOCOL_VERSION:"2026-01-26"="2026-01-26"
createAppClient
constcreateAppClient: (options?) =>AppClient