@inharness-ai/claude4spec 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/.claude/skills/c4s-brief-implementer/SKILL.md +6 -13
  2. package/CHANGELOG.md +25 -1
  3. package/dist/bin/c4s/commands/find-references.js +2 -1
  4. package/dist/bin/c4s/commands/find-references.js.map +1 -1
  5. package/dist/client/assets/{arc-Y_Y7YYxJ.js → arc-Coa9fbDO.js} +1 -1
  6. package/dist/client/assets/{architectureDiagram-3BPJPVTR-BvfJSQGS.js → architectureDiagram-3BPJPVTR-VJZcRMEN.js} +1 -1
  7. package/dist/client/assets/{blockDiagram-GPEHLZMM-0ER_5Ga5.js → blockDiagram-GPEHLZMM-C7dU2lW1.js} +1 -1
  8. package/dist/client/assets/{c4Diagram-AAUBKEIU-CulSeIur.js → c4Diagram-AAUBKEIU-CG_BBm_5.js} +1 -1
  9. package/dist/client/assets/channel-D5gzBvo7.js +1 -0
  10. package/dist/client/assets/{chunk-2J33WTMH-BR0UTxIH.js → chunk-2J33WTMH-BnS95YpK.js} +1 -1
  11. package/dist/client/assets/{chunk-4BX2VUAB-C3CE1iTm.js → chunk-4BX2VUAB-COr8w3X3.js} +1 -1
  12. package/dist/client/assets/{chunk-55IACEB6-WYG0SMCq.js → chunk-55IACEB6-CxrIbZhB.js} +1 -1
  13. package/dist/client/assets/{chunk-727SXJPM-CFxvH3KU.js → chunk-727SXJPM-DRchPPRe.js} +1 -1
  14. package/dist/client/assets/{chunk-AQP2D5EJ-CW3tCRq5.js → chunk-AQP2D5EJ-_SfN7mED.js} +1 -1
  15. package/dist/client/assets/{chunk-FMBD7UC4-DhWed3oG.js → chunk-FMBD7UC4-p2tIiP1D.js} +1 -1
  16. package/dist/client/assets/{chunk-ND2GUHAM-wKw1Twd3.js → chunk-ND2GUHAM-B1mbl2hP.js} +1 -1
  17. package/dist/client/assets/{chunk-QZHKN3VN-N2YJn9Rv.js → chunk-QZHKN3VN-DBUpeqvS.js} +1 -1
  18. package/dist/client/assets/classDiagram-4FO5ZUOK-CT-amIxa.js +1 -0
  19. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CT-amIxa.js +1 -0
  20. package/dist/client/assets/{cose-bilkent-S5V4N54A-BwTia-tr.js → cose-bilkent-S5V4N54A-BBsY5aKD.js} +1 -1
  21. package/dist/client/assets/{dagre-BM42HDAG-qaDS43Ui.js → dagre-BM42HDAG-b-vu4RC9.js} +1 -1
  22. package/dist/client/assets/{diagram-2AECGRRQ-D_kuEzAN.js → diagram-2AECGRRQ-j-DW9qSf.js} +1 -1
  23. package/dist/client/assets/{diagram-5GNKFQAL-BYj6JmFh.js → diagram-5GNKFQAL-DHX_WYWQ.js} +1 -1
  24. package/dist/client/assets/{diagram-KO2AKTUF-C5GerpKU.js → diagram-KO2AKTUF-DxdQok_M.js} +1 -1
  25. package/dist/client/assets/{diagram-LMA3HP47-BCCWR_VJ.js → diagram-LMA3HP47-BbTIX5c1.js} +1 -1
  26. package/dist/client/assets/{diagram-OG6HWLK6-zQ3cOHd6.js → diagram-OG6HWLK6-BQ9ODAlH.js} +1 -1
  27. package/dist/client/assets/{erDiagram-TEJ5UH35-CXGKcFZT.js → erDiagram-TEJ5UH35-6lwAL1y9.js} +1 -1
  28. package/dist/client/assets/{flowDiagram-I6XJVG4X-CtZxh2DT.js → flowDiagram-I6XJVG4X-ioSHb5-t.js} +1 -1
  29. package/dist/client/assets/{ganttDiagram-6RSMTGT7-BUdwVJfD.js → ganttDiagram-6RSMTGT7-CXFQp9Nj.js} +1 -1
  30. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DAJUpS0c.js → gitGraphDiagram-PVQCEYII-C1pVD_NQ.js} +1 -1
  31. package/dist/client/assets/index-DyAnw7YN.js +798 -0
  32. package/dist/client/assets/{index-g9hdRfKL.js → index-JaAxQJXh.js} +1 -1
  33. package/dist/client/assets/{index-CSz40CWW.js → index-hz5T_W2e.js} +1 -1
  34. package/dist/client/assets/index-oh_mP_1v.css +1 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-Dkqaeq-d.js → infoDiagram-5YYISTIA-C2Guev-g.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BDZbcL20.js → ishikawaDiagram-YF4QCWOH-D3v8VBb2.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-DQ8LraKA.js → journeyDiagram-JHISSGLW-DX1AW_Ap.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-CQOW2Mao.js → kanban-definition-UN3LZRKU-CzXThvq2.js} +1 -1
  39. package/dist/client/assets/{linear-B-ZW0b9t.js → linear-CVw4gl5i.js} +1 -1
  40. package/dist/client/assets/{mermaid.core-BdFxxBuE.js → mermaid.core-C29eoXRj.js} +4 -4
  41. package/dist/client/assets/{mindmap-definition-RKZ34NQL-CcsZCub_.js → mindmap-definition-RKZ34NQL-DEEGVQVA.js} +1 -1
  42. package/dist/client/assets/{pieDiagram-4H26LBE5-DpFgB1Qa.js → pieDiagram-4H26LBE5-Dme-VM6m.js} +1 -1
  43. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CItGhZSD.js → quadrantDiagram-W4KKPZXB-CURFNo24.js} +1 -1
  44. package/dist/client/assets/{requirementDiagram-4Y6WPE33-CMfRtv6V.js → requirementDiagram-4Y6WPE33-DxMZWXME.js} +1 -1
  45. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-LUqs9QQq.js → sankeyDiagram-5OEKKPKP-BW64D4_P.js} +1 -1
  46. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BZt_Nz-I.js → sequenceDiagram-3UESZ5HK-BATRPm8Q.js} +1 -1
  47. package/dist/client/assets/{stateDiagram-AJRCARHV-DDCaA4Lh.js → stateDiagram-AJRCARHV-pgHVMnO3.js} +1 -1
  48. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-szm_LIuD.js +1 -0
  49. package/dist/client/assets/{timeline-definition-PNZ67QCA-Chrt6eh8.js → timeline-definition-PNZ67QCA-qBxJZPWd.js} +1 -1
  50. package/dist/client/assets/{vennDiagram-CIIHVFJN-7L-WzZJY.js → vennDiagram-CIIHVFJN-BZJK9hqJ.js} +1 -1
  51. package/dist/client/assets/{wardley-L42UT6IY-CTNWz-UZ.js → wardley-L42UT6IY-BobtgEXg.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BIhHmbRz.js → wardleyDiagram-YWT4CUSO-DuWfX_-P.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-eqxCYjS7.js → xychartDiagram-2RQKCTM6-DCw1iURo.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/config.js +11 -5
  56. package/dist/server/config.js.map +1 -1
  57. package/dist/server/core/plugin-host/entities-router.d.ts +2 -1
  58. package/dist/server/core/plugin-host/entities-router.js +16 -1
  59. package/dist/server/core/plugin-host/entities-router.js.map +1 -1
  60. package/dist/server/db/migrations/041_chat_thread_transagent.sql +22 -0
  61. package/dist/server/fs/watcher.js +4 -2
  62. package/dist/server/fs/watcher.js.map +1 -1
  63. package/dist/server/index.js +16 -0
  64. package/dist/server/index.js.map +1 -1
  65. package/dist/server/mcp/release-tools/index.d.ts +11 -0
  66. package/dist/server/mcp/release-tools/index.js +68 -5
  67. package/dist/server/mcp/release-tools/index.js.map +1 -1
  68. package/dist/server/mcp/release-tools/projection.d.ts +11 -2
  69. package/dist/server/mcp/release-tools/projection.js +36 -7
  70. package/dist/server/mcp/release-tools/projection.js.map +1 -1
  71. package/dist/server/mcp/release-tools/types.d.ts +39 -2
  72. package/dist/server/mcp/transagent-tools.d.ts +26 -0
  73. package/dist/server/mcp/transagent-tools.js +75 -0
  74. package/dist/server/mcp/transagent-tools.js.map +1 -0
  75. package/dist/server/routes/agent-turn.d.ts +9 -0
  76. package/dist/server/routes/agent-turn.js +62 -2
  77. package/dist/server/routes/agent-turn.js.map +1 -1
  78. package/dist/server/routes/briefs.js +12 -4
  79. package/dist/server/routes/briefs.js.map +1 -1
  80. package/dist/server/routes/chat.js +18 -0
  81. package/dist/server/routes/chat.js.map +1 -1
  82. package/dist/server/routes/plans.js +13 -0
  83. package/dist/server/routes/plans.js.map +1 -1
  84. package/dist/server/routes/threads.js +9 -2
  85. package/dist/server/routes/threads.js.map +1 -1
  86. package/dist/server/services/brief.d.ts +30 -8
  87. package/dist/server/services/brief.js +58 -28
  88. package/dist/server/services/brief.js.map +1 -1
  89. package/dist/server/services/chat-context.d.ts +7 -0
  90. package/dist/server/services/chat-context.js +103 -0
  91. package/dist/server/services/chat-context.js.map +1 -1
  92. package/dist/server/services/chat.d.ts +12 -1
  93. package/dist/server/services/chat.js +56 -21
  94. package/dist/server/services/chat.js.map +1 -1
  95. package/dist/server/services/entity-indexer.js +21 -14
  96. package/dist/server/services/entity-indexer.js.map +1 -1
  97. package/dist/server/services/pages.js +5 -4
  98. package/dist/server/services/pages.js.map +1 -1
  99. package/dist/server/services/plan.d.ts +7 -1
  100. package/dist/server/services/plan.js +17 -4
  101. package/dist/server/services/plan.js.map +1 -1
  102. package/dist/server/services/remote-http-client.d.ts +0 -8
  103. package/dist/server/services/remote-http-client.js +0 -16
  104. package/dist/server/services/remote-http-client.js.map +1 -1
  105. package/dist/server/services/transagent-dispatcher.d.ts +60 -0
  106. package/dist/server/services/transagent-dispatcher.js +147 -0
  107. package/dist/server/services/transagent-dispatcher.js.map +1 -0
  108. package/dist/server/skills/brief-author/SKILL.md +26 -17
  109. package/dist/server/workspace/project-context.js +7 -8
  110. package/dist/server/workspace/project-context.js.map +1 -1
  111. package/dist/shared/code-ranges.d.ts +13 -0
  112. package/dist/shared/code-ranges.js +20 -0
  113. package/dist/shared/code-ranges.js.map +1 -1
  114. package/dist/shared/entities.d.ts +46 -3
  115. package/dist/shared/entities.js +1 -0
  116. package/dist/shared/entities.js.map +1 -1
  117. package/dist/shared/jsx-passthrough.d.ts +44 -0
  118. package/dist/shared/jsx-passthrough.js +140 -0
  119. package/dist/shared/jsx-passthrough.js.map +1 -0
  120. package/dist/shared/page-files.d.ts +13 -0
  121. package/dist/shared/page-files.js +22 -0
  122. package/dist/shared/page-files.js.map +1 -0
  123. package/dist/shared/raw-jsx-escape.d.ts +15 -0
  124. package/dist/shared/raw-jsx-escape.js +32 -0
  125. package/dist/shared/raw-jsx-escape.js.map +1 -0
  126. package/dist/shared/xml-tag-kinds.d.ts +9 -0
  127. package/dist/shared/xml-tag-kinds.js +16 -0
  128. package/dist/shared/xml-tag-kinds.js.map +1 -0
  129. package/dist/shared/xml-tags.d.ts +2 -2
  130. package/dist/shared/xml-tags.js +8 -10
  131. package/dist/shared/xml-tags.js.map +1 -1
  132. package/package.json +2 -2
  133. package/dist/client/assets/channel-COuoa9K9.js +0 -1
  134. package/dist/client/assets/classDiagram-4FO5ZUOK-BESpN0be.js +0 -1
  135. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BESpN0be.js +0 -1
  136. package/dist/client/assets/index-BKuHIaMg.css +0 -1
  137. package/dist/client/assets/index-nd9N-ch1.js +0 -792
  138. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DfEoRDHz.js +0 -1
@@ -1,5 +1,6 @@
1
1
  import chokidar from 'chokidar';
2
2
  import path from 'node:path';
3
+ import { isMarkdownPath } from '../../shared/page-files.js';
3
4
  export class PagesWatcher {
4
5
  pagesRoot;
5
6
  gateway;
@@ -38,8 +39,9 @@ export class PagesWatcher {
38
39
  this.gateway.broadcast({ kind: 'page:changed', event: 'change', path: relPath, origin: 'server' });
39
40
  }
40
41
  emit(kind, absPath) {
41
- const isMd = absPath.endsWith('.md');
42
- // M30: watch .html too (so the preview iframe can refresh), but only .md drives indexing.
42
+ const isMd = isMarkdownPath(absPath);
43
+ // M30: watch .html too (so the preview iframe can refresh), but only markdown
44
+ // (.md / .mdx) drives indexing.
43
45
  const isHtml = absPath.endsWith('.html');
44
46
  if (!isMd && !isHtml)
45
47
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../src/server/fs/watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../src/server/fs/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,QAA4B,MAAM,UAAU,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAM5D,MAAM,OAAO,YAAY;IAMH;IAA2B;IALvC,OAAO,GAAqB,IAAI,CAAC;IACjC,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjC,kBAAkB,GAAG,GAAG,CAAC;IAClC,SAAS,GAA2B,EAAE,CAAC;IAE/C,YAAoB,SAAiB,EAAU,OAAkB;QAA7C,cAAS,GAAT,SAAS,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAW;IAAG,CAAC;IAErE,QAAQ,CAAC,EAAwB;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;YAC5C,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpD,gBAAgB,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;SAC/D,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,sFAAsF;IACtF,QAAQ,CAAC,OAAe;QACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,OAAe;QAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrG,CAAC;IAEO,IAAI,CAAC,IAAe,EAAE,OAAe;QAC3C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,8EAA8E;QAC9E,gCAAgC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,eAAe,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACjG,6FAA6F;QAC7F,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF"}
@@ -165,6 +165,22 @@ export async function startServer(opts) {
165
165
  const portRef = { current: opts.port ?? DEFAULT_PORT };
166
166
  const app = express();
167
167
  app.use(express.json({ limit: '2mb' }));
168
+ // DIAGNOSTIC (perf): true server-side handler duration per /api request. In dev
169
+ // the app and Vite share one origin/event loop, so DevTools "Time" conflates
170
+ // server time with browser connection-queue/stall — this log shows the real
171
+ // handler ms. Gated on C4S_TIMING=1 so it's silent unless explicitly enabled.
172
+ if (process.env.C4S_TIMING === '1') {
173
+ app.use((req, res, next) => {
174
+ if (!req.originalUrl.startsWith('/api'))
175
+ return next();
176
+ const startedAt = performance.now();
177
+ res.on('finish', () => {
178
+ const ms = Math.round(performance.now() - startedAt);
179
+ console.log(`[timing] ${req.method} ${req.originalUrl} ${res.statusCode} ${ms}ms`);
180
+ });
181
+ next();
182
+ });
183
+ }
168
184
  // M31: workspace registry — DB lives in the workspace slot, not the project dir.
169
185
  const registry = new WorkspaceRegistry();
170
186
  const workspace = opts.workspace ?? registry.selectOrCreate({ port: opts.port, mode: opts.mode });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -21,3 +21,14 @@ export interface ReleaseToolsDeps {
21
21
  ws: WsEmitter;
22
22
  }
23
23
  export declare function createReleaseToolsServer(deps: ReleaseToolsDeps): McpServerInstance;
24
+ /**
25
+ * Resolve `limit`/`offset` for the MCP-only pagination of `release_list` /
26
+ * `release_show` / `release_diff`. Negative values are a loud 400 `INVALID_PAGINATION` (no
27
+ * silent clamp), consistent with the rest of M17's jaskrawe błędy. Zod keeps
28
+ * these loose (`z.number()`) so negatives reach this check rather than failing
29
+ * as a generic Zod error.
30
+ */
31
+ export declare function resolvePagination(limit: unknown, offset: unknown): {
32
+ limit: number;
33
+ offset: number;
34
+ };
@@ -14,7 +14,7 @@
14
14
  import { createMcpServer, mcpTool } from '@inharness-ai/agent-adapters';
15
15
  import { z } from 'zod';
16
16
  import { DomainError } from '../../services/tags.js';
17
- import { projectReleaseDiff, projectSpecSnapshot } from './projection.js';
17
+ import { DEFAULT_PAGE_LIMIT, projectReleaseDiff, projectSpecSnapshot } from './projection.js';
18
18
  const INCLUDE_VALUES = ['pages', 'entities'];
19
19
  const ENTITY_TYPE_VALUES = ['endpoint', 'dto', 'database-table', 'ui-view', 'ac'];
20
20
  const DEFAULT_INCLUDE = ['pages', 'entities'];
@@ -46,7 +46,25 @@ export function createReleaseToolsServer(deps) {
46
46
  return fail(err);
47
47
  }
48
48
  });
49
- const releaseList = mcpTool('release_list', 'List all releases newest-first. Returns id, name, description, createdBy, createdAt per release.', {}, async () => ok({ releases: deps.releaseService.listReleases() }));
49
+ const releaseList = mcpTool('release_list', 'List releases newest-first (paginated). Returns `{ releases, total }` where `total` is the full count before limit/offset. Per release: id, name, description, createdBy, createdAt.', {
50
+ limit: z
51
+ .number()
52
+ .optional()
53
+ .describe('Window size. Default 5, no upper limit. Negative → 400 INVALID_PAGINATION.'),
54
+ offset: z
55
+ .number()
56
+ .optional()
57
+ .describe('Window offset into the newest-first list. Default 0. Negative → 400 INVALID_PAGINATION.'),
58
+ }, async (args) => {
59
+ try {
60
+ const { limit, offset } = resolvePagination(args.limit, args.offset);
61
+ const all = deps.releaseService.listReleases();
62
+ return ok({ releases: all.slice(offset, offset + limit), total: all.length });
63
+ }
64
+ catch (err) {
65
+ return fail(err);
66
+ }
67
+ });
50
68
  const releaseShow = mcpTool('release_show', "Show a release's identification surface (release metadata + lists of entity slugs/page paths present at the release). Returns `MCPSpecSnapshot` — IDENTIFICATION only, not full entity/page data. To inspect the data, call `release_diff` (with this release as `to` and any earlier release — or `null` — as `from`). Accepts numeric id or release name. Filters: `include` (defaults to ['pages','entities']) trims the dimensions returned; `entityTypes` restricts entity types. Brief versions (`page_version.kind='brief'`) are excluded from `pages` (L2 invariant).", {
51
69
  idOrName: z.union([z.string(), z.number()]).describe('Numeric id or release name'),
52
70
  include: z
@@ -57,19 +75,28 @@ export function createReleaseToolsServer(deps) {
57
75
  .array(z.enum(ENTITY_TYPE_VALUES))
58
76
  .optional()
59
77
  .describe("Filter entity types. Default all 5 types. Empty array → 400 INVALID_ENTITY_TYPES_FILTER. Passing this without 'entities' in `include` → 400 CONFLICTING_FILTERS."),
78
+ limit: z
79
+ .number()
80
+ .optional()
81
+ .describe('Window size applied independently to entities[] and pages[]. Default 5, no upper limit. Negative → 400 INVALID_PAGINATION.'),
82
+ offset: z
83
+ .number()
84
+ .optional()
85
+ .describe('Window offset applied independently to entities[] and pages[]. Default 0. Negative → 400 INVALID_PAGINATION.'),
60
86
  }, async (args) => {
61
87
  try {
62
88
  const include = args.include ?? DEFAULT_INCLUDE;
63
89
  const entityTypes = args.entityTypes;
64
90
  validateFilters(args.include, entityTypes);
91
+ const { limit, offset } = resolvePagination(args.limit, args.offset);
65
92
  const raw = deps.releaseService.getReleaseSnapshot(args.idOrName);
66
- return ok(projectSpecSnapshot(raw, { include, entityTypes }));
93
+ return ok(projectSpecSnapshot(raw, { include, entityTypes }, { limit, offset }));
67
94
  }
68
95
  catch (err) {
69
96
  return fail(err);
70
97
  }
71
98
  });
72
- const releaseDiff = mcpTool('release_diff', "Compute a SELF-CONTAINED structured diff between two releases. Each entity carries full `before`/`after` snapshots (per plugin's serializer); each modified section carries full `before`/`after` raw markdown. There is NO `line_diff` and NO drill-down tool (`get_<type>` / `Read pages/...` are not available in this thread) this single round-trip is everything you need to ground a brief. Pass `from: null` for the initial brief (synthetic empty `from`; all entries become `op:'create'` with `before` omitted). `from === to` returns an empty diff. Filters: `include` (defaults ['pages','entities']) and `entityTypes` (defaults all 5) trim the payload to manage context budget.", {
99
+ const releaseDiff = mcpTool('release_diff', "Compute a SELF-CONTAINED structured diff between two releases. Heavy mode (default): each entity carries full `before`/`after` snapshots (per plugin's serializer); each modified section carries full `before`/`after` raw markdown. `entities[]`/`pages[]` are paginated independently by `limit`/`offset` (default 5), and `total: { entities?, pages? }` reports the full count after `include`/`entityTypes` filters, before the window. Light mode (`summaryOnly: true`): returns a delta MAP — `total` + identifiers `{ type, slug, name, op }` per entity and `{ path, op }` per page (incl. `op:'delete'`), WITHOUT `before`/`after`/`content`; the map is FULL and ignores `limit`/`offset`. Intended use: probe with `summaryOnly: true` to learn what changed, then fan out the heavy slices (`entityTypes` and/or `limit`/`offset`) to subagents. Pass `from: null` for the initial brief (synthetic empty `from`; all entries become `op:'create'` with `before` omitted). `from === to` returns an empty diff. There is NO `line_diff`.", {
73
100
  fromIdOrName: z
74
101
  .union([z.string(), z.number(), z.null()])
75
102
  .describe('Earlier release id or name. `null` = initial brief (compare to empty state — all entries become op:create).'),
@@ -82,17 +109,37 @@ export function createReleaseToolsServer(deps) {
82
109
  .array(z.enum(ENTITY_TYPE_VALUES))
83
110
  .optional()
84
111
  .describe("Filter entity types. Default all 5 types. Empty array → 400 INVALID_ENTITY_TYPES_FILTER. Passing this without 'entities' in `include` → 400 CONFLICTING_FILTERS."),
112
+ summaryOnly: z
113
+ .boolean()
114
+ .optional()
115
+ .describe('Default false. true = light delta-map: only `total` + identifiers `{ type, slug, name, op }` / `{ path, op }` (incl. deletes), no before/after/content. Full lists — ignores limit/offset.'),
116
+ limit: z
117
+ .number()
118
+ .optional()
119
+ .describe('Window size applied independently to entities[] and pages[] (heavy mode only). Default 5, no upper limit. Negative → 400 INVALID_PAGINATION.'),
120
+ offset: z
121
+ .number()
122
+ .optional()
123
+ .describe('Window offset applied independently to entities[] and pages[] (heavy mode only). Default 0. Beyond total → empty list + total. Negative → 400 INVALID_PAGINATION.'),
85
124
  }, async (args) => {
86
125
  try {
87
126
  const include = args.include ?? DEFAULT_INCLUDE;
88
127
  const entityTypes = args.entityTypes;
89
128
  validateFilters(args.include, entityTypes);
129
+ // Validate pagination BEFORE the summaryOnly branch — negative limit/offset
130
+ // is a 400 even though `summaryOnly: true` later ignores the window.
131
+ const { limit, offset } = resolvePagination(args.limit, args.offset);
132
+ const summaryOnly = args.summaryOnly === true;
90
133
  const fromIdOrName = args.fromIdOrName;
91
134
  const toIdOrName = args.toIdOrName;
92
135
  const raw = deps.releaseService.getReleaseDiff(fromIdOrName, toIdOrName);
93
136
  const toSnap = deps.releaseService.getReleaseSnapshot(toIdOrName);
94
137
  const fromSnap = fromIdOrName === null ? null : deps.releaseService.getReleaseSnapshot(fromIdOrName);
95
- return ok(projectReleaseDiff(raw, fromSnap, toSnap, { include, entityTypes }));
138
+ return ok(projectReleaseDiff(raw, fromSnap, toSnap, { include, entityTypes }, {
139
+ summaryOnly,
140
+ limit,
141
+ offset,
142
+ }));
96
143
  }
97
144
  catch (err) {
98
145
  return fail(err);
@@ -126,6 +173,22 @@ export function createReleaseToolsServer(deps) {
126
173
  tools: [releaseCreate, releaseList, releaseShow, releaseDiff, releaseUpdate],
127
174
  });
128
175
  }
176
+ const DEFAULT_OFFSET = 0;
177
+ /**
178
+ * Resolve `limit`/`offset` for the MCP-only pagination of `release_list` /
179
+ * `release_show` / `release_diff`. Negative values are a loud 400 `INVALID_PAGINATION` (no
180
+ * silent clamp), consistent with the rest of M17's jaskrawe błędy. Zod keeps
181
+ * these loose (`z.number()`) so negatives reach this check rather than failing
182
+ * as a generic Zod error.
183
+ */
184
+ export function resolvePagination(limit, offset) {
185
+ const l = typeof limit === 'number' ? limit : DEFAULT_PAGE_LIMIT;
186
+ const o = typeof offset === 'number' ? offset : DEFAULT_OFFSET;
187
+ if (l < 0 || o < 0) {
188
+ throw new DomainError('INVALID_PAGINATION', 'limit and offset must be >= 0');
189
+ }
190
+ return { limit: l, offset: o };
191
+ }
129
192
  function validateFilters(include, entityTypes) {
130
193
  if (include !== undefined && include.length === 0) {
131
194
  throw new DomainError('INVALID_INCLUDE_FILTER', 'include must not be an empty array');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/mcp/release-tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/mcp/release-tools/index.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,17 @@
5
5
  */
6
6
  import type { LineDiffLite, PageXmlRefLite, RawDelta, SpecSnapshot } from '../../../shared/entities.js';
7
7
  import type { EntitySnapshot, MCPReleaseDiff, MCPSpecSnapshot, ProjectionOpts } from './types.js';
8
- export declare function projectReleaseDiff(raw: RawDelta, fromSnap: SpecSnapshot | null, toSnap: SpecSnapshot, opts: ProjectionOpts): MCPReleaseDiff;
9
- export declare function projectSpecSnapshot(raw: SpecSnapshot, opts: ProjectionOpts): MCPSpecSnapshot;
8
+ export declare function projectReleaseDiff(raw: RawDelta, fromSnap: SpecSnapshot | null, toSnap: SpecSnapshot, opts: ProjectionOpts, options?: {
9
+ summaryOnly?: boolean;
10
+ limit?: number;
11
+ offset?: number;
12
+ }): MCPReleaseDiff;
13
+ /** MCP-only default window size for `release_show` / `release_list` (M17). */
14
+ export declare const DEFAULT_PAGE_LIMIT = 5;
15
+ export declare function projectSpecSnapshot(raw: SpecSnapshot, opts: ProjectionOpts, pagination?: {
16
+ limit?: number;
17
+ offset?: number;
18
+ }): MCPSpecSnapshot;
10
19
  export declare function escapeInlineTags(s: string): string;
11
20
  /**
12
21
  * Project structural `LineDiffLite` (M02 `m02pvdif1`) into a single markdown
@@ -11,16 +11,34 @@ const ENTITY_TYPES = new Set([
11
11
  'ui-view',
12
12
  'ac',
13
13
  ]);
14
- export function projectReleaseDiff(raw, fromSnap, toSnap, opts) {
15
- const out = { from: raw.from, to: raw.to };
14
+ export function projectReleaseDiff(raw, fromSnap, toSnap, opts, options) {
15
+ const summaryOnly = options?.summaryOnly ?? false;
16
+ const limit = options?.limit ?? DEFAULT_PAGE_LIMIT;
17
+ const offset = options?.offset ?? 0;
18
+ const out = { from: raw.from, to: raw.to, total: {} };
19
+ // Compute the FULL filtered delta first, record `total` on it, THEN branch:
20
+ // light (`summaryOnly`) strips to identifiers and ignores the window; heavy
21
+ // slices `entities[]`/`pages[]` independently by the same `limit`/`offset`.
16
22
  if (opts.include.includes('entities')) {
17
- out.entities = projectEntities(raw.entities, fromSnap, toSnap, opts.entityTypes);
23
+ const full = projectEntities(raw.entities, fromSnap, toSnap, opts.entityTypes);
24
+ out.total.entities = full.length;
25
+ out.entities = summaryOnly ? full.map(toEntityLight) : full.slice(offset, offset + limit);
18
26
  }
19
27
  if (opts.include.includes('pages')) {
20
- out.pages = projectPages(raw.pages, fromSnap, toSnap);
28
+ const full = projectPages(raw.pages, fromSnap, toSnap);
29
+ out.total.pages = full.length;
30
+ out.pages = summaryOnly ? full.map(toPageLight) : full.slice(offset, offset + limit);
21
31
  }
22
32
  return out;
23
33
  }
34
+ /** Strip a heavy entity delta to its light identifier form (`summaryOnly: true`). */
35
+ function toEntityLight(e) {
36
+ return { type: e.type, slug: e.slug, name: e.name, op: e.op };
37
+ }
38
+ /** Strip a heavy page delta to its light identifier form (`summaryOnly: true`). */
39
+ function toPageLight(p) {
40
+ return { path: p.path, op: p.op };
41
+ }
24
42
  function projectEntities(rawEntities, fromSnap, toSnap, entityTypes) {
25
43
  const fromMap = indexEntitiesByTypeSlug(fromSnap?.entities ?? []);
26
44
  const toMap = indexEntitiesByTypeSlug(toSnap.entities);
@@ -136,7 +154,11 @@ function projectPages(rawPages, fromSnap, toSnap) {
136
154
  }
137
155
  return out;
138
156
  }
139
- export function projectSpecSnapshot(raw, opts) {
157
+ /** MCP-only default window size for `release_show` / `release_list` (M17). */
158
+ export const DEFAULT_PAGE_LIMIT = 5;
159
+ export function projectSpecSnapshot(raw, opts, pagination) {
160
+ const limit = pagination?.limit ?? DEFAULT_PAGE_LIMIT;
161
+ const offset = pagination?.offset ?? 0;
140
162
  const out = {
141
163
  release: {
142
164
  id: raw.release.id,
@@ -145,9 +167,12 @@ export function projectSpecSnapshot(raw, opts) {
145
167
  created_by: raw.release.createdBy,
146
168
  created_at: raw.release.createdAt,
147
169
  },
170
+ total: {},
148
171
  };
172
+ // limit/offset apply independently to each list; `total` is the full count
173
+ // after include/entityTypes filtering but before the window is sliced.
149
174
  if (opts.include.includes('entities')) {
150
- out.entities = raw.entities
175
+ const entities = raw.entities
151
176
  .filter((e) => e.op !== 'delete')
152
177
  .filter((e) => !opts.entityTypes || opts.entityTypes.includes(e.type))
153
178
  .map((e) => ({
@@ -155,9 +180,13 @@ export function projectSpecSnapshot(raw, opts) {
155
180
  slug: e.slug,
156
181
  name: extractEntityName(e.data, e.slug),
157
182
  }));
183
+ out.total.entities = entities.length;
184
+ out.entities = entities.slice(offset, offset + limit);
158
185
  }
159
186
  if (opts.include.includes('pages')) {
160
- out.pages = raw.pages.filter((p) => p.op !== 'delete').map((p) => ({ path: p.path }));
187
+ const pages = raw.pages.filter((p) => p.op !== 'delete').map((p) => ({ path: p.path }));
188
+ out.total.pages = pages.length;
189
+ out.pages = pages.slice(offset, offset + limit);
161
190
  }
162
191
  return out;
163
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/server/mcp/release-tools/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/server/mcp/release-tools/projection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAkBlE,MAAM,YAAY,GAAkC,IAAI,GAAG,CAAC;IAC1D,UAAU;IACV,KAAK;IACL,gBAAgB;IAChB,SAAS;IACT,IAAI;CACL,CAAC,CAAC;AAEH,MAAM,UAAU,kBAAkB,CAChC,GAAa,EACb,QAA6B,EAC7B,MAAoB,EACpB,IAAoB,EACpB,OAAoE;IAEpE,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,kBAAkB,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAmB,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAEtE,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,GAAG,CAAC,KAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAClC,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,GAAG,CAAC,KAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qFAAqF;AACrF,SAAS,aAAa,CAAC,CAAiB;IACtC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AAChE,CAAC;AAED,mFAAmF;AACnF,SAAS,WAAW,CAAC,CAAe;IAClC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,eAAe,CACtB,WAAmC,EACnC,QAA6B,EAC7B,MAAoB,EACpB,WAA2C;IAE3C,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,GAAG,GAAqB,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;YAAE,SAAS;QAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAwB,CAAC;YAAE,SAAS;QAC5D,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAwB,CAAC;YAAE,SAAS;QAE/E,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,EAAE;YAAE,SAAS;QAElB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAmC,CAAC;QACpG,MAAM,KAAK,GAAG,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAmC,CAAC;QAEjG,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,IAA8B;YACtC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,iBAAiB,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;YAChD,EAAE;YACF,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CACnB,QAA8B,EAC9B,QAA6B,EAC7B,MAAoB;IAEpB,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAE/B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;YAAE,SAAS;QAC9B,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,EAAE;YAAE,SAAS;QAElB,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEtC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,OAAO,EAAE,iBAAiB,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB;aACvE,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,OAAO,EAAE,kBAAkB,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB;aACzE,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;QACD,sEAAsE;QACtE,8EAA8E;QAC9E,2EAA2E;QAC3E,8CAA8C;QAC9C,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1E,MAAM,SAAS,GAAI,MAAM,EAAE,IAAyC,EAAE,OAAO,CAAC;YAC9E,MAAM,UAAU,GAAG,SAAS;gBAC1B,CAAC,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrE,CAAC,CAAC,IAAI,GAAG,EAAkB,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;gBACjC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAC5C,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;oBACvC,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;QAE/D,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC/B,MAAM,WAAW,GAA0E,EAAE,CAAC;YAC9F,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACpB,MAAM,EAAE,GAAI,QAAQ,EAAE,IAA8D,EAAE,WAAW,CAAC;gBAClG,IAAI,EAAE,KAAK,SAAS;oBAAE,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC;YAChD,CAAC;YACD,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACpB,MAAM,EAAE,GAAI,MAAM,EAAE,IAA8D,EAAE,WAAW,CAAC;gBAChG,IAAI,EAAE,KAAK,SAAS;oBAAE,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/C,CAAC;YACD,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,OAAO,GAA4C,EAAE,CAAC;YAC5D,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAI,QAAQ,EAAE,IAAoD,EAAE,QAAQ,CAAC;gBACvF,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAI,MAAM,EAAE,IAAoD,EAAE,QAAQ,CAAC;gBACrF,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACjE,CAAC;YACD,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC,MAAM,UAAU,mBAAmB,CACjC,GAAiB,EACjB,IAAoB,EACpB,UAAgD;IAEhD,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,kBAAkB,CAAC;IACtD,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC;IACvC,MAAM,GAAG,GAAoB;QAC3B,OAAO,EAAE;YACP,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;YAClB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI;YACtB,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW;YACpC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;YACjC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;SAClC;QACD,KAAK,EAAE,EAAE;KACV,CAAC;IACF,2EAA2E;IAC3E,uEAAuE;IACvE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAwB,CAAC,CAAC;aACzF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAsB,EAAE,CAAC,CAAC,IAAI,CAAC;SAC1D,CAAC,CAAC,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QACrC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxF,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAC/B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAE9E,SAAS,uBAAuB,CAC9B,IAA6B;IAE7B,MAAM,CAAC,GAAG,IAAI,GAAG,EAAiC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,gBAAgB,CAAC,IAA2B;IACnD,MAAM,CAAC,GAAG,IAAI,GAAG,EAA+B,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAAC,EAAe;IAClC,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACtC,IAAI,EAAE,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAC;IACvC,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,EAAa;IAC9B,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACtC,IAAI,EAAE,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAC;IACvC,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,YAAY,GAA6C;IAC7D,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAC5C,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IAC9C,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAC1C,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;CAC7C,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAkB;IAC5D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAa,EAAE,CAAC;IAE1B,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACnE,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9D,MAAM,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YACvB,KAAK,EAAE,CAAC;YACR,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YACjC,qEAAqE;YACrE,uEAAuE;YACvE,iEAAiE;YACjE,wCAAwC;YACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,UAAU;YACV,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAiB;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;SAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,CAA6B,EAAE,IAAY;IAC3E,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC9C,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -18,8 +18,36 @@ export interface MCPReleaseDiff {
18
18
  id: number;
19
19
  name: string;
20
20
  };
21
- entities?: MCPEntityDelta[];
22
- pages?: MCPPageDelta[];
21
+ /**
22
+ * Totals AFTER include/entityTypes filters, BEFORE limit/offset. Keys stay in
23
+ * lock-step with `include` (mirrors `MCPSpecSnapshot.total`). Always present so
24
+ * a paginating consumer — or the brief-author probe-map (`summaryOnly: true`) —
25
+ * knows the full cardinality of each filtered dimension.
26
+ */
27
+ total?: {
28
+ entities?: number;
29
+ pages?: number;
30
+ };
31
+ /**
32
+ * Heavy variant (`summaryOnly !== true`): full `MCPEntityDelta` with
33
+ * `before`/`after`, windowed by `limit`/`offset`.
34
+ * Light variant (`summaryOnly === true`): `MCPEntityDeltaLight` identifiers
35
+ * only (full list, window ignored).
36
+ */
37
+ entities?: MCPEntityDelta[] | MCPEntityDeltaLight[];
38
+ pages?: MCPPageDelta[] | MCPPageDeltaLight[];
39
+ }
40
+ /** Light delta-map entry (`summaryOnly: true`) — identifier + op, no `before`/`after`. */
41
+ export interface MCPEntityDeltaLight {
42
+ type: 'endpoint' | 'dto' | 'database-table' | 'ui-view' | 'ac';
43
+ slug: string;
44
+ name: string;
45
+ op: 'create' | 'update' | 'delete';
46
+ }
47
+ /** Light delta-map entry (`summaryOnly: true`) — path + op, no `sections`/`content`. */
48
+ export interface MCPPageDeltaLight {
49
+ path: string;
50
+ op: 'create' | 'update' | 'delete';
23
51
  }
24
52
  export interface MCPEntityDelta {
25
53
  type: 'endpoint' | 'dto' | 'database-table' | 'ui-view' | 'ac';
@@ -74,6 +102,15 @@ export interface MCPSpecSnapshot {
74
102
  created_by: string;
75
103
  created_at: string;
76
104
  };
105
+ /**
106
+ * Totals BEFORE limit/offset, AFTER include/entityTypes filters. Keys stay in
107
+ * lock-step with `include`: `entities`/`pages` key omitted when its dimension
108
+ * is excluded. Lets a paginating consumer know how many items exist in total.
109
+ */
110
+ total: {
111
+ entities?: number;
112
+ pages?: number;
113
+ };
77
114
  entities?: {
78
115
  type: string;
79
116
  slug: string;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * 0.1.69 Transagents — `transagent-tools` MCP server.
3
+ *
4
+ * Single tool `runTransagent`: delegate a unit of work to a hidden CHILD thread
5
+ * ("banka") of the SAME spec, running in a chosen `contextType`. The child runs
6
+ * a full turn (side-effecting artifacts, live stream into the parent panel) and
7
+ * returns ONLY a `summary` to the parent LLM's context — keeping the parent's
8
+ * context budget free of the child's full transcript.
9
+ *
10
+ * Per-request instance (like `plan-tools` / `brief-tools`): `parentThreadId` and
11
+ * the `dispatcher` are captured from the parent turn. Mounted ONLY for
12
+ * `context_type ∈ {chat, patch}` and never inside a child banka (recursion depth
13
+ * 1) — both guards live in agent-turn.ts.
14
+ *
15
+ * Read-only cross-spec counterpart: `c4s-tools` (consults a DIFFERENT spec).
16
+ */
17
+ import { type McpServerInstance } from '@inharness-ai/agent-adapters';
18
+ import type { TransagentDispatcher } from '../services/transagent-dispatcher.js';
19
+ /** Tool name as the SDK reports it (`mcp__<server>__<tool>`) — used by the
20
+ * agent-turn loop to correlate the tool_use event with the dispatcher. */
21
+ export declare const TRANSAGENT_TOOL_FULL_NAME = "mcp__transagent-tools__runTransagent";
22
+ export interface TransagentToolsContext {
23
+ parentThreadId: string;
24
+ dispatcher: TransagentDispatcher;
25
+ }
26
+ export declare function buildTransagentToolsServer(ctx: TransagentToolsContext): McpServerInstance;
@@ -0,0 +1,75 @@
1
+ /**
2
+ * 0.1.69 Transagents — `transagent-tools` MCP server.
3
+ *
4
+ * Single tool `runTransagent`: delegate a unit of work to a hidden CHILD thread
5
+ * ("banka") of the SAME spec, running in a chosen `contextType`. The child runs
6
+ * a full turn (side-effecting artifacts, live stream into the parent panel) and
7
+ * returns ONLY a `summary` to the parent LLM's context — keeping the parent's
8
+ * context budget free of the child's full transcript.
9
+ *
10
+ * Per-request instance (like `plan-tools` / `brief-tools`): `parentThreadId` and
11
+ * the `dispatcher` are captured from the parent turn. Mounted ONLY for
12
+ * `context_type ∈ {chat, patch}` and never inside a child banka (recursion depth
13
+ * 1) — both guards live in agent-turn.ts.
14
+ *
15
+ * Read-only cross-spec counterpart: `c4s-tools` (consults a DIFFERENT spec).
16
+ */
17
+ import { createMcpServer, mcpTool } from '@inharness-ai/agent-adapters';
18
+ import { z } from 'zod';
19
+ import { DomainError } from '../services/tags.js';
20
+ /** Tool name as the SDK reports it (`mcp__<server>__<tool>`) — used by the
21
+ * agent-turn loop to correlate the tool_use event with the dispatcher. */
22
+ export const TRANSAGENT_TOOL_FULL_NAME = 'mcp__transagent-tools__runTransagent';
23
+ export function buildTransagentToolsServer(ctx) {
24
+ const runTransagent = mcpTool('runTransagent', [
25
+ 'Delegate a unit of work to a hidden CHILD thread ("banka") of THIS specification.',
26
+ 'The child runs a full turn in the chosen `contextType` (brief | chat | patch), may produce',
27
+ 'side-effecting artifacts, streams live into your panel, and returns ONLY a concise `summary`',
28
+ 'to your context — its full transcript stays hidden, keeping your context budget small.',
29
+ 'Use it to hand off self-contained work: "turn this analysis into a brief", "split this plan",',
30
+ '"draft the patch for X". Returns { threadId, summary }.',
31
+ " - contextType='brief': creates an ANALYSIS brief file (source: analysis, to_release: null)",
32
+ ' grounded in the `message` you pass (your analysis), then runs a brief-editorial child.',
33
+ ' Optional payload: { fromReleaseName?, suffix?, content? }.',
34
+ " - contextType='patch': resolves a patch — payload MUST include { patchPath }.",
35
+ " - contextType='chat': a plain child chat turn.",
36
+ 'Continue an existing child by passing its `threadId` (omit `contextType` semantics then).',
37
+ 'At most one child runs per turn (this tool_use blocks until the child finishes).',
38
+ ].join('\n'), {
39
+ contextType: z.enum(['brief', 'chat', 'patch']),
40
+ message: z.string(),
41
+ payload: z.record(z.string(), z.unknown()).optional(),
42
+ threadId: z.string().optional(),
43
+ }, async (input) => {
44
+ try {
45
+ const result = await ctx.dispatcher.run({
46
+ parentThreadId: ctx.parentThreadId,
47
+ contextType: input.contextType,
48
+ message: String(input.message ?? ''),
49
+ payload: input.payload && typeof input.payload === 'object'
50
+ ? input.payload
51
+ : undefined,
52
+ threadId: typeof input.threadId === 'string' ? input.threadId : undefined,
53
+ });
54
+ return {
55
+ content: [{ type: 'text', text: JSON.stringify(result) }],
56
+ };
57
+ }
58
+ catch (err) {
59
+ // Non-abort child failure collapses upward as the parent's tool_result
60
+ // isError { code, message }. The last good summary remains readable via
61
+ // runTransagent({ threadId }).
62
+ const code = err instanceof DomainError ? err.code : 'AGENT_ERROR';
63
+ const message = err instanceof Error ? err.message : String(err);
64
+ return {
65
+ content: [{ type: 'text', text: JSON.stringify({ error: { code, message } }) }],
66
+ isError: true,
67
+ };
68
+ }
69
+ });
70
+ return createMcpServer({
71
+ name: 'transagent-tools',
72
+ tools: [runTransagent],
73
+ });
74
+ }
75
+ //# sourceMappingURL=transagent-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transagent-tools.js","sourceRoot":"","sources":["../../../src/server/mcp/transagent-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,eAAe,EAAE,OAAO,EAA0B,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD;2EAC2E;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,sCAAsC,CAAC;AAOhF,MAAM,UAAU,0BAA0B,CAAC,GAA2B;IACpE,MAAM,aAAa,GAAG,OAAO,CAC3B,eAAe,EACf;QACE,mFAAmF;QACnF,4FAA4F;QAC5F,8FAA8F;QAC9F,wFAAwF;QACxF,+FAA+F;QAC/F,yDAAyD;QACzD,8FAA8F;QAC9F,4FAA4F;QAC5F,gEAAgE;QAChE,iFAAiF;QACjF,kDAAkD;QAClD,2FAA2F;QAC3F,kFAAkF;KACnF,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;QACE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;gBACtC,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,WAAW,EAAE,KAAK,CAAC,WAAyC;gBAC5D,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;gBACpC,OAAO,EACL,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oBAChD,CAAC,CAAE,KAAK,CAAC,OAAmC;oBAC5C,CAAC,CAAC,SAAS;gBACf,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aAC1E,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uEAAuE;YACvE,wEAAwE;YACxE,+BAA+B;YAC/B,MAAM,IAAI,GAAG,GAAG,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;YACnE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;gBACxF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,OAAO,eAAe,CAAC;QACrB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,CAAC,aAAa,CAAC;KACvB,CAAC,CAAC;AACL,CAAC"}