feat(heroi): repo commands, image attach, and latest CLI models - #128
Merged
danielss-dev merged 3 commits intoSep 15, 2026
Merged
Conversation
Make Heroi a fuller agentic control plane for DAN-70: spawn repo commands with cwd/permission mapping and command+output in the DAN-61 tool group, paste/attach vision images through Claude/Codex/Cursor, and surface Claude Fable 5.1 (claude-fable-5-1) plus GPT-6 Astra (gpt-6-astra) from live CLI catalogs. Co-authored-by: Daniels <danielss-dev@users.noreply.github.com>
Keep gpt-6-astra out of Codex probe-failure fallbacks so older CLIs degrade to Sol/Terra, and map image-flag rejections to an explicit vision error instead of a generic CLI failure. Co-authored-by: Daniels <danielss-dev@users.noreply.github.com>
danielss-dev
marked this pull request as ready for review
September 14, 2026 14:40
Cursor `--print` without `--force` only proposes edits. Map Build to `--force` (keep sandbox), Full to `--force --sandbox disabled`, and send Cursor images as workspace-staged prompt paths instead of a non-existent `--image` flag. Keep `--workspace` on the repo path. Co-authored-by: Daniels <danielss-dev@users.noreply.github.com>
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.
DAN-70: make bundled Heroi usable as a repo-scoped coding-agent control plane without turning it into a second IDE.
Linear: https://linear.app/daniels-dev/issue/DAN-70/heroi-fuller-agentic-repo-commands-images-latest-models
Grounded against
main@640a001.Design (smallest diffs on existing IPC + DAN-61 UI)
Reuse
HeroiAgentEvent.activityand the grouped Tool calls block (TurnToolCalls→MessageMarkdown→TurnFileChanges). ExtendHeroiAgentRequestwith optionalimages. Prefer live CLI slugs. Model-list probes keeptemp_dircwd; agent spawns keeprequest.path.What landed
--cd, Cursor--workspace. Permission mapping:--permission-mode plan; Build →acceptEdits; Full →--dangerously-skip-permissions--sandbox read-only; Build →workspace-write; Full → bypass--mode plan. Build was a gap on main (build+buildpassed neither--forcenor--mode plan). Cursor headless--printonly proposes edits/commands without--force, so Build now passes--force(sandbox stays). Full adds--sandbox disabled.Command+output shows as Running a command in the DAN-61 tool group.
HeroiAgentRequest.images. Claude: stream-json image blocks. Codex:--image+ temp paths. Cursor CLI has no--image; files stage under the repo.git/and paths go in the prompt. Invalid types fail clearly; unknown--imageCLI errors map to an explicit vision message.claude-fable-5-1at CLI ≥ 2.1.257; Fable 5 stays at ≥ 2.1.169. Unknown CLI version still hides gated models (version_at_least(None)=false). Codex fallbacks remaingpt-5.6-sol/gpt-5.6-terra/gpt-5.4— no Astra. Astra (gpt-6-astra) appears from livemodel/listor Cursor ACP only.Out of scope: parallel worktrees ADE, browser/design mode, mobile companion, one-click PR ship.
Proof
pnpm --filter ./ui exec tsc --noEmitclean;pnpm --filter ./ui test532 passedcargo test -p strand-tauri heroi27 passed (catalog gates, command/output, image plumbing, Cursor Build--force, Astra omitted from fallbacks)Native Tauri + signed-in CLI E2E was not available in this environment.