Crate overview

The workspace is 19 crates under crates/, all named paigasus-helikon-* (plus the paigasus-helikon facade itself). This page is the version-bearing map: one row per crate, what it owns, whether it is published, and how the crates depend on each other.

For orientation — how to pick crates and add them to your Cargo.toml — see workspace layout. For the rendered rustdoc, see API docs.

Dependency direction

  • paigasus-helikon-core is the root: it owns the trait surface, the agent loop, the event stream, and the carrier types. It depends on no other workspace crate.
  • The provider, session, tool, MCP, and runtime crates each depend on core and on nothing else in the workspace (-tools carries a path-only dev-dep on -providers-openai for an example; it is stripped from the published manifest).
  • paigasus-helikon-macros is a proc-macro crate; its #[tool] expansion targets core types in the consumer's crate.
  • paigasus-helikon is the facade: it re-exports core unconditionally and the sibling crates behind Cargo features. Application crates normally depend on the facade alone and turn on the features they need.
  • paigasus-helikon-cli consumes core and the sibling crates it needs (-evals, -runtime-tokio, -providers-openai, -providers-anthropic, -mcp) directly — not the facade. It publishes to crates.io at 0.1.0 as a binary crate; its lib target is internal (missing_docs opted out) and carries no stability guarantee, publishing only so cargo install paigasus-helikon-cli resolves.

Crate table

Versions below are current as of 2026-07-06 and move every release — read each crate's Cargo.toml (or the root [workspace.dependencies] pins) for the live numbers, and the crates.io page / docs.rs for what is actually published.

CrateConcernStateVersion
paigasus-helikon-coreTrait surface, agent loop, event stream, carrier types — the dependency rootpublished0.5.4
paigasus-helikonFacade — re-exports core always, siblings behind featurespublished0.4.14
paigasus-helikon-macros#[tool] attribute and tools! proc macrospublished0.2.2
paigasus-helikon-providers-openaiOpenAI model adapter (OpenAiModel)published0.2.9
paigasus-helikon-providers-anthropicAnthropic model adapter (AnthropicModel)published0.1.10
paigasus-helikon-providers-bedrockAmazon Bedrock Converse API model adapter (BedrockModel)published0.1.0
paigasus-helikon-providers-geminiGoogle Gemini model adapter (GeminiModel; Developer API + Vertex AI)published0.1.0
paigasus-helikon-sessions-sqliteSQLite-backed Session backendpublished0.1.11
paigasus-helikon-sessions-postgresPostgreSQL-backed Session backend (PostgresSession)published0.1.0
paigasus-helikon-sessions-redisRedis Streams-backed Session backend (RedisSession)published0.1.0
paigasus-helikon-runtime-tokioDefault ephemeral Tokio runnerpublished0.1.9
paigasus-helikon-runtime-axumSelf-hosted Axum HTTP/SSE/WebSocket agent server (AgentServer builder, 6 endpoints, replayable runs)published0.1.0
paigasus-helikon-runtime-temporalDurable Temporal-backed runner (TemporalRunner; crash-resume via Temporal history replay)published0.1.0
paigasus-helikon-runtime-agentcoreAWS Bedrock AgentCore container shim (AgentCoreServer; HTTP + MCP protocol contract)published0.1.0
paigasus-helikon-mcpMCP integration — rmcp client and server wrapperspublished0.1.3
paigasus-helikon-toolsSandboxed Read/Write/Edit/Bash tools (+ WebFetch/WebSearch behind web)published0.1.5
paigasus-helikon-evalsEvaluation harness — datasets, evaluators, MockModel, SQLite/Parquet trace sinkspublished0.1.0
paigasus-helikon-clihelikon / paigasus-helikon CLI binaries; lib target is internal, no stability guaranteepublished (binary crate)0.1.0
paigasus-helikon-sessions-testkitShared Session conformance test harness (internal — never published)internal — publish = false0.0.0

Every crate above the -sessions-testkit row publishes to crates.io — the last two stubs (-evals, -cli) ascended to real implementations in SMA-332/SMA-333, following the four-remaining-crates ascend before them (-runtime-axum, -runtime-temporal, -runtime-agentcore). paigasus-helikon-sessions-testkit is the sole publish = false crate, and it is an intentional internal test harness rather than a stub awaiting an ascend.

Facade feature → re-export map

Add the facade and turn on the features you need. Each feature gates one sibling crate behind a module on paigasus_helikon:::

FeatureRe-exportCrate pulled in
(always on)paigasus_helikon::corepaigasus-helikon-core
macrospaigasus_helikon::macros, paigasus_helikon::tool, paigasus_helikon::toolspaigasus-helikon-macros
openai (alias providers-openai)paigasus_helikon::openaipaigasus-helikon-providers-openai
anthropicpaigasus_helikon::anthropicpaigasus-helikon-providers-anthropic
bedrockpaigasus_helikon::bedrockpaigasus-helikon-providers-bedrock
geminipaigasus_helikon::geminipaigasus-helikon-providers-gemini
mcppaigasus_helikon::mcppaigasus-helikon-mcp
toolspaigasus_helikon::toolspaigasus-helikon-tools
tools-webadds WebFetch/WebSearchenables paigasus-helikon-tools/web
sessions-sqlitepaigasus_helikon::sessions_sqlitepaigasus-helikon-sessions-sqlite
sessions-postgrespaigasus_helikon::sessions_postgrespaigasus-helikon-sessions-postgres
sessions-redispaigasus_helikon::sessions_redispaigasus-helikon-sessions-redis
runtime-tokiopaigasus_helikon::runtime_tokiopaigasus-helikon-runtime-tokio
runtime-axumpaigasus_helikon::runtime_axumpaigasus-helikon-runtime-axum
runtime-temporalpaigasus_helikon::runtime_temporalpaigasus-helikon-runtime-temporal
runtime-agentcorepaigasus_helikon::runtime_agentcorepaigasus-helikon-runtime-agentcore
evalspaigasus_helikon::evalspaigasus-helikon-evals

Feature names are kebab-case (tools-web, runtime-tokio); the re-export module aliases are snake-case (runtime_tokio, sessions_sqlite).

Two distinct items share the path paigasus_helikon::tools. With the macros feature it is the tools! macro; with the tools feature it is the sandboxed-tools crate module. They live in different namespaces, so Rust resolves them by use site (a tools!(...) macro call vs. a tools:: path) — but be explicit about which you mean.

The facade also exposes the paigasus_helikon::schema::strict() function, the JSON-Schema strict-mode normalizer (fn strict(value: &Value) -> Value), independent of any feature.