75 lines
1.4 KiB
YAML
75 lines
1.4 KiB
YAML
types:
|
|
Person:
|
|
required: [name]
|
|
properties:
|
|
name: string
|
|
email: string?
|
|
phone: string?
|
|
notes: string?
|
|
pronouns: string?
|
|
timezone: string?
|
|
|
|
Agent:
|
|
required: [id, name]
|
|
properties:
|
|
id: string
|
|
name: string
|
|
type: enum[dev, legal, planner, assistant]
|
|
workspace: string?
|
|
model: string?
|
|
status: enum[active, inactive, planned]
|
|
|
|
Project:
|
|
required: [name]
|
|
properties:
|
|
name: string
|
|
status: enum[active, paused, done, planned]
|
|
start_date: date?
|
|
folder: string?
|
|
description: string?
|
|
|
|
Service:
|
|
required: [name, url]
|
|
properties:
|
|
name: string
|
|
url: string
|
|
port: int?
|
|
description: string?
|
|
type: string?
|
|
|
|
Skill:
|
|
required: [name]
|
|
properties:
|
|
name: string
|
|
location: string
|
|
shared: boolean
|
|
owner: string?
|
|
|
|
Rule:
|
|
required: [description]
|
|
properties:
|
|
description: string
|
|
scope: string?
|
|
created: datetime
|
|
|
|
relations:
|
|
has_agent:
|
|
from_types: [Project]
|
|
to_types: [Agent]
|
|
cardinality: many_to_many
|
|
|
|
uses_service:
|
|
from_types: [Project, Agent]
|
|
to_types: [Service]
|
|
cardinality: many_to_many
|
|
|
|
has_skill:
|
|
from_types: [Agent, Project]
|
|
to_types: [Skill]
|
|
cardinality: many_to_many
|
|
|
|
knows_rule:
|
|
from_types: [Agent]
|
|
to_types: [Rule]
|
|
cardinality: many_to_many
|