Documentation
¶
Index ¶
- type CreateSessionInput
- type CreateSessionOutput
- type ListSessionsInput
- type ListSessionsOutput
- type MessageOutput
- type PublishMessageInput
- type PublishMessageOutput
- type ReadInboxInput
- type ReadMessagesInput
- type ReadMessagesOutput
- type Server
- type SessionInfoOutput
- type SessionStatusInput
- type SubscribeInput
- type SubscribeOutput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateSessionInput ¶
type CreateSessionInput struct {
Name string `json:"name" jsonschema:"Human-readable session name"`
Agent string `json:"agent,omitempty" jsonschema:"Agent type (e.g. claude, codex, agy). Defaults to configured default."`
Repo string `json:"repo,omitempty" jsonschema:"Path to the git repository"`
Base string `json:"base,omitempty" jsonschema:"Base branch to create worktree from"`
Prompt string `json:"prompt,omitempty" jsonschema:"Initial prompt to send to the agent"`
Model string `json:"model,omitempty" jsonschema:"Model for the agent to use (expands {model} in agent args)"`
NoRepo bool `json:"no_repo,omitempty" jsonschema:"Create session without a git worktree"`
InPlace bool `json:"in_place,omitempty" jsonschema:"Run agent directly in repo without creating a worktree"`
AllowConcurrent bool `json:"allow_concurrent,omitempty" jsonschema:"Allow multiple in-place sessions on same repo"`
}
type CreateSessionOutput ¶
type ListSessionsInput ¶
type ListSessionsInput struct{}
type ListSessionsOutput ¶
type ListSessionsOutput struct {
Sessions []SessionInfoOutput `json:"sessions"`
}
type MessageOutput ¶
type MessageOutput struct {
ID string `json:"id"`
Seq int64 `json:"seq"`
Stream string `json:"stream"`
SenderID string `json:"sender_id"`
SenderName string `json:"sender_name,omitempty"`
Body string `json:"body"`
ThreadID string `json:"thread_id,omitempty"`
ReplyTo string `json:"reply_to,omitempty"`
CreatedAt string `json:"created_at"`
// System marks an automated daemon-authored notification (e.g. PR/CI
// notices) rather than a session/human message. It is not a replyable
// session. See issue #887.
System bool `json:"system,omitempty"`
}
type PublishMessageInput ¶
type PublishMessageInput struct {
Topic string `json:"topic" jsonschema:"Topic/stream name to publish to"`
Body string `json:"body" jsonschema:"Message body"`
Sender string `json:"sender,omitempty" jsonschema:"Sender name for attribution"`
ThreadID string `json:"thread_id,omitempty" jsonschema:"Thread ID for threaded conversations"`
ReplyTo string `json:"reply_to,omitempty" jsonschema:"Topic where replies should be sent"`
}
type PublishMessageOutput ¶
type ReadInboxInput ¶ added in v0.54.0
type ReadMessagesInput ¶
type ReadMessagesInput struct {
Topic string `json:"topic" jsonschema:"Topic/stream name to read from"`
Subscriber string `json:"subscriber,omitempty" jsonschema:"Subscriber ID for tracking read position"`
All bool `json:"all,omitempty" jsonschema:"Read all messages instead of only unread"`
ThreadID string `json:"thread_id,omitempty" jsonschema:"Filter to a specific thread"`
Ack bool `json:"ack,omitempty" jsonschema:"Acknowledge messages after reading"`
}
type ReadMessagesOutput ¶
type ReadMessagesOutput struct {
Messages []MessageOutput `json:"messages"`
}
type SessionInfoOutput ¶
type SessionInfoOutput struct {
ID string `json:"id"`
Name string `json:"name"`
RepoPath string `json:"repo_path,omitempty"`
RepoName string `json:"repo_name,omitempty"`
WorktreePath string `json:"worktree_path,omitempty"`
Branch string `json:"branch,omitempty"`
Agent string `json:"agent"`
AgentSessionID string `json:"agent_session_id,omitempty"`
Model string `json:"model,omitempty"`
Status string `json:"status"`
AgentStatus string `json:"agent_status,omitempty"`
ExitCode *int `json:"exit_code,omitempty"`
CreatedAt string `json:"created_at"`
LastAttachedAt string `json:"last_attached_at,omitempty"`
Dirty bool `json:"dirty,omitempty"`
UnpushedCount int `json:"unpushed_count,omitempty"`
}
type SessionStatusInput ¶
type SessionStatusInput struct {
Session string `json:"session" jsonschema:"Session name or ID"`
}
type SubscribeInput ¶
type SubscribeInput struct {
Topic string `json:"topic" jsonschema:"Topic/stream name to subscribe to"`
Subscriber string `json:"subscriber,omitempty" jsonschema:"Subscriber ID for tracking read position"`
ThreadID string `json:"thread_id,omitempty" jsonschema:"Filter to a specific thread"`
Ack bool `json:"ack,omitempty" jsonschema:"Acknowledge the message after receiving it"`
}
type SubscribeOutput ¶
type SubscribeOutput struct {
Message MessageOutput `json:"message"`
}
Click to show internal directories.
Click to hide internal directories.