62 lines
3.6 KiB
PL/PgSQL
62 lines
3.6 KiB
PL/PgSQL
BEGIN;
|
|
SET ROLE capability_role;
|
|
|
|
CREATE TABLE IF NOT EXISTS capability.cognitive_provider_instances (
|
|
provider_instance_id TEXT NOT NULL, revision BIGINT NOT NULL, provider_kind TEXT NOT NULL,
|
|
endpoint_ref TEXT NOT NULL, credential_ref TEXT NOT NULL, enabled BOOLEAN NOT NULL,
|
|
qualification TEXT NOT NULL, health TEXT NOT NULL, observed_at_unix_millis BIGINT NOT NULL,
|
|
recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (provider_instance_id, revision), CHECK (revision > 0),
|
|
CHECK (qualification IN ('DISCOVERED','PROBING','EVALUATING','VALIDATED','REJECTED')),
|
|
CHECK (health IN ('UNKNOWN','AVAILABLE','DEGRADED','UNAVAILABLE')),
|
|
CHECK (observed_at_unix_millis > 0)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS capability.cognitive_model_descriptors (
|
|
model_descriptor_id TEXT NOT NULL, revision BIGINT NOT NULL, provider_instance_id TEXT NOT NULL,
|
|
provider_model_id TEXT NOT NULL, fingerprint TEXT NOT NULL, max_context_bytes BIGINT NOT NULL,
|
|
modalities TEXT[] NOT NULL, capabilities TEXT[] NOT NULL, qualification TEXT NOT NULL,
|
|
health TEXT NOT NULL, observed_at_unix_millis BIGINT NOT NULL,
|
|
recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (model_descriptor_id, revision), CHECK (revision > 0), CHECK (max_context_bytes > 0),
|
|
CHECK (cardinality(modalities) > 0), CHECK (cardinality(capabilities) > 0),
|
|
CHECK (qualification IN ('DISCOVERED','PROBING','EVALUATING','VALIDATED','REJECTED')),
|
|
CHECK (health IN ('UNKNOWN','AVAILABLE','DEGRADED','UNAVAILABLE')),
|
|
CHECK (observed_at_unix_millis > 0)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS capability.cognitive_bindings (
|
|
binding_id TEXT NOT NULL, revision BIGINT NOT NULL, capability_id TEXT NOT NULL,
|
|
owner_principal_id TEXT NOT NULL, provider_instance_id TEXT NOT NULL, provider_revision BIGINT NOT NULL,
|
|
model_descriptor_id TEXT NOT NULL, model_revision BIGINT NOT NULL,
|
|
data_policy TEXT NOT NULL, qualification TEXT NOT NULL, activation TEXT NOT NULL,
|
|
health TEXT NOT NULL, limit_policy_ref TEXT NOT NULL,
|
|
recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (binding_id, revision), CHECK (revision > 0), CHECK (provider_revision > 0), CHECK (model_revision > 0),
|
|
CHECK (data_policy IN ('LOCAL_ONLY','EXTERNAL_MESSAGE_ONLY','EXTERNAL_MINIMIZED_CONTEXT')),
|
|
CHECK (qualification IN ('DISCOVERED','PROBING','EVALUATING','VALIDATED','REJECTED')),
|
|
CHECK (activation IN ('INACTIVE','CANARY','ACTIVE','DEPRECATED','RETIRED')),
|
|
CHECK (health IN ('UNKNOWN','AVAILABLE','DEGRADED','UNAVAILABLE'))
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS capability.cognitive_binding_heads (
|
|
capability_id TEXT NOT NULL, owner_principal_id TEXT NOT NULL, binding_id TEXT NOT NULL,
|
|
revision BIGINT NOT NULL, PRIMARY KEY (capability_id, owner_principal_id), CHECK (revision > 0)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS capability.cognitive_usage_observations (
|
|
observation_id TEXT PRIMARY KEY, request_id TEXT NOT NULL, binding_id TEXT NOT NULL,
|
|
binding_revision BIGINT NOT NULL, provider_instance_id TEXT NOT NULL, model_descriptor_id TEXT NOT NULL,
|
|
observed_at_unix_millis BIGINT NOT NULL, latency_millis BIGINT NOT NULL,
|
|
input_units BIGINT NOT NULL, output_units BIGINT NOT NULL, estimated_cost_micros BIGINT,
|
|
actual_cost_micros BIGINT, result_class TEXT NOT NULL,
|
|
recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CHECK (binding_revision > 0), CHECK (observed_at_unix_millis > 0), CHECK (latency_millis >= 0),
|
|
CHECK (input_units >= 0), CHECK (output_units >= 0),
|
|
CHECK (estimated_cost_micros IS NULL OR estimated_cost_micros >= 0),
|
|
CHECK (actual_cost_micros IS NULL OR actual_cost_micros >= 0)
|
|
);
|
|
|
|
RESET ROLE;
|
|
COMMIT;
|