Stacklink
Reference

Meta-tools

The model-callable tool surface exposed by every session.

These are the tools your agent actually calls — through session.tools() or over MCP. They are the same across every provider; provider-specific operations are reached through them.

These six definitions are the complete router surface. API keys, OAuth, Studio, SDK adapters, enabled Memory, Knowledge packs, and provider count do not change it.

Router surface — exactly six tools

ToolPurpose
STACKLINK_SEARCH_TOOLSRun up to four atomic task searches and return at most six candidates per query.
STACKLINK_GET_TOOL_CONTRACTSLoad up to six exact signed contracts returned by search.
STACKLINK_MANAGE_CONNECTIONSList or authorize accounts for one exact provider.
STACKLINK_EXECUTE_TOOLSExecute one or more signed contracts with bounded concurrency.
STACKLINK_REMOTE_WORKBENCHUse deferred workbench operations for all runtimes, workspaces, files, artifacts, and reusable runs.
STACKLINK_GET_OPERATIONInspect or cancel an exact connection, approval, tool, batch, or Workbench operation.

Search returns compact descriptors and signed contractRef values, not raw provider schemas. Only those references can load contracts or execute tools.

Waiting and resumption

The runtime owns waiting_for_connection and waiting_for_approval. It persists the model message history, stops the model loop, and resumes exactly once from a terminal platform event. The model does not poll OAuth or approval state.

Memory and internal capabilities

Memory recall and capture are automatic session middleware and add zero initial tools. Platform, Knowledge, GST, and explicit Memory operations are never appended as raw definitions. Host applications use their typed APIs; model-facing internal capabilities must pass through the same bounded search, signed contract, scope, and execution rules as provider tools.

Specialist surface

A specialist session can expose one to ten exact direct provider tools:

modelSurface: {
  mode: 'specialist',
  specialist: {
    toolKeys: ['gmail.messages.search'],
    includeConnectionManagement: true,
  },
}

Connection management counts toward the same maximum of ten. Whole-provider preload and hybrid surfaces are rejected.

On this page