Files
amcs/migrations/017_agent_skills_guardrails.sql
Hein (Warky) 3c1ca83dc9 feat: add agent skills and guardrails functionality
- Introduced new tools for managing agent skills and guardrails, including add, remove, and list operations.
- Updated README.md to document new commands and usage patterns for skills and guardrails.
- Enhanced server configuration to support longer read and write timeouts.
- Increased maximum upload size for files to 100 MB and adjusted related configurations.
- Created database migrations for agent skills, guardrails, and their associations with projects.
- Updated relevant code files to integrate new skills and guardrails into the application logic.
2026-03-30 23:35:54 +02:00

40 lines
1.7 KiB
SQL

create table if not exists agent_skills (
id uuid primary key default gen_random_uuid(),
name text not null,
description text not null default '',
content text not null,
tags text[] not null default '{}',
created_at timestamptz not null default now(),
updated_at timestamptz not null default now(),
constraint agent_skills_name_unique unique (name)
);
create table if not exists agent_guardrails (
id uuid primary key default gen_random_uuid(),
name text not null,
description text not null default '',
content text not null,
severity text not null default 'medium' check (severity in ('low', 'medium', 'high', 'critical')),
tags text[] not null default '{}',
created_at timestamptz not null default now(),
updated_at timestamptz not null default now(),
constraint agent_guardrails_name_unique unique (name)
);
create table if not exists project_skills (
project_id uuid not null references projects(guid) on delete cascade,
skill_id uuid not null references agent_skills(id) on delete cascade,
created_at timestamptz not null default now(),
primary key (project_id, skill_id)
);
create table if not exists project_guardrails (
project_id uuid not null references projects(guid) on delete cascade,
guardrail_id uuid not null references agent_guardrails(id) on delete cascade,
created_at timestamptz not null default now(),
primary key (project_id, guardrail_id)
);
create index if not exists project_skills_project_id_idx on project_skills (project_id);
create index if not exists project_guardrails_project_id_idx on project_guardrails (project_id);