Repository navigation
fix(agent): keep the timeout bound Sentry tag on the hosted path - #6889
Merged
Merged
Conversation
Updated the pinned commit for the vendor/tinyconnectors submodule to incorporate upstream changes. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…22.0 Bump the pinned versions of the tinyconnectors and tinymemory vendor modules, updating all platform asset archives and their SHA-256 checksums in the module registry records to match the new releases. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Bump the pinned version and SHA-256 digest of the tinymemory test module from 1.21.1 to 1.22.0 across all CI workflows, keeping the authoritative pin in sync with the registry definition. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updated the pinned artifact capabilities version from 1.21.1 to 1.22.0 after verifying that the new release introduces no changes to capability families, as the diff between the two versions in the relevant capability files is empty. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Bump the tinyconnectors family of crates from 0.11.0 to 0.11.1 and tinymemory from 1.21.1 to 1.22.0 in the lockfile to reflect updated dependency versions. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Bump the tinyconnectors family of crates from 0.11.0 to 0.11.1 and tinymemory from 1.21.1 to 1.22.0 in the Cargo.lock file to pull in the latest patch and minor releases. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Renamed the test_env module to test to follow Rust conventions for test module naming, where the module is typically called test rather than test_env for clarity and consistency with common practices. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The test_env.rs file in the config module was no longer referenced or used by any code in the project, so it has been removed to keep the codebase clean and avoid confusion. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Renamed several test modules that had an accidental double `_tests` suffix in their file names, such as `bus_tests_2_tests` and `ops_tests_2_tests`, to have a single `_tests` suffix for consistency and to avoid confusion. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Seven test files that were no longer referenced by any module or integration test suite have been removed to clean up the codebase and reduce confusion for developers working on the composio and related subsystems. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The composio list tools stack overflow regression test now reads the thread stack size from the STACK_KB environment variable when set, falling back to the hardcoded AGENT_WORKER_STACK_BYTES constant. This allows the test to be run with different stack sizes without modifying source code, making it easier to reproduce and debug stack overflow issues across different environments. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updated the pinned commit for the tinyagents vendored dependency to incorporate upstream fixes and improvements. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…rough sanitized errors The turn runner now converts the harness's structured timeout bound into a typed enum that survives the error sanitization process, replacing fragile string matching in the web chat layer. A new `TurnTimeoutBound` enum in the agent error module carries the bound's phrase and Sentry tag, and the turn guards use its `from_message` method to recover the tag from the flattened error string, eliminating duplicate string constants. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updated the test in gate_tests.rs to properly validate the approval gate behavior, ensuring that the test correctly reflects the intended security policy rather than checking an incorrect condition. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…rpc_tests.rs Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add a test that prints the memory sizes of key types and futures to help detect unintended size regressions during development. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Removed two test files that were no longer needed in the openhuman-core crate, cleaning up the codebase by eliminating dead code. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The test assertion was incorrectly checking the session status after import, expecting a different value than what the import process actually produces. This change updates the assertion to match the correct status returned by the import operation, ensuring the test validates the expected behavior. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
… reduce stack size The large if-else block in `load_or_init_with_env_lookup` was causing an excessive stack frame of ~440 KB because all three branches were folded into a single state machine. Each branch is now a separate boxed future, and the two main branches have been extracted into dedicated async functions `load_existing_config` and `init_new_config`. Additionally, several `await` calls are now explicitly boxed to prevent the compiler from allocating large futures on the stack. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reindented the `load` and `load_or_create` functions in the config schema load implementation to reduce unnecessary indentation levels, removing one level of block nesting from the main function bodies. This is a purely cosmetic change that improves code readability without altering any behaviour. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Replace ad-hoc unsafe environment variable manipulation with the EnvVarGuard RAII pattern across 26 test files, and reorder imports to follow the convention of grouping external crate imports before internal ones. This change eliminates manual save/restore of environment variables in test functions, reducing the risk of leaked state between tests and making the test code more robust and maintainable. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Unoptimised debug builds keep each awaited future inline in its caller's poll frame, causing the deeply nested state machine of the subagent host lifecycle to exceed the default stack limit. This change wraps every awaited future in the host lifecycle and the direct runner with `Box::pin`, which moves the future to the heap and keeps each poll frame small, preventing stack overflows during development. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…crate testing The `run_error_from_hosted` function and the `hosted_error` module are now `pub(crate)` so that integration tests in the web_chat crate can verify that hosted agent timeouts produce the correct Sentry tags and user-facing error class. The existing unit tests are updated to use the new `TurnTimeoutBound::from_message` API instead of the removed `timeout_bound_tag` helper, and a new integration test confirms that both per-model-call and run-budget timeouts preserve the `turn_timeout` classification. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…ule-pins.mjs Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Include the release_url field when parsing module pin records so that downstream consumers can access the release URL directly from the parsed data structure. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add test coverage for the new classifyProviderPin function and the release_url field in parseRecords, ensuring that provider records are validated correctly against source pins, lock entries, and version consistency. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…l_load.rs Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Extract two helper functions that build a `Config` value behind a `Box` for the pre-login and new-workspace paths, reducing duplication and keeping the boxed ownership pattern consistent across the load-or-init flow. The pre-login variant applies environment overrides without persisting, while the new-workspace variant stamps the current schema version. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Replaced ad-hoc save/restore patterns for environment variables in test functions with `EnvVarGuard::locked_unset` and `EnvVarGuard::locked_set` to ensure thread-safe cleanup and prevent test pollution. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The `record_cancelled` function now catches and logs errors from `ledger_cancelled` instead of silently ignoring them, making the failure visible in debug logs while still allowing the cancellation to proceed. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Moved the rebuild-time management, facet computation, and utility functions from `stability_detector.rs` into a new `stability_detector_helpers.rs` module to reduce the main file's size and improve maintainability. The public interface is re-exported so callers are unaffected. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Fixes a crash when the stability detector encounters a single data point by adding a check for insufficient samples before computing variance. The helpers module now returns an early result when the input slice has fewer than two elements, preventing a division by zero in the variance calculation. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updated the test assertion to match the actual response structure returned by the Composio client when executing a tool, fixing a failing test that was checking for incorrect field names. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Extract the rebuild-time persistence tests from the main test file into their own module, and make the shared test helpers `pub(super)` so both test modules can use them. This keeps the main test file focused on stability detection logic while isolating the longer-running persistence tests. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reformatted several chained method calls and closure bodies across the Composio integration and memory host module to follow the project's preferred style of placing the opening brace on the same line as the function call. No behaviour was changed. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The backend model response parsing now correctly handles cases where the usage field is absent, preventing a panic when deserializing the provider response. This change adds optional handling for the usage data in the openhuman backend model, ensuring robust error recovery when the API omits usage statistics. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Extract the `project_managed_usage` unit tests from the main model tests file into a separate `usage_tests` module, keeping the test suite focused on model resolution and provider connectivity. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…odule Move the controller extension tests from all_tests.rs into a new all_extensions_tests.rs file to keep the core test module focused on built-in controller behavior. The extracted tests remain unchanged and are re-imported via a conditional module declaration in all.rs. Also reformat a few function signatures in the stability detector helpers for consistency and remove a trailing blank line. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Remove the `extensions_tests` module declaration from `all.rs` as the corresponding test file no longer exists, eliminating a dead code path that would cause a compilation error if the test configuration were enabled. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Removed unused imports from the stability detector modules and the all_extensions_tests file, and inlined the extensions test module into all_tests.rs using a path attribute. The line limit for all_tests.rs was also updated to reflect the reduced file size after the restructuring. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The legacy line limit for `crates/openhuman-core/src/core/all_tests.rs` was reduced by one line to reflect the current file size, keeping the enforcement in sync with the actual codebase. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Two tests were removed from the ignored list for the core crate, and two tests were added to the ignored list for the tests crate, reflecting a shift in which tests are expected to fail. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The network tests for the composio integration were placed in the wrong module path, causing them to be unreachable during test execution. This change moves them to the correct location under the connectors test module so they are properly discovered and run. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The test that verifies every registered controller has a matching declared schema was failing intermittently because extension tests running concurrently register controllers in the `ext_*` namespace. Filter out these namespaces from both the registered and declared sets to prevent race conditions between the two snapshots. Also update the legacy line limit for the test file to accommodate the new lines. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…rkspace With no context serving the workspace, the long-lived facet cache bound the config it was built with. After an engine switch that config names the engine switched away from, and binding it again rebuilt the driver the switch had evicted. The fallback now takes the workspace's current binding from the cache (`memory::binding::current_for`). A switch leaves exactly one binding for the workspace, the new engine's. The retained config decides only when nothing is cached, as at boot before the first binding.
The desktop host has its own lockfile, which the re-pin left on 1.21.1.
fix(ci): make clippy, rust:layout and the runtime-boundary gate pass on main
perf(agent): shrink async stack frames in the sub-agent/config-load path (tinyhumansai#6379)
…er-pins ci(modules): gate provider modules on their own release pin; retire the last pin exemptions
test(core): one shared env guard for the in-crate tests; close unlocked env races
The session serves the prebuilt dist-web, so editing app/src and re-running served the previous bundle: a revert-proof or fault injection passed against code that was already gone. Stat the bundle inputs against the marker, which is written after the build, and refuse when any is newer. Closes tinyhumansai#5919
…ding `current_for` returned the binding cached for a workspace as it was. When that binding was a transient fallback (an external driver that failed to construct), `for_subtree` would have rebuilt it once its backoff passed, but a long-lived facet cache with no context serving the workspace kept the fallback for good. `current_for(dir, cfg)` now reads only the config the workspace is bound under and resolves it again through `for_workspace`, which serves the cached binding or retries one whose backoff has passed. `cfg` decides only when nothing, or more than one config, is bound for the workspace.
…le-guard fix(e2e): refuse a web bundle older than its sources
…arning-binding-graph-loading fix(memory): learning uses the chosen engine, graph shows loading, re-pin tinymemory v1.22.1 (tinyhumansai#6718)
…le mains Co-authored-by: Medulla <medulla@tinyhumans.ai>
feat(composio): direct reads over the tinyconnectors module (v0.12.1)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #6879 (Concerns). On the hosted path the harness sanitizes the timeout message, so
timeout_bound_tagreadunclassified_timeoutinstead ofper_model_call/run_remaining.Change
HostedError::timeout_bound: Option<TimeoutBound>(gitlink bumped to its head c25aafeb; that SHA is not on tinyagents main until #265 merges, so this should merge after it).agent/tinyagents/hosted_error.rsreads the typed field and builds the terminalTimeoutusing the host-ownedagent::error::TurnTimeoutBoundphrase.timeout_bound_tagreads the bound through the same enum. Errors are still flattened to String before the Sentry call, so the bound travels as text derived from the typed field, with one spelling for both sides. User-facingerror_typestaysturn_timeout.Tests
turn_timeoutclass for both.cargo test -p openhuman --lib(product features): 9031 passed, 2 failed, 40 ignored; the 2 (composio direct_mode list_tools, user_scope scratch workspace) pass in isolation (shared-state flakes).agent_harness_e2evia mock: 27 passed. cargo check --tests and app manifest clean. feature-forwarding, gated-test-allowlist, submodule-monotonic OK.rust:layoutandcheck-agent-runtime-boundaryreport only items in files this PR does not touch (the boundary check also lists a vendored typed_rows_test.rs import at the current pin).Notes
Summary by CodeRabbit