ddb37376a4
Фаза 1б (#445/#446/#447/#448) влилась ПЕРЕД этим PR, поэтому явная проводка drawio через registerShared/sharedTool конфликтовала с реестровыми циклами. Фолд: - drawioGet/Create/Update → канонический execute в спеке (это client-методы): execute возвращает сырой результат, цикл оборачивает jsonContent на MCP и отдаёт как есть in-app — байт-в-байт как старые тела, overrides не нужны. layout сохранён: добавлен в buildShape create/update + 5-м аргументом (layout as 'elk'|undefined) в обоих execute. - drawioShapes/drawioGuide → остаются inline на ОБОИХ хостах. Гайд архитектора «execute в спеке с импортом searchShapes/getGuideSection в tool-specs.ts» оказался невозможен: drawio-shapes.ts использует import.meta.url, а tool-specs.ts тайпчекается из исходника под module:commonjs (contract-спека) → TS1343 на статический value-import, а import.meta не индиректится. Введён флаг спеки inlineBothHosts: спеки остаются в SHARED_TOOL_SPECS (contract пинит имя/описание/схему), но без execute; ОБА цикла их пропускают (добавлен симметричный guard в MCP-цикл), каждый хост регистрирует их inline через чистые хелперы — поведение байт-в-байт как до ребейза. - docmost-client.loader: взята develop-форма DocmostClientLike = Pick< DocmostClient> (#446); ручное зеркало убрано, паритет layout наследуется из реальной сигнатуры client. - ROUTING_PROSE: drawio intent-подсказки (shapes-first, guide, layout:elk); инвентарные строки убраны (генерируются из catalogLine). Гейт: mcp node --test 674/674; server jest ai-chat-tools.service + contract (211, все 5 drawio на обоих хостах, идентичная схема) + tool-tiers → 264; tsc чисто; layout-passthrough тест 3/3. ELK DoS-кап и layout-фикс из round 3/4 сохранены. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A progressive Node.js framework for building efficient and scalable server-side applications.
Description
Nest framework TypeScript starter repository.
Installation
$ npm install
Running the app
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
Migrations
# This creates a new empty migration file named 'init'
$ npm run migration:create --name=init
# Generates 'init' migration file from existing entities to update the database schema
$ npm run migration:generate --name=init
# Runs all pending migrations to update the database schema
$ npm run migration:run
# Reverts the last executed migration
$ npm run migration:revert
# Reverts all migrations
$ npm run migration:revert
# Shows the list of executed and pending migrations
$ npm run migration:show
## Test
```bash
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
Support
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
Stay in touch
- Author - Kamil Myśliwiec
- Website - https://nestjs.com
- Twitter - @nestframework
License
Nest is MIT licensed.