Skip to content

ServerTool

Defined in: packages/engine/src/lib/agent-session/server-tool.ts:36

A tool the model can call, executed inside the Engine process.

Input

Output

readonly approval: "never"

Defined in: packages/engine/src/lib/agent-session/server-tool.ts:50

Defaults to never when declared through serverTool.


readonly description: string

Defined in: packages/engine/src/lib/agent-session/server-tool.ts:40

Description shown to the model.


readonly input: ZodType<Input>

Defined in: packages/engine/src/lib/agent-session/server-tool.ts:42

Schema the model’s arguments are validated against. Must be pure and deterministic because it may be evaluated more than once per call.


readonly locus: "server"

Defined in: packages/engine/src/lib/agent-session/server-tool.ts:46

Always server.


readonly name: string

Defined in: packages/engine/src/lib/agent-session/server-tool.ts:38

Name the model calls the tool by. Must match ^[A-Za-z0-9_-]{1,64}$.


readonly output: ZodType<Output>

Defined in: packages/engine/src/lib/agent-session/server-tool.ts:44

Schema the tool’s result is validated against. Must be pure and deterministic because it may be evaluated more than once per call.


readonly sideEffect: "idempotent" | "read_only" | "non_idempotent"

Defined in: packages/engine/src/lib/agent-session/server-tool.ts:48

Defaults to non_idempotent when declared through serverTool.

execute(input, ctx): Promise<Output>

Defined in: packages/engine/src/lib/agent-session/server-tool.ts:52

Runs the tool. Mutating tools must check ctx.signal before any side effect.

Input

ServerToolContext

Promise<Output>


summarize(output): string

Defined in: packages/engine/src/lib/agent-session/server-tool.ts:54

Pure, synchronous, user-safe one-line description of a result.

Output

string