@inharness-ai/claude4spec 1.0.13 → 1.0.15

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 (180) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/bin/c4s/commands/find-references.d.ts +13 -0
  3. package/dist/bin/c4s/commands/find-references.js +81 -0
  4. package/dist/bin/c4s/commands/find-references.js.map +1 -0
  5. package/dist/bin/c4s.js +6 -0
  6. package/dist/bin/c4s.js.map +1 -1
  7. package/dist/client/assets/{arc-E0e7X_zn.js → arc-Bm0IE9-2.js} +1 -1
  8. package/dist/client/assets/{architectureDiagram-3BPJPVTR-BzlqOVZv.js → architectureDiagram-3BPJPVTR-GJ4QxX0Q.js} +1 -1
  9. package/dist/client/assets/{blockDiagram-GPEHLZMM-BIQcApN7.js → blockDiagram-GPEHLZMM-C9rZbfxq.js} +1 -1
  10. package/dist/client/assets/{c4Diagram-AAUBKEIU-CDU0V1yk.js → c4Diagram-AAUBKEIU-DyVuHGeV.js} +1 -1
  11. package/dist/client/assets/channel-BGn39mc8.js +1 -0
  12. package/dist/client/assets/{chunk-2J33WTMH-PtDSwC5f.js → chunk-2J33WTMH-DePzEFC8.js} +1 -1
  13. package/dist/client/assets/{chunk-4BX2VUAB-DTUPWrSO.js → chunk-4BX2VUAB-NZkVFx6P.js} +1 -1
  14. package/dist/client/assets/{chunk-55IACEB6-Cpd59xZT.js → chunk-55IACEB6-DSelTsfa.js} +1 -1
  15. package/dist/client/assets/{chunk-727SXJPM-C4DOvpJT.js → chunk-727SXJPM-Vk_bMeuW.js} +1 -1
  16. package/dist/client/assets/{chunk-AQP2D5EJ-CtjeHPBB.js → chunk-AQP2D5EJ-Bv_5j6lW.js} +1 -1
  17. package/dist/client/assets/{chunk-FMBD7UC4-CZA3OvVr.js → chunk-FMBD7UC4-CIwy6WRQ.js} +1 -1
  18. package/dist/client/assets/{chunk-ND2GUHAM-Cbx6nQHm.js → chunk-ND2GUHAM-C-7ZR2Kw.js} +1 -1
  19. package/dist/client/assets/{chunk-QZHKN3VN-3DunELI_.js → chunk-QZHKN3VN-D2pOGWp9.js} +1 -1
  20. package/dist/client/assets/classDiagram-4FO5ZUOK-DZ5eaGnY.js +1 -0
  21. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DZ5eaGnY.js +1 -0
  22. package/dist/client/assets/{cose-bilkent-S5V4N54A-CKYJnuL7.js → cose-bilkent-S5V4N54A-NgRxSzcd.js} +1 -1
  23. package/dist/client/assets/{dagre-BM42HDAG-BrvRwrr_.js → dagre-BM42HDAG-kwaDBrFq.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-BaVLuzcD.js → diagram-2AECGRRQ-B5OMokEe.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-9Cu7Wa7J.js → diagram-5GNKFQAL-9h9Lsrr_.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-XKiCVdjO.js → diagram-KO2AKTUF-DcNC4jPN.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-DerecU5v.js → diagram-LMA3HP47-D41zybvJ.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-BWcREvZ9.js → diagram-OG6HWLK6-D12dQiCG.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-DU3BBQJY.js → erDiagram-TEJ5UH35-brqTv2OJ.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-DXO_IJeR.js → flowDiagram-I6XJVG4X-D6q2xyWg.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-CXiFZEPx.js → ganttDiagram-6RSMTGT7-DlH9o0CJ.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DHewdln-.js → gitGraphDiagram-PVQCEYII-CgNLFhAT.js} +1 -1
  33. package/dist/client/assets/{index-DT5g2AtL.js → index-C-gTQA-n.js} +1 -1
  34. package/dist/client/assets/{index-DD0GkjkG.js → index-DDRzJojo.js} +1 -1
  35. package/dist/client/assets/{index-BTXWIk4x.css → index-DirDnayu.css} +1 -1
  36. package/dist/client/assets/{index-DcIG_8JB.js → index-qO9stCkx.js} +189 -179
  37. package/dist/client/assets/{infoDiagram-5YYISTIA-CN40PAGW.js → infoDiagram-5YYISTIA-ThuQNCvi.js} +1 -1
  38. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-B8KsyuPk.js → ishikawaDiagram-YF4QCWOH-m-2DHbkK.js} +1 -1
  39. package/dist/client/assets/{journeyDiagram-JHISSGLW-BlEb3E_P.js → journeyDiagram-JHISSGLW-CNCSJPeY.js} +1 -1
  40. package/dist/client/assets/{kanban-definition-UN3LZRKU-B080CGS9.js → kanban-definition-UN3LZRKU-CtzjrW3p.js} +1 -1
  41. package/dist/client/assets/{linear-D6Tg-IET.js → linear-BF1Qhpjc.js} +1 -1
  42. package/dist/client/assets/{mermaid.core-DP18nW3T.js → mermaid.core-fKaK1Sz_.js} +4 -4
  43. package/dist/client/assets/{mindmap-definition-RKZ34NQL-bfo7Qm5I.js → mindmap-definition-RKZ34NQL-CXuVRuzz.js} +1 -1
  44. package/dist/client/assets/{pieDiagram-4H26LBE5-ZsPztPu6.js → pieDiagram-4H26LBE5-DdL9uKdO.js} +1 -1
  45. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-DKrTleIL.js → quadrantDiagram-W4KKPZXB-C_0FG9xH.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-4Y6WPE33-D4YX8ZgG.js → requirementDiagram-4Y6WPE33-Qmg8C7k6.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-Bo-xm6Mc.js → sankeyDiagram-5OEKKPKP-DuIvgSjA.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-CozgdKp6.js → sequenceDiagram-3UESZ5HK-B4JsFW9i.js} +1 -1
  49. package/dist/client/assets/{stateDiagram-AJRCARHV-CiK61MwV.js → stateDiagram-AJRCARHV-lTFw6Md4.js} +1 -1
  50. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-D2iiMzxh.js +1 -0
  51. package/dist/client/assets/{timeline-definition-PNZ67QCA-CgHoguI7.js → timeline-definition-PNZ67QCA-C7Hc5KbB.js} +1 -1
  52. package/dist/client/assets/{vennDiagram-CIIHVFJN-TY32dxQb.js → vennDiagram-CIIHVFJN-DMyGzBh7.js} +1 -1
  53. package/dist/client/assets/{wardley-L42UT6IY-C6Q7VFwH.js → wardley-L42UT6IY-BjA5T0YY.js} +1 -1
  54. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-nZLnVsQL.js → wardleyDiagram-YWT4CUSO-BhOipIZG.js} +1 -1
  55. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DHdYRHEr.js → xychartDiagram-2RQKCTM6-Czx4--PM.js} +1 -1
  56. package/dist/client/index.html +2 -2
  57. package/dist/core/references/find-references.d.ts +13 -0
  58. package/dist/core/references/find-references.js +41 -0
  59. package/dist/core/references/find-references.js.map +1 -0
  60. package/dist/core/references/index.d.ts +2 -0
  61. package/dist/core/references/index.js +2 -0
  62. package/dist/core/references/index.js.map +1 -0
  63. package/dist/core/references/types.d.ts +45 -0
  64. package/dist/core/references/types.js +9 -0
  65. package/dist/core/references/types.js.map +1 -0
  66. package/dist/server/config.d.ts +9 -0
  67. package/dist/server/config.js +6 -0
  68. package/dist/server/config.js.map +1 -1
  69. package/dist/server/core/plugin-host/entities-router.d.ts +2 -1
  70. package/dist/server/core/plugin-host/entities-router.js +19 -13
  71. package/dist/server/core/plugin-host/entities-router.js.map +1 -1
  72. package/dist/server/core/plugin-host/host.js +4 -9
  73. package/dist/server/core/plugin-host/host.js.map +1 -1
  74. package/dist/server/core/plugin-host/types.d.ts +9 -14
  75. package/dist/server/db/migrations/035_m29_slug_identity.sql +248 -0
  76. package/dist/server/domain/raw-entity-reader.d.ts +3 -5
  77. package/dist/server/domain/raw-entity-reader.js +28 -39
  78. package/dist/server/domain/raw-entity-reader.js.map +1 -1
  79. package/dist/server/entities/ac/ac-analysis.service.d.ts +54 -0
  80. package/dist/server/entities/ac/ac-analysis.service.js +162 -0
  81. package/dist/server/entities/ac/ac-analysis.service.js.map +1 -0
  82. package/dist/server/entities/ac/mcp-server.d.ts +8 -0
  83. package/dist/server/entities/ac/mcp-server.js +30 -2
  84. package/dist/server/entities/ac/mcp-server.js.map +1 -1
  85. package/dist/server/entities/ac/plugin.js +4 -2
  86. package/dist/server/entities/ac/plugin.js.map +1 -1
  87. package/dist/server/entities/ac/serializer.js +1 -1
  88. package/dist/server/entities/ac/serializer.js.map +1 -1
  89. package/dist/server/entities/ac/services.d.ts +19 -7
  90. package/dist/server/entities/ac/services.js +65 -42
  91. package/dist/server/entities/ac/services.js.map +1 -1
  92. package/dist/server/entities/database-table/plugin.js +1 -2
  93. package/dist/server/entities/database-table/plugin.js.map +1 -1
  94. package/dist/server/entities/database-table/serializer.js +1 -1
  95. package/dist/server/entities/database-table/serializer.js.map +1 -1
  96. package/dist/server/entities/database-table/services.d.ts +19 -7
  97. package/dist/server/entities/database-table/services.js +74 -47
  98. package/dist/server/entities/database-table/services.js.map +1 -1
  99. package/dist/server/entities/dto/plugin.js +1 -2
  100. package/dist/server/entities/dto/plugin.js.map +1 -1
  101. package/dist/server/entities/dto/serializer.js +2 -2
  102. package/dist/server/entities/dto/serializer.js.map +1 -1
  103. package/dist/server/entities/dto/services.d.ts +19 -7
  104. package/dist/server/entities/dto/services.js +70 -47
  105. package/dist/server/entities/dto/services.js.map +1 -1
  106. package/dist/server/entities/endpoint/plugin.js +1 -2
  107. package/dist/server/entities/endpoint/plugin.js.map +1 -1
  108. package/dist/server/entities/endpoint/serializer.js +4 -4
  109. package/dist/server/entities/endpoint/serializer.js.map +1 -1
  110. package/dist/server/entities/endpoint/services.d.ts +21 -9
  111. package/dist/server/entities/endpoint/services.js +91 -63
  112. package/dist/server/entities/endpoint/services.js.map +1 -1
  113. package/dist/server/entities/mutate-opts.d.ts +15 -0
  114. package/dist/server/entities/mutate-opts.js +2 -0
  115. package/dist/server/entities/mutate-opts.js.map +1 -0
  116. package/dist/server/entities/ui-view/plugin.js +1 -2
  117. package/dist/server/entities/ui-view/plugin.js.map +1 -1
  118. package/dist/server/entities/ui-view/serializer.js +1 -1
  119. package/dist/server/entities/ui-view/serializer.js.map +1 -1
  120. package/dist/server/entities/ui-view/services.d.ts +19 -7
  121. package/dist/server/entities/ui-view/services.js +65 -42
  122. package/dist/server/entities/ui-view/services.js.map +1 -1
  123. package/dist/server/fs/entities-watcher.d.ts +31 -0
  124. package/dist/server/fs/entities-watcher.js +68 -0
  125. package/dist/server/fs/entities-watcher.js.map +1 -0
  126. package/dist/server/fs/watcher.js +7 -1
  127. package/dist/server/fs/watcher.js.map +1 -1
  128. package/dist/server/index.js +112 -6
  129. package/dist/server/index.js.map +1 -1
  130. package/dist/server/mcp/reference-tools.d.ts +3 -0
  131. package/dist/server/mcp/reference-tools.js +25 -161
  132. package/dist/server/mcp/reference-tools.js.map +1 -1
  133. package/dist/server/routes/static.d.ts +11 -0
  134. package/dist/server/routes/static.js +44 -0
  135. package/dist/server/routes/static.js.map +1 -0
  136. package/dist/server/services/entity-indexer.d.ts +42 -0
  137. package/dist/server/services/entity-indexer.js +179 -0
  138. package/dist/server/services/entity-indexer.js.map +1 -0
  139. package/dist/server/services/entity-store.d.ts +68 -0
  140. package/dist/server/services/entity-store.js +162 -0
  141. package/dist/server/services/entity-store.js.map +1 -0
  142. package/dist/server/services/entity-writer.d.ts +12 -1
  143. package/dist/server/services/entity-writer.js +22 -11
  144. package/dist/server/services/entity-writer.js.map +1 -1
  145. package/dist/server/services/git.js +6 -1
  146. package/dist/server/services/git.js.map +1 -1
  147. package/dist/server/services/pages.js +5 -1
  148. package/dist/server/services/pages.js.map +1 -1
  149. package/dist/server/services/references.d.ts +25 -0
  150. package/dist/server/services/references.js +102 -21
  151. package/dist/server/services/references.js.map +1 -1
  152. package/dist/server/services/release.d.ts +10 -10
  153. package/dist/server/services/release.js +32 -63
  154. package/dist/server/services/release.js.map +1 -1
  155. package/dist/server/services/section-indexer.d.ts +0 -1
  156. package/dist/server/services/section-indexer.js +5 -7
  157. package/dist/server/services/section-indexer.js.map +1 -1
  158. package/dist/server/services/skill-registry.d.ts +28 -1
  159. package/dist/server/services/skill-registry.js +51 -10
  160. package/dist/server/services/skill-registry.js.map +1 -1
  161. package/dist/server/services/static-html.d.ts +24 -0
  162. package/dist/server/services/static-html.js +49 -0
  163. package/dist/server/services/static-html.js.map +1 -0
  164. package/dist/server/services/tags.d.ts +13 -3
  165. package/dist/server/services/tags.js +65 -26
  166. package/dist/server/services/tags.js.map +1 -1
  167. package/dist/server/services/versions.d.ts +7 -7
  168. package/dist/server/services/versions.js +34 -37
  169. package/dist/server/services/versions.js.map +1 -1
  170. package/dist/shared/entities.d.ts +2 -2
  171. package/dist/shared/types.d.ts +9 -0
  172. package/dist/shared/xml-tags.d.ts +8 -0
  173. package/dist/shared/xml-tags.js +24 -0
  174. package/dist/shared/xml-tags.js.map +1 -1
  175. package/package.json +1 -1
  176. package/dist/client/assets/channel-BqjILLUr.js +0 -1
  177. package/dist/client/assets/classDiagram-4FO5ZUOK-LjT84-kK.js +0 -1
  178. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-LjT84-kK.js +0 -1
  179. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-C6-8M5Sb.js +0 -1
  180. package/dist/server/db/migrations/026_ac_seed.sql +0 -75
@@ -25,13 +25,6 @@ export class RawEntityReader {
25
25
  return null;
26
26
  return this.hydrate(type, row);
27
27
  }
28
- getEntityById(type, id) {
29
- const table = ENTITY_TABLES[type];
30
- const row = this.db.prepare(`SELECT * FROM ${table} WHERE id = ?`).get(id);
31
- if (!row)
32
- return null;
33
- return this.hydrate(type, row);
34
- }
35
28
  getEntities(type, slugs) {
36
29
  const items = [];
37
30
  const missing = [];
@@ -63,13 +56,12 @@ export class RawEntityReader {
63
56
  if (filter === 'and') {
64
57
  sql = `
65
58
  SELECT e.* FROM ${table} e
66
- WHERE e.id IN (
67
- SELECT et.entity_id
59
+ WHERE e.slug IN (
60
+ SELECT et.entity_slug
68
61
  FROM entity_tag et
69
- JOIN tag t ON t.id = et.tag_id
70
- WHERE et.entity_type = ? AND t.slug IN (${placeholders})
71
- GROUP BY et.entity_id
72
- HAVING COUNT(DISTINCT t.slug) = ?
62
+ WHERE et.entity_type = ? AND et.tag_slug IN (${placeholders})
63
+ GROUP BY et.entity_slug
64
+ HAVING COUNT(DISTINCT et.tag_slug) = ?
73
65
  )
74
66
  ORDER BY e.slug
75
67
  `;
@@ -78,10 +70,9 @@ export class RawEntityReader {
78
70
  else {
79
71
  sql = `
80
72
  SELECT e.* FROM ${table} e
81
- WHERE e.id IN (
82
- SELECT et.entity_id FROM entity_tag et
83
- JOIN tag t ON t.id = et.tag_id
84
- WHERE et.entity_type = ? AND t.slug IN (${placeholders})
73
+ WHERE e.slug IN (
74
+ SELECT et.entity_slug FROM entity_tag et
75
+ WHERE et.entity_type = ? AND et.tag_slug IN (${placeholders})
85
76
  )
86
77
  ORDER BY e.slug
87
78
  `;
@@ -111,10 +102,9 @@ export class RawEntityReader {
111
102
  listTags() {
112
103
  const rows = this.db.prepare(`SELECT * FROM tag ORDER BY name`).all();
113
104
  const countRows = this.db
114
- .prepare(`SELECT t.slug AS slug, et.entity_type AS entity_type, COUNT(*) AS c
105
+ .prepare(`SELECT et.tag_slug AS slug, et.entity_type AS entity_type, COUNT(*) AS c
115
106
  FROM entity_tag et
116
- JOIN tag t ON t.id = et.tag_id
117
- GROUP BY t.slug, et.entity_type`)
107
+ GROUP BY et.tag_slug, et.entity_type`)
118
108
  .all();
119
109
  const countMap = new Map();
120
110
  for (const row of countRows) {
@@ -131,15 +121,15 @@ export class RawEntityReader {
131
121
  }));
132
122
  }
133
123
  /** Returns sections that referenced the given entity (populated by section-indexer). */
134
- findSectionReferences(type, entityId) {
124
+ findSectionReferences(type, slug) {
135
125
  const rows = this.db
136
126
  .prepare(`SELECT sel.anchor AS anchor, sel.relation AS relation,
137
127
  si.page_path AS page_path, si.heading_text AS heading_text
138
128
  FROM section_entity_link sel
139
129
  JOIN section_index si ON si.anchor = sel.anchor
140
- WHERE sel.entity_type = ? AND sel.entity_id = ?
130
+ WHERE sel.entity_type = ? AND sel.entity_slug = ?
141
131
  ORDER BY si.page_path, si.line_start`)
142
- .all(type, entityId);
132
+ .all(type, slug);
143
133
  return rows.map((r) => ({
144
134
  anchor: r.anchor,
145
135
  pagePath: r.page_path,
@@ -148,15 +138,15 @@ export class RawEntityReader {
148
138
  }));
149
139
  }
150
140
  /** Endpoint-DTO links (denormalised). */
151
- findEndpointDtos(endpointId) {
141
+ findEndpointDtos(endpointSlug) {
152
142
  const rows = this.db
153
143
  .prepare(`SELECT d.slug AS dto_slug, d.name AS dto_name,
154
144
  ed.relation AS relation, ed.status_code AS status_code
155
145
  FROM endpoint_dto ed
156
- JOIN dto d ON d.id = ed.dto_id
157
- WHERE ed.endpoint_id = ?
146
+ JOIN dto d ON d.slug = ed.dto_slug
147
+ WHERE ed.endpoint_slug = ?
158
148
  ORDER BY ed.relation, ed.status_code, d.name`)
159
- .all(endpointId);
149
+ .all(endpointSlug);
160
150
  return rows.map((r) => ({
161
151
  dtoSlug: r.dto_slug,
162
152
  dtoName: r.dto_name,
@@ -165,15 +155,15 @@ export class RawEntityReader {
165
155
  }));
166
156
  }
167
157
  /** Reverse: endpoints linked to a DTO. */
168
- findDtoEndpoints(dtoId) {
158
+ findDtoEndpoints(dtoSlug) {
169
159
  const rows = this.db
170
160
  .prepare(`SELECT e.slug AS slug, e.method AS method, e.path AS path,
171
161
  ed.relation AS relation, ed.status_code AS status_code
172
162
  FROM endpoint_dto ed
173
- JOIN endpoint e ON e.id = ed.endpoint_id
174
- WHERE ed.dto_id = ?
163
+ JOIN endpoint e ON e.slug = ed.endpoint_slug
164
+ WHERE ed.dto_slug = ?
175
165
  ORDER BY ed.relation, ed.status_code, e.path`)
176
- .all(dtoId);
166
+ .all(dtoSlug);
177
167
  return rows.map((r) => ({
178
168
  endpointSlug: r.slug,
179
169
  method: r.method,
@@ -183,12 +173,11 @@ export class RawEntityReader {
183
173
  }));
184
174
  }
185
175
  hydrate(type, row) {
186
- const id = row.id;
187
176
  const slug = row.slug;
188
- const tags = this.getEntityTagSlugs(type, id);
177
+ const tags = this.getEntityTagSlugs(type, slug);
189
178
  const data = {};
190
179
  for (const [key, value] of Object.entries(row)) {
191
- if (key === 'id' || key === 'created_at' || key === 'updated_at')
180
+ if (key === 'created_at' || key === 'updated_at')
192
181
  continue;
193
182
  data[key] = value;
194
183
  }
@@ -203,7 +192,7 @@ export class RawEntityReader {
203
192
  continue;
204
193
  data[key] = safeJsonArray(value);
205
194
  }
206
- return { type, id, slug, data, tags };
195
+ return { type, slug, data, tags };
207
196
  }
208
197
  hydrateSection(row) {
209
198
  return {
@@ -217,14 +206,14 @@ export class RawEntityReader {
217
206
  lineEnd: row.line_end,
218
207
  };
219
208
  }
220
- getEntityTagSlugs(type, entityId) {
209
+ getEntityTagSlugs(type, slug) {
221
210
  const rows = this.db
222
211
  .prepare(`SELECT t.slug AS slug
223
212
  FROM entity_tag et
224
- JOIN tag t ON t.id = et.tag_id
225
- WHERE et.entity_type = ? AND et.entity_id = ?
213
+ JOIN tag t ON t.slug = et.tag_slug
214
+ WHERE et.entity_type = ? AND et.entity_slug = ?
226
215
  ORDER BY t.name`)
227
- .all(type, entityId);
216
+ .all(type, slug);
228
217
  return rows.map((r) => r.slug);
229
218
  }
230
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"raw-entity-reader.js","sourceRoot":"","sources":["../../../src/server/domain/raw-entity-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw-entity-reader.js","sourceRoot":"","sources":["../../../src/server/domain/raw-entity-reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { Database } from 'better-sqlite3';
2
+ import type { AcService } from './services.js';
3
+ import type { PluginHost } from '../../core/plugin-host/types.js';
4
+ export interface AcAnalysisOptions {
5
+ /** Limit to ACs carrying this tag slug. Omit for no tag filter. */
6
+ scope_tag?: string;
7
+ /** Limit to a single AC by slug. Omit to analyse all active ACs. */
8
+ ac_slug?: string;
9
+ }
10
+ export interface AcAnalysisIssue {
11
+ ac_slug: string;
12
+ issue_type: string;
13
+ details: string;
14
+ affected_entity?: {
15
+ type: string;
16
+ slug: string;
17
+ };
18
+ confidence: number;
19
+ suggested_correction?: string;
20
+ }
21
+ export type AcSkippedReason = 'no_verifies' | 'all_verifies_broken' | 'ac_plugin_inactive';
22
+ export interface AcSkippedEntry {
23
+ ac_slug?: string;
24
+ reason: AcSkippedReason;
25
+ }
26
+ export interface AcAnalysisResult {
27
+ issues: AcAnalysisIssue[];
28
+ analyzed_count: number;
29
+ skipped_count: number;
30
+ skipped_reasons: AcSkippedEntry[];
31
+ }
32
+ export interface AcAnalysisDeps {
33
+ acService: AcService;
34
+ db: Database;
35
+ cwd: string;
36
+ host: PluginHost;
37
+ }
38
+ /**
39
+ * L2 service for the LLM-based AC semantic audit (brief 0.1.45 §1). Owns the
40
+ * logic that used to live inline in the `ac-tools` MCP server: for each active
41
+ * AC it loads `text` + `verifies[]` + the linked entity snapshots, builds a
42
+ * single prompt, and calls the `claude-code` adapter. Read-only, on-demand,
43
+ * non-deterministic.
44
+ *
45
+ * Distinct from the deterministic referential-integrity check (M19
46
+ * `check_consistency` rule 9), which only asks whether a `verifies[]` ref
47
+ * exists — never whether the AC text matches the entity shape.
48
+ */
49
+ export declare class AcAnalysisService {
50
+ private readonly deps;
51
+ constructor(deps: AcAnalysisDeps);
52
+ analyze(opts?: AcAnalysisOptions): Promise<AcAnalysisResult>;
53
+ }
54
+ export declare function parseIssuesJson(text: string): AcAnalysisIssue[];
@@ -0,0 +1,162 @@
1
+ import { createAdapter, extractText } from '@inharness-ai/agent-adapters';
2
+ import { RawEntityReader, isRawEntityType, } from '../../domain/raw-entity-reader.js';
3
+ /**
4
+ * L2 service for the LLM-based AC semantic audit (brief 0.1.45 §1). Owns the
5
+ * logic that used to live inline in the `ac-tools` MCP server: for each active
6
+ * AC it loads `text` + `verifies[]` + the linked entity snapshots, builds a
7
+ * single prompt, and calls the `claude-code` adapter. Read-only, on-demand,
8
+ * non-deterministic.
9
+ *
10
+ * Distinct from the deterministic referential-integrity check (M19
11
+ * `check_consistency` rule 9), which only asks whether a `verifies[]` ref
12
+ * exists — never whether the AC text matches the entity shape.
13
+ */
14
+ export class AcAnalysisService {
15
+ deps;
16
+ constructor(deps) {
17
+ this.deps = deps;
18
+ }
19
+ async analyze(opts = {}) {
20
+ // Inactive guard: if the AC plugin is not active there is nothing to audit.
21
+ // (Structurally unreachable while this service is only reachable through the
22
+ // ac-tools MCP server, which mounts only when AC is active — kept for spec
23
+ // fidelity and future direct callers.)
24
+ if (this.deps.host.getEntity('ac') === null) {
25
+ return {
26
+ issues: [],
27
+ analyzed_count: 0,
28
+ skipped_count: 0,
29
+ skipped_reasons: [{ reason: 'ac_plugin_inactive' }],
30
+ };
31
+ }
32
+ const allActive = this.deps.acService.list({ status: 'active' });
33
+ let targets = allActive;
34
+ if (opts.ac_slug) {
35
+ targets = targets.filter((a) => a.slug === opts.ac_slug);
36
+ }
37
+ if (opts.scope_tag) {
38
+ targets = targets.filter((a) => a.tags.includes(opts.scope_tag));
39
+ }
40
+ if (targets.length === 0) {
41
+ return { issues: [], analyzed_count: 0, skipped_count: 0, skipped_reasons: [] };
42
+ }
43
+ const reader = new RawEntityReader(this.deps.db);
44
+ const skipped_reasons = [];
45
+ const dossier = [];
46
+ for (const ac of targets) {
47
+ if (ac.verifies.length === 0) {
48
+ skipped_reasons.push({ ac_slug: ac.slug, reason: 'no_verifies' });
49
+ continue;
50
+ }
51
+ const linked = ac.verifies.map((v) => {
52
+ if (!isRawEntityType(v.type)) {
53
+ return { type: v.type, slug: v.slug, status: 'unknown-type' };
54
+ }
55
+ const entity = reader.getEntity(v.type, v.slug);
56
+ if (!entity) {
57
+ return { type: v.type, slug: v.slug, status: 'missing' };
58
+ }
59
+ return { type: v.type, slug: v.slug, status: 'active', data: entity.data };
60
+ });
61
+ // An AC whose every verify is missing/unknown-type has nothing to compare
62
+ // the text against — the broken refs are M19's concern (rule 9), not ours.
63
+ const hasResolvable = linked.some((l) => l.status === 'active');
64
+ if (!hasResolvable) {
65
+ skipped_reasons.push({ ac_slug: ac.slug, reason: 'all_verifies_broken' });
66
+ continue;
67
+ }
68
+ dossier.push({ slug: ac.slug, text: ac.text, kind: ac.kind, linked });
69
+ }
70
+ if (dossier.length === 0) {
71
+ return {
72
+ issues: [],
73
+ analyzed_count: 0,
74
+ skipped_count: skipped_reasons.length,
75
+ skipped_reasons,
76
+ };
77
+ }
78
+ const prompt = buildPrompt(dossier);
79
+ const adapter = createAdapter('claude-code');
80
+ const stream = adapter.execute({
81
+ prompt,
82
+ systemPrompt: 'You output only a single JSON object on one line. No commentary, no code fences.',
83
+ model: 'sonnet-4.6',
84
+ cwd: this.deps.cwd,
85
+ maxTurns: 1,
86
+ });
87
+ const text = await extractText(stream);
88
+ const issues = parseIssuesJson(text);
89
+ return {
90
+ issues,
91
+ analyzed_count: dossier.length,
92
+ skipped_count: skipped_reasons.length,
93
+ skipped_reasons,
94
+ };
95
+ }
96
+ }
97
+ function buildPrompt(dossier) {
98
+ return [
99
+ 'You are a specification consistency auditor.',
100
+ '',
101
+ 'For each Acceptance Criterion (AC) below, decide whether its `text` is semantically consistent with the linked entities (their fields, params, shape).',
102
+ '',
103
+ 'Return ONLY a JSON object on a single line, no prose, matching:',
104
+ '{"issues":[{"ac_slug":string,"issue_type":string,"details":string,"affected_entity"?:{"type":string,"slug":string},"confidence":number,"suggested_correction"?:string}]}',
105
+ '',
106
+ 'Rules:',
107
+ '- If an AC has no issues, do not emit a row for it.',
108
+ '- `confidence` is between 0 and 1.',
109
+ '- `issue_type` is a short kebab-case label (e.g. "field-mismatch", "verb-mismatch", "missing-coverage", "stale-shape").',
110
+ '- Skip ACs whose linked entities are missing or unknown-type (those are caught by check_consistency rule 9).',
111
+ '',
112
+ 'Dossier:',
113
+ JSON.stringify(dossier),
114
+ ].join('\n');
115
+ }
116
+ export function parseIssuesJson(text) {
117
+ const start = text.indexOf('{');
118
+ const end = text.lastIndexOf('}');
119
+ if (start < 0 || end <= start)
120
+ return [];
121
+ const slice = text.slice(start, end + 1);
122
+ let parsed;
123
+ try {
124
+ parsed = JSON.parse(slice);
125
+ }
126
+ catch {
127
+ return [];
128
+ }
129
+ if (!parsed || typeof parsed !== 'object')
130
+ return [];
131
+ const rawIssues = parsed.issues;
132
+ if (!Array.isArray(rawIssues))
133
+ return [];
134
+ const out = [];
135
+ for (const raw of rawIssues) {
136
+ if (!raw || typeof raw !== 'object')
137
+ continue;
138
+ const r = raw;
139
+ if (typeof r.ac_slug !== 'string' || typeof r.issue_type !== 'string')
140
+ continue;
141
+ const details = typeof r.details === 'string' ? r.details : '';
142
+ const confidence = typeof r.confidence === 'number' ? r.confidence : 0;
143
+ const issue = {
144
+ ac_slug: r.ac_slug,
145
+ issue_type: r.issue_type,
146
+ details,
147
+ confidence,
148
+ };
149
+ if (r.affected_entity && typeof r.affected_entity === 'object') {
150
+ const ae = r.affected_entity;
151
+ if (typeof ae.type === 'string' && typeof ae.slug === 'string') {
152
+ issue.affected_entity = { type: ae.type, slug: ae.slug };
153
+ }
154
+ }
155
+ if (typeof r.suggested_correction === 'string') {
156
+ issue.suggested_correction = r.suggested_correction;
157
+ }
158
+ out.push(issue);
159
+ }
160
+ return out;
161
+ }
162
+ //# sourceMappingURL=ac-analysis.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ac-analysis.service.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/ac-analysis.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAI1E,OAAO,EACL,eAAe,EACf,eAAe,GAEhB,MAAM,mCAAmC,CAAC;AA0C3C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,IAAoB;QAApB,SAAI,GAAJ,IAAI,CAAgB;IAAG,CAAC;IAErD,KAAK,CAAC,OAAO,CAAC,OAA0B,EAAE;QACxC,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,uCAAuC;QACvC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO;gBACL,MAAM,EAAE,EAAE;gBACV,cAAc,EAAE,CAAC;gBACjB,aAAa,EAAE,CAAC;gBAChB,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;aACpD,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,IAAI,OAAO,GAAG,SAAS,CAAC;QACxB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAmB,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,eAAe,GAAqB,EAAE,CAAC;QAC7C,MAAM,OAAO,GAKR,EAAE,CAAC;QAER,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClE,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,cAAuB,EAAE,CAAC;gBACzE,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;gBACpE,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACtF,CAAC,CAAC,CAAC;YACH,0EAA0E;YAC1E,2EAA2E;YAC3E,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;gBAC1E,SAAS;YACX,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,MAAM,EAAE,EAAE;gBACV,cAAc,EAAE,CAAC;gBACjB,aAAa,EAAE,eAAe,CAAC,MAAM;gBACrC,eAAe;aAChB,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAC7B,MAAM;YACN,YAAY,EACV,kFAAkF;YACpF,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAErC,OAAO;YACL,MAAM;YACN,cAAc,EAAE,OAAO,CAAC,MAAM;YAC9B,aAAa,EAAE,eAAe,CAAC,MAAM;YACrC,eAAe;SAChB,CAAC;IACJ,CAAC;CACF;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,OAAO;QACL,8CAA8C;QAC9C,EAAE;QACF,wJAAwJ;QACxJ,EAAE;QACF,iEAAiE;QACjE,0KAA0K;QAC1K,EAAE;QACF,QAAQ;QACR,qDAAqD;QACrD,oCAAoC;QACpC,yHAAyH;QACzH,8GAA8G;QAC9G,EAAE;QACF,UAAU;QACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KACxB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,SAAS,GAAI,MAAkC,CAAC,MAAM,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,SAAS;QAC9C,MAAM,CAAC,GAAG,GAA8B,CAAC;QACzC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;YAAE,SAAS;QAChF,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,KAAK,GAAoB;YAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO;YACP,UAAU;SACX,CAAC;QACF,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,EAAE,GAAG,CAAC,CAAC,eAA0C,CAAC;YACxD,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/D,KAAK,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,oBAAoB,KAAK,QAAQ,EAAE,CAAC;YAC/C,KAAK,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACtD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,10 +1,18 @@
1
1
  import { type McpServerInstance } from '@inharness-ai/agent-adapters';
2
+ import type { Database } from 'better-sqlite3';
2
3
  import type { AcService } from './services.js';
3
4
  import type { ReferencesService } from '../../services/references.js';
4
5
  import type { WsGateway } from '../../ws/gateway.js';
6
+ import type { PluginHost } from '../../core/plugin-host/types.js';
5
7
  export interface AcToolsDeps {
6
8
  acService: AcService;
7
9
  referencesService: ReferencesService;
8
10
  ws: WsGateway;
11
+ /** M19→AC: needed to hydrate verified-entity snapshots for the LLM audit. */
12
+ db: Database;
13
+ /** M19→AC: project root for the LLM adapter. */
14
+ cwd: string;
15
+ /** Brief 0.1.45 §1: inactive guard for the semantic audit. */
16
+ host: PluginHost;
9
17
  }
10
18
  export declare function createAcToolsServer(deps: AcToolsDeps): McpServerInstance;
@@ -1,5 +1,6 @@
1
- import { createMcpServer, mcpTool } from '@inharness-ai/agent-adapters';
1
+ import { createMcpServer, mcpTool, } from '@inharness-ai/agent-adapters';
2
2
  import { z } from 'zod';
3
+ import { AcAnalysisService } from './ac-analysis.service.js';
3
4
  import { DomainError } from '../../services/tags.js';
4
5
  export function createAcToolsServer(deps) {
5
6
  const ok = (payload) => ({
@@ -146,9 +147,36 @@ export function createAcToolsServer(deps) {
146
147
  return fail(err);
147
148
  }
148
149
  });
150
+ const analysisService = new AcAnalysisService({
151
+ acService: deps.acService,
152
+ db: deps.db,
153
+ cwd: deps.cwd,
154
+ host: deps.host,
155
+ });
156
+ const analyzeAcAgainstEntities = mcpTool('analyze_ac_against_entities', 'LLM-based on-demand semantic check: for each active AC, load its `text` + `verifies[]` + the linked entity snapshots and ask the model whether the AC text matches the shape of those entities. Non-deterministic and expensive — call deliberately, not in a loop. Distinct from `check_consistency` (which is deterministic and structural). Output: { issues: [{ ac_slug, issue_type, details, affected_entity?, confidence, suggested_correction? }], analyzed_count, skipped_count, skipped_reasons }.', {
157
+ scope_tag: z
158
+ .string()
159
+ .optional()
160
+ .describe('Limit analysis to active ACs carrying this tag slug. Omit for all active ACs.'),
161
+ ac_slug: z
162
+ .string()
163
+ .optional()
164
+ .describe('Limit analysis to a single AC by slug. Omit to analyse all active ACs.'),
165
+ }, async (args) => {
166
+ try {
167
+ const result = await analysisService.analyze({
168
+ scope_tag: args.scope_tag,
169
+ ac_slug: args.ac_slug,
170
+ });
171
+ return ok(result);
172
+ }
173
+ catch (err) {
174
+ return fail(err);
175
+ }
176
+ });
149
177
  return createMcpServer({
150
178
  name: 'ac-tools',
151
- tools: [createAc, getAc, updateAc, deleteAc, listAcs],
179
+ tools: [createAc, getAc, updateAc, deleteAc, listAcs, analyzeAcAgainstEntities],
152
180
  });
153
181
  }
154
182
  //# sourceMappingURL=mcp-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -17,14 +17,16 @@ export const acBackendModule = {
17
17
  systemPrompt: acSystemPrompt,
18
18
  backend: {
19
19
  mount(ctx) {
20
- const service = new AcService(ctx.db, ctx.tagsService, ctx.versionService, pluginHost);
20
+ const service = new AcService(ctx.db, ctx.tagsService, ctx.versionService, pluginHost, ctx.entityStore);
21
21
  ctx.app.use(`/api${acBackendModule.pathPrefix}`, acsRouter(service, ctx.referencesService));
22
22
  ctx.registerMcpServer(`${acBackendModule.type}-tools`, () => createAcToolsServer({
23
23
  acService: service,
24
24
  referencesService: ctx.referencesService,
25
25
  ws: ctx.ws,
26
+ db: ctx.db,
27
+ cwd: ctx.cwd,
28
+ host: pluginHost,
26
29
  }));
27
- ctx.setIdResolver(acBackendModule.type, (slug) => service.getIdBySlug(slug));
28
30
  ctx.registerEntityService(acBackendModule.type, service);
29
31
  },
30
32
  },
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAE,IAA0B,CAAC,IAAI,IAAI,EAAE,CAAC;IAClE,UAAU,EAAE,YAAyC;IACrD,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACvF,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,eAAe,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5F,GAAG,CAAC,iBAAiB,CACnB,GAAG,eAAe,CAAC,IAAI,QAAQ,EAC/B,GAAG,EAAE,CAAC,mBAAmB,CAAC;gBACxB,SAAS,EAAE,OAAO;gBAClB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,EAAE,EAAE,GAAG,CAAC,EAAE;aACX,CAAC,CACH,CAAC;YACF,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,GAAG,CAAC,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;KACF;CACF,CAAC;AAEF,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAE,IAA0B,CAAC,IAAI,IAAI,EAAE,CAAC;IAClE,UAAU,EAAE,YAAyC;IACrD,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACxG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,eAAe,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5F,GAAG,CAAC,iBAAiB,CACnB,GAAG,eAAe,CAAC,IAAI,QAAQ,EAC/B,GAAG,EAAE,CAAC,mBAAmB,CAAC;gBACxB,SAAS,EAAE,OAAO;gBAClB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,UAAU;aACjB,CAAC,CACH,CAAC;YACF,GAAG,CAAC,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;KACF;CACF,CAAC;AAEF,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC"}
@@ -105,7 +105,7 @@ export const acSerializer = {
105
105
  taggedListItem: (entity) => baseSingle(entity),
106
106
  detail: (entity, ctx) => {
107
107
  const base = baseSingle(entity);
108
- const references = ctx.reader.findSectionReferences('ac', entity.id).map((r) => ({
108
+ const references = ctx.reader.findSectionReferences('ac', entity.slug).map((r) => ({
109
109
  anchor: r.anchor,
110
110
  pagePath: r.pagePath,
111
111
  headingText: r.headingText,
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/serializer.ts"],"names":[],"mappings":"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"}