Repository navigation
refactor(hooks): move the hooks.json command-hook engine into tinyagents-runtime - #6795
Merged
Merged
Conversation
Updated the pinned commit for the tinyagents vendored dependency to incorporate upstream changes. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Update the pinned commit of the tinyagents vendored dependency to incorporate upstream changes. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Update the pinned commit of the tinyagents submodule to include the latest changes from its upstream repository. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The tinyagents submodule pointer has been advanced to include the latest upstream changes. The new commit hash reflects a dirty state, indicating local modifications were present at the time of the update. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Update the pinned commit of the tinyagents vendored dependency to incorporate upstream changes. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Split the monolithic hooks module into dedicated files for configuration, context, engine, execution, follow-up, matcher, and types, each with their own tests. This improves maintainability by giving each concern a clear home and makes the codebase easier to navigate. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The hook engine, types, config, matcher, exec, context, and follow-up modules have been extracted into the `tinyagents_runtime::command_hooks` crate. OpenHuman now re-exports only the bridge, host, ops, prompt_eval, and schemas modules, delegating all engine internals to the shared library. This reduces duplication between projects and makes the hook contract a single source of truth. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The doc comment in the hooks schema module referenced an internal path that no longer exists after a refactor. The path is updated to point to the correct public module in the runtime crate, ensuring the documentation remains accurate and navigable for readers. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Added regex and serde dependencies to the Cargo.lock file to reflect changes in the project's dependency tree, ensuring the lock file remains consistent with the current crate requirements. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
Contributor
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (19)
Comment |
Tiny Sweeper review
|
The lockfile is updated to reflect the addition of three new workspace crates: tinycomputer-accessibility, tinyflows-schedule, and tinyruntime-pyserver. Several previously direct dependencies (chrono-tz, cpal, cron) are now pulled in transitively through these new crates rather than listed as direct dependencies of the root package. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
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
Wave 2: move the Cursor-compatible
hooks.jsoncommand-hook engine intotinyagents-runtime. The net change is −2.5k lines (78 added, 2,584 deleted).Hooks engine →
tinyagents_runtime::command_hooks(tinyagents#237, againstmain)hooks/{types,config,matcher,engine,exec,context,followup}.rsand their tests. The new code sits beside the existingSessionHookstrait, which is untouched.HookEnvironmentpassed toHookEngine::new. It carries four things:product: "OpenHuman", which derives the system dir (ProgramData\OpenHuman,/Library/Application Support/OpenHuman,/etc/openhuman), the.openhumanuser and project dirs, and theOPENHUMAN_*hook env vars;home_dir;platform_shell::build_tokio_command, which stays in OpenHuman because the sandbox, host runtime and cron shell jobs also use it;prompt_eval.hooks.jsonparse;bridge.rs, which adapts to the agent'sToolHook/PostTurnHook;ops.rs,schemas.rsandprompt_eval.rs;host.rs, which builds the process-wide engine through the seam.tracinginstead oflog.ops::initsets the version at boot, theopenhuman_versionfallback is now empty instead of the core crate version. After boot it is the same as before.Not moved:
running_subagentsDetachedTaskRegistry,TaskStoreRegistryand the JSONL store.RunQueue<QueuedTurn>metadata;background_completions;subagent_sessionswrites;subagent_events;.openhuman/orchestration_tasks.jsonllayout;SubagentStatusenum.Verification
cargo check --tests -p openhuman -p openhuman-cli --features "$(bash scripts/ci/product-features.sh)"passes. The app manifest,openhuman-embedandopenhuman-tinyhumans --testsalso compile.memory::sync_activity::a_run_with_no_terminal_stage_goes_stale_after_the_ceiling. It is the same global-map timing race as its sibling described in refactor(core): move time/goals tools, conversation store and composio execute into vendor crates #6785, and it passes when run alone (11/11).tinyagents-runtime: 106 tests, including the moved hooks tests and 3 new fixtures. fmt andclippy -D warningsare clean.rust:layout,check-agent-runtime-boundary(no re-exports; call sites importtinyagents_runtime::command_hooksdirectly),check-feature-forwarding,check-gated-test-allowlist, andcheck-submodule-monotonic upstream/main HEAD(9 pins forward).check-module-pinsfails only for tinywallet and tinychannels, both from test: drop 45 quarantined raw-coverage files, dedupe vendor-covered tests, repoint vendor pins #6781.Merge order
tinyagents#237 is based on
mainand doesn't depend on the other open tinyagents PRs. Merge it, then re-pin the gitlink to the merge commit, then merge this PR after #6789.