feat(approval): the approval seam — one-shot permission decisions over a waterfall of answerers
ctx.approval (dsh-approval): request() dispatches the approval/request waterfall and always resolves a closed outcome — allowed-once / rejected / cancelled / unavailable — never rejects; zero listeners fall through to fail-closed unavailable; abort settles cancelled and discards late answers; throwing or rogue answerers are contained as unavailable; every ask lands the log-only approval/asked / approval/decided audit pair. dsh-tools routes a pre-execute ask through the seam opportunistically (ctx.get) with three distinct deny reasons, keeping the historical ask→deny degrade when the seam is absent. The per-session policy tier, the ACP bridge answerer, and the sandbox escalation asker are staged follow-ups of the approval-seam RFC.
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
{ "path": "./packages/session-persistence/session-persistence-jsonl" },
|
||||
{ "path": "./packages/session-persistence/session-persistence-sqlite" },
|
||||
{ "path": "./packages/core/system-prompt" },
|
||||
{ "path": "./packages/approval/approval" },
|
||||
{ "path": "./packages/core/agent" },
|
||||
{ "path": "./packages/ui/user-interaction" },
|
||||
{ "path": "./packages/core/tools" },
|
||||
|
||||
Reference in New Issue
Block a user