Requests kept and replayed: keys requests per project with retention and a share, ctl request --body and --replay

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ilker ManapandClaude Opus 5.5 committed 2026-10-04 22:51:21 +02:00
1 parent 841ee21c12
commit 32ff1dbd6f
22 files changed
+757 -10

No files matched your search

@@ -0,0 +1,23 @@
-- Keeping requests and answers, for a project that asks: how long, and
-- what share of its requests. Off for every project until set, like
-- conversations: a gateway that keeps no text is the default.
ALTER TABLE projects ADD COLUMN request_log_hours INTEGER;
ALTER TABLE projects ADD COLUMN request_log_sample REAL;
-- The request as the model was sent it — after the guardrails' redaction
-- and with any stored conversation spliced in — and the answer as the
-- client was sent it.
CREATE TABLE request_bodies (
request_id TEXT PRIMARY KEY,
project_id TEXT NOT NULL,
ts INTEGER NOT NULL,
expires_at INTEGER NOT NULL,
path TEXT NOT NULL,
model TEXT NOT NULL,
served_model TEXT NOT NULL,
status INTEGER NOT NULL,
request TEXT NOT NULL,
response TEXT NOT NULL,
truncated INTEGER NOT NULL DEFAULT 0
);
CREATE INDEX request_bodies_expiry ON request_bodies (expires_at);