Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
cb8b710
docs(adr): propose native MCP client for openab-agent
brettchien May 31, 2026
fdd8738
docs(adr): unify MCP OAuth flows, add device-code preference and Farg…
brettchien May 31, 2026
47363a2
docs(adr): harden MCP OAuth β€” opt-in discovery + force-flush write co…
brettchien May 31, 2026
32176fc
feat(openab-agent/mcp): scaffold MCP module + mcpServers config loader
brettchien May 31, 2026
3d58865
style(openab-agent/mcp): apply cargo fmt to config.rs
brettchien May 31, 2026
b709159
ci(openab-agent): exercise --features mcp in clippy + test
brettchien May 31, 2026
3067fec
feat(openab-agent/mcp): add 'mcp list' CLI subcommand
brettchien May 31, 2026
82c43e5
fix(openab-agent/mcp): satisfy clippy::unnecessary_sort_by
brettchien May 31, 2026
cceb42e
feat(openab-agent/mcp): redact secrets in 'mcp list' by default
brettchien May 31, 2026
20a2448
fix(openab-agent/mcp): emit --resolve warnings on stderr
brettchien May 31, 2026
7079c90
feat(openab-agent/mcp): add runtime state-machine scaffold
brettchien May 31, 2026
40b849b
fix(openab-agent/mcp): drop unused len() from McpRuntimeManager
brettchien May 31, 2026
3ab8dec
feat(openab-agent/mcp): wrap handles in Arc<RwLock>, stub async conne…
brettchien May 31, 2026
dc1b0a6
fix(openab-agent/mcp): satisfy cargo fmt --check on runtime test
brettchien May 31, 2026
be9ee62
fix(openab-agent/mcp): allow(dead_code) on connect() stub
brettchien May 31, 2026
82d5da4
feat(openab-agent/mcp): real stdio dial via rmcp + double-lock connect
brettchien May 31, 2026
8fcd17c
fix(openab-agent/mcp): race guard for concurrent connect() on same se…
brettchien May 31, 2026
3b214dd
fix(openab-agent/mcp): satisfy cargo fmt --check on runtime.rs
brettchien May 31, 2026
cf6d7cd
feat(openab-agent/mcp): meta-tool action enum + help/list_servers dis…
brettchien May 31, 2026
27f5cca
refactor(openab-agent/mcp): apply Mira Tick 15 review β€” zero-clone + …
brettchien May 31, 2026
8b91c1c
fix(openab-agent/mcp): split wide assert!() to satisfy cargo fmt --check
brettchien May 31, 2026
13d5ea7
feat(openab-agent/mcp): list_tools action + Arc-cloned peer borrow
brettchien May 31, 2026
2c7f1c6
feat(openab-agent/mcp): call action with lenient argument coercion
brettchien May 31, 2026
2a859e6
fix(openab-agent/mcp): collapse let-params chain to satisfy cargo fmt
brettchien May 31, 2026
6653008
feat(openab-agent/mcp): describe_tool + status actions complete phase…
brettchien May 31, 2026
f36fb77
fix(openab-agent/mcp): break dispatch().await.unwrap() chain past cha…
brettchien May 31, 2026
6a3e9e0
fix(openab-agent/mcp): use is_none_or per clippy::unnecessary_map_or
brettchien May 31, 2026
6e2b736
feat(openab-agent/mcp): wire mcp meta-tool into agent dispatch loop
brettchien May 31, 2026
6e08c28
fix(openab-agent/mcp): silence unused_mut on feature-off build
brettchien May 31, 2026
a0ebd5f
fix(openab-agent/acp): serialize env-var-touching tests with Mutex
brettchien May 31, 2026
f405646
refactor(openab-agent/mcp): apply Mira's Phase 1 polish review
brettchien May 31, 2026
9aa51a1
feat(openab-agent/mcp): wire anonymous Streamable HTTP transport
brettchien May 31, 2026
2a69bf9
feat(openab-agent/auth): namespaced TokenStore + fsync (ADR Β§6.1)
brettchien May 31, 2026
06acde6
fix(openab-agent/auth): rustfmt break-after-= for long chained let
brettchien May 31, 2026
4c77595
feat(openab-agent/mcp): add OAuth provider catalog (ADR Β§6.2)
brettchien May 31, 2026
da86d5b
feat(openab-agent/mcp): OAuthConfig Β§6.3 fields + discovery boot check
brettchien May 31, 2026
7ea3e59
fix(openab-agent/mcp): rustfmt struct-pattern nested-call multi-line
brettchien May 31, 2026
65f1c4d
feat(openab-agent/mcp): resolve custom OAuth providers (ADR Β§6.3)
brettchien May 31, 2026
04b84f9
refactor(openab-agent/mcp): ResolvedProvider as enum {Builtin, Custom}
brettchien May 31, 2026
f61b498
fix(openab-agent/mcp): rustfmt per-line struct-pattern binders
brettchien May 31, 2026
2400144
feat(openab-agent/mcp): paste-back OAuth flow primitives (ADR Β§6.4)
brettchien Jun 1, 2026
7f4ef17
fix(openab-agent/mcp): rustfmt import precedence super < crate
brettchien Jun 1, 2026
95f33bc
feat(openab-agent/mcp): NeedsAuth state for oauth-protected http servers
brettchien Jun 1, 2026
32232c0
style(openab-agent/mcp): split assert! args to satisfy rustfmt fn_cal…
brettchien Jun 1, 2026
af3a25d
feat(openab-agent/mcp): start_paste_login + builtin client_id resolver
brettchien Jun 1, 2026
f0de2f2
style(openab-agent/mcp): satisfy rustfmt for Tick 39 slice
brettchien Jun 1, 2026
7dd718c
feat(openab-agent): split auth.json into TokenStore | PendingPasteLogin
brettchien Jun 1, 2026
79b1e2e
feat(openab-agent/mcp): persist pending paste-login to auth.json
brettchien Jun 1, 2026
fd6adcf
style(openab-agent/mcp): satisfy rustfmt for mgr_with_tempdir tuple
brettchien Jun 1, 2026
0953985
feat(openab-agent/mcp): parse_paste_callback URL helper
brettchien Jun 1, 2026
99cd29c
revert: scope PR #959 to Phase 1 per shaun-agent Balanced split
brettchien Jun 1, 2026
e90ef01
fix(openab-agent/mcp): harden env handling
shaun-agent Jun 1, 2026
0c0b671
feat(openab-agent/auth): namespaced TokenStore + fsync (ADR Β§6.1)
brettchien May 31, 2026
75fbd77
fix(openab-agent/auth): rustfmt break-after-= for long chained let
brettchien May 31, 2026
38765ab
feat(openab-agent/mcp): add OAuth provider catalog (ADR Β§6.2)
brettchien May 31, 2026
bed866e
feat(openab-agent/mcp): OAuthConfig Β§6.3 fields + discovery boot check
brettchien May 31, 2026
d901a32
fix(openab-agent/mcp): rustfmt struct-pattern nested-call multi-line
brettchien May 31, 2026
bb6e236
feat(openab-agent/mcp): resolve custom OAuth providers (ADR Β§6.3)
brettchien May 31, 2026
8d37814
refactor(openab-agent/mcp): ResolvedProvider as enum {Builtin, Custom}
brettchien May 31, 2026
2c112dd
fix(openab-agent/mcp): rustfmt per-line struct-pattern binders
brettchien May 31, 2026
21aa622
feat(openab-agent/mcp): paste-back OAuth flow primitives (ADR Β§6.4)
brettchien Jun 1, 2026
99395b6
fix(openab-agent/mcp): rustfmt import precedence super < crate
brettchien Jun 1, 2026
d8e29d7
feat(openab-agent/mcp): NeedsAuth state for oauth-protected http servers
brettchien Jun 1, 2026
0da594c
style(openab-agent/mcp): split assert! args to satisfy rustfmt fn_cal…
brettchien Jun 1, 2026
dd2a978
feat(openab-agent/mcp): start_paste_login + builtin client_id resolver
brettchien Jun 1, 2026
3d7db64
style(openab-agent/mcp): satisfy rustfmt for Tick 39 slice
brettchien Jun 1, 2026
e90fcbd
feat(openab-agent): split auth.json into TokenStore | PendingPasteLogin
brettchien Jun 1, 2026
5372bf3
feat(openab-agent/mcp): persist pending paste-login to auth.json
brettchien Jun 1, 2026
4e2bb1b
style(openab-agent/mcp): satisfy rustfmt for mgr_with_tempdir tuple
brettchien Jun 1, 2026
16d52f6
feat(openab-agent/mcp): parse_paste_callback URL helper
brettchien Jun 1, 2026
f716a33
feat(openab-agent/mcp): complete_login finishes paste-back OAuth flow
brettchien Jun 1, 2026
40d5ee9
fix(openab-agent/mcp): u64::MAX sentinel for absent expires_in
brettchien Jun 1, 2026
119edf4
feat(openab-agent/mcp): mcp login CLI wires Β§6.4 paste-back end-to-end
brettchien Jun 1, 2026
744a9d1
docs(openab-agent/mcp): advertise stdin pipe as defense-in-depth over…
brettchien Jun 1, 2026
338aab9
feat(openab-agent/mcp): mcp status surfaces in-flight paste-back logins
brettchien Jun 1, 2026
ece4eaf
refactor(openab-agent/mcp): single pending-key constructor + cli_show…
brettchien Jun 1, 2026
e5bc951
feat(openab-agent/mcp): connect() injects cached bearer for HTTP+oauth
brettchien Jun 1, 2026
724feec
feat(openab-agent/mcp): refresh-token rotation in connect() oauth branch
brettchien Jun 1, 2026
5ac2781
fix(openab-agent/mcp): refresh-failed bounce respects concurrent Conn…
brettchien Jun 1, 2026
1e4863f
fix(openab-agent/mcp): saturating_add for refresh expires_at
brettchien Jun 1, 2026
bf08fe2
refactor(openab-agent/mcp): share post_token_form between exchange an…
brettchien Jun 1, 2026
27abdbf
feat(openab-agent/mcp): device-code OAuth POST primitives (RFC 8628)
brettchien Jun 1, 2026
9edf3a6
feat(openab-agent/mcp): device-flow runtime wiring (RFC 8628 polling …
brettchien Jun 1, 2026
354947d
feat(openab-agent/mcp): `mcp login --device` CLI surface (RFC 8628 UX)
brettchien Jun 1, 2026
b74e784
feat(openab-agent/mcp): custom-provider paste-back support
brettchien Jun 1, 2026
f6a027a
docs(adr/mcp): Β§6.3 add `oauth.redirect_uri?` for custom paste-back
brettchien Jun 1, 2026
e5ea59f
refactor(openab-agent): inline TokenStore::is_expired method
brettchien Jun 1, 2026
0dee1d7
chore(openab-agent/mcp): simplify-pass cleanup
brettchien Jun 1, 2026
b816763
refactor(openab-agent/mcp): simplify-pass second cleanup
brettchien Jun 1, 2026
c053b06
docs(openab-agent/mcp): document refresh-race tradeoff per Kirin review
brettchien Jun 1, 2026
79dfa81
docs(adr/mcp): Β§6.4 device-flow success transitions to Disconnected
brettchien Jun 1, 2026
98b9125
fix(openab-agent/mcp): abort prior device-poll task on login retry
brettchien Jun 1, 2026
85ea758
fix(openab-agent/mcp): single-flight refresh-grant per server
brettchien Jun 1, 2026
97fa796
fix(openab-agent): atomic auth.json via tmp + rename(2) + parent fsync
brettchien Jun 1, 2026
b3a310b
refactor(openab-agent): remove --features mcp flag
brettchien Jun 1, 2026
26c7d87
feat(openab-agent/mcp): circuit-breaker module (Hermes pattern)
brettchien Jun 1, 2026
6772a51
feat(openab-agent/mcp): wire circuit breaker into runtime + meta_tool
brettchien Jun 1, 2026
bf62732
feat(openab-agent/mcp): mcp doctor CLI subcommand (ADR Β§8)
brettchien Jun 1, 2026
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
2 changes: 2 additions & 0 deletions .github/workflows/ci-openab-agent.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ on:
push:
paths:
- 'openab-agent/**'
- '.github/workflows/ci-openab-agent.yml'
pull_request:
paths:
- 'openab-agent/**'
- '.github/workflows/ci-openab-agent.yml'

jobs:
check:
Expand Down
659 changes: 659 additions & 0 deletions docs/adr/openab-agent-mcp.md

Large diffs are not rendered by default.

Loading
Loading