Skip to content

refactor(core): delete core/src/backend; hosted backend lives in openhuman-tinyhumans behind generic registries - #7963

Merged
senamakel merged 278 commits into
tinyhumansai:mainfrom
senamakel:backend-to-tinyhumans
Oct 18, 2026
Merged

senamakel merged 278 commits into
tinyhumansai:mainfrom
senamakel:backend-to-tinyhumans

Conversation

@senamakel

Copy link
Copy Markdown
Member

Summary

  • Deletes crates/openhuman-core/src/backend/, about 3k lines. The core now has no hosted-backend transport, client, route strings, tinyhumans.ai hostnames or hosted-shaped ports.
  • Moves every piece of hosted TinyHumans code into crates/openhuman-tinyhumans:
    • the transport port types (transport/port.rs) and the authenticated client (client/)
    • managed inference: the chat model, catalog and embeddings (inference/)
    • cloud STT/TTS, the realtime signed URL and hosted live voice (voice/)
    • the IntegrationClient, budget gate, Places/stock/file-storage tools, media generators, the web3 crypto client, the Composio backend route and the artifact publisher (integrations/)
    • the managed channel relay (channels/)
    • the hosted memory engine and free-period check (memory/)
  • TinyHumans plugs back into the core only through generic registries keyed by slug or id. Any host could use them for any service:
    • tools::sources, with placement anchors
    • voice::factory::registry and voice::live::registry
    • inference::registry
    • channels::callback_slot
    • memory::engine_registry
    • agent::artifacts::publisher_slot
    • the Composio route builder and the connector proxy target / modules::wallet_backend
    • the config enricher (config::register_enricher), which fills Config.resolved_endpoints
  • Removes CoreBuilder::backend_transport, CoreContext::backend_transport and the embed backend_transport / install_backend_transport API. Hosts get everything through openhuman_tinyhumans::install / register_hooks.
  • Adds scripts/ci/check-core-hosted-free.mjs, wired into pnpm rust:layout, with a self-test. It fails if crate::backend, tinyhumans.ai or a hosted route literal reappears in core.

Problem

The SDK already left the core in #6352–#6362 and #6705, but core/src/backend/ still gave about 45 core files a general "call the hosted backend" port. Those files used BackendClient::authed_json, base_url, inference_base_url, attribution_headers and product_identity. On top of that, core carried hosted route strings and hosted policy, such as the managed-host API-key allowlist and envelope and 401 classification. That keeps the core TinyHumans-shaped rather than generic and pluggable.

Solution

  • Generic registries. Each core domain that used to call the backend now asks a registry. TinyHumans registers its implementations from register::register_all, which install() and the host boot (openhuman_rpc::host::{cli,desktop,tui}) call before any config is read.
  • Slot resolution. Registries are core::slots::HookSlots. Lookups check the ambient CoreContext extensions first, then the process table. Context entries shadow process entries. Under SaaS a lookup consults only the task's own scope, so the operator's defaults never leak into a tenant.
  • Resolved endpoints. URLs, attribution headers, product identity, managed hosts, the tracing ingest and OTLP URLs, and the deployment environment come from Config.resolved_endpoints (#[serde(skip)]), filled by the TinyHumans enricher on every config load. Load-time migrations use config::enrichers::managed_hosts_for.
  • Shipped behaviour is preserved:
    • RPC method names and response shapes
    • the SESSION_EXPIRED:, API_KEY_REJECTED: and BACKEND_UNAVAILABLE: sentinels
    • tool catalogue order (anchors after_search and after_delegate) and live-voice provider order
    • egress classification (EgressDescriptor::control_plane)
    • managed-model JWT expiry precheck, thread_id, reasoning wire, and usage/billing re-projection
    • the managed catalog's provider-scoped key fallback and per-slug client
    • the runtime proxy for OTLP
  • A bare core (nothing registered) runs agents, memory, tools and RPC. Hosted features are absent, and calls into them answer BACKEND_UNAVAILABLE:.
  • Tests moved with the code into openhuman-tinyhumans. The core keeps tests for the empty-registry path and the generic behaviour.
  • Upstream merged. The branch is merged with upstream/main (merge commit, no squash). Upstream's new hosted artifact publisher was ported to tinyhumans/src/integrations/file_storage/ behind the new generic publisher_slot.

Submission Checklist

  • Tests added or updated. Every registry has happy-path, empty-registry and context-shadowing tests. Moved suites run against the real implementations in tinyhumans. Regression tests cover boot-order config migration, the managed-catalog key fallback, the OTLP proxy client, context-first HookSlot::first, the voice sentinel and catalogue order.
  • Diff coverage ≥ 80%. Left to CI; I did not run pnpm test:coverage / pnpm test:rust locally for this diff.
  • Coverage matrix updated (docs/TEST-COVERAGE-MATRIX.md, for the paths that moved).
  • All affected feature IDs listed under ## Related. N/A: this is a structural move with no feature-row change.
  • No new external network dependencies. All tests use the mock backend, wiremock, or axum fakes.
  • Manual smoke checklist updated. N/A: no release-cut surface changed.
  • Linked issue closed. N/A: no tracking issue.

Impact

  • Desktop, CLI and TUI: unchanged behaviour. They boot through openhuman_rpc::host, which registers the TinyHumans hooks first.
  • Embedders (breaking API): RuntimeBuilder::backend_transport, install_backend_transport, installed_backend_transport, the embed transport re-exports and BuilderSummary::has_backend_transport are removed. Library hosts that want the hosted backend use openhuman_tinyhumans::install or RuntimeBuilder. The docs and generated builder setters are updated.
  • Known behaviour differences:
    • The channel relay reads the session credential on each request instead of capturing it once per progressive session.
    • In a bare core, the hosted voice slugs (cloud, openhuman, backend) answer BACKEND_UNAVAILABLE:.
    • The managed-host list used by legacy-config migrations is now the enricher's (*.tinyhumans.ai, *.openhuman.ai, openhuman), slightly wider than the old api/staging-api exact match.

Related

  • Closes: N/A
  • Follow-up PR(s)/TODOs:
    • memory::lifecycle::prefetch::tests::slow_engine_results_survive_the_manual_pre_turn_cutoff is timing-sensitive and flaked once in a full run. The file is unchanged from upstream.
    • openhuman-embed attached_tools_survive_clones_and_session_resume also fails on the merge-base.

AI Authored PR Metadata (required for Codex/Linear PRs)

Linear Issue

  • Key: N/A
  • URL: N/A

Commit & Branch

  • Branch: backend-to-tinyhumans
  • Commit SHA: 30c2fe009f

Validation Run

  • pnpm --filter openhuman-app format:check: N/A, no frontend changes
  • pnpm typecheck: N/A, no frontend changes
  • Focused tests:
    • RUST_MIN_STACK=16777216 cargo test -p openhuman --lib: 9477 passed on the second run. The first run had one failure, the timing flake noted above.
    • cargo test -p openhuman --lib --features voice voice::: 227 passed.
    • cargo test -p openhuman-tinyhumans --all-features: 614 passed, three times in a row.
    • cargo test -p openhuman-rpc: passed.
    • scripts/test-rust-with-mock.sh --test json_rpc_e2e: 108 passed.
    • media_generation_e2e: passed.
  • Rust fmt/check:
    • cargo fmt --all --check and pnpm rust:clippy
    • cargo check --workspace --all-targets, cargo check -p openhuman --no-default-features, and the app manifest check
    • pnpm rust:layout, check-feature-forwarding, check-process-statics, check-saas-ambient, check-core-hosted-free and pnpm docs:check
  • Tauri fmt/check: cargo check --manifest-path crates/openhuman-app/Cargo.toml

Validation Blocked

  • command: N/A
  • error: N/A
  • impact: N/A

Behavior Changes

  • Intended behavior change: none for the shipped product. The core is now generic and only the TinyHumans layer knows the hosted backend.
  • User-visible effect: none expected.

Parity Contract

  • Legacy behavior preserved: RPC names and shapes, error sentinels, tool and live-voice catalogue order, egress ledger, managed inference wire, legacy config migrations, credential endpoint guards, SaaS isolation.
  • Guard/fallback/dispatch parity checks:
    • check-core-hosted-free
    • the boot-order regression test host::tests::boot_session_store_keeps_a_legacy_managed_config_managed
    • the catalogue-order tests

Duplicate / Superseded PR Handling

  • Duplicate PR(s): none
  • Canonical PR: this one
  • Resolution: N/A

The host_internals module was no longer referenced anywhere in the crate, so it has been deleted to keep the embed crate free of dead code.

Auto-committed-on: dragonfly
…erence modules

Introduce a new openhuman-tinyhumans crate that provides channel, client,
inference, integration, memory, and voice modules along with a registration
entry point. This lays the groundwork for wiring tinyhumans capabilities into
the broader openhuman system.

Auto-committed-on: dragonfly
Extends the process-statics inventory with the id-keyed HookSlot tables the
embedding host registers at startup, plus the cfg(test) per-thread override
used to isolate slot registrations between tests. Each entry notes that these
tables hold code rather than tenant data and cites the test that verifies it.

Auto-committed-on: dragonfly
Introduce a slot registry in the runtime context so that context
contributors can be registered and resolved by name. This lets callers
compose context from independent sources without hard-coding their
ordering.

Auto-committed-on: dragonfly
The test registered the openhuman embedding factory but then built the provider under the openhuman name, so it no longer exercised the intended path. It now requests the cloud provider, matching the factory that was registered.

Auto-committed-on: dragonfly
Reformat long signatures, call chains, and assertions to satisfy rustfmt, and move the test-only normalize_loaded_config re-export next to the other test-gated imports. No behaviour changes.

Auto-committed-on: dragonfly
Add a host internals module to the embed crate and register the
openhuman-tinyhumans dependency it needs. This provides the internal
host plumbing required by the embedding layer.

Auto-committed-on: dragonfly
Adds endpoint resolution for the tinyhumans client along with dedicated
error types, so callers can resolve service endpoints and handle failures
with structured errors instead of ad hoc strings.

Auto-committed-on: dragonfly
Introduce a backend client module and a classification helper for the
tinyhumans client crate. These provide the transport and request
categorisation needed by upcoming tinyhumans features.

Auto-committed-on: dragonfly
Moved the backend client, classification, channel, and integrations HTTP
logic into separate modules under the client directory. This keeps each
concern isolated and makes the client surface easier to navigate without
changing any behaviour.

Auto-committed-on: dragonfly
Introduce an enricher that augments tinyhumans client responses with
additional context before they are returned to callers. This lays the
groundwork for richer client output without changing existing behaviour.

Auto-committed-on: dragonfly
The backend client now detects when the underlying channel closes and
surfaces a clear error instead of hanging or panicking. Tests were added
to cover the disconnect path.

Auto-committed-on: dragonfly
Record the new tinyinference-providers and urlencoding dependencies in Cargo.lock for the openhuman-tinyhumans crate.

Auto-committed-on: dragonfly
The enricher tests were moved out of the client module into their own
file so the test suite is easier to navigate and the client source stays
focused on runtime behaviour. No test logic changed.

Auto-committed-on: dragonfly
Reformatted import lists, chained method calls, and assertion
arguments to match rustfmt output. No behaviour changes.

Auto-committed-on: dragonfly
The client module was changed from crate-private to public so downstream crates can access it directly.

Auto-committed-on: dragonfly
The shared backend transport captures its attribution headers once, so a product-identity change during install left it holding stale headers. Add a reset_shared_transport helper and call it alongside the existing slot reset, and register all areas into the core's generic registries during prepare.

Auto-committed-on: dragonfly
Introduce a resolved endpoints configuration schema so endpoint
resolution results can be represented and validated in a structured
form.

Auto-committed-on: dragonfly
Introduce a model configuration operations layer and a search module, and
wire them into the computer config and doctor config checks. Also add
tinymemes jev support.

Auto-committed-on: dragonfly
…/langfuse/environment.rs,crates

Auto-committed-on: dragonfly
Introduce a new tinyhumans crate that registers host internals for the
embedding runtime. The crate wires up registration logic and depends on
openhuman-embed to expose host internals to tinyhumans consumers.

Auto-committed-on: dragonfly
Move the HTTP server implementation into its own module to keep the RPC
server code organized as it grows. No behaviour change.

Auto-committed-on: dragonfly
Auto-committed-on: dragonfly
…bmodules

Break the integrations client and file storage code into focused
submodules for budget gating, pricing, requests, downloads, and the
individual storage tools, and add tests alongside them. This keeps each
concern isolated and makes the integration surface easier to extend.

Auto-committed-on: dragonfly
…tered callback

Progressive delivery now requires a registered channel callback and fails with the backend-unavailable prefix when none is present, instead of falling back to a managed transport that captured its own backend credential. The managed transport and its error mapping were removed since the callback owns transport refusals and retry budgets.

Auto-committed-on: dragonfly
Add tests for the channel bus delivery path covering the edge cases
that were previously unverified.

Auto-committed-on: dragonfly
Adds tests for the cloud transcription and realtime voice modules so their
behaviour is exercised directly. The new cases cover the request and response
handling paths that previously had no test coverage.

Auto-committed-on: dragonfly
Adds test coverage for the channel bus, exercising message routing and
delivery behaviour to guard against regressions.

Auto-committed-on: dragonfly
CloudSttProvider now reports the model it was built with through the
configured_model accessor, so callers can inspect the resolved model
after provider construction. A test covers the registered factory path,
verifying that an explicit model is preserved and an empty one falls
back to the default.

Auto-committed-on: dragonfly
The CloudSttProvider no longer exposes configured_model, and the factory
test now asserts the provider's name instead of the model it was built
with. This removes a trait method that only existed to support that
assertion.

Auto-committed-on: dragonfly
The test duplicated coverage already provided by the model pass-through
test and only asserted the provider name, so it was dropped to keep the
suite focused.

Auto-committed-on: dragonfly
Slug lookups for the default routing names now return the shared
backend-unavailable sentinel instead of a generic missing-provider error,
so an unregistered engine-supplied provider reads as an expected
configuration state rather than a misconfigured slug.

Auto-committed-on: dragonfly
Add a test asserting that the default routing slugs for STT and TTS
report a backend-unavailable error when no hosted provider is
registered, so these expected states stay filtered from Sentry, while a
genuinely unknown slug keeps the misconfiguration wording.

Auto-committed-on: dragonfly
Reworded comments and READMEs across the core and tinyhumans crates to
describe hosted-backend wiring in terms of the host crate that registers
the config enricher and callback slots, rather than an installed backend
transport. The old phrasing no longer matched how the core resolves
backend URLs and channel delivery, so the docs now point at
`Config.resolved_endpoints` and the registered handlers.

Auto-committed-on: dragonfly
Update the credentials README and api_key module docs to refer to
BackendClient instead of BackendOAuthClient, matching the current type
name. Also rewrap a comment line in observability_availability for
formatting.

Auto-committed-on: dragonfly
The media files roots were recorded after the registered tool sources were
constructed, so a source that reads them while building could observe stale
values. The block now runs ahead of every source, and its comment notes the
ordering requirement.

Auto-committed-on: dragonfly
Add a test asserting that a media source reading the security policy's
files roots during assembly finds them already recorded, guarding the
ordering between root registration and source construction.

Auto-committed-on: dragonfly
Update the source registration test to pass the anchor through the
ToolSourcePlacement::After variant, matching the current signature of
register_tool_source_at.

Auto-committed-on: dragonfly
The OTLP client now uses the shared runtime proxy client with timeouts again instead of a bare client, and the hook slot's first() reads entries() so ordering matches the documented contract. The media files roots registration was moved back ahead of the tool sources so sources that read them during construction see them, and the missing-provider check no longer defers to the engine.

Auto-committed-on: dragonfly
Tests that register into or unregister from the core's process-global hook
registries could race each other, since the core's cfg(test) thread-local
registries are inactive when it is a dependency. A shared registry test lock
is added and held by the affected sync and async tests.

Auto-committed-on: dragonfly
…ookups

The OTLP tracing client now goes through the shared runtime proxy client with timeouts instead of a bare reqwest client, so telemetry respects configured proxy settings. HookSlot::first now reads context-first entries to match its documented ordering, the media files roots registration moved ahead of tool sources so builders see it, and the missing TTS provider check now actually defers to the engine instead of being dead code.

Auto-committed-on: dragonfly
The direct-mode proxy test now takes the shared env lock and clears the
direct-base overrides for its duration, restoring them on drop. Those
overrides steer the route destination, so another test's loopback mock
could otherwise leak in and change whether a proxy applies.

Auto-committed-on: dragonfly
Wrap the EnvVarGuard::set call for the reply_speech test seam across multiple lines to satisfy rustfmt line length limits. No behaviour change.

Auto-committed-on: dragonfly
Reformat long expressions, closures, and import lists to satisfy rustfmt
line-width rules. No behaviour changes.

Auto-committed-on: dragonfly
Marked the embedding model's routed_to helper as test-only and removed the unused with_default_model builder from the managed backend, since neither is needed in production builds.

Auto-committed-on: dragonfly
The single-arm match in create_stt_provider was replaced with the
equivalent straight-line code, removing the redundant match without
changing behaviour.

Auto-committed-on: dragonfly
…voice paths

Adds unit tests across the tinyhumans client enricher, managed embedding
inference, runtime, and the live and realtime voice modules to lock in
existing behaviour and catch regressions in these paths.

Auto-committed-on: dragonfly
The transport field on Wiring is only read by tests, so it is now
compiled only under cfg(test) instead of being marked dead code. The
local binding in wiring is annotated to allow an unused variable in
non-test builds, keeping production builds warning-free.

Auto-committed-on: dragonfly
The missing-provider error now always reports the shared unavailable
sentinel instead of deferring to the engine for non-empty slugs, so the
reporter filters it correctly rather than surfacing a misconfigured slug.

Auto-committed-on: dragonfly
The missing_provider_error helper had its condition hardcoded to false, so
providers that defer to the engine were reported as unregistered instead of
carrying the shared unavailable sentinel. The check now tests whether the slug
is non-empty and defers to the engine.

Auto-committed-on: dragonfly
The doc comment on the voice factory entry point now states that unregistered hosted slugs answer the BACKEND_UNAVAILABLE sentinel rather than erroring by name, and the test asserting the old error-by-name behaviour was removed to match.

Auto-committed-on: dragonfly
@tinysweeper

tinysweeper Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Tiny Sweeper review

⚠️ Review failed for 249db2e9bff8. the review of #7963 did not finish within 900s

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-16T17:25:10.362168Z 30c2fe0 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 388 files, which is 88 over the limit of 300.

To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ad55930f-fcd3-4332-8d6f-fff1a5080485
📥 Commits

Reviewing files that changed from the base of the PR and between bb09694 and 249db2e.

⛔ Files ignored due to path filters: 2
  • Cargo.lock is excluded by !**/*.lock
  • crates/openhuman-app/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing: 388
  • AGENTS.md
  • EMBED.md
  • crates/README.md
  • crates/openhuman-cli/Cargo.toml
  • crates/openhuman-core/Cargo.toml
  • crates/openhuman-core/README.md
  • crates/openhuman-core/src/agent/artifacts/mod.rs
  • crates/openhuman-core/src/agent/artifacts/ops.rs
  • crates/openhuman-core/src/agent/artifacts/publisher_slot.rs
  • crates/openhuman-core/src/agent/artifacts/publisher_slot_tests.rs
  • crates/openhuman-core/src/agent/progress_tracing/langfuse.rs
  • crates/openhuman-core/src/agent/progress_tracing/langfuse/environment.rs
  • crates/openhuman-core/src/agent/progress_tracing/langfuse/journal_export.rs
  • crates/openhuman-core/src/agent/progress_tracing/langfuse_batch_tests.rs
  • crates/openhuman-core/src/agent/progress_tracing/langfuse_trace_fields_tests.rs
  • crates/openhuman-core/src/agent/progress_tracing/otlp.rs
  • crates/openhuman-core/src/agent/progress_tracing/otlp_tests.rs
  • crates/openhuman-core/src/agent/tinyagents/README.md
  • crates/openhuman-core/src/agent/tinyagents/discovery/mod.rs
  • crates/openhuman-core/src/agent/tinyagents/host/operation_context.rs
  • crates/openhuman-core/src/agent/tinyagents/host/run_context.rs
  • crates/openhuman-core/src/agent/tools/delegate.rs
  • crates/openhuman-core/src/backend/README.md
  • crates/openhuman-core/src/backend/classify.rs
  • crates/openhuman-core/src/backend/client.rs
  • crates/openhuman-core/src/backend/mod.rs
  • crates/openhuman-core/src/backend/mod_tests.rs
  • crates/openhuman-core/src/backend/transport/README.md
  • crates/openhuman-core/src/backend/transport/error.rs
  • crates/openhuman-core/src/backend/transport/install.rs
  • crates/openhuman-core/src/backend/transport/plain.rs
  • crates/openhuman-core/src/backend/transport/transport_tests.rs
  • crates/openhuman-core/src/channels/README.md
  • crates/openhuman-core/src/channels/bus/delivery.rs
  • crates/openhuman-core/src/channels/bus/delivery_tests.rs
  • crates/openhuman-core/src/channels/bus_tests.rs
  • crates/openhuman-core/src/channels/callback_slot.rs
  • crates/openhuman-core/src/channels/callback_slot_tests.rs
  • crates/openhuman-core/src/channels/controllers/README.md
  • crates/openhuman-core/src/channels/controllers/backend.rs
  • crates/openhuman-core/src/channels/controllers/backend_tests.rs
  • crates/openhuman-core/src/channels/controllers/ops/messaging.rs
  • crates/openhuman-core/src/channels/controllers/ops/mod.rs
  • crates/openhuman-core/src/channels/host/adapters.rs
  • crates/openhuman-core/src/channels/mod.rs
  • crates/openhuman-core/src/config/README.md
  • crates/openhuman-core/src/config/enrichers.rs
  • crates/openhuman-core/src/config/enrichers_tests.rs
  • crates/openhuman-core/src/config/migrations/unify_ai_provider_settings.rs
  • crates/openhuman-core/src/config/migrations/unify_ai_provider_settings_tests.rs
  • crates/openhuman-core/src/config/mod.rs
  • crates/openhuman-core/src/config/ops/loader.rs
  • crates/openhuman-core/src/config/ops/loader/load.rs
  • crates/openhuman-core/src/config/ops/mod.rs
  • crates/openhuman-core/src/config/ops/model.rs
  • crates/openhuman-core/src/config/ops_voice_and_autonomy_tests.rs
  • crates/openhuman-core/src/config/schema/cloud_providers.rs
  • crates/openhuman-core/src/config/schema/load/impl_load.rs
  • crates/openhuman-core/src/config/schema/load/migrate.rs
  • crates/openhuman-core/src/config/schema/load_migration_tests.rs
  • crates/openhuman-core/src/config/schema/mod.rs
  • crates/openhuman-core/src/config/schema/proxy.rs
  • crates/openhuman-core/src/config/schema/resolved_endpoints.rs
  • crates/openhuman-core/src/config/schema/resolved_endpoints_tests.rs
  • crates/openhuman-core/src/config/schema/tools/integrations.rs
  • crates/openhuman-core/src/config/schema/types/config.rs
  • crates/openhuman-core/src/config/schema/types/config_clone.rs
  • crates/openhuman-core/src/config/schema/types/defaults.rs
  • crates/openhuman-core/src/core/legacy_aliases.rs
  • crates/openhuman-core/src/core/mod.rs
  • crates/openhuman-core/src/core/observability.rs
  • crates/openhuman-core/src/core/observability_availability.rs
  • crates/openhuman-core/src/core/runtime/README.md
  • crates/openhuman-core/src/core/runtime/builder.rs
  • crates/openhuman-core/src/core/runtime/context.rs
  • crates/openhuman-core/src/core/runtime/context_for_agent.rs
  • crates/openhuman-core/src/core/runtime/context_test_support.rs
  • crates/openhuman-core/src/core/runtime/context_tests.rs
  • crates/openhuman-core/src/core/runtime/context_turn_origin.rs
  • crates/openhuman-core/src/core/runtime/services.rs
  • crates/openhuman-core/src/core/session_expiry_tests.rs
  • crates/openhuman-core/src/core/slots.rs
  • crates/openhuman-core/src/core/slots_tests.rs
  • crates/openhuman-core/src/flows/ops_connection_ref_gate_tests.rs
  • crates/openhuman-core/src/flows/tinyflows/caps/ops.rs
  • crates/openhuman-core/src/flows/tinyflows/langfuse_export.rs
  • crates/openhuman-core/src/flows/tinyflows/langfuse_export_tests.rs
  • crates/openhuman-core/src/inference/README.md
  • crates/openhuman-core/src/inference/embedding_host/cloud_adapter.rs
  • crates/openhuman-core/src/inference/embedding_host/cloud_adapter_tests.rs
  • crates/openhuman-core/src/inference/embedding_host/factory.rs
  • crates/openhuman-core/src/inference/embedding_host/factory_tests.rs
  • crates/openhuman-core/src/inference/embedding_host/mod.rs
  • crates/openhuman-core/src/inference/embedding_host/rpc_tests.rs
  • crates/openhuman-core/src/inference/mod.rs
  • crates/openhuman-core/src/inference/provider/README.md
  • crates/openhuman-core/src/inference/provider/factory.rs
  • crates/openhuman-core/src/inference/provider/factory/access_gates.rs
  • crates/openhuman-core/src/inference/provider/factory/chat_model.rs
  • crates/openhuman-core/src/inference/provider/factory/cloud_slug.rs
  • crates/openhuman-core/src/inference/provider/factory/discovery.rs
  • crates/openhuman-core/src/inference/provider/factory/managed_backend.rs
  • crates/openhuman-core/src/inference/provider/factory/primary_cloud.rs
  • crates/openhuman-core/src/inference/provider/factory/turn_model.rs
  • crates/openhuman-core/src/inference/provider/factory_egress_fallback_tests.rs
  • crates/openhuman-core/src/inference/provider/mod.rs
  • crates/openhuman-core/src/inference/provider/openhuman_backend_model.rs
  • crates/openhuman-core/src/inference/provider/openhuman_backend_model_auth_tests.rs
  • crates/openhuman-core/src/inference/provider/openhuman_backend_model_endpoint_tests.rs
  • crates/openhuman-core/src/inference/provider/openhuman_backend_model_offline_session_tests.rs
  • crates/openhuman-core/src/inference/provider/ops/models.rs
  • crates/openhuman-core/src/inference/provider/ops/models/catalog_listing.rs
  • crates/openhuman-core/src/inference/provider/ops/models/managed_provider.rs
  • crates/openhuman-core/src/inference/provider/ops/models_tests.rs
  • crates/openhuman-core/src/inference/registry.rs
  • crates/openhuman-core/src/inference/registry_test_support_tests.rs
  • crates/openhuman-core/src/inference/registry_tests.rs
  • crates/openhuman-core/src/integrations/README.md
  • crates/openhuman-core/src/integrations/client/construct.rs
  • crates/openhuman-core/src/integrations/composio/README.md
  • crates/openhuman-core/src/integrations/composio/action_tool.rs
  • crates/openhuman-core/src/integrations/composio/bus/trigger_subscriber.rs
  • crates/openhuman-core/src/integrations/composio/client.rs
  • crates/openhuman-core/src/integrations/composio/client/factory.rs
  • crates/openhuman-core/src/integrations/composio/client/factory_tests.rs
  • crates/openhuman-core/src/integrations/composio/client_tests.rs
  • crates/openhuman-core/src/integrations/composio/connected_integrations/cache.rs
  • crates/openhuman-core/src/integrations/composio/connected_integrations/cache_tests.rs
  • crates/openhuman-core/src/integrations/composio/mod.rs
  • crates/openhuman-core/src/integrations/composio/module_client.rs
  • crates/openhuman-core/src/integrations/composio/ops_fetch_integrations_and_triggers_tests.rs
  • crates/openhuman-core/src/integrations/composio/test_backend_route.rs
  • crates/openhuman-core/src/integrations/composio/tools.rs
  • crates/openhuman-core/src/integrations/composio/tools/authorize.rs
  • crates/openhuman-core/src/integrations/composio/tools/execute.rs
  • crates/openhuman-core/src/integrations/composio/tools_direct_mode_routing_tests.rs
  • crates/openhuman-core/src/integrations/composio/tools_metadata_and_sandbox_tests.rs
  • crates/openhuman-core/src/integrations/composio/types.rs
  • crates/openhuman-core/src/integrations/mod.rs
  • crates/openhuman-core/src/integrations/mod_tests.rs
  • crates/openhuman-core/src/integrations/tools.rs
  • crates/openhuman-core/src/lib.rs
  • crates/openhuman-core/src/media/README.md
  • crates/openhuman-core/src/media/generation/README.md
  • crates/openhuman-core/src/media/generation/mod.rs
  • crates/openhuman-core/src/media/generation/provider.rs
  • crates/openhuman-core/src/media/generation/provider_tests.rs
  • crates/openhuman-core/src/media/generation/tools.rs
  • crates/openhuman-core/src/memory/README.md
  • crates/openhuman-core/src/memory/billing.rs
  • crates/openhuman-core/src/memory/billing_tests.rs
  • crates/openhuman-core/src/memory/engine.rs
  • crates/openhuman-core/src/memory/engine_registry.rs
  • crates/openhuman-core/src/memory/engine_registry_tests.rs
  • crates/openhuman-core/src/memory/engine_tests.rs
  • crates/openhuman-core/src/memory/mod.rs
  • crates/openhuman-core/src/modules/computer_config.rs
  • crates/openhuman-core/src/modules/computer_config_tests.rs
  • crates/openhuman-core/src/modules/connectors.rs
  • crates/openhuman-core/src/modules/connectors_tests.rs
  • crates/openhuman-core/src/modules/desktop_tests.rs
  • crates/openhuman-core/src/modules/mod.rs
  • crates/openhuman-core/src/modules/search/mod.rs
  • crates/openhuman-core/src/modules/wallet_backend.rs
  • crates/openhuman-core/src/modules/wallet_backend_tests.rs
  • crates/openhuman-core/src/modules/wallet_host.rs
  • crates/openhuman-core/src/platform/README.md
  • crates/openhuman-core/src/platform/about_app/catalog_conversation_intelligence.rs
  • crates/openhuman-core/src/platform/about_app/catalog_workflows_automation.rs
  • crates/openhuman-core/src/platform/doctor/README.md
  • crates/openhuman-core/src/platform/doctor/core/config_checks.rs
  • crates/openhuman-core/src/platform/socket/README.md
  • crates/openhuman-core/src/platform/socket/ops.rs
  • crates/openhuman-core/src/platform/socket/url.rs
  • crates/openhuman-core/src/security/credentials/README.md
  • crates/openhuman-core/src/security/credentials/api_key.rs
  • crates/openhuman-core/src/security/credentials/jwt.rs
  • crates/openhuman-core/src/security/credentials/mod.rs
  • crates/openhuman-core/src/security/credentials/ops/composio.rs
  • crates/openhuman-core/src/security/credentials/session_support.rs
  • crates/openhuman-core/src/security/credentials/session_support_tests.rs
  • crates/openhuman-core/src/security/egress/enforce.rs
  • crates/openhuman-core/src/security/egress/enforce_tests.rs
  • crates/openhuman-core/src/security/egress/types.rs
  • crates/openhuman-core/src/security/egress/types_tests.rs
  • crates/openhuman-core/src/tinymemes/jev.rs
  • crates/openhuman-core/src/tinymemes/jev_tests.rs
  • crates/openhuman-core/src/tools/mod.rs
  • crates/openhuman-core/src/tools/ops.rs
  • crates/openhuman-core/src/tools/ops_tests.rs
  • crates/openhuman-core/src/tools/ops_tests_composio_registration_tests.rs
  • crates/openhuman-core/src/tools/ops_tests_default_registry_tests.rs
  • crates/openhuman-core/src/tools/ops_tests_domain_family_tests.rs
  • crates/openhuman-core/src/tools/ops_tests_execution_and_serde_tests.rs
  • crates/openhuman-core/src/tools/sources.rs
  • crates/openhuman-core/src/tools/sources_tests.rs
  • crates/openhuman-core/src/util/README.md
  • crates/openhuman-core/src/util/tls/README.md
  • crates/openhuman-core/src/util/url.rs
  • crates/openhuman-core/src/voice/README.md
  • crates/openhuman-core/src/voice/factory/entry.rs
  • crates/openhuman-core/src/voice/factory/factory_tests.rs
  • crates/openhuman-core/src/voice/factory/helpers.rs
  • crates/openhuman-core/src/voice/factory/mod.rs
  • crates/openhuman-core/src/voice/factory/registry.rs
  • crates/openhuman-core/src/voice/factory/registry_tests.rs
  • crates/openhuman-core/src/voice/factory/stt_providers.rs
  • crates/openhuman-core/src/voice/factory/tts_providers.rs
  • crates/openhuman-core/src/voice/live/error.rs
  • crates/openhuman-core/src/voice/live/mod.rs
  • crates/openhuman-core/src/voice/live/ops_tests.rs
  • crates/openhuman-core/src/voice/live/providers.rs
  • crates/openhuman-core/src/voice/live/providers_tests.rs
  • crates/openhuman-core/src/voice/live/registry.rs
  • crates/openhuman-core/src/voice/live/registry_tests.rs
  • crates/openhuman-core/src/voice/mod.rs
  • crates/openhuman-core/src/voice/ops_tests.rs
  • crates/openhuman-core/src/voice/realtime_harness.rs
  • crates/openhuman-core/src/voice/schemas/handlers.rs
  • crates/openhuman-core/src/voice/schemas/handlers/transcribe_tts.rs
  • crates/openhuman-core/src/voice/schemas/params.rs
  • crates/openhuman-core/src/voice/schemas/registry.rs
  • crates/openhuman-core/src/voice/stub.rs
  • crates/openhuman-core/src/web3/README.md
  • crates/openhuman-core/src/web3/mod.rs
  • crates/openhuman-core/src/web_chat/run_task.rs
  • crates/openhuman-embed/examples/profiles.rs
  • crates/openhuman-embed/examples/support/mod.rs
  • crates/openhuman-embed/src/host_internals.rs
  • crates/openhuman-embed/src/lib.rs
  • crates/openhuman-embed/src/runtime/README.md
  • crates/openhuman-embed/src/runtime/build.rs
  • crates/openhuman-embed/src/runtime/builder.rs
  • crates/openhuman-embed/src/runtime/run.rs
  • crates/openhuman-embed/src/runtime/summary.rs
  • crates/openhuman-embed/src/runtime/summary_tests.rs
  • crates/openhuman-embed/tests/README.md
  • crates/openhuman-embed/tests/common/mod.rs
  • crates/openhuman-embed/tests/profile_cron_sweep.rs
  • crates/openhuman-embed/tests/profile_direct_providers.rs
  • crates/openhuman-embed/tests/profile_host_capabilities.rs
  • crates/openhuman-embed/tests/profile_operator_tools.rs
  • crates/openhuman-embed/tests/profile_refused_tool_generation.rs
  • crates/openhuman-embed/tests/profile_system_prompt.rs
  • crates/openhuman-embed/tests/profile_turn_serialization.rs
  • crates/openhuman-embed/tests/saas_profiles.rs
  • crates/openhuman-rpc/src/host.rs
  • crates/openhuman-rpc/src/host_tests.rs
  • crates/openhuman-rpc/src/server/http/mod.rs
  • crates/openhuman-rpc/src/server/mod.rs
  • crates/openhuman-tinyhumans/Cargo.toml
  • crates/openhuman-tinyhumans/README.md
  • crates/openhuman-tinyhumans/src/backend/README.md
  • crates/openhuman-tinyhumans/src/backend/headers.rs
  • crates/openhuman-tinyhumans/src/backend/headers_tests.rs
  • crates/openhuman-tinyhumans/src/channels/delivery.rs
  • crates/openhuman-tinyhumans/src/channels/messaging.rs
  • crates/openhuman-tinyhumans/src/channels/mod.rs
  • crates/openhuman-tinyhumans/src/channels/mod_tests.rs
  • crates/openhuman-tinyhumans/src/client/backend_channel_tests.rs
  • crates/openhuman-tinyhumans/src/client/backend_client.rs
  • crates/openhuman-tinyhumans/src/client/backend_client_tests.rs
  • crates/openhuman-tinyhumans/src/client/channel.rs
  • crates/openhuman-tinyhumans/src/client/classify.rs
  • crates/openhuman-tinyhumans/src/client/endpoint.rs
  • crates/openhuman-tinyhumans/src/client/endpoint_tests.rs
  • crates/openhuman-tinyhumans/src/client/enricher.rs
  • crates/openhuman-tinyhumans/src/client/enricher_tests.rs
  • crates/openhuman-tinyhumans/src/client/error.rs
  • crates/openhuman-tinyhumans/src/client/integrations_http.rs
  • crates/openhuman-tinyhumans/src/client/integrations_http_tests.rs
  • crates/openhuman-tinyhumans/src/client/mod.rs
  • crates/openhuman-tinyhumans/src/hosted/README.md
  • crates/openhuman-tinyhumans/src/hosted/client.rs
  • crates/openhuman-tinyhumans/src/hosted/client_tests.rs
  • crates/openhuman-tinyhumans/src/hosted/team/ops.rs
  • crates/openhuman-tinyhumans/src/inference/managed_calls.rs
  • crates/openhuman-tinyhumans/src/inference/managed_catalog.rs
  • crates/openhuman-tinyhumans/src/inference/managed_catalog_tests.rs
  • crates/openhuman-tinyhumans/src/inference/managed_embedding.rs
  • crates/openhuman-tinyhumans/src/inference/managed_embedding_tests.rs
  • crates/openhuman-tinyhumans/src/inference/managed_model.rs
  • crates/openhuman-tinyhumans/src/inference/managed_model_reasoning_tests.rs
  • crates/openhuman-tinyhumans/src/inference/managed_model_stream_tests.rs
  • crates/openhuman-tinyhumans/src/inference/managed_model_tests.rs
  • crates/openhuman-tinyhumans/src/inference/managed_reasoning.rs
  • crates/openhuman-tinyhumans/src/inference/managed_reasoning_tests.rs
  • crates/openhuman-tinyhumans/src/inference/managed_session.rs
  • crates/openhuman-tinyhumans/src/inference/managed_session_tests.rs
  • crates/openhuman-tinyhumans/src/inference/managed_usage.rs
  • crates/openhuman-tinyhumans/src/inference/managed_usage_tests.rs
  • crates/openhuman-tinyhumans/src/inference/mod.rs
  • crates/openhuman-tinyhumans/src/install.rs
  • crates/openhuman-tinyhumans/src/install_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/README.md
  • crates/openhuman-tinyhumans/src/integrations/client.rs
  • crates/openhuman-tinyhumans/src/integrations/client/README.md
  • crates/openhuman-tinyhumans/src/integrations/client/budget_gate.rs
  • crates/openhuman-tinyhumans/src/integrations/client/budget_gate_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/client/construct.rs
  • crates/openhuman-tinyhumans/src/integrations/client/download.rs
  • crates/openhuman-tinyhumans/src/integrations/client/errors.rs
  • crates/openhuman-tinyhumans/src/integrations/client/pricing.rs
  • crates/openhuman-tinyhumans/src/integrations/client/pricing_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/client/requests.rs
  • crates/openhuman-tinyhumans/src/integrations/client/requests_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/client_api_key_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/client_error_propagation_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/client_session_expiry_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/client_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/composio.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/README.md
  • crates/openhuman-tinyhumans/src/integrations/file_storage/artifact_publisher.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/artifact_publisher_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/mod.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/tools/delete.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/tools/download.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/tools/helpers.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/tools/link.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/tools/list.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/tools/mod.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/tools/registry.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/tools/upload.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/tools/visibility.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/tools_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/file_storage/types.rs
  • crates/openhuman-tinyhumans/src/integrations/media/mod.rs
  • crates/openhuman-tinyhumans/src/integrations/media/provider.rs
  • crates/openhuman-tinyhumans/src/integrations/media/provider_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/mod.rs
  • crates/openhuman-tinyhumans/src/integrations/mod_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/test_support.rs
  • crates/openhuman-tinyhumans/src/integrations/test_support_backend.rs
  • crates/openhuman-tinyhumans/src/integrations/tools/families_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/tools/google_places.rs
  • crates/openhuman-tinyhumans/src/integrations/tools/google_places_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/tools/mod.rs
  • crates/openhuman-tinyhumans/src/integrations/tools/stock_prices.rs
  • crates/openhuman-tinyhumans/src/integrations/tools/stock_prices_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/types.rs
  • crates/openhuman-tinyhumans/src/integrations/web3/client.rs
  • crates/openhuman-tinyhumans/src/integrations/web3/client_tests.rs
  • crates/openhuman-tinyhumans/src/integrations/web3/mod.rs
  • crates/openhuman-tinyhumans/src/lib.rs
  • crates/openhuman-tinyhumans/src/memory/billing.rs
  • crates/openhuman-tinyhumans/src/memory/engine.rs
  • crates/openhuman-tinyhumans/src/memory/mod.rs
  • crates/openhuman-tinyhumans/src/memory/mod_tests.rs
  • crates/openhuman-tinyhumans/src/register.rs
  • crates/openhuman-tinyhumans/src/register_tests.rs
  • crates/openhuman-tinyhumans/src/runtime.rs
  • crates/openhuman-tinyhumans/src/runtime_tests.rs
  • crates/openhuman-tinyhumans/src/transport/README.md
  • crates/openhuman-tinyhumans/src/transport/error.rs
  • crates/openhuman-tinyhumans/src/transport/mod.rs
  • crates/openhuman-tinyhumans/src/transport/port.rs
  • crates/openhuman-tinyhumans/src/transport/transport_tests.rs
  • crates/openhuman-tinyhumans/src/voice/cloud_transcribe.rs
  • crates/openhuman-tinyhumans/src/voice/cloud_transcribe_tests.rs
  • crates/openhuman-tinyhumans/src/voice/live.rs
  • crates/openhuman-tinyhumans/src/voice/live_tests.rs
  • crates/openhuman-tinyhumans/src/voice/mod.rs
  • crates/openhuman-tinyhumans/src/voice/realtime.rs
  • crates/openhuman-tinyhumans/src/voice/realtime_tests.rs
  • crates/openhuman-tinyhumans/src/voice/reply_speech.rs
  • crates/openhuman-tinyhumans/src/voice/reply_speech_tests.rs
  • crates/openhuman-tinyhumans/src/voice/schemas.rs
  • crates/openhuman-tinyhumans/src/voice/schemas_tests.rs
  • crates/openhuman-tinyhumans/src/voice/speech_providers.rs
  • crates/openhuman-tinyhumans/src/voice/speech_providers_tests.rs
  • crates/openhuman-tinyhumans/tests/integrations_local_only.rs
  • docs/TEST-COVERAGE-MATRIX.md
  • docs/gitbooks/en/developing/architecture.md
  • docs/gitbooks/en/developing/embed/api-index.json
  • docs/gitbooks/en/developing/embed/api-index.md
  • docs/gitbooks/en/developing/embed/builder-setters.md
  • docs/gitbooks/en/developing/embed/integrations/tinyhumans-managed.md
  • llms-full.txt
  • llms.txt
  • package.json
  • scripts/__tests__/check-core-hosted-free.test.mjs
  • scripts/ci/check-core-hosted-free.mjs
  • scripts/ci/process-statics.json
  • scripts/ci/saas-ambient-baseline.json
  • scripts/ci/storage-bypass-baseline.json
  • tests/json_rpc_e2e.rs
  • tests/media_generation_e2e.rs
  • tests/support/tinyhumans_boot.rs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

# Conflicts:
#	crates/openhuman-core/src/agent/tinyagents/host/run_context.rs
#	crates/openhuman-core/src/inference/provider/openhuman_backend_model.rs
#	docs/gitbooks/en/developing/embed/api-index.json
#	docs/gitbooks/en/developing/embed/builder-setters.md
#	llms-full.txt
#	package.json
#	scripts/ci/saas-ambient-baseline.json
#	scripts/ci/storage-bypass-baseline.json
@senamakel
senamakel merged commit 578cebc into tinyhumansai:main Oct 18, 2026
16 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant