Documentation
¶
Index ¶
- Constants
- Variables
- func Build(in Input) model.Trace
- func Category(tool string) model.ToolCategory
- func IsMutatingTool(mutating, readonly []string, tool string) bool
- func IsToolEvent(ev string) bool
- func MatchTool(patterns []string, tool string) bool
- func ToolPaths(input string) []string
- func ToolResultText(raw json.RawMessage) string
- func ToolSummary(tool, input, cwd string) string
- type Block
- type Content
- type Entry
- type HookPayload
- type Input
- type Message
- type Origin
- type Usage
Constants ¶
View Source
const ( EvSessionStart = "SessionStart" EvUserPromptSubmit = "UserPromptSubmit" EvPreToolUse = "PreToolUse" EvPostToolUse = "PostToolUse" EvPostToolUseFailure = "PostToolUseFailure" EvSubagentStart = "SubagentStart" EvSubagentStop = "SubagentStop" EvPreCompact = "PreCompact" EvStop = "Stop" EvSessionEnd = "SessionEnd" )
View Source
const Agent = "claude-code"
Variables ¶
View Source
var Events = []string{ EvSessionStart, EvUserPromptSubmit, EvPreToolUse, EvPostToolUse, EvPostToolUseFailure, EvSubagentStart, EvSubagentStop, EvPreCompact, EvStop, EvSessionEnd, }
Functions ¶
func Category ¶
func Category(tool string) model.ToolCategory
func IsMutatingTool ¶
func IsToolEvent ¶
func ToolResultText ¶
func ToolResultText(raw json.RawMessage) string
ToolResultText flattens the content of a tool_result block, which is a string or a list of text and image blocks.
func ToolSummary ¶
Types ¶
type Block ¶
type Block struct {
Type string `json:"type"`
Text string `json:"text"`
Thinking string `json:"thinking"`
ID string `json:"id"`
Name string `json:"name"`
Input json.RawMessage `json:"input"`
ToolUseID string `json:"tool_use_id"`
Content json.RawMessage `json:"content"`
IsError bool `json:"is_error"`
}
type Content ¶
type Content []Block
Content is a string or a list of blocks in the transcript.
func (Content) IsPlainString ¶
func (*Content) UnmarshalJSON ¶
type Entry ¶
type Entry struct {
Type string `json:"type"`
Subtype string `json:"subtype"`
UUID string `json:"uuid"`
ParentUUID string `json:"parentUuid"`
Timestamp time.Time `json:"timestamp"`
IsSidechain bool `json:"isSidechain"`
IsMeta bool `json:"isMeta"`
SessionID string `json:"sessionId"`
Version string `json:"version"`
Cwd string `json:"cwd"`
GitBranch string `json:"gitBranch"`
AgentID string `json:"agentId"`
Message *Message `json:"message"`
Origin *Origin `json:"origin"`
AITitle string `json:"aiTitle"`
Content json.RawMessage `json:"content"`
ToolResult json.RawMessage `json:"toolUseResult"`
}
type HookPayload ¶
type HookPayload struct {
SessionID string `json:"session_id"`
TranscriptPath string `json:"transcript_path"`
Cwd string `json:"cwd"`
HookEventName string `json:"hook_event_name"`
PermissionMode string `json:"permission_mode"`
PromptID string `json:"prompt_id"`
Prompt string `json:"prompt"`
Source string `json:"source"`
Reason string `json:"reason"`
AgentID string `json:"agent_id"`
AgentType string `json:"agent_type"`
AgentTranscriptPath string `json:"agent_transcript_path"`
ToolName string `json:"tool_name"`
ToolInput json.RawMessage `json:"tool_input"`
ToolResponse json.RawMessage `json:"tool_response"`
ToolUseID string `json:"tool_use_id"`
Error string `json:"error"`
IsInterrupt bool `json:"is_interrupt"`
DurationMS int64 `json:"duration_ms"`
LastAssistantMessage string `json:"last_assistant_message"`
Trigger string `json:"trigger"`
Model string `json:"model"`
}
func ParseHookPayload ¶
func ParseHookPayload(b []byte) (HookPayload, error)
Click to show internal directories.
Click to hide internal directories.