Changeset 0.22.0.1 (#94)
This commit is contained in:
43
server/database/migrations/013_v0220_health.sql
Normal file
43
server/database/migrations/013_v0220_health.sql
Normal file
@@ -0,0 +1,43 @@
|
||||
-- v0.22.0: Provider health tracking + capability admin overrides.
|
||||
|
||||
-- ── Provider Health ─────────────────────────
|
||||
-- Hourly bucketed health metrics per provider config.
|
||||
-- In-memory accumulator flushes to this table every 60s.
|
||||
-- Background job prunes rows older than 7 days.
|
||||
CREATE TABLE IF NOT EXISTS provider_health (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
provider_config_id UUID NOT NULL REFERENCES provider_configs(id) ON DELETE CASCADE,
|
||||
window_start TIMESTAMPTZ NOT NULL, -- hourly bucket floor
|
||||
request_count INT NOT NULL DEFAULT 0,
|
||||
error_count INT NOT NULL DEFAULT 0,
|
||||
timeout_count INT NOT NULL DEFAULT 0,
|
||||
total_latency_ms BIGINT NOT NULL DEFAULT 0, -- sum for avg calculation
|
||||
max_latency_ms INT NOT NULL DEFAULT 0,
|
||||
last_error TEXT,
|
||||
last_error_at TIMESTAMPTZ,
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
|
||||
UNIQUE (provider_config_id, window_start)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_provider_health_window
|
||||
ON provider_health (provider_config_id, window_start DESC);
|
||||
|
||||
-- ── Capability Overrides ────────────────────
|
||||
-- Admin corrections for model capabilities. Highest priority in the
|
||||
-- three-tier resolution chain: catalog → heuristic → admin override.
|
||||
CREATE TABLE IF NOT EXISTS capability_overrides (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
provider_config_id UUID REFERENCES provider_configs(id) ON DELETE CASCADE,
|
||||
model_id TEXT NOT NULL,
|
||||
field TEXT NOT NULL, -- tool_calling, vision, thinking, reasoning, etc.
|
||||
value TEXT NOT NULL, -- "true"/"false" for bools, numeric string for ints
|
||||
set_by UUID REFERENCES users(id) ON DELETE SET NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
|
||||
-- Unique per (provider, model, field). NULL provider = applies to model globally.
|
||||
UNIQUE (provider_config_id, model_id, field)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_capability_overrides_model
|
||||
ON capability_overrides (model_id);
|
||||
Reference in New Issue
Block a user