/** * RPC method registry and signature-derived generics. The map * registers only client-request methods (respond is a client-response, so it is absent); * map keys are the wire path segments (POST /api/session.list). */ import type { SessionsApi } from './sessions.ts'; import type { HostApi } from './host.ts'; import type { WorkspaceApi } from './workspace.ts'; import type { CommandsApi } from './commands.ts'; import type { AgentPresetsApi } from './agent-presets.ts'; import type { SkillsApi } from './skills.ts'; import type { GoalsApi } from './goals.ts'; import type { SettingsApi } from './settings.ts'; import type { CredentialsApi } from './credentials.ts'; import type { LlmApi } from './llm.ts'; import type { SubagentsApi } from './subagents.ts'; import type { RpcResponse } from './rpc.ts'; /** * Method name → method signature. Signatures are the single source of truth; payload/value * types are always derived from here. A method may declare a trailing AbortSignal after the * request (command.execute): the carrier passes its request signal, never a wire field. */ export interface RpcMethodMap { 'session.list': SessionsApi['list']; 'session.search': SessionsApi['search']; 'session.create': SessionsApi['create']; 'session.history': SessionsApi['history']; 'session.models': SessionsApi['models']; 'session.selectModel': SessionsApi['selectModel']; 'session.rename': SessionsApi['rename']; 'session.fork': SessionsApi['fork']; 'session.prompt': SessionsApi['prompt']; 'session.attachment': SessionsApi['attachment']; 'session.updateQueue': SessionsApi['updateQueue']; 'session.cancel': SessionsApi['cancel']; 'subagent.list': SubagentsApi['list']; 'subagent.history': SubagentsApi['history']; 'subagent.prompt': SubagentsApi['prompt']; 'subagent.interrupt': SubagentsApi['interrupt']; 'host.describe': HostApi['describe']; 'host.pickDirectory': HostApi['pickDirectory']; 'host.listDirectory': HostApi['listDirectory']; 'host.createDirectory': HostApi['createDirectory']; 'host.openPath': HostApi['openPath']; 'workspace.list': WorkspaceApi['list']; 'workspace.create': WorkspaceApi['create']; 'workspace.rename': WorkspaceApi['rename']; 'workspace.delete': WorkspaceApi['delete']; 'workspace.insertSessionBefore': WorkspaceApi['insertSessionBefore']; 'workspace.archiveSession': WorkspaceApi['archiveSession']; 'command.list': CommandsApi['list']; 'command.execute': CommandsApi['execute']; 'skill.list': SkillsApi['list']; 'agentPreset.list': AgentPresetsApi['list']; 'agentPreset.select': AgentPresetsApi['select']; 'agentPreset.read': AgentPresetsApi['read']; 'agentPreset.copy': AgentPresetsApi['copy']; 'agentPreset.openDocument': AgentPresetsApi['openDocument']; 'agentPreset.remove': AgentPresetsApi['remove']; 'goal.create': GoalsApi['create']; 'goal.edit': GoalsApi['edit']; 'goal.pause': GoalsApi['pause']; 'goal.resume': GoalsApi['resume']; 'goal.complete': GoalsApi['complete']; 'goal.clear': GoalsApi['clear']; 'settings.describe': SettingsApi['describe']; 'settings.openDocument': SettingsApi['openDocument']; 'settings.update': SettingsApi['update']; 'settings.replace': SettingsApi['replace']; 'settings.mutate': SettingsApi['mutate']; 'credentials.describe': CredentialsApi['describe']; 'credentials.set': CredentialsApi['set']; 'credentials.unset': CredentialsApi['unset']; 'llm.providers': LlmApi['providers']; 'llm.models': LlmApi['models']; 'llm.discoverModels': LlmApi['discoverModels']; } /** Business request payload of method K (reaches through the RpcRequest narrow form to payload). */ export type RequestPayload = Parameters[0]['payload']; /** Business return value of method K (reaches through the RpcResponse narrow form to infer the ok value of result). */ export type ResponseValue = Awaited> extends RpcResponse ? T : never; //# sourceMappingURL=rpc-map.d.ts.map