@duckcodeailabs/dql-mcp 1.6.31 → 1.6.32

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 (80) hide show
  1. package/dist/context.d.ts.map +1 -1
  2. package/dist/context.js +4 -1
  3. package/dist/context.js.map +1 -1
  4. package/dist/index.d.ts +4 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +4 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/server.d.ts +32 -0
  9. package/dist/server.d.ts.map +1 -1
  10. package/dist/server.js +184 -90
  11. package/dist/server.js.map +1 -1
  12. package/dist/tool-schema.d.ts +5 -0
  13. package/dist/tool-schema.d.ts.map +1 -0
  14. package/dist/tool-schema.js +105 -0
  15. package/dist/tool-schema.js.map +1 -0
  16. package/dist/tools/certify.d.ts +1 -4
  17. package/dist/tools/certify.d.ts.map +1 -1
  18. package/dist/tools/certify.js +2 -4
  19. package/dist/tools/certify.js.map +1 -1
  20. package/dist/tools/expand-context.d.ts +62 -0
  21. package/dist/tools/expand-context.d.ts.map +1 -0
  22. package/dist/tools/expand-context.js +130 -0
  23. package/dist/tools/expand-context.js.map +1 -0
  24. package/dist/tools/get-block.d.ts +1 -5
  25. package/dist/tools/get-block.d.ts.map +1 -1
  26. package/dist/tools/get-block.js +2 -8
  27. package/dist/tools/get-block.js.map +1 -1
  28. package/dist/tools/governed.d.ts +94 -0
  29. package/dist/tools/governed.d.ts.map +1 -0
  30. package/dist/tools/governed.js +139 -0
  31. package/dist/tools/governed.js.map +1 -0
  32. package/dist/tools/hints.d.ts +3 -46
  33. package/dist/tools/hints.d.ts.map +1 -1
  34. package/dist/tools/hints.js +4 -33
  35. package/dist/tools/hints.js.map +1 -1
  36. package/dist/tools/kg.d.ts +5 -22
  37. package/dist/tools/kg.d.ts.map +1 -1
  38. package/dist/tools/kg.js +6 -29
  39. package/dist/tools/kg.js.map +1 -1
  40. package/dist/tools/lineage-impact.d.ts +4 -9
  41. package/dist/tools/lineage-impact.d.ts.map +1 -1
  42. package/dist/tools/lineage-impact.js +91 -36
  43. package/dist/tools/lineage-impact.js.map +1 -1
  44. package/dist/tools/list-proposals.d.ts +13 -5
  45. package/dist/tools/list-proposals.d.ts.map +1 -1
  46. package/dist/tools/list-proposals.js +152 -16
  47. package/dist/tools/list-proposals.js.map +1 -1
  48. package/dist/tools/metadata.d.ts +3 -12
  49. package/dist/tools/metadata.d.ts.map +1 -1
  50. package/dist/tools/metadata.js +4 -15
  51. package/dist/tools/metadata.js.map +1 -1
  52. package/dist/tools/query-semantic-model.d.ts +374 -0
  53. package/dist/tools/query-semantic-model.d.ts.map +1 -0
  54. package/dist/tools/query-semantic-model.js +404 -0
  55. package/dist/tools/query-semantic-model.js.map +1 -0
  56. package/dist/tools/query-via-block.d.ts +5 -8
  57. package/dist/tools/query-via-block.d.ts.map +1 -1
  58. package/dist/tools/query-via-block.js +9 -14
  59. package/dist/tools/query-via-block.js.map +1 -1
  60. package/dist/tools/query-via-metadata.d.ts +198 -130
  61. package/dist/tools/query-via-metadata.d.ts.map +1 -1
  62. package/dist/tools/query-via-metadata.js +197 -101
  63. package/dist/tools/query-via-metadata.js.map +1 -1
  64. package/dist/tools/search-blocks.d.ts +1 -7
  65. package/dist/tools/search-blocks.d.ts.map +1 -1
  66. package/dist/tools/search-blocks.js +2 -10
  67. package/dist/tools/search-blocks.js.map +1 -1
  68. package/dist/tools/semantic.d.ts +3 -8
  69. package/dist/tools/semantic.d.ts.map +1 -1
  70. package/dist/tools/semantic.js +3 -7
  71. package/dist/tools/semantic.js.map +1 -1
  72. package/dist/tools/suggest-block.d.ts +1 -10
  73. package/dist/tools/suggest-block.d.ts.map +1 -1
  74. package/dist/tools/suggest-block.js +2 -10
  75. package/dist/tools/suggest-block.js.map +1 -1
  76. package/dist/tools/workflows.d.ts +7 -33
  77. package/dist/tools/workflows.d.ts.map +1 -1
  78. package/dist/tools/workflows.js +6 -19
  79. package/dist/tools/workflows.js.map +1 -1
  80. package/package.json +5 -5
@@ -1,42 +1,7 @@
1
- import { z } from 'zod';
2
1
  import type { DQLContext } from '../context.js';
3
- import { type LocalContextPack } from '@duckcodeailabs/dql-agent';
2
+ import { mcpTier2RegroundRepairBudget, type MetadataFollowUpContext } from '@duckcodeailabs/dql-agent';
4
3
  import type { DataLexConformance, DataLexRelationship, JoinPathResolution } from '@duckcodeailabs/dql-core';
5
- export declare const queryViaMetadataInput: {
6
- question: z.ZodString;
7
- proposedSql: z.ZodOptional<z.ZodString>;
8
- contextPackId: z.ZodOptional<z.ZodString>;
9
- intent: z.ZodOptional<z.ZodEnum<["diagnose_change", "driver_breakdown", "segment_compare", "entity_drilldown", "anomaly_investigation", "trust_gap_review"]>>;
10
- upstreamRefs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
- followUp: z.ZodOptional<z.ZodObject<{
12
- kind: z.ZodEnum<["generic", "drilldown"]>;
13
- sourceBlockName: z.ZodOptional<z.ZodString>;
14
- sourceQuestion: z.ZodOptional<z.ZodString>;
15
- sourceAnswer: z.ZodOptional<z.ZodString>;
16
- filters: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
17
- dimensions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
18
- }, "strip", z.ZodTypeAny, {
19
- kind: "generic" | "drilldown";
20
- sourceBlockName?: string | undefined;
21
- sourceQuestion?: string | undefined;
22
- sourceAnswer?: string | undefined;
23
- filters?: string[] | undefined;
24
- dimensions?: string[] | undefined;
25
- }, {
26
- kind: "generic" | "drilldown";
27
- sourceBlockName?: string | undefined;
28
- sourceQuestion?: string | undefined;
29
- sourceAnswer?: string | undefined;
30
- filters?: string[] | undefined;
31
- dimensions?: string[] | undefined;
32
- }>>;
33
- proposedDomain: z.ZodOptional<z.ZodString>;
34
- proposedEntity: z.ZodOptional<z.ZodString>;
35
- saveDraft: z.ZodOptional<z.ZodBoolean>;
36
- dryRun: z.ZodOptional<z.ZodBoolean>;
37
- limit: z.ZodOptional<z.ZodNumber>;
38
- serverUrl: z.ZodOptional<z.ZodString>;
39
- };
4
+ export declare const queryViaMetadataInput: Record<string, import("zod").ZodTypeAny>;
40
5
  /**
41
6
  * Tier-2 of the graduated-trust loop. Use ONLY after `query_via_block` has
42
7
  * confirmed there's no certified block for the question.
@@ -58,19 +23,16 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
58
23
  contextPackId?: string;
59
24
  intent?: MetadataResearchIntent;
60
25
  upstreamRefs?: string[];
26
+ outputs?: string[];
61
27
  followUp?: MetadataFollowUpContext;
62
28
  proposedDomain?: string;
63
29
  proposedEntity?: string;
64
30
  saveDraft?: boolean;
65
31
  dryRun?: boolean;
32
+ regroundAttemptsUsed?: number;
66
33
  limit?: number;
67
34
  serverUrl?: string;
68
35
  }): Promise<{
69
- uncertified: boolean;
70
- intent: MetadataResearchIntent;
71
- reviewStatus: string;
72
- planningOnly: boolean;
73
- contextPack: LocalContextPack | undefined;
74
36
  datalexJoinGuidance: DataLexJoinGuidance | undefined;
75
37
  routeDecision: import("@duckcodeailabs/dql-agent").MetadataRouteDecision | undefined;
76
38
  allowedSqlContext: import("@duckcodeailabs/dql-agent").MetadataAllowedSqlContext | undefined;
@@ -90,6 +52,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
90
52
  rightColumn: string;
91
53
  reason: string;
92
54
  confidence: number;
55
+ source?: "dbt_lineage" | "metadata_guess" | "kg_path" | "datalex";
93
56
  }[];
94
57
  schemaShapeCandidates: {
95
58
  objectKey: string;
@@ -144,6 +107,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
144
107
  rightColumn: string;
145
108
  reason: string;
146
109
  confidence: number;
110
+ source?: "dbt_lineage" | "metadata_guess" | "kg_path" | "datalex";
147
111
  }[];
148
112
  schemaShapeCandidates: {
149
113
  objectKey: string;
@@ -163,19 +127,26 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
163
127
  assumptions: string[];
164
128
  };
165
129
  reason: string;
166
- errorCode?: undefined;
167
- trustStatus?: undefined;
168
- error?: undefined;
169
- validationWarnings?: undefined;
170
- proposedSql?: undefined;
171
- draftBlock?: undefined;
172
- promote?: undefined;
173
- question?: undefined;
174
- rowCount?: undefined;
175
- durationMs?: undefined;
176
- columns?: undefined;
177
- rows?: undefined;
130
+ contextPackId?: string;
131
+ contextPackSummary?: MetadataContextPackSummary;
132
+ uncertified: boolean;
133
+ intent: MetadataResearchIntent;
134
+ reviewStatus: string;
135
+ planningOnly: boolean;
178
136
  } | {
137
+ error: string;
138
+ validationWarnings: string[];
139
+ proposedSql: string;
140
+ groundingGap: MetadataGroundingGap | undefined;
141
+ repairAction: {
142
+ kind: string;
143
+ hint: string;
144
+ } | undefined;
145
+ repairBudget: import("@duckcodeailabs/dql-agent").McpTier2RepairBudget | undefined;
146
+ repairPlan: MetadataRepairPlan | undefined;
147
+ draftBlock: undefined;
148
+ contextPackId?: string;
149
+ contextPackSummary?: MetadataContextPackSummary;
179
150
  uncertified: boolean;
180
151
  intent: MetadataResearchIntent;
181
152
  reviewStatus: string;
@@ -184,7 +155,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
184
155
  label: string;
185
156
  uncertified: boolean;
186
157
  intent: MetadataResearchIntent;
187
- reviewStatus: "rejected" | "draft_ready";
158
+ reviewStatus: "draft_ready" | "rejected";
188
159
  certification: string;
189
160
  draftPath: string | undefined;
190
161
  promotionPath: string | undefined;
@@ -235,6 +206,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
235
206
  rightColumn: string;
236
207
  reason: string;
237
208
  confidence: number;
209
+ source?: "dbt_lineage" | "metadata_guess" | "kg_path" | "datalex";
238
210
  }[];
239
211
  schemaShapeCandidates: {
240
212
  objectKey: string;
@@ -253,35 +225,22 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
253
225
  };
254
226
  assumptions: string[];
255
227
  };
256
- contextPack: LocalContextPack | undefined;
228
+ } | {
257
229
  error: string;
258
230
  validationWarnings: string[];
259
231
  proposedSql: string;
260
232
  draftBlock: undefined;
261
- planningOnly?: undefined;
262
- datalexJoinGuidance?: undefined;
263
- routeDecision?: undefined;
264
- allowedSqlContext?: undefined;
265
- selectedRelations?: undefined;
266
- selectedJoinPaths?: undefined;
267
- schemaShapeCandidates?: undefined;
268
- missingContext?: undefined;
269
- reason?: undefined;
270
- promote?: undefined;
271
- question?: undefined;
272
- rowCount?: undefined;
273
- durationMs?: undefined;
274
- columns?: undefined;
275
- rows?: undefined;
276
- } | {
233
+ contextPackId?: string;
234
+ contextPackSummary?: MetadataContextPackSummary;
277
235
  uncertified: boolean;
278
236
  intent: MetadataResearchIntent;
279
237
  reviewStatus: string;
238
+ errorCode: "unsafe_sql";
280
239
  trustStatus: {
281
240
  label: string;
282
241
  uncertified: boolean;
283
242
  intent: MetadataResearchIntent;
284
- reviewStatus: "rejected" | "draft_ready";
243
+ reviewStatus: "draft_ready" | "rejected";
285
244
  certification: string;
286
245
  draftPath: string | undefined;
287
246
  promotionPath: string | undefined;
@@ -332,6 +291,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
332
291
  rightColumn: string;
333
292
  reason: string;
334
293
  confidence: number;
294
+ source?: "dbt_lineage" | "metadata_guess" | "kg_path" | "datalex";
335
295
  }[];
336
296
  schemaShapeCandidates: {
337
297
  objectKey: string;
@@ -350,7 +310,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
350
310
  };
351
311
  assumptions: string[];
352
312
  };
353
- contextPack: LocalContextPack | undefined;
313
+ } | {
354
314
  datalexJoinGuidance: DataLexJoinGuidance | undefined;
355
315
  reason: string;
356
316
  proposedSql: string;
@@ -359,30 +319,24 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
359
319
  askedTimes: number;
360
320
  proposedContractId: string;
361
321
  } | undefined;
322
+ dqlArtifact: {
323
+ kind: "sql_block";
324
+ name: string;
325
+ sourcePath: string | undefined;
326
+ source: string;
327
+ };
362
328
  validationWarnings: string[];
363
329
  promote: string | undefined;
364
- planningOnly?: undefined;
365
- routeDecision?: undefined;
366
- allowedSqlContext?: undefined;
367
- selectedRelations?: undefined;
368
- selectedJoinPaths?: undefined;
369
- schemaShapeCandidates?: undefined;
370
- missingContext?: undefined;
371
- errorCode?: undefined;
372
- error?: undefined;
373
- question?: undefined;
374
- rowCount?: undefined;
375
- durationMs?: undefined;
376
- columns?: undefined;
377
- rows?: undefined;
378
- } | {
330
+ contextPackId?: string;
331
+ contextPackSummary?: MetadataContextPackSummary;
379
332
  uncertified: boolean;
380
333
  intent: MetadataResearchIntent;
334
+ reviewStatus: string;
381
335
  trustStatus: {
382
336
  label: string;
383
337
  uncertified: boolean;
384
338
  intent: MetadataResearchIntent;
385
- reviewStatus: "rejected" | "draft_ready";
339
+ reviewStatus: "draft_ready" | "rejected";
386
340
  certification: string;
387
341
  draftPath: string | undefined;
388
342
  promotionPath: string | undefined;
@@ -433,6 +387,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
433
387
  rightColumn: string;
434
388
  reason: string;
435
389
  confidence: number;
390
+ source?: "dbt_lineage" | "metadata_guess" | "kg_path" | "datalex";
436
391
  }[];
437
392
  schemaShapeCandidates: {
438
393
  objectKey: string;
@@ -451,41 +406,29 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
451
406
  };
452
407
  assumptions: string[];
453
408
  };
454
- contextPack: LocalContextPack | undefined;
409
+ } | {
455
410
  error: string;
456
411
  draftBlock: {
457
412
  path: string;
458
413
  askedTimes: number;
459
414
  proposedContractId: string;
460
415
  } | undefined;
416
+ dqlArtifact: {
417
+ kind: "sql_block";
418
+ name: string;
419
+ sourcePath: string | undefined;
420
+ source: string;
421
+ };
461
422
  validationWarnings: string[];
462
- reviewStatus?: undefined;
463
- planningOnly?: undefined;
464
- datalexJoinGuidance?: undefined;
465
- routeDecision?: undefined;
466
- allowedSqlContext?: undefined;
467
- selectedRelations?: undefined;
468
- selectedJoinPaths?: undefined;
469
- schemaShapeCandidates?: undefined;
470
- missingContext?: undefined;
471
- reason?: undefined;
472
- errorCode?: undefined;
473
- proposedSql?: undefined;
474
- promote?: undefined;
475
- question?: undefined;
476
- rowCount?: undefined;
477
- durationMs?: undefined;
478
- columns?: undefined;
479
- rows?: undefined;
480
- } | {
423
+ contextPackId?: string;
424
+ contextPackSummary?: MetadataContextPackSummary;
481
425
  uncertified: boolean;
482
426
  intent: MetadataResearchIntent;
483
- reviewStatus: string;
484
427
  trustStatus: {
485
428
  label: string;
486
429
  uncertified: boolean;
487
430
  intent: MetadataResearchIntent;
488
- reviewStatus: "rejected" | "draft_ready";
431
+ reviewStatus: "draft_ready" | "rejected";
489
432
  certification: string;
490
433
  draftPath: string | undefined;
491
434
  promotionPath: string | undefined;
@@ -536,6 +479,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
536
479
  rightColumn: string;
537
480
  reason: string;
538
481
  confidence: number;
482
+ source?: "dbt_lineage" | "metadata_guess" | "kg_path" | "datalex";
539
483
  }[];
540
484
  schemaShapeCandidates: {
541
485
  objectKey: string;
@@ -554,11 +498,14 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
554
498
  };
555
499
  assumptions: string[];
556
500
  };
557
- contextPack: LocalContextPack | undefined;
501
+ } | {
558
502
  datalexJoinGuidance: DataLexJoinGuidance | undefined;
559
503
  reason: string;
560
504
  question: string;
561
505
  rowCount: number;
506
+ returnedRowCount: number;
507
+ maxRowsReturned: number;
508
+ rowsTruncated: boolean;
562
509
  durationMs: number | null;
563
510
  columns: {
564
511
  name: string;
@@ -571,17 +518,94 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
571
518
  askedTimes: number;
572
519
  proposedContractId: string;
573
520
  } | undefined;
521
+ dqlArtifact: {
522
+ kind: "sql_block";
523
+ name: string;
524
+ sourcePath: string | undefined;
525
+ source: string;
526
+ };
574
527
  validationWarnings: string[];
575
528
  promote: string | undefined;
576
- planningOnly?: undefined;
577
- routeDecision?: undefined;
578
- allowedSqlContext?: undefined;
579
- selectedRelations?: undefined;
580
- selectedJoinPaths?: undefined;
581
- schemaShapeCandidates?: undefined;
582
- missingContext?: undefined;
583
- errorCode?: undefined;
584
- error?: undefined;
529
+ contextPackId?: string;
530
+ contextPackSummary?: MetadataContextPackSummary;
531
+ uncertified: boolean;
532
+ intent: MetadataResearchIntent;
533
+ reviewStatus: string;
534
+ noRows: boolean;
535
+ trustStatus: {
536
+ label: string;
537
+ uncertified: boolean;
538
+ intent: MetadataResearchIntent;
539
+ reviewStatus: "draft_ready" | "rejected";
540
+ certification: string;
541
+ draftPath: string | undefined;
542
+ promotionPath: string | undefined;
543
+ caveats: string[];
544
+ };
545
+ evidence: {
546
+ planner: {
547
+ mode: string;
548
+ intent: MetadataResearchIntent;
549
+ steps: string[];
550
+ reviewRequired: boolean;
551
+ boundedPreviewLimit: number;
552
+ };
553
+ certifiedContext: {
554
+ upstreamRefs: string[];
555
+ proposedDomain: string | undefined;
556
+ proposedEntity: string | undefined;
557
+ draftBlock: {
558
+ path: string;
559
+ askedTimes: number;
560
+ proposedContractId: string;
561
+ } | undefined;
562
+ sourceCertifiedBlock: string | undefined;
563
+ contextPackId: string | undefined;
564
+ trustLabel: import("@duckcodeailabs/dql-agent").MetadataTrustLabel | undefined;
565
+ selectedEvidence: {
566
+ objectKey: string;
567
+ objectType: string;
568
+ name: string;
569
+ reason: string;
570
+ rank: number;
571
+ score: number;
572
+ priorityTier: string;
573
+ }[];
574
+ selectedRelations: {
575
+ relation: string;
576
+ name: string;
577
+ source: string;
578
+ score: number;
579
+ reason: string;
580
+ columns: string[];
581
+ rank: number;
582
+ }[];
583
+ selectedJoinPaths: {
584
+ leftRelation: string;
585
+ leftColumn: string;
586
+ rightRelation: string;
587
+ rightColumn: string;
588
+ reason: string;
589
+ confidence: number;
590
+ source?: "dbt_lineage" | "metadata_guess" | "kg_path" | "datalex";
591
+ }[];
592
+ schemaShapeCandidates: {
593
+ objectKey: string;
594
+ relation: string;
595
+ score: number;
596
+ reason: string;
597
+ columns: string[];
598
+ }[];
599
+ warnings: string[];
600
+ };
601
+ execution: {
602
+ status: string;
603
+ rowCount: number | undefined;
604
+ durationMs: number | null | undefined;
605
+ error: string | undefined;
606
+ };
607
+ assumptions: string[];
608
+ };
585
609
  }>;
586
610
  export interface DataLexJoinGuidance {
587
611
  source: 'datalex_manifest';
@@ -615,6 +639,58 @@ interface JoinGuidanceRegistry {
615
639
  targetDomain?: string;
616
640
  }): JoinPathResolution;
617
641
  }
642
+ interface MetadataGroundingGap {
643
+ code: 'unknown_relation' | 'unknown_column';
644
+ error: string;
645
+ offending?: {
646
+ relation?: string;
647
+ column?: string;
648
+ };
649
+ suggestedExpansion?: {
650
+ relations: Array<{
651
+ relation: string;
652
+ name: string;
653
+ source: string;
654
+ columnCompleteness?: 'complete' | 'partial';
655
+ columns: Array<{
656
+ name: string;
657
+ type?: string;
658
+ }>;
659
+ }>;
660
+ notes: string[];
661
+ };
662
+ catalogLookupError?: string;
663
+ recommendedNextStep: string;
664
+ }
665
+ interface MetadataRepairPlan {
666
+ reason: 'allowed_context_gap';
667
+ exhausted: boolean;
668
+ nextTool: 'expand_context' | 'inspect_metadata_context';
669
+ contextPackId?: string;
670
+ relations: string[];
671
+ retryTool: 'query_via_metadata';
672
+ retryHint: string;
673
+ budget: ReturnType<typeof mcpTier2RegroundRepairBudget>;
674
+ }
675
+ interface MetadataContextPackSummary {
676
+ id?: string;
677
+ trustLabel?: string;
678
+ route?: string;
679
+ intent?: string;
680
+ selectedRelations: Array<{
681
+ relation: string;
682
+ reason?: string;
683
+ columns?: string[];
684
+ }>;
685
+ selectedJoinPaths: Array<{
686
+ leftRelation: string;
687
+ leftColumn: string;
688
+ rightRelation: string;
689
+ rightColumn: string;
690
+ reason?: string;
691
+ }>;
692
+ warnings: string[];
693
+ }
618
694
  /**
619
695
  * Build grain-safe join guidance from the DataLex manifest for the entities a
620
696
  * Tier-2 question touches. This is what turns conformance + typed relationships
@@ -632,14 +708,6 @@ interface JoinGuidanceRegistry {
632
708
  */
633
709
  export declare function buildDataLexJoinGuidance(registry: JoinGuidanceRegistry, refs: string[]): DataLexJoinGuidance | undefined;
634
710
  type MetadataResearchIntent = 'diagnose_change' | 'driver_breakdown' | 'segment_compare' | 'entity_drilldown' | 'anomaly_investigation' | 'trust_gap_review';
635
- type MetadataFollowUpContext = {
636
- kind: 'generic' | 'drilldown';
637
- sourceBlockName?: string;
638
- sourceQuestion?: string;
639
- sourceAnswer?: string;
640
- filters?: string[];
641
- dimensions?: string[];
642
- };
643
711
  /**
644
712
  * Derive a deterministic snake_case slug from a free-form question. Same
645
713
  * question -> same slug, so re-asking the question increments `asked_times`
@@ -1 +1 @@
1
- {"version":3,"file":"query-via-metadata.d.ts","sourceRoot":"","sources":["../../src/tools/query-via-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-via-metadata.d.ts","sourceRoot":"","sources":["../../src/tools/query-via-metadata.ts"],"names":[],"mappings":"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"}