navi-core 0.2.7

Local agentic engine and terminal-first coding agent.
Documentation
pub mod attachment_store;
pub mod benchmark;
pub mod branch_race;
pub mod cancel;
pub mod capability;
pub mod compact;
pub mod config;
pub mod context;
pub mod credentials;
pub mod dataset;
pub mod effect;
pub mod eval;
pub mod event;
mod fs_util;
pub mod goal;
pub mod harness;
pub mod logging;
pub mod mcp_firewall;
pub mod memory;
pub mod model;
pub mod model_router;
pub mod notify;
pub mod operational_memory;
pub mod patch;
pub mod plan_mode;
pub mod plan_store;
pub mod prompt;
mod provider_id;
pub mod recap;
pub mod registry;
pub mod repetition;
pub mod replay_gate;
pub mod repo_intelligence;
pub mod runtime;
pub mod runtime_components;
pub mod sandbox;
pub mod security;
pub mod session;
pub mod session_replay;
pub mod session_title;
pub mod setup;
pub mod skill_mining;
pub mod skills;
pub mod tool;
pub mod trace;
pub mod transcription_catalog;
pub mod turn;
pub mod update;
pub mod verifier;

pub mod background_model;

pub use branch_race::{
    BranchCandidate, BranchHypothesis, BranchRacePlanner, BranchRaceReport, BranchRaceRequest,
    BranchStrategy, ScoredBranchCandidate,
};
pub use capability::{
    Capability, CapabilityDecision, CapabilityGrant, CapabilityLedger, CapabilityLedgerEntry,
    CapabilityScope, capabilities_from_tool_metadata,
};
pub use compact::{AUTO_COMPACT_THRESHOLD_PERCENT, CompactState, CompactThreshold};
pub use config::{
    AttachmentModelsConfig, BackgroundModelEntry, BackgroundModelsConfig, GoalsConfig,
    HarnessProfile, LoadedConfig, McpConfig, McpServerConfig, ModelOption, ModelTaskSize,
    NaviConfig, PermissionMode, PluginConfig, ProviderConfig, ProviderKind, ProviderModelConfig,
    ProviderRequestOptions, SecurityConfig, ToolCallingMode, ToolPromptManifest, UpdatesConfig,
    VoiceConfig, WasmPluginConfig, available_model_options, billable_input_split,
    canonical_provider_id, default_request_options_for, effective_context_window,
    effective_tool_calling_mode, estimate_token_cost_usd, estimate_token_cost_usd_with_cache,
    is_free_model_name, model_cache_list_pricing, model_can_run_publicly, model_list_pricing,
    model_supports_attachment, provider_catalog, provider_credit_unit, provider_request_model_name,
    provider_uses_credits, resolve_provider_config, save_global_config, save_project_config,
    set_registry_store, usd_to_provider_credits,
};
pub use context::{ContextPacket, ContextSource};
pub use credentials::{
    CommandCodeCredentialMetadata, CredentialAccountInfo, CredentialSource, CredentialStatus,
    CredentialStore, XAI_GROK_CLI_OAUTH_KIND, is_model_usable_oauth_kind, resolve_provider_api_key,
    resolve_provider_api_key_for_project, resolve_provider_credential_status,
};
pub use dataset::{
    DatasetRow, DatasetRowType, export_jsonl, trace_to_dataset_rows, traces_to_eval_candidates,
};
pub use effect::{BlastRadius, EffectAnalyzer, EffectReport, PostDecision};
pub use eval::{
    EvalCase, EvalCaseMetrics, EvalCaseResult, EvalMode, EvalRun, EvalRunMetrics, EvalRunner,
    EvalSuite, eval_case_from_trace,
};
pub use event::{
    AgentEvent, ApprovalDecision, ApprovalRequest, ApprovalRisk, PlanReviewDecision,
    PlanReviewRequest, PlanReviewResponse, QuestionOption, QuestionRequest, QuestionResponse,
    RuntimeEvent, RuntimeEventKind, SubagentTranscriptItem, SubagentTranscriptKind,
    SudoPasswordRequest, SudoPasswordResponse,
};
pub use goal::{
    CreateGoalTool, GetGoalTool, GoalExtension, GoalId, GoalRuntimeHandle, GoalService, GoalStatus,
    GoalTask, SessionGoal, TaskStatus, UpdateGoalChecklistTool, UpdateGoalTool,
    goal_tool_definitions,
};
pub use harness::{
    AgentRunState, HarnessPolicy, build_system_prompt, build_system_prompt_with_memory,
    compact_tool_observation, record_tool_call, select_harness_policy, tool_error_result,
};
pub use logging::{LoggingGuard, LoggingRuntimeConfig, init_logging, log_dir, log_path};
pub use mcp_firewall::{McpFirewallDecision, McpFirewallPolicy, McpProvenance, McpTaint};
pub use model::{
    AttachmentKind, BINARY_REASONING_LEVELS, ContentPart, DEFAULT_REASONING_LEVELS, ModelMessage,
    ModelProvider, ModelRequest, ModelResponse, ModelRole, ModelStream, ModelStreamEvent,
    ThinkingConfig, ThinkingRequest, effort_display_label, is_binary_effort_model,
    parse_reasoning_level, resolve_effort_label, resolve_model_thinking_level,
    thinking_levels_for_model,
};
pub use model_router::{ModelRoute, ModelRouteRole, ModelRouter, ModelScorecard};
pub use notify::{NotificationUrgency, NotifyRequest, notify_desktop, open_url};
pub use operational_memory::{MemoryScope, OperationalMemoryEntry, OperationalMemoryStore};
pub use patch::PatchProposal;
pub use plan_mode::{AgentMode, ProposedPlan, ProposedPlanParser, is_tool_allowed_in_plan_mode};
pub use plan_store::{
    Plan, PlanLineComment, PlanStatus, PlanStep, PlanStore, format_plan_feedback, plan_view_lines,
};
pub use prompt::{PromptCache, RenderedPrompt, SystemPromptInput, SystemPromptRenderer};
pub use provider_id::ProviderId;
pub use recap::{
    RECAP_LONG_TAIL_CHARS, RECAP_MAX_DISPLAY_CHARS, RECAP_MAX_LINES, clamp_recap_summary,
    llm_recap, local_recap, local_recap_with_tools, should_suppress_recap,
};
pub use replay_gate::{
    ReplayGateConfig, ReplayGateReport, SuperiorityGateReport, evaluate_replay_gate,
    evaluate_superiority_gate, unsafe_guarded_auto_approval_count,
};
pub use repo_intelligence::{
    ChurnRecord, DependencyEdge, ImportRecord, IndexedFile, RankedSymbolRecord, ReferenceRecord,
    RepoIndex, RepoIntelligenceCache, SymbolRecord, TestTarget, TextMatchRecord, build_index,
    dependency_edges, discover_tests, goto_symbol, ranked_symbol_matches, references,
    search_symbols, search_text_matches,
};
pub use runtime::{
    AgentRuntime, AgentRuntimeOptions, ApprovalResolver, MemoryExtractionModel, PlanReviewResolver,
    QuestionResolver, SudoPasswordResolver, TurnCanceller,
};
pub use runtime_components::{
    CompactionStrategy, DefaultCompactionStrategy, DefaultHarnessDriver, DefaultPromptBuilder,
    DefaultToolSecurityPolicy, HarnessDriver, NoopSessionHooks, PermissiveSecurityPolicy,
    PromptBuilder, RuntimeComponents, SessionHooks, ToolSecurityPolicy,
};
pub use security::{SecurityDecision, SecurityPolicy};
pub use session::{
    SessionId, SessionRuntime, SessionSnapshot, SessionSnapshotInfo, SessionStore,
    SessionUsageSnapshot, clean_session_title, session_title_from_events,
};
pub use session_replay::{model_messages_from_agent_events, rehydrate_tool_content_parts};
pub use session_title::{SessionTitleHandle, SessionTitleTool};
pub use setup::{SETUP_INTERVIEW_COMPLETE_MARKER, SETUP_INTERVIEW_PROMPT};
pub use skill_mining::{
    SkillDraft, SkillReplayReport, activate_skill_after_replay, draft_skill_from_traces,
};
pub use skills::{
    CREATE_SKILL_ID, SkillManifest, SkillSource, SkillStore, SkillWriteRequest, SkillWriteResult,
    SkillWriteScope, active_skills, builtin_skills, delete_skill, discover_configured_skills,
    load_skill_by_id, project_skill_key, skill_is_editable, skill_tool_allowlist, slugify_skill_id,
    write_skill,
};
pub use tool::background::{BackgroundCommandSnapshot, BackgroundTaskStatus};
pub use tool::registry::{ToolRegistry, ToolSet, phases};
pub use tool::{
    AgentProfile, ApprovalMode, ProviderBuilderFn, RepoExploreTool, SubagentTool, Tool,
    ToolDefinition, ToolExecutor, ToolExposure, ToolInvocation, ToolKind, ToolMetadata, ToolResult,
    ToolRisk, capabilities,
};
pub use trace::{
    ApprovalTrace, ToolCallTrace, TraceStore, TurnMetrics, TurnOutcome, TurnTrace, VerifierTrace,
    turn_traces_from_events,
};
pub use update::{
    UpdateInfo, apply_update, check_for_update, current_version, normalize_version,
    version_is_newer,
};

pub use background_model::{BackgroundModelResolver, ResolvedBackgroundModel};
pub use benchmark::{
    BenchAgentConfig, BenchCase, BenchCaseMetrics, BenchCaseResult, BenchCompareConfig,
    BenchComparison, BenchRun, BenchRunMetrics, BenchSuite, aggregate_bench_metrics,
    compare_bench_runs,
};
pub use memory::{HistoryStore, MemoryManager, MemoryStore, SessionCheckpoint};
pub use registry::{
    RegistryTranscriptionModel, RegistryTranscriptionProvider, TranscriptionModelPricing,
    TranscriptionProviderKind, embedded_transcription_provider_schema,
    embedded_transcription_providers,
};
pub use transcription_catalog::{
    find_transcription_provider, resolve_transcription_model, transcription_provider_catalog,
};
pub use verifier::{VerificationStore, VerifierResult, VerifierRunner, VerifierSpec};