Skip to content
This repository was archived by the owner on Apr 11, 2026. It is now read-only.

Commit 069b2e5

Browse files
committed
feat(flowctl): approval HTTP API backend (fn-20.3)
Add approval system backend: libSQL approvals table, ApprovalStore trait + libsql impl, flowctl approval CLI (create/list/show/approve/ reject with --wait), 5 daemon REST routes, ApprovalCreated/Resolved WS events. Replaces stdin-blocking Teams protocol. CLI routes mutations through Unix socket at .flow/.state/flowctl.sock when daemon is running (detected via .flow/.state/flowctl.pid), with TCP fallback for flowctl serve --port and direct-DB writes when the daemon is absent. This keeps the daemon as the sole source of live approval_* events when reachable. Integration test exercises full create → list → approve → reject flow through the Axum router with event_bus assertions. Task: fn-20-abf-borrowed-enhancements-archetypes.3
1 parent 17aebf1 commit 069b2e5

15 files changed

Lines changed: 1321 additions & 0 deletions

File tree

flowctl/Cargo.lock

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flowctl/crates/flowctl-cli/Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ regex = { workspace = true }
3636
sha2 = { workspace = true }
3737
thiserror = { workspace = true }
3838
which = { workspace = true }
39+
hyper = { version = "1", features = ["client", "http1"] }
40+
hyper-util = { version = "0.1", features = ["client", "client-legacy", "tokio", "http1"] }
41+
http-body-util = "0.1"
42+
bytes = "1"
3943

4044
[dev-dependencies]
4145
trycmd = { workspace = true }

0 commit comments

Comments
 (0)