[
  {
    "code": "accounting.account.reconcile",
    "title": "Reconcile account",
    "summary": "Reconcile ledger activity with an external statement or source record.",
    "description": "Matches accounting records with an independent source and reports confirmed, unmatched and conflicting items.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "accounting",
      "reconciliation",
      "controls"
    ],
    "requestDescription": "Expected to receive the account, reconciliation interval and external statement or source items.",
    "responseDescription": "Returns matched items, discrepancies, unresolved items and reconciliation status.",
    "translations": {
      "ru": {
        "title": "Сверка счёта",
        "summary": "Сверить движение по учётному счёту с внешней выпиской или исходными документами.",
        "description": "Сопоставляет данные учёта с независимым источником и показывает подтверждённые, несопоставленные и конфликтующие позиции.",
        "requestDescription": "Ожидаются счёт, интервал сверки и внешняя выписка либо исходные позиции.",
        "responseDescription": "Возвращает сопоставленные позиции, расхождения, нерешённые позиции и статус сверки."
      }
    }
  },
  {
    "code": "accounting.journalEntry.post",
    "title": "Post journal entry",
    "summary": "Post a balanced journal entry for an economic event.",
    "description": "Records debit and credit lines in an accounting ledger while preserving the source event and reporting context.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "accounting",
      "ledger",
      "double-entry"
    ],
    "requestDescription": "Expected to receive the source event, posting date, currency and balanced debit and credit lines.",
    "responseDescription": "Returns the journal entry identifier, posting status and recorded ledger lines.",
    "translations": {
      "ru": {
        "title": "Проведение бухгалтерской записи",
        "summary": "Провести сбалансированную бухгалтерскую запись по хозяйственному событию.",
        "description": "Фиксирует дебетовые и кредитовые строки в регистре с сохранением исходного события и контекста отчётности.",
        "requestDescription": "Ожидаются исходное событие, дата проведения, валюта и сбалансированные строки дебета и кредита.",
        "responseDescription": "Возвращает идентификатор записи, статус проведения и сохранённые строки регистра."
      }
    }
  },
  {
    "code": "accounting.journalEntry.reverse",
    "title": "Reverse journal entry",
    "summary": "Reverse a previously posted journal entry without erasing its history.",
    "description": "Creates an auditable reversing entry linked to the original accounting record.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "accounting",
      "ledger",
      "audit"
    ],
    "requestDescription": "Expected to receive the original journal entry reference, reversal date and reason.",
    "responseDescription": "Returns the reversing entry identifier, status and link to the original entry.",
    "translations": {
      "ru": {
        "title": "Сторнирование бухгалтерской записи",
        "summary": "Сторнировать ранее проведённую запись без удаления её истории.",
        "description": "Создаёт проверяемую сторнирующую запись со ссылкой на исходную бухгалтерскую запись.",
        "requestDescription": "Ожидаются ссылка на исходную запись, дата сторнирования и причина.",
        "responseDescription": "Возвращает идентификатор сторнирующей записи, статус и связь с исходной записью."
      }
    }
  },
  {
    "code": "accounting.period.close",
    "title": "Close accounting period",
    "summary": "Close an accounting period after required checks and adjustments.",
    "description": "Prevents ordinary postings into a completed period while retaining an auditable close result and controlled adjustment policy.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "accounting",
      "period-close",
      "controls"
    ],
    "requestDescription": "Expected to receive the period, organization scope, close policy and confirmation of required checks.",
    "responseDescription": "Returns the close status, detected blockers and resulting period state.",
    "translations": {
      "ru": {
        "title": "Закрытие учётного периода",
        "summary": "Закрыть учётный период после обязательных проверок и корректировок.",
        "description": "Ограничивает обычные проводки в завершённом периоде, сохраняя проверяемый результат закрытия и управляемые правила корректировок.",
        "requestDescription": "Ожидаются период, область организации, политика закрытия и подтверждение обязательных проверок.",
        "responseDescription": "Возвращает статус закрытия, обнаруженные препятствия и итоговое состояние периода."
      }
    }
  },
  {
    "code": "accounting.report.generate",
    "title": "Generate accounting report",
    "summary": "Generate an accounting report from recorded ledger data.",
    "description": "Produces a versioned report for a period and organization scope using an explicit report definition and accounting policy.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "accounting",
      "reporting",
      "ledger"
    ],
    "requestDescription": "Expected to receive report type, period, organization scope, currency and presentation parameters.",
    "responseDescription": "Returns report status, structured report data and a document reference when available.",
    "translations": {
      "ru": {
        "title": "Формирование бухгалтерского отчёта",
        "summary": "Сформировать бухгалтерский отчёт по данным учётного регистра.",
        "description": "Формирует версионируемый отчёт за период и по заданной области организации согласно явному виду отчёта и учётной политике.",
        "requestDescription": "Ожидаются вид отчёта, период, область организации, валюта и параметры представления.",
        "responseDescription": "Возвращает статус, структурированные данные отчёта и ссылку на документ, если он сформирован."
      }
    }
  },
  {
    "code": "cad.document.inspect",
    "title": "Inspect a CAD document",
    "summary": "Read a paginated object inventory and supported operations without changing the document.",
    "description": "Read a paginated object inventory and supported operations without changing the document. Draft contract; adapter support must be explicitly verified. See docs/cad.md for revision, geometry and execution semantics.",
    "requestDescription": "Document ID, requested length unit, optional revision, parent filter and revision-bound pagination.",
    "responseDescription": "Document revision, object IDs and kinds, next cursor and verified adapter operations.",
    "status": "draft",
    "version": "0.1.0",
    "tags": [
      "cad",
      "document"
    ],
    "annotations": {
      "readOnlyHint": true,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "translations": {
      "ru": {
        "title": "Просмотреть документ САПР",
        "summary": "Получить ревизию, объекты и поддерживаемые операции без изменения документа."
      }
    }
  },
  {
    "code": "cad.sketch.constraints.add",
    "title": "Add sketch constraints",
    "summary": "Atomically add geometric and dimensional constraints; solve the sketch or leave it unchanged.",
    "description": "Atomically add geometric and dimensional constraints; solve the sketch or leave it unchanged. Draft contract; adapter support must be explicitly verified. See docs/cad.md for revision, geometry and execution semantics.",
    "requestDescription": "Mutation context, sketch ID and geometric/dimensional constraints referencing existing entities.",
    "responseDescription": "Created constraint references and client ID bindings at the new revision.",
    "status": "draft",
    "version": "0.1.0",
    "tags": [
      "cad",
      "sketch"
    ],
    "annotations": {
      "readOnlyHint": false,
      "destructiveHint": true,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "translations": {
      "ru": {
        "title": "Добавить ограничения эскиза",
        "summary": "Пакетно добавить геометрические ограничения и размеры с пересчётом эскиза."
      }
    }
  },
  {
    "code": "cad.sketch.create",
    "title": "Create a sketch",
    "summary": "Create an empty planar sketch in an explicit right-handed frame.",
    "description": "Create an empty planar sketch in an explicit right-handed frame. Draft contract; adapter support must be explicitly verified. See docs/cad.md for revision, geometry and execution semantics.",
    "requestDescription": "Mutation context and plane frame: origin, orthonormal xAxis and yAxis in document world coordinates.",
    "responseDescription": "New sketch reference at the new revision.",
    "status": "draft",
    "version": "0.1.0",
    "tags": [
      "cad",
      "sketch"
    ],
    "annotations": {
      "readOnlyHint": false,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "translations": {
      "ru": {
        "title": "Создать эскиз",
        "summary": "Создать пустой плоский эскиз в явно заданной системе координат."
      }
    }
  },
  {
    "code": "cad.sketch.entities.add",
    "title": "Add sketch geometry",
    "summary": "Atomically add a batch of lines, circles and circular arcs in sketch coordinates.",
    "description": "Atomically add a batch of lines, circles and circular arcs in sketch coordinates. Draft contract; adapter support must be explicitly verified. See docs/cad.md for revision, geometry and execution semantics.",
    "requestDescription": "Mutation context, sketch ID and up to 1000 entities with unique client IDs.",
    "responseDescription": "Created entity references and client ID bindings at the new revision.",
    "status": "draft",
    "version": "0.1.0",
    "tags": [
      "cad",
      "sketch"
    ],
    "annotations": {
      "readOnlyHint": false,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "translations": {
      "ru": {
        "title": "Добавить геометрию эскиза",
        "summary": "Пакетно добавить отрезки, окружности и дуги в координатах эскиза."
      }
    }
  },
  {
    "code": "cad.solid.boolean",
    "title": "Combine solid bodies",
    "summary": "Union, subtract or intersect a target body with tool bodies; consume tools on success.",
    "description": "Union, subtract or intersect a target body with tool bodies; consume tools on success. Draft contract; adapter support must be explicitly verified. See docs/cad.md for revision, geometry and execution semantics.",
    "requestDescription": "Mutation context, target body, distinct tool bodies and union/subtract/intersect mode.",
    "responseDescription": "Feature and resulting body references; invalidated source references. Empty or disconnected non-solid result is an error.",
    "status": "draft",
    "version": "0.1.0",
    "tags": [
      "cad",
      "solid"
    ],
    "annotations": {
      "readOnlyHint": false,
      "destructiveHint": true,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "translations": {
      "ru": {
        "title": "Выполнить булеву операцию",
        "summary": "Объединить, вычесть или пересечь тела с явно выбранным целевым телом."
      }
    }
  },
  {
    "code": "cad.solid.chamfer",
    "title": "Chamfer solid edges",
    "summary": "Apply an equal-distance chamfer to explicitly selected edges of a solid body.",
    "description": "Apply an equal-distance chamfer to explicitly selected edges of a solid body. Draft contract; adapter support must be explicitly verified. See docs/cad.md for revision, geometry and execution semantics.",
    "requestDescription": "Mutation context, body ID, distinct edge IDs and positive setback distance on both adjacent faces.",
    "responseDescription": "Feature and updated body references with invalidated topology references.",
    "status": "draft",
    "version": "0.1.0",
    "tags": [
      "cad",
      "solid"
    ],
    "annotations": {
      "readOnlyHint": false,
      "destructiveHint": true,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "translations": {
      "ru": {
        "title": "Создать фаску",
        "summary": "Создать равностороннюю фаску на выбранных рёбрах тела."
      }
    }
  },
  {
    "code": "cad.solid.extrude",
    "title": "Extrude a profile",
    "summary": "Create a new solid body from a closed sketch profile along its plane normal for a positive distance.",
    "description": "Create a new solid body from a closed sketch profile along its plane normal for a positive distance. Draft contract; adapter support must be explicitly verified. See docs/cad.md for revision, geometry and execution semantics.",
    "requestDescription": "Mutation context, sketch ID, world-space unit direction parallel to its normal and positive distance.",
    "responseDescription": "New feature and solid body references at the new revision.",
    "status": "draft",
    "version": "0.1.0",
    "tags": [
      "cad",
      "solid"
    ],
    "annotations": {
      "readOnlyHint": false,
      "destructiveHint": true,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "translations": {
      "ru": {
        "title": "Выдавить профиль",
        "summary": "Создать новое твёрдое тело выдавливанием замкнутого эскиза."
      }
    }
  },
  {
    "code": "cad.solid.fillet",
    "title": "Fillet solid edges",
    "summary": "Apply a constant-radius fillet to explicitly selected edges of a solid body.",
    "description": "Apply a constant-radius fillet to explicitly selected edges of a solid body. Draft contract; adapter support must be explicitly verified. See docs/cad.md for revision, geometry and execution semantics.",
    "requestDescription": "Mutation context, body ID, distinct edge IDs and positive radius.",
    "responseDescription": "Feature and updated body references with invalidated topology references.",
    "status": "draft",
    "version": "0.1.0",
    "tags": [
      "cad",
      "solid"
    ],
    "annotations": {
      "readOnlyHint": false,
      "destructiveHint": true,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "translations": {
      "ru": {
        "title": "Скруглить рёбра",
        "summary": "Скруглить выбранные рёбра тела постоянным радиусом."
      }
    }
  },
  {
    "code": "cad.solid.revolve",
    "title": "Revolve a profile",
    "summary": "Create a new solid body by rotating a closed sketch profile about an explicit coplanar axis.",
    "description": "Create a new solid body by rotating a closed sketch profile about an explicit coplanar axis. Draft contract; adapter support must be explicitly verified. See docs/cad.md for revision, geometry and execution semantics.",
    "requestDescription": "Mutation context, sketch ID, world-space axis and right-hand positive angle in degrees up to 360.",
    "responseDescription": "New feature and solid body references at the new revision.",
    "status": "draft",
    "version": "0.1.0",
    "tags": [
      "cad",
      "solid"
    ],
    "annotations": {
      "readOnlyHint": false,
      "destructiveHint": true,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "translations": {
      "ru": {
        "title": "Вращать профиль",
        "summary": "Создать новое твёрдое тело вращением замкнутого профиля вокруг оси."
      }
    }
  },
  {
    "code": "commerce.offer.respond",
    "title": "Respond to an offer",
    "summary": "Accept or reject an immutable offer revision and correlate the resulting commercial order. Does not execute a payment.",
    "description": "Accept or reject an immutable offer revision and correlate the resulting commercial order. Does not execute a payment.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "commerce",
      "offer"
    ],
    "requestDescription": "Typed operation input; secrets are configured on the provider binding, never in business arguments.",
    "responseDescription": "Typed result with business identifiers and an explicit lifecycle state.",
    "translations": {
      "ru": {
        "title": "Принять предложение или отказаться",
        "summary": "Принять предложение или отказаться",
        "description": "Принять предложение или отказаться",
        "requestDescription": "Типизированные данные операции без банковских секретов.",
        "responseDescription": "Идентификаторы и явный статус результата."
      }
    }
  },
  {
    "code": "commerce.order.list",
    "title": "List commercial orders",
    "summary": "List agreed orders with immutable line snapshots and shared business identities.",
    "description": "List agreed orders with immutable line snapshots and shared business identities.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "commerce",
      "order"
    ],
    "requestDescription": "Typed operation input; secrets are configured on the provider binding, never in business arguments.",
    "responseDescription": "Typed result with business identifiers and an explicit lifecycle state.",
    "translations": {
      "ru": {
        "title": "Получить коммерческие заказы",
        "summary": "Получить коммерческие заказы",
        "description": "Получить коммерческие заказы",
        "requestDescription": "Типизированные данные операции без банковских секретов.",
        "responseDescription": "Идентификаторы и явный статус результата."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.accept",
    "title": "Accept exchange document",
    "summary": "Accept the business contents of an incoming electronic document.",
    "description": "Completes the provider workflow transition that confirms acceptance of an incoming business document or selected attachments. This is a legal or commercial decision, not a transport-level delivery acknowledgement.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "exchange",
      "accept",
      "signature"
    ],
    "requestDescription": "Requires a document identifier, explicit signing mode and legal-action confirmation. A workflow action reference and selected attachment identifiers may be supplied when the provider supports configurable or partial approval.",
    "responseDescription": "Returns the normalized document after processing, whether the action completed and the identifiers of explicitly selected attachments.",
    "translations": {
      "ru": {
        "title": "Принять электронный документ",
        "summary": "Подтвердить деловое содержание входящего электронного документа.",
        "description": "Завершает переход регламента провайдера, подтверждающий принятие входящего делового документа или выбранных вложений. Это юридическое или коммерческое решение, а не техническое подтверждение доставки файла.",
        "requestDescription": "Обязательны идентификатор документа, явный режим подписи и подтверждение юридически значимого действия. Для настраиваемого регламента или частичного принятия можно передать ссылку на действие и идентификаторы выбранных вложений.",
        "responseDescription": "Возвращает нормализованный документ после обработки, признак завершения действия и идентификаторы явно выбранных вложений."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.acceptCancellation",
    "title": "Accept exchange document cancellation",
    "summary": "Accept a counterparty request to cancel an exchanged electronic document.",
    "description": "Signs and completes the provider workflow transition that accepts a cancellation agreement for a business document or selected attachments.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "exchange",
      "cancellation",
      "accept",
      "signature"
    ],
    "requestDescription": "Requires a document identifier, explicit signing mode and legal-action confirmation. Selected attachment identifiers, a comment and a provider workflow action may be supplied.",
    "responseDescription": "Returns the normalized document after accepting cancellation, whether the action completed and the identifiers of explicitly selected attachments.",
    "translations": {
      "ru": {
        "title": "Принять аннулирование электронного документа",
        "summary": "Согласиться с запросом контрагента на аннулирование электронного документа.",
        "description": "Подписывает и завершает переход регламента провайдера, подтверждающий соглашение об аннулировании делового документа или выбранных вложений.",
        "requestDescription": "Обязательны идентификатор документа, явный режим подписи и подтверждение юридически значимого действия. Можно передать идентификаторы выбранных вложений, комментарий и действие регламента провайдера.",
        "responseDescription": "Возвращает нормализованный документ после принятия аннулирования, признак завершения действия и идентификаторы явно выбранных вложений."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.completeSigning",
    "title": "Complete exchange document signing",
    "summary": "Submit externally created signatures and complete a document workflow action.",
    "description": "Uploads detached signatures created in a trusted environment and executes the exact EDI workflow action for which the document artifacts were prepared.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "signature",
      "complete"
    ],
    "requestDescription": "Requires the document, exact workflow action, signatures linked to prepared target identifiers and explicit confirmation of the legal action.",
    "responseDescription": "Returns the resulting document state, completion flag and identifiers of signed targets.",
    "translations": {
      "ru": {
        "title": "Завершить подписание электронного документа",
        "summary": "Передать внешние подписи и завершить действие регламента документа.",
        "description": "Загружает отсоединённые подписи, созданные в доверенной среде, и выполняет точное действие регламента ЭДО, для которого были подготовлены объекты документа.",
        "requestDescription": "Обязательны документ, точное действие регламента, подписи с идентификаторами подготовленных объектов и явное подтверждение юридически значимого действия.",
        "responseDescription": "Возвращает итоговое состояние документа, признак завершения и идентификаторы подписанных объектов."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.create",
    "title": "Create exchange document draft",
    "summary": "Create an electronic business document draft without sending it.",
    "description": "Creates a provider-side draft containing document metadata, parties and one or more attachments. The operation does not sign the document or start external document exchange.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "exchange",
      "create",
      "draft"
    ],
    "requestDescription": "Requires a client reference, document type and at least one attachment. Parties, workflow, dates, amount and provider identifiers are optional.",
    "responseDescription": "Returns the normalized provider-side draft, whether it was newly created and any provider messages.",
    "translations": {
      "ru": {
        "title": "Создать черновик электронного документа",
        "summary": "Создать электронный деловой документ без его отправки.",
        "description": "Создаёт у оператора черновик с реквизитами документа, сторонами и одним или несколькими вложениями. Операция не подписывает документ и не запускает внешний документооборот.",
        "requestDescription": "Обязательны ссылка на объект исходной системы, тип документа и хотя бы одно вложение. Стороны, регламент, даты, сумма и идентификаторы провайдера необязательны.",
        "responseDescription": "Возвращает нормализованный черновик у провайдера, признак создания и сообщения провайдера."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.get",
    "title": "Get exchange document",
    "summary": "Read an electronic business document or a specific revision.",
    "description": "Returns the current or requested revision of a provider-side document envelope with normalized parties, attachments, events and download references.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "exchange",
      "read"
    ],
    "requestDescription": "Expected to receive a stable document, revision or provider identifier and an optional extended-fields flag.",
    "responseDescription": "Returns the normalized document and marks partial provider responses explicitly.",
    "translations": {
      "ru": {
        "title": "Получить электронный документ",
        "summary": "Прочитать электронный деловой документ или его конкретную редакцию.",
        "description": "Возвращает текущую или указанную редакцию пакета у оператора с нормализованными сторонами, вложениями, событиями и ссылками для скачивания.",
        "requestDescription": "Ожидается устойчивый идентификатор документа, редакции или провайдера и необязательный признак расширенных полей.",
        "responseDescription": "Возвращает нормализованный документ и явно отмечает частичный ответ провайдера."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.list",
    "title": "List exchange documents",
    "summary": "List electronic business documents visible to the authenticated account.",
    "description": "Reads incoming, outgoing or internal document envelopes from an exchange provider and returns normalized document metadata, parties, attachments and lifecycle state.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "exchange",
      "list"
    ],
    "requestDescription": "Expected to receive optional document type, direction, state, date range, organization, counterparty and opaque pagination token.",
    "responseDescription": "Returns normalized documents and an opaque token for the next page when available.",
    "translations": {
      "ru": {
        "title": "Получить список электронных документов",
        "summary": "Получить электронные деловые документы, доступные авторизованной учётной записи.",
        "description": "Читает входящие, исходящие или внутренние пакеты у оператора обмена и возвращает нормализованные реквизиты, стороны, вложения и состояние документооборота.",
        "requestDescription": "Ожидаются необязательные тип, направление и состояние документа, диапазон дат, организация, контрагент и непрозрачный токен страницы.",
        "responseDescription": "Возвращает нормализованные документы и непрозрачный токен следующей страницы, если она существует."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.listChanges",
    "title": "List exchange document changes",
    "summary": "Read lifecycle events for electronic documents incrementally.",
    "description": "Polls document exchange changes after a timestamp or opaque cursor so a consuming system can synchronize states without repeatedly loading the complete document journal.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "exchange",
      "events",
      "synchronization"
    ],
    "requestDescription": "Expected to receive a starting timestamp or opaque cursor, optional document filters and page size.",
    "responseDescription": "Returns normalized document events, associated document snapshots, the polling boundary and a resumable opaque cursor.",
    "translations": {
      "ru": {
        "title": "Получить изменения электронных документов",
        "summary": "Инкрементально получить события жизненного цикла электронных документов.",
        "description": "Читает изменения документооборота после времени или непрозрачного курсора, чтобы приложение синхронизировало состояния без повторной загрузки всего журнала.",
        "requestDescription": "Ожидаются начальное время или непрозрачный курсор, необязательные фильтры документа и размер страницы.",
        "responseDescription": "Возвращает нормализованные события, связанные снимки документов, границу опроса и курсор для продолжения."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.prepareSigning",
    "title": "Prepare exchange document signing",
    "summary": "Prepare document workflow artifacts for signing outside the EDI provider.",
    "description": "Prepares a selected document workflow action, generates required service documents and returns the exact attachment digests that a trusted signature provider must sign.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "signature",
      "prepare"
    ],
    "requestDescription": "Requires a document, an exact workflow action and a public certificate reference. Selected attachments and a comment may be supplied.",
    "responseDescription": "Returns the prepared document, action and signing targets with Base64 digests and temporary content links when available.",
    "translations": {
      "ru": {
        "title": "Подготовить электронный документ к подписанию",
        "summary": "Подготовить объекты регламента документа для подписи вне оператора ЭДО.",
        "description": "Подготавливает выбранное действие регламента, формирует необходимые служебные документы и возвращает точные хеши вложений, которые должен подписать доверенный провайдер подписи.",
        "requestDescription": "Обязательны документ, точное действие регламента и открытая ссылка на сертификат. Можно выбрать вложения и передать комментарий.",
        "responseDescription": "Возвращает подготовленный документ, действие и объекты подписи с хешами Base64 и временными ссылками на содержимое, если они доступны."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.reject",
    "title": "Reject exchange document",
    "summary": "Reject the business contents of an incoming electronic document.",
    "description": "Completes the provider workflow transition that refuses acceptance of an incoming business document or selected attachments and records a mandatory reason.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "exchange",
      "reject",
      "signature"
    ],
    "requestDescription": "Requires a document identifier, rejection reason, explicit signing mode and legal-action confirmation. A workflow action reference and selected attachment identifiers may be supplied.",
    "responseDescription": "Returns the normalized document after processing, whether the action completed and the identifiers of explicitly selected attachments.",
    "translations": {
      "ru": {
        "title": "Отклонить электронный документ",
        "summary": "Отказаться принимать деловое содержание входящего электронного документа.",
        "description": "Завершает переход регламента провайдера, означающий отказ принять входящий деловой документ или выбранные вложения, и сохраняет обязательную причину отклонения.",
        "requestDescription": "Обязательны идентификатор документа, причина отклонения, явный режим подписи и подтверждение юридически значимого действия. Также можно передать ссылку на действие и идентификаторы выбранных вложений.",
        "responseDescription": "Возвращает нормализованный документ после обработки, признак завершения действия и идентификаторы явно выбранных вложений."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.rejectCancellation",
    "title": "Reject exchange document cancellation",
    "summary": "Reject a counterparty request to cancel an exchanged electronic document.",
    "description": "Completes the provider workflow transition that refuses a cancellation agreement and records a mandatory reason. The original business document remains effective.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "exchange",
      "cancellation",
      "reject",
      "signature"
    ],
    "requestDescription": "Requires a document identifier, rejection reason, explicit signing mode and legal-action confirmation. Selected attachment identifiers and a provider workflow action may be supplied.",
    "responseDescription": "Returns the normalized document after rejecting cancellation, whether the action completed and the identifiers of explicitly selected attachments.",
    "translations": {
      "ru": {
        "title": "Отклонить аннулирование электронного документа",
        "summary": "Отказаться от предложенного контрагентом аннулирования электронного документа.",
        "description": "Завершает переход регламента провайдера, отклоняющий соглашение об аннулировании, и сохраняет обязательную причину. Исходный деловой документ продолжает действовать.",
        "requestDescription": "Обязательны идентификатор документа, причина отказа, явный режим подписи и подтверждение юридически значимого действия. Можно передать идентификаторы выбранных вложений и действие регламента провайдера.",
        "responseDescription": "Возвращает нормализованный документ после отклонения аннулирования, признак завершения действия и идентификаторы явно выбранных вложений."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.requestCancellation",
    "title": "Request exchange document cancellation",
    "summary": "Initiate a bilateral agreement to cancel an exchanged electronic document.",
    "description": "Creates and sends a legally significant cancellation request for an exchanged business document or selected attachments. The document is not considered cancelled until the counterparty accepts the request.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "exchange",
      "cancellation",
      "signature"
    ],
    "requestDescription": "Requires a document identifier, cancellation reason, explicit signing mode and legal-action confirmation. Selected attachment identifiers and a provider workflow action may be supplied.",
    "responseDescription": "Returns the normalized document after initiating cancellation, whether the action completed and the identifiers of explicitly selected attachments.",
    "translations": {
      "ru": {
        "title": "Запросить аннулирование электронного документа",
        "summary": "Инициировать двустороннее соглашение об аннулировании электронного документа.",
        "description": "Создаёт и отправляет юридически значимый запрос на аннулирование делового документа или выбранных вложений. Документ не считается аннулированным, пока контрагент не примет запрос.",
        "requestDescription": "Обязательны идентификатор документа, причина аннулирования, явный режим подписи и подтверждение юридически значимого действия. Можно передать идентификаторы выбранных вложений и действие регламента провайдера.",
        "responseDescription": "Возвращает нормализованный документ после запуска аннулирования, признак завершения действия и идентификаторы явно выбранных вложений."
      }
    }
  },
  {
    "code": "documents.exchangeDocument.send",
    "title": "Send exchange document",
    "summary": "Start external exchange for an existing electronic document draft.",
    "description": "Submits an existing provider-side draft to its recipient. Because the provider workflow may sign documents while sending, the caller must explicitly select a signing mode and confirm the legal action.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "edi",
      "exchange",
      "send",
      "signature"
    ],
    "requestDescription": "Requires a stable document or revision identifier, an explicit signing mode and legal-action confirmation.",
    "responseDescription": "Returns whether the provider accepted the action and the normalized document state after processing.",
    "translations": {
      "ru": {
        "title": "Отправить электронный документ",
        "summary": "Запустить внешний документооборот для существующего черновика.",
        "description": "Передаёт существующий у оператора черновик получателю. Поскольку регламент провайдера может подписать документ во время отправки, вызывающая сторона обязана явно выбрать режим подписи и подтвердить юридически значимое действие.",
        "requestDescription": "Обязательны устойчивый идентификатор документа или редакции, явный режим подписи и подтверждение юридически значимого действия.",
        "responseDescription": "Возвращает признак принятия действия провайдером и нормализованное состояние документа после обработки."
      }
    }
  },
  {
    "code": "documents.invoice.recognize",
    "title": "Recognize a supplier invoice",
    "summary": "Extract invoice fields and lines from prepared document pages without business writes.",
    "description": "Provider-neutral structured extraction. Documents are untrusted data. Null means unknown; consumers review, match catalog identities and approve business changes separately. Consumer owns storage, permissions, budget and deduplication. Inference must not be retried after an unknown result.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "documents",
      "ai",
      "invoice"
    ],
    "requestDescription": "One to five ordered pages, each plain text or a prepared JPEG data URL. Provider credentials and configuration are outside business input.",
    "responseDescription": "Invoice with decimal strings, unknown fields as null, source page numbers, validation warnings and nullable provider cost. No ERP identifiers."
  },
  {
    "code": "finance.bankTransfer.createDraft",
    "title": "Create a bank transfer draft",
    "summary": "Create an outgoing corporate bank draft requiring separate authorization. This operation does not assert execution.",
    "description": "Create an outgoing corporate bank draft requiring separate authorization. This operation does not assert execution.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "bankTransfer"
    ],
    "requestDescription": "Typed operation input; secrets are configured on the provider binding, never in business arguments.",
    "responseDescription": "Typed result with business identifiers and an explicit lifecycle state.",
    "translations": {
      "ru": {
        "title": "Создать черновик поручения в банке",
        "summary": "Создать черновик поручения в банке",
        "description": "Создать черновик поручения в банке",
        "requestDescription": "Типизированные данные операции без банковских секретов.",
        "responseDescription": "Идентификаторы и явный статус результата."
      }
    }
  },
  {
    "code": "finance.bankTransfer.getStatus",
    "title": "Read bank transfer status",
    "summary": "Read the bank status of an outgoing payment document; only executed means bank execution.",
    "description": "Read the bank status of an outgoing payment document; only executed means bank execution.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "bankTransfer"
    ],
    "requestDescription": "Typed operation input; secrets are configured on the provider binding, never in business arguments.",
    "responseDescription": "Typed result with business identifiers and an explicit lifecycle state.",
    "translations": {
      "ru": {
        "title": "Получить статус банковского поручения",
        "summary": "Получить статус банковского поручения",
        "description": "Получить статус банковского поручения",
        "requestDescription": "Типизированные данные операции без банковских секретов.",
        "responseDescription": "Идентификаторы и явный статус результата."
      }
    }
  },
  {
    "code": "finance.bankTransfer.prepare",
    "title": "Prepare a bank transfer",
    "summary": "Prepare and review a bank transfer from an agreed payable without submitting it to a bank.",
    "description": "Prepare and review a bank transfer from an agreed payable without submitting it to a bank.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "bankTransfer"
    ],
    "requestDescription": "Typed operation input; secrets are configured on the provider binding, never in business arguments.",
    "responseDescription": "Typed result with business identifiers and an explicit lifecycle state.",
    "translations": {
      "ru": {
        "title": "Подготовить банковский платёж",
        "summary": "Подготовить банковский платёж",
        "description": "Подготовить банковский платёж",
        "requestDescription": "Типизированные данные операции без банковских секретов.",
        "responseDescription": "Идентификаторы и явный статус результата."
      }
    }
  },
  {
    "code": "finance.bankTransfer.verifyExecution",
    "title": "Verify outgoing bank transfer execution",
    "summary": "Verify an executed debit against the expected payment using authoritative bank evidence.",
    "description": "Read-only verification of bank execution and final amount, currency, payer and beneficiary. Return confirmed only with complete matching evidence and an unambiguous application reference. This does not certify beneficiary credit or perform accounting entries. A provider may use immutable payment details or bank operations internally.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "bankTransfer"
    ],
    "requestDescription": "Typed operation input; secrets are configured on the provider binding, never in business arguments.",
    "responseDescription": "Confirmation state, reason when unresolved, and normalized bank evidence when confirmed.",
    "translations": {
      "ru": {
        "title": "Подтвердить исполнение банковского перевода",
        "summary": "Проверить окончательные реквизиты и исполнение платежа",
        "description": "Автоматически подтвердить исходящий платёж по данным банка. Неполные, изменённые или неоднозначные данные не подтверждают оплату; зачисление получателю проверяется отдельно.",
        "requestDescription": "Типизированные данные операции без банковских секретов.",
        "responseDescription": "Идентификаторы и явный статус результата."
      }
    }
  },
  {
    "code": "finance.fiscalReceipt.create",
    "title": "Create fiscal receipt",
    "summary": "Register a fiscal receipt for a payment, refund or other settlement event.",
    "description": "Universal operation for online cash register fiscalization. A provider adapter may map this operation to CloudKassir receipt APIs or another KKT service.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "receipt",
      "fiscalization",
      "kkt"
    ],
    "requestDescription": "Expected to receive receipt type, taxation system, customer contact, order or payment reference and receipt line items.",
    "responseDescription": "Returns provider receipt id, normalized fiscalization status and fiscal document details when already available.",
    "translations": {
      "ru": {
        "title": "Создать фискальный чек",
        "summary": "Зарегистрировать фискальный чек для оплаты, возврата или другого расчёта.",
        "description": "Универсальная операция для фискализации расчёта через онлайн-кассу. Адаптер провайдера может сопоставить её с API чеков CloudKassir или другого сервиса ККТ.",
        "requestDescription": "Ожидаются тип чека, система налогообложения, контакт покупателя, ссылка на заказ или платёж и позиции чека.",
        "responseDescription": "Возвращает идентификатор чека провайдера, нормализованный статус фискализации и доступные реквизиты фискального документа."
      }
    }
  },
  {
    "code": "finance.fiscalReceipt.createClosing",
    "title": "Create closing fiscal receipt",
    "summary": "Create a closing fiscal receipt for a previously prepaid payment.",
    "description": "Universal operation for closing a fiscal settlement after an earlier payment receipt was created with full prepayment, prepayment or advance payment method. Use it when money was accepted first and the goods or services are transferred later. This operation is intentionally separate from finance.fiscalReceipt.create so adapter authors can distinguish an ordinary fiscal receipt from a closing receipt in providers such as TBank Internet Acquiring.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "receipt",
      "fiscalization",
      "closing-receipt",
      "prepayment"
    ],
    "requestDescription": "Expected to receive providerPaymentId of the already confirmed payment, customer contact, taxation system, receipt line items and payment amounts that close the earlier prepayment or advance.",
    "responseDescription": "Returns provider receipt id or a stable provider-derived receipt reference, normalized fiscalization status and fiscal document details when the provider returns them immediately.",
    "translations": {
      "ru": {
        "title": "Создать закрывающий фискальный чек",
        "summary": "Создать закрывающий чек для ранее принятой предоплаты.",
        "description": "Универсальная операция для закрытия расчёта после чека на полную предоплату, предоплату или аванс. Применяется, когда деньги приняты раньше передачи товаров или услуг, и намеренно отделена от обычного создания чека.",
        "requestDescription": "Ожидаются идентификатор подтверждённого платежа у провайдера, контакт покупателя, система налогообложения, позиции чека и суммы, закрывающие предоплату или аванс.",
        "responseDescription": "Возвращает идентификатор или устойчивую ссылку на чек у провайдера, нормализованный статус и доступные реквизиты фискального документа."
      }
    }
  },
  {
    "code": "finance.fiscalReceipt.getStatus",
    "title": "Get fiscal receipt status",
    "summary": "Read the current fiscalization status of a receipt.",
    "description": "Universal operation for polling or reconciling an online cash register receipt after receipt creation or provider notification.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "receipt",
      "status",
      "fiscalization"
    ],
    "requestDescription": "Expected to receive provider receipt id.",
    "responseDescription": "Returns normalized receipt status, optional message and fiscal document details.",
    "translations": {
      "ru": {
        "title": "Получить статус фискального чека",
        "summary": "Получить текущий статус фискализации чека.",
        "description": "Универсальная операция для опроса или сверки чека онлайн-кассы после его создания либо уведомления провайдера.",
        "requestDescription": "Ожидается идентификатор чека у провайдера.",
        "responseDescription": "Возвращает нормализованный статус чека, необязательное сообщение и реквизиты фискального документа."
      }
    }
  },
  {
    "code": "finance.merchantPayment.cancel",
    "title": "Cancel merchant payment",
    "summary": "Cancel an unfinished payment or reverse funds for a completed payment when the provider supports it.",
    "description": "Universal operation for payment reversal flows. Provider adapters decide whether the external API performs pre-authorization cancellation, full refund or partial refund for the current provider state.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "payment",
      "cancel",
      "refund"
    ],
    "requestDescription": "Expected to receive provider payment id or merchant order id, optional amount, optional receipt data for fiscalization, reason and idempotency key.",
    "responseDescription": "Returns normalized payment status and cancelled or refunded amount when available.",
    "translations": {
      "ru": {
        "title": "Отменить торговый платёж",
        "summary": "Отменить незавершённый платёж или вернуть средства по завершённому платежу, если это поддерживает провайдер.",
        "description": "Универсальная операция для отмены платежей. Адаптер определяет, выполняет ли API отмену авторизации, полный или частичный возврат с учётом текущего состояния платежа.",
        "requestDescription": "Ожидаются идентификатор платежа у провайдера или номер заказа продавца, необязательная сумма, данные чека, причина и ключ идемпотентности.",
        "responseDescription": "Возвращает нормализованный статус платежа и отменённую или возвращённую сумму, если она доступна."
      }
    }
  },
  {
    "code": "finance.merchantPayment.create",
    "title": "Create merchant payment",
    "summary": "Create an incoming merchant payment attempt for an order and return provider payment identifiers.",
    "description": "Universal operation for initiating an incoming customer-to-merchant payment before the customer completes it. It is intended for acquiring, card, QR and checkout-like scenarios, not for arbitrary outgoing bank transfers, payouts or utility bill payments. A provider adapter may map this operation to acquiring APIs such as TBank Internet Acquiring Init.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "payment",
      "acquiring"
    ],
    "requestDescription": "Expected to receive merchant order id, amount, currency, customer contact, allowed payment methods such as card or sbpQr, optional return or notification URLs, and optional receipt data for fiscalization.",
    "responseDescription": "Returns provider payment id, normalized payment status, optional payment URL and provider-specific metadata.",
    "translations": {
      "ru": {
        "title": "Создать торговый платёж",
        "summary": "Создать попытку входящего платежа по заказу и получить идентификаторы провайдера.",
        "description": "Универсальная операция для запуска входящего платежа от покупателя продавцу до его завершения. Предназначена для эквайринга, карт, QR и платёжных форм, но не для исходящих переводов и выплат.",
        "requestDescription": "Ожидаются номер заказа продавца, сумма, валюта, контакт покупателя, допустимые способы оплаты, необязательные URL возврата и уведомлений, а также данные чека.",
        "responseDescription": "Возвращает идентификатор и нормализованный статус платежа, необязательную платёжную ссылку и метаданные провайдера."
      }
    }
  },
  {
    "code": "finance.merchantPayment.createQr",
    "title": "Create merchant payment QR",
    "summary": "Create or fetch a QR payload for an existing payment attempt.",
    "description": "Universal operation for QR-based incoming merchant payment scenarios such as SBP QR. Some providers require a previously created payment and then a separate QR generation call.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "payment",
      "qr",
      "sbp"
    ],
    "requestDescription": "Expected to receive provider payment id or merchant order id, desired QR format and optional provider bank identifier.",
    "responseDescription": "Returns QR payload, SVG image or payment/deep link depending on the provider and requested format.",
    "translations": {
      "ru": {
        "title": "Создать QR-код торгового платежа",
        "summary": "Создать или получить QR-данные для существующей попытки платежа.",
        "description": "Универсальная операция для входящих платежей по QR-коду, включая СБП. Некоторые провайдеры требуют сначала создать платёж, а затем отдельным запросом получить QR-код.",
        "requestDescription": "Ожидаются идентификатор платежа у провайдера или номер заказа продавца, требуемый формат QR и необязательный идентификатор банка.",
        "responseDescription": "Возвращает QR-данные, SVG-изображение, платёжную или глубокую ссылку в зависимости от провайдера и формата."
      }
    }
  },
  {
    "code": "finance.merchantPayment.getStatus",
    "title": "Get merchant payment status",
    "summary": "Read the current normalized status of a payment attempt.",
    "description": "Universal operation for synchronizing local order payment state with an acquiring provider. It complements asynchronous payment notifications and should be idempotent.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "finance",
      "payment",
      "status"
    ],
    "requestDescription": "Expected to receive provider payment id or merchant order id.",
    "responseDescription": "Returns normalized status, provider raw status, amounts, payment method and known timestamps.",
    "translations": {
      "ru": {
        "title": "Получить статус торгового платежа",
        "summary": "Получить текущий нормализованный статус попытки платежа.",
        "description": "Универсальная операция для синхронизации состояния оплаты заказа с эквайринговым провайдером. Дополняет асинхронные уведомления и должна быть идемпотентной.",
        "requestDescription": "Ожидается идентификатор платежа у провайдера или номер заказа продавца.",
        "responseDescription": "Возвращает нормализованный и исходный статусы, суммы, способ оплаты и известные временные метки."
      }
    }
  },
  {
    "code": "inventory.stock.adjust",
    "title": "Adjust stock",
    "summary": "Apply an auditable correction to recorded inventory.",
    "description": "Corrects recorded stock after a physical count, damage, loss, data correction or another justified discrepancy without deleting history.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "inventory",
      "stock",
      "adjustment",
      "audit"
    ],
    "requestDescription": "Expected to receive item and location dimensions, quantity delta or corrected quantity, reason and evidence references.",
    "responseDescription": "Returns the adjustment transaction, previous and resulting quantities, reason and audit metadata.",
    "translations": {
      "ru": {
        "title": "Корректировка запасов",
        "summary": "Применить аудируемое исправление учётного количества запасов.",
        "description": "Исправляет учётный остаток после инвентаризации, повреждения, потери, ошибки данных или другого обоснованного расхождения без удаления истории.",
        "requestDescription": "Ожидаются позиция и место хранения, изменение либо исправленное количество, причина и ссылки на подтверждающие документы.",
        "responseDescription": "Возвращает операцию корректировки, прежнее и итоговое количество, причину и данные аудита."
      }
    }
  },
  {
    "code": "inventory.stock.getAvailability",
    "title": "Get stock availability",
    "summary": "Get on-hand, reserved and available quantities for inventory items.",
    "description": "Reads inventory availability for one or more items with optional location, lot, serial number, owner and effective-time filters.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "inventory",
      "stock",
      "availability"
    ],
    "requestDescription": "Expected to receive item references and optional filters for location, lot, serial number, owner and effective time.",
    "responseDescription": "Returns on-hand, reserved, available and in-transit quantities grouped by the requested inventory dimensions.",
    "translations": {
      "ru": {
        "title": "Получение доступности запасов",
        "summary": "Получить фактическое, зарезервированное и доступное количество складских позиций.",
        "description": "Читает доступность одной или нескольких позиций с необязательными фильтрами по месту хранения, партии, серийному номеру, владельцу и моменту времени.",
        "requestDescription": "Ожидаются ссылки на позиции и необязательные фильтры по месту хранения, партии, серийному номеру, владельцу и моменту времени.",
        "responseDescription": "Возвращает фактическое, зарезервированное, доступное и находящееся в пути количество в разрезе запрошенных измерений."
      }
    }
  },
  {
    "code": "inventory.stock.issue",
    "title": "Issue stock",
    "summary": "Record physical inventory leaving a storage location.",
    "description": "Creates an auditable outbound inventory transaction for production consumption, order fulfilment, transfer or another stated reason.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "inventory",
      "stock",
      "issue"
    ],
    "requestDescription": "Expected to receive source location, items, quantities, issue reason and optional reservation or destination references.",
    "responseDescription": "Returns the issue transaction, issued quantities, remaining availability and any rejected lines.",
    "translations": {
      "ru": {
        "title": "Выдача запасов",
        "summary": "Зафиксировать выбытие физических запасов из места хранения.",
        "description": "Создаёт аудируемую операцию выдачи запасов в производство, на выполнение заказа, для перемещения или по другой указанной причине.",
        "requestDescription": "Ожидаются место хранения, позиции, количества, причина выдачи и необязательные ссылки на резерв или место назначения.",
        "responseDescription": "Возвращает операцию выдачи, выданные количества, оставшуюся доступность и отклонённые строки."
      }
    }
  },
  {
    "code": "inventory.stock.receive",
    "title": "Receive stock",
    "summary": "Record physical inventory received into a storage location.",
    "description": "Creates an auditable inbound inventory transaction for purchased, returned, transferred or manufactured goods.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "inventory",
      "stock",
      "receipt"
    ],
    "requestDescription": "Expected to receive source references, destination location, items, quantities and optional lot or serial identifiers.",
    "responseDescription": "Returns the receipt transaction, accepted quantities, resulting stock references and any rejected lines.",
    "translations": {
      "ru": {
        "title": "Приёмка запасов",
        "summary": "Зафиксировать поступление физических запасов в место хранения.",
        "description": "Создаёт аудируемую операцию поступления закупленных, возвращённых, перемещённых или произведённых товаров.",
        "requestDescription": "Ожидаются ссылки на источник, место приёмки, позиции, количества и необязательные номера партий или серийные номера.",
        "responseDescription": "Возвращает операцию приёмки, принятые количества, ссылки на созданные запасы и отклонённые строки."
      }
    }
  },
  {
    "code": "inventory.stock.release",
    "title": "Release stock reservation",
    "summary": "Return reserved inventory to availability without moving it physically.",
    "description": "Fully or partially releases a stock reservation when its demand is cancelled, reduced or reallocated.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "inventory",
      "stock",
      "reservation"
    ],
    "requestDescription": "Expected to receive reservation references, quantities to release and a release reason.",
    "responseDescription": "Returns released quantities, remaining reservations and resulting availability.",
    "translations": {
      "ru": {
        "title": "Освобождение резерва",
        "summary": "Вернуть зарезервированные запасы в доступное количество без физического перемещения.",
        "description": "Полностью или частично освобождает резерв, когда потребность отменена, уменьшена или перераспределена.",
        "requestDescription": "Ожидаются ссылки на резервы, освобождаемые количества и причина освобождения.",
        "responseDescription": "Возвращает освобождённые количества, оставшиеся резервы и итоговую доступность."
      }
    }
  },
  {
    "code": "inventory.stock.reserve",
    "title": "Reserve stock",
    "summary": "Allocate available inventory to a demand without moving it physically.",
    "description": "Creates a reservation against available stock for an order, work order, transfer or another demand reference.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "inventory",
      "stock",
      "reservation"
    ],
    "requestDescription": "Expected to receive demand reference, items, quantities and optional location, lot, serial and expiration constraints.",
    "responseDescription": "Returns reservation identifiers, allocated quantities, shortages and resulting availability.",
    "translations": {
      "ru": {
        "title": "Резервирование запасов",
        "summary": "Выделить доступные запасы под потребность без физического перемещения.",
        "description": "Создаёт резерв доступного запаса под заказ, производственное задание, перемещение или другую потребность.",
        "requestDescription": "Ожидаются ссылка на потребность, позиции, количества и необязательные ограничения по месту, партии, серийному номеру и сроку действия.",
        "responseDescription": "Возвращает идентификаторы резервов, выделенные количества, дефицит и итоговую доступность."
      }
    }
  },
  {
    "code": "inventory.stock.transfer",
    "title": "Transfer stock",
    "summary": "Move physical inventory between storage locations.",
    "description": "Creates and tracks an inventory transfer between locations while preserving an auditable chain from issue through transit to receipt.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "inventory",
      "stock",
      "transfer"
    ],
    "requestDescription": "Expected to receive source and destination locations, items, quantities and optional lot, serial and transport references.",
    "responseDescription": "Returns the transfer identifier, lifecycle status, moved quantities and source and destination transactions.",
    "translations": {
      "ru": {
        "title": "Перемещение запасов",
        "summary": "Переместить физические запасы между местами хранения.",
        "description": "Создаёт и отслеживает складское перемещение, сохраняя аудируемую цепочку от выдачи через состояние в пути до приёмки.",
        "requestDescription": "Ожидаются исходное и конечное места хранения, позиции, количества и необязательные ссылки на партии, серийные номера и перевозку.",
        "responseDescription": "Возвращает идентификатор перемещения, статус жизненного цикла, перемещённые количества и связанные операции выдачи и приёмки."
      }
    }
  },
  {
    "code": "it.access.authorize",
    "title": "Authorize access",
    "summary": "Check whether an authenticated subject may perform an action on a resource or operation.",
    "description": "Universal IAM operation for authorization decisions. It is intended for RBAC, ABAC, scope-based and policy-based systems. The registry defines the decision contract, but not application-specific role names, permission names or policy storage. Consuming systems map their local access model to this operation.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "it",
      "access",
      "authorization",
      "iam",
      "rbac",
      "abac",
      "permission",
      "scope",
      "policy"
    ],
    "requestDescription": "Expected to receive an authenticated subject, action, resource or operation reference, required permissions/scopes and optional execution context.",
    "responseDescription": "Returns allow, deny or indeterminate decision with matched and missing permissions/scopes, reason codes, obligations and metadata.",
    "translations": {
      "ru": {
        "title": "Авторизовать доступ",
        "summary": "Проверить, может ли аутентифицированный субъект выполнить действие над ресурсом или операцией.",
        "description": "Универсальная IAM-операция принятия решения о доступе для RBAC, ABAC, scopes и политик. Реестр задаёт контракт решения, но не навязывает приложениям названия ролей, разрешений или способ хранения политик.",
        "requestDescription": "Ожидаются аутентифицированный субъект, действие, ссылка на ресурс или операцию, необходимые разрешения или scopes и необязательный контекст выполнения.",
        "responseDescription": "Возвращает решение allow, deny или indeterminate, совпавшие и отсутствующие разрешения или scopes, коды причин, обязательства и метаданные."
      }
    }
  },
  {
    "code": "it.access.policy.evaluate",
    "title": "Evaluate access policy",
    "summary": "Evaluate effective roles, permissions, scopes and resource decisions for a subject in context.",
    "description": "Universal IAM operation for policy evaluation and bootstrap-like flows where a client or middleware needs a normalized view of what an identity can do. It can support RBAC expansion, scope introspection, policy engines and capability bootstrapping without imposing a specific application permission catalog.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "it",
      "access",
      "authorization",
      "iam",
      "policy",
      "permission",
      "scope",
      "bootstrap"
    ],
    "requestDescription": "Expected to receive subject, optional resources or operation references, optional policy set identifier and execution context.",
    "responseDescription": "Returns the overall decision, effective roles, permissions, scopes and optional per-resource decisions.",
    "translations": {
      "ru": {
        "title": "Вычислить политику доступа",
        "summary": "Вычислить эффективные роли, разрешения, scopes и решения по ресурсам для субъекта в заданном контексте.",
        "description": "Универсальная IAM-операция для вычисления политик и начальной загрузки прав клиента. Поддерживает раскрытие RBAC, проверку scopes и policy engines без навязывания каталога разрешений конкретного приложения.",
        "requestDescription": "Ожидаются субъект, необязательные ресурсы или ссылки на операции, идентификатор набора политик и контекст выполнения.",
        "responseDescription": "Возвращает общее решение, эффективные роли, разрешения, scopes и необязательные решения по отдельным ресурсам."
      }
    }
  },
  {
    "code": "it.aiResponse.create",
    "title": "Create an AI assistant response",
    "summary": "Generate a response with optional tool execution and explicit approval continuation.",
    "description": "Create a model response or continue a previous response. The application owns user authorization, conversation ownership, tool credentials and approval decisions. A response may include tool calls with side effects; transport retries must not silently repeat them.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "it",
      "ai",
      "assistant"
    ],
    "requestDescription": "A user message or explicit decisions for pending tool approvals, plus an optional provider response reference. Secrets and provider configuration are not business input.",
    "responseDescription": "Response reference, completion state, text, pending approvals, tool execution summary and token usage.",
    "translations": {
      "ru": {
        "title": "Создать ответ AI-помощника",
        "summary": "Ответ модели с инструментами, историей и подтверждениями действий.",
        "description": "Приложение проверяет права, владельца истории и подтверждения. Адаптер вызывает модель; секреты не входят в бизнес-параметры.",
        "requestDescription": "Сообщение или решения по ожидающим действиям.",
        "responseDescription": "Текст, состояние, ссылка на ответ, подтверждения и использование токенов."
      }
    }
  },
  {
    "code": "it.identity.authenticate",
    "title": "Authenticate identity",
    "summary": "Authenticate a user, service account, application or external integration and return a runtime credential context.",
    "description": "Universal IAM operation for establishing the identity of a subject. It covers user login, service account authentication, API key validation, OAuth2 client credentials exchange, provider session login and custom machine-to-machine authentication flows. The operation does not define application-specific roles or permission names; consuming systems map their local identity model to this contract.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "it",
      "identity",
      "authentication",
      "iam",
      "credential",
      "session",
      "token"
    ],
    "requestDescription": "Expected to receive subject hints, authentication method, credentials or credential reference, requested access mode, optional scopes, audience and execution context.",
    "responseDescription": "Returns authentication status, normalized subject data, access mode used, optional credential material or challenge information, and provider/runtime metadata.",
    "translations": {
      "ru": {
        "title": "Аутентифицировать субъект",
        "summary": "Аутентифицировать пользователя, сервисный аккаунт, приложение или внешнюю интеграцию и вернуть контекст учётных данных.",
        "description": "Универсальная IAM-операция установления личности субъекта. Покрывает вход пользователя, сервисные аккаунты, API-ключи, OAuth2 Client Credentials, сессии провайдеров и другие межмашинные сценарии.",
        "requestDescription": "Ожидаются сведения о субъекте, способ аутентификации, учётные данные или ссылка на них, требуемый режим доступа, необязательные scopes, audience и контекст выполнения.",
        "responseDescription": "Возвращает статус аутентификации, нормализованные сведения о субъекте, использованный режим доступа, учётные данные или challenge и метаданные."
      }
    }
  },
  {
    "code": "it.identity.token.refresh",
    "title": "Refresh identity token",
    "summary": "Refresh a short-lived access token or session credential using an existing refresh credential.",
    "description": "Universal IAM operation for rotating or refreshing credentials without repeating the primary authentication flow. It applies to refresh tokens, provider sessions, service credentials and other expiring identity artifacts. Storage, encryption and refresh scheduling remain the responsibility of the consuming runtime.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "it",
      "identity",
      "authentication",
      "iam",
      "token",
      "refresh",
      "session"
    ],
    "requestDescription": "Expected to receive the current subject when known, refresh credential or session reference, requested scopes and optional execution context.",
    "responseDescription": "Returns authentication status, refreshed credential material, optional rotated refresh credential and metadata.",
    "translations": {
      "ru": {
        "title": "Обновить токен субъекта",
        "summary": "Обновить короткоживущий токен доступа или сессионные данные с помощью существующих данных обновления.",
        "description": "Универсальная IAM-операция для ротации или обновления учётных данных без повторной основной аутентификации. Применима к refresh-токенам, сессиям провайдеров и другим истекающим данным доступа.",
        "requestDescription": "Ожидаются текущий субъект, если он известен, данные обновления или ссылка на сессию, требуемые scopes и необязательный контекст.",
        "responseDescription": "Возвращает статус аутентификации, обновлённые учётные данные, необязательные ротированные данные обновления и метаданные."
      }
    }
  },
  {
    "code": "it.identity.token.revoke",
    "title": "Revoke identity token",
    "summary": "Revoke a refresh token, access token, session credential or integration credential.",
    "description": "Universal IAM operation for invalidating credentials during logout, rotation, disablement, compromise response or administrative revocation. The operation describes the revocation contract, while runtime-specific token stores and audit logs remain application responsibilities.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "it",
      "identity",
      "authentication",
      "iam",
      "token",
      "revoke",
      "logout",
      "session"
    ],
    "requestDescription": "Expected to receive the subject when known, credential to revoke or credential reference, revocation reason and optional execution context.",
    "responseDescription": "Returns whether the credential was revoked, the normalized revocation reason, optional timestamp and metadata.",
    "translations": {
      "ru": {
        "title": "Отозвать токен субъекта",
        "summary": "Отозвать refresh-токен, токен доступа, сессионные или интеграционные учётные данные.",
        "description": "Универсальная IAM-операция аннулирования учётных данных при выходе, ротации, отключении, компрометации или административном отзыве.",
        "requestDescription": "Ожидаются субъект, если он известен, учётные данные или ссылка на них, причина отзыва и необязательный контекст.",
        "responseDescription": "Возвращает признак отзыва, нормализованную причину, необязательное время отзыва и метаданные."
      }
    }
  },
  {
    "code": "logistics.pickup.create",
    "title": "Create pickup",
    "summary": "Schedule collection of one or more prepared shipments from a sender location.",
    "description": "Universal operation for requesting a carrier vehicle or courier pickup independently from shipment creation.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "logistics",
      "pickup",
      "shipment"
    ],
    "requestDescription": "Receives shipment identifiers, pickup location, contact, time window and optional cargo dimensions.",
    "responseDescription": "Returns the provider pickup identifier and scheduling status.",
    "translations": {
      "ru": {
        "title": "Оформить забор груза",
        "summary": "Запланировать забор одного или нескольких подготовленных отправлений у отправителя.",
        "description": "Универсальная операция вызова автомобиля или курьера перевозчика независимо от создания отправления.",
        "requestDescription": "Принимает идентификаторы отправлений, место и контакт для забора, временное окно и необязательные характеристики груза.",
        "responseDescription": "Возвращает идентификатор заявки на забор у провайдера и статус планирования."
      }
    }
  },
  {
    "code": "logistics.shipment.create",
    "title": "Create shipment",
    "summary": "Create a shipment or waybill in a delivery provider system.",
    "description": "Universal operation for converting a prepared shipment request into a provider-side entity.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "delivery",
      "shipment",
      "logistics"
    ],
    "requestDescription": "Expected to receive sender, recipient, cargo and service selections.",
    "responseDescription": "Returns provider-side shipment identifiers and creation status.",
    "translations": {
      "ru": {
        "title": "Создать отправление",
        "summary": "Создать отправление или накладную в системе транспортного провайдера.",
        "description": "Универсальная операция преобразования подготовленной заявки на перевозку в сущность на стороне провайдера.",
        "requestDescription": "Ожидаются данные отправителя, получателя, груза и выбранных услуг.",
        "responseDescription": "Возвращает идентификаторы отправления на стороне провайдера и статус создания."
      }
    }
  },
  {
    "code": "logistics.shipment.list",
    "title": "Shipment list",
    "summary": "List provider-side shipments visible to the authenticated account.",
    "description": "Universal operation for reading shipments, waybills or shipment requests from a logistics provider account.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "logistics",
      "delivery",
      "shipment",
      "list",
      "account"
    ],
    "requestDescription": "Expected to receive optional date range, pagination token, page size, search query, normalized status or shipment kind.",
    "responseDescription": "Returns normalized shipment rows with provider identifiers, tracking numbers, status, route, cargo summary and pagination token when available.",
    "translations": {
      "ru": {
        "title": "Получить список отправлений",
        "summary": "Получить видимые авторизованному аккаунту отправления на стороне провайдера.",
        "description": "Универсальная операция чтения отправлений, накладных или заявок из личного кабинета логистического провайдера.",
        "requestDescription": "Ожидаются необязательный диапазон дат, параметры пагинации, поисковый запрос, нормализованный статус или вид отправления.",
        "responseDescription": "Возвращает нормализованные отправления с идентификаторами, трек-номерами, статусом, маршрутом, сводкой груза и данными пагинации."
      }
    }
  },
  {
    "code": "logistics.shipment.quote",
    "title": "Shipment quote",
    "summary": "Calculate delivery price and timing options for a shipment request.",
    "description": "Universal operation for tariff estimation before shipment creation.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "delivery",
      "quote",
      "logistics"
    ],
    "requestDescription": "Expected to receive origin, destination, cargo and service constraints.",
    "responseDescription": "Returns one or more delivery options with price and ETA.",
    "translations": {
      "ru": {
        "title": "Рассчитать доставку",
        "summary": "Рассчитать стоимость и сроки доступных вариантов доставки.",
        "description": "Универсальная операция предварительного расчёта тарифов до создания отправления.",
        "requestDescription": "Ожидаются пункт отправления, пункт назначения, груз и ограничения по услугам.",
        "responseDescription": "Возвращает один или несколько вариантов доставки со стоимостью и сроками."
      }
    }
  },
  {
    "code": "logistics.shipment.track",
    "title": "Shipment tracking",
    "summary": "Read current shipment state and tracking history.",
    "description": "Universal operation for checking provider-side shipment movement by shipment id, tracking number or provider document id.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "logistics",
      "delivery",
      "shipment",
      "tracking"
    ],
    "requestDescription": "Expected to receive at least one stable shipment identifier: shipmentId, trackingNumber, providerDocumentId, customerReference or provider externalIds.",
    "responseDescription": "Returns normalized shipment status, current tracking data and provider event history when available.",
    "translations": {
      "ru": {
        "title": "Отследить отправление",
        "summary": "Получить текущее состояние отправления и историю его движения.",
        "description": "Универсальная операция проверки движения отправления по его идентификатору, трек-номеру или номеру документа провайдера.",
        "requestDescription": "Ожидается хотя бы один устойчивый идентификатор: ID отправления, трек-номер, номер документа провайдера, ссылка клиента или внешний ID.",
        "responseDescription": "Возвращает нормализованный статус, текущие данные отслеживания и историю событий провайдера, если она доступна."
      }
    }
  },
  {
    "code": "manufacturing.operationOutput.correct",
    "title": "Correct reported operation output",
    "summary": "Correct reported operation output.",
    "description": "Append audited absolute good and scrap quantities for an existing reported output in its original unit. Preserve original result and previous corrections. Require reason, actor authorization, idempotency and expected correction revision. Does not approve quality or change stock.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "manufacturing",
      "correction"
    ],
    "requestDescription": "Absolute replacement values, reason, idempotency key and expected correction revision. Actor comes from authorization.",
    "responseDescription": "Audit identity and corrected revision; identical retry returns original result.",
    "translations": {
      "ru": {
        "title": "Исправить заявленный результат операции",
        "summary": "Исправить заявленный результат операции.",
        "description": "Сохраняет исправление с причиной и автором, не удаляя исходные данные. Требует полномочий, ключа идемпотентности и ожидаемой версии исправления.",
        "requestDescription": "Новые абсолютные значения, причина, ключ и ожидаемая версия.",
        "responseDescription": "Сохранённая запись аудита и новая версия."
      }
    }
  },
  {
    "code": "manufacturing.operationOutput.record",
    "title": "Record operation output",
    "summary": "Record operation output.",
    "description": "Record operator-reported good and scrap quantities in an explicit unit against a manufacturing operation, optionally linked to a work session. Require idempotency. This does not approve quality, finish the operation, receive stock or calculate payroll.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "manufacturing"
    ],
    "requestDescription": "Typed input in @opsregistry/contracts; caller identity must be authorized by the provider.",
    "responseDescription": "Persisted result with stable identity. Repeating the same key and payload returns the original result; changed payload must conflict.",
    "translations": {
      "ru": {
        "title": "Зафиксировать результат производственной операции",
        "summary": "Зафиксировать результат производственной операции.",
        "description": "Record operator-reported good and scrap quantities in an explicit unit against a manufacturing operation, optionally linked to a work session. Require idempotency. This does not approve quality, finish the operation, receive stock or calculate payroll.",
        "requestDescription": "Типизированный контракт OpsRegistry с ключом идемпотентности.",
        "responseDescription": "Сохранённый результат; повтор команды не создаёт дубликат."
      }
    }
  },
  {
    "code": "manufacturing.product.assemble",
    "title": "Assemble product",
    "summary": "Assemble prepared parts into an intermediate or final product.",
    "description": "Universal manufacturing operation for joining prepared components before final processing or inspection.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "manufacturing",
      "assembly",
      "production"
    ],
    "requestDescription": "Expected to receive a production order, component list and assembly instructions.",
    "responseDescription": "Returns execution status, assembled unit references and quality notes when available.",
    "translations": {
      "ru": {
        "title": "Сборка изделия",
        "summary": "Собрать подготовленные детали в промежуточное или готовое изделие.",
        "description": "Универсальная производственная операция соединения подготовленных компонентов перед окончательной обработкой или контролем.",
        "requestDescription": "Ожидаются производственный заказ, перечень компонентов и инструкции по сборке.",
        "responseDescription": "Возвращает статус выполнения, ссылки на собранные изделия и замечания по качеству, если они есть."
      }
    }
  },
  {
    "code": "manufacturing.product.inspect",
    "title": "Inspect product",
    "summary": "Inspect a produced item against defined acceptance criteria.",
    "description": "Universal manufacturing operation for recording quality inspection results before release or packaging.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "manufacturing",
      "quality-control",
      "inspection",
      "inspection:pressure-test",
      "inspection:leak-test"
    ],
    "requestDescription": "Expected to receive a production order, item reference, inspection method and acceptance criteria.",
    "responseDescription": "Returns execution status, inspection result, measured values and quality notes when available.",
    "translations": {
      "ru": {
        "title": "Контроль изделия",
        "summary": "Проверить произведённое изделие по заданным критериям приёмки.",
        "description": "Универсальная производственная операция фиксации результатов контроля качества перед выпуском или упаковкой.",
        "requestDescription": "Ожидаются производственный заказ, ссылка на изделие, метод контроля и критерии приёмки.",
        "responseDescription": "Возвращает статус выполнения, результат контроля, измеренные значения и замечания по качеству."
      }
    }
  },
  {
    "code": "manufacturing.product.package",
    "title": "Package product",
    "summary": "Package a produced item for storage, pickup or shipment.",
    "description": "Universal manufacturing operation for preparing finished goods for logistics or handover.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "manufacturing",
      "packaging",
      "logistics"
    ],
    "requestDescription": "Expected to receive a production order, finished item references and packaging requirements.",
    "responseDescription": "Returns execution status, package references, dimensions and handover notes when available.",
    "translations": {
      "ru": {
        "title": "Упаковка изделия",
        "summary": "Упаковать произведённое изделие для хранения, самовывоза или отправки.",
        "description": "Универсальная производственная операция подготовки готовой продукции к передаче в логистику или получателю.",
        "requestDescription": "Ожидаются производственный заказ, ссылки на готовые изделия и требования к упаковке.",
        "responseDescription": "Возвращает статус выполнения, сведения об упаковочных местах, габариты и примечания к передаче."
      }
    }
  },
  {
    "code": "manufacturing.workpiece.bend",
    "title": "Bend workpiece",
    "summary": "Bend prepared material according to production order geometry.",
    "description": "Universal manufacturing operation for forming sheet or profile parts before assembly.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "manufacturing",
      "bending",
      "production"
    ],
    "requestDescription": "Expected to receive a production order, part references, bend program or geometry requirements.",
    "responseDescription": "Returns execution status, processed parts and quality notes when available.",
    "translations": {
      "ru": {
        "title": "Гибка заготовки",
        "summary": "Согнуть подготовленный материал согласно геометрии производственного заказа.",
        "description": "Универсальная производственная операция формования листовых или профильных деталей перед сборкой.",
        "requestDescription": "Ожидаются производственный заказ, ссылки на детали, программа гибки или требования к геометрии.",
        "responseDescription": "Возвращает статус выполнения, обработанные детали и замечания по качеству, если они есть."
      }
    }
  },
  {
    "code": "manufacturing.workpiece.cut",
    "title": "Cut workpiece",
    "summary": "Cut material into workpieces according to production requirements.",
    "description": "Universal manufacturing operation for separating material into workpieces before downstream production steps.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "manufacturing",
      "cutting",
      "production"
    ],
    "requestDescription": "Expected to receive a production order, material specification, geometry, quantity and cutting requirements.",
    "responseDescription": "Returns execution status, produced blanks and quality notes when available.",
    "translations": {
      "ru": {
        "title": "Резка заготовки",
        "summary": "Разрезать материал на заготовки согласно производственным требованиям.",
        "description": "Универсальная производственная операция разделения материала на заготовки перед последующими этапами обработки.",
        "requestDescription": "Ожидаются производственный заказ, характеристики материала, геометрия, количество и требования к резке.",
        "responseDescription": "Возвращает статус выполнения, полученные заготовки и замечания по качеству, если они есть."
      }
    }
  },
  {
    "code": "manufacturing.workpiece.weld",
    "title": "Weld workpiece",
    "summary": "Weld assembled parts according to production order requirements.",
    "description": "Universal manufacturing operation for welding metal components into a finished or semi-finished product.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "manufacturing",
      "welding",
      "production"
    ],
    "requestDescription": "Expected to receive a production order, assembled unit references, welding requirements and quality constraints.",
    "responseDescription": "Returns execution status, welded unit references and quality notes when available.",
    "translations": {
      "ru": {
        "title": "Сварка заготовки",
        "summary": "Сварить собранные детали согласно требованиям производственного заказа.",
        "description": "Универсальная производственная операция сварки металлических компонентов в готовое или промежуточное изделие.",
        "requestDescription": "Ожидаются производственный заказ, ссылки на собранные узлы, требования к сварке и ограничения качества.",
        "responseDescription": "Возвращает статус выполнения, ссылки на сваренные узлы и замечания по качеству, если они есть."
      }
    }
  },
  {
    "code": "storage.object.deleteFile",
    "title": "Delete file from object storage",
    "summary": "Delete a single file from an S3-compatible object storage bucket.",
    "description": "Universal operation for deleting a single object from an S3-compatible object storage bucket by its key.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "storage",
      "s3",
      "delete",
      "file"
    ],
    "requestDescription": "Expected to receive bucket credentials, endpoint, region, and the target object key to delete.",
    "responseDescription": "Returns the key of the deleted object and confirmation of deletion.",
    "translations": {
      "ru": {
        "title": "Удалить файл из объектного хранилища",
        "summary": "Удалить один файл из бакета S3-совместимого объектного хранилища.",
        "description": "Универсальная операция удаления одного объекта из S3-совместимого бакета по его ключу.",
        "requestDescription": "Ожидаются настройки бакета и подключения, регион и ключ удаляемого объекта.",
        "responseDescription": "Возвращает ключ удалённого объекта и подтверждение удаления."
      }
    }
  },
  {
    "code": "storage.object.list",
    "title": "List objects in bucket",
    "summary": "List objects in an S3-compatible object storage bucket with optional prefix filter.",
    "description": "Universal operation for listing objects in an S3-compatible object storage bucket. Supports prefix filtering, pagination, and limiting the number of results.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "storage",
      "s3",
      "list",
      "objects"
    ],
    "requestDescription": "Expected to receive bucket credentials, endpoint, region, optional prefix filter, and pagination parameters (max keys, continuation token).",
    "responseDescription": "Returns a list of objects with their keys, sizes, ETags, last modified dates, and storage classes, along with pagination tokens.",
    "translations": {
      "ru": {
        "title": "Получить список объектов в бакете",
        "summary": "Получить объекты S3-совместимого бакета с необязательным фильтром по префиксу.",
        "description": "Универсальная операция перечисления объектов S3-совместимого бакета с поддержкой префикса, пагинации и ограничения количества результатов.",
        "requestDescription": "Ожидаются настройки бакета и подключения, регион, необязательный префикс и параметры пагинации.",
        "responseDescription": "Возвращает объекты с ключами, размерами, ETag, датами изменения и классами хранения, а также данные пагинации."
      }
    }
  },
  {
    "code": "storage.object.uploadFile",
    "title": "Upload file to object storage",
    "summary": "Upload a single file to an S3-compatible object storage bucket.",
    "description": "Universal operation for uploading a single file to an S3-compatible object storage bucket. Supports custom content type, cache control, metadata, and optional object-level website redirect location when the provider implements that S3 feature.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "storage",
      "s3",
      "upload",
      "file"
    ],
    "requestDescription": "Expected to receive bucket credentials, endpoint, region, file path or content, target key, optional content type and cache control headers, metadata, and optional website redirect location.",
    "responseDescription": "Returns the target key, ETag, and storage class of the uploaded object.",
    "translations": {
      "ru": {
        "title": "Загрузить файл в объектное хранилище",
        "summary": "Загрузить один файл в бакет S3-совместимого объектного хранилища.",
        "description": "Универсальная операция загрузки объекта с поддержкой типа содержимого, кеширования, метаданных и необязательного перенаправления статического сайта.",
        "requestDescription": "Ожидаются настройки бакета и подключения, регион, путь или содержимое файла, целевой ключ и необязательные HTTP-заголовки и метаданные.",
        "responseDescription": "Возвращает целевой ключ, ETag и класс хранения загруженного объекта."
      }
    }
  },
  {
    "code": "storage.website.delete",
    "title": "Delete static website hosting configuration",
    "summary": "Remove static website configuration from an S3-compatible bucket.",
    "description": "Universal operation for deleting static website hosting settings from an S3-compatible bucket.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "storage",
      "s3",
      "website"
    ],
    "requestDescription": "Expected to receive bucket credentials, endpoint, region, and bucket name.",
    "responseDescription": "Returns the bucket name and deletion confirmation.",
    "translations": {
      "ru": {
        "title": "Удалить конфигурацию статического сайта",
        "summary": "Удалить настройки статического сайта из S3-совместимого бакета.",
        "description": "Универсальная операция удаления конфигурации хостинга статического сайта из S3-совместимого бакета.",
        "requestDescription": "Ожидаются настройки подключения, регион и имя бакета.",
        "responseDescription": "Возвращает имя бакета и подтверждение удаления конфигурации."
      }
    }
  },
  {
    "code": "storage.website.get",
    "title": "Get static website hosting configuration",
    "summary": "Read static website configuration from an S3-compatible bucket.",
    "description": "Universal operation for reading static website hosting settings from an S3-compatible bucket, including index and error documents, redirect-all target, and routing rules.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "storage",
      "s3",
      "website",
      "redirects"
    ],
    "requestDescription": "Expected to receive bucket credentials, endpoint, region, and bucket name.",
    "responseDescription": "Returns the bucket name and normalized website configuration.",
    "translations": {
      "ru": {
        "title": "Получить конфигурацию статического сайта",
        "summary": "Прочитать настройки статического сайта из S3-совместимого бакета.",
        "description": "Универсальная операция чтения настроек хостинга статического сайта, включая индексный документ, страницу ошибки, общее перенаправление и правила маршрутизации.",
        "requestDescription": "Ожидаются настройки подключения, регион и имя бакета.",
        "responseDescription": "Возвращает имя бакета и нормализованную конфигурацию статического сайта."
      }
    }
  },
  {
    "code": "storage.website.put",
    "title": "Configure static website hosting",
    "summary": "Create or replace static website configuration for an S3-compatible bucket.",
    "description": "Universal operation for applying static website hosting settings to an S3-compatible bucket. Supports index and error documents, redirect-all requests, and S3 routing rules for exact or prefix redirects.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "storage",
      "s3",
      "website",
      "redirects"
    ],
    "requestDescription": "Expected to receive bucket credentials, endpoint, region, and website configuration with optional index document, error document, redirect-all target, and routing rules.",
    "responseDescription": "Returns the bucket name and number of routing rules applied.",
    "translations": {
      "ru": {
        "title": "Настроить статический сайт",
        "summary": "Создать или заменить конфигурацию статического сайта для S3-совместимого бакета.",
        "description": "Универсальная операция применения настроек хостинга статического сайта с поддержкой индексного документа, страницы ошибки, перенаправления всех запросов и правил маршрутизации S3.",
        "requestDescription": "Ожидаются настройки подключения, регион, имя бакета и конфигурация сайта с необязательными документами, перенаправлениями и правилами.",
        "responseDescription": "Возвращает имя бакета и количество применённых правил маршрутизации."
      }
    }
  },
  {
    "code": "trust.certificate.list",
    "title": "List signing certificates",
    "summary": "List certificates available in the current trusted execution environment.",
    "description": "Returns public certificate metadata and opaque references that another trust operation can use. The operation never returns private key material or device credentials.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "trust",
      "certificate",
      "signature",
      "hardware-token"
    ],
    "requestDescription": "May filter certificates by validity, qualification status and hardware-backed storage.",
    "responseDescription": "Returns public certificate descriptors and opaque certificate references.",
    "translations": {
      "ru": {
        "title": "Получить список сертификатов подписи",
        "summary": "Получить сертификаты, доступные в текущей доверенной среде выполнения.",
        "description": "Возвращает открытые сведения о сертификатах и непрозрачные ссылки для других операций доверия. Закрытые ключи и данные доступа к устройству никогда не возвращаются.",
        "requestDescription": "Можно отфильтровать сертификаты по сроку действия, квалифицированности и хранению ключа на аппаратном устройстве.",
        "responseDescription": "Возвращает открытые описания сертификатов и непрозрачные ссылки на них."
      }
    }
  },
  {
    "code": "trust.certificate.resolve",
    "title": "Resolve a signing certificate",
    "summary": "Select the best available certificate for a subject and signing requirements.",
    "description": "Matches certificates by provider-neutral subject identifiers, jurisdiction, validity, key usage, qualification, storage and requested signature format. It returns a selected certificate only for an unambiguous match.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "trust",
      "certificate",
      "resolution",
      "automation"
    ],
    "requestDescription": "Describes the subject through identifier schemes such as taxId or registrationNumber and declares signing requirements.",
    "responseDescription": "Returns a selected certificate, no match or an ambiguous candidate list with a machine-readable reason.",
    "translations": {
      "ru": {
        "title": "Подобрать сертификат подписи",
        "summary": "Автоматически выбрать наиболее подходящий доступный сертификат для владельца и требований подписи.",
        "description": "Сопоставляет сертификаты по универсальным идентификаторам владельца, юрисдикции, сроку действия, назначению ключа, квалифицированности, месту хранения и формату подписи. Сертификат выбирается автоматически только при однозначном результате.",
        "requestDescription": "Описывает владельца схемами идентификаторов, например taxId или registrationNumber, и задаёт требования к подписи.",
        "responseDescription": "Возвращает выбранный сертификат, отсутствие совпадения либо список неоднозначных кандидатов с машиночитаемой причиной."
      }
    }
  },
  {
    "code": "trust.device.list",
    "title": "List trust devices",
    "summary": "List local or remote devices that can store keys or perform cryptographic operations.",
    "description": "Returns normalized device descriptors for hardware tokens, smart cards, HSMs, secure elements and software stores. It distinguishes passive key storage from devices with onboard cryptography without exposing device credentials.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "trust",
      "device",
      "hardware-token",
      "hsm",
      "pkcs11"
    ],
    "requestDescription": "May filter by device kind and physical presence.",
    "responseDescription": "Returns opaque device references, readiness, connection type and cryptographic capabilities.",
    "translations": {
      "ru": {
        "title": "Получить список устройств доверия",
        "summary": "Получить локальные или удалённые устройства для хранения ключей и выполнения криптографических операций.",
        "description": "Возвращает единые описания аппаратных токенов, смарт-карт, HSM, защищённых элементов и программных хранилищ. Отличает пассивное хранение ключа от встроенной криптографии и не раскрывает данные доступа к устройству.",
        "requestDescription": "Позволяет отфильтровать устройства по виду и фактическому присутствию.",
        "responseDescription": "Возвращает непрозрачные ссылки на устройства, готовность, вид подключения и криптографические возможности."
      }
    }
  },
  {
    "code": "trust.digitalSignature.create",
    "title": "Create digital signatures",
    "summary": "Sign prepared targets in a trusted local or remote cryptographic environment.",
    "description": "Creates electronic signatures using a selected certificate and protected private key. Hardware-token PIN entry and user confirmation remain inside the trusted execution environment and are never transported through the operation payload.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "trust",
      "digital-signature",
      "hardware-token",
      "user-presence"
    ],
    "requestDescription": "Requires an opaque certificate reference, one or more prepared digests, a signature format and explicit user-presence confirmation.",
    "responseDescription": "Returns detached signatures associated with their target identifiers and public certificate references.",
    "translations": {
      "ru": {
        "title": "Создать электронные подписи",
        "summary": "Подписать подготовленные объекты в доверенной локальной или удалённой криптографической среде.",
        "description": "Создаёт электронные подписи выбранным сертификатом и защищённым закрытым ключом. Ввод PIN аппаратного носителя и подтверждение пользователя остаются внутри доверенной среды и никогда не передаются в параметрах операции.",
        "requestDescription": "Обязательны непрозрачная ссылка на сертификат, один или несколько подготовленных хешей, формат подписи и явное подтверждение присутствия пользователя.",
        "responseDescription": "Возвращает отсоединённые подписи, связанные с идентификаторами подписанных объектов и открытой ссылкой на сертификат."
      }
    }
  },
  {
    "code": "trust.signingEnvironment.configure",
    "title": "Configure a signing environment",
    "summary": "Automatically prepare the current environment for electronic signing.",
    "description": "Installs, updates and configures only the components required by the detected devices and requested signature capabilities. The operation requires explicit approval for system changes but never accepts private keys, device PINs, passwords or license serial numbers.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "trust",
      "signing-environment",
      "configuration",
      "software-installation"
    ],
    "requestDescription": "Accepts the desired capabilities, an optional plan from inspection and explicit approval for system changes.",
    "responseDescription": "Returns completed and pending setup actions together with a fresh environment snapshot.",
    "translations": {
      "ru": {
        "title": "Настроить среду электронной подписи",
        "summary": "Автоматически подготовить текущее рабочее место к электронной подписи.",
        "description": "Устанавливает, обновляет и настраивает только те компоненты, которые нужны найденным устройствам и запрошенным возможностям подписи. Операция требует явного разрешения на системные изменения, но никогда не принимает закрытые ключи, PIN-коды устройств, пароли и серийные номера лицензий.",
        "requestDescription": "Принимает требования к подписи, необязательный план проверки и явное разрешение на системные изменения.",
        "responseDescription": "Возвращает выполненные и ожидающие действия настройки вместе с новым состоянием рабочего места."
      }
    }
  },
  {
    "code": "trust.signingEnvironment.inspect",
    "title": "Inspect a signing environment",
    "summary": "Determine whether the current environment can create the required electronic signature.",
    "description": "Inspects the operating system, cryptographic providers, device middleware, certificate stores and other required components without changing the system. Product-specific names and diagnostics remain implementation details.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "trust",
      "signing-environment",
      "diagnostics",
      "local-bridge"
    ],
    "requestDescription": "Describes required signature formats, algorithms, qualification and hardware-backed key preferences.",
    "responseDescription": "Returns a normalized readiness state, component states and an optional opaque setup plan reference.",
    "translations": {
      "ru": {
        "title": "Проверить среду электронной подписи",
        "summary": "Определить, готово ли текущее рабочее место создать требуемую электронную подпись.",
        "description": "Проверяет операционную систему, криптопровайдеры, поддержку устройств, хранилища сертификатов и другие необходимые компоненты без изменения системы. Названия продуктов и техническая диагностика остаются деталями реализации.",
        "requestDescription": "Описывает необходимые форматы подписи, алгоритмы, требования к квалифицированности и предпочтение аппаратного хранения ключа.",
        "responseDescription": "Возвращает единое состояние готовности, состояния компонентов и при необходимости непрозрачную ссылку на план настройки."
      }
    }
  },
  {
    "code": "workforce.assignment.create",
    "title": "Create workforce assignment",
    "summary": "Assign a worker to a responsibility, project, work order or organizational role.",
    "description": "Creates a time-bounded assignment with responsibility, workload and organizational context.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "workforce",
      "assignment",
      "responsibility"
    ],
    "requestDescription": "Expected to receive worker, assignment target, responsibility, workload and effective dates.",
    "responseDescription": "Returns the assignment identifier, status and effective allocation.",
    "translations": {
      "ru": {
        "title": "Назначение сотрудника",
        "summary": "Назначить сотрудника на обязанность, проект, рабочее задание или роль в организации.",
        "description": "Создаёт ограниченное по времени назначение с ответственностью, загрузкой и организационным контекстом.",
        "requestDescription": "Ожидаются сотрудник, объект назначения, ответственность, загрузка и даты действия.",
        "responseDescription": "Возвращает идентификатор назначения, статус и действующее распределение."
      }
    }
  },
  {
    "code": "workforce.employment.create",
    "title": "Create employment relationship",
    "summary": "Create an employment or contractor relationship between a person and an organization.",
    "description": "Records the terms, role, organizational placement and effective dates of a workforce relationship.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "workforce",
      "employment",
      "contractor"
    ],
    "requestDescription": "Expected to receive person and organization references, relationship type, terms, role and effective date.",
    "responseDescription": "Returns the employment relationship identifier, status and effective terms.",
    "translations": {
      "ru": {
        "title": "Оформление трудовых отношений",
        "summary": "Оформить трудовые или подрядные отношения между человеком и организацией.",
        "description": "Фиксирует условия, роль, место в организации и даты действия отношений с сотрудником или подрядчиком.",
        "requestDescription": "Ожидаются ссылки на человека и организацию, вид отношений, условия, роль и дата начала.",
        "responseDescription": "Возвращает идентификатор отношений, статус и действующие условия."
      }
    }
  },
  {
    "code": "workforce.employment.end",
    "title": "End employment relationship",
    "summary": "End an employment or contractor relationship on an effective date.",
    "description": "Closes a workforce relationship while preserving its history, reason and resulting obligations.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "workforce",
      "employment",
      "offboarding"
    ],
    "requestDescription": "Expected to receive the employment relationship, effective end date, reason and completion requirements.",
    "responseDescription": "Returns the resulting relationship status, end date and outstanding actions.",
    "translations": {
      "ru": {
        "title": "Завершение трудовых отношений",
        "summary": "Завершить трудовые или подрядные отношения с указанной даты.",
        "description": "Закрывает отношения с персоналом, сохраняя их историю, причину и возникшие обязательства.",
        "requestDescription": "Ожидаются ссылка на отношения, дата завершения, причина и требования к завершению.",
        "responseDescription": "Возвращает итоговый статус отношений, дату завершения и незавершённые действия."
      }
    }
  },
  {
    "code": "workforce.leave.request",
    "title": "Request workforce leave",
    "summary": "Request a planned or unplanned period of workforce absence.",
    "description": "Creates an absence request with dates, leave type, supporting information and approval workflow context.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "workforce",
      "leave",
      "absence"
    ],
    "requestDescription": "Expected to receive worker, leave type, requested interval, reason and supporting references when required.",
    "responseDescription": "Returns the leave request identifier, approval status, conflicts and resulting availability.",
    "translations": {
      "ru": {
        "title": "Запрос отсутствия",
        "summary": "Запросить плановый или внеплановый период отсутствия сотрудника.",
        "description": "Создаёт запрос отсутствия с датами, видом, подтверждающими сведениями и контекстом согласования.",
        "requestDescription": "Ожидаются сотрудник, вид отсутствия, запрошенный интервал, причина и подтверждающие ссылки, если они нужны.",
        "responseDescription": "Возвращает идентификатор запроса, статус согласования, конфликты и итоговую доступность."
      }
    }
  },
  {
    "code": "workforce.payroll.calculate",
    "title": "Calculate payroll",
    "summary": "Calculate workforce earnings and deductions for a pay period.",
    "description": "Calculates gross and net amounts from employment terms, time, absences and applicable earning or deduction rules without executing payment or posting ledger entries.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "workforce",
      "payroll",
      "compensation"
    ],
    "requestDescription": "Expected to receive pay period, workers, employment terms, approved time and calculation rules.",
    "responseDescription": "Returns calculated earnings, deductions, net amounts, warnings and source breakdowns.",
    "translations": {
      "ru": {
        "title": "Расчёт начислений персоналу",
        "summary": "Рассчитать начисления и удержания персонала за расчётный период.",
        "description": "Рассчитывает начисленные и итоговые суммы по условиям работы, времени, отсутствиям и правилам начислений, но не выполняет выплату и не создаёт бухгалтерские проводки.",
        "requestDescription": "Ожидаются расчётный период, сотрудники, условия работы, согласованное время и правила расчёта.",
        "responseDescription": "Возвращает начисления, удержания, итоговые суммы, предупреждения и детализацию источников."
      }
    }
  },
  {
    "code": "workforce.shift.schedule",
    "title": "Schedule shift",
    "summary": "Schedule a worker or team for a defined work shift.",
    "description": "Creates or confirms a shift allocation with time, location, role and availability constraints.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "workforce",
      "shift",
      "scheduling"
    ],
    "requestDescription": "Expected to receive worker or team, shift interval, location, role and scheduling constraints.",
    "responseDescription": "Returns the scheduled shift, conflicts, warnings and confirmation status.",
    "translations": {
      "ru": {
        "title": "Планирование смены",
        "summary": "Запланировать сотрудника или команду на заданную рабочую смену.",
        "description": "Создаёт или подтверждает назначение на смену с учётом времени, места, роли и ограничений доступности.",
        "requestDescription": "Ожидаются сотрудник или команда, интервал смены, место, роль и ограничения планирования.",
        "responseDescription": "Возвращает запланированную смену, конфликты, предупреждения и статус подтверждения."
      }
    }
  },
  {
    "code": "workforce.timeEntry.record",
    "title": "Record work time",
    "summary": "Record time worked against an assignment, shift or work item.",
    "description": "Captures auditable work time with its worker, interval, target and approval context.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "workforce",
      "time-tracking",
      "attendance"
    ],
    "requestDescription": "Expected to receive worker, time interval or duration, work target and source of the record.",
    "responseDescription": "Returns the time entry identifier, recorded duration and approval status.",
    "translations": {
      "ru": {
        "title": "Учёт рабочего времени",
        "summary": "Зафиксировать рабочее время по назначению, смене или рабочему заданию.",
        "description": "Сохраняет проверяемую запись рабочего времени с сотрудником, интервалом, объектом работы и контекстом согласования.",
        "requestDescription": "Ожидаются сотрудник, интервал или длительность, объект работы и источник записи.",
        "responseDescription": "Возвращает идентификатор записи, учтённую длительность и статус согласования."
      }
    }
  },
  {
    "code": "workforce.workSession.correct",
    "title": "Correct completed work session labor",
    "summary": "Correct completed work session labor.",
    "description": "Append an audited absolute labor total for a completed session, preserving original intervals and prior corrections. Require reason, actor authorization, idempotency and expected correction revision. Does not approve payroll or change attendance.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "workforce",
      "correction"
    ],
    "requestDescription": "Absolute replacement values, reason, idempotency key and expected correction revision. Actor comes from authorization.",
    "responseDescription": "Audit identity and corrected revision; identical retry returns original result.",
    "translations": {
      "ru": {
        "title": "Исправить трудозатраты завершённого сеанса",
        "summary": "Исправить трудозатраты завершённого сеанса.",
        "description": "Сохраняет исправление с причиной и автором, не удаляя исходные данные. Требует полномочий, ключа идемпотентности и ожидаемой версии исправления.",
        "requestDescription": "Новые абсолютные значения, причина, ключ и ожидаемая версия.",
        "responseDescription": "Сохранённая запись аудита и новая версия."
      }
    }
  },
  {
    "code": "workforce.workSession.transition",
    "title": "Transition a work session",
    "summary": "Transition a work session.",
    "description": "Start, pause, resume or finish a server-timed direct-labor session. Require an idempotency key and an expected revision for existing sessions. Preserve closed intervals and audit history. Finishing a session does not finish its target, approve payroll or assert attendance. Worker authorization and overlap policy belong to the provider.",
    "version": "0.1.0",
    "status": "draft",
    "tags": [
      "workforce"
    ],
    "requestDescription": "Typed input in @opsregistry/contracts; caller identity must be authorized by the provider.",
    "responseDescription": "Persisted result with stable identity. Repeating the same key and payload returns the original result; changed payload must conflict.",
    "translations": {
      "ru": {
        "title": "Изменить состояние рабочего сеанса",
        "summary": "Изменить состояние рабочего сеанса.",
        "description": "Start, pause, resume or finish a server-timed direct-labor session. Require an idempotency key and an expected revision for existing sessions. Preserve closed intervals and audit history. Finishing a session does not finish its target, approve payroll or assert attendance. Worker authorization and overlap policy belong to the provider.",
        "requestDescription": "Типизированный контракт OpsRegistry с ключом идемпотентности.",
        "responseDescription": "Сохранённый результат; повтор команды не создаёт дубликат."
      }
    }
  }
]
