package handlers // Server-initiated initialize call: types per spec ยง5.4. Supervisor sends this // immediately after spawn. clientCapabilities.terminal=false (MVP no terminal). type InitializeParams struct { ProtocolVersion int `json:"protocolVersion"` ClientCapabilities ClientCapabilities `json:"clientCapabilities"` ClientInfo ClientInfo `json:"clientInfo"` } type ClientCapabilities struct { Fs FsCapability `json:"fs"` Terminal bool `json:"terminal"` } type FsCapability struct { ReadTextFile bool `json:"readTextFile"` WriteTextFile bool `json:"writeTextFile"` } type ClientInfo struct { Name string `json:"name"` Version string `json:"version"` } type InitializeResult struct { ProtocolVersion int `json:"protocolVersion"` AgentCapabilities map[string]any `json:"agentCapabilities,omitempty"` AgentInfo map[string]any `json:"agentInfo,omitempty"` AuthMethods []any `json:"authMethods,omitempty"` } // BuildInitializeParams returns standard initialize params. func BuildInitializeParams(version string) InitializeParams { return InitializeParams{ ProtocolVersion: 1, ClientCapabilities: ClientCapabilities{ Fs: FsCapability{ReadTextFile: true, WriteTextFile: true}, Terminal: false, }, ClientInfo: ClientInfo{Name: "agent-coding-workflow", Version: version}, } }