sdl-mcp 0.11.13 → 0.12.0

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 (99) hide show
  1. package/README.md +1 -1
  2. package/config/sdlmcp.config.example.json +2 -2
  3. package/config/sdlmcp.config.schema.json +9 -5
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/cli/commands/init.js +5 -5
  6. package/dist/cli/commands/tool-actions.d.ts.map +1 -1
  7. package/dist/cli/commands/tool-actions.js +28 -3
  8. package/dist/cli/commands/tool-actions.js.map +1 -1
  9. package/dist/code-mode/action-catalog.js +1 -1
  10. package/dist/code-mode/action-catalog.js.map +1 -1
  11. package/dist/code-mode/descriptions.d.ts.map +1 -1
  12. package/dist/code-mode/descriptions.js +1 -1
  13. package/dist/code-mode/descriptions.js.map +1 -1
  14. package/dist/code-mode/etag-cache.d.ts +9 -2
  15. package/dist/code-mode/etag-cache.d.ts.map +1 -1
  16. package/dist/code-mode/etag-cache.js +45 -2
  17. package/dist/code-mode/etag-cache.js.map +1 -1
  18. package/dist/code-mode/index.d.ts +8 -0
  19. package/dist/code-mode/index.d.ts.map +1 -1
  20. package/dist/code-mode/index.js +3 -1
  21. package/dist/code-mode/index.js.map +1 -1
  22. package/dist/code-mode/manual-generator.js +11 -11
  23. package/dist/code-mode/manual-generator.js.map +1 -1
  24. package/dist/code-mode/types.d.ts +6 -3
  25. package/dist/code-mode/types.d.ts.map +1 -1
  26. package/dist/code-mode/types.js +4 -2
  27. package/dist/code-mode/types.js.map +1 -1
  28. package/dist/code-mode/workflow-executor.d.ts.map +1 -1
  29. package/dist/code-mode/workflow-executor.js +33 -6
  30. package/dist/code-mode/workflow-executor.js.map +1 -1
  31. package/dist/code-mode/workflow-parser.d.ts +1 -1
  32. package/dist/code-mode/workflow-parser.d.ts.map +1 -1
  33. package/dist/code-mode/workflow-parser.js +13 -1
  34. package/dist/code-mode/workflow-parser.js.map +1 -1
  35. package/dist/config/types.d.ts +4 -4
  36. package/dist/config/types.d.ts.map +1 -1
  37. package/dist/config/types.js +5 -5
  38. package/dist/config/types.js.map +1 -1
  39. package/dist/indexer/summary-generator.d.ts +5 -0
  40. package/dist/indexer/summary-generator.d.ts.map +1 -1
  41. package/dist/indexer/summary-generator.js +240 -86
  42. package/dist/indexer/summary-generator.js.map +1 -1
  43. package/dist/indexer/symbol-embedding-text.d.ts +5 -10
  44. package/dist/indexer/symbol-embedding-text.d.ts.map +1 -1
  45. package/dist/indexer/symbol-embedding-text.js +200 -0
  46. package/dist/indexer/symbol-embedding-text.js.map +1 -1
  47. package/dist/mcp/context-response-projection.d.ts +0 -10
  48. package/dist/mcp/context-response-projection.d.ts.map +1 -1
  49. package/dist/mcp/context-response-projection.js +554 -35
  50. package/dist/mcp/context-response-projection.js.map +1 -1
  51. package/dist/mcp/response-compression.d.ts +3 -0
  52. package/dist/mcp/response-compression.d.ts.map +1 -1
  53. package/dist/mcp/response-compression.js +21 -14
  54. package/dist/mcp/response-compression.js.map +1 -1
  55. package/dist/mcp/server-instructions.js +7 -7
  56. package/dist/mcp/server-instructions.js.map +1 -1
  57. package/dist/mcp/token-usage.d.ts +5 -0
  58. package/dist/mcp/token-usage.d.ts.map +1 -1
  59. package/dist/mcp/token-usage.js +17 -0
  60. package/dist/mcp/token-usage.js.map +1 -1
  61. package/dist/mcp/tool-call-formatter.d.ts.map +1 -1
  62. package/dist/mcp/tool-call-formatter.js +4 -6
  63. package/dist/mcp/tool-call-formatter.js.map +1 -1
  64. package/dist/mcp/tools/repo.d.ts.map +1 -1
  65. package/dist/mcp/tools/repo.js +20 -19
  66. package/dist/mcp/tools/repo.js.map +1 -1
  67. package/dist/mcp/tools/response.d.ts.map +1 -1
  68. package/dist/mcp/tools/response.js +17 -2
  69. package/dist/mcp/tools/response.js.map +1 -1
  70. package/dist/mcp/tools/runtime.d.ts.map +1 -1
  71. package/dist/mcp/tools/runtime.js +7 -6
  72. package/dist/mcp/tools/runtime.js.map +1 -1
  73. package/dist/mcp/tools/usage.d.ts.map +1 -1
  74. package/dist/mcp/tools/usage.js +5 -0
  75. package/dist/mcp/tools/usage.js.map +1 -1
  76. package/dist/mcp/tools.d.ts +43 -61
  77. package/dist/mcp/tools.d.ts.map +1 -1
  78. package/dist/mcp/tools.js +50 -18
  79. package/dist/mcp/tools.js.map +1 -1
  80. package/dist/observability/aggregator.d.ts +3 -0
  81. package/dist/observability/aggregator.d.ts.map +1 -1
  82. package/dist/observability/aggregator.js +27 -0
  83. package/dist/observability/aggregator.js.map +1 -1
  84. package/dist/observability/event-tap.d.ts +6 -0
  85. package/dist/observability/event-tap.d.ts.map +1 -1
  86. package/dist/observability/event-tap.js.map +1 -1
  87. package/dist/observability/types.d.ts +9 -0
  88. package/dist/observability/types.d.ts.map +1 -1
  89. package/dist/observability/types.js.map +1 -1
  90. package/dist/runtime/response-artifacts.d.ts +14 -2
  91. package/dist/runtime/response-artifacts.d.ts.map +1 -1
  92. package/dist/runtime/response-artifacts.js +52 -17
  93. package/dist/runtime/response-artifacts.js.map +1 -1
  94. package/dist/server.d.ts +1 -1
  95. package/dist/server.d.ts.map +1 -1
  96. package/dist/server.js +118 -24
  97. package/dist/server.js.map +1 -1
  98. package/package.json +5 -5
  99. package/templates/SDL.md +6 -7
@@ -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,60 +394,107 @@ 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,
@@ -375,25 +517,20 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
375
517
  let batchGenerated = 0;
376
518
  let batchFailed = 0;
377
519
  let batchCost = 0;
520
+ const generatedRows = [];
378
521
  for (const sym of batch) {
379
522
  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;
523
+ const embeddingInput = preparedInputBySymbolId.get(sym.symbolId);
524
+ const signatureText = embeddingInput?.signatureText ?? parseSignatureText(sym);
525
+ const cardHash = buildSummaryCardHash({
526
+ symbolName: sym.name,
527
+ kind: sym.kind,
528
+ signature: signatureText,
529
+ astFingerprint: sym.astFingerprint,
530
+ providerName: resolvedProviderName,
531
+ modelName: resolvedModelName,
532
+ embeddingInput,
533
+ });
397
534
  const genResult = await generateSummaryWithGuardrails({
398
535
  symbolName: sym.name,
399
536
  symbolId: sym.symbolId,
@@ -401,16 +538,25 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
401
538
  signature: signatureText,
402
539
  astFingerprint: sym.astFingerprint ?? undefined,
403
540
  heuristicSummary: sym.summary ?? undefined,
541
+ embeddingInput,
404
542
  provider,
405
543
  summaryModel: summaryModel ?? undefined,
406
544
  summaryApiKey: summaryApiKey ?? undefined,
407
545
  summaryApiBaseUrl: summaryApiBaseUrl ?? undefined,
546
+ skipCacheLookup: true,
547
+ persistCache: false,
408
548
  });
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");
549
+ const metadata = summaryStorageMetadata(genResult.provider);
550
+ generatedRows.push({
551
+ symbolId: sym.symbolId,
552
+ summary: genResult.summary,
553
+ provider: genResult.provider,
554
+ model: summaryModel ?? genResult.provider,
555
+ cardHash,
556
+ costUsd: genResult.costUsd,
557
+ summaryQuality: metadata.quality,
558
+ summarySource: metadata.source,
412
559
  });
413
- batchGenerated += 1;
414
560
  batchCost += genResult.costUsd;
415
561
  }
416
562
  catch (err) {
@@ -418,6 +564,14 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
418
564
  batchFailed += 1;
419
565
  }
420
566
  }
567
+ try {
568
+ await persistGeneratedSummariesInTransaction(generatedRows);
569
+ batchGenerated += generatedRows.length;
570
+ }
571
+ catch (err) {
572
+ logger.warn(`Failed to persist summary batch: ${String(err)}`);
573
+ batchFailed += generatedRows.length;
574
+ }
421
575
  return {
422
576
  generated: batchGenerated,
423
577
  failed: batchFailed,
@@ -438,7 +592,7 @@ export async function generateSummariesForRepo(repoId, config, onProgress) {
438
592
  result.totalCostUsd += outcome.value.costUsd;
439
593
  }
440
594
  else {
441
- // Entire batch threw count all as failed
595
+ // Entire batch threw - count all as failed
442
596
  result.failed += chunkBatchSize;
443
597
  logger.warn(`Batch failed entirely: ${String(outcome.reason)}`);
444
598
  }
@@ -1 +1 @@
1
- {"version":3,"file":"summary-generator.js","sourceRoot":"","sources":["../../src/indexer/summary-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summary-generator.js","sourceRoot":"","sources":["../../src/indexer/summary-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EACL,4BAA4B,GAE7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,yBAAyB,EACzB,sCAAsC,GACvC,MAAM,4BAA4B,CAAC;AAoBpC,MAAM,uBAAuB,GAC3B,kLAAkL,CAAC;AAErL,SAAS,0BAA0B,CAAC,KAInC;IACC,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,KAAK,CAAC,UAAU;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ;SACa;QAC3C,aAAa,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QACtC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;QACT,gBAAgB,EAAE,QAAQ;QAC1B,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB;IACvB,IAAI,GAAG,MAAM,CAAC;IAEd,KAAK,CAAC,QAAQ,CAAC,KAKd;QACC,OAAO,yBAAyB,CAC9B,KAAK,CAAC,cAAc,IAAI,0BAA0B,CAAC,KAAK,CAAC,CAC1D,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,wBAAwB;IACnC,IAAI,GAAG,WAAW,CAAC;IACF,MAAM,CAAS;IACf,KAAK,CAAS;IACd,OAAO,CAAS;IAEjC,YAAY,OAA6D;QACvE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,2BAA2B,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,2BAA2B,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAKd;QACC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,yDAAyD;YACzD,MAAM,GAAG,GACP,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG;gBAC1B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;gBACvC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,GACR,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,GAAG;gBACjC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;gBAC9C,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,cAAc,CAAC;QAC1C,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,uBAAuB;YAC/B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;SACnD,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,mBAAmB,EAAE,YAAY;gBACjC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YACjE,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAElC,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,+BAA+B;IAC1C,IAAI,GAAG,mBAAmB,CAAC;IACV,MAAM,CAAS;IACf,KAAK,CAAS;IACd,OAAO,CAAS;IAEjC,YAAY,OAA6D;QACvE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,2BAA2B,CAAC,CAAC,OAAO,CACrE,MAAM,EACN,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAKd;QACC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,GAAG,GACP,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG;gBAC1B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;gBACvC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,GACR,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,GAAG;gBACjC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;gBAC9C,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,mBAAmB,CAAC;QAC/C,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE;gBACpD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;aACvC;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;gBACtC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YACjE,MAAM,IAAI,KAAK,CACb,qCAAqC,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CACtE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAElC,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,OAIC;IAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,MAAM,GACV,OAAO,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CACT,8FAA8F;gBAC5F,6DAA6D,CAChE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,wBAAwB,CAAC;YAClC,MAAM;YACN,KAAK,EAAE,OAAO,EAAE,YAAY;YAC5B,OAAO,EAAE,OAAO,EAAE,iBAAiB,IAAI,SAAS;SACjD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,MAAM,GAAG,OAAO,EAAE,aAAa,IAAI,QAAQ,CAAC;QAClD,OAAO,IAAI,+BAA+B,CAAC;YACzC,MAAM;YACN,KAAK,EAAE,OAAO,EAAE,YAAY;YAC5B,OAAO,EAAE,OAAO,EAAE,iBAAiB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,OAAO,IAAI,mBAAmB,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAqC;IACrE,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAQ7B;IACC,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,EAAE,aAAa,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACnF,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,WAAW,CAChB;YACE,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,IAAI,IAAI,EAAE;YAChB,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,SAAS;YACf,sCAAsC;YACtC,aAAa;YACb,wBAAwB,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC;YACxD,wBAAwB,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;SAC5D,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAChB;QACE,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,IAAI,IAAI,EAAE;QAChB,KAAK,CAAC,SAAS,IAAI,EAAE;QACrB,KAAK,CAAC,cAAc,IAAI,EAAE;QAC1B,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,SAAS;KAChB,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;AACJ,CAAC;AAGD,SAAS,sBAAsB,CAAC,YAAoB;IAIlD,OAAO,YAAY,KAAK,MAAM;QAC5B,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE;QAC7C,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAkC;IAChE,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtC,OAAO,OAAO,KAAK,KAAK,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC;AAgBD,KAAK,UAAU,kCAAkC,CAC/C,IAA2C;IAE3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,MAAM,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,SAAS,CAAC,mBAAmB,CACjC,MAAM,EACN,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,aAAa,EACjB,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,sCAAsC,CACnD,IAAwC;IAExC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,MAAM,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE;oBACzC,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;oBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,SAAS,EAAE,GAAG;oBACd,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;gBACH,MAAM,SAAS,CAAC,mBAAmB,CACjC,MAAM,EACN,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,aAAa,EACjB,GAAG,CACJ,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,KAcnD;IAEC,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IACpC,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC5D,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;IAEH,2EAA2E;IAC3E,yEAAyE;IACzE,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,CAAC;oBACV,eAAe,EAAE,aAAa,CAC5B,MAAM,CAAC,OAAO,EACd,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAC7B;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC;IAED,8EAA8E;IAC9E,sDAAsD;IACtD,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,IAAI,eAAe,CAAC,IAAI,CAAC;IACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,YAAY,EAAE,eAAe,CAAC,IAAI;QAClC,SAAS,EAAE,aAAa;QACxB,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,gDAAgD;IAChD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,eAAe,GAAG,aAAa,CACnC,MAAM,CAAC,OAAO,EACd,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAC7B,CAAC;YACF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,OAAO,GAAG,eAAe,GAAG,QAAQ,CAAC;YAC3C,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO;gBACP,eAAe;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC;QAC7C,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC,CAAC;IAGH,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,eAAe,GAAG,QAAQ,CAAC;IAE3C,2EAA2E;IAC3E,+CAA+C;IAC/C,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QAEnD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE;gBACxC,QAAQ;gBACR,OAAO;gBACP,QAAQ,EAAE,eAAe,CAAC,IAAI;gBAC9B,KAAK,EAAE,KAAK,CAAC,YAAY,IAAI,eAAe,CAAC,IAAI;gBACjD,QAAQ;gBACR,OAAO;gBACP,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,eAAe,CAAC,IAAI;QAC9B,OAAO;QACP,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,QAAgB;IAChE,OAAO,WAAW,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC;AAaD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,MAAiB,EACjB,UAA8C;IAE9C,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAC;IAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,qBAAqB,IAAI,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,IAAI,MAAM,CAAC;IACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC7C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAErD,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,uBAAuB,GAAG,qBAAqB,CAAC,QAAQ,EAAE;QAC9D,YAAY,EAAE,YAAY,IAAI,SAAS;QACvC,aAAa,EAAE,aAAa,IAAI,SAAS;QACzC,iBAAiB,EAAE,iBAAiB,IAAI,SAAS;KAClD,CAAC,CAAC;IAEH,2EAA2E;IAC3E,mEAAmE;IACnE,IAAI,uBAAuB,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CACT,qBAAqB,QAAQ,iEAAiE,MAAM,IAAI;YACtG,mCAAmC,CACtC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/D,OAAO;YACL,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,MAAM,EAAE,CAAC;YACT,YAAY,EAAE,CAAC;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,IAAI,CAAC;IAC1D,MAAM,iBAAiB,GAAG,YAAY,IAAI,oBAAoB,CAAC;IAC/D,MAAM,cAAc,GAAG,oBAAoB,KAAK,MAAM,CAAC;IAEvD,iCAAiC;IACjC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,CAAC,GAA6B,EAAsB,EAAE;QAC/E,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAA+B,CAAC;YAC3E,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE;gBAClE,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,aAAa,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,0EAA0E;IAC1E,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,gBAAgB,CACtD,IAAI,EACJ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC/B,CAAC;IACF,IAAI,YAAY,GAAmB,EAAE,CAAC;IACtC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEhF,MAAM,cAAc,GAAiC,EAAE,CAAC;IAExD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,cAAc,IAAI,GAAG,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YAClD,SAAS;QACX,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,mDAAmD;QACnD,IACE,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC;YACpC,GAAG,CAAC,cAAc,KAAK,SAAS;YAChC,GAAG,CAAC,cAAc,KAAK,IAAI;YAC3B,GAAG,CAAC,cAAc,IAAI,GAAG,EACzB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC;gBACpC,UAAU,EAAE,GAAG,CAAC,IAAI;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,aAAa;gBACxB,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,YAAY,EAAE,oBAAoB;gBAClC,SAAS,EAAE,iBAAiB;aAC7B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACnD,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACzD,cAAc,CAAC,IAAI,CAAC;wBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,cAAc,EAAE,QAAQ,CAAC,OAAO;wBAChC,aAAa,EAAE,QAAQ,CAAC,MAAM;qBAC/B,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS;YACX,CAAC;QACH,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,cAAc,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,YAAY,EAAE;YAC5E,eAAe,EAAE,eAAe;SACjC,CAAC,CAAC;QACH,KAAK,MAAM,cAAc,IAAI,cAAc,EAAE,CAAC;YAC5C,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC9E,CAAC;QAGD,MAAM,kBAAkB,GAAmB,EAAE,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjE,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC/E,MAAM,QAAQ,GAAG,oBAAoB,CAAC;gBACpC,UAAU,EAAE,GAAG,CAAC,IAAI;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,aAAa;gBACxB,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,YAAY,EAAE,oBAAoB;gBAClC,SAAS,EAAE,iBAAiB;gBAC5B,cAAc;aACf,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACnD,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACzD,cAAc,CAAC,IAAI,CAAC;wBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,cAAc,EAAE,QAAQ,CAAC,OAAO;wBAChC,aAAa,EAAE,QAAQ,CAAC,MAAM;qBAC/B,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS;YACX,CAAC;YACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,YAAY,GAAG,kBAAkB,CAAC;IACpC,CAAC;IAED,MAAM,kCAAkC,CAAC,cAAc,CAAC,CAAC;IAGzD,MAAM,MAAM,GAAuB;QACjC,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM;QAC7C,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,CAAC;KAChB,CAAC;IAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7E,qBAAqB;IACrB,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,2CAA2C;IAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,MAAM,YAAY,GAAG,KAAK,EACxB,KAA0B,EACuC,EAAE;QACnE,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,aAAa,GAA8B,EAAE,CAAC;QAEpD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACjE,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC/E,MAAM,QAAQ,GAAG,oBAAoB,CAAC;oBACpC,UAAU,EAAE,GAAG,CAAC,IAAI;oBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,SAAS,EAAE,aAAa;oBACxB,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,YAAY,EAAE,oBAAoB;oBAClC,SAAS,EAAE,iBAAiB;oBAC5B,cAAc;iBACf,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC;oBACpD,UAAU,EAAE,GAAG,CAAC,IAAI;oBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,SAAS,EAAE,aAAa;oBACxB,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;oBAC/C,gBAAgB,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;oBAC1C,cAAc;oBACd,QAAQ;oBACR,YAAY,EAAE,YAAY,IAAI,SAAS;oBACvC,aAAa,EAAE,aAAa,IAAI,SAAS;oBACzC,iBAAiB,EAAE,iBAAiB,IAAI,SAAS;oBACjD,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,sBAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC5D,aAAa,CAAC,IAAI,CAAC;oBACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,KAAK,EAAE,YAAY,IAAI,SAAS,CAAC,QAAQ;oBACzC,QAAQ;oBACR,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,cAAc,EAAE,QAAQ,CAAC,OAAO;oBAChC,aAAa,EAAE,QAAQ,CAAC,MAAM;iBAC/B,CAAC,CAAC;gBACH,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,yCAAyC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CACxE,CAAC;gBACF,WAAW,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,sCAAsC,CAAC,aAAa,CAAC,CAAC;YAC5D,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,oCAAoC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/D,WAAW,IAAI,aAAa,CAAC,MAAM,CAAC;QACtC,CAAC;QAED,OAAO;YACL,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC,CAAC;IAGF,wCAAwC;IACxC,OAAO,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,CAAC,CAAC;QACrE,UAAU,IAAI,cAAc,CAAC;QAE7B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5E,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,MAAM,cAAc,GAAG,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;YAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC5C,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBACtC,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,2CAA2C;gBAC3C,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,gBAAgB,IAAI,cAAc,CAAC;YACnC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,15 +1,10 @@
1
+ import type { PreparedSymbolEmbeddingInput } from "./symbol-embedding-context.js";
2
+ export declare const CONCISE_SYMBOL_SUMMARY_BUILDER_VERSION = "concise-symbol-summary-v1";
1
3
  /**
2
- * Model-aware symbol embedding text builders.
3
- *
4
- * Phase 2: Jina structured payload with graph context.
5
- * Phase 3: Broader model-aware payload split (Nomic builder + dispatcher).
6
- *
7
- * These builders transform PreparedSymbolEmbeddingInput into model-optimized
8
- * text payloads. Each model receives a payload shape tuned to its training:
9
- * - Jina (code-specialized): structured labeled sections
10
- * - Nomic (general text): natural-language prose
4
+ * Builds deterministic one-sentence prose for mock summary generation.
5
+ * The output intentionally avoids dependency lists so mock summaries stay short.
11
6
  */
12
- import type { PreparedSymbolEmbeddingInput } from "./symbol-embedding-context.js";
7
+ export declare function buildConciseSymbolSummary(input: PreparedSymbolEmbeddingInput): string;
13
8
  /**
14
9
  * Build a structured embedding payload for Jina code models.
15
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-embedding-text.d.ts","sourceRoot":"","sources":["../../src/indexer/symbol-embedding-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAElF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,4BAA4B,GAClC,MAAM,CAiER;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,4BAA4B,GAClC,MAAM,CA2DR;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,4BAA4B,GAClC,MAAM,CASR"}
1
+ {"version":3,"file":"symbol-embedding-text.d.ts","sourceRoot":"","sources":["../../src/indexer/symbol-embedding-text.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAGlF,eAAO,MAAM,sCAAsC,8BAA8B,CAAC;AAoMlF;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,4BAA4B,GAClC,MAAM,CAcR;AACD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,4BAA4B,GAClC,MAAM,CAiER;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,4BAA4B,GAClC,MAAM,CA2DR;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,4BAA4B,GAClC,MAAM,CASR"}