auto-sync: 2026-04-18 09:50:01
This commit is contained in:
@@ -90,3 +90,6 @@
|
||||
{"op":"create","entity":{"id":"proj_kids_helper","type":"Project","properties":{"title":"Детский помощник — агент для родителей","description":"Персональный помощник по вопросам ребёнка: одежда, обувь, игрушки, обучение, события. Отдельный Telegram-бот, изолированная память. Workspace: workspace-kids. ТЗ: tasks/kids-helper/TZ.md.","status":"todo","priority":"medium","created":"2026-04-12T16:54:00Z","labels":["agent","kids","telegram"],"path":"tasks/kids-helper/"},"created":"2026-04-12T16:54:00Z"}}
|
||||
{"op":"create","entity":{"id":"proj_bytik","type":"Project","properties":{"title":"Байтик — детский ИИ-помощник","description":"Telegram-бот Байтик: ИИ-помощник для Егора (8 лет, ДР 17.04.2018). Отвечает на вопросы, утренняя рассылка 7:30 MSK с энциклопедическими фактами, поздравления с праздниками. Строгая детская цензура. LLM: Qwen 3.6-Plus. Инфраструктура: mva154, изолированный workspace.","status":"planned","created":"2026-04-14T21:55:00Z","path":"tasks/bytik/","labels":["agent","telegram","kids","ai"]},"created":"2026-04-14T21:55:00Z"}}
|
||||
{"op":"create","entity":{"id":"proj_bytik","type":"Project","properties":{"title":"Байтик — детский ИИ-помощник","description":"Telegram-бот Байтик для Егора (8 лет). MVP работает (14.04.2026).","status":"active","created":"2026-04-14T21:55:00Z","path":"tasks/bytik/","labels":["agent","telegram","kids","ai"]},"created":"2026-04-14T21:55:00Z"}}
|
||||
{"op": "update", "id": "proj_reminders", "properties": {"name": "Reminders — система напоминаний"}, "timestamp": "2026-04-18T06:47:22.246054+00:00"}
|
||||
{"op": "update", "id": "proj_kids_helper", "properties": {"name": "Детский помощник — агент для родителей"}, "timestamp": "2026-04-18T06:47:22.246054+00:00"}
|
||||
{"op": "update", "id": "proj_bytik", "properties": {"name": "Байтик — детский ИИ-помощник"}, "timestamp": "2026-04-18T06:47:22.246054+00:00"}
|
||||
|
||||
@@ -5,10 +5,20 @@ types:
|
||||
name: string
|
||||
email: string?
|
||||
phone: string?
|
||||
organization: ref(Organization)?
|
||||
notes: string?
|
||||
tags: string[]?
|
||||
pronouns: string?
|
||||
timezone: string?
|
||||
|
||||
Organization:
|
||||
required: [name]
|
||||
properties:
|
||||
name: string
|
||||
type: enum(company, team, community, government, other)?
|
||||
website: url?
|
||||
members: ref(Person)[]?
|
||||
|
||||
Agent:
|
||||
required: [id, name]
|
||||
properties:
|
||||
@@ -23,38 +33,175 @@ types:
|
||||
required: [name]
|
||||
properties:
|
||||
name: string
|
||||
status: enum[active, paused, done, planned]
|
||||
description: string?
|
||||
status: enum(planning, active, paused, completed, archived)
|
||||
owner: ref(Person)?
|
||||
team: ref(Person)[]?
|
||||
goals: ref(Goal)[]?
|
||||
start_date: date?
|
||||
end_date: date?
|
||||
folder: string?
|
||||
description: string?
|
||||
tags: string[]?
|
||||
|
||||
Service:
|
||||
required: [name, url]
|
||||
Task:
|
||||
required: [title, status]
|
||||
properties:
|
||||
name: string
|
||||
url: string
|
||||
port: int?
|
||||
title: string
|
||||
description: string?
|
||||
type: string?
|
||||
status: enum(open, in_progress, blocked, done, cancelled)
|
||||
priority: enum(low, medium, high, urgent)?
|
||||
assignee: ref(Person)?
|
||||
project: ref(Project)?
|
||||
due: datetime?
|
||||
estimate_hours: number?
|
||||
blockers: ref(Task)[]?
|
||||
tags: string[]?
|
||||
|
||||
Skill:
|
||||
required: [name]
|
||||
properties:
|
||||
name: string
|
||||
location: string
|
||||
shared: boolean
|
||||
owner: string?
|
||||
|
||||
Rule:
|
||||
Goal:
|
||||
required: [description]
|
||||
properties:
|
||||
description: string
|
||||
scope: string?
|
||||
target_date: date?
|
||||
status: enum(active, achieved, abandoned)?
|
||||
metrics: object[]?
|
||||
key_results: string[]?
|
||||
|
||||
Event:
|
||||
required: [title, start]
|
||||
properties:
|
||||
title: string
|
||||
description: string?
|
||||
start: datetime
|
||||
end: datetime?
|
||||
location: ref(Location)?
|
||||
attendees: ref(Person)[]?
|
||||
recurrence: object?
|
||||
status: enum(confirmed, tentative, cancelled)?
|
||||
reminders: object[]?
|
||||
|
||||
Location:
|
||||
required: [name]
|
||||
properties:
|
||||
name: string
|
||||
address: string?
|
||||
city: string?
|
||||
country: string?
|
||||
coordinates: object?
|
||||
timezone: string?
|
||||
|
||||
Document:
|
||||
required: [title]
|
||||
properties:
|
||||
title: string
|
||||
path: string?
|
||||
url: url?
|
||||
mime_type: string?
|
||||
summary: string?
|
||||
content_hash: string?
|
||||
tags: string[]?
|
||||
|
||||
Message:
|
||||
required: [content, sender]
|
||||
properties:
|
||||
content: string
|
||||
sender: ref(Person)
|
||||
recipients: ref(Person)[]
|
||||
thread: ref(Thread)?
|
||||
timestamp: datetime
|
||||
platform: string?
|
||||
external_id: string?
|
||||
|
||||
Thread:
|
||||
required: [subject]
|
||||
properties:
|
||||
subject: string
|
||||
participants: ref(Person)[]
|
||||
messages: ref(Message)[]
|
||||
status: enum(active, archived)?
|
||||
last_activity: datetime?
|
||||
|
||||
Note:
|
||||
required: [content]
|
||||
properties:
|
||||
content: string
|
||||
title: string?
|
||||
tags: string[]?
|
||||
refs: ref(Entity)[]?
|
||||
created: datetime
|
||||
|
||||
Account:
|
||||
required: [service, username]
|
||||
properties:
|
||||
service: string
|
||||
username: string
|
||||
url: url?
|
||||
credential_ref: ref(Credential)?
|
||||
|
||||
Device:
|
||||
required: [name, type]
|
||||
properties:
|
||||
name: string
|
||||
type: enum(computer, phone, tablet, server, iot, other)
|
||||
os: string?
|
||||
identifiers: object?
|
||||
owner: ref(Person)?
|
||||
|
||||
Credential:
|
||||
required: [service, secret_ref]
|
||||
forbidden_properties: [password, secret, token, key, api_key]
|
||||
properties:
|
||||
service: string
|
||||
secret_ref: string
|
||||
expires: datetime?
|
||||
scope: string[]?
|
||||
|
||||
Action:
|
||||
required: [type, target, timestamp]
|
||||
properties:
|
||||
type: string
|
||||
target: ref(Entity)
|
||||
timestamp: datetime
|
||||
actor: ref(Person|Agent)?
|
||||
outcome: enum(success, failure, pending)?
|
||||
details: object?
|
||||
|
||||
Policy:
|
||||
required: [scope, rule]
|
||||
properties:
|
||||
scope: string
|
||||
rule: string
|
||||
enforcement: enum(block, warn, log)
|
||||
enabled: boolean
|
||||
|
||||
relations:
|
||||
has_agent:
|
||||
owns:
|
||||
from_types: [Person, Organization]
|
||||
to_types: [Account, Device, Document, Project]
|
||||
cardinality: one_to_many
|
||||
|
||||
has_owner:
|
||||
from_types: [Project, Task, Document]
|
||||
to_types: [Person]
|
||||
cardinality: many_to_one
|
||||
|
||||
assigned_to:
|
||||
from_types: [Task]
|
||||
to_types: [Person]
|
||||
cardinality: many_to_one
|
||||
|
||||
has_task:
|
||||
from_types: [Project]
|
||||
to_types: [Task]
|
||||
cardinality: one_to_many
|
||||
|
||||
depends_on:
|
||||
from_types: [Task]
|
||||
to_types: [Task]
|
||||
cardinality: many_to_many
|
||||
acyclic: true
|
||||
|
||||
has_agent:
|
||||
from_types: [Project, Task, Person]
|
||||
to_types: [Agent]
|
||||
cardinality: many_to_many
|
||||
|
||||
|
||||
Reference in New Issue
Block a user