⚠️ ЖЁСТКОЕ ПРАВИЛО: Никогда не редактировать и не удалять эту запись. Только по прямому указанию Николая (id: cmmhc36zh0004nz0pco8ez1zz) и только когда оно касается конкретно этого MindLog.
Action, Conclusion, Context, Correction, Error, Evaluation, Identity, Knowledge, Reaction, Relationship, Result, Stimulus
deprecated, disputed, tentative, unverified, verified
fragment KBConceptFragment on KBConcept {
id
type
name
description
}
fragment KBConceptWithDetailsFragment on KBConcept {
...KBConceptFragment
content
createdAt
updatedAt
}
fragment KBFactFragment on KBFact {
id
type
statement
confidence
importance
status
validFrom
validTo
createdAt
}
fragment KBFactParticipationFragment on KBFactParticipation {
id
factId
conceptId
role
value
impact
localImportance
createdAt
}
fragment KBFactProjectionFragment on KBFactProjection {
id
factId
knowledgeSpaceId
visibility
trustLevel
importance
notes
createdAt
}
fragment TaskFragment on Task {
id
title
description
status
startDatePlaning
endDatePlaning
startDate
endDate
assigneeId
parentId
createdAt
}
fragment TaskWithDetailsFragment on Task {
...TaskFragment
content
updatedAt
}
fragment MindLogFragment on MindLog {
id
type
data
quality
relatedToUserId
createdAt
updatedAt
}
fragment TaskWorkLogFragment on TaskWorkLog {
id
content
taskId
createdAt
}
fragment World3dStatsFragment on World3dStats {
worldName
nodeCount
snapshotCount
}
query world3dStats {
response: world3dStats {
worldName
nodeCount
snapshotCount
}
}
query world3dScene {
response: world3dScene
}
query world3dObjectsMap(
$uuid: String = "root"
) {
response: world3dObjectsMap(
uuid: $uuid
)
}
Параметры:
mutation world3dObjectCreate($data: World3dObjectCreateInput!) {
response: world3dObjectCreate(data: $data)
}
World3dObjectCreateInput:
mutation world3dObjectUpdate(
$where: World3dObjectWhereUniqueInput!
$data: World3dObjectUpdateInput!
) {
response: world3dObjectUpdate(where: $where, data: $data)
}
World3dObjectWhereUniqueInput:
uuid из JSON сцены)World3dObjectUpdateInput:
Примечание: Нативный Three.js объект (matrix, position, rotation, scale, children, userData и т.д.). При update выполняется partial merge — обновляются только переданные свойства, children сохраняются.
mutation world3dObjectDelete($uuid: String!, $cascade: Boolean = false) {
response: world3dObjectDelete(uuid: $uuid, cascade: $cascade)
}
query myConcepts(
$where: KBConceptWhereInput
$orderBy: KBConceptOrderByInput
$skip: Int
$take: Int
$withDetails: Boolean = false
) {
response: myConcepts(
where: $where
orderBy: $orderBy
skip: $skip
take: $take
) {
...KBConceptFragment
... @include(if: $withDetails) {
content
createdAt
updatedAt
}
}
}
KBConceptWhereInput: ids, type, name KBConceptOrderByInput: createdAt, name, type (SortOrder)
mutation createConcept($data: KBConceptCreateInput!) {
response: createConcept(data: $data) {
...KBConceptFragment
}
}
KBConceptCreateInput: name!, type!, description, content
mutation updateConcept($id: String!, $data: KBConceptUpdateInput!) {
response: updateConcept(id: $id, data: $data) {
...KBConceptWithDetailsFragment
}
}
mutation deleteConcept($id: String!) {
response: deleteConcept(id: $id) {
id
}
}
query myFacts(
$where: KBFactWhereInput
$orderBy: KBFactOrderByInput
$skip: Int
$take: Int
) {
response: myFacts(
where: $where
orderBy: $orderBy
skip: $skip
take: $take
) {
...KBFactFragment
}
}
KBFactWhereInput: type (String, НЕ объект!), status, confidence, importance, validFrom, validTo
⚠️ Поля ids НЕ существует в KBFactWhereInput!
⚠️ type передаётся как обычная строка: type: "Claim", НЕ как { equals: "Claim" }
KBFactOrderByInput: createdAt, validFrom, confidence, importance
mutation createFact($data: KBFactCreateInput!) {
response: createFact(data: $data) {
...KBFactFragment
}
}
KBFactCreateInput: type!, statement!, validFrom, validTo, confidence, importance, source, status
mutation updateFact($id: String!, $data: KBFactUpdateInput!) {
response: updateFact(id: $id, data: $data) {
...KBFactFragment
}
}
⚠️ ДОГМА: updateFact использовать ТОЛЬКО для изменения validTo (устаревание факта). НЕЛЬЗЯ менять: statement, confidence, importance, status — это разрушает механизм работы с возражениями и историю. При противоречии → создать новый факт. Анализировать: источник и его достоверность, ошибки в системе оценок.
mutation deleteFact($id: String!) {
response: deleteFact(id: $id) {
id
}
}
Связь факта с концептом. Обязательна при создании фактов, если факт касается конкретных концептов. Один факт может участвовать в нескольких концептах с разными ролями.
query myFactParticipations(
$where: KBFactParticipationWhereInput
$orderBy: KBFactParticipationOrderByInput
$skip: Int
$take: Int
) {
response: myFactParticipations(
where: $where
orderBy: $orderBy
skip: $skip
take: $take
) {
...KBFactParticipationFragment
}
}
KBFactParticipationWhereInput: factId, conceptId, role, impact KBFactParticipationOrderByInput: createdAt, role (SortOrder)
mutation createFactParticipation($data: KBFactParticipationCreateInput!) {
response: createFactParticipation(data: $data) {
...KBFactParticipationFragment
}
}
KBFactParticipationCreateInput: factId!, conceptId!, role!, value, impact, localImportance
mutation updateFactParticipation($id: String!, $data: KBFactParticipationUpdateInput!) {
response: updateFactParticipation(id: $id, data: $data) {
...KBFactParticipationFragment
}
}
KBFactParticipationUpdateInput: role, value, impact, localImportance
mutation deleteFactParticipation($id: String!) {
response: deleteFactParticipation(id: $id)
}
⚠️ Сейчас не использовать — пространство знаний одно (публичное), смысла нет.
query tasks(
$where: TaskWhereInput
$orderBy: TaskOrderByInput
$skip: Int
$take: Int
$withDetails: Boolean = false
) {
response: tasks(where: $where, orderBy: $orderBy, skip: $skip, take: $take) {
...TaskFragment
... @include(if: $withDetails) {
content
updatedAt
}
}
}
TaskWhereInput: status, parentId, incompletedOnly TaskOrderByInput: createdAt (SortOrder)
mutation createTask($data: TaskCreateInput!) {
response: createTask(data: $data) {
...TaskFragment
}
}
TaskCreateInput: title!, description, content, startDatePlaning, endDatePlaning, parentId
mutation updateTask($where: TaskWhereUniqueInput!, $data: TaskUpdateInput!) {
response: updateTask(where: $where, data: $data) {
...TaskWithDetailsFragment
}
}
TaskWhereUniqueInput: id! TaskUpdateInput: title, description, content, status, startDatePlaning, endDatePlaning, startDate, endDate
mutation deleteTask($where: TaskWhereUniqueInput!) {
response: deleteTask(where: $where) {
id
}
}
query mindLogs($where: MindLogWhereInput, $skip: Int, $take: Int) {
response: mindLogs(where: $where, skip: $skip, take: $take) {
...MindLogFragment
}
}
MindLogWhereInput:
mutation createMindLog($data: MindLogCreateInput!) {
response: createMindLog(data: $data) {
...MindLogFragment
}
}
MindLogCreateInput: type!, data!, quality, relatedToUserId
mutation updateMindLog($where: MindLogWhereUniqueInput!, $data: MindLogUpdateInput!) {
response: updateMindLog(where: $where, data: $data) {
...MindLogFragment
}
}
MindLogWhereUniqueInput: id! MindLogUpdateInput: data, quality
mutation deleteMindLog($where: MindLogWhereUniqueInput!) {
response: deleteMindLog(where: $where) {
id
}
}
query taskWorkLogs(
$where: TaskWorkLogWhereInput
$skip: Int
$take: Int
$orderBy: TaskWorkLogOrderByInput
) {
response: taskWorkLogs(
where: $where
skip: $skip
take: $take
orderBy: $orderBy
) {
...TaskWorkLogFragment
}
}
TaskWorkLogWhereInput: taskId TaskWorkLogOrderByInput: createdAt (SortOrder)
mutation createTaskWorkLog($data: TaskWorkLogCreateInput!) {
response: createTaskWorkLog(data: $data) {
...TaskWorkLogFragment
}
}
TaskWorkLogCreateInput: taskId!, content!
mutation deleteTaskWorkLog($where: TaskWorkLogWhereUniqueInput!) {
response: deleteTaskWorkLog(where: $where) {
id
}
}
TaskWorkLogWhereUniqueInput: id!
Под капотом — отдельный ИИ (модель полегче), у которого в контексте вся история вызовов инструментов текущей сессии (параметры + результаты). Запросы можно формулировать в свободной форме на естественном языке. Очень полезен для: восстановления результатов прошлых запросов, поиска ошибок и правильных примеров, анализа паттернов в вызовах.
⚠️ НЕ источник истины — возвращает интерпретацию ИИ, не точные данные. Важные результаты всегда перепроверять отдельным запросом к API.