This index lists declarations owned by pkg/kit. Follow each Go reference for signatures, fields and interface methods. Aliases link to their owning type; use its reference for dependency members instead of importing internal packages.
Guides: overview, options, decisions, authentication, callbacks, sessions, code mode, subagents.
CLIOptions is for CLI integration. ResetForTesting is a test helper available only with the testing build tag, not a production embedding operation. Its source contract is authoritative when the default Go reference omits tagged declarations.
AnthropicCredentials — AnthropicCredentials holds Anthropic API credentials supporting both OAuth and API key authentication methods.CLIMCPAuthHandler.Close — Close releases the inner handler’s resources.CLIMCPAuthHandler.HandleAuth — HandleAuth delegates to the inner handler (which invokes OnAuthURL, runs the callback server, and returns the full callback URL) and emits a final success or failure notification.CLIMCPAuthHandler.RedirectURI — RedirectURI returns the OAuth redirect URI from the inner handler.CLIMCPAuthHandler — CLIMCPAuthHandler is the MCP OAuth handler for CLI/TUI consumers.CopilotCredentials — CopilotCredentials holds GitHub OAuth and Copilot API credentials.CredentialManager — CredentialManager manages API keys and OAuth credentials.CredentialStore — CredentialStore holds all stored credentials for various providers.DefaultMCPAuthHandler.Close — Close releases the reserved port and shuts down the handler.DefaultMCPAuthHandler.HandleAuth — HandleAuth invokes [OnAuthURL] with the authorization URL (if configured) and waits for the OAuth callback on the local server.DefaultMCPAuthHandler.Port — Port returns the TCP port the callback server is bound to.DefaultMCPAuthHandler.RedirectURI — RedirectURI returns the OAuth redirect URI pointing to the local callback server.DefaultMCPAuthHandler — DefaultMCPAuthHandler provides the transport mechanics of an OAuth flow — reserving a local TCP port and running a one-shot HTTP callback server — without making any user-experience decisions.GetAnthropicAPIKey — GetAnthropicAPIKey resolves the Anthropic API key using the standard resolution order: stored credentials -> ANTHROPIC_API_KEY env var.GetCopilotCredentials — GetCopilotCredentials retrieves stored GitHub Copilot credentials.GetProviderAPIKey — GetProviderAPIKey returns the API key stored for providerID, or “” when none is stored.GetValidCopilotAccessToken — GetValidCopilotAccessToken returns a fresh GitHub Copilot access token.HasAnthropicCredentials — HasAnthropicCredentials checks if valid Anthropic credentials are stored (either OAuth token or API key).HasCopilotCredentials — HasCopilotCredentials checks if valid GitHub Copilot credentials are stored.HasOpenAICredentials — HasOpenAICredentials checks if valid OpenAI credentials are stored (either OAuth token or API key).HasProviderCredentials — HasProviderCredentials reports whether any credential (API key or OAuth token) is stored for providerID.IsMissingCredentialsError — IsMissingCredentialsError reports whether err is (or wraps) a MissingCredentialsError.LoginInstructions — LoginInstructions contains the information needed to authorize a provider.LoginOptions — LoginOptions configures a provider OAuth login.LoginProvider — LoginProvider authorizes a provider with OAuth and stores its credentials.MCPAuthHandler — MCPAuthHandler handles OAuth authorization for MCP servers.MissingCredentialsError — MissingCredentialsError is returned when no API key or OAuth token can be resolved for a provider.NewCLIMCPAuthHandler — NewCLIMCPAuthHandler creates a CLI auth handler that prints status messages to stderr, opens the authorization URL in the system browser, and delegates the callback-server mechanics to a [DefaultMCPAuthHandler].NewCredentialManager — NewCredentialManager creates a credential manager for secure storage and retrieval of authentication credentials.NewDefaultMCPAuthHandlerWithPort — NewDefaultMCPAuthHandlerWithPort creates a handler that listens on the specified port on localhost.NewDefaultMCPAuthHandler — NewDefaultMCPAuthHandler creates a handler that listens on a random available port on localhost.OpenAICredentials — OpenAICredentials holds OpenAI API credentials supporting both OAuth and API key authentication methods.ProviderCredentials — ProviderCredentials holds a stored API key for a generic provider.RemoveProviderCredentials — RemoveProviderCredentials deletes every stored credential for providerID.SetProviderAPIKey — SetProviderAPIKey stores an API key for providerID in the credentials file ($XDG_CONFIG_HOME/.kit/credentials.json, mode 0600).ContextStats — ContextStats contains current context usage information.Kit.Compact — Compact summarises older messages to reduce context usage.Kit.EstimateContextTokens — EstimateContextTokens returns the estimated token count of the current conversation based on session messages.Kit.GetContextStats — GetContextStats returns current context usage statistics including estimated token count, context limit, usage percentage, and message count.Kit.ShouldCompact — ShouldCompact reports whether the conversation is near the model’s context limit and should be compacted.AgentDefinition — AgentDefinition is a named, reusable subagent preset discovered from markdown definition files or built into Kit.ClassifyProviderError — ClassifyProviderError inspects err and returns it wrapped with the matching provider-error sentinel ([ErrContextOverflow], [ErrRateLimit], [ErrAuth], [ErrProviderUnavailable], or [ErrInvalidRequest]) when the underlying cause can be recognized.CompactionOptions — CompactionOptions configures compaction behaviour.CompactionResult — CompactionResult contains statistics from a compaction operation.ConfigInitOptions — ConfigInitOptions controls configuration discovery for [InitConfigWithOptions].Config — Config represents the complete application configuration including MCP servers, model settings, UI preferences, and API credentials.ContentPart — ContentPart is the marker interface for all message content block types.ConvertFromLLMMessage — ConvertFromLLMMessage converts an LLMMessage to an SDK message.ConvertToLLMMessages — ConvertToLLMMessages converts an SDK message to a slice of LLMMessages.CreateProvider — CreateProvider creates a LanguageModel based on provider config.DebugLogger — DebugLogger is an SDK-owned interface for low-level debug logging from the engine and MCP tool plumbing.DefaultRetryPolicy — DefaultRetryPolicy returns four total attempts, a one-second initial delay, a 30-second maximum delay, a two-minute retry scheduling limit, and five step resumes for each turn with delays from 5 to 80 seconds.Ephemeral — Ephemeral configures an in-memory session with no persistence (equivalent to Options.NoSession = true).ErrAuth — ErrAuth indicates a credential / authorization failure.ErrContextOverflow — ErrContextOverflow indicates the request exceeded the model’s maximum context window or the provider’s maximum request size (HTTP 413, for example Anthropic “request_too_large”).ErrInvalidRequest — ErrInvalidRequest indicates the request was structurally invalid and retrying will not help.ErrMCPNoToken — ErrMCPNoToken is the sentinel error that [MCPTokenStore] implementations should return from GetToken when no token is stored for the server.ErrProviderUnavailable — ErrProviderUnavailable indicates a transient provider/upstream failure (5xx, network error, timeout).ErrRateLimit — ErrRateLimit indicates the provider throttled the request.Finish — Finish marks the end of an assistant turn, carrying the stop reason.GetGlobalRegistry — GetGlobalRegistry returns the global models registry instance.InitConfigWithOptions — InitConfigWithOptions initializes the process-global configuration store with explicit control over discovery.InitConfig — InitConfig initializes the process-global configuration store.Isolated — Isolated turns off everything that Kit otherwise discovers or writes on the host by itself.Kit.GetAgent — GetAgent returns the named agent definition with the given name, or (nil, false) when no such agent was discovered.Kit.GetAgents — GetAgents returns the named agent definitions discovered at construction time (including built-ins, excluding disabled ones).LLMFilePart — LLMFilePart represents a file attachment (image, document, audio, etc.) that can be included in a multimodal prompt via PromptResultWithFiles.LLMFinishReason — LLMFinishReason indicates why the LLM stopped generating.LLMMessagePart — LLMMessagePart is the interface implemented by all LLM message content parts.LLMMessageRole — LLMMessageRole identifies the participant role in an LLM conversation.LLMMessage — LLMMessage represents a message in an LLM conversation, carrying a role and a slice of typed content parts (text, tool calls, reasoning, etc.).LLMPrompt — LLMPrompt is an ordered sequence of [LLMMessage] values forming a complete prompt for the LLM.LLMProviderMetadata — LLMProviderMetadata carries provider-specific metadata returned alongside LLM responses, keyed by provider name.LLMProviderOptions — LLMProviderOptions carries provider-specific key/value option maps, keyed by provider name.LLMReasoningPart — LLMReasoningPart is a reasoning/chain-of-thought content part.LLMResponse — LLMResponse represents a complete response from the LLM provider.LLMRoleAssistant — LLMRoleAssistant identifies an assistant message.LLMRoleSystem — LLMRoleSystem identifies a system message.LLMRoleTool — LLMRoleTool identifies a tool result message.LLMRoleUser — LLMRoleUser identifies a user message.LLMSpecificToolChoice — LLMSpecificToolChoice returns a tool choice that forces the model to call the named tool on the step.LLMTextPart — LLMTextPart is a plain-text content part for constructing LLM messages.LLMToolCallPart — LLMToolCallPart represents an LLM-initiated tool invocation within a message.LLMToolCall — LLMToolCall represents the raw tool invocation passed to a [Tool]’s Run method.LLMToolChoiceAuto — LLMToolChoiceAuto lets the model decide whether to call tools.LLMToolChoiceNone — LLMToolChoiceNone forbids tool calls for the step.LLMToolChoiceRequired — LLMToolChoiceRequired forces the model to call some tool on the step.LLMToolChoice — LLMToolChoice controls which tool (if any) the model is allowed or required to call on a given LLM step.LLMToolInfo — LLMToolInfo describes a tool’s name, description, and JSON-Schema parameters.LLMToolResponse — LLMToolResponse represents the raw response returned from a [Tool]’s Run method.LLMToolResultContentTypeError — LLMToolResultContentTypeError represents error text output.LLMToolResultContentTypeMedia — LLMToolResultContentTypeMedia represents media (binary) output.LLMToolResultContentTypeText — LLMToolResultContentTypeText represents text output.LLMToolResultContentType — LLMToolResultContentType classifies the kind of a tool result output (“text”, “error”, or “media”).LLMToolResultOutputContentError — LLMToolResultOutputContentError is an error-valued tool result output.LLMToolResultOutputContentMedia — LLMToolResultOutputContentMedia is a media-valued tool result output (images, audio, etc.) carrying base64-encoded data and a MIME type.LLMToolResultOutputContentText — LLMToolResultOutputContentText is a text-valued tool result output.LLMToolResultOutputContent — LLMToolResultOutputContent is the interface for tool result output content.LLMToolResultPart — LLMToolResultPart represents the result of a tool execution within a message.LLMUsage — LLMUsage contains token usage information returned by the LLM provider.LoadAgentDefinitions — LoadAgentDefinitions discovers named agents from the standard locations, applies precedence, and filters out disabled agents: 1.LoadSystemPrompt — LoadSystemPrompt loads a system prompt from a file path, or returns the string directly if it is not a valid file path.MCPServerConfig — MCPServerConfig represents configuration for an MCP server, supporting both local (stdio) and remote (StreamableHTTP/SSE) server types.MCPServer — MCPServer is an in-process MCP server from the mcp-go library.MCPTokenStoreFactory — MCPTokenStoreFactory creates an [MCPTokenStore] for a given MCP server URL.MCPTokenStore — MCPTokenStore persists OAuth tokens for a single MCP server.MCPToken — MCPToken represents an OAuth token for an MCP server, containing access and refresh tokens along with expiration metadata.MessageEntry — MessageEntry stores a conversation message as a tree entry in JSONL sessions.MessageRole — MessageRole identifies the sender of a message (user, assistant, tool, system).Message — Message is a single conversation message containing heterogeneous content parts (text, reasoning, tool calls, tool results, finish markers).ModelCost — ModelCost represents the pricing information for a model.ModelInfo — ModelInfo represents information about a specific model (capabilities, pricing, limits).ModelLimit — ModelLimit represents the context and output limits for a model.ModelsRegistry — ModelsRegistry provides validation and information about models, maintaining a registry of all supported LLM providers and their models.NewAgent — NewAgent creates a Kit using an ergonomic functional-options API.NewIsolatedAgent — NewIsolatedAgent is [NewAgent] with [Isolated] applied before opts.NewLLMSystemMessage — NewLLMSystemMessage constructs a system-role LLMMessage from one or more prompt strings.NewLLMUserMessage — NewLLMUserMessage constructs a user-role LLMMessage with optional file attachments.NewTreeManagerAdapter — NewTreeManagerAdapter creates an adapter (exported for use in New function).Option — Option configures a [Kit] created via [NewAgent].ParseModelString — ParseModelString parses a model string in “provider/model” format.ProviderConfig — ProviderConfig holds configuration for creating LLM providers.ProviderInfo — ProviderInfo represents information about a model provider from the models.dev database.ProviderResult — ProviderResult contains the result of provider creation (model + optional feedback message + closer).ReasoningContent — ReasoningContent holds extended thinking / reasoning output from the LLM.ResetForTesting — ResetForTesting clears package-global state that survives across tests in the same binary.ResponseHandler — ResponseHandler is invoked with the final assistant text for each turn.RetryPolicy — RetryPolicy limits retries for each model request and step resumes for each turn.RoleAssistant — Message roles identify user, assistant, tool and system messages.RoleSystem — Message roles identify user, assistant, tool and system messages.RoleTool — Message roles identify user, assistant, tool and system messages.RoleUser — Message roles identify user, assistant, tool and system messages.SessionHeader — SessionHeader is the first line in a JSONL session file, carrying metadata.SessionInfo — SessionInfo contains metadata about a discovered session, used for listing and session picker display.SpinnerFunc — SpinnerFunc wraps a function in a loading spinner animation.StreamingResponseHandler — StreamingResponseHandler is invoked with each streamed text delta as it arrives from the LLM.TextContent — TextContent holds plain text content within a message.ToolCallContentHandler — ToolCallContentHandler is invoked with any assistant text that accompanies a tool call within the same step.ToolCallHandler — ToolCallHandler is invoked when the LLM produces a tool call.ToolCall — ToolCall represents a tool invocation initiated by the LLM.ToolExecutionHandler — ToolExecutionHandler is invoked at the start and end of tool execution.ToolResultHandler — ToolResultHandler is invoked after a tool finishes executing.ToolResult — ToolResult represents the result of executing a tool.TreeManager — TreeManager manages a tree-structured JSONL session with branching, leaf-pointer tracking, and context building.WithAgents — WithAgents enables discovery of named agent definitions again.WithAllowMissingCredentials — WithAllowMissingCredentials lets New succeed when the configured provider cannot be created (no credentials, a failed OAuth token refresh, an unsupported provider, and so on).WithConfigFile — WithConfigFile sets an explicit config file path, overriding the default .kit.yml search.WithConfig — WithConfig enables .kit.yml discovery again (the home and project config files).WithContextFiles — WithContextFiles enables loading of project context files (AGENTS.md) from the working directory again.WithCoreTools — WithCoreTools enables the core tools again.WithDebugLogger — WithDebugLogger installs a caller-supplied [DebugLogger] for low-level engine and MCP tool plumbing output.WithDebug — WithDebug enables SDK debug logging.WithExtensions — WithExtensions enables loading of extensions again.WithExtraTools — WithExtraTools adds tools alongside the core/MCP/extension tools rather than replacing them.WithHTTPTransport — WithHTTPTransport wraps the base HTTP transport of built-in providers.WithMaxTokens — WithMaxTokens sets the maximum output tokens per LLM response.WithModelMode — WithModelMode selects a named mode for the selected model.WithModel — WithModel sets the model in “provider/model” format.WithProviderAPIKey — WithProviderAPIKey overrides the API key used to authenticate with the model provider.WithProviderURL — WithProviderURL overrides the provider endpoint URL.WithProviderWire — WithProviderWire overrides the wire protocol used for auto-routed providers: “openai” (Responses API), “openai-compat” (chat completions), “anthropic”, or “google”.WithRetryPolicy — WithRetryPolicy sets the retry limits for model requests.WithSessions — WithSessions enables persistent sessions again.WithSkillActivation — WithSkillActivation keeps activate_skill available even before any skills are registered.WithSkills — WithSkills enables skills again.WithStreaming — WithStreaming enables or disables streaming responses.WithSystemPrompt — WithSystemPrompt sets the system prompt.WithThinkingLevel — WithThinkingLevel sets the reasoning effort for models that support extended thinking.WithTools — WithTools sets the agent’s tool set, replacing the default core tools.WithUserAgent — WithUserAgent sets the per-instance HTTP identity.BooleanQuestion — BooleanQuestion returns a question that is answered with P(true).ChoiceQuestion — ChoiceQuestion returns a question that is answered with one of options.Decide — Decide sends req to a decision model with the default settings: API keys from stored credentials or the environment, and no transport wrapper.DecisionAPIError — DecisionAPIError is an HTTP error from a decision provider.DecisionAnswer — DecisionAnswer is the normalized answer to one question.DecisionBoolean — DecisionBoolean questions are answered with P(true).DecisionChoice — DecisionChoice questions are answered with one option from a set.DecisionImage — DecisionImage is an image attached to a DecisionState.DecisionModelInfo — DecisionModelInfo describes one decision model of the model database.DecisionOption — DecisionOption is one answer of a choice question.DecisionProbability — DecisionProbability is the probability of one option or level.DecisionQuestionType — DecisionQuestionType is the kind of a decision question.DecisionQuestion — DecisionQuestion is one typed question.DecisionRequest — DecisionRequest is one decision request.DecisionResult — DecisionResult is the result of Decide.DecisionScore — DecisionScore questions are answered with a position on an ordered scale.DecisionState — DecisionState is what the questions are about.DecisionUsage — DecisionUsage is the token usage of one decision request.ErrDecisionModelNotChat — ErrDecisionModelNotChat indicates a decision model used as a chat model (for example with SetModel).ErrDecisionRefused — ErrDecisionRefused indicates that the model refused a question.ErrInvalidDecisionRequest — ErrInvalidDecisionRequest indicates a request that fails validation.ErrInvalidDecisionResponse — ErrInvalidDecisionResponse indicates answers that do not match the questions.ErrNoDecisionAnswer — ErrNoDecisionAnswer indicates a question ID with no answer.ErrNotDecisionModel — ErrNotDecisionModel indicates a model that is not a decision model.ErrUnknownDecisionWire — ErrUnknownDecisionWire indicates a decision model whose protocol Kit does not know.ErrWrongDecisionAnswerType — ErrWrongDecisionAnswerType indicates an accessor for a different question type.GetDecisionModels — GetDecisionModels lists the decision models of the model database, sorted by provider and model ID.Kit.Decide — Decide sends req to a decision model.ScoreQuestion — ScoreQuestion returns a question that is answered with a position on the scale of levels, lowest first.AfterToolResultHook — AfterToolResultHook is the input for hooks that fire after a tool executes.AfterToolResultResult — AfterToolResultResult can modify the tool’s output before it reaches the LLM.AfterTurnHook — AfterTurnHook is the input for hooks that fire after a prompt turn completes.AfterTurnResult — AfterTurnResult is a placeholder — after-turn hooks are observation-only.BeforeCompactHook — BeforeCompactHook is the input for hooks that fire before compaction runs.BeforeCompactResult — BeforeCompactResult controls whether compaction proceeds.BeforeToolCallHook — BeforeToolCallHook is the input for hooks that fire before a tool executes.BeforeToolCallResult — BeforeToolCallResult controls whether the tool call proceeds.BeforeTurnHook — BeforeTurnHook is the input for hooks that fire before a prompt turn.BeforeTurnResult — BeforeTurnResult can modify the prompt, inject system messages, or add context.CodeModeCall — CodeModeCall describes one tool call made by a code mode script.CodeModeRun — CodeModeRun describes one code mode script run.CompactionEvent.EventType — EventType implements Event.CompactionEvent — CompactionEvent fires after a compaction attempt.ContextPrepareHook — ContextPrepareHook is the input for hooks that fire after the context window is assembled from the session tree (including compaction) and before the messages are sent to the LLM.ContextPrepareResult — ContextPrepareResult can replace the context window.DiffBlock — DiffBlock represents a single old→new text replacement within a file.ErrorEvent.EventType — EventType implements Event.ErrorEvent — ErrorEvent fires when an agent-level error occurs during streaming.EventCompaction — EventCompaction fires after a successful compaction.EventError — EventError fires when an agent-level error occurs during streaming.EventListener — EventListener is a callback that receives lifecycle events.EventMessageEnd — EventMessageEnd fires when the assistant message is complete.EventMessageStart — EventMessageStart fires when a new assistant message begins.EventMessageUpdate — EventMessageUpdate fires for each streaming text chunk.EventPasswordPrompt — EventPasswordPrompt fires when a sudo command needs a password.EventReasoningComplete — EventReasoningComplete fires when reasoning/thinking is finished, after the last reasoning token has been processed.EventReasoningDelta — EventReasoningDelta fires for each streaming reasoning/thinking chunk.EventReasoningStart — EventReasoningStart fires when the LLM begins reasoning/thinking.EventResponse — EventResponse fires when the LLM produces a final response.EventRetry — EventRetry fires when the LLM provider request is retried after a transient error.EventSource — EventSource fires when the LLM references a source.EventSteerConsumed — EventSteerConsumed fires when one or more steering messages have been injected into the agent turn via PrepareStep.EventStepFinish — EventStepFinish fires when a step completes, providing full step context including whether tool calls were made, the finish reason, and usage stats.EventStepResume — EventStepResume fires when a failed streaming step is restarted from the last completed step after a transient error.EventStepStart — EventStepStart fires when a new LLM call begins within a turn.EventStepUsage — EventStepUsage fires with token usage for a completed step.EventStreamFinish — EventStreamFinish fires when a per-step LLM stream completes with usage stats and a finish reason.EventTextEnd — EventTextEnd fires when the LLM finishes generating text content.EventTextStart — EventTextStart fires when the LLM begins generating text content.EventToolCallContent — EventToolCallContent fires when a step includes text alongside tool calls.EventToolCallDelta — EventToolCallDelta fires for each streamed fragment of tool call arguments.EventToolCallEnd — EventToolCallEnd fires when tool argument streaming is complete, before the tool call is parsed and execution begins.EventToolCallStart — EventToolCallStart fires when the LLM begins generating tool call arguments.EventToolCall — EventToolCall fires when a tool call has been parsed and is about to execute.EventToolExecutionEnd — EventToolExecutionEnd fires when a tool finishes executing.EventToolExecutionStart — EventToolExecutionStart fires when a tool begins executing.EventToolOutput — EventToolOutput fires when a tool produces streaming output chunks.EventToolResult — EventToolResult fires after a tool execution completes with its result.EventTurnEnd — EventTurnEnd fires after the agent finishes processing (success or error).EventTurnStart — EventTurnStart fires before the agent begins processing a prompt.EventType — EventType identifies the kind of lifecycle event.EventWarnings — EventWarnings fires when the LLM provider returns warnings.Event — Event is the interface implemented by all lifecycle events.FileDiffInfo — FileDiffInfo describes a file modification from an edit or write tool.FinishReasonContentFilter — FinishReasonContentFilter: the provider’s safety filter stopped generation.FinishReasonError — FinishReasonError: the model stopped because of an error.FinishReasonLength — FinishReasonLength: the model hit the configured max_output_tokens budget.FinishReasonOther — FinishReasonOther: provider-specific reason that doesn’t map to any of the above.FinishReasonStop — FinishReasonStop: the model produced a natural stop.FinishReasonToolCalls — FinishReasonToolCalls: the model stopped to emit tool calls (normal mid-turn state during agentic loops).FinishReasonUnknown — FinishReasonUnknown: the provider didn’t report a finish reason.HookPriorityHigh — HookPriorityHigh runs before normal hooks.HookPriorityLow — HookPriorityLow runs after normal hooks.HookPriorityNormal — HookPriorityNormal is the default priority.HookPriority — HookPriority controls execution order of hooks.Kit.OnAfterToolResult — OnAfterToolResult registers a hook that fires after each tool execution.Kit.OnAfterTurn — OnAfterTurn registers a hook that fires after each prompt turn completes.Kit.OnBeforeCompact — OnBeforeCompact registers a hook that fires before context compaction runs.Kit.OnBeforeToolCall — OnBeforeToolCall registers a hook that fires before each tool execution.Kit.OnBeforeTurn — OnBeforeTurn registers a hook that fires before each prompt turn.Kit.OnCompaction — OnCompaction registers a handler that fires only for CompactionEvent.Kit.OnContextPrepare — OnContextPrepare registers a hook that fires after the context window is built from the session tree and before messages are sent to the LLM.Kit.OnError — OnError registers a handler that fires only for ErrorEvent.Kit.OnMessageEnd — OnMessageEnd registers a handler that fires only for MessageEndEvent.Kit.OnMessageStart — OnMessageStart registers a handler that fires only for MessageStartEvent.Kit.OnMessageUpdate — OnMessageUpdate registers a handler that fires only for MessageUpdateEvent (streaming text chunks).Kit.OnPrepareStep — OnPrepareStep registers a hook that fires between steps within a multi-step agent turn, after steering messages are injected and before the messages are sent to the LLM.Kit.OnReasoningComplete — OnReasoningComplete registers a handler that fires only for ReasoningCompleteEvent.Kit.OnReasoningDelta — OnReasoningDelta registers a handler that fires only for ReasoningDeltaEvent.Kit.OnReasoningStart — OnReasoningStart registers a handler that fires only for ReasoningStartEvent.Kit.OnResponse — OnResponse registers a handler that fires only for ResponseEvent.Kit.OnRetry — OnRetry registers a handler that fires only for RetryEvent.Kit.OnSource — OnSource registers a handler that fires only for SourceEvent.Kit.OnSteerConsumed — OnSteerConsumed registers a handler that fires only for SteerConsumedEvent.Kit.OnStepContext — OnStepContext registers a context decorator before each StepStartEvent.Kit.OnStepFinish — OnStepFinish registers a handler that fires only for StepFinishEvent.Kit.OnStepResume — OnStepResume registers a handler that fires only for StepResumeEvent.Kit.OnStepStart — OnStepStart registers a handler that fires only for StepStartEvent.Kit.OnStepUsage — OnStepUsage registers a handler that fires only for StepUsageEvent.Kit.OnStreamFinish — OnStreamFinish registers a handler that fires only for StreamFinishEvent.Kit.OnTextEnd — OnTextEnd registers a handler that fires only for TextEndEvent.Kit.OnTextStart — OnTextStart registers a handler that fires only for TextStartEvent.Kit.OnToolCallContent — OnToolCallContent registers a handler that fires only for ToolCallContentEvent.Kit.OnToolCallDelta — OnToolCallDelta registers a handler that fires only for ToolCallDeltaEvent.Kit.OnToolCallEnd — OnToolCallEnd registers a handler that fires only for ToolCallEndEvent.Kit.OnToolCallStart — OnToolCallStart registers a handler that fires only for ToolCallStartEvent.Kit.OnToolCall — OnToolCall registers a handler that fires only for ToolCallEvent.Kit.OnToolExecutionEnd — OnToolExecutionEnd registers a handler that fires only for ToolExecutionEndEvent.Kit.OnToolExecutionStart — OnToolExecutionStart registers a handler that fires only for ToolExecutionStartEvent.Kit.OnToolOutput — OnToolOutput registers a handler that fires only for ToolOutputEvent (streaming tool output chunks, e.g., from the shell tool).Kit.OnToolResult — OnToolResult registers a handler that fires only for ToolResultEvent.Kit.OnTurnEnd — OnTurnEnd registers a handler that fires only for TurnEndEvent.Kit.OnTurnStart — OnTurnStart registers a handler that fires only for TurnStartEvent.Kit.OnWarnings — OnWarnings registers a handler that fires only for WarningsEvent.Kit.SubscribeSubagent — SubscribeSubagent registers a listener for real-time events from a subagent identified by its tool call ID.MessageEndEvent.EventType — EventType implements Event.MessageEndEvent — MessageEndEvent fires when the assistant message is complete.MessageStartEvent.EventType — EventType implements Event.MessageStartEvent — MessageStartEvent fires when a new assistant message begins.MessageUpdateEvent.EventType — EventType implements Event.MessageUpdateEvent — MessageUpdateEvent fires for each streaming text chunk.PasswordPromptEvent.EventType — EventType implements Event.PasswordPromptEvent — PasswordPromptEvent fires when a sudo command needs a password.PasswordPromptResponse — PasswordPromptResponse carries the password prompt result.PrepareStepHook — PrepareStepHook is the input for hooks that fire between steps within a multi-step agent turn, with full message replacement capability.PrepareStepResult — PrepareStepResult can replace the context window, the tool set, and the tool-choice mode between steps.ReasoningCompleteEvent.EventType — EventType implements Event.ReasoningCompleteEvent — ReasoningCompleteEvent fires when reasoning/thinking is finished, after the last reasoning token has been processed.ReasoningDeltaEvent.EventType — EventType implements Event.ReasoningDeltaEvent — ReasoningDeltaEvent fires for each streaming reasoning/thinking chunk.ReasoningStartEvent.EventType — EventType implements Event.ReasoningStartEvent — ReasoningStartEvent fires when the LLM begins reasoning/thinking.ResponseEvent.EventType — EventType implements Event.ResponseEvent — ResponseEvent fires when the LLM produces a final response.RetryEvent.EventType — EventType implements Event.RetryEvent — RetryEvent fires when the LLM provider request is retried after a transient error.SourceEvent.EventType — EventType implements Event.SourceEvent — SourceEvent fires when the LLM references a source.SteerConsumedEvent.EventType — EventType implements Event.SteerConsumedEvent — SteerConsumedEvent fires when one or more steering messages have been injected into the agent turn via PrepareStep.StepContextHook — StepContextHook is the input to an OnStepContext hook.StepFinishEvent.EventType — EventType implements Event.StepFinishEvent — StepFinishEvent fires when a step completes, providing full step context.StepResumeEvent.EventType — EventType implements Event.StepResumeEvent — StepResumeEvent fires when a streaming step failed with a transient provider error and is restarted from the last completed step after Delay.StepStartEvent.EventType — EventType implements Event.StepStartEvent — StepStartEvent fires when a new LLM call begins within a multi-step agent turn.StepUsageEvent.EventType — EventType implements Event.StepUsageEvent — StepUsageEvent fires after each complete step in a multi-step agent turn, carrying the token usage for that specific step.StreamFinishEvent.EventType — EventType implements Event.StreamFinishEvent — StreamFinishEvent fires when a per-step LLM stream completes.TextEndEvent.EventType — EventType implements Event.TextEndEvent — TextEndEvent fires when the LLM finishes generating text content.TextStartEvent.EventType — EventType implements Event.TextStartEvent — TextStartEvent fires when the LLM begins generating text content.ToolCallContentEvent.EventType — EventType implements Event.ToolCallContentEvent — ToolCallContentEvent fires when a step includes text alongside tool calls.ToolCallDeltaEvent.EventType — EventType implements Event.ToolCallDeltaEvent — ToolCallDeltaEvent fires for each streamed fragment of tool call arguments.ToolCallEndEvent.EventType — EventType implements Event.ToolCallEndEvent — ToolCallEndEvent fires when tool argument streaming is complete, before the tool call is parsed and execution begins.ToolCallEvent.EventType — EventType implements Event.ToolCallEvent — ToolCallEvent fires when a tool call has been parsed.ToolCallStartEvent.EventType — EventType implements Event.ToolCallStartEvent — ToolCallStartEvent fires when the LLM begins generating tool call arguments.ToolExecutionEndEvent.EventType — EventType implements Event.ToolExecutionEndEvent — ToolExecutionEndEvent fires when a tool finishes executing.ToolExecutionStartEvent.EventType — EventType implements Event.ToolExecutionStartEvent — ToolExecutionStartEvent fires when a tool begins executing.ToolKindEdit — ToolKind constants classify what a tool does, enabling UIs to render appropriate visualizations.ToolKindExecute — ToolKind constants classify what a tool does, enabling UIs to render appropriate visualizations.ToolKindRead — ToolKind constants classify what a tool does, enabling UIs to render appropriate visualizations.ToolKindSearch — ToolKind constants classify what a tool does, enabling UIs to render appropriate visualizations.ToolKindSubagent — ToolKind constants classify what a tool does, enabling UIs to render appropriate visualizations.ToolOutputEvent.EventType — EventType implements Event.ToolOutputEvent — ToolOutputEvent fires when a tool produces streaming output chunks (e.g., shell output).ToolResultEvent.EventType — EventType implements Event.ToolResultEvent — ToolResultEvent fires after a tool execution completes with its result.ToolResultMetadata — ToolResultMetadata carries structured data from tool executions.TurnEndEvent.EventType — EventType implements Event.TurnEndEvent — TurnEndEvent fires after the agent finishes processing.TurnStartEvent.EventType — EventType implements Event.TurnStartEvent — TurnStartEvent fires before the agent begins processing a prompt.WarningsEvent.EventType — EventType implements Event.WarningsEvent — WarningsEvent fires when the LLM provider returns warnings about the request.ArgumentPattern — ArgumentPattern describes how ParseArguments should interpret command-line style input (positional variables and flags).CompleteRequest — CompleteRequest describes a one-shot LLM completion request executed by ExecuteCompletion, independent of the main agent loop.CompleteResponse — CompleteResponse holds the text and token usage returned by ExecuteCompletion.ExtensionAPI — ExtensionAPI provides grouped access to all extension-related functionality.ExtensionCommandDef — ExtensionCommandDef describes a slash command registered by an extension.ExtensionContext — ExtensionContext holds the runtime context passed to extensions, including callbacks for printing, sending messages, and accessing session state.ExtensionEditorConfig — ExtensionEditorConfig configures editor behaviour overrides set by extensions.ExtensionEntry — ExtensionEntry represents a custom data entry stored by an extension in the session tree.ExtensionHeaderFooterConfig — ExtensionHeaderFooterConfig describes a header or footer registered by an extension.ExtensionInfo — ExtensionInfo describes a single loaded extension for display purposes.ExtensionMessageRendererConfig — ExtensionMessageRendererConfig describes custom message rendering registered by an extension.ExtensionPromptTemplate — ExtensionPromptTemplate is a parsed prompt template in the extension-facing format used by ParseTemplate and RenderTemplate.ExtensionSessionMessage — ExtensionSessionMessage represents a single message in the session history as exposed to extensions.ExtensionShortcutInfo — ExtensionShortcutInfo describes a keyboard shortcut registered by an extension.ExtensionSkillLoadResult — ExtensionSkillLoadResult holds the outcome of loading skills from a directory for extensions: the loaded skills or an error string.ExtensionSkill — ExtensionSkill represents a skill in the extension-facing format returned by the skill bridge methods (DiscoverSkillsForExtension and friends).ExtensionStatusBarEntry — ExtensionStatusBarEntry describes a status bar entry registered by an extension.ExtensionToolInfo — ExtensionToolInfo describes a tool available to the agent, as seen by extensions.ExtensionToolRenderConfig — ExtensionToolRenderConfig describes custom tool output rendering registered by an extension.ExtensionUIVisibility — ExtensionUIVisibility controls which UI elements are visible.ExtensionWidgetConfig — ExtensionWidgetConfig describes a widget registered by an extension.ExtensionWidgetPlacement — ExtensionWidgetPlacement indicates where a widget should be rendered.Kit.Extensions — Extensions returns the ExtensionAPI for accessing all extension-related functionality.ModelCapabilities — ModelCapabilities describes a model’s provider, context/output limits, feature support, and token pricing as reported by the model registry.ModelInfoEntry — ModelInfoEntry describes one model known to the registry, as returned by GetAvailableModels.ModelPricing — ModelPricing describes a model’s token costs in US dollars per million tokens.ModelResolutionResult — ModelResolutionResult is the outcome of ResolveModelChain: the first available model from a preference list, its capabilities, and the models attempted along the way.ParseResult — ParseResult holds the variables and flags produced by ParseArguments.CLIOptions — CLIOptions holds fields only relevant to the CLI binary.ContextFile — ContextFile represents a project context file.InitTreeSession — InitTreeSession creates or opens a tree session based on the given options.Kit.AddInProcessMCPServer — AddInProcessMCPServer connects an in-process mcp-go server and makes its tools available to the agent immediately.Kit.AddMCPServer — AddMCPServer connects to a new MCP server at runtime and makes its tools available to the agent immediately.Kit.AddTools — AddTools additively registers native Go tools on the live host.Kit.ClearSession — ClearSession resets the session’s leaf pointer to the root, starting a fresh conversation branch.Kit.CloseContext — CloseContext is like [Kit.Close] but accepts a context so graceful shutdown can be bounded by a deadline or cancellation.Kit.Close — Close cleans up resources including MCP server connections, model resources, and the tree session file handle.Kit.ContinueResult — ContinueResult resumes model generation from the installed session’s current conversation without adding a user message.Kit.DrainSteer — DrainSteer removes and returns all unconsumed steer messages.Kit.ExecuteCompletion — ExecuteCompletion makes a standalone LLM completion call for extensions.Kit.FollowUp — FollowUp continues the conversation without explicit new user input.Kit.GetAvailableModels — GetAvailableModels returns a list of known models from the registry.Kit.GetBufferedDebugMessages — GetBufferedDebugMessages returns any debug messages that were buffered during initialization, then clears the buffer.Kit.GetContextFiles — GetContextFiles returns the context files.Kit.GetCurrentModel — GetCurrentModel returns the fully qualified “provider/model” string for the model currently in use, as resolved from configuration.Kit.GetExtensionToolCount — GetExtensionToolCount returns the number of tools registered by extensions.Kit.GetExtraTools — GetExtraTools returns a snapshot of the native extra tools that were added via AddTools / SetExtraTools / RemoveTools or Options.ExtraTools.Kit.GetLoadedServerNames — GetLoadedServerNames returns the names of successfully loaded MCP servers.Kit.GetLoadingMessage — GetLoadingMessage returns the agent’s startup info message.Kit.GetMCPPrompt — GetMCPPrompt retrieves and expands a specific prompt from an MCP server.Kit.GetMCPToolCount — GetMCPToolCount returns the number of tools loaded from external MCP servers.Kit.GetMCPToolNames — GetMCPToolNames returns the prefixed names (serverName__toolName) of all tools currently loaded from external MCP servers.Kit.GetModelInfo — GetModelInfo returns detailed information about the current model (capabilities, pricing, limits).Kit.GetModelString — GetModelString returns the current model string identifier (e.g., “anthropic/claude-sonnet-4-5-20250929” or “openai/gpt-4”) being used by the agent.Kit.GetSkills — GetSkills returns the skills currently active on this Kit instance.Kit.GetStructuredMessages — GetStructuredMessages returns the conversation messages on the current branch with full typed content parts.Kit.GetSystemPromptSource — GetSystemPromptSource returns the raw configured value — a file path or inline text — when HasCustomSystemPrompt is true; returns an empty string when the built-in default prompt is active.Kit.GetSystemPrompt — GetSystemPrompt returns the system prompt the agent sends to the model.Kit.GetThinkingLevel — GetThinkingLevel returns the resolved current thinking level, including per-model defaults.Kit.GetToolNames — GetToolNames returns the names of all tools available to the agent.Kit.GetToolsForSubagent — GetToolsForSubagent like GetTools but eliminates subagent tool to avoid infinite recursion.Kit.GetTools — GetTools returns all tools available to the agent (core + MCP + extensions).Kit.HasCustomSystemPrompt — HasCustomSystemPrompt reports whether the user explicitly configured a system prompt via –system-prompt, a config file entry, or SDK Options.SystemPrompt.Kit.InjectSteerWithFiles — InjectSteerWithFiles sends a steering message with optional file attachments.Kit.InjectSteer — InjectSteer sends a steering message into the currently active agent turn.Kit.IsGenerating — IsGenerating returns true if an agent turn is currently in progress.Kit.IsOAuth — IsOAuth reports whether the active model uses a subscription OAuth credential.Kit.IsReasoningModel — IsReasoningModel returns true if the current model supports extended thinking / reasoning.Kit.ListMCPPrompts — ListMCPPrompts returns all prompts discovered from connected MCP servers.Kit.ListMCPResources — ListMCPResources returns all resources discovered from connected MCP servers.Kit.ListMCPServers — ListMCPServers returns the status of all currently loaded MCP servers, including successful zero-tool attachments (ToolCount is zero).Kit.MCPToolsReady — MCPToolsReady returns true if MCP tool loading has completed (or was never started).Kit.MaxOutputLimit — MaxOutputLimit returns the catalog-reported output ceiling for the current model in tokens, or 0 when the model isn’t in the registry (custom models, new releases, Ollama, etc.).Kit.MaxTokens — MaxTokens returns the effective max output tokens currently configured for the agent.Kit.PromptResultWithFiles — PromptResultWithFiles sends a multimodal message (text + images) and returns the full turn result.Kit.PromptResultWithMessages — PromptResultWithMessages submits multiple user messages in a single turn.Kit.PromptResultWithOptions — PromptResultWithOptions is the [TurnResult]-returning counterpart of PromptWithOptions.Kit.PromptResult — PromptResult sends a message and returns the full turn result including usage statistics and conversation messages.Kit.PromptWithOptions — PromptWithOptions sends a message with per-call configuration.Kit.Prompt — Prompt sends a message to the agent and returns the response.Kit.ProviderError — ProviderError returns the error that kept the model provider from being created when the instance was built with Options.AllowMissingCredentials.Kit.ReadMCPResource — ReadMCPResource reads a specific resource from an MCP server by URI.Kit.ReloadExtensions — ReloadExtensions hot-reloads all extensions from disk.Kit.RemoveMCPServer — RemoveMCPServer disconnects an MCP server and removes all its tools from the agent.Kit.RemoveTools — RemoveTools removes previously-added native Go tools by name.Kit.SetExtraTools — SetExtraTools replaces the entire native extra-tool set in one call.Kit.SetModel — SetModel changes the active model at runtime.Kit.SetThinkingLevel — SetThinkingLevel changes the thinking level and recreates the agent with the new thinking budget.Kit.Steer — Steer injects a system-level instruction and triggers a new agent turn.Kit.Subagent — Subagent runs a child agent with the supplied prompt and configuration.Kit.SubscribeMCPResource — SubscribeMCPResource subscribes to change notifications for a resource.Kit.Subscribe — Subscribe registers an EventListener that will be called for every lifecycle event emitted during Prompt().Kit.SupportedThinkingLevels — SupportedThinkingLevels returns the reasoning levels the currently selected model accepts.Kit.UnsubscribeMCPResource — UnsubscribeMCPResource cancels change notifications for a resource.Kit.WaitForMCPTools — WaitForMCPTools blocks until background MCP tool loading completes.Kit — Kit provides programmatic access to kit functionality, allowing integration of MCP tools and LLM interactions into Go applications.MCPPromptArgument — MCPPromptArgument describes a single argument for an MCP prompt.MCPPromptMessage — MCPPromptMessage is a single message returned by a prompt expansion.MCPPromptResult — MCPPromptResult is the result of expanding an MCP prompt.MCPPrompt — MCPPrompt describes a prompt exposed by an MCP server.MCPResourceContent — MCPResourceContent is the result of reading an MCP resource.MCPResource — MCPResource describes a resource exposed by an MCP server.MCPServerStatus — MCPServerStatus describes the runtime state of a loaded MCP server.New — New creates a Kit instance using the same initialization as the CLI.Options — Options configures Kit creation with optional overrides for model, prompts, configuration, and behavior settings.ParseSkillCommand — ParseSkillCommand splits a user prompt of the form “/PromptOptions — PromptOptions configures a single PromptWithOptions call.SteerMessage — SteerMessage is a queued mid-turn steering message (text plus optional file attachments) as returned by DrainSteer.StreamEventKind — StreamEventKind classifies a [StreamEvent] captured during a turn.StreamEventReasoningDelta — Stream event kinds captured in [TurnResult.Stream].StreamEventReasoningEnd — Stream event kinds captured in [TurnResult.Stream].StreamEventReasoningStart — Stream event kinds captured in [TurnResult.Stream].StreamEventTextDelta — Stream event kinds captured in [TurnResult.Stream].StreamEventToolCallChunk — Stream event kinds captured in [TurnResult.Stream].StreamEvent — StreamEvent is a single delta observed during a turn, captured in [TurnResult.Stream].StructuredMessage — StructuredMessage represents a conversation message with typed content parts (tool calls, reasoning, finish markers, etc.) instead of flattened text.SubagentConfig — SubagentConfig configures an in-process subagent spawned via Kit.Subagent().SubagentResult — SubagentResult contains the outcome of an in-process subagent execution.TurnResult — TurnResult contains the full result of a prompt turn, including usage statistics and the updated conversation.ErrMCPTasksListUnsupported — ErrMCPTasksListUnsupported reports that an MCP server will not answer a task-listing request.ErrUnsupportedModelMode — ErrUnsupportedModelMode means that the active model does not support a mode.GetLLMProviders — GetLLMProviders returns provider IDs that have LLM support, either through a native provider or via openaicompat auto-routing.GetModelsForProvider — GetModelsForProvider returns all known models for a provider.GetProviderInfo — GetProviderInfo returns information about a provider (env vars, API URL, etc.).GetSupportedProviders — GetSupportedProviders returns all known provider names in the registry.IsThinkingLevelSupported — IsThinkingLevelSupported reports whether a model accepts the named reasoning level.Kit.CancelMCPTask — CancelMCPTask issues tasks/cancel for an in-flight task on the named server.Kit.CurrentModelMode — CurrentModelMode returns the selected mode.Kit.GetMCPTask — GetMCPTask queries tasks/get for a single in-flight task on the named server.Kit.ListMCPTasks — ListMCPTasks lists the active and recent tasks the named MCP server is willing to disclose.Kit.ModelModes — ModelModes returns catalog modes, including unavailable modes and their reasons.Kit.SetModelMode — SetModelMode selects a mode for the active model.Kit.SupportedModelModes — SupportedModelModes returns the modes supported by the active model in stable order.LLMLanguageModel — LLMLanguageModel is a language model that Kit drives.LLMProvider — LLMProvider is a source of language models.LookupModel — LookupModel returns information about a model, or nil if unknown.MCPTaskConfig — MCPTaskConfig configures task-aware MCP tools/call execution.MCPTaskModeAlways — MCPTaskModeAlways always opts into task augmentation, even when the server didn’t advertise the capability.MCPTaskModeAuto — MCPTaskModeAuto augments tools/call with task metadata only when the server advertises tasks/toolCalls capability during initialize.MCPTaskModeNever — MCPTaskModeNever forces every tools/call to be issued synchronously (no Task field), regardless of server capability.MCPTaskMode — MCPTaskMode controls when Kit augments tools/call requests with MCP task metadata for a specific server.MCPTaskProgressHandler — MCPTaskProgressHandler is called once when a task is accepted and again on every observed status transition.MCPTaskProgress — MCPTaskProgress is a single status update emitted while Kit is waiting on a task-augmented tool call.MCPTaskStatus.IsTerminal — IsTerminal reports whether the status represents a final state — that is, the task will not change again.MCPTaskStatusCancelled — MCPTaskStatusCancelled indicates the task was cancelled before completion.MCPTaskStatusCompleted — MCPTaskStatusCompleted indicates the task finished successfully.MCPTaskStatusFailed — MCPTaskStatusFailed indicates the task ended in error.MCPTaskStatusInputRequired — MCPTaskStatusInputRequired indicates the server is waiting for client input before it can proceed (rare; typically surfaced via elicitation).MCPTaskStatusWorking — MCPTaskStatusWorking indicates the task is currently being processed.MCPTaskStatus — MCPTaskStatus represents the lifecycle state of a task-augmented MCP tool call.MCPTask — MCPTask is the SDK-level view of an MCP Task.ModelMode — ModelMode describes a mode available for the active model.ProviderFactory — ProviderFactory creates a language model for a provider name that the application supplies.RegisterProvider — RegisterProvider registers f as the process-wide factory for the provider name.RegisteredProviders — RegisteredProviders returns the sorted names of all process-wide provider factories registered with [RegisterProvider].ResolveProviderBaseURL — ResolveProviderBaseURL returns the base API URL kit will use when talking to the given provider, applying the same resolution order that CreateProvider uses internally: 1.SuggestModels — SuggestModels returns model names similar to an invalid model string.SuggestThinkingLevel — SuggestThinkingLevel returns the level to use in place of one the model does not accept, choosing the nearest supported level of similar cost.SupportedThinkingLevels — SupportedThinkingLevels returns the reasoning levels the given model accepts, drawn from the model catalog’s published reasoning metadata.ThinkingLevels — ThinkingLevels returns the default ladder for unknown model capabilities: off, none, minimal, low, medium, high, xhigh.UnregisterProvider — UnregisterProvider removes the process-wide factory registered for name.ValidateEnvironment — ValidateEnvironment checks if required API keys are set for a provider.WithProvider — WithProvider registers a provider factory for this Kit instance only.BranchEntry — BranchEntry represents a single node in the conversation tree.CompactionEntry — CompactionEntry represents a context compaction/summarization event.DeleteSession — DeleteSession removes a session file from disk.EntryTypeBranchSummary — Session entry types distinguish model history from transcript and metadata records.EntryTypeCompaction — Session entry types distinguish model history from transcript and metadata records.EntryTypeExtensionData — Session entry types distinguish model history from transcript and metadata records.EntryTypeIncompleteOutput — Session entry types distinguish model history from transcript and metadata records.EntryTypeMessage — Session entry types distinguish model history from transcript and metadata records.EntryTypeModelChange — Session entry types distinguish model history from transcript and metadata records.EntryType — EntryType identifies the kind of entry in the session tree.ErrBranchSummaryNotSupported — ErrBranchSummaryNotSupported is returned by SessionManager implementations that do not support collapsing a branch range into a summary entry.ErrNoSession — ErrNoSession is returned by session-dependent operations ([Kit.Branch], [Kit.NavigateTo], [Kit.SummarizeBranch], [Kit.CollapseBranch], [Kit.SetSessionName], and the extension session API) when the Kit was created without a session manager.ExtensionDataEntry — ExtensionDataEntry represents custom extension data stored in the session.IncompleteOutputAppender — IncompleteOutputAppender is an optional transcript storage capability.IncompleteOutput — IncompleteOutput is unfinished assistant text, not model history.Kit.Branch — Branch moves the session’s leaf pointer to the given entry ID, creating a branch point.Kit.CollapseBranch — CollapseBranch replaces a branch range with a summary entry.Kit.GetChildren — GetChildren returns direct child IDs of an entry.Kit.GetCurrentBranch — GetCurrentBranch returns the path from root to current leaf as TreeNodes.Kit.GetSessionID — GetSessionID returns the UUID of the active session, or empty when no session is configured.Kit.GetSessionManager — GetSessionManager returns the session manager, or nil if not configured.Kit.GetSessionPath — GetSessionPath returns the file path of the active session, or empty for in-memory sessions or when no file-based session is configured.Kit.GetTreeNode — GetTreeNode returns a node by ID with full metadata and children.Kit.GetTreeSession — GetTreeSession returns the default file-backed tree session, or nil if no session is configured or a custom SessionManager is in use.Kit.NavigateTo — NavigateTo branches/forks the session to the specified entry ID.Kit.SetSessionManager — SetSessionManager replaces the session manager on a Kit instance.Kit.SetSessionName — SetSessionName sets a user-defined display name for the active session.Kit.SetTreeSession — SetTreeSession sets the default file-backed tree session on a Kit instance, replacing any custom SessionManager.Kit.SummarizeBranch — SummarizeBranch uses the LLM to summarize the conversation between two entry IDs.ListAllSessions — ListAllSessions finds all sessions across all working directories, sorted by modification time (newest first).ListSessions — ListSessions finds all sessions for the given working directory, sorted by modification time (newest first).OpenTreeSession — OpenTreeSession opens an existing JSONL session file.SessionManager — SessionManager defines the contract for conversation storage backends.StepAppender — StepAppender is an optional interface a [SessionManager] may implement to receive the messages of one agent step in a single call.TreeNode — TreeNode represents a node in the session tree for SDK consumers.CheckModelAvailable — CheckModelAvailable verifies if a model string is valid and provider exists.CombineSkills — CombineSkills validates and deduplicates the union of user-level and project-level skills.EvaluateModelConditional — EvaluateModelConditional checks if condition matches current model.FormatSkillActivation — FormatSkillActivation renders a skill for injection into the conversation when it is activated: the body wrapped in a <skill_content name=… location=…> block, a note on resolving relative paths against the skill directory, and a GetCurrentModelID — GetCurrentModelID extracts model ID from model string.GetCurrentProvider — GetCurrentProvider extracts provider from model string.GetModelCapabilities — GetModelCapabilities returns capabilities for a specific model, including its token pricing.Kit.AddContextFileContent — AddContextFileContent is a convenience wrapper around [Kit.AddContextFile] that builds the ContextFile from a path and inline content string.Kit.AddContextFile — AddContextFile registers a project context file.Kit.AddSkill — AddSkill registers a single skill on this Kit instance.Kit.ClearSkillCache — ClearSkillCache clears the skill cache for this Kit instance.Kit.DisableSkill — DisableSkill hides the named skill from the model-facing catalog while keeping it loaded (so it can still be activated explicitly via /Kit.DiscoverSkillsForExtension — DiscoverSkillsForExtension finds skills in standard locations for extensions.Kit.EnableSkill — EnableSkill re-exposes a previously disabled skill in the model-facing catalog.Kit.LoadAndAddContextFile — LoadAndAddContextFile reads a file from disk and registers it as a project context file via [Kit.AddContextFile].Kit.LoadAndAddSkill — LoadAndAddSkill loads a skill from a filesystem path (single .md/.txt file) and adds it via [Kit.AddSkill].Kit.LoadSkillForExtension — LoadSkillForExtension loads a single skill file for extensions.Kit.LoadSkillsFromDirForExtension — LoadSkillsFromDirForExtension loads all skills from a directory for extensions.Kit.RefreshSystemPrompt — RefreshSystemPrompt manually recomposes the system prompt from the current skills and context files and applies it to the agent.Kit.ReloadSkills — ReloadSkills re-discovers skills from disk, replacing the current set.Kit.RemoveContextFile — RemoveContextFile removes the context file with the given path and recomposes the system prompt.Kit.RemoveSkill — RemoveSkill removes the named skill from this Kit instance and recomposes the system prompt.Kit.SetContextFiles — SetContextFiles replaces the active context-file set with the provided slice.Kit.SetSkills — SetSkills replaces the active skill set with the provided slice.LoadProjectSkills — LoadProjectSkills discovers skills from the project-local scopes only (LoadPromptTemplate — LoadPromptTemplate reads a template from a file.LoadSkill — LoadSkill reads a single skill file (markdown with optional YAML frontmatter).LoadSkillsFromDir — LoadSkillsFromDir loads all skills from a single directory.LoadSkillsFromFS — LoadSkillsFromFS is the [fs.FS]-typed counterpart of [LoadSkillsFromDir].LoadSkills — LoadSkills auto-discovers skills from standard directories: - User-level: ~/.agents/skills/ (cross-client convention) - User-level: $XDG_CONFIG_HOME/kit/skills/ (default ~/.config/kit/skills/) - Project-local: LoadUserSkills — LoadUserSkills discovers skills from the user-level scopes only (~/.agents/skills and $XDG_CONFIG_HOME/kit/skills).NewPromptBuilder — NewPromptBuilder creates a PromptBuilder with the given base system prompt.NewPromptTemplate — NewPromptTemplate creates a PromptTemplate, automatically extracting variable names from placeholders in content.ParseArguments — ParseArguments parses command-line style arguments.ParseTemplate — ParseTemplate extracts from template content.PromptBuilder — PromptBuilder composes a system prompt from a base prompt, skills, and arbitrary named sections.PromptTemplate — PromptTemplate is a named text template with placeholders.RemoveProviderFromModel — RemoveProviderFromModel removes the provider prefix from a model string.RenderTemplate — RenderTemplate substitutes variables into template content.RenderWithModelConditionals — RenderWithModelConditionals processes ResolveModelChain — ResolveModelChain attempts each model in order until one is available.SimpleParseArguments — SimpleParseArguments parses $1, $2, $@ style arguments.SkillDiagnostic — SkillDiagnostic describes a validation problem found by Skill.Validate.Skill — Skill represents a markdown-based instruction file with optional YAML frontmatter that provides domain-specific context and workflows.SkipProjectSkills — SkipProjectSkills declines to load project skills this session.TrustDecision — TrustDecision is the outcome of a project-skill trust prompt.TrustProjectOnce — TrustProjectOnce loads project skills this session without persisting.TrustProject — TrustProject loads project skills and persists the directory as trusted.ErrSubagentKilled — ErrSubagentKilled is the error a subagent run returns when it was stopped with [Kit.KillSubagent].Kit.GetSubagentRun — GetSubagentRun returns a retained snapshot for an execution ID, not a child session ID.Kit.KillSubagent — KillSubagent stops the running subagent with the given ID (see [RunningSubagent].ID).Kit.RunningSubagents — RunningSubagents returns the in-process subagents of this Kit instance that are running now, oldest first.Kit.SubagentRuns — SubagentRuns returns active and retained finished run snapshots, oldest first by registration order.Kit.SubscribeSubagentRuns — SubscribeSubagentRuns registers a listener for the changes to every subagent run of this Kit instance: registration, each child event, and each status change.RunningSubagent — RunningSubagent describes an in-process subagent that is currently running.SubagentRunUpdate — SubagentRunUpdate describes one change to a retained subagent run.SubagentRun — SubagentRun is a snapshot of an active or finished in-process subagent run.AllTools — AllTools returns all available core tools.CodeModeExposureDeferred — CodeModeExposureDeferred: only scripts can call the tool, and the catalog does not list it; scripts find it with searchTools().CodeModeExposureDirect — CodeModeExposureDirect: the model sees the tool and scripts can call it.CodeModeExposureModelOnly — CodeModeExposureModelOnly: the model sees the tool, scripts cannot call it.CodeModeExposureScriptOnly — CodeModeExposureScriptOnly: only scripts can call the tool; the code mode catalog lists its full signature.CodeModeOptions — CodeModeOptions configures code mode: one tool (“codemode”) that runs a JavaScript program in a sandbox.CodeModeToolName — CodeModeToolName is the name of the code mode tool.CodingTools — CodingTools returns the default set of core tools for a coding agent: shell, read, write, edit.CommandRequest — CommandRequest describes one command the shell tool wants to run.CommandResult — CommandResult is the outcome of a command run by a [CommandRunner].CommandRunner — CommandRunner runs the shell tool’s commands somewhere other than a local child process, for example in an editor’s terminal.DefaultCoreToolNames — DefaultCoreToolNames returns the core tools enabled when none are named.ErrorResult — ErrorResult creates an error [ToolOutput].FileSystem — FileSystem reads and writes text files for the read, write and edit tools.FilterCoreToolNames — FilterCoreToolNames resolves the effective core tool list from include and exclude name lists.ImageResult — ImageResult creates a [ToolOutput] that returns an image to the LLM.ListAllCoreToolNames — — Tool bundles —MediaResult — MediaResult creates a [ToolOutput] that returns non-image binary media.NewCodeModeTool — NewCodeModeTool creates the code mode tool.NewEditTool — NewEditTool creates a surgical text-editing tool.NewFindTool — NewFindTool creates a file search tool (uses fd when available).NewGrepTool — NewGrepTool creates a content search tool (uses ripgrep when available).NewLsTool — NewLsTool creates a directory listing tool.NewParallelTool — NewParallelTool is like [NewTool] but marks the tool as safe for concurrent execution alongside other tools.NewRawTool — NewRawTool is the schema-driven counterpart to [NewTool].NewReadTool — NewReadTool creates a file-reading tool.NewShellTool — NewShellTool creates the shell command execution tool.NewTool — NewTool creates a custom [Tool] with automatic JSON schema generation from the TInput struct type.NewWriteTool — NewWriteTool creates a file-writing tool.ReadOnlyTools — ReadOnlyTools returns tools for read-only exploration: read, grep, find, ls.SubagentTools — SubagentTools returns all core tools except subagent.TextResult — TextResult creates a successful text [ToolOutput].ToolCallIDFromContext — ToolCallIDFromContext extracts the tool call ID from the context.ToolOption — ToolOption configures tool behavior.ToolOutput — ToolOutput is the return value from custom tool handlers created with [NewTool] or [NewParallelTool].Tool — Tool is the interface that all Kit tools implement.WithCommandRunner — WithCommandRunner makes the shell tool run commands through a [CommandRunner] instead of local child processes.WithFileSystem — WithFileSystem routes the text file access of the read, write and edit tools through a [FileSystem].WithShellMaxTimeout — WithShellMaxTimeout sets the maximum timeout a shell tool call may request.WithShellTimeout — WithShellTimeout sets the default per-call timeout for the shell tool.WithShell — WithShell sets the shell the shell tool runs command strings through: the shell plus its own leading arguments.WithWorkDir — WithWorkDir sets the working directory for file-based tools.