Skip to main content

Crate talon_core

Crate talon_core 

Source
Expand description

Core types and contracts for Talon.

The scaffold keeps parsing, configuration, constants, and response contracts in the library so the CLI remains a thin process boundary.

Re-exports§

pub use ask::AskClient;
pub use ask::AskError;
pub use ask::AskPlan;
pub use ask::AskSynthesis;
pub use config::ChatAdapter;
pub use config::ChatAskConfig;
pub use config::ChatExpansionConfig;
pub use config::ChatSection;
pub use config::ChunkerConfig;
pub use config::CredentialEntry;
pub use config::CredentialsConfig;
pub use config::EmbeddingAdapter;
pub use config::EmbeddingConfig;
pub use config::EndpointAuthConfig;
pub use config::InspectConfig;
pub use config::McpConfig;
pub use config::McpHooksConfig;
pub use config::RerankAdapter;
pub use config::RerankConfig;
pub use config::RerankScoreScale;
pub use config::Scope;
pub use config::ScopeFilter;
pub use config::ScopeGlob;
pub use config::ScopePriority;
pub use config::ScopeResolution;
pub use config::ScopesConfig;
pub use config::SearchConfig;
pub use config::TalonConfig;
pub use contracts::ContainerPath;
pub use contracts::ErrorEnvelope;
pub use contracts::PositiveCount;
pub use contracts::ResponseMeta;
pub use contracts::TalonEnvelope;
pub use contracts::TalonInput;
pub use contracts::TalonResponseData;
pub use contracts::TalonResponseTrait;
pub use contracts::VaultPath;
pub use error::ErrorCode;
pub use error::TalonError;
pub use error::TalonResult;
pub use expansion::ExpansionClient;
pub use expansion::ExpansionError;
pub use expansion::LlmCache;
pub use glob_matcher::glob_match_case_insensitive;
pub use graph::GraphBuildStats;
pub use indexer::IndexNoteOutcome;
pub use indexer::IndexerConfig;
pub use indexer::IndexerStats;
pub use indexer::NoteIndexConfig;
pub use indexer::build_ignore_globset;
pub use indexer::build_include_globset;
pub use indexer::extract_title;
pub use indexer::file_matches_ignore;
pub use indexer::file_matches_include;
pub use indexer::hash_file_content;
pub use indexer::index_one_note;
pub use indexer::index_one_note_with_config;
pub use indexer::load_notes_for_linking;
pub use indexer::matches_ignore_patterns;
pub use indexer::matches_include_patterns;
pub use indexer::reconcile_deletions;
pub use indexer::reconcile_ignored_notes;
pub use indexer::run_full_scan;
pub use indexer::run_full_scan_with_chunker;
pub use indexer::scan_vault_markdown;
pub use indexing::ChangeFeed;
pub use indexing::ChangeIndex;
pub use indexing::ChangeTrackingEntry;
pub use indexing::ChangeTrackingTombstoneEntry;
pub use indexing::ChunkUpsertRow;
pub use indexing::DB_VERSION_KEY;
pub use indexing::FileChangeState;
pub use indexing::FileState;
pub use indexing::IndexMetadata;
pub use indexing::IndexStats;
pub use indexing::InspectCheck;
pub use indexing::InspectFinding;
pub use indexing::InspectInput;
pub use indexing::InspectResponse;
pub use indexing::NoteUpsertResult;
pub use indexing::REBUILD_MIGRATIONS;
pub use indexing::SCHEMA_MIGRATIONS;
pub use indexing::ScopeReport;
pub use indexing::StatusInput;
pub use indexing::StatusResponse;
pub use indexing::StatusState;
pub use indexing::SyncInput;
pub use indexing::SyncResponse;
pub use indexing::SyncStatus;
pub use indexing::TALON_SQLITE_BUSY_TIMEOUT_MS;
pub use indexing::TOMBSTONE_RETENTION_MS;
pub use indexing::TRIGGER_MIGRATIONS;
pub use indexing::UpsertNoteParams;
pub use indexing::bump_db_version;
pub use indexing::now_ms;
pub use indexing::parse_since;
pub use indexing::perform_note_deletion;
pub use indexing::read_db_version;
pub use indexing::run_migrations;
pub use indexing::upsert_aliases;
pub use indexing::upsert_chunks;
pub use indexing::upsert_frontmatter_fields;
pub use indexing::upsert_note;
pub use indexing::upsert_tags;
pub use inference::EmbeddingClient;
pub use inference::InferenceError;
pub use inference::RerankClient;
pub use links::LinkEdge;
pub use links::LinkGraphStats;
pub use links::NoteReference;
pub use llm::ChatClient;
pub use llm::ChatError;
pub use llm::ChatMessage;
pub use llm::ReasoningEffort;
pub use query::AskDiagnostics;
pub use query::AskLlmStageDiagnostics;
pub use query::AskResponse;
pub use query::AskSearchDiagnostics;
pub use query::AskSource;
pub use query::ChangeEntry;
pub use query::ChangesInput;
pub use query::ChangesResponse;
pub use query::LinkedNote;
pub use query::MetaEntry;
pub use query::MetaInput;
pub use query::MetaResponse;
pub use query::NoteExcerpt;
pub use query::ReadInput;
pub use query::ReadResponse;
pub use query::ReadResult;
pub use query::ReadSection;
pub use query::RecallFormat;
pub use query::RecallInput;
pub use query::RecallResponse;
pub use query::RecallRuntimeMode;
pub use query::RelatedInput;
pub use query::RelatedResponse;
pub use query::RelatedResult;
pub use query::RelationKind;
pub use query::TombstoneEntry;
pub use query::VaultRecall;
pub use query::query_changes;
pub use query::query_inspect;
pub use query::query_meta;
pub use query::query_status;
pub use query::run_read;
pub use query::run_recall;
pub use query::run_recall_with_mode;
pub use query::run_search_with_expanded_queries;
pub use runtime::TalonClients;
pub use runtime::build_ask_chat_client;
pub use runtime::build_expansion_client;
pub use search::AnchorKind;
pub use search::Direction;
pub use search::FrontmatterFilter;
pub use search::GraphSearchDiagnostics;
pub use search::MatchAnchor;
pub use search::MatchKind;
pub use search::SearchDiagnostics;
pub use search::SearchHooks;
pub use search::SearchInput;
pub use search::SearchMode;
pub use search::SearchResponse;
pub use search::SearchResult;
pub use search::WhereClause;
pub use search::WhereOperator;
pub use store::open_database;
pub use store::open_database_read_only;
pub use sync::SyncError;
pub use sync::SyncLock;
pub use sync::SyncLockError;
pub use sync::acquire_sync_lock;
pub use sync::is_sync_lock_held_by_live_process;
pub use sync::refresh_index;
pub use sync::refresh_index_locked;
pub use sync::remove_index_files;
pub use sync::run_sync;
pub use sync::run_sync_with_chunker;
pub use sync::run_sync_with_chunker_locked;
pub use text::chunker::NoteChunk;
pub use text::chunker::build_embedding_text;
pub use text::chunker::build_heading_path;
pub use text::chunker::chunk_markdown;
pub use text::chunker::make_chunk_hash;
pub use text::frontmatter::FrontmatterEntry;
pub use text::frontmatter::FrontmatterExtract;
pub use text::frontmatter::FrontmatterReverseIndex;
pub use text::frontmatter::FrontmatterValue;
pub use text::frontmatter::FrontmatterValueType;
pub use text::frontmatter::ReverseSourceIndex;
pub use text::frontmatter::normalize_keyword;
pub use text::frontmatter::normalize_vault_path;
pub use text::frontmatter::parse_frontmatter;
pub use text::nfd::normalize as normalize_text_nfd;
pub use text::LineSpan;
pub use text::TOKEN_CHAR_RATIO;
pub use text::estimate_tokens;
pub use text::is_fence_line;
pub use text::is_heading_line;
pub use text::split_lines;
pub use text::strip_heading_text;
pub use text::strip_outer_quotes;

Modules§

ask
LLM planning and synthesis for vault-grounded answers.
cache
In-process caches for query-time work.
config
Configuration model for standalone and federated Talon processes.
constants
Product constants inherited from the TypeScript Talon implementation.
contracts
MCP and CLI tool contracts — shared envelope, path, and primitive types.
embed
Embedding pipeline: pulls pending chunks from chunks, calls the TEI sidecar, and writes vectors back to vec_chunks + vector_metadata.
error
Error types for Talon core operations.
expansion
OpenAI-compatible LLM client for hybrid search query expansion.
glob_matcher
Case-insensitive glob matching, shared by indexer scan filters and query where-filters.
graph
Persisted vault graph snapshot and graph intelligence helpers.
indexer
Indexing pipeline: parse → chunk → upsert.
indexing
Indexing tool input and output types.
inference
Blocking HTTP clients for embedding and reranking endpoints.
links
Link graph types and resolution logic.
llm
Shared OpenAI-compatible chat-completions client.
query
Query handlers for the Talon CLI.
runtime
Runtime client wiring for configured HTTP capabilities.
search
Search algorithms ported from services/talon/search/*.ts.
store
Database open/close + migration entry point.
sync
Sync orchestration: advisory lock, full scan, reconcile.
text
Text processing, frontmatter parsing, and markdown chunking helpers.
vec_ext
Loadable sqlite-vec extension wiring.

Structs§

Connection
A connection to a SQLite database.