sandbox-agent/factory
Nathan Flurry 76586f409f
Add ACP permission mode support to the SDK (#224)
* chore: recover hamburg workspace state

* chore: drop workspace context files

* refactor: generalize permissions example

* refactor: parse permissions example flags

* docs: clarify why fs and terminal stay native

* feat: add interactive permission prompt UI to Inspector

Add permission request handling to the Inspector UI so users can
Allow, Always Allow, or Reject tool calls that require permissions
instead of having them auto-cancelled. Wires up SDK
onPermissionRequest/respondPermission through App → ChatPanel →
ChatMessages with proper toolCallId-to-pendingId mapping.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: prevent permission reply from silently escalating "once" to "always"

Remove allow_always from the fallback chain when the user replies "once",
aligning with the ACP spec which says "map by option kind first" with no
fallback for allow_once. Also fix Inspector to use rawSend, revert
hydration guard to accept empty configOptions, and handle respondPermission
errors by rejecting the pending promise.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 21:52:43 -07:00
..
docker Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
e2e Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
memory Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
packages Add ACP permission mode support to the SDK (#224) 2026-03-10 21:52:43 -07:00
research Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
scripts Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
AGENTS.md Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
CLAUDE.md Add ACP permission mode support to the SDK (#224) 2026-03-10 21:52:43 -07:00
compose.dev.yaml Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
compose.preview.yaml Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
CONTRIBUTING.md Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
Dockerfile Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
railway.toml Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
README.md Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00
tsconfig.base.json Integrate OpenHandoff factory workspace (#212) 2026-03-09 14:00:20 -07:00

OpenHandoff

TypeScript workspace handoff system powered by RivetKit actors, SQLite/Drizzle state, and OpenTUI.

Documentation: openhandoff.dev

Quick Install

curl -fsSL https://bun.sh/install | bash
pnpm install
pnpm -w build

Project Goals

  • Simple: There's one screen. It has everything you need. You can use it blindfolded.
  • Fast: No waiting around.
  • Collaborative: Built for fast moving teams that need code reviewed & shipped fast.
  • Pluggable: Works for small side projects to enterprise teams.

License

MIT