Skip to content

refactor(inference): adopt upstream provider routes - #525

Merged
senamakel merged 56 commits into
epic/8092-inference-outfrom
epic-8092-257-provider-routes
Oct 20, 2026
Merged

senamakel merged 56 commits into
epic/8092-inference-outfrom
epic-8092-257-provider-routes

Conversation

@senamakel

Copy link
Copy Markdown
Owner

Summary

OpenHuman now consumes the merged TinyAgents/TinyInference provider-route, builtin-preset, custom-provider, and local-profile helpers instead of maintaining duplicate route and preset logic or forwarding wrappers. Host security and egress policy remain in OpenHuman; hosted preset and JWT behavior stays in TinyHumans, with managed-first presentation and persisted OpenhumanJwt identity preserved.

Responses API capability now follows TinyInference builtin classification for openai, openrouter, and xai; this intentionally broadens the former host-specific OpenAI-only classifier. Generic upstream preset lookup takes precedence for collisions while host display order remains managed-first.

The adopted TinyAgents session importer no longer imports legacy entry-tree rows from sessions.db. Their source files remain untouched; the generated storage schema reflects the owner contract.

Refs #257
Part of tinyhumansai#8092
Depends on merged TinyAgents PR #117.

Validation

  • Full product inference lane: 636 passed, 0 failed at source 4de324ea95c923684742590529230509c06614b9; final-source migration regression and targeted core scopes passed at 91377c65bbc89c0459cc63a48f7cc0d30e9262b3 (reconcile 15/0; schema 518/0; provider factory 105/0; session import 5/0).
  • TinyHumans hosted URL 42/0 and hosted config 3/0 on the same-built binary.
  • Final source e402803bce84fb462539a5db6ba6f95e8a508add: pnpm rust:layout, product and default strict all-target Clippy, root cargo check, standalone app cargo check, cargo fmt --all --check, and full PR-base diff check all passed.

senamakel and others added 30 commits October 20, 2026 13:36
Updates the script used for running rust coverage checks to ensure it uses the latest tooling and maintains consistent CI behavior.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updates the script used for running rust coverage checks to ensure it uses the latest tooling and maintains consistent CI behavior.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updates the script used for running rust coverage checks to ensure compatibility with the latest toolchain versions.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updates the script used for running rust coverage checks to ensure compatibility with the latest toolchain versions.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updates the script used for running rust coverage checks to ensure compatibility with the latest toolchain versions.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
This updates the lanes plan script used for self-hosted CI to reflect recent changes in the build process. This ensures the CI pipeline continues to function correctly with the latest project structure.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
This updates the lanes plan script used for self-hosted CI to reflect recent changes in the build process. This ensures the CI pipeline continues to function correctly with the latest project structure.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updates assertions in the coverage test suite to reflect changes in how product suites are defined and how coverage reports are generated. This includes adjusting expected counts and matching patterns for suite names and arguments.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Adds a new test case to verify the correct behavior of self-hosted lanes within the testing suite. This ensures that the lane handling logic functions as expected in a self-hosted environment.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Adds a new entry to the module boundaries configuration to explicitly define the boundary for tinyeventqueues-bus, aligning with the storage schema contract documentation.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Adds unit tests to verify the functionality of the ops catalog fixture in the testing suite. This ensures that the catalog setup behaves as expected during operations testing.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Adds a new test case to verify the logic related to storage bypass debt, ensuring that the system correctly handles scenarios where storage bypass is involved.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updates the specific commit SHAs used for the tinymold actions in the CI workflow to newer versions. This ensures the workflow uses the latest available features and fixes from the tinymold repository.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updates the SHA256 digest for the self-hosted guest image used in CI pipelines to reflect the latest build.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
ci(ex63): one product coverage build, docs-drift on the shared target, rebuild reasons
The contact email for reporting security vulnerabilities has been updated to security@tinyhumans.ai. This ensures that all security reports, including those from OSS Scanner, are directed to the correct channel.

Auto-committed-on: macbook
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…ness

chore(security): publish report contact and host OSS Scanner setup
This updates the subproject commits in tinymcp and tinystoragedrivers to their latest versions. This ensures that the dependencies are using the most recent code.

Auto-committed-on: dragonfly
This updates the subproject commits for tinymcp and tinystoragedrivers to their latest versions. This ensures that the dependencies are using the most recent stable code.

Auto-committed-on: dragonfly
Updates the subproject commit hash for tinyagents to the latest version. This ensures the dependency is using the most recent code.

Auto-committed-on: dragonfly
This refactors how model provider strings are generated and processed within the HTTP backend. It replaces direct string manipulation with calls to new routing utilities, simplifying model identification and ensuring consistency across different provider types.

Auto-committed-on: dragonfly
This change updates how custom provider strings are constructed in the embedding host factory to use a dedicated helper function. Additionally, a new test case is added to backend tests to verify correct handling of colon-bearing model owners.

Auto-committed-on: dragonfly
This refactoring updates how custom provider names are parsed across the embedding host RPC logic. It introduces the use of `split_custom_provider` to consistently separate the provider slug from any custom endpoint information, simplifying logic in both `rpc.rs` and `embed.rs`.

Auto-committed-on: dragonfly
This refactors how custom embedding providers are parsed and constructed throughout the settings module. It introduces helper functions to consistently split custom provider strings, improving robustness when determining the provider slug and endpoint.

Auto-committed-on: dragonfly
This refactors how built-in cloud providers are managed by centralizing the logic around `BuiltinPresets`. This change improves consistency by ensuring that hosted presets are correctly integrated with the generic provider catalog, and it updates several locations to use the new preset-based accessors.

Auto-committed-on: dragonfly
The logic for generating unique provider IDs has been extracted into a shared helper function. This removes duplicated code from cloud and voice provider configuration modules, improving maintainability.

Auto-committed-on: dragonfly
This change updates how the default model is identified in the HTTP backend to use the route owner instead of the raw model string. Additionally, access gate logic is updated to correctly parse and label external providers, ensuring that provider slugs are surfaced correctly in privacy mode messages.

Auto-committed-on: dragonfly
Updates tests to reflect changes in how cloud provider capabilities are asserted, specifically ensuring that certain OpenAI-compatible gateways are recognized as supporting the responses API.

Auto-committed-on: dragonfly
This change updates how backend API URLs are determined in tinyhumans by integrating a specific hosted OpenHuman preset. It also refines configuration handling in core and tiers to correctly recognize and utilize this hosted identity.

Auto-committed-on: dragonfly
The documentation for the provider factory has been significantly simplified to focus on its role as a host adapter for provider construction and access policy, moving detailed provider string grammar to TinyInference. This cleans up the module's purpose description.

Auto-committed-on: dragonfly
This commit refactors several areas to improve configuration schema handling and provider resolution logic across embedding and HTTP backends. It standardizes slug generation, refines how custom providers are identified, and updates internal dependencies for better modularity.

Auto-committed-on: dragonfly
This removes the `endpoint_host` utility function from the cloud providers schema. This function was redundant as its functionality is now handled elsewhere or is no longer needed in this context.

Auto-committed-on: dragonfly
Adds an import for `endpoint_host` from `tinyinference_providers::builtin` to ensure test coverage is complete for cloud provider configurations.

Auto-committed-on: dragonfly
…ncile_orphaned_providers.rs,cra

Auto-committed-on: dragonfly
…oviders.rs,crates/openhuman-cor

Auto-committed-on: dragonfly
…tory/access_gates.rs

Auto-committed-on: dragonfly
This change updates the imports in access_gates.rs to bring in necessary constants and types for provider initialization. This improves clarity and dependency management within the access gate logic.

Auto-committed-on: dragonfly
Adds assertions to verify specific endpoint behaviors for tenant-hosted presets and updates the responses API capability check to cover more providers.

Auto-committed-on: dragonfly
The comment describing factory-internal helpers has been updated to be more specific about which modules they are shared across. This clarifies the scope of the helpers within the implementation modules.

Auto-committed-on: dragonfly
…oviders.rs,crates/openhuman-cor

Auto-committed-on: dragonfly
…oviders_tests.rs,crates/openhum

Auto-committed-on: dragonfly
This change updates the implementation of `From` for `BuiltinCloudProvider` to use a non-static reference, improving flexibility in how cloud provider presets are handled.

Auto-committed-on: dragonfly
Adds an assertion to verify that the openhuman provider's endpoint host is configured for chat completions only. This ensures correct configuration validation for the hosted setup.

Auto-committed-on: dragonfly
This updates the lock file to include new dependencies and version bumps for existing ones across the project. This ensures all components are using the latest compatible versions.

Auto-committed-on: dragonfly
The `probe_custom_embeddings` call in the embedding host RPC settings was simplified by removing an unnecessary timeout wrapper. Additionally, the session import logic was updated to no longer process report entries during import.

Auto-committed-on: dragonfly
…md,crates/openhuman-core/src/st

Auto-committed-on: dragonfly
This change updates the logic for reconciling orphaned providers to correctly handle provider strings that do not contain a model separator, such as bare aliases like "openai". This aligns with how the owner classifier accepts these simpler provider identifiers.

Auto-committed-on: dragonfly
The logic for identifying orphaned providers has been updated to use `ProviderRoute::parse` for local providers. This change aligns the migration with how local routes are now persisted.

Auto-committed-on: dragonfly
Adjusted the condition for skipping orphaned provider reconciliation to more accurately reflect which provider identifiers are exempt from the check. This ensures that bare provider-kind aliases are correctly subjected to the unresolved-route check during migration.

Auto-committed-on: dragonfly
This updates the README to clarify that the core's built-in cloud provider host list is now represented by the host-composed provider catalog in `hosted_config::provider_presets()`. This provides more accurate context for users integrating with the backend.

Auto-committed-on: dragonfly
This updates the lock file to include new dependencies and version bumps for existing ones across the application. This ensures all required crates are at the latest compatible versions.

Auto-committed-on: dragonfly
Auto-committed-on: dragonfly
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