Some checks failed
CI / build-and-test (push) Failing after -29m56s
- Added language_tags, library_tags, framework_tags, and domain_tags to agent skills. - Introduced new commands: get_skill and get_guardrail for fetching specific skills and guardrails. - Updated database schema and migration scripts to accommodate new fields. - Enhanced skill listing functionality to support filtering by new tags. - Improved error handling and response structures for skill-related operations.
57 lines
1.8 KiB
Plaintext
57 lines
1.8 KiB
Plaintext
Table agent_skills {
|
|
id bigserial [pk]
|
|
guid uuid [unique, not null, default: `gen_random_uuid()`]
|
|
name text [unique, not null]
|
|
description text [not null, default: '']
|
|
content text [not null]
|
|
tags "text[]" [not null, default: `'{}'`]
|
|
language_tags "text[]" [not null, default: `'{}'`]
|
|
library_tags "text[]" [not null, default: `'{}'`]
|
|
framework_tags "text[]" [not null, default: `'{}'`]
|
|
domain_tags "text[]" [not null, default: `'{}'`]
|
|
created_at timestamptz [not null, default: `now()`]
|
|
updated_at timestamptz [not null, default: `now()`]
|
|
}
|
|
|
|
Table agent_guardrails {
|
|
id bigserial [pk]
|
|
guid uuid [unique, not null, default: `gen_random_uuid()`]
|
|
name text [unique, not null]
|
|
description text [not null, default: '']
|
|
content text [not null]
|
|
severity text [not null, default: 'medium']
|
|
tags "text[]" [not null, default: `'{}'`]
|
|
created_at timestamptz [not null, default: `now()`]
|
|
updated_at timestamptz [not null, default: `now()`]
|
|
}
|
|
|
|
Table project_skills {
|
|
id bigserial [pk]
|
|
project_id bigint [not null, ref: > projects.id]
|
|
skill_id bigint [not null, ref: > agent_skills.id]
|
|
created_at timestamptz [not null, default: `now()`]
|
|
|
|
indexes {
|
|
(project_id, skill_id) [pk]
|
|
project_id
|
|
}
|
|
}
|
|
|
|
Table project_guardrails {
|
|
id bigserial [pk]
|
|
project_id bigint [not null, ref: > projects.id]
|
|
guardrail_id bigint [not null, ref: > agent_guardrails.id]
|
|
created_at timestamptz [not null, default: `now()`]
|
|
|
|
indexes {
|
|
(project_id, guardrail_id) [pk]
|
|
project_id
|
|
}
|
|
}
|
|
|
|
// Cross-file refs (for relspecgo merge)
|
|
Ref: project_skills.project_id > projects.id [delete: cascade]
|
|
Ref: project_skills.skill_id > agent_skills.id [delete: cascade]
|
|
Ref: project_guardrails.project_id > projects.id [delete: cascade]
|
|
Ref: project_guardrails.guardrail_id > agent_guardrails.id [delete: cascade]
|