/** * mcp/server/session-tools.ts * * The session lifecycle operator methods the MCP server surfaces as first-class * tools, so an external agent tool can drive a GoodVibes session end to end: * create a session, attach to it, send it a message, read its transcript, and * steer a live turn. These are ordinary cataloged operator methods, this file * just names the lifecycle subset and its intent so the generator can lift them * to the front of the tool list and give each a task-oriented hint. */ /** A named step in the session lifecycle, mapped to the operator method that performs it. */ export interface SessionLifecycleTool { /** The session-driving intent this method serves. */ readonly intent: 'create' | 'attach' | 'send-message' | 'read-transcript' | 'steer'; /** The cataloged operator method id. */ readonly methodId: string; /** A one-line, task-oriented hint layered on top of the catalog description. */ readonly hint: string; } /** * The ordered session lifecycle. Order is meaningful: it is the natural * sequence an agent follows, and the generator preserves it at the front of the * emitted tool list. */ export declare const SESSION_LIFECYCLE_TOOLS: readonly SessionLifecycleTool[]; /** The lifecycle method ids, in lifecycle order. */ export declare const SESSION_LIFECYCLE_METHOD_IDS: readonly string[]; /** Whether a method id is one of the first-class session lifecycle tools. */ export declare function isSessionLifecycleMethodId(methodId: string): boolean; /** The lifecycle descriptor for a method id, or undefined when it is not a lifecycle method. */ export declare function sessionLifecycleToolFor(methodId: string): SessionLifecycleTool | undefined; /** The lifecycle order rank of a method id (lower is earlier); Infinity when not a lifecycle method. */ export declare function sessionLifecycleRank(methodId: string): number; //# sourceMappingURL=session-tools.d.ts.map