sdl-mcp 0.11.13 → 0.12.1

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 (211) hide show
  1. package/README.md +4 -4
  2. package/config/sdlmcp.config.example.json +3 -3
  3. package/config/sdlmcp.config.schema.json +11 -7
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/agent/context-seeding.d.ts +14 -0
  6. package/dist/agent/context-seeding.d.ts.map +1 -1
  7. package/dist/agent/context-seeding.js +118 -4
  8. package/dist/agent/context-seeding.js.map +1 -1
  9. package/dist/cli/commands/index.d.ts +10 -0
  10. package/dist/cli/commands/index.d.ts.map +1 -1
  11. package/dist/cli/commands/index.js +20 -3
  12. package/dist/cli/commands/index.js.map +1 -1
  13. package/dist/cli/commands/init.d.ts +1 -1
  14. package/dist/cli/commands/init.js +7 -7
  15. package/dist/cli/commands/tool-actions.d.ts.map +1 -1
  16. package/dist/cli/commands/tool-actions.js +58 -3
  17. package/dist/cli/commands/tool-actions.js.map +1 -1
  18. package/dist/code-mode/action-catalog.d.ts +9 -0
  19. package/dist/code-mode/action-catalog.d.ts.map +1 -1
  20. package/dist/code-mode/action-catalog.js +18 -4
  21. package/dist/code-mode/action-catalog.js.map +1 -1
  22. package/dist/code-mode/descriptions.d.ts +1 -0
  23. package/dist/code-mode/descriptions.d.ts.map +1 -1
  24. package/dist/code-mode/descriptions.js +5 -1
  25. package/dist/code-mode/descriptions.js.map +1 -1
  26. package/dist/code-mode/etag-cache.d.ts +9 -2
  27. package/dist/code-mode/etag-cache.d.ts.map +1 -1
  28. package/dist/code-mode/etag-cache.js +45 -2
  29. package/dist/code-mode/etag-cache.js.map +1 -1
  30. package/dist/code-mode/index.d.ts +8 -0
  31. package/dist/code-mode/index.d.ts.map +1 -1
  32. package/dist/code-mode/index.js +39 -8
  33. package/dist/code-mode/index.js.map +1 -1
  34. package/dist/code-mode/manual-generator.d.ts.map +1 -1
  35. package/dist/code-mode/manual-generator.js +24 -21
  36. package/dist/code-mode/manual-generator.js.map +1 -1
  37. package/dist/code-mode/ref-resolver.d.ts.map +1 -1
  38. package/dist/code-mode/ref-resolver.js +30 -6
  39. package/dist/code-mode/ref-resolver.js.map +1 -1
  40. package/dist/code-mode/retrieve.d.ts +44 -0
  41. package/dist/code-mode/retrieve.d.ts.map +1 -0
  42. package/dist/code-mode/retrieve.js +68 -0
  43. package/dist/code-mode/retrieve.js.map +1 -0
  44. package/dist/code-mode/types.d.ts +7 -3
  45. package/dist/code-mode/types.d.ts.map +1 -1
  46. package/dist/code-mode/types.js +4 -2
  47. package/dist/code-mode/types.js.map +1 -1
  48. package/dist/code-mode/workflow-executor.d.ts.map +1 -1
  49. package/dist/code-mode/workflow-executor.js +88 -11
  50. package/dist/code-mode/workflow-executor.js.map +1 -1
  51. package/dist/code-mode/workflow-parser.d.ts +1 -1
  52. package/dist/code-mode/workflow-parser.d.ts.map +1 -1
  53. package/dist/code-mode/workflow-parser.js +32 -3
  54. package/dist/code-mode/workflow-parser.js.map +1 -1
  55. package/dist/code-mode/workflow-truncation.d.ts +0 -5
  56. package/dist/code-mode/workflow-truncation.d.ts.map +1 -1
  57. package/dist/code-mode/workflow-truncation.js +53 -1
  58. package/dist/code-mode/workflow-truncation.js.map +1 -1
  59. package/dist/config/types.d.ts +7 -7
  60. package/dist/config/types.d.ts.map +1 -1
  61. package/dist/config/types.js +6 -6
  62. package/dist/config/types.js.map +1 -1
  63. package/dist/db/ladybug-edges.d.ts +12 -0
  64. package/dist/db/ladybug-edges.d.ts.map +1 -1
  65. package/dist/db/ladybug-edges.js +26 -0
  66. package/dist/db/ladybug-edges.js.map +1 -1
  67. package/dist/domain/types.d.ts +4 -0
  68. package/dist/domain/types.d.ts.map +1 -1
  69. package/dist/gateway/descriptions.d.ts.map +1 -1
  70. package/dist/gateway/descriptions.js +5 -5
  71. package/dist/gateway/descriptions.js.map +1 -1
  72. package/dist/gateway/schemas.d.ts +46 -2
  73. package/dist/gateway/schemas.d.ts.map +1 -1
  74. package/dist/gateway/schemas.js +25 -8
  75. package/dist/gateway/schemas.js.map +1 -1
  76. package/dist/graph/overview.js +9 -1
  77. package/dist/graph/overview.js.map +1 -1
  78. package/dist/graph/prefetch.d.ts +1 -0
  79. package/dist/graph/prefetch.d.ts.map +1 -1
  80. package/dist/graph/prefetch.js +5 -1
  81. package/dist/graph/prefetch.js.map +1 -1
  82. package/dist/indexer/summary-generator.d.ts +6 -0
  83. package/dist/indexer/summary-generator.d.ts.map +1 -1
  84. package/dist/indexer/summary-generator.js +241 -86
  85. package/dist/indexer/summary-generator.js.map +1 -1
  86. package/dist/indexer/symbol-embedding-text.d.ts +5 -10
  87. package/dist/indexer/symbol-embedding-text.d.ts.map +1 -1
  88. package/dist/indexer/symbol-embedding-text.js +200 -0
  89. package/dist/indexer/symbol-embedding-text.js.map +1 -1
  90. package/dist/live-index/coordinator.js +1 -1
  91. package/dist/live-index/coordinator.js.map +1 -1
  92. package/dist/mcp/context-response-projection.d.ts +0 -10
  93. package/dist/mcp/context-response-projection.d.ts.map +1 -1
  94. package/dist/mcp/context-response-projection.js +536 -35
  95. package/dist/mcp/context-response-projection.js.map +1 -1
  96. package/dist/mcp/response-compression.d.ts +3 -0
  97. package/dist/mcp/response-compression.d.ts.map +1 -1
  98. package/dist/mcp/response-compression.js +21 -14
  99. package/dist/mcp/response-compression.js.map +1 -1
  100. package/dist/mcp/server-instructions.js +7 -7
  101. package/dist/mcp/server-instructions.js.map +1 -1
  102. package/dist/mcp/token-usage.d.ts +5 -0
  103. package/dist/mcp/token-usage.d.ts.map +1 -1
  104. package/dist/mcp/token-usage.js +17 -0
  105. package/dist/mcp/token-usage.js.map +1 -1
  106. package/dist/mcp/tool-call-formatter.d.ts.map +1 -1
  107. package/dist/mcp/tool-call-formatter.js +42 -12
  108. package/dist/mcp/tool-call-formatter.js.map +1 -1
  109. package/dist/mcp/tools/buffer.d.ts +1 -0
  110. package/dist/mcp/tools/buffer.d.ts.map +1 -1
  111. package/dist/mcp/tools/buffer.js +33 -1
  112. package/dist/mcp/tools/buffer.js.map +1 -1
  113. package/dist/mcp/tools/code.d.ts +6 -0
  114. package/dist/mcp/tools/code.d.ts.map +1 -1
  115. package/dist/mcp/tools/code.js +92 -13
  116. package/dist/mcp/tools/code.js.map +1 -1
  117. package/dist/mcp/tools/file-gateway.d.ts +50 -4
  118. package/dist/mcp/tools/file-gateway.d.ts.map +1 -1
  119. package/dist/mcp/tools/file-gateway.js +11 -10
  120. package/dist/mcp/tools/file-gateway.js.map +1 -1
  121. package/dist/mcp/tools/policy.d.ts +17 -0
  122. package/dist/mcp/tools/policy.d.ts.map +1 -1
  123. package/dist/mcp/tools/policy.js +18 -6
  124. package/dist/mcp/tools/policy.js.map +1 -1
  125. package/dist/mcp/tools/prRisk.d.ts +18 -1
  126. package/dist/mcp/tools/prRisk.d.ts.map +1 -1
  127. package/dist/mcp/tools/prRisk.js +95 -7
  128. package/dist/mcp/tools/prRisk.js.map +1 -1
  129. package/dist/mcp/tools/repo.d.ts.map +1 -1
  130. package/dist/mcp/tools/repo.js +73 -25
  131. package/dist/mcp/tools/repo.js.map +1 -1
  132. package/dist/mcp/tools/response.d.ts.map +1 -1
  133. package/dist/mcp/tools/response.js +17 -2
  134. package/dist/mcp/tools/response.js.map +1 -1
  135. package/dist/mcp/tools/runtime.d.ts +8 -1
  136. package/dist/mcp/tools/runtime.d.ts.map +1 -1
  137. package/dist/mcp/tools/runtime.js +84 -15
  138. package/dist/mcp/tools/runtime.js.map +1 -1
  139. package/dist/mcp/tools/search-edit/index.d.ts.map +1 -1
  140. package/dist/mcp/tools/search-edit/index.js +32 -8
  141. package/dist/mcp/tools/search-edit/index.js.map +1 -1
  142. package/dist/mcp/tools/search-edit/planner.d.ts +52 -2
  143. package/dist/mcp/tools/search-edit/planner.d.ts.map +1 -1
  144. package/dist/mcp/tools/search-edit/planner.js +48 -17
  145. package/dist/mcp/tools/search-edit/planner.js.map +1 -1
  146. package/dist/mcp/tools/search-edit/rename.d.ts +20 -0
  147. package/dist/mcp/tools/search-edit/rename.d.ts.map +1 -0
  148. package/dist/mcp/tools/search-edit/rename.js +107 -0
  149. package/dist/mcp/tools/search-edit/rename.js.map +1 -0
  150. package/dist/mcp/tools/search-edit/signature.d.ts +26 -0
  151. package/dist/mcp/tools/search-edit/signature.d.ts.map +1 -0
  152. package/dist/mcp/tools/search-edit/signature.js +421 -0
  153. package/dist/mcp/tools/search-edit/signature.js.map +1 -0
  154. package/dist/mcp/tools/search-edit/structural.d.ts +6 -0
  155. package/dist/mcp/tools/search-edit/structural.d.ts.map +1 -1
  156. package/dist/mcp/tools/search-edit/structural.js +10 -0
  157. package/dist/mcp/tools/search-edit/structural.js.map +1 -1
  158. package/dist/mcp/tools/semantic-enrichment.d.ts +2 -0
  159. package/dist/mcp/tools/semantic-enrichment.d.ts.map +1 -1
  160. package/dist/mcp/tools/semantic-enrichment.js +37 -1
  161. package/dist/mcp/tools/semantic-enrichment.js.map +1 -1
  162. package/dist/mcp/tools/symbol-edit/ast.d.ts.map +1 -1
  163. package/dist/mcp/tools/symbol-edit/ast.js +4 -1
  164. package/dist/mcp/tools/symbol-edit/ast.js.map +1 -1
  165. package/dist/mcp/tools/symbol-edit/index.d.ts.map +1 -1
  166. package/dist/mcp/tools/symbol-edit/index.js +0 -1
  167. package/dist/mcp/tools/symbol-edit/index.js.map +1 -1
  168. package/dist/mcp/tools/symbol.d.ts.map +1 -1
  169. package/dist/mcp/tools/symbol.js +23 -3
  170. package/dist/mcp/tools/symbol.js.map +1 -1
  171. package/dist/mcp/tools/tool-descriptors.d.ts +1 -0
  172. package/dist/mcp/tools/tool-descriptors.d.ts.map +1 -1
  173. package/dist/mcp/tools/tool-descriptors.js +6 -3
  174. package/dist/mcp/tools/tool-descriptors.js.map +1 -1
  175. package/dist/mcp/tools/usage.d.ts.map +1 -1
  176. package/dist/mcp/tools/usage.js +5 -0
  177. package/dist/mcp/tools/usage.js.map +1 -1
  178. package/dist/mcp/tools.d.ts +259 -156
  179. package/dist/mcp/tools.d.ts.map +1 -1
  180. package/dist/mcp/tools.js +210 -75
  181. package/dist/mcp/tools.js.map +1 -1
  182. package/dist/observability/aggregator.d.ts +3 -0
  183. package/dist/observability/aggregator.d.ts.map +1 -1
  184. package/dist/observability/aggregator.js +27 -0
  185. package/dist/observability/aggregator.js.map +1 -1
  186. package/dist/observability/event-tap.d.ts +6 -0
  187. package/dist/observability/event-tap.d.ts.map +1 -1
  188. package/dist/observability/event-tap.js.map +1 -1
  189. package/dist/observability/types.d.ts +9 -0
  190. package/dist/observability/types.d.ts.map +1 -1
  191. package/dist/observability/types.js.map +1 -1
  192. package/dist/runtime/executor.d.ts +6 -0
  193. package/dist/runtime/executor.d.ts.map +1 -1
  194. package/dist/runtime/executor.js +16 -8
  195. package/dist/runtime/executor.js.map +1 -1
  196. package/dist/runtime/response-artifacts.d.ts +14 -2
  197. package/dist/runtime/response-artifacts.d.ts.map +1 -1
  198. package/dist/runtime/response-artifacts.js +66 -17
  199. package/dist/runtime/response-artifacts.js.map +1 -1
  200. package/dist/runtime/runtimes.d.ts.map +1 -1
  201. package/dist/runtime/runtimes.js +15 -0
  202. package/dist/runtime/runtimes.js.map +1 -1
  203. package/dist/semantic/enrichment.d.ts +2 -0
  204. package/dist/semantic/enrichment.d.ts.map +1 -1
  205. package/dist/semantic/enrichment.js.map +1 -1
  206. package/dist/server.d.ts +2 -2
  207. package/dist/server.d.ts.map +1 -1
  208. package/dist/server.js +123 -25
  209. package/dist/server.js.map +1 -1
  210. package/package.json +14 -8
  211. package/templates/SDL.md +25 -16
@@ -1 +1 @@
1
- {"version":3,"file":"prefetch.d.ts","sourceRoot":"","sources":["../../src/graph/prefetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefetch.d.ts","sourceRoot":"","sources":["../../src/graph/prefetch.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ const statsByRepo = new Map();
23
23
  let running = false;
24
24
  let enabled = false;
25
25
  let maxBudgetPercent = 20;
26
+ let loadSheddingEnabled = true;
26
27
  function resolveContext(context) {
27
28
  return {
28
29
  taskType: context?.taskType?.trim() || "unknown",
@@ -126,7 +127,7 @@ function currentCpuLoadRatio() {
126
127
  return avg / cpuCount;
127
128
  }
128
129
  function shouldYieldForLoad() {
129
- return currentCpuLoadRatio() > 0.8;
130
+ return loadSheddingEnabled && currentCpuLoadRatio() > 0.8;
130
131
  }
131
132
  function policyKeyForTask(task) {
132
133
  return {
@@ -650,6 +651,9 @@ export function getPrefetchStats(repoId) {
650
651
  refreshPolicyStats(repoId, stats);
651
652
  return { ...stats, topStrategies: [...stats.topStrategies] };
652
653
  }
654
+ export function _setPrefetchLoadSheddingForTesting(enabledForTest) {
655
+ loadSheddingEnabled = enabledForTest;
656
+ }
653
657
  export function _setPrefetchEntryCreatedAtForTesting(repoId, key, createdAt) {
654
658
  const map = prefetchedKeysByRepo.get(repoId) ?? new Map();
655
659
  prefetchedKeysByRepo.set(repoId, map);
@@ -1 +1 @@
1
- {"version":3,"file":"prefetch.js","sourceRoot":"","sources":["../../src/graph/prefetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefetch.js","sourceRoot":"","sources":["../../src/graph/prefetch.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { AppConfig } from "../config/types.js";
2
2
  import type { IndexProgress } from "./indexer.js";
3
+ import { type PreparedSymbolEmbeddingInput } from "./symbol-embedding-context.js";
3
4
  export interface GeneratedSummaryResult {
4
5
  summary: string;
5
6
  provider: string;
@@ -13,6 +14,7 @@ export interface SummaryProvider {
13
14
  kind?: string;
14
15
  signature?: string;
15
16
  heuristicSummary?: string;
17
+ embeddingInput?: PreparedSymbolEmbeddingInput;
16
18
  }): Promise<string>;
17
19
  }
18
20
  export declare class AnthropicSummaryProvider implements SummaryProvider {
@@ -61,10 +63,13 @@ export declare function generateSummaryWithGuardrails(input: {
61
63
  signature?: string;
62
64
  astFingerprint?: string;
63
65
  heuristicSummary?: string;
66
+ embeddingInput?: PreparedSymbolEmbeddingInput;
64
67
  provider: string;
65
68
  summaryModel?: string;
66
69
  summaryApiKey?: string;
67
70
  summaryApiBaseUrl?: string;
71
+ skipCacheLookup?: boolean;
72
+ persistCache?: boolean;
68
73
  }): Promise<GeneratedSummaryResult>;
69
74
  export declare function summaryCacheKey(symbolId: string, provider: string): string;
70
75
  export interface SummaryBatchResult {
@@ -72,6 +77,7 @@ export interface SummaryBatchResult {
72
77
  skipped: number;
73
78
  failed: number;
74
79
  totalCostUsd: number;
80
+ provider?: string;
75
81
  }
76
82
  /**
77
83
  * Generates AI summaries for all symbols in a repository that need them.
@@ -1 +1 @@
1
- {"version":3,"file":"summary-generator.d.ts","sourceRoot":"","sources":["../../src/indexer/summary-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summary-generator.d.ts","sourceRoot":"","sources":["../../src/indexer/summary-generator.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,32 @@ import { hashContent } from "../util/hashing.js";
2
2
  import { logger } from "../util/logger.js";
3
3
  import { getLadybugConn, withWriteConn } from "../db/ladybug.js";
4
4
  import * as ladybugDb from "../db/ladybug-queries.js";
5
+ import { prepareSymbolEmbeddingInputs, } from "./symbol-embedding-context.js";
6
+ import { buildConciseSymbolSummary, CONCISE_SYMBOL_SUMMARY_BUILDER_VERSION, } from "./symbol-embedding-text.js";
5
7
  const ANTHROPIC_SYSTEM_PROMPT = "You are a code documentation assistant. Write a 1-3 sentence summary of what this TypeScript/JavaScript symbol does. Be specific, not generic. Focus on behavior, not structure.";
8
+ function buildFallbackPreparedInput(input) {
9
+ return {
10
+ symbol: {
11
+ name: input.symbolName,
12
+ kind: input.kind ?? "symbol",
13
+ },
14
+ signatureText: input.signature ?? null,
15
+ relPath: null,
16
+ language: null,
17
+ roleTags: [],
18
+ searchTerms: [],
19
+ invariants: [],
20
+ sideEffects: [],
21
+ imports: [],
22
+ calls: [],
23
+ summaryFreshness: "absent",
24
+ summaryText: null,
25
+ };
26
+ }
6
27
  class MockSummaryProvider {
7
28
  name = "mock";
8
29
  async generate(input) {
9
- if (input.heuristicSummary && input.heuristicSummary.trim().length > 0) {
10
- return input.heuristicSummary;
11
- }
12
- return `${input.symbolName} participates in repository control flow and dependencies.`;
30
+ return buildConciseSymbolSummary(input.embeddingInput ?? buildFallbackPreparedInput(input));
13
31
  }
14
32
  }
15
33
  export class AnthropicSummaryProvider {
@@ -167,6 +185,83 @@ function tokenDistance(a, b) {
167
185
  const union = new Set([...aTokens, ...bTokens]).size;
168
186
  return 1 - overlap / Math.max(1, union);
169
187
  }
188
+ function firstSummaryContextValue(values) {
189
+ for (const value of values ?? []) {
190
+ const normalized = value.replace(/\s+/g, " ").trim();
191
+ if (normalized.length > 0) {
192
+ return normalized;
193
+ }
194
+ }
195
+ return "";
196
+ }
197
+ function buildSummaryCardHash(input) {
198
+ const signatureText = input.embeddingInput?.signatureText ?? input.signature ?? "";
199
+ if (input.providerName === "mock") {
200
+ return hashContent([
201
+ input.symbolName,
202
+ input.kind ?? "",
203
+ input.providerName,
204
+ input.modelName,
205
+ CONCISE_SYMBOL_SUMMARY_BUILDER_VERSION,
206
+ signatureText,
207
+ firstSummaryContextValue(input.embeddingInput?.roleTags),
208
+ firstSummaryContextValue(input.embeddingInput?.sideEffects),
209
+ ].join("|"));
210
+ }
211
+ return hashContent([
212
+ input.symbolName,
213
+ input.kind ?? "",
214
+ input.signature ?? "",
215
+ input.astFingerprint ?? "",
216
+ input.providerName,
217
+ input.modelName,
218
+ ].join("|"));
219
+ }
220
+ function summaryStorageMetadata(providerName) {
221
+ return providerName === "mock"
222
+ ? { quality: 0.6, source: "heuristic-typed" }
223
+ : { quality: 1.0, source: "llm" };
224
+ }
225
+ function isCodeFenceOnlySummary(summary) {
226
+ const trimmed = summary?.trim() ?? "";
227
+ return trimmed === "```" || /^```[A-Za-z0-9_-]+$/.test(trimmed);
228
+ }
229
+ async function updateSymbolSummariesInTransaction(rows) {
230
+ if (rows.length === 0) {
231
+ return;
232
+ }
233
+ await withWriteConn(async (wConn) => {
234
+ await ladybugDb.withTransaction(wConn, async (txConn) => {
235
+ const updatedAt = new Date().toISOString();
236
+ for (const row of rows) {
237
+ await ladybugDb.updateSymbolSummary(txConn, row.symbolId, row.summary, row.summaryQuality, row.summarySource, updatedAt);
238
+ }
239
+ });
240
+ });
241
+ }
242
+ async function persistGeneratedSummariesInTransaction(rows) {
243
+ if (rows.length === 0) {
244
+ return;
245
+ }
246
+ await withWriteConn(async (wConn) => {
247
+ await ladybugDb.withTransaction(wConn, async (txConn) => {
248
+ const now = new Date().toISOString();
249
+ for (const row of rows) {
250
+ await ladybugDb.upsertSummaryCache(txConn, {
251
+ symbolId: row.symbolId,
252
+ summary: row.summary ?? "",
253
+ provider: row.provider,
254
+ model: row.model,
255
+ cardHash: row.cardHash,
256
+ costUsd: row.costUsd,
257
+ createdAt: now,
258
+ updatedAt: now,
259
+ });
260
+ await ladybugDb.updateSymbolSummary(txConn, row.symbolId, row.summary, row.summaryQuality, row.summarySource, now);
261
+ }
262
+ });
263
+ });
264
+ }
170
265
  export async function generateSummaryWithGuardrails(input) {
171
266
  const conn = await getLadybugConn();
172
267
  const summaryProvider = createSummaryProvider(input.provider, {
@@ -190,21 +285,21 @@ export async function generateSummaryWithGuardrails(input) {
190
285
  }
191
286
  return { summary: "", provider: "skipped", costUsd: 0, divergenceScore: 0 };
192
287
  }
193
- // Compute card hash for cache keying includes astFingerprint so
194
- // body-only changes (no signature change) still invalidate the cache.
195
- // Also includes the resolved provider name and model so that switching
196
- // providers or models invalidates the cache and triggers regeneration.
288
+ // Compute card hash for cache keying. Mock summaries include only the concise
289
+ // builder inputs that can change deterministic prose.
197
290
  const resolvedModel = input.summaryModel ?? summaryProvider.name;
198
- const cardHash = hashContent([
199
- input.symbolName,
200
- input.kind ?? "",
201
- input.signature ?? "",
202
- input.astFingerprint ?? "",
203
- summaryProvider.name,
204
- resolvedModel,
205
- ].join("|"));
206
- // Check summary cache when symbolId is available
207
- if (input.symbolId) {
291
+ const cardHash = buildSummaryCardHash({
292
+ symbolName: input.symbolName,
293
+ kind: input.kind,
294
+ signature: input.signature,
295
+ astFingerprint: input.astFingerprint,
296
+ providerName: summaryProvider.name,
297
+ modelName: resolvedModel,
298
+ embeddingInput: input.embeddingInput,
299
+ });
300
+ // Check summary cache when symbolId is available. Batch callers pass a bulk
301
+ // cache snapshot and skip this standalone read.
302
+ if (input.symbolId && input.skipCacheLookup !== true) {
208
303
  const cached = await ladybugDb.getSummaryCache(conn, input.symbolId);
209
304
  if (cached != null && cached.cardHash === cardHash) {
210
305
  const divergenceScore = tokenDistance(cached.summary, input.heuristicSummary ?? "");
@@ -223,12 +318,14 @@ export async function generateSummaryWithGuardrails(input) {
223
318
  kind: input.kind,
224
319
  signature: input.signature,
225
320
  heuristicSummary: input.heuristicSummary,
321
+ embeddingInput: input.embeddingInput,
226
322
  });
227
323
  const divergenceScore = tokenDistance(summary, input.heuristicSummary ?? "");
228
324
  const estimatedTokens = Math.max(1, Math.ceil(summary.length / 4));
229
325
  const costUsd = estimatedTokens * 0.000002;
230
- // Persist to cache when symbolId is available
231
- if (input.symbolId) {
326
+ // Persist to cache for standalone callers. Batch generation persists cache
327
+ // and Symbol rows together in one transaction.
328
+ if (input.symbolId && input.persistCache !== false) {
232
329
  const symbolId = input.symbolId;
233
330
  const now = new Date().toISOString();
234
331
  await withWriteConn(async (wConn) => {
@@ -271,9 +368,7 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
271
368
  }
272
369
  const batchSize = semantic.summaryBatchSize ?? 20;
273
370
  const maxConcurrency = semantic.summaryMaxConcurrency ?? 5;
274
- // Use dedicated summaryProvider when set; fall back to the embedding
275
- // provider for backward compatibility.
276
- const provider = semantic.summaryProvider ?? semantic.provider ?? "mock";
371
+ const provider = semantic.summaryProvider ?? "mock";
277
372
  const summaryModel = semantic.summaryModel;
278
373
  const summaryApiKey = semantic.summaryApiKey;
279
374
  const summaryApiBaseUrl = semantic.summaryApiBaseUrl;
@@ -287,7 +382,7 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
287
382
  // If provider creation returned null (e.g., misconfigured local provider),
288
383
  // skip summary generation entirely to preserve existing summaries.
289
384
  if (resolvedSummaryProvider == null) {
290
- logger.warn(`Summary provider "${provider}" could not be created skipping summary generation for repo ${repoId}. ` +
385
+ logger.warn(`Summary provider "${provider}" could not be created - skipping summary generation for repo ${repoId}. ` +
291
386
  "Existing summaries are preserved.");
292
387
  const symbols = await ladybugDb.getSymbolsByRepo(conn, repoId);
293
388
  return {
@@ -299,65 +394,113 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
299
394
  }
300
395
  const resolvedProviderName = resolvedSummaryProvider.name;
301
396
  const resolvedModelName = summaryModel ?? resolvedProviderName;
397
+ const isMockProvider = resolvedProviderName === "mock";
302
398
  // Fetch all symbols for the repo
303
399
  const symbols = await ladybugDb.getSymbolsByRepo(conn, repoId);
400
+ const parseSignatureText = (sym) => {
401
+ if (!sym.signatureJson) {
402
+ return undefined;
403
+ }
404
+ try {
405
+ const parsed = JSON.parse(sym.signatureJson);
406
+ return typeof parsed === "string" ? parsed : (parsed?.text ?? sym.signatureJson);
407
+ }
408
+ catch (err) {
409
+ logger.debug("Failed to parse signatureJson for summary card hash", {
410
+ symbolId: sym.symbolId,
411
+ error: err instanceof Error ? err.message : String(err),
412
+ });
413
+ return sym.signatureJson;
414
+ }
415
+ };
304
416
  // Determine which symbols need a new summary by checking the cache (bulk)
305
417
  const cachedSummaries = await ladybugDb.getSummaryCaches(conn, symbols.map((s) => s.symbolId));
306
- const needsSummary = [];
418
+ let needsSummary = [];
419
+ const preparedInputBySymbolId = new Map();
420
+ const summaryRepairs = [];
307
421
  for (const sym of symbols) {
308
- // Hash must match what generateSummaryWithGuardrails stores: it uses
309
- // parsed signature text (not raw signatureJson), so we must parse here too.
310
- const parsedSig = sym.signatureJson
311
- ? (() => {
312
- try {
313
- const parsed = JSON.parse(sym.signatureJson);
314
- return typeof parsed === "string"
315
- ? parsed
316
- : (parsed?.text ?? sym.signatureJson);
317
- }
318
- catch (err) {
319
- logger.debug("Failed to parse signatureJson for card hash", {
320
- symbolId: sym.symbolId,
321
- error: err instanceof Error ? err.message : String(err),
322
- });
323
- return sym.signatureJson;
324
- }
325
- })()
326
- : "";
327
- const cardHash = hashContent([
328
- sym.name,
329
- sym.kind ?? "",
330
- parsedSig,
331
- sym.astFingerprint ?? "",
332
- resolvedProviderName,
333
- resolvedModelName,
334
- ].join("|"));
335
- const cached = cachedSummaries.get(sym.symbolId);
336
- // Skip only if cache is fresh (hash includes provider+model, so switching
337
- // providers or models automatically invalidates)
338
- if (cached != null && cached.cardHash === cardHash) {
339
- // Backfill: if cache write succeeded but symbol row update didn't
340
- // (e.g., process crash between the two writes), repair the symbol row.
341
- if (sym.summary !== cached.summary) {
342
- await withWriteConn(async (wConn) => {
343
- await ladybugDb.updateSymbolSummary(wConn, sym.symbolId, cached.summary, 1.0, "llm");
344
- });
345
- }
422
+ if (isMockProvider && sym.summarySource === "llm") {
346
423
  continue;
347
424
  }
348
425
  // Skip symbols that already have good summaries (JSDoc or LLM-generated).
349
426
  // Quality thresholds: JSDoc=1.0, LLM=0.8, NN-direct=0.6, NN-adapted=0.5,
350
427
  // heuristic=0.3-0.4. We only regenerate below 0.8.
351
- if (sym.summaryQuality !== undefined && sym.summaryQuality !== null && sym.summaryQuality >= 0.8) {
428
+ if (!isCodeFenceOnlySummary(sym.summary) &&
429
+ sym.summaryQuality !== undefined &&
430
+ sym.summaryQuality !== null &&
431
+ sym.summaryQuality >= 0.8) {
352
432
  continue;
353
433
  }
434
+ if (!isMockProvider) {
435
+ const signatureText = parseSignatureText(sym);
436
+ const cardHash = buildSummaryCardHash({
437
+ symbolName: sym.name,
438
+ kind: sym.kind,
439
+ signature: signatureText,
440
+ astFingerprint: sym.astFingerprint,
441
+ providerName: resolvedProviderName,
442
+ modelName: resolvedModelName,
443
+ });
444
+ const cached = cachedSummaries.get(sym.symbolId);
445
+ if (cached != null && cached.cardHash === cardHash) {
446
+ if (sym.summary !== cached.summary) {
447
+ const metadata = summaryStorageMetadata(cached.provider);
448
+ summaryRepairs.push({
449
+ symbolId: sym.symbolId,
450
+ summary: cached.summary,
451
+ summaryQuality: metadata.quality,
452
+ summarySource: metadata.source,
453
+ });
454
+ }
455
+ continue;
456
+ }
457
+ }
354
458
  needsSummary.push(sym);
355
459
  }
460
+ if (isMockProvider && needsSummary.length > 0) {
461
+ const preparedInputs = await prepareSymbolEmbeddingInputs(conn, needsSummary, {
462
+ summaryCacheMap: cachedSummaries,
463
+ });
464
+ for (const embeddingInput of preparedInputs) {
465
+ preparedInputBySymbolId.set(embeddingInput.symbol.symbolId, embeddingInput);
466
+ }
467
+ const staleMockSummaries = [];
468
+ for (const sym of needsSummary) {
469
+ const embeddingInput = preparedInputBySymbolId.get(sym.symbolId);
470
+ const signatureText = embeddingInput?.signatureText ?? parseSignatureText(sym);
471
+ const cardHash = buildSummaryCardHash({
472
+ symbolName: sym.name,
473
+ kind: sym.kind,
474
+ signature: signatureText,
475
+ astFingerprint: sym.astFingerprint,
476
+ providerName: resolvedProviderName,
477
+ modelName: resolvedModelName,
478
+ embeddingInput,
479
+ });
480
+ const cached = cachedSummaries.get(sym.symbolId);
481
+ if (cached != null && cached.cardHash === cardHash) {
482
+ if (sym.summary !== cached.summary) {
483
+ const metadata = summaryStorageMetadata(cached.provider);
484
+ summaryRepairs.push({
485
+ symbolId: sym.symbolId,
486
+ summary: cached.summary,
487
+ summaryQuality: metadata.quality,
488
+ summarySource: metadata.source,
489
+ });
490
+ }
491
+ continue;
492
+ }
493
+ staleMockSummaries.push(sym);
494
+ }
495
+ needsSummary = staleMockSummaries;
496
+ }
497
+ await updateSymbolSummariesInTransaction(summaryRepairs);
356
498
  const result = {
357
499
  generated: 0,
358
500
  skipped: symbols.length - needsSummary.length,
359
501
  failed: 0,
360
502
  totalCostUsd: 0,
503
+ provider,
361
504
  };
362
505
  if (needsSummary.length === 0) {
363
506
  return result;
@@ -375,25 +518,20 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
375
518
  let batchGenerated = 0;
376
519
  let batchFailed = 0;
377
520
  let batchCost = 0;
521
+ const generatedRows = [];
378
522
  for (const sym of batch) {
379
523
  try {
380
- const signatureText = sym.signatureJson
381
- ? (() => {
382
- try {
383
- const parsed = JSON.parse(sym.signatureJson);
384
- return typeof parsed === "string"
385
- ? parsed
386
- : (parsed?.text ?? sym.signatureJson);
387
- }
388
- catch (err) {
389
- logger.debug("Failed to parse signatureJson for summary", {
390
- symbolId: sym.symbolId,
391
- error: err instanceof Error ? err.message : String(err),
392
- });
393
- return sym.signatureJson;
394
- }
395
- })()
396
- : undefined;
524
+ const embeddingInput = preparedInputBySymbolId.get(sym.symbolId);
525
+ const signatureText = embeddingInput?.signatureText ?? parseSignatureText(sym);
526
+ const cardHash = buildSummaryCardHash({
527
+ symbolName: sym.name,
528
+ kind: sym.kind,
529
+ signature: signatureText,
530
+ astFingerprint: sym.astFingerprint,
531
+ providerName: resolvedProviderName,
532
+ modelName: resolvedModelName,
533
+ embeddingInput,
534
+ });
397
535
  const genResult = await generateSummaryWithGuardrails({
398
536
  symbolName: sym.name,
399
537
  symbolId: sym.symbolId,
@@ -401,16 +539,25 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
401
539
  signature: signatureText,
402
540
  astFingerprint: sym.astFingerprint ?? undefined,
403
541
  heuristicSummary: sym.summary ?? undefined,
542
+ embeddingInput,
404
543
  provider,
405
544
  summaryModel: summaryModel ?? undefined,
406
545
  summaryApiKey: summaryApiKey ?? undefined,
407
546
  summaryApiBaseUrl: summaryApiBaseUrl ?? undefined,
547
+ skipCacheLookup: true,
548
+ persistCache: false,
408
549
  });
409
- // Update the symbol row with the new summary
410
- await withWriteConn(async (wConn) => {
411
- await ladybugDb.updateSymbolSummary(wConn, sym.symbolId, genResult.summary, 1.0, "llm");
550
+ const metadata = summaryStorageMetadata(genResult.provider);
551
+ generatedRows.push({
552
+ symbolId: sym.symbolId,
553
+ summary: genResult.summary,
554
+ provider: genResult.provider,
555
+ model: summaryModel ?? genResult.provider,
556
+ cardHash,
557
+ costUsd: genResult.costUsd,
558
+ summaryQuality: metadata.quality,
559
+ summarySource: metadata.source,
412
560
  });
413
- batchGenerated += 1;
414
561
  batchCost += genResult.costUsd;
415
562
  }
416
563
  catch (err) {
@@ -418,6 +565,14 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
418
565
  batchFailed += 1;
419
566
  }
420
567
  }
568
+ try {
569
+ await persistGeneratedSummariesInTransaction(generatedRows);
570
+ batchGenerated += generatedRows.length;
571
+ }
572
+ catch (err) {
573
+ logger.warn(`Failed to persist summary batch: ${String(err)}`);
574
+ batchFailed += generatedRows.length;
575
+ }
421
576
  return {
422
577
  generated: batchGenerated,
423
578
  failed: batchFailed,
@@ -438,7 +593,7 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
438
593
  result.totalCostUsd += outcome.value.costUsd;
439
594
  }
440
595
  else {
441
- // Entire batch threw count all as failed
596
+ // Entire batch threw - count all as failed
442
597
  result.failed += chunkBatchSize;
443
598
  logger.warn(`Batch failed entirely: ${String(outcome.reason)}`);
444
599
  }