@duckcodeailabs/dql-agent 1.10.0 → 1.10.2

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 (86) hide show
  1. package/dist/agent-run-engine.d.ts.map +1 -1
  2. package/dist/agent-run-engine.js +6 -1
  3. package/dist/agent-run-engine.js.map +1 -1
  4. package/dist/analytical-compatibility.d.ts +61 -0
  5. package/dist/analytical-compatibility.d.ts.map +1 -0
  6. package/dist/analytical-compatibility.js +515 -0
  7. package/dist/analytical-compatibility.js.map +1 -0
  8. package/dist/analytical-execution-graph.d.ts +174 -0
  9. package/dist/analytical-execution-graph.d.ts.map +1 -0
  10. package/dist/analytical-execution-graph.js +599 -0
  11. package/dist/analytical-execution-graph.js.map +1 -0
  12. package/dist/analytical-failure-repair.d.ts +91 -0
  13. package/dist/analytical-failure-repair.d.ts.map +1 -0
  14. package/dist/analytical-failure-repair.js +325 -0
  15. package/dist/analytical-failure-repair.js.map +1 -0
  16. package/dist/analytical-frame.d.ts +19 -0
  17. package/dist/analytical-frame.d.ts.map +1 -0
  18. package/dist/analytical-frame.js +299 -0
  19. package/dist/analytical-frame.js.map +1 -0
  20. package/dist/analytical-period-resolution.d.ts +53 -0
  21. package/dist/analytical-period-resolution.d.ts.map +1 -0
  22. package/dist/analytical-period-resolution.js +218 -0
  23. package/dist/analytical-period-resolution.js.map +1 -0
  24. package/dist/analytical-readiness.d.ts +17 -0
  25. package/dist/analytical-readiness.d.ts.map +1 -0
  26. package/dist/analytical-readiness.js +95 -0
  27. package/dist/analytical-readiness.js.map +1 -0
  28. package/dist/analytical-result-facts.d.ts +79 -0
  29. package/dist/analytical-result-facts.d.ts.map +1 -0
  30. package/dist/analytical-result-facts.js +301 -0
  31. package/dist/analytical-result-facts.js.map +1 -0
  32. package/dist/answer-loop.d.ts +51 -4
  33. package/dist/answer-loop.d.ts.map +1 -1
  34. package/dist/answer-loop.js +866 -35
  35. package/dist/answer-loop.js.map +1 -1
  36. package/dist/governed-relational-compiler.d.ts +51 -0
  37. package/dist/governed-relational-compiler.d.ts.map +1 -1
  38. package/dist/governed-relational-compiler.js +144 -1
  39. package/dist/governed-relational-compiler.js.map +1 -1
  40. package/dist/index.d.ts +16 -4
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +9 -2
  43. package/dist/index.js.map +1 -1
  44. package/dist/kg/build.d.ts +2 -2
  45. package/dist/kg/build.d.ts.map +1 -1
  46. package/dist/kg/build.js +270 -13
  47. package/dist/kg/build.js.map +1 -1
  48. package/dist/meaning-resolution.d.ts +13 -0
  49. package/dist/meaning-resolution.d.ts.map +1 -1
  50. package/dist/meaning-resolution.js +69 -0
  51. package/dist/meaning-resolution.js.map +1 -1
  52. package/dist/metadata/analysis-planner.js +3 -1
  53. package/dist/metadata/analysis-planner.js.map +1 -1
  54. package/dist/metadata/catalog.d.ts +4 -2
  55. package/dist/metadata/catalog.d.ts.map +1 -1
  56. package/dist/metadata/catalog.js +264 -9
  57. package/dist/metadata/catalog.js.map +1 -1
  58. package/dist/metadata/meaning-evidence.d.ts +9 -2
  59. package/dist/metadata/meaning-evidence.d.ts.map +1 -1
  60. package/dist/metadata/meaning-evidence.js +105 -7
  61. package/dist/metadata/meaning-evidence.js.map +1 -1
  62. package/dist/plan-execution-adapter.d.ts +72 -1
  63. package/dist/plan-execution-adapter.d.ts.map +1 -1
  64. package/dist/plan-execution-adapter.js +208 -0
  65. package/dist/plan-execution-adapter.js.map +1 -1
  66. package/dist/resolved-analytical-plan.d.ts +14 -3
  67. package/dist/resolved-analytical-plan.d.ts.map +1 -1
  68. package/dist/resolved-analytical-plan.js +74 -20
  69. package/dist/resolved-analytical-plan.js.map +1 -1
  70. package/dist/router.d.ts +1 -1
  71. package/dist/router.d.ts.map +1 -1
  72. package/dist/router.js +167 -21
  73. package/dist/router.js.map +1 -1
  74. package/dist/semantic-bridge/compose.d.ts +1 -1
  75. package/dist/semantic-bridge/compose.d.ts.map +1 -1
  76. package/dist/semantic-bridge/compose.js +27 -5
  77. package/dist/semantic-bridge/compose.js.map +1 -1
  78. package/dist/semantic-bridge/member-select.d.ts +1 -1
  79. package/dist/semantic-bridge/member-select.d.ts.map +1 -1
  80. package/dist/semantic-bridge/member-select.js +32 -12
  81. package/dist/semantic-bridge/member-select.js.map +1 -1
  82. package/dist/skills/loader.d.ts +17 -0
  83. package/dist/skills/loader.d.ts.map +1 -1
  84. package/dist/skills/loader.js +62 -4
  85. package/dist/skills/loader.js.map +1 -1
  86. package/package.json +4 -4
package/dist/router.js CHANGED
@@ -16,7 +16,10 @@
16
16
  */
17
17
  import { classifyConversationalTurn, decideAgentAction, } from "./intent-controller.js";
18
18
  import { buildMeaningEvidencePackage, defaultQueryIntent, findExplicitEvidenceReference, questionTypeFromText, routeForEvidenceCandidate, validateMeaningResolution, } from "./meaning-resolution.js";
19
- import { buildResolvedAnalyticalPlan } from './resolved-analytical-plan.js';
19
+ import { normalizeAnalyticalQuestionFrameV2 } from "@duckcodeailabs/dql-core";
20
+ import { buildResolvedAnalyticalPlan, } from "./resolved-analytical-plan.js";
21
+ import { normalizeEvidenceAnalyticalCapability, solveAnalyticalCompatibility, } from "./analytical-compatibility.js";
22
+ import { buildDeterministicAnalyticalFrame } from "./analytical-frame.js";
20
23
  const DEFAULT_THRESHOLD = 0.7;
21
24
  const DEFAULT_CACHE_SIZE = 200;
22
25
  const DEFAULT_CACHE_TTL_MS = 10 * 60 * 1000;
@@ -188,7 +191,8 @@ function buildMeaningSystemPrompt() {
188
191
  "You may reference ONLY candidate IDs supplied below. Never invent an ID, table, column, metric, relationship, or filter value.",
189
192
  "Use low confidence and recommend clarify when material business meanings remain unresolved.",
190
193
  "Respond with ONLY one JSON object matching this shape:",
191
- '{"interpretedQuestion":string,"questionType":"definition"|"value"|"ranking"|"trend"|"comparison"|"diagnosis"|"research","selectedConceptIds":string[],"recommendedExecutionId"?:string,"queryIntent":{"measures":string[],"dimensions":string[],"filters":[{"field":string,"value":string}],"timeRange"?:string,"timeGrain"?:string,"order"?:"asc"|"desc","limit"?:number},"rejectedCandidates":[{"id":string,"reason":string}],"confidence":"high"|"medium"|"low","missingInformation":string[],"recommendedRoute":"certified"|"semantic"|"governed_sql"|"exploratory"|"clarify","clarifyingQuestion"?:string}',
194
+ '{"interpretedQuestion":string,"questionType":"definition"|"value"|"ranking"|"trend"|"comparison"|"diagnosis"|"research","selectedConceptIds":string[],"recommendedExecutionId"?:string,"queryIntent":{"measures":string[],"dimensions":string[],"filters":[{"field":string,"value":string}],"timeRange"?:string,"timeGrain"?:string,"order"?:"asc"|"desc","limit"?:number},"analyticalFrame"?:AnalyticalQuestionFrameV2,"rejectedCandidates":[{"id":string,"reason":string}],"confidence":"high"|"medium"|"low","missingInformation":string[],"recommendedRoute":"certified"|"semantic"|"governed_sql"|"exploratory"|"clarify","clarifyingQuestion"?:string}',
195
+ "AnalyticalQuestionFrameV2 uses version 2 and exact supplied IDs for metricConceptIds, entityGrainIds, dimensions with roles group_by/filter/display/rank_entity/time_axis, memberBindings, timeContext with bounded periods, comparison, ranking, requestedOutputs, and ambiguity. Include it for value/ranking/trend/comparison requests when the supplied capability facts are sufficient; otherwise report missingInformation.",
192
196
  ].join("\n");
193
197
  }
194
198
  function buildMeaningUserPrompt(request, evidence, candidates) {
@@ -213,6 +217,7 @@ function buildMeaningUserPrompt(request, evidence, candidates) {
213
217
  matchReasons: compactArray(candidate.matchReasons, 8, 240),
214
218
  compatibility: candidate.compatibility,
215
219
  compatibilityFacts: compactArray(candidate.compatibilityFacts, 8, 240),
220
+ analyticalCapability: candidate.analyticalCapability,
216
221
  }));
217
222
  const lines = [
218
223
  `Question: ${compactText(request.question, 2_000)}`,
@@ -302,9 +307,15 @@ function parseMeaningResolution(raw) {
302
307
  const recommendedExecutionId = typeof record.recommendedExecutionId === "string"
303
308
  ? record.recommendedExecutionId
304
309
  : undefined;
305
- const clarifyingQuestion = typeof record.clarifyingQuestion === "string" && record.clarifyingQuestion.trim()
310
+ const clarifyingQuestion = typeof record.clarifyingQuestion === "string" &&
311
+ record.clarifyingQuestion.trim()
306
312
  ? record.clarifyingQuestion.trim()
307
313
  : undefined;
314
+ const analyticalFrame = record.analyticalFrame === undefined
315
+ ? undefined
316
+ : normalizeAnalyticalQuestionFrameV2(record.analyticalFrame);
317
+ if (record.analyticalFrame !== undefined && !analyticalFrame)
318
+ return undefined;
308
319
  return {
309
320
  interpretedQuestion: record.interpretedQuestion.trim(),
310
321
  questionType: record.questionType,
@@ -326,6 +337,7 @@ function parseMeaningResolution(raw) {
326
337
  missingInformation,
327
338
  recommendedRoute: record.recommendedRoute,
328
339
  ...(clarifyingQuestion ? { clarifyingQuestion } : {}),
340
+ ...(analyticalFrame ? { analyticalFrame } : {}),
329
341
  };
330
342
  }
331
343
  function stringArray(value) {
@@ -351,39 +363,108 @@ function retrievalTrace(evidence, candidates) {
351
363
  };
352
364
  }
353
365
  function routeDecisionForResolution(base, evidence, candidates, resolution, source, question = resolution.interpretedQuestion, mode = 'authoritative') {
354
- const needsClarification = resolution.confidence === "low" || resolution.recommendedRoute === "clarify";
355
- const analytical = resolution.questionType === "diagnosis" || resolution.questionType === "research";
366
+ const routedResolution = enforceAnalyticalCompatibility(resolution, evidence, candidates);
367
+ const needsClarification = routedResolution.confidence === "low" ||
368
+ routedResolution.recommendedRoute === "clarify";
369
+ const analytical = routedResolution.questionType === "diagnosis" ||
370
+ routedResolution.questionType === "research";
356
371
  const reason = needsClarification
357
- ? `The retrieved evidence supports multiple business meanings: ${resolution.interpretedQuestion}`
358
- : `Resolved the question against ${resolution.selectedConceptIds.join(", ")}: ${resolution.interpretedQuestion}`;
372
+ ? `The retrieved evidence does not prove one complete analytical tuple: ${routedResolution.missingInformation.join(" ") || routedResolution.interpretedQuestion}`
373
+ : `Resolved the question against ${routedResolution.selectedConceptIds.join(", ")}: ${routedResolution.interpretedQuestion}`;
359
374
  const resolvedAnalyticalPlan = buildResolvedAnalyticalPlan({
360
375
  question,
361
- resolution,
376
+ resolution: routedResolution,
362
377
  evidence,
363
378
  candidates,
364
379
  mode,
365
380
  });
366
381
  return {
367
382
  ...base,
368
- action: needsClarification ? "clarify" : analytical ? "investigate" : "answer",
369
- confidence: resolution.confidence === "high" ? 0.9 : resolution.confidence === "medium" ? 0.72 : 0.45,
383
+ action: needsClarification
384
+ ? "clarify"
385
+ : analytical
386
+ ? "investigate"
387
+ : "answer",
388
+ confidence: routedResolution.confidence === "high"
389
+ ? 0.9
390
+ : routedResolution.confidence === "medium"
391
+ ? 0.72
392
+ : 0.45,
370
393
  reason,
371
394
  source,
372
395
  category: analytical ? "data_analysis" : needsClarification ? "unclear" : "data_lookup",
373
396
  depth: analytical ? "deep" : "quick",
374
- meaningResolution: resolution,
397
+ meaningResolution: routedResolution,
375
398
  resolvedAnalyticalPlan,
376
399
  retrievalEvidence: retrievalTrace(evidence, candidates),
377
400
  requiresClarification: needsClarification,
378
- ...(needsClarification ? { clarificationOptions: buildClarificationOptions(candidates) } : {}),
379
401
  ...(needsClarification
380
- ? { clarifyingQuestion: resolution.clarifyingQuestion ?? buildEvidenceClarification(candidates, resolution.missingInformation) }
402
+ ? { clarificationOptions: buildClarificationOptions(candidates) }
403
+ : {}),
404
+ ...(needsClarification
405
+ ? {
406
+ clarifyingQuestion: routedResolution.clarifyingQuestion ??
407
+ buildEvidenceClarification(candidates, routedResolution.missingInformation),
408
+ }
381
409
  : {}),
382
410
  };
383
411
  }
412
+ function enforceAnalyticalCompatibility(resolution, evidence, candidates) {
413
+ if (!resolution.analyticalFrame)
414
+ return resolution;
415
+ const capabilityCandidates = candidates.flatMap((candidate) => {
416
+ const normalized = normalizeEvidenceAnalyticalCapability(candidate);
417
+ return normalized.status === "complete" && normalized.capability
418
+ ? [
419
+ {
420
+ candidateId: candidate.id,
421
+ capability: normalized.capability,
422
+ fitClass: candidate.kind === "certified_block"
423
+ ? (candidate.analyticalFitClass ?? "parameterized")
424
+ : "exact",
425
+ },
426
+ ]
427
+ : [];
428
+ });
429
+ const result = solveAnalyticalCompatibility({
430
+ frame: resolution.analyticalFrame,
431
+ candidates: capabilityCandidates,
432
+ policies: evidence.analyticalPolicies,
433
+ });
434
+ if (result.status === "ready") {
435
+ const metricEvidence = candidates.find((candidate) => candidate.kind === "semantic_metric" &&
436
+ candidate.analyticalCapability?.metricId === result.capability.metricId);
437
+ return {
438
+ ...resolution,
439
+ analyticalFrame: result.frame,
440
+ analyticalPolicyIds: result.policyIds,
441
+ ...(metricEvidence ? { selectedConceptIds: [metricEvidence.id] } : {}),
442
+ recommendedExecutionId: result.candidateId,
443
+ recommendedRoute: result.route,
444
+ missingInformation: [],
445
+ };
446
+ }
447
+ const failures = result.failures.map((failure) => failure.message);
448
+ return {
449
+ ...resolution,
450
+ analyticalFrame: result.frame,
451
+ analyticalPolicyIds: result.policyIds,
452
+ confidence: result.status === "clarify" ? "low" : resolution.confidence,
453
+ recommendedRoute: "clarify",
454
+ missingInformation: [
455
+ ...new Set([...resolution.missingInformation, ...failures]),
456
+ ],
457
+ clarifyingQuestion: result.status === "clarify"
458
+ ? result.failure.message
459
+ : (failures[0] ??
460
+ "The requested analytical tuple is not executable from the current governed model."),
461
+ };
462
+ }
384
463
  function buildClarificationOptions(candidates) {
385
- const governed = candidates.filter((candidate) => candidate.compatibility !== "incompatible"
386
- && (candidate.kind === "certified_block" || candidate.kind === "semantic_metric" || candidate.kind === "semantic_member"));
464
+ const governed = candidates.filter((candidate) => candidate.compatibility !== "incompatible" &&
465
+ (candidate.kind === "certified_block" ||
466
+ candidate.kind === "semantic_metric" ||
467
+ candidate.kind === "semantic_member"));
387
468
  const pool = governed.length > 1
388
469
  ? governed
389
470
  : candidates.filter((candidate) => candidate.compatibility !== "incompatible");
@@ -410,7 +491,13 @@ function buildEvidenceClarification(candidates, missing = []) {
410
491
  return `I found relevant governed context, but need ${missing.join(" and ")}. What should I use?`;
411
492
  return "Which governed business meaning should I use for this question?";
412
493
  }
413
- function directResolution(request, evidence, candidate) {
494
+ function directResolution(request, evidence, candidate, candidates) {
495
+ const analyticalFrame = buildDeterministicAnalyticalFrame({
496
+ question: request.question,
497
+ evidence,
498
+ metricCandidate: candidate,
499
+ candidates,
500
+ });
414
501
  return {
415
502
  interpretedQuestion: request.question,
416
503
  questionType: questionTypeFromText(request.question),
@@ -421,12 +508,18 @@ function directResolution(request, evidence, candidate) {
421
508
  confidence: "high",
422
509
  missingInformation: [],
423
510
  recommendedRoute: routeForEvidenceCandidate(candidate),
511
+ ...(analyticalFrame ? { analyticalFrame } : {}),
424
512
  };
425
513
  }
426
514
  function routeWithoutMeaningModel(request, base, evidence, candidates, planMode = 'authoritative') {
427
515
  const exactCompatible = candidates.filter((candidate) => candidate.exactMatch && candidate.compatibility !== "incompatible");
428
- if (exactCompatible.length === 1 && !hasMateriallyRelatedCompetitor(exactCompatible[0], candidates)) {
429
- return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, exactCompatible[0]), "heuristic", request.question, planMode);
516
+ if (exactCompatible.length === 1 &&
517
+ !hasMateriallyRelatedCompetitor(exactCompatible[0], candidates)) {
518
+ return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, exactCompatible[0], candidates), "heuristic", request.question, planMode);
519
+ }
520
+ const semanticMetric = uniqueExecutableSemanticMetric(evidence, candidates);
521
+ if (semanticMetric) {
522
+ return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, semanticMetric, candidates), "heuristic", request.question, planMode);
430
523
  }
431
524
  if (base.action === "investigate") {
432
525
  return {
@@ -444,6 +537,59 @@ function routeWithoutMeaningModel(request, base, evidence, candidates, planMode
444
537
  retrievalEvidence: retrievalTrace(evidence, candidates),
445
538
  };
446
539
  }
540
+ /**
541
+ * AGT-017 / AGT-018 / PERF-002 — provider failure must not send an otherwise
542
+ * unambiguous semantic question back through the legacy answer cascade. A dbt
543
+ * semantic snapshot can expose one authored metric alongside three technical
544
+ * representations of the same calculation: its backing measure, a
545
+ * measure-derived metric execution shim, and a canonical registry alias. Only
546
+ * complete authored metric capabilities count as business meanings here.
547
+ *
548
+ * This is a fallback, not a general lexical winner: all surviving authored
549
+ * metrics must normalize to one stable metric identity, be compatible with the
550
+ * requested tuple, and match the planner's requested measure terms. Two real
551
+ * metrics therefore remain ambiguous and continue to clarification/resolution.
552
+ */
553
+ function uniqueExecutableSemanticMetric(evidence, candidates) {
554
+ const requestedTokens = metricTokens(evidence.parsedIntent?.measures ?? []);
555
+ if (requestedTokens.size === 0)
556
+ return undefined;
557
+ const byMetricId = new Map();
558
+ for (const candidate of candidates) {
559
+ if (candidate.kind !== "semantic_metric" || candidate.compatibility !== "compatible")
560
+ continue;
561
+ if (/\bdbt\s+measure\b/i.test(candidate.provenance ?? ""))
562
+ continue;
563
+ const normalized = normalizeEvidenceAnalyticalCapability(candidate);
564
+ if (normalized.status !== "complete" || !normalized.capability)
565
+ continue;
566
+ const candidateTokens = metricTokens([
567
+ candidate.name,
568
+ ...(candidate.aliases ?? []),
569
+ normalized.capability.metricId,
570
+ ]);
571
+ if (![...requestedTokens].some((token) => candidateTokens.has(token)))
572
+ continue;
573
+ const current = byMetricId.get(normalized.capability.metricId);
574
+ if (!current || candidate.relevanceScore > current.relevanceScore) {
575
+ byMetricId.set(normalized.capability.metricId, candidate);
576
+ }
577
+ }
578
+ return byMetricId.size === 1 ? [...byMetricId.values()][0] : undefined;
579
+ }
580
+ function metricTokens(values) {
581
+ const ignored = new Set([
582
+ "a", "an", "and", "as", "at", "by", "current", "for", "from", "is",
583
+ "last", "measure", "metric", "of", "on", "show", "the", "this", "today",
584
+ "top", "total", "value", "what", "year",
585
+ ]);
586
+ return new Set(values
587
+ .join(" ")
588
+ .toLowerCase()
589
+ .replace(/[^a-z0-9]+/g, " ")
590
+ .split(/\s+/)
591
+ .filter((token) => token.length >= 2 && !ignored.has(token)));
592
+ }
447
593
  function hasMateriallyRelatedCompetitor(exact, candidates) {
448
594
  const floor = Math.max(0.55, exact.relevanceScore - 0.2);
449
595
  return candidates.some((candidate) => candidate.id !== exact.id
@@ -578,15 +724,15 @@ export function createHybridRouter(options = {}) {
578
724
  if (candidates.length > 0) {
579
725
  const explicit = selectedEvidence ?? findExplicitEvidenceReference(request.question, candidates);
580
726
  if (explicit && explicit.compatibility !== "incompatible") {
581
- return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, explicit), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
727
+ return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, explicit, candidates), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
582
728
  }
583
729
  const exactCompatible = candidates.filter((candidate) => candidate.exactMatch && candidate.compatibility !== "incompatible");
584
730
  if (exactCompatible.length === 1 && !hasMateriallyRelatedCompetitor(exactCompatible[0], candidates)) {
585
- return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, exactCompatible[0]), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
731
+ return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, exactCompatible[0], candidates), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
586
732
  }
587
733
  const dominant = dominantCompatibleGovernedCandidate(candidates);
588
734
  if (dominant) {
589
- return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, dominant), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
735
+ return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, dominant, candidates), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
590
736
  }
591
737
  if (shouldDeferCompositionalFollowUpToExecutor(base, candidates)) {
592
738
  return routeWithoutMeaningModel(request, base, evidence, candidates, options.resolvedPlanMode ?? 'authoritative');
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ComposeQueryResult, DqlArtifactReference, SemanticLayer } from '@duckcodeailabs/dql-core';
1
+ import { type ComposeQueryResult, type DqlArtifactReference, type SemanticLayer } from '@duckcodeailabs/dql-core';
2
2
  import type { KGNode } from '../kg/types.js';
3
3
  import type { AnalysisQuestionPlan } from '../metadata/analysis-planner.js';
4
4
  export interface SemanticBridgeFilter {
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/semantic-bridge/compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/semantic-bridge/compose.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { semanticDimensionReference, } from '@duckcodeailabs/dql-core';
1
2
  export function composeSemanticQueryForQuestion(input) {
2
3
  if (input.questionPlan.requestedShape.topN?.scope === 'per_group')
3
4
  return undefined;
@@ -14,7 +15,7 @@ export function composeSemanticQueryForQuestion(input) {
14
15
  if (!primaryMetric)
15
16
  return undefined;
16
17
  const timeDimension = selectTimeDimension(input.semanticLayer, input.question, input.questionPlan);
17
- const allDimensions = input.semanticLayer.listDimensions();
18
+ const allDimensions = input.semanticLayer.listDimensions(undefined, { includeVariants: true });
18
19
  const dimensionSelection = selectDimensions(allDimensions, input.questionPlan, timeDimension?.name);
19
20
  const dimensions = dimensionSelection.dimensions;
20
21
  const relativeComparison = entityRelativeComparisonSpec(input, allDimensions, dimensions);
@@ -157,18 +158,39 @@ function resolveSemanticMemberSelection(semanticLayer, selection) {
157
158
  .filter((metric) => Boolean(metric));
158
159
  if (metrics.length === 0)
159
160
  return undefined;
160
- const dimensionNames = new Set(semanticLayer.listDimensions().map((dimension) => dimension.name.toLowerCase()));
161
+ const selectedMetricNames = metrics.map((metric) => metric.name);
161
162
  const dimensions = uniqueStrings(selection.dimensions ?? [])
162
- .map((name) => semanticLayer.listDimensions().find((dimension) => dimension.name.toLowerCase() === name.toLowerCase())?.name)
163
- .filter((name) => Boolean(name));
163
+ .map((name) => resolveSelectedDimension(semanticLayer, name, selectedMetricNames))
164
+ .filter((dimension) => Boolean(dimension))
165
+ .map(semanticDimensionReference);
166
+ const dimensionNames = new Set(semanticLayer.listDimensions(undefined, { includeVariants: true }).flatMap((dimension) => [
167
+ dimension.name.toLowerCase(),
168
+ semanticDimensionReference(dimension).toLowerCase(),
169
+ dimension.qualifiedName?.toLowerCase(),
170
+ ].filter((value) => Boolean(value))));
164
171
  // A hallucinated dimension is a hard miss — refuse rather than silently drop it.
165
172
  if ((selection.dimensions ?? []).some((name) => !dimensionNames.has(name.toLowerCase())))
166
173
  return undefined;
167
- const filters = (selection.filters ?? []).filter((filter) => dimensionNames.has(filter.dimension.toLowerCase()));
174
+ const filters = (selection.filters ?? []).flatMap((filter) => {
175
+ const dimension = resolveSelectedDimension(semanticLayer, filter.dimension, selectedMetricNames);
176
+ return dimension ? [{ ...filter, dimension: semanticDimensionReference(dimension) }] : [];
177
+ });
168
178
  if ((selection.filters ?? []).length > 0 && filters.length === 0)
169
179
  return undefined;
170
180
  return { metrics, dimensions, filters };
171
181
  }
182
+ function resolveSelectedDimension(semanticLayer, reference, metrics) {
183
+ if (typeof semanticLayer.resolveDimension === 'function') {
184
+ return semanticLayer.resolveDimension(reference, metrics);
185
+ }
186
+ // Compatibility for test/dry-run adapters implementing the older minimal
187
+ // SemanticLayer surface. Production layers always use the metric-aware core
188
+ // resolver above.
189
+ const normalized = reference.toLowerCase();
190
+ return semanticLayer.listDimensions().find((dimension) => dimension.name.toLowerCase() === normalized
191
+ || semanticDimensionReference(dimension).toLowerCase() === normalized
192
+ || dimension.qualifiedName?.toLowerCase() === normalized);
193
+ }
172
194
  function requiresEntityRelativeMeasureComparison(question) {
173
195
  return /\b(?:less|lower|fewer|more|higher|greater)\b[^?.!]{0,80}\bthan\b\s+[a-z0-9@._'-]+/i.test(question)
174
196
  || /\b(?:below|under|above|over)\b\s+that\s+of\s+[a-z0-9@._'-]+/i.test(question);