You've already forked agentic-coding-workflow
45 lines
1.4 KiB
Go
45 lines
1.4 KiB
Go
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},
|
|
}
|
|
}
|