/** Slash commands contributed by agent modules and invoked through the focused agent API. */ import { type Static } from "@sinclair/typebox"; import { type EventCursor } from "./common.js"; import type { Agent, AgentProfileCatalog } from "./agents.js"; export declare const MAX_SLASH_COMMANDS = 256; export declare const MAX_SLASH_COMMAND_NAME_LENGTH = 128; export declare const MAX_SLASH_COMMAND_DESCRIPTION_LENGTH = 1024; export declare const MAX_SLASH_COMMAND_KIND_LENGTH = 128; export declare const MAX_SLASH_COMMAND_IMAGE_THUMBHASH_LENGTH = 512; export declare const MAX_SLASH_COMMAND_ARGUMENTS_LENGTH = 1000000; export declare const MAX_SLASH_COMMAND_CATALOG_BYTES: number; /** Artwork metadata; bytes come from the focused command's `image` endpoint. */ export declare const slashCommandImageSchema: import("@sinclair/typebox").TObject<{ /** Base64 ThumbHash placeholder for the image. */ thumbhash: import("@sinclair/typebox").TString; }>; /** One public slash command, without its owning module's private handler. */ export declare const slashCommandSchema: import("@sinclair/typebox").TObject<{ description: import("@sinclair/typebox").TString; hasArguments: import("@sinclair/typebox").TBoolean; image: import("@sinclair/typebox").TOptional>; kind: import("@sinclair/typebox").TOptional; /** The command itself, without a leading slash. */ name: import("@sinclair/typebox").TString; }>; /** The complete ordered catalog returned for one focused agent. */ export declare const slashCommandCatalogSchema: import("@sinclair/typebox").TArray>; kind: import("@sinclair/typebox").TOptional; /** The command itself, without a leading slash. */ name: import("@sinclair/typebox").TString; }>>; /** `POST /v0/agents/:agentId/slash-commands/:name` */ export declare const invokeSlashCommandRequestSchema: import("@sinclair/typebox").TObject<{ arguments: import("@sinclair/typebox").TOptional; mode: import("@sinclair/typebox").TObject<{ effort: import("@sinclair/typebox").TString; modelId: import("@sinclair/typebox").TString; permissionMode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"read_only">, import("@sinclair/typebox").TLiteral<"workspace_write">, import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"full_access">]>; providerId: import("@sinclair/typebox").TString; serviceTier: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; }>; mutationId: import("@sinclair/typebox").TOptional; }>; export type SlashCommandImage = Static; export type SlashCommand = Static; export type InvokeSlashCommandRequest = Static; /** A response shape that carries the focused agent's complete current command catalog. */ export interface SlashCommandCatalog { slashCommands: SlashCommand[]; } /** `POST /v0/agents/:agentId/slash-commands/:name` */ export interface InvokeSlashCommandResponse extends SlashCommandCatalog, AgentProfileCatalog { agent: Agent; /** The exact post-refresh descriptor that the owning module accepted. */ command: SlashCommand; /** Stream from here to observe every effect caused by the command. */ cursor: EventCursor; } //# sourceMappingURL=slashCommands.d.ts.map