Перейти к содержанию

Схема пакета

Справочник полей всех файлов пакета: обёртка объекта, каждый вид каталога, тесты пакета, фиксация источников packages.lock, план установки и экраны. Таблицы построены из JSON Schema sdk/package-sdk/schema/v1 и повторяют её поле в поле. Статья для авторов пакетов; как этим пользоваться, объясняют Анатомия пакета, Процессы, Выражения и Тесты пакета.

Схема — первая ступень проверки

Схема проверяет форму описания. Вторую ступень — ссылки между объектами, типы выражений, неизвестные поля данных, достижимость шагов, пробелы таблиц решений — выполняют package-sdk check и валидаторы ядра (см. Тесты пакета).

Подключить схему к редактору — строка в начале файла объекта:

# yaml-language-server: $schema=<путь к schema/v1/object.schema.json>

Как читать таблицы: «Тип» — тип JSON или ссылка на определение ниже; array of — массив, map → — объект с произвольными ключами; «Условия» — поля, которые обязательны или меняют форму при значении другого поля.

Обёртка объекта

Каждый файл объекта пакета — package.yaml, файлы видов каталога и установка — одна обёртка apiVersion + kind + key + spec. Тип ключа и форма spec зависят от вида (таблица «Условия»).

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

object

One wrapper for the manifest and every catalog kind: apiVersion + kind + key + spec. spec is the control-plane API request body in camelCase without the identity field. The schema checks the shape; the final check is done by the core (and by package-sdk check with its validators).

Поле Тип Обязательно Описание
apiVersion = taimen.ai/v1 да
kind Package | Installation | ArtifactType | TaskType | ProjectTemplate | WorkspaceType | Role | Capability | ConnectionType | Skill | WorkRule | Agent | NotificationRule | Process | Calendar | KnowledgePack да
key string да
spec object да

Условия:

Условие Следствие
kind = Package key: typeKey; spec: packageSpec
kind = Installation spec: installationSpec
kind = ArtifactType key: typeKey; spec: artifactTypeSpec
kind = TaskType key: typeKey; spec: taskTypeSpec
kind = ProjectTemplate key: typeKey; spec: projectTemplateSpec
kind = WorkspaceType key: typeKey; spec: workspaceTypeSpec
kind = Role key: slug; spec: roleSpec
kind = Capability spec: capabilitySpec
kind = ConnectionType key: connectionKey; spec: connectionTypeSpec
kind = Skill spec: skillSpec
kind = WorkRule key: ruleKey; spec: workRuleSpec
kind = Agent key: slug; spec: agentSpec
kind = NotificationRule key: ruleKey; spec: notificationRuleSpec
kind = Process key: typeKey; spec: processSpec
kind = KnowledgePack key: string; spec: knowledge-pack
kind = Calendar key: typeKey; spec: calendarSpec

Манифест пакета (kind: Package)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

packageSpec

Поле Тип Обязательно Описание
version string да Package SemVer
displayName displayName да
description string
requires array of typeKey или объект {package, version} Packages whose objects this package refers to: a key (any version) or {package, version} with a SemVer range
engines map → semverRange Version ranges of the components the package is tested against, e.g. {control-plane: ">=0.9,<0.11"}; check and plan reject an incompatible version before writing
variables map → packageVariable Declaration of every ${NAME} of the package. A used variable must be declared, a declared one must be used. There are no secrets in a package: a variable has no secret field
knowledge array of string Ontologies (name@major) the package's processes and rules rely on; check matches them against recall/remember/memory of the processes
license string Package license (SPDX identifier)
authors array of string
homepage string
renames array of объект Explicit object renames (like moved in Terraform): the plan moves the object instead of deleting and creating it
settings packageSettings

packageSpec.requires[] (2)

Поле Тип Обязательно Описание
package typeKey да
version semverRange

packageSpec.renames[]

Поле Тип Обязательно Описание
kind string да
from string да
to string да

semverRange

Version range: comma-separated conditions, all must hold (>=0.9,<0.11); operators >=, >, <=, <, =, ^, ~; without an operator, a version or prefix (1.2 = 1.2.x); * means any

Значение: string.

packageVariable

Поле Тип Обязательно Описание
description string да
kind url | workspace | project | principal | role | string | integer да Value kind: url is an absolute URL; workspace|project|principal|role is a UUID existing on the environment (checked by plan); integer is an integer; string is anything
required boolean По умолчанию true.
default string Value used if the installation did not set its own
example string

packageSettings

Package settings: values an organization administrator changes in the live system without a new package version or an installation plan. Values live in the core; processes, work rules and views read them as settings.<field>

Поле Тип Обязательно Описание
schema settingsSchema да
uischema settingsUiElement Form layout: the closed subset of JSON Forms the console renders — VerticalLayout, HorizontalLayout, Group, Control and Label with SHOW/HIDE/ENABLE/DISABLE rules; anything else, options of a Control included, is rejected. Labels are keys of the package dictionaries, not texts: label of a Group and of a Control, text of a Label. Unlike the uischema of process step forms, which is open and whose label is a text. Without it the console lays the fields out in schema order

settingsSchema

Schema of the settings: a subset of JSON Schema, as for process data. The root is an object; objects nest at most 3 levels deep; at most 100 properties per object. Field labels are not in the schema: they are keys <package>.settings.<path> of the package dictionaries

Поле Тип Обязательно Описание
type = object да
properties map → settingsField1 да
required settingsRequired
additionalProperties = false Implied on every object: a value with an undeclared member is refused

settingsFieldName

Field name: camelCase, as referenced in expressions (settings.<field>)

Значение: string.

settingsField1

Включает settingsKeywords.

Поле Тип Обязательно Описание
properties любое
items settingsField2

settingsKeywords

One settings field: only the keywords listed here; secret markers (writeOnly, format: password) and keywords outside the subset are rejected

Поле Тип Обязательно Описание
type string | integer | number | boolean | array | object да
properties object
required settingsRequired
additionalProperties = false
enum array of settingsScalar
minimum number
maximum number
minLength integer
maxLength integer
pattern string ECMA-262 regular expression
format date | uri | email | uuid
items object
minItems integer
maxItems integer
default любое Value in effect until an administrator saves another; every optional field must have one (package-sdk check)
x-ref role | principal | workspace | calendar | taskType The string references a platform object of this kind in the organization: the id of a role, principal or workspace, the key of a task type or calendar; the core rejects a value that references a missing object

Условия:

Условие Следствие
type = object обязательно properties
иначе properties: не допускается; required: не допускается; additionalProperties: не допускается
type = array обязательно items
иначе items: не допускается; minItems: не допускается; maxItems: не допускается
иначе minLength: не допускается; maxLength: не допускается; pattern: не допускается; format: не допускается; x-ref: не допускается
иначе minimum: не допускается; maximum: не допускается

settingsRequired

Fields that must always have a value

Значение: array of settingsFieldName.

settingsScalar

Значение: string | integer | number | boolean.

settingsField2

Включает settingsKeywords.

Поле Тип Обязательно Описание
properties любое
items settingsField3

settingsField3

The deepest level: a scalar field or an array of scalars, no nested objects

Включает settingsKeywords.

Поле Тип Обязательно Описание
type string | integer | number | boolean | array
items settingsKeywords

settingsUiElement

Element of the settings form: VerticalLayout, HorizontalLayout, Group, Control or Label. Other JSON Forms elements (Categorization, ListWithDetail, custom renderers) are not rendered by the console and are rejected

Поле Тип Обязательно Описание
type VerticalLayout | HorizontalLayout | Group | Control | Label да

Условия:

Условие Следствие
type ∈ VerticalLayout, HorizontalLayout обязательно elements; elements: settingsUiElements; rule: settingsUiRule
type = Group обязательно label, elements; label: settingsLabelKey; elements: settingsUiElements; rule: settingsUiRule
type = Control обязательно scope; scope: settingsScope; label: settingsLabelKey; rule: settingsUiRule
type = Label обязательно text; text: settingsLabelKey; rule: settingsUiRule

settingsUiElements

Значение: array of settingsUiElement.

settingsUiRule

JSON Forms rule: the effect applies while the value at condition.scope matches condition.schema

Поле Тип Обязательно Описание
effect SHOW | HIDE | ENABLE | DISABLE да
condition объект да

settingsUiRule.condition

Поле Тип Обязательно Описание
scope settingsScope да
schema объект да Condition on the value: the keywords of a settings field without x-ref and default, and const
failWhenUndefined boolean

settingsUiRule.condition.schema

Condition on the value: the keywords of a settings field without x-ref and default, and const

Поле Тип Обязательно Описание
type string | integer | number | boolean | array | object
const settingsScalar
enum array of settingsScalar
minimum number
maximum number
minLength integer
maxLength integer
pattern string
format date | uri | email | uuid
minItems integer
maxItems integer

settingsScope

JSON Pointer to a property of the settings schema: #/properties/<field>[/properties/<field>…]

Значение: string.

settingsLabelKey

Key of the package dictionaries (<package>.settings.<name>), not the text: the console shows its string in the user's language

Значение: string.

Установка (kind: Installation)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

installationSpec

Поле Тип Обязательно Описание
packages array of packageSource да Installation packages: a key (installation catalog), {key, path} or {key, git, ref}; requires are pulled in automatically. Empty means only the core's system task type
packagesDir string Installation packages directory relative to the installation file; defaults to packages/ next to it
knowledge array of объект Ontology inclusion for work spaces is topology, hence in the installation; the set replaces the previous one entirely
retire объект Keys the environment retires (all active versions → deprecated)

installationSpec.knowledge[]

Поле Тип Обязательно Описание
workspace string да Installation ${VARIABLE} or UUID
packs array of string да
strict boolean Strict memory mode: records outside the included kinds are rejected rather than accepted as is. По умолчанию false.

installationSpec.retire

Keys the environment retires (all active versions → deprecated)

Поле Тип Обязательно Описание
TaskType array of typeKey
ProjectTemplate array of typeKey
Agent array of slug The agent is retired: the executor is stopped, the credential revoked, the history kept
NotificationRule array of ruleKey The notification rule is retired in the notification service (:retire); sent notifications remain
WorkRule array of ruleKey The work rule is archived; work it created lives on
Process array of typeKey The process is retired via the core's :retire route: new instances do not start, live ones run to completion
Calendar array of typeKey A calendar is retired only if no active process refers to it (calendar_in_use)
ConnectionType array of connectionKey Every active version of the connection type becomes deprecated: no new connections of the type, existing ones keep working

packageSource

Значение: typeKey или объект {key, path} или объект {key, git, ref, path}.

packageSource (2)

Поле Тип Обязательно Описание
key typeKey да
path string да Package directory path relative to the installation file

packageSource (3)

Поле Тип Обязательно Описание
key typeKey да
git string да https://host/path without credentials in the address, or git@host:path; access through the git credential helper
ref string да Package release tag (refs/tags/<ref>; branches and commits are not accepted); packages.lock keeps it reproducible
path string Package subdirectory in the repository if it is not at the root: a relative path without . and ..

Тип артефакта (kind: ArtifactType)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

artifactTypeSpec

Artifact type: a versioned immutable catalog object, like TaskType.

Поле Тип Обязательно Описание
displayName displayName да
description string
metadataSchema jsonSchema Metadata schema of artifacts of this type (≤ 16 KiB)
mediaTypes array of mediaType Allowed content media types; any by default
maxBytes integer Content size limit; no more than the installation's global limit (CP_ARTIFACT_MAX_BYTES)

Тип задачи (kind: TaskType)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

taskTypeSpec

Поле Тип Обязательно Описание
displayName displayName да
description string
fieldSchema jsonSchema Task customFields schema
lifecycleSchema workItemLifecycle да
execution execution
approvalSchema approvalSchema
completionSchema object Work after the task completes: {onComplete: {when?, actions}}: ensureWork (customFields, relation, requestApproval) and comment. The core checks the grammar.
instructions string Instructions for the executor: Markdown ≤ 16 KiB, the task type layer after the platform and project contract. The core checks the size in bytes and the absence of secrets.
artifactSchema artifactSchema
executorRoles array of slug Keys of the roles a person needs to take work of this type: a Role of the package, its requires or the tenant. Absent or empty — people are not restricted. The core refuses a role the tenant does not have (422 unknown_role).
acceptance array of acceptanceCriterion Default acceptance criteria for all tasks of the type: run after the required outputs and before the task's own criteria; a task cannot replace a type criterion, its criterion with the same key is rejected (422). deterministic with an external_write skill only after human in the same attempt.
contextSchema объект Task context profile: anchors, traverse, asOf, budgetTokens. The core checks the grammar.

taskTypeSpec.contextSchema

Task context profile: anchors, traverse, asOf, budgetTokens. The core checks the grammar.

Поле Тип Обязательно Описание
anchors array of любое
traverse array of любое
asOf taskCreated | now | origin
budgetTokens integer

workItemLifecycle

Включает lifecycle.

Поле Тип Обязательно Описание
statuses array of объект
claimStatus statusKey Status on claim; not terminal
releaseStatus statusKey Status on release; not terminal
completionStatus statusKey Successful completion status; category terminal_success

workItemLifecycle.statuses[]

Поле Тип Обязательно Описание
category workItemCategory

workItemCategory

Значение: backlog | active | blocked | terminal_success | terminal_cancelled.

execution

A task of this type is executed by one skill call

Поле Тип Обязательно Описание
skill string да
version string да
inputs string или map → string $.… path to the whole input or an object {inputName: path}; defaults to $.customFields

approvalSchema

Поле Тип Обязательно Описание
gates map → объект Only the default gate is supported for now

approvalSchema.gates.*

Поле Тип Обязательно Описание
outcomes объект да

approvalSchema.gates.*.outcomes

Поле Тип Обязательно Описание
approved array of outcomeAction
rejected array of outcomeAction

outcomeAction

One approval outcome action: an object with exactly one key. In strings, $.path expressions; the ! suffix makes the value required.

Поле Тип Обязательно Описание
ensureWork объект
completeTask объект
comment объект
transition объект
invokeSkill объект Skill call; reactions run on the call's outcome

outcomeAction.ensureWork

Поле Тип Обязательно Описание
type string да Task type key
key string да Idempotency key of the created work
title string да
description string
assignee string
priority string
workspace string
relation map → string
customFields map → string Fields of the created task: expressions/templates; checked against the target type's fieldSchema at execution
requestApproval объект Gate approval on the task just created

outcomeAction.ensureWork.requestApproval

Gate approval on the task just created

Поле Тип Обязательно Описание
assignee string да Principal id or role:<slug>, a role declared by the package (its holder decides); an expression or template
comment string

outcomeAction.completeTask

Поле Тип Обязательно Описание
task string

outcomeAction.comment

Поле Тип Обязательно Описание
body string да
task string

outcomeAction.transition

Поле Тип Обязательно Описание
status string да
task string

outcomeAction.invokeSkill

Skill call; reactions run on the call's outcome

Поле Тип Обязательно Описание
skill string да name@version (required with a version for external_write)
inputs object skill inputs; strings are $.task…, $.spawnedBy…, $.approval… expressions
expect object expected outputs fields; a mismatch triggers onFailure
onSuccess array of outcomeAction
onFailure array of outcomeAction

artifactSchema

Task type inputs and outputs. An input is the head revisions of artifacts of the required type on tasks via a relation; without a required input, claim is rejected (409 input_missing). A required output is a deterministic criterion of the verification stage.

Поле Тип Обязательно Описание
inputs array of объект
outputs array of объект

artifactSchema.inputs[]

Включает artifactSlot.

Поле Тип Обязательно Описание
key любое
type любое
required любое
from depends_on | spawned_by | parent да Relation used to find the source task

artifactSchema.outputs[]

Включает artifactSlot.

Поле Тип Обязательно Описание
key любое
type любое
required любое
mediaTypes любое
content required | optional Whether the content must be in storage (otherwise a reference is enough). По умолчанию required.

artifactSlot

Поле Тип Обязательно Описание
key string да Input or output name; unique within inputs and within outputs
type typeKey да Artifact type key (ArtifactType)
required boolean По умолчанию false.
mediaTypes array of mediaType Narrowing of the artifact type's media types (a subset of its mediaTypes)

acceptanceCriterion

Acceptance criterion: the core checks the spec grammar per kind

Поле Тип Обязательно Описание
key string да
kind deterministic | external_state | human | llm_judge да
description string да
spec object
when array of string $.task… paths; the criterion runs only if all are non-empty, otherwise skipped

Шаблон проекта (kind: ProjectTemplate)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

projectTemplateSpec

Поле Тип Обязательно Описание
displayName displayName да
description string
fieldSchema jsonSchema
lifecycleSchema projectLifecycle
defaultConfig объект
defaultViews array of любое
governanceSchema объект
memoryDefaults object

projectTemplateSpec.defaultConfig

Поле Тип Обязательно Описание
settings object
views array of любое
governance object
memory object
inheritance object

projectTemplateSpec.governanceSchema

Поле Тип Обязательно Описание
maxAutonomyLevel любое
requireApprovalForRun boolean
requireApprovalForCompletion boolean
allowedTaskPriorities array of string
allowedSkillProtocols array of string
maxRunDurationSeconds number
maxRunActions number
maxConcurrentRuns number
memoryScopeSharing любое

projectLifecycle

Включает lifecycle.

Поле Тип Обязательно Описание
statuses array of объект

projectLifecycle.statuses[]

Поле Тип Обязательно Описание
category projectCategory

projectCategory

Значение: planned | active | paused | terminal_success | terminal_cancelled.

Тип пространства работы (kind: WorkspaceType)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

workspaceTypeSpec

Поле Тип Обязательно Описание
displayName displayName да
description string
fieldSchema jsonSchema
allowedChildTypes array of string

Роль (kind: Role)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

roleSpec

Поле Тип Обязательно Описание
name displayName да
description string

Способность (kind: Capability)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

capabilitySpec

Поле Тип Обязательно Описание
description string

Тип подключения (kind: ConnectionType)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

connectionTypeSpec

Connection type: what it takes to connect a system of this kind. Versions work as for Skill: the package sets the version, and a published (key, version) pair is immutable. A type carries no secret values: an administrator enters them in the console.

Поле Тип Обязательно Описание
version integer да The package sets the version of the type; a published version is immutable
displayName displayName да
description string
auth array of oauth2 | token да Ways to connect: oauth2 — a person consents at the provider, token — a long-lived key an administrator pastes
oauth2 объект
accountField объект Account field: its label in the key form and the account check; required with token or with {account} in tokenUrlTemplate
settingsSchema объект да JSON Schema (draft 2020-12) of the connection's non-secret settings, root type: object. Properties named like secrets (password, token, clientSecret…) are refused
defaultKey connectionKey да Key of the default connection — the agents of the package name it in Agent.spec.connections

Условия:

Условие Следствие
всегда обязательно oauth2
всегда обязательно accountField
всегда обязательно accountField; oauth2:

connectionTypeSpec.oauth2

Поле Тип Обязательно Описание
authorizeUrl string (uri) да Where a person is sent to consent
tokenUrlTemplate string да Address of the code exchange and refresh; the only placeholder is {account}, the host is an external DNS name
accountParam string Callback parameter that names the account; required when tokenUrlTemplate has
authStyle in_params | in_header да How the client id and secret go to the exchange address: in the request body or as Authorization: Basic
scopes array of string да Requested permissions

connectionTypeSpec.accountField

Account field: its label in the key form and the account check; required with token or with {account} in tokenUrlTemplate

Поле Тип Обязательно Описание
title string да
description string
pattern string да Regular expression the whole account matches

connectionTypeSpec.settingsSchema

JSON Schema (draft 2020-12) of the connection's non-secret settings, root type: object. Properties named like secrets (password, token, clientSecret…) are refused

Включает jsonSchema.

Поле Тип Обязательно Описание
type = object да

Скилл (kind: Skill)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

skillSpec

Поле Тип Обязательно Описание
version string да The package sets the skill version
description string
protocol mcp | http | local | opencode | custom
config object
inputSchema jsonSchema
outputSchema jsonSchema
sideEffects none | external_read | external_write
riskLevel low | medium | high
contract skillContract

skillContract

Skill v1 contract. Immutable within a version.

Поле Тип Обязательно Описание
inputs jsonSchema да
outputs jsonSchema да
requiredPermissions array of string
preconditions array of любое
postconditions array of любое
timeoutSeconds integer
retryPolicy объект
idempotency required | natural | none
costModel объект
implementation объект да

skillContract.retryPolicy

Поле Тип Обязательно Описание
maxAttempts integer
backoffSeconds integer

skillContract.costModel

Поле Тип Обязательно Описание
unit string да
estimate number

skillContract.implementation

Поле Тип Обязательно Описание
protocol http | local | mcp да
endpoint string http: address; allows an environment ${VARIABLE}
entrypoint string local: module:function; mcp: tool name
auth object audience or secretRef; no secrets

Правило вывода работы (kind: WorkRule)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

workRuleSpec

Work rule: exactly the POST /rules body without key. The core checks the grammar of conditions and templates (normalize_rule_spec). workspaceId is installation topology: only via a ${VARIABLE}, set on creation and not changed afterwards.

Поле Тип Обязательно Описание
description string
workspaceId string
trigger объект да
condition object | boolean
interpretation объект
action объект да
identity объект On whose behalf the rule acts: an agent description of kind service or agent; without identity, with the authority of whoever applied the rule
status enabled | disabled enabled by default

workRuleSpec.trigger

Поле Тип Обязательно Описание
kind observation | event | schedule да
agent string Only with observation: the observation matches when its author is the principal of this agent. An agent key or an installation ${VARIABLE} — a neutral package does not know the provider's agent

workRuleSpec.interpretation

Поле Тип Обязательно Описание
skill string да name@version
inputs object

workRuleSpec.action

Поле Тип Обязательно Описание
kind ensure_work | update_work | cancel_work | complete_work | request_decision да
taskType string Type key or a {{item.…}} template; a template only with non-empty taskTypes
taskTypes array of typeKey Allowed types for a templated taskType; with complete_work and cancel_work with target: task — the types the rule may close
target dedup | task Only with complete_work and cancel_work: dedup — the work under the rule's key (the default), task — the task the triggering observation is bound to; needs taskTypes and an author filter trigger.agent or trigger.actorId
fields объект

workRuleSpec.action.fields

Поле Тип Обязательно Описание
workspaceId string Template of the workspace id of the created work; defaults to the rule's workspace
relations объект Relations of the created work: spawnedBy is a task id template; dependsOn are deduplication keys of this rule's work (from the same evaluation or created earlier)

workRuleSpec.action.fields.relations

Relations of the created work: spawnedBy is a task id template; dependsOn are deduplication keys of this rule's work (from the same evaluation or created earlier)

Поле Тип Обязательно Описание
spawnedBy string
dependsOn string или array of string

workRuleSpec.identity

On whose behalf the rule acts: an agent description of kind service or agent; without identity, with the authority of whoever applied the rule

Поле Тип Обязательно Описание
agent slug да

Агент (kind: Agent)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

agentSpec

Agent: who it is, what work it takes, with what and how it executes, where it is placed. Every change is a new immutable revision in the core; a run remembers its revision.

Поле Тип Обязательно Описание
displayName displayName да
description string
identity объект да Identity: the core and IAM principal and its binding to permissions, created and maintained by the platform. Permissions are no broader than those of whoever applies the description.
work объект What work the agent takes from the queue
executor объект What the agent executes work with. The kind is data (a string for the core); the default image is chosen by the node, an image from the description only from the node's list.
workingCopy object Task working copy. Interpreted by the executor daemon, the core stores the object as data; the shape is set by the executor kind: shapes per kind are in agentWorkingCopies: for the code executor kind, one repository or a catalog with a task field, for other kinds, one repository
skills объект Which skills the agent executes itself and where they may connect
placement = none или объект — по условию Where and how many: none means identity only, without a process (service account)
state running | stopped По умолчанию running.
connections array of connectionKey Keys of the tenant's connections whose access material the agent may read. Whether such a connection exists is not checked on publish; a non-empty list needs connections.manage of whoever applies it

Условия:

Условие Следствие
не (placement = none) обязательно executor
executor.kind = claude-code workingCopy: agentWorkingCopies/claude-code
иначе workingCopy: agentWorkingCopies/single

agentSpec.identity

Identity: the core and IAM principal and its binding to permissions, created and maintained by the platform. Permissions are no broader than those of whoever applies the description.

Поле Тип Обязательно Описание
kind agent | service да
roles array of slug Tenant roles (from packages)
permissions array of permission
capabilities array of string
iam объект IAM part of the account: audiences and the scope ceiling. Data for whoever issues the account (bootstrap, executor node controller); the core stores it but does not interpret it.

agentSpec.identity.iam

IAM part of the account: audiences and the scope ceiling. Data for whoever issues the account (bootstrap, executor node controller); the core stores it but does not interpret it.

Поле Тип Обязательно Описание
audiences array of string да
scopeCeiling array of string да Scope <audience>:<action>, segments may be dotted (control-plane:read, iam:identities.link)

agentSpec.work

What work the agent takes from the queue

Поле Тип Обязательно Описание
workspace envOrUuid
project envOrUuid
includeSubprojects boolean По умолчанию false.
onlyAssigned boolean Only work assigned to it. По умолчанию true.
taskTypes array of typeKey Empty means any types

agentSpec.executor

What the agent executes work with. The kind is data (a string for the core); the default image is chosen by the node, an image from the description only from the node's list.

Поле Тип Обязательно Описание
kind claude-code | codex | skills | git-connector | observer да
params object
image string Executor image: [registry[:port]/]path:tag, …@sha256:<64 hex> or …:tag@sha256:<64 hex>; a tag or digest is required. The node runs it only if the image is in the node's executors.<kind>.images list, otherwise image_not_allowed; without the field, the kind's default image
instructions string Instructions for the executor: a layer after the platform, project and task type instructions

Условия:

Условие Следствие
kind = claude-code params: agentExecutors/claude-code
kind = codex params: agentExecutors/codex
kind = skills params: agentExecutors/skills
kind = git-connector обязательно params; params: agentExecutors/git-connector
kind = observer обязательно params; params: agentExecutors/observer

agentSpec.skills

Which skills the agent executes itself and where they may connect

Поле Тип Обязательно Описание
protocols array of local | http | mcp
local array of string Allowed entrypoints or packages
httpOrigins array of string
mcpOrigins array of string
audiences array of string IAM audiences the skills get a token for
concurrency integer
invoke array of string Skill versions the agent invokes through the core (name@version) rather than executing itself; the registry assigns them to the agent's principal

agentSpec.placement

Поле Тип Обязательно Описание
requires array of nodeLabel Labels the node must have
secrets array of secretName Secrets the node must have: static ones (a file in the node's secrets directory) and issued ones, which the node issues and renews itself, e.g. an hourly forge-token from the forge app installation. Declared the same way, by name; the material is not written into the description
resources объект
replicas integer По умолчанию 1.
drainSeconds integer How long to wait for the current run before switching to a new revision. По умолчанию 14400.

agentSpec.placement.resources

Поле Тип Обязательно Описание
cpus integer Whole CPUs: the core canonical hash of a revision rejects fractional numbers (non_canonical_value)
memoryMb integer

permission

Control Plane permission, e.g. tasks.claim

Значение: string.

agentExecutors

Executor kind parameters; the core stores them without interpreting, this schema and the adapter check them

Набор определений: agentExecutors/claude-code, agentExecutors/codex, agentExecutors/skills, agentExecutors/git-connector, agentExecutors/observer.

agentExecutors/claude-code

Поле Тип Обязательно Описание
model string
permissionMode default | acceptEdits | plan | bypassPermissions По умолчанию acceptEdits.
timeoutSeconds integer По умолчанию 3600.
resume boolean По умолчанию true.
tools объект Narrowing of the agent's tools; the ban on authoritative Control Plane commands is not lifted

agentExecutors/claude-code.tools

Narrowing of the agent's tools; the ban on authoritative Control Plane commands is not lifted

Поле Тип Обязательно Описание
allow array of string
deny array of string

agentExecutors/codex

Поле Тип Обязательно Описание
model string
sandbox read-only | workspace-write | danger-full-access По умолчанию workspace-write.
timeoutSeconds integer По умолчанию 3600.
resume boolean По умолчанию true.
credentialClass subscription | api_key Whose credential is consumed

agentExecutors/skills

Skills-only executor: what to execute is the agent's skills section; params are non-secret skill settings

Поле Тип Обязательно Описание
env map → string Non-secret skill settings (portal address, limits): environment variables of every local skill call on the skills host. No secrets here: names like TOKEN, SECRET, PASSWORD, API_KEY are forbidden, secrets come as node secret files (placement.secrets); host names (CONTROL_PLANE_, IAM_, PATH…) are forbidden too

agentExecutors/git-connector

Git observation source: what to observe and which observations to produce. The cursor lives in the replica volume, observations go to POST /observations of the agent's workspace.

Поле Тип Обязательно Описание
repositories array of объект да
observe array of commits | adrRegistry | ciRuns commits — repo.commit_observed; adrRegistry — adr.registry_observed; ciRuns — ci.run_observed. По умолчанию ["commits"].
intervalSeconds integer По умолчанию 300.
knowledgeSnapshots boolean Send contract snapshots to memory via POST /knowledge/snapshots. По умолчанию true.
registryRepository string Repository to read the ADR registry from (a name from repositories)
ciRepository string owner/repo of CI runs
ciBranch string По умолчанию main.

agentExecutors/git-connector.repositories[]

Поле Тип Обязательно Описание
name string да Name in observations (payload.data.repo, source git:<name>)
url string да
branch string По умолчанию main.

agentExecutors/observer

Integration package observation source (connector = observer + skills): a long-lived process that polls an external system in a loop and writes observations to the agent's workspace (POST /observations). What to poll is config, interpreted by the integration code; which code is entrypoint, which the observer kind image on the node must contain. The cursor lives in the replica volume, secrets come only as node secret files (placement.secrets).

Поле Тип Обязательно Описание
entrypoint string да Integration observer "module:function"; the image process checks that it executes exactly this one
intervalSeconds integer По умолчанию 900.
config object Integration parameters (filters, addresses, limits) are package data. No secrets here: keys like token, secret, *password are forbidden

nodeLabel

Node label: name or name=value

Значение: string.

secretName

Secret name on the node; the value is not written into the description

Значение: string.

agentWorkingCopies

Shapes of the workingCopy section per executor kind: the core stores the section as data, this schema and the executor daemon check it

Набор определений: agentWorkingCopies/single, agentWorkingCopies/catalog, agentWorkingCopies/catalogEntry, agentWorkingCopies/claude-code.

agentWorkingCopies/claude-code

One repository (legacy shape) or a catalog: the presence of repositories or repositoryField selects the catalog

Значение: agentWorkingCopies/catalog или agentWorkingCopies/single — по условию.

Условия:

Условие Следствие
задано repositories или задано repositoryField agentWorkingCopies/catalog
иначе agentWorkingCopies/single

agentWorkingCopies/catalog

Repository catalog: the only source of clone, neighbour and publication addresses. The task repository is a catalog key or an alias in the task field repositoryField; an address from the task is not accepted, there is no default. Keys and aliases are matched case-insensitively (casefold): this is how the executor daemon and tasks.check@1 resolve the task key. package-sdk check verifies that superproject refers to a catalog key and that keys and aliases (casefold), addresses (normalized) and directories are unambiguous across entries

Поле Тип Обязательно Описание
repositoryField string да Name of the task's customFields field holding the repository key (repositoryKey for coding-task)
superproject любое Catalog key whose submodules pin the neighbours' revisions
publish boolean Publish the task branch to the forge; a catalog entry may override it. По умолчанию true.
checks boolean Run the checks of .agents/runner.yaml of the base revision before hand-in; the report goes to metadata.checks of the commit artifact. По умолчанию false.
repositories map → agentWorkingCopies/catalogEntry да

repositoryKey

Canonical repository key in the working copy catalog: ASCII, as in the task's customFields. Keys and aliases are matched case-insensitively (casefold): this is how the executor daemon and tasks.check@1 resolve the task key

Значение: string.

agentWorkingCopies/catalogEntry

Поле Тип Обязательно Описание
url string да Clone address: an installation ${VARIABLE} or https without credentials, query and fragment (environment topology is not written into the package). Host: DNS labels, port 1–65535; path segments: ASCII without dot segments or a leading dot, since the mirror name is taken from the last segment. package-sdk check looks for matching addresses of two entries after normalization (no trailing /, no .git, case-insensitive)
baseRef string Task base branch, a git ref name: no leading - / ., no spaces or control characters, no .., @{, //, ~^:?*[\ and no trailing / . .lock
directory любое Directory in the working copy: a name (flat layout) or a path of several segments (services/control-plane). It does not repeat the directory or the key of another entry, and is neither inside the directory of another entry nor contains it — checked by package-sdk check
publish boolean false means a neighbour the agent does not write to; defaults to the catalog's publish
aliases array of repositoryAlias Former names accepted instead of the key; matching is case-insensitive (casefold), so aliases repeat neither their own nor other keys and aliases, even in another case

workingCopyPath

A directory in the working copy relative to its root: one name (flat layout, control-plane) or a path of several segments joined by / (services/control-plane, sdk/platform-auth-sdk). A segment starts with a lowercase Latin letter or a digit, so . and .. do not pass; an absolute path, an empty segment (//, a trailing /) and a backslash are rejected

Значение: string.

repositoryAlias

Former repository name (map key, repository row of the task document, connector deduplication key): Latin and Cyrillic letters, digits, . _ -. Matched against the task key case-insensitively (casefold)

Значение: string.

agentWorkingCopies/single

Legacy shape: one repository, neighbours and superproject by address

Поле Тип Обязательно Описание
repository string да
directory любое Directory of the repository in the working copy: a name (flat layout) or a path of several segments
baseRef string
neighbours map → string Neighbour repositories at revisions pinned by the superproject. The key is the neighbour's directory in the working copy: a name or a path of several segments
superproject string
publish boolean Publish the task branch to the forge. По умолчанию true.
checks boolean Run the checks of .agents/runner.yaml of the base revision before hand-in; the report goes to metadata.checks of the commit artifact. По умолчанию false.
review объект Deprecated: review is declared by the task type as acceptance criteria; the section is removed together with the daemon's auto-review

agentWorkingCopies/single.review

Deprecated: review is declared by the task type as acceptance criteria; the section is removed together with the daemon's auto-review

Поле Тип Обязательно Описание
mode human | agent | none
taskType typeKey
taskTypes array of typeKey Task types that get a review
reviewer envOrUuid
base string

Правило уведомления (kind: NotificationRule)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

notificationRuleSpec

Notification rule: core event and condition → recipient → text and buttons. Stored and executed by the notification service; templates are {{payload.…}}, {{event.…}}, {{task.…}} substitution without logic.

Поле Тип Обязательно Описание
description string
on объект да
recipient объект да
notification объект да
dedupKeyTemplate string
close объект Close the notification's buttons with the same deduplication key when the event arrives
status enabled | disabled enabled by default

notificationRuleSpec.on

Поле Тип Обязательно Описание
type string да Core catalog event type or a prefix.*
when object | boolean Condition in the core rule grammar over payload, event and task

notificationRuleSpec.recipient

Поле Тип Обязательно Описание
kind assigned | role | taskOwner | taskAssignee | principal да
ref string Path to a principal or role in the event (assigned, role) or an id/variable (principal)
workspace string Path to the workspace for role; defaults to the event's workspace
fallback taskOwner | taskAssignee | none По умолчанию none.

notificationRuleSpec.notification

Поле Тип Обязательно Описание
type string да Notification type: recipient settings and mandatory rules work by it
title string да
body string
links array of объект
actions array of approvalDecide approvalDecide: Approve/Reject buttons for the decision from payload.approvalId
Поле Тип Обязательно Описание
label string да
url string да

notificationRuleSpec.close

Close the notification's buttons with the same deduplication key when the event arrives

Поле Тип Обязательно Описание
on array of string да
outcome string Outcome template shown instead of the buttons

Процесс (kind: Process)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

processSpec

Process: a case with stages and execution blocks, data by schema, CEL expressions, projection into memory. Executed by the core

Поле Тип Обязательно Описание
version integer да Definition version: a published version is immutable
displayName displayName да
description string
workspaceId string
identity объект On whose behalf the process acts: an agent description of kind service or agent
owner assignChain Process owner: tasks about the process are addressed to them (divergence from the regulation, instance errors). Optional; the package check warns if it is missing
calendar typeKey Default calendar for cal.*
due processDue Due of the whole process from the instance start
data jsonSchema да JSON Schema of the instance data; package-sdk expands
start объект да
correlate array of объект
stages array of processStage да
onEvent array of объект
timers processTimers
decisions array of decisionTable
governedBy governedBy
memory memoryProjection
retrospective объект Review of a closed case: the agent proposes lessons, a human confirms
migrations array of объект

processSpec.identity

On whose behalf the process acts: an agent description of kind service or agent

Поле Тип Обязательно Описание
agent slug да

processSpec.start

Поле Тип Обязательно Описание
on processTrigger да
key cel да Instance key: a repeated event with the same key is a correlate, not a new instance
set celMap

processSpec.correlate[]

Поле Тип Обязательно Описание
on processTrigger да
key cel да
set celMap
do blocks

processSpec.onEvent[]

Поле Тип Обязательно Описание
on processTrigger да
do blocks да

processSpec.retrospective

Review of a closed case: the agent proposes lessons, a human confirms

Поле Тип Обязательно Описание
skill string По умолчанию process.retrospective@1.
taskType typeKey да
assign assignChain да
appliesTo array of string Entity kinds lessons are attached to
when cel

processSpec.migrations[]

Поле Тип Обязательно Описание
from integer да
to integer да
policy pin | migrate да
map map → processElementId

assignChain

Candidates in order: the first resolvable one is taken

Значение: array of assignee.

assignee

Поле Тип Обязательно Описание
principal envOrUuid
role slug
agent slug
expr cel CEL → principal id, agent:<key> or role:<slug>

Ровно одно из: principal, role, agent, expr.

cel

CEL expression in the taimen/1 profile: variables data, event, step, task, instance; cal.* functions; no current time. The core checks types and the cost limit

Значение: string.

processDue

Due (SLA) of a step or process: an ISO 8601 duration, {at}, a point in time or a duration from data, or exactly one of duration, workdays, workhours with optional calendar and warnBefore

Значение: durationOrCel или объект {duration, workdays, workhours, calendar, warnBefore}.

processDue (2)

Поле Тип Обязательно Описание
duration duration
workdays workdayAmount
workhours workhourAmount
calendar typeKey Calendar of the working units; defaults to the process's spec.calendar
warnBefore workingSpan Warning threshold before the due; without it there is no warning

Ровно одно из: duration, workdays, workhours.

durationOrCel

ISO 8601 duration or a CEL expression yielding a point in time (timestamp) or a duration

Значение: duration или объект {at}.

durationOrCel (2)

Поле Тип Обязательно Описание
at cel да

workdayAmount

Значение: workdayCount или workingAmountExpr.

workdayCount

Workdays by the calendar: the same time of day n workdays later (cal.addWorkdays)

Значение: integer.

workingAmountExpr

Number of work units as a CEL expression: a non-negative integer, evaluated once on entering the step (settings.* are the package settings); after that the due date is computed as from a number

Поле Тип Обязательно Описание
expr cel да

workhourAmount

Значение: workhourCount или workingAmountExpr.

workhourCount

Working-time hours by a calendar with working hours (cal.addWorkingTime)

Значение: number.

workingSpan

Interval: an ISO 8601 duration (astronomical time), {workdays} or {workhours} by the due calendar

Значение: duration или объект {workdays} или объект {workhours}.

workingSpan (2)

Поле Тип Обязательно Описание
workdays workdayAmount да

workingSpan (3)

Поле Тип Обязательно Описание
workhours workhourAmount да

processTrigger

Event source: a core journal event or an observation. where is a CEL filter over event

Поле Тип Обязательно Описание
event string
observation string
source string
where cel

Ровно одно из: event, observation.

celMap

Path in the instance data → CEL expression

Значение: map → cel.

blocks

Sequence of steps (do block)

Значение: array of processStep.

processStep

Process step: exactly one kind (human, approve, call, decide, recall, remember, listen, wait, set, raise, compensate, fork, try, do, suspend, resume, complete) plus common fields

Поле Тип Обязательно Описание
id processElementId да
displayName displayName
when cel Guard: the step runs only if it is true
input объект
output объект Writing the step result (step.result) into the instance data
export объект
governedBy governedBy
onCompensate blocks Compensation of a completed step: runs on compensate in reverse order
human объект
approve объект
call объект
decide объект
recall объект Memory query through the core; the answer is a journal event (deterministic replay)
remember объект Write to memory as a core observation from the process identity, with a reference to the case
listen объект Waiting for the first of the events (deferred choice); timeout is a timer
wait durationOrCel Pause: a duration or a point in time; wait has no due, the pause itself sets the time
set celMap
raise processError
compensate = all или array of processElementId Run onCompensate of completed steps in reverse order
fork объект
try объект
do blocks
suspend объект
resume объект
complete объект

Ровно одно из: human, approve, call, decide, recall, remember, listen, wait, set, raise, compensate, fork, try, do, suspend, resume, complete.

processStep.input

Поле Тип Обязательно Описание
from cel

processStep.output

Writing the step result (step.result) into the instance data

Поле Тип Обязательно Описание
as celMap

processStep.export

Поле Тип Обязательно Описание
as celMap

processStep.human

Поле Тип Обязательно Описание
taskType typeKey да
title cel
customFields map → cel Prefill of the created task's fields with case data: a field of the type's fieldSchema → CEL; checked against fieldSchema on publication and on task creation, null leaves the field to the human
form processForm
assign assignChain да
due processDue
escalations array of escalation
context stepContext

processStep.approve

Поле Тип Обязательно Описание
taskType typeKey
approvers assignChain да
mode parallel | sequential По умолчанию parallel.
quorum all | any или объект {atLeast} или объект {percent} да
earlyDecision boolean По умолчанию true.
separationOfDuties cel CEL → list of principals who may not vote; the core checks it at decision time
due processDue
onDue approve | reject | escalate
escalations array of escalation
context stepContext

processStep.approve.quorum (2)

Поле Тип Обязательно Описание
atLeast integer да

processStep.approve.quorum (3)

Поле Тип Обязательно Описание
percent number да

processStep.call

Поле Тип Обязательно Описание
skill string
agent slug
process typeKey
input celMap
timeout durationOrCel
due processDue
context stepContext

Ровно одно из: skill, agent, process.

processStep.decide

Поле Тип Обязательно Описание
table processElementId да
input celMap

processStep.recall

Memory query through the core; the answer is a journal event (deterministic replay)

Поле Тип Обязательно Описание
anchors array of memoryAnchor да
traverse memoryTraverse
query cel Semantic expansion text
kinds array of string
where memoryWhere
limit integer
timeout duration
due processDue
onTimeout blocks

processStep.remember

Write to memory as a core observation from the process identity, with a reference to the case

Поле Тип Обязательно Описание
entity объект
facts celMap Case fact name → value

Ровно одно из: facts, entity.

processStep.remember.entity

Поле Тип Обязательно Описание
kind string да
key cel да
name cel
text cel
links array of объект
Поле Тип Обязательно Описание
rel string да
kind string да
key cel да

processStep.listen

Waiting for the first of the events (deferred choice); timeout is a timer

Поле Тип Обязательно Описание
any array of объект да
timeout durationOrCel
due processDue
onTimeout blocks

processStep.listen.any[]

Поле Тип Обязательно Описание
on processTrigger да
do blocks

processStep.fork

Поле Тип Обязательно Описание
mode all | compete По умолчанию all.
branches array of объект да

processStep.fork.branches[]

Поле Тип Обязательно Описание
id processElementId да
do blocks да

processStep.try

Поле Тип Обязательно Описание
do blocks да
retry объект
catch array of объект

processStep.try.retry

Поле Тип Обязательно Описание
limit integer да
delay duration
backoff constant | exponential
maxDelay duration
on array of string Error types to retry; all by default

processStep.try.catch[]

Поле Тип Обязательно Описание
errors объект
as string
do blocks да

processStep.try.catch[].errors

Поле Тип Обязательно Описание
type string
status integer

processStep.suspend

Поле Тип Обязательно Описание
reason cel

processStep.resume

Поле Тип Обязательно Описание
reason cel

processStep.complete

Поле Тип Обязательно Описание
outcome string да

processElementId

Stable process element id: the schema layout, migration maps, the journal and the memory graph refer to it. Renaming only via the migrations map

Значение: string.

governedBy

Knowledge base regulations the element is subject to: the natural key of the memory document and, if needed, a clause

Значение: array of объект.

governedBy[]

Поле Тип Обязательно Описание
document string да
section string

processForm

Step form: JSON Schema of the data and JSON Forms uischema of the view

Поле Тип Обязательно Описание
schema jsonSchema да
uischema object

escalation

Поле Тип Обязательно Описание
after = due или durationOrCel да due means at the due moment; a duration means after the due
action remind | reassign | notify | raise да
to assignChain
error processError

processError

Error in RFC 7807 form

Поле Тип Обязательно Описание
type string да
status integer
detail cel

stepContext

Context profile of the step executor from memory: explicit relations first, semantic expansion marked inferred

Поле Тип Обязательно Описание
anchors array of memoryAnchor да
traverse memoryTraverse
semantic boolean Semantic expansion (inferred); true by default
budgetTokens integer

memoryAnchor

Graph traversal anchor: the instance's case node or an entity by natural key (CEL over data)

Поле Тип Обязательно Описание
case = true
kind string
key cel
via string

Ровно одно из: case, key + kind.

memoryTraverse

Traversal steps from the anchors, the same shape as traverse in contextSchema

Значение: array of объект.

memoryTraverse[]

Поле Тип Обязательно Описание
relation string да
direction in | out | both
depth integer
limit integer
from anchors | previous

memoryWhere

Filters on node attributes: applied to result nodes and to candidate anchors of semantic expansion; conditions are joined with AND

Значение: array of объект.

memoryWhere[]

Поле Тип Обязательно Описание
attr string да Node attribute name (flat), e.g. okpd2 or validUntil; a list attribute satisfies the condition if any of its elements does
op eq | in | prefix | lte | gte | exists да prefix compares codes by dot-separated segments: 62.01 matches 62.01.11 but not 62.011; lte/gte are RFC 3339 dates or numbers
value cel или number | boolean или array of cel CEL expression over the instance data (a string literal goes in CEL quotes: "'62.01'"); for in, a CEL list or a list of expressions; for exists, true or false

Условия:

Условие Следствие
op ≠ exists обязательно value

processStage

Case stage (CMMN): entry and exit by guards, milestones, required and optional work

Поле Тип Обязательно Описание
id processElementId да
displayName displayName
entry cel Entry guard; stage.<id>.completed, milestone.<id> and data are available in the expression
exit cel
repeatable boolean
governedBy governedBy
steps blocks да
discretionary array of processStep Work a human adds at their discretion
milestones array of объект
timers processTimers

processStage.milestones[]

Поле Тип Обязательно Описание
id processElementId да
when cel да

processTimers

Boundary timers: fire while the stage (process) is open; at from data is recalculated when the data changes

Значение: array of объект.

processTimers[]

Поле Тип Обязательно Описание
id processElementId да
at durationOrCel да
interrupting boolean По умолчанию false.
do blocks да

decisionTable

Decision table (DMN in spirit). Condition cell: '-' (any), a literal, a list 'a,b', a range '[a..b)'

Поле Тип Обязательно Описание
id processElementId да
displayName displayName
hitPolicy first | unique | collect да
governedBy governedBy
inputs array of объект да
outputs array of объект да
rules array of объект да

decisionTable.inputs[]

Поле Тип Обязательно Описание
id processElementId да
expr cel да
type string | number | boolean | date | timestamp

decisionTable.outputs[]

Поле Тип Обязательно Описание
id processElementId да
type string | number | boolean | date | duration | object | array

decisionTable.rules[]

Поле Тип Обязательно Описание
when map → string | number | boolean да
then object да
note string
governedBy governedBy

memoryProjection

Projection of the case into the memory graph: delivered by events, only declared fields go into the graph

Поле Тип Обязательно Описание
case объект да
facts celMap Case fact name → value; a change closes the previous fact with a validity end
entities array of объект
documents объект

memoryProjection.case

Поле Тип Обязательно Описание
kind string По умолчанию case.
key cel да
title cel

memoryProjection.entities[]

Поле Тип Обязательно Описание
kind string да
key cel да
name cel
rel string да
when cel
many boolean key yields a list: one entity per element

memoryProjection.documents

Поле Тип Обязательно Описание
artifacts array of typeKey

Календарь (kind: Calendar)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

calendarSpec

Business calendar: default days off, holidays and transfers by year

Поле Тип Обязательно Описание
displayName displayName да
timezone string да
weekend array of integer ISO weekdays: 1 is Monday. По умолчанию [6, 7].
workingHours объект Working hours on the calendar's working days, in the calendar's local time. Without the field the calendar knows only working days
years array of объект да

calendarSpec.workingHours

Working hours on the calendar's working days, in the calendar's local time. Without the field the calendar knows only working days

Поле Тип Обязательно Описание
intervals workingIntervals да Intervals of a regular working day
weekdays map → workingIntervals Intervals per ISO weekday (1 is Monday) instead of intervals; [] means no working hours
shortDayReduction duration How much shorter a shortened day (shortDays) is: subtracted from the end of the last interval

calendarSpec.years[]

Поле Тип Обязательно Описание
year integer да
provisional boolean The year is not approved yet: cal.* results are marked as preliminary
source string
holidays array of string (date)
workdays array of string (date) Transferred working days that fall on days off
shortDays array of string (date)

workingIntervals

Working-time intervals of the day, in order and non-overlapping, from before to (the core checks the order); 24:00 is the end of the day

Значение: array of объект.

workingIntervals[]

Поле Тип Обязательно Описание
from string да
to string да

Онтология (kind: KnowledgePack)

Тело онтологии описывает отдельный файл схемы knowledge-pack.schema.json; в пакете к нему добавляется целая версия version.

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json, sdk/package-sdk/schema/v1/knowledge-pack.schema.json.

KnowledgePack.spec

Включает knowledge-pack.

Поле Тип Обязательно Описание
version integer Ontology version in the package, an integer: an inclusion refers to it as name@version, an edit is a new version

knowledge-pack

Форма пакета видов и связей базы знаний. Пакет регистрируется через ядро (POST /api/v1/knowledge/packs) и включается для дерева workspace. memory-service разбирает name, version, scope, namespace, kinds (kind, kindAliases, aliases, naturalKey, idPatterns, attributes, searchable) и relations; остальные поля — данные загрузчиков и генератора шаблонов импорта, память их пропускает.

Поле Тип Обязательно Описание
name string да Имя пакета без префикса. Ссылка на пакет арендатора в настройке namespace — tenant:<имя>@<версия>
version string | integer да Версия пакета; шаблоны видов версионируются ею
scope common | tenant common — общий пакет, регистрирует администратор платформы; tenant — пакет арендатора по праву knowledge.packs.manage: виден и включается только в namespace-владельце и под ним, имена пакета, видов и связей не совпадают с общими. По умолчанию common.
namespace string Namespace-владелец пакета арендатора (scope: tenant); при регистрации через ядро его подставляет ядро по workspace
description string
extends array of string Пакеты, на виды которых ссылаются связи и профили этого пакета (например company@1). Базовый пакет не меняется
kinds array of knowledge-pack/kind да
relations array of knowledge-pack/relation
profiles array of knowledge-pack/profile Профили атрибутов видов, в том числе видов других пакетов: так пакет описывает атрибуты чужого вида, не меняя и не переобъявляя его (credential с type: sro_membership у расширения отрасли, legal_entity пакета default у company). Проверяют загрузчики и генератор шаблонов
expiry array of knowledge-pack/expiry Кому и за сколько дней ставить задачу об истечении validUntil вида (правило knowledge-expiry). Без записи — роль владельца базы знаний и 30 дней

knowledge-pack/kind

Поле Тип Обязательно Описание
kind knowledge-pack/name да
title string Название вида для людей — заголовок шаблона и раздела консоли
description string
kindAliases array of knowledge-pack/name
aliases array of string
naturalKey string или object Форма естественного ключа: шаблон с плейсхолдерами ("offering:<source>:<id>") или JSON Schema строки
idPatterns array of string
attributes knowledge-pack/attributes
searchable объект Вид находится поиском по смыслу: сверка индексирует эмбеддинг из title сущности и значений перечисленных атрибутов; каждый атрибут объявлен в attributes.properties

knowledge-pack/kind.searchable

Вид находится поиском по смыслу: сверка индексирует эмбеддинг из title сущности и значений перечисленных атрибутов; каждый атрибут объявлен в attributes.properties

Поле Тип Обязательно Описание
fields array of string да

knowledge-pack/name

Значение: string.

knowledge-pack/attributes

JSON Schema атрибутов вида (draft 2020-12). title и description свойства — заголовок и подсказка колонки шаблона; type, format, enum — проверка; required — обязательность. Сроки действия — по соглашению validFrom и validUntil (format: date). Свойство с персональными данными физического лица допустимо только с x-personal-data: allowed — такие значения не попадают в промпты ИИ

Поле Тип Обязательно Описание
type = object
properties объект

knowledge-pack/attributes.properties

Поле Тип Обязательно Описание
validFrom knowledge-pack/dateProperty
validUntil knowledge-pack/dateProperty

knowledge-pack/dateProperty

Соглашение сроков: validFrom и validUntil — день ISO 8601

Поле Тип Обязательно Описание
type = string да
format = date да

knowledge-pack/relation

Поле Тип Обязательно Описание
relation knowledge-pack/name да
title string Заголовок колонки связи в шаблоне
fromKinds array of knowledge-pack/name
toKinds array of knowledge-pack/name
temporal boolean По умолчанию true.
cardinality one | many По умолчанию many.

knowledge-pack/profile

Атрибуты вида этого или другого пакета. С when — у сущностей, где атрибут равен значению (credential с type: sro_membership); без when — у всех сущностей вида (атрибуты legal_entity пакета default)

Поле Тип Обязательно Описание
kind knowledge-pack/name да
when объект
title string
attributes knowledge-pack/attributes да

knowledge-pack/profile.when

Поле Тип Обязательно Описание
attr string да
equals string | number | boolean да

knowledge-pack/expiry

Поле Тип Обязательно Описание
kind knowledge-pack/name да
role string Роль, которой ставится задача
leadDays integer

Общие типы

Определения, на которые ссылаются несколько видов.

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/object.schema.json.

connectionKey

Key of a connection type or of a connection

Значение: string.

displayName

Значение: string.

duration

ISO 8601 duration, e.g. P3D, PT4H

Значение: string.

envOrUuid

UUID or an installation ${VARIABLE} (environment topology is not written into the package)

Значение: string.

jsonSchema

Document JSON Schema (draft 2020-12). The core rejects remote $ref.

Значение: object.

lifecycle

Поле Тип Обязательно Описание
statuses array of объект да
transitions array of объект
initialStatus statusKey

lifecycle.statuses[]

Поле Тип Обязательно Описание
key statusKey да
category string да
displayName string

lifecycle.transitions[]

Поле Тип Обязательно Описание
from statusKey да
to array of statusKey да

mediaType

Lowercase media type; a / or type/* mask is allowed

Значение: string.

ruleKey

Rule key in the tenant

Значение: string.

slug

Значение: string.

statusKey

Значение: string.

typeKey

Type key: lowercase Latin letters, digits, _ and -

Значение: string.

Тест пакета (tests/*.test.yaml)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/test.schema.json.

test

File <name>.test.yaml in the package's tests/ directory. Run by the core (POST /packages:test) with the same engine as a live run, in a sandbox: tasks, approvals and timers are in memory, skills, agents and memory are stubs checked against the catalog schemas, time is virtual. No side effects.

Поле Тип Обязательно Описание
$schema string
process string Package process key
version integer Defaults to the version in the package
name string да
description string
subject process | rule | taskType What the test checks: a process (default), a work rule or a task type (gate outcomes, acceptance criteria, completion actions). По умолчанию process.
rule string Package WorkRule key (subject: rule)
taskType string Package TaskType key (subject: taskType)
given object
mocks объект
steps array of object да
coverage объект

Условия:

Условие Следствие
не (subject ∈ rule, taskType) обязательно process; given: processGiven; steps: array of testStep
subject = rule обязательно rule; given: ruleGiven; steps: array of ruleStep
subject = taskType обязательно taskType; given: taskTypeGiven; steps: array of taskTypeStep

test.mocks

Поле Тип Обязательно Описание
skills map → array of mockAnswer name@version → responses in call order (or by when); the output is checked against the skill schema from the catalog
agents map → array of mockAnswer
recall array of mockAnswer Memory responses to recall steps; step is the step id, when is CEL over the query

test.coverage

Поле Тип Обязательно Описание
minimum number Coverage threshold of process elements by this test, %

mockAnswer

Поле Тип Обязательно Описание
step string
when string CEL over the call input
output любое
error объект
timeout = true

Ровно одно из: output, error, timeout.

mockAnswer.error

Поле Тип Обязательно Описание
type string да
status integer
detail string

processGiven

Поле Тип Обязательно Описание
clock string (date-time) Initial virtual time
data object Initial instance data (without a start event)
stage string Start with an open stage
fromInstance string Dry run on an environment only: state is copied from a live instance
calendar string Calendar key instead of the process calendar
settings settings
principals map → array of string Role → fictitious test principals (for assignments and separation of duties)

settings

Saved package settings values, as an administrator saves them: they replace the previously saved values, fields not given take their default from spec.settings of the manifest. The core checks them against the settings schema of the package

Значение: object.

testStep

Поле Тип Обязательно Описание
settings settings Save new settings values in the middle of the scenario: computations after this step read them, decisions already taken keep the values they read
emit объект
advance string Virtual time shift (ISO 8601, P3D) or up to a moment: until:<timer id>
complete объект
approve объект
expect объект

Ровно одно из: emit, advance, complete, approve, expect, settings.

testStep.emit

Поле Тип Обязательно Описание
event string
observation string
source string
task string Only with observation: id of the process step whose latest task the observation is bound to (the task field of the core's observation)
by string Event author (actorId): a test principal or agent:<key>
payload object

Ровно одно из: event, observation.

testStep.complete

Поле Тип Обязательно Описание
step string да
by string test principal or agent:<key>
output object Form data or the agent's result; checked against the form schema
cancel = true

testStep.approve

Поле Тип Обязательно Описание
step string да
by string да
decision approve | reject да
expectRefused string Core rejection code, e.g. separation_of_duties_violation

testStep.expect

Поле Тип Обязательно Описание
stages map → open | completed | skipped | not_started
milestones array of string
tasks array of объект
timers array of объект
data object Path in data → expected value
sla map → ok | warning | breached | paused Due state: step id → state of its open attempt; the process key is the process due (spec.due)
events array of string process.* event types since the last expect
rules array of объект Decisions of the package's rules with target: task since the last expect
memory объект
outcome string
status running | suspended | completed | failed | cancelled
error string
noSideEffects = true

testStep.expect.tasks[]

Поле Тип Обязательно Описание
step string
status string
assignee string
due string
customFields object Subset of task fields: the given ones are compared (human step prefill)

testStep.expect.timers[]

Поле Тип Обязательно Описание
id string
at string
provisional boolean

testStep.expect.rules[]

Поле Тип Обязательно Описание
rule string
action string
step string
result matched | not_matched | skipped | failed
reason string

testStep.expect.memory

Поле Тип Обязательно Описание
recalled array of string
remembered array of object

ruleGiven

Поле Тип Обязательно Описание
clock string (date-time)
variables variables
settings settings
task объект Task created before the input: an event without taskId in the payload is about it
schedule объект Input: a firing of the rule's schedule (trigger.kind: schedule)
observation объект
event объект

Ровно одно из: observation, event, schedule.

ruleGiven.task

Task created before the input: an event without taskId in the payload is about it

Поле Тип Обязательно Описание
type string да Task type key of the package or tenant
title string
status string
assignee string agent:<key> or a fictitious principal
customFields object

ruleGiven.schedule

Input: a firing of the rule's schedule (trigger.kind: schedule)

Поле Тип Обязательно Описание
at string (date-time) Slot time; defaults to clock

ruleGiven.observation

Поле Тип Обязательно Описание
kind string да
data object
content string
source string
externalRef object

ruleGiven.event

Поле Тип Обязательно Описание
type string да
payload object

variables

Installation variable values for the test; the rest are defaults from the manifest

Значение: map → string.

ruleStep

Поле Тип Обязательно Описание
expect объект да

ruleStep.expect

Поле Тип Обязательно Описание
result string Outcome of the core's rule evaluation (like result of the rule.evaluated event)
ensureWork array of workExpectation
invokeSkill array of skillExpectation
noSideEffects = true

workExpectation

Expected work: the given fields are compared, the rest are not checked

Поле Тип Обязательно Описание
type string
title string
assignee string agent:<key>, a test role or a fictitious principal
customFields object
relation object

skillExpectation

Поле Тип Обязательно Описание
skill string да
inputs object Subset of the call input

taskTypeGiven

Поле Тип Обязательно Описание
clock string (date-time)
variables variables
task объект
artifacts array of объект
principals map → array of string Role → fictitious test principals

taskTypeGiven.task

Поле Тип Обязательно Описание
title string
status string
assignee string
customFields object

taskTypeGiven.artifacts[]

Поле Тип Обязательно Описание
key string
type string да
metadata object
content string Content (text): an artifact with stored content, as after an upload
mediaType string Content type (text/markdown, application/json, …)

taskTypeStep

Поле Тип Обязательно Описание
approve объект
verify объект Outcome of the type's acceptance criterion
complete объект
expect объект

Ровно одно из: approve, verify, complete, expect.

taskTypeStep.approve

Поле Тип Обязательно Описание
gate string По умолчанию default.
decision approved | rejected да
by string
comment string
expectRefused string Core rejection code for the decider, e.g. not_eligible: the decider is not a holder of the gate role

taskTypeStep.verify

Outcome of the type's acceptance criterion

Поле Тип Обязательно Описание
check string да
result passed | failed да
output object

taskTypeStep.complete

Поле Тип Обязательно Описание
output object Completion output (completionSchema)

taskTypeStep.expect

Поле Тип Обязательно Описание
ensureWork array of workExpectation
invokeSkill array of skillExpectation
status объект
comments array of string Substrings of comments left by outcomes
noSideEffects = true

taskTypeStep.expect.status

Поле Тип Обязательно Описание
key string
category backlog | active | blocked | terminal_success | terminal_cancelled

Фиксация источников (packages.lock)

Файл пишет package-sdk lock; руками его не правят.

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/lock.schema.json.

lock

Файл packages.lock рядом с файлом установки. Пишет package-sdk lock; для каждого пакета — источник, коммит и хэш содержимого. План строится по lock: для источника git без записи — lock_required, при расхождении хэша — отказ.

Поле Тип Обязательно Описание
format = package-sdk.lock/v1 да
installation string Ключ установки, для которой снята фиксация
packages array of объект да

lock.packages[]

Поле Тип Обязательно Описание
key string да
version string да
source объект {path} или объект {git, ref, path} да Откуда пакет: {path} — каталог относительно файла установки; {git, ref, path?} — тег git и подкаталог пакета в репозитории (то же имя path, что в установке)
commit string Коммит источника git
contentHash string да sha256 канонического набора файлов пакета: пути по порядку и их байты, без .layout/ (та же функция, что installHash записи связей)

lock.packages[].source (1)

Поле Тип Обязательно Описание
path string да

lock.packages[].source (2)

Поле Тип Обязательно Описание
git string да
ref string да
path string

План установки (plan --out)

Документ пишет package-sdk plan --out; package-sdk apply --plan применяет его только без правок.

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/plan.schema.json.

plan

Один документ изменений всех видов установки. Пишет package-sdk plan --out; применяется только package-sdk apply --plan без правок: planHash — хэш документа без самого поля, правленый файл отвергается. Значения переменных в план не пишутся, только их хэш.

Поле Тип Обязательно Описание
format = package-sdk.plan/v1 да
server string да Стенд: https, http — только localhost
engines map → string Версии компонентов стенда на момент плана (из openapi.json)
createdAt string (date-time) да
installation string Ключ установки (Installation.key)
install string Файл установки относительно файла плана: apply --plan собирает по нему пакеты заново и сверяет lockHash и variablesHash
lockHash plan/hash
variablesHash plan/hash
overwriteConsole boolean plan --overwrite-console: перезаписать поля объектов ядра, которые человек правил в консоли после прошлого применения; без флага ядро их сохраняет. package-sdk plan пишет поле всегда, false по умолчанию; план прежнего формата без поля применяется как false. Входит в planHash; с ним же строится и применяется план ядра
sections array of plan/section да
planHash plan/hash да

plan/hash

Значение: string.

plan/section

Значение: объект {kind, changes} или объект {kind, package, planHash, plan, workspaceId, replayLimit} или объект {kind, changes} или объект {kind, register, enable} или объект {kind, items}.

plan/section (1)

Поле Тип Обязательно Описание
kind = catalog да
changes array of plan/change да

plan/section (2)

Поле Тип Обязательно Описание
kind = core да
package string да
planHash plan/hash да
plan object да Ответ /packages:plan ядра как есть
workspaceId string workspaceId запроса плана — с ним же идёт /packages:apply
replayLimit integer replayLimit запроса плана — с ним план ядра строится заново перед применением

plan/section (3)

Поле Тип Обязательно Описание
kind = notification-rules да
changes array of plan/change да

plan/section (4)

Поле Тип Обязательно Описание
kind = knowledge да
register array of plan/change
enable array of объект

plan/section (4).enable[]

Поле Тип Обязательно Описание
workspace string да
packs array of string да
current array of string

plan/section (5)

Поле Тип Обязательно Описание
kind = retire да
items array of plan/change да

plan/change

Поле Тип Обязательно Описание
package string
kind string да
key string да
operation create | version | patch | deprecate | enable | disable | register | retire | unchanged да
fields array of string Поля, которые меняются
expected любое Что установщик ожидает увидеть на стенде перед записью (для plan_stale)

Уточнение шаблона загрузки (templates/<вид>.yaml)

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/knowledge-template.schema.json.

knowledge-template

Необязательные данные пакета templates/<вид>.yaml. Шаблон строится генератором из JSON Schema вида; уточнение меняет только подачу: заголовки, порядок, подсказки, примеры и дополнительные запрещённые колонки. Колонок, которых нет в схеме вида, уточнение не добавляет.

Поле Тип Обязательно Описание
pack string да Пакет онтологии и версия вида, например company@1
kind string да
title string Название листа и файла шаблона
instructions string Текст листа «Инструкция» перед сгенерированным описанием колонок
columns array of объект Порядок колонок; не перечисленные идут после в порядке схемы
examples array of object Строки-примеры листа шаблона: field → значение
forbiddenColumns array of string Запрещённые заголовки сверх общего списка персональных данных (фио, фамилия, паспорт, снилс, дата рождения, адрес, телефон, e-mail)

knowledge-template.columns[]

Поле Тип Обязательно Описание
field string да key — естественный ключ, title — имя, attributes.<путь> — атрибут, links.<связь> — ключи связанных сущностей
header string
hint string
example string | number | boolean
separator string Разделитель списка в ячейке (коды, ключи связей); по умолчанию «;»

Экраны пакета (kind: View, kind: Component)

Экраны пакета лежат в views/*.yaml и components/*.yaml. Обёртка у них та же, что у остальных объектов, а spec вида View описывает viewSpec, вида Component — componentSpec; подписи экранов — ключи словарей i18n/<locale>.yaml. Схема — копия схемы экранов ядра, её проверяют package-sdk check и plan.

Раздел генерируется из кода — не правьте его руками.

Источник: sdk/package-sdk/schema/v1/view.schema.json.

view

Screens of a package: spec of the kinds View and Component

Собственной формы у корня нет — только определения; верхнего уровня: view/viewSpec, view/componentSpec.

view/viewSpec

Поле Тип Обязательно Описание
blocks = 1 Version of the set of blocks the layout is written in
title view/messageKey да
description view/messageKey
nav объект
audience объект
source view/source да
params view/params
layout view/layout да

view/viewSpec.nav

Поле Тип Обязательно Описание
group work | knowledge | packages A group of the console menu (a closed list, not a key of the dictionaries); none: packages
icon string
order integer

view/viewSpec.audience

Поле Тип Обязательно Описание
roles array of view/slug да Roles of the organization (slugs): a holder of one of them sees the view

view/messageKey

A key of the package dictionaries

Значение: string.

view/slug

Значение: string.

view/source

Exactly one of {process, filter?}, {process, instance: param.<name>}, {tasks: {type}}, {knowledge: {kinds}}

Поле Тип Обязательно Описание
process view/key
filter view/expression
instance string
tasks объект
knowledge объект

view/source.tasks

Поле Тип Обязательно Описание
type view/key да

view/source.knowledge

Поле Тип Обязательно Описание
kinds array of view/kind да

view/key

Значение: string.

view/expression

Значение: string.

view/kind

Значение: string.

view/params

Значение: map → view/param.

view/name

Значение: string.

view/param

Поле Тип Обязательно Описание
type string | integer | number | boolean | date | datetime | uuid да
required boolean

view/layout

Значение: array of view/block.

view/block

A block of the closed set of version 1, named by the key block

Поле Тип Обязательно Описание
block table | board | list | header | fields | timeline | artifacts | related | metrics | chart | steps | invoke | component да

Условия:

Условие Следствие
block ∈ table, list обязательно columns; title: view/messageKey; columns: view/columns; open: view/open; filters: view/paths; sort: view/sort; pageSize: integer
block = board обязательно columns, card; title: view/messageKey; columns: = stages; card: view/card; open: view/open; filters: view/paths
block = header обязательно title; title: view/path; status: view/path; actions: steps
block = fields обязательно items; title: view/messageKey; section: view/messageKey; items: view/columns
block ∈ timeline, steps title: view/messageKey
block = artifacts title: view/messageKey; types: array of view/key
block = related обязательно knowledge; title: view/messageKey; knowledge: объект; include: view/include
block = metrics обязательно items; title: view/messageKey; items: array of объект
block = chart обязательно chart, groupBy, value; title: view/messageKey; chart: bar | line | donut; groupBy: view/path; value: view/expression; label: view/messageKey; format: view/format
block = invoke обязательно label, skill; title: view/messageKey; label: view/messageKey; skill: string; input: view/arguments
block = component обязательно component; component: view/key; with: view/arguments

view/block.knowledge

The record of knowledge the block starts from: its kind and a CEL expression of its key

Поле Тип Обязательно Описание
kind view/kind да
key view/expression да

view/block.items[]

Поле Тип Обязательно Описание
key view/columnKey
title view/messageKey да
value view/expression да
format view/format

view/columns

Значение: array of view/column.

view/column

What a cell shows: a path of the source (field) or a CEL expression (value), exactly one; label: none — the key <package>.fields.<path> of the dictionaries; key: none — the path

Поле Тип Обязательно Описание
key view/columnKey
label view/messageKey
field view/path
value view/expression
format view/format

view/columnKey

The key the values of a column come by in the data of a view

Значение: string.

view/path

Значение: string.

view/format

Значение: text | number | money | percent | date | datetime | due | duration | principal | status | link.

view/open

A view of the same package or of a package it requires: id — CEL of the id of the record it opens, params — CEL of its params

Поле Тип Обязательно Описание
view view/key да
id view/expression
params view/arguments

view/arguments

Значение: map → view/expression.

view/paths

Значение: array of view/path.

view/sort

Значение: array of объект.

view/sort[]

Поле Тип Обязательно Описание
field view/path да
dir asc | desc

view/card

A card of a board: paths of the source for its title, subtitle and badge, and its fields

Поле Тип Обязательно Описание
title view/path да
subtitle view/path
fields view/columns
badge view/path

view/include

The links of the record shown: the include of POST /knowledge/entities:query

Поле Тип Обязательно Описание
relations = * или array of string да Names of the relations shown, or * for every relation the packages of the namespace declare
direction out | in | both
limit integer

view/componentSpec

Поле Тип Обязательно Описание
description view/messageKey
params view/componentParams
layout view/layout да

view/componentParams

Значение: map → view/schemaParam или view/param — по условию.

view/schemaParam

A param typed by a JSON Schema

Поле Тип Обязательно Описание
schema object да JSON Schema of the param: inline or {$ref: <file>#<pointer>} of a schema of the package; CEL reads param.<name> by it
required boolean

См. также