Skip to main content

Crate termesh_core

Crate termesh_core 

Source
Expand description

Shared foundation: stable typed IDs, the action registry, input, commands, errors.

The action registry here is the keystone of the whole design (ARCHITECTURE.md §3): the same named actions back the keymap, the command palette, and the agent’s ACP tool surface. Build this well and “agent-native” mostly falls out.

Re-exports§

pub use agent::AgentCapabilities;
pub use agent::AgentEvent;
pub use agent::AgentRequest;
pub use agent::PermissionDecision;
pub use agent::PromptCapabilities;
pub use agent::StopReason;
pub use fs::DirEntryInfo;
pub use fs::EntryKind;
pub use fs::FsError;
pub use fs::FsEvent;
pub use fs::FsRequest;
pub use fs::FsResult;
pub use git::GitBranch;
pub use git::GitBranchStatus;
pub use git::GitChangeKind;
pub use git::GitContextDiff;
pub use git::GitDiffTarget;
pub use git::GitEvent;
pub use git::GitFailure;
pub use git::GitFailureKind;
pub use git::GitFileDiff;
pub use git::GitFileStatus;
pub use git::GitOperation;
pub use git::GitRepositorySnapshot;
pub use git::GitRequest;
pub use git::GitResult;
pub use lsp::CodeAction;
pub use lsp::CompletionItem;
pub use lsp::Diagnostic;
pub use lsp::DiagnosticOrigin;
pub use lsp::DiagnosticSeverity;
pub use lsp::DocumentSymbol;
pub use lsp::HoverText;
pub use lsp::Location;
pub use lsp::LspEvent;
pub use lsp::LspFailure;
pub use lsp::LspFailureKind;
pub use lsp::LspRequest;
pub use lsp::LspResult;
pub use lsp::SymbolKind;
pub use lsp::SymbolLocation;
pub use lsp::TextChange;
pub use lsp::TextEdit;
pub use lsp::TextPosition;
pub use lsp::TextRange;
pub use lsp::WatchedFileChange;
pub use lsp::WorkspaceEdit;
pub use message::AppMessage;
pub use search::SearchEvent;
pub use search::SearchMatch;
pub use search::SearchMode;
pub use search::SearchRequest;
pub use task::Problem;
pub use task::ProblemSeverity;
pub use task::TaskOrigin;
pub use task::TaskSpec;
pub use task::TaskStatus;
pub use terminal::AgentTerminalOperation;
pub use terminal::AgentTerminalResponse;
pub use terminal::PtyEvent;
pub use terminal::PtyRequest;
pub use terminal::TerminalExit;
pub use terminal::TerminalOwner;
pub use terminal::TerminalSize;
pub use terminal::TerminalSpec;
pub use terminal::TerminalStatus;

Modules§

agent
Agent data types shared across the service boundary.
fs
Filesystem data types shared across the service boundary.
git
Protocol-neutral Git state and worker messages (ADR-0010).
input
Backend-agnostic keyboard input. The app crate translates crossterm events into these types so the keymap (config) never depends on the terminal backend.
lsp
Protocol-neutral language-server state and session messages (ADR-0011).
message
Typed application messages — the one channel the main loop wakes on (ARCHITECTURE.md §7.1).
search
Protocol-neutral vocabulary shared by search services and the application model.
task
Language-neutral task and diagnostic vocabulary.
terminal
Protocol-neutral terminal vocabulary shared across the application boundary.

Structs§

ActionRegistry
The one command surface: every user-invocable behaviour is an Action here, and both the keymap and the palette are built from this list.
AgentId
AgentTerminalRequestId
One ACP terminal method awaiting a model/service response.
BufferId
DocumentId
GitRequestId
LocationRequestId
LspRequestId
LspServerId
NodeId
A node in the file-explorer tree. Identity is the id, never the path — paths move under rename and watch events (ARCHITECTURE.md §7.3).
PaneId
PermissionRequestId
PreviewRequestId
ProposalId
ReadRequestId
One fs/read_text_file call from the agent.
SearchRequestId
SessionId
TaskRunId
TerminalGeneration
TerminalId
TurnId
WorkspaceId
A single open project/workspace root.

Enums§

Action
A named, invocable action — the shared vocabulary of the keymap, command palette, plugins, and the agent tool schema exposed over ACP (§3, §6.2).
Command
Everything the shell can be told to do. The keymap maps a input::KeyChord to one of these, and the palette dispatches Command::Action — one dispatch path for keyboard and palette alike (ARCHITECTURE.md §3, §7.1).