Repository navigation
refactor(tools): move network tools to tinytools-std behind NetGate (wave 4) - #6829
Merged
senamakel merged 99 commits intoOct 1, 2026
Merged
Conversation
Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Remove the `GeneratedToolRuntimePolicy`, `GeneratedToolRuntimeContext`, and related types from the tool policy module, along with the entire `generated.rs` tools module and its tests. These were part of an earlier design for runtime-generated tool wrappers that is no longer used, and keeping them adds maintenance burden without any current consumers. The deletion also simplifies the `ToolPolicyRequest` struct by removing the `generated_tool` field and the `with_generated_tool_context` builder method, and cleans up the middleware that was populating that context. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
The raw coverage end-to-end test for erased host extension was failing due to an incorrect assertion on the expected coverage data. The test now properly validates the coverage output for the erased host extension scenario. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add README documentation for the tools module and its implementation submodules to improve developer onboarding. Restructure the browser and system modules by introducing a security module and moving insert_sql_record into the system module with accompanying tests, enhancing code organization and maintainability. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The `insert_sql_record` tool was listed in the system and utilities documentation but is no longer part of the agent's toolset, so the entry has been removed to keep the reference accurate. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…r.ts,app/src/lib/i18n/en.ts,app Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Introduce a new image generation subsystem under the media crate, including prompt handling, view types, and associated tests. This provides the foundational types and logic needed to support image generation workflows within the application. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Added a README file to the media module to provide documentation and usage guidance for developers working with media-related functionality in the openhuman-core crate. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…p/src/lib/i18n/fr.ts,app/src/li Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Renamed the `model` field to `model_name` in the inference provider schema to match the actual API contract, fixing a mismatch that caused requests to be rejected by the upstream service. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
When generating JSON schemas for composio tool contracts, optional fields were being incorrectly treated as required, causing validation failures. This change updates the schema generation logic to properly mark fields as optional when they are not required by the tool contract, ensuring that composio integrations work correctly with tools that have optional parameters. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The catalog probe module was moved into a subdirectory but the integration code still referenced the old flat path, causing a compilation failure. The import and usage now point to the correct module location, restoring the probe functionality. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…t.tsx Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Introduce an abort guard mechanism for the tinyagents module to handle graceful shutdown of agent tasks. The new abort_guard.rs provides a utility for cancelling in-flight operations when the agent is terminated, ensuring resources are cleaned up properly. The module declaration and README are updated to reflect this addition. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…t.tsx Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Introduce a stop-hooks mechanism that allows agent components to register cleanup callbacks invoked when a runtime session ends. This enables graceful teardown of resources such as spawned tasks or open connections without requiring manual management in each session host implementation. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The test for stop hooks was not properly asserting that hooks execute in the correct sequence. This change updates the test to validate the order of hook invocations, ensuring that the stop mechanism behaves as intended. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
When an agent delegates a task to another agent, the delegation event was not being recorded in the journal, causing a gap in the audit trail. This change ensures that the delegation is properly journaled, maintaining a complete history of agent interactions. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…,app/src/lib/i18n/fr.ts,app/src Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Introduce multimodal message types and conversion logic across the agent subsystem, enabling agents to process and route messages that contain multiple content types such as text, images, and audio. This change extends the message model, cost tracking, and tool orchestration to accommodate richer input and output formats. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add a README documenting the tinyflows observability module and reorganize the observability implementation by splitting tests into a separate file. This improves code organization and provides clear documentation for developers working with observability features in tinyflows. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
When the run_rows operation receives an empty set of rows, it now returns early with an empty result instead of proceeding with the processing pipeline. This prevents unnecessary computation and avoids potential errors from downstream operations that assume at least one row is present. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The README in the core module was stale and no longer reflected the current architecture, so it has been removed. The rpc_log unit tests have been moved from a separate test file into the main rpc_log module to consolidate test code and simplify the crate structure. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Changed the log level from error to info for successful RPC responses to avoid false alarms in monitoring. Previously, all responses were logged at error level, which caused unnecessary noise in error tracking systems. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
…t.tsx Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
When reading a memory graph, the RPC handler now gracefully handles the case where a source is not found in the registry. Previously this would cause an unhandled error, but now it returns a clear error message to the caller instead. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The sandbox configuration operation was using an incorrect path for resolving configuration values, causing lookups to fail when nested keys were specified. Updated the path resolution logic to properly handle hierarchical key access. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The reply delivery previously awaited the emoji reaction with no timeout, so a slow or blocked reaction could prevent the reply from being stored and announced. This change introduces a two-second budget for the reaction and aborts it if exceeded, ensuring the reply is always delivered even when the reaction is delayed. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
…al items The `REACTION_BUDGET` constant and `bounded_reaction` function were marked `pub(super)` but are only used within the same module, so the visibility qualifier was redundant and has been removed to keep the codebase consistent with the module's other internal items. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
…e and normal policies Two new tests verify that `try_capacity` returns immediately when the gate is paused, preventing interactive callers from blocking behind a paused gate, and that it correctly takes the free slot under normal policy while skipping when the slot is already held. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add three tests for the `bounded_reaction` helper to verify that a stuck reaction does not block delivery, a completed reaction returns its emoji, and a panicked reaction gracefully returns `None`. These cover the regression where a reaction parked on a paused scheduler gate would stall `deliver_response` indefinitely. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
… to wait_for_capacity The `try_capacity_now` function and its `bounded_reaction` wrapper are removed, restoring the original `wait_for_capacity` call in the reaction path. The bounded-reaction approach was introduced to prevent a paused scheduler gate from stalling reply delivery, but the simpler fix is to let the reaction wait for capacity like other background work, since the gate's pause state is transient and the reply delivery no longer depends on the reaction completing first. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Remove the emoji reaction feature that ran a local model inference to decide whether to react to user messages. This functionality is no longer needed, simplifying the delivery pipeline and eliminating an asynchronous spawn that could race with response storage. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
The `reaction_emoji` field was incorrectly included in the default struct literal for `publish_chat_done`, causing a compilation error when the field was removed from the struct definition. This change removes the now-nonexistent field to restore correct compilation. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
The `reaction_emoji` field was removed from `WebChannelEvent` and its initialization in `ProactiveMessageSubscriber` and test assertions, as it is no longer needed for the assistant's emoji reaction functionality. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Renamed the test function to drop the trailing `_without_reaction` because the test does not actually verify the absence of reactions, making the original name misleading about what is being tested. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
The `reactions` module containing `local_ai_should_react` and its emoji extraction helpers was dead code — nothing in the codebase called these functions. Removing the module and its re-exports cleans up the public API and eliminates unnecessary compilation. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
The emoji extraction unit tests for `extract_first_emoji` and `is_emoji_start` have been removed because the underlying functions were already deleted in a prior change, leaving these tests as dead code that would fail to compile. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
The should_react capability has been removed from the inference module, including the core function, its test, the schema definition, the controller registration, and the prompt handler. This feature is no longer needed. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
…eact The README for the inference module was updated to remove references to the `reactions.rs` file and the `should_react` RPC entrypoint, which have been removed from the codebase. The list of controller methods was also corrected to no longer include `should_react`. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
The `InferenceReactionGate` implementation and its wiring into the channel host have been removed because the local-model reaction call could block reply delivery indefinitely. The host now offers no reaction gate, and the test has been updated to verify that `host.reactions()` returns `None`. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Removed `InferenceReactionGate` from the list of adapters in the host directory documentation, as this adapter no longer exists in the codebase. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
The channel host no longer offers a reaction gate capability, as the runtime has been disabled. The unit test now asserts that `reaction_gate` is false, and the end-to-end test has been replaced with a simpler check that the host returns no reactions interface and the capability is not advertised. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
The test previously asserted that the reaction gate capability was present, but the host now correctly reports it as absent. The import for `ReactionQuery` was also removed since it is no longer needed. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
…tore` references Removed the `local_ai_should_react` function from import lists and test assertions across several test files, and cleaned up a multi-line import in the host adapters module. These items were no longer used after a prior refactor that eliminated the reaction feature, so the dead code has been pruned to keep the codebase tidy and avoid confusion. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Removed the logic that used reaction emojis from the local AI model to determine the mascot's post-turn acknowledgement face, along with the associated emoji sets and the `reaction_emoji` field from event types. The face selection now relies solely on deterministic text cues from the response, simplifying the system and eliminating an unreliable external dependency. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
The test file for useHumanMascot had an incorrect import path that prevented the tests from running. The path has been updated to point to the correct location of the module. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
fix(web_chat): remove local-model emoji reactions that blocked reply delivery
…pendencies Bump the tinymemory crate from version 1.18.0 to 1.19.0 and advance both the tinyagents and tinymemory submodule pointers. The Cargo.lock is updated accordingly, adding the `thiserror`, `log`, `base64`, `futures-util`, `reqwest`, and `sha2` dependencies to support new functionality in the updated submodules. Auto-committed-on: dragonfly
…-dead refactor(core): delete dead code (vendor extraction wave 4A)
…r to merged module mains Co-authored-by: Medulla <medulla@tinyhumans.ai>
…r to merged module mains Co-authored-by: Medulla <medulla@tinyhumans.ai>
senamakel
added a commit
that referenced
this pull request
Oct 1, 2026
fix: remove conflict markers merged in with #6829
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.
Summary
Vendor-extraction wave 4: the network tools move to
tinytools-stdbehind aNetGatetrait, following the same pattern as the Wave 3FsGatemove.crates/openhuman-core/src: 603,797 → 600,857 lines (−3,972 moved, +594 host adapter).Depends on:
The
vendor/tinyagentsgitlink points at the #250 head. I'll re-pin to the merge commits once they land.What moved (to
tinytools-std)network::{http_request, web_fetch, curl, pushover}. These are gated byNetGate, which covers:can_act,is_rate_limitedandrecord_action;network_needs_approval;local_only_block;disclose(egress);prepare_clientandtimeout_client(proxy, TLS).filesystem::workspace_state. It now sharesgit_operations::confighardening, and its own older duplicate is deleted.filesystem::image_info. It validates paths throughFsGate.agent/triagestrip_trailing_commas. It now usestinytools_agent::repair::json. The host copy mangled non-ASCII text by pushing bytes as chars.What stays host-side
impl NetGate for SecurityPolicy(tools/impl/network/gate.rs).X402PaymentHookbehind theweb3feature.HtmlExtractor. tinyjuice depends on tinytools, so it cannot move there.summary_focus, injected as a schema property.HttpRequestConfiglimits, passed in asHttpLimits.SecurityPolicy.Tool names, descriptions and schemas are pinned by literal JSON fixtures upstream, with a host fixture for
web_fetchincludingsummary_focus.Behaviour changes (intentional)
workspace_statefollows the stricter upstream git policy.core.worktreeis refused.curlkeeps its lexicalresolve_dest. It was not routed throughFsGate, because that would have changed behaviour.Verification
tinytools-std483 andtinytools-agent378 tests pass.-D warningsare clean.web3also compile.credential_scrub::browser_confirmation_token_survives_without_exempting_page_credentials;sync_activity::stale_entries_are_pruned_on_the_next_touch.rust:layouthas only the baseline entries. Thetools/ops.rspin is lowered.check-module-pinsfails after fetching tags (tinymemory now describes asv1.18.0-3, among others). This PR moves no module pin.Summary by CodeRabbit
curl, Pushover notification, and workspace status tools are no longer available.