feat: add managed llm summaries and memory timeline
ci / verify (push) Canceled after 0s

This commit is contained in:
Codex Local
2026-08-30 10:51:32 +08:00
parent 47f8a164fa
commit 962dd1a063
22 changed files with 1417 additions and 86 deletions
@@ -0,0 +1,3 @@
BEGIN;
DROP TABLE IF EXISTS content_model_config;
COMMIT;
@@ -0,0 +1,37 @@
BEGIN;
CREATE TABLE content_model_config (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
public_id uuid NOT NULL UNIQUE DEFAULT gen_random_uuid(),
tenant_id uuid NOT NULL REFERENCES tenant(id),
display_name varchar(120) NOT NULL CHECK (length(trim(display_name)) BETWEEN 1 AND 120),
provider varchar(32) NOT NULL CHECK (provider IN ('ark','openai_compatible')),
base_url varchar(500) NOT NULL CHECK (length(trim(base_url)) BETWEEN 8 AND 500),
model_id varchar(200) NOT NULL CHECK (length(trim(model_id)) BETWEEN 1 AND 200),
encrypted_api_key bytea NOT NULL,
nonce bytea NOT NULL,
key_version bigint NOT NULL DEFAULT 1 CHECK (key_version > 0),
credential_hint varchar(16) NOT NULL,
temperature numeric(3,2) NOT NULL DEFAULT 0.20 CHECK (temperature >= 0 AND temperature <= 2),
max_tokens integer NOT NULL DEFAULT 1200 CHECK (max_tokens BETWEEN 256 AND 8192),
status varchar(16) NOT NULL DEFAULT 'inactive' CHECK (status IN ('inactive','active','revoked')),
test_status varchar(16) NOT NULL DEFAULT 'untested' CHECK (test_status IN ('untested','passed','failed')),
last_tested_at timestamptz,
last_error_code varchar(80),
activated_at timestamptz,
created_by uuid NOT NULL,
updated_by uuid NOT NULL,
version bigint NOT NULL DEFAULT 1 CHECK (version > 0),
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now(),
CONSTRAINT content_model_creator_tenant_fk FOREIGN KEY (created_by,tenant_id) REFERENCES user_account(id,tenant_id),
CONSTRAINT content_model_updater_tenant_fk FOREIGN KEY (updated_by,tenant_id) REFERENCES user_account(id,tenant_id),
CONSTRAINT content_model_identity_unique UNIQUE (tenant_id,provider,base_url,model_id)
);
CREATE UNIQUE INDEX content_model_one_active_per_tenant
ON content_model_config(tenant_id) WHERE status='active';
CREATE INDEX content_model_list_idx
ON content_model_config(tenant_id,status,updated_at DESC);
COMMIT;