contextview

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package contextview builds compact workspace context for model prompts.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RenderHTML

func RenderHTML(report Report) string

func RenderText

func RenderText(w io.Writer, report Report)

Types

type ConfigSummary

type ConfigSummary struct {
	Model                       string `json:"model"`
	PermissionMode              string `json:"permission_mode"`
	MaxTokens                   int    `json:"max_tokens"`
	MaxTurns                    int    `json:"max_turns"`
	AutoCompactMessages         int    `json:"auto_compact_messages"`
	AuthConfigured              bool   `json:"auth_configured"`
	MCPServerCount              int    `json:"mcp_server_count"`
	EnabledSkillCount           int    `json:"enabled_skill_count"`
	UserPromptSubmitHookCount   int    `json:"user_prompt_submit_hook_count"`
	SessionStartHookCount       int    `json:"session_start_hook_count"`
	SessionEndHookCount         int    `json:"session_end_hook_count"`
	SetupHookCount              int    `json:"setup_hook_count"`
	PreHookCount                int    `json:"pre_hook_count"`
	PostHookCount               int    `json:"post_hook_count"`
	PostFailureHookCount        int    `json:"post_tool_use_failure_hook_count"`
	PermissionRequestHookCount  int    `json:"permission_request_hook_count"`
	PermissionDeniedHookCount   int    `json:"permission_denied_hook_count"`
	StopHookCount               int    `json:"stop_hook_count"`
	StopFailureHookCount        int    `json:"stop_failure_hook_count"`
	PreCompactHookCount         int    `json:"pre_compact_hook_count"`
	PostCompactHookCount        int    `json:"post_compact_hook_count"`
	NotificationHookCount       int    `json:"notification_hook_count"`
	SubagentStartHookCount      int    `json:"subagent_start_hook_count"`
	SubagentStopHookCount       int    `json:"subagent_stop_hook_count"`
	WorktreeCreateHookCount     int    `json:"worktree_create_hook_count"`
	WorktreeRemoveHookCount     int    `json:"worktree_remove_hook_count"`
	CwdChangedHookCount         int    `json:"cwd_changed_hook_count"`
	TaskCreatedHookCount        int    `json:"task_created_hook_count"`
	TaskCompletedHookCount      int    `json:"task_completed_hook_count"`
	InstructionsLoadedHookCount int    `json:"instructions_loaded_hook_count"`
	FileChangedHookCount        int    `json:"file_changed_hook_count"`
}

type FocusSummary

type FocusSummary struct {
	FocusedPaths int           `json:"focused_paths"`
	Entries      []focus.Entry `json:"entries,omitempty"`
}

type MemorySummary

type MemorySummary struct {
	InstructionFiles int              `json:"instruction_files"`
	TotalChars       int              `json:"total_chars"`
	Files            []memory.Summary `json:"files,omitempty"`
}

type Options

type Options struct {
	Status       localstatus.Snapshot
	Memory       memory.Report
	Focus        focus.Report
	TokenUsage   usage.Summary
	SystemPrompt string
	Warnings     []string
}

type PromptSummary

type PromptSummary struct {
	Lines           int `json:"lines"`
	Chars           int `json:"chars"`
	EstimatedTokens int `json:"estimated_tokens"`
}

type Report

type Report struct {
	Kind          string                 `json:"kind"`
	Action        string                 `json:"action"`
	Status        string                 `json:"status"`
	Workspace     WorkspaceSummary       `json:"workspace"`
	Config        ConfigSummary          `json:"config"`
	Git           localstatus.GitStatus  `json:"git"`
	Session       SessionSummary         `json:"session"`
	Plan          localstatus.PlanStatus `json:"plan"`
	Tools         ToolsSummary           `json:"tools"`
	Memory        MemorySummary          `json:"memory"`
	Focus         FocusSummary           `json:"focus"`
	Prompt        PromptSummary          `json:"prompt"`
	TokenEstimate usage.Summary          `json:"token_estimate"`
	Signals       []string               `json:"signals,omitempty"`
}

func Build

func Build(options Options) Report

type SessionSummary

type SessionSummary struct {
	Active       bool   `json:"active"`
	ID           string `json:"id,omitempty"`
	Path         string `json:"path,omitempty"`
	MessageCount int    `json:"message_count"`
}

type ToolsSummary

type ToolsSummary struct {
	Count int      `json:"count"`
	Names []string `json:"names,omitempty"`
}

type WorkspaceSummary

type WorkspaceSummary struct {
	Path string `json:"path"`
	Name string `json:"name"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL