Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ target/
.idea/
.DS_Store
docs
!harness/docs/
.worktrees
node_modules
package-lock.json
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ matching GitHub Release asset for the host's target triple.
| [`models-catalog`](models-catalog/) | Rust | Model capabilities knowledge base under `models::*` (list/get/supports/register). |
| [`oauth-anthropic`](oauth-anthropic/) | Rust | Anthropic Claude Pro/Max OAuth (PKCE localhost flow) under `oauth::anthropic::*`. |
| [`oauth-openai-codex`](oauth-openai-codex/) | Rust | OpenAI Codex OAuth (PKCE localhost flow) under `oauth::openai_codex::*`. |
| [`policy-denylist`](policy-denylist/) | Rust | Hook subscriber on `agent::before_tool_call` that blocks calls whose name is on a configured denylist. |
| [`policy-denylist`](policy-denylist/) | Rust | Hook subscriber on `agent::before_function_call` that blocks calls whose function id is on a configured denylist. |
| [`proof`](proof/) | Node | AI-driven browser testing — diffs changes, generates test plans, drives Playwright. |
| [`provider-anthropic`](provider-anthropic/) | Rust | Native Anthropic Messages API streaming provider under `provider::anthropic::*`. |
| [`provider-openai`](provider-openai/) | Rust | OpenAI Chat Completions provider under `provider::openai::*`. |
Expand Down
4 changes: 2 additions & 2 deletions approval-gate/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# approval-gate

Subscriber on `agent::before_tool_call`. Pauses tool calls whose name appears
Subscriber on `agent::before_function_call`. Pauses function calls whose id appears
in the run's `approval_required` list, emits `ApprovalRequested` onto
`agent::events/<session_id>`, and waits for the UI to call `approval::resolve`
(or for the configured timeout, default 5 minutes).

## Functions
- `approval::resolve { tool_call_id, decision, reason? }` — flip a pending entry to `allow` or `deny`.
- `approval::resolve { function_call_id, tool_call_id?, decision, reason? }` — flip a pending entry to `allow` or `deny` (`tool_call_id` accepted for backward compatibility).
- `approval::list_pending { session_id }` — return currently-blocked calls (used by the UI on tab refresh).

## Config (env)
Expand Down
4 changes: 2 additions & 2 deletions approval-gate/iii.worker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ language: rust
deploy: binary
manifest: Cargo.toml
bin: iii-approval-gate
description: Hook subscriber on agent::before_tool_call that pauses tool calls listed in approval_required until the UI resolves them via approval::resolve.
description: Hook subscriber on agent::before_function_call that pauses function calls listed in approval_required until the UI resolves them via approval::resolve.
config:
topic: agent::before_tool_call
topic: agent::before_function_call
approval_state_scope: approvals
default_timeout_ms: 300000
Loading
Loading