Skip to main content

Crate nyx_agent_ai

Crate nyx_agent_ai 

Source
Expand description

AiRuntime trait + concrete vendor adapters.

This crate is published so the nyx-agent binary can be installed from crates.io with versioned internal dependencies. It is an implementation detail of Nyx Agent, not a stable public API.

Ships the trait, the BudgetTracker host port, the direct-HTTP Anthropic Messages adapter, the OpenAI-compatible local-LLM adapter, and the Claude Code / Codex CLI all-in-one drivers. OpenAI API / Bedrock / Vertex remain on the roadmap. Adapters depend only on nyx-agent-types; the agent binary wires the host-side budget port to nyx-agent-core’s BudgetStore at startup.

Re-exports§

pub use adapter::anthropic::AnthropicSdkAdapter;
pub use adapter::anthropic::Pricing;
pub use adapter::anthropic::ANTHROPIC_VERSION;
pub use adapter::anthropic::DEFAULT_BASE_URL;
pub use adapter::anthropic::DEFAULT_RANKING_MODEL;
pub use adapter::anthropic::DEFAULT_SYNTHESIS_MODEL;
pub use adapter::claude_code::detect_claude_binary;
pub use adapter::claude_code::parse_stream_json;
pub use adapter::claude_code::ClaudeBinary;
pub use adapter::claude_code::ClaudeCodeAdapter;
pub use adapter::claude_code::DEFAULT_CLAUDE_BINARY;
pub use adapter::claude_code::MINIMUM_CLAUDE_VERSION;
pub use adapter::codex::detect_codex_binary;
pub use adapter::codex::parse_codex_jsonl;
pub use adapter::codex::CodexBinary;
pub use adapter::codex::CodexCliAdapter;
pub use adapter::codex::DEFAULT_CODEX_BINARY;
pub use adapter::codex::MINIMUM_CODEX_VERSION;
pub use adapter::local_llm::LocalLlmAdapter;
pub use adapter::local_llm::DEFAULT_LOCAL_LLM_MODEL;
pub use runtime::deterministic_seed;
pub use runtime::AiRuntime;
pub use runtime::BudgetTracker;
pub use runtime::InMemoryBudgetTracker;
pub use runtime::SharedBudgetTracker;
pub use tasks::attack_agent::run as run_attack_agent;
pub use tasks::attack_agent::AttackAgentAuditEntry;
pub use tasks::attack_agent::AttackAgentKnownLead;
pub use tasks::attack_agent::AttackAgentOutcome;
pub use tasks::attack_agent::AttackAgentProfile;
pub use tasks::attack_agent::AttackAgentScope;
pub use tasks::attack_agent::AttackAgentVulnerability;
pub use tasks::attack_agent::AttackWorkspace;
pub use tasks::attack_agent::ExistingVulnerabilitySummary;
pub use tasks::attack_agent::ATTACK_AGENT_PROMPT_VERSION;
pub use tasks::attack_agent::DEFAULT_ATTACK_AGENT_MAX_TURNS;
pub use tasks::attack_agent::DEFAULT_ATTACK_AGENT_PROFILES;
pub use tasks::attack_agent::SPECIALIST_ATTACK_AGENT_PROFILES;
pub use tasks::auth_setup::run as run_auth_setup;
pub use tasks::auth_setup::AuthSetupOutcome;
pub use tasks::auth_setup::AuthSetupScope;
pub use tasks::auth_setup::AUTH_SETUP_PROMPT_VERSION;
pub use tasks::auth_setup::DEFAULT_AUTH_SETUP_RUN_CAP_USD_MICROS;
pub use tasks::chain_reasoning::run as run_chain_reasoning;
pub use tasks::chain_reasoning::run_agentic as run_agentic_chain_reasoning;
pub use tasks::chain_reasoning::ChainReasoningOutcome;
pub use tasks::chain_reasoning::ChainReasoningWorkspace;
pub use tasks::exploration::run as run_exploration;
pub use tasks::exploration::AuditEntry as ExplorationAuditEntry;
pub use tasks::exploration::EscapeSuiteGate;
pub use tasks::exploration::EscapeSuiteVerdict;
pub use tasks::exploration::ExplorationEndpoint;
pub use tasks::exploration::ExplorationFinding;
pub use tasks::exploration::ExplorationHaltReason;
pub use tasks::exploration::ExplorationKnownLead;
pub use tasks::exploration::ExplorationOutcome;
pub use tasks::exploration::ExplorationScope;
pub use tasks::exploration::DEFAULT_EXPLORATION_RUN_CAP_USD_MICROS;
pub use tasks::exploration::DEFAULT_EXPLORATION_SOFT_CAP_USD_MICROS;
pub use tasks::exploration::DEFAULT_EXPLORATION_WALL_CLOCK;
pub use tasks::exploration::EXPLORATION_PROMPT_VERSION;
pub use tasks::exploration::EXPLORATION_RESEARCH_PROMPT_VERSION;
pub use tasks::live_evidence_review::run as run_live_evidence_review;
pub use tasks::live_evidence_review::LiveEvidenceReviewDecision;
pub use tasks::live_evidence_review::LiveEvidenceReviewInput;
pub use tasks::live_evidence_review::LiveEvidenceReviewOutcome;
pub use tasks::live_evidence_review::LiveEvidenceReviewOutput;
pub use tasks::live_evidence_review::LIVE_EVIDENCE_REVIEW_PROMPT_VERSION;
pub use tasks::novel_findings::run as run_novel_findings;
pub use tasks::novel_findings::NovelFindingDiscoveryOutcome;
pub use tasks::payload_synthesis::run as run_payload_synthesis;
pub use tasks::payload_synthesis::PayloadSynthesisOutcome;
pub use tasks::project_setup::run as run_project_setup;
pub use tasks::project_setup::ProjectSetupOutcome;
pub use tasks::project_setup::ProjectSetupScope;
pub use tasks::project_setup::DEFAULT_PROJECT_SETUP_RUN_CAP_USD_MICROS;
pub use tasks::project_setup::PROJECT_SETUP_PROMPT_VERSION;
pub use tasks::remediation::run as run_remediation;
pub use tasks::remediation::RemediationOutcome;
pub use tasks::remediation::RemediationScope;
pub use tasks::remediation::DEFAULT_REMEDIATION_RUN_CAP_USD_MICROS;
pub use tasks::remediation::REMEDIATION_PROMPT_VERSION;
pub use tasks::seed_setup::run as run_seed_setup;
pub use tasks::seed_setup::SeedSetupOutcome;
pub use tasks::seed_setup::SeedSetupScope;
pub use tasks::seed_setup::DEFAULT_SEED_SETUP_RUN_CAP_USD_MICROS;
pub use tasks::seed_setup::SEED_SETUP_PROMPT_VERSION;
pub use tasks::spec_derivation::read_excerpt as read_spec_excerpt;
pub use tasks::spec_derivation::run as run_spec_derivation;
pub use tasks::spec_derivation::SpecDerivationOutcome;

Modules§

adapter
Concrete AiRuntime adapters. anthropic calls the Messages API over direct HTTP for direct API work; local_llm calls an OpenAI-compatible /v1 endpoint; claude_code and codex spawn local all-in-one CLI backends. OpenAI API, Bedrock, and Vertex remain on the roadmap.
runtime
AiRuntime trait + the small BudgetTracker port that adapters hit on every successful round-trip to land a BudgetTick row in the budgets table. The trait stays vendor-neutral; concrete adapters live under adapter/.
tasks
Agent task implementations layered on top of AiRuntime.