@duckcodeailabs/dql-agent 1.14.0 → 1.14.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 (173) hide show
  1. package/dist/agent-run-engine.d.ts +68 -2
  2. package/dist/agent-run-engine.d.ts.map +1 -1
  3. package/dist/agent-run-engine.js +520 -26
  4. package/dist/agent-run-engine.js.map +1 -1
  5. package/dist/agent-run-gates.d.ts.map +1 -1
  6. package/dist/agent-run-gates.js +25 -0
  7. package/dist/agent-run-gates.js.map +1 -1
  8. package/dist/agentic/analyst-loop.d.ts +91 -0
  9. package/dist/agentic/analyst-loop.d.ts.map +1 -0
  10. package/dist/agentic/analyst-loop.js +331 -0
  11. package/dist/agentic/analyst-loop.js.map +1 -0
  12. package/dist/agentic/assumptions.d.ts +62 -0
  13. package/dist/agentic/assumptions.d.ts.map +1 -0
  14. package/dist/agentic/assumptions.js +73 -0
  15. package/dist/agentic/assumptions.js.map +1 -0
  16. package/dist/agentic/business-explanation.d.ts +56 -0
  17. package/dist/agentic/business-explanation.d.ts.map +1 -0
  18. package/dist/agentic/business-explanation.js +130 -0
  19. package/dist/agentic/business-explanation.js.map +1 -0
  20. package/dist/agentic/identifier-ledger.d.ts +74 -0
  21. package/dist/agentic/identifier-ledger.d.ts.map +1 -0
  22. package/dist/agentic/identifier-ledger.js +151 -0
  23. package/dist/agentic/identifier-ledger.js.map +1 -0
  24. package/dist/agentic/ledger-tools.d.ts +68 -0
  25. package/dist/agentic/ledger-tools.d.ts.map +1 -0
  26. package/dist/agentic/ledger-tools.js +198 -0
  27. package/dist/agentic/ledger-tools.js.map +1 -0
  28. package/dist/agentic/orchestrator-policy.d.ts +60 -0
  29. package/dist/agentic/orchestrator-policy.d.ts.map +1 -0
  30. package/dist/agentic/orchestrator-policy.js +73 -0
  31. package/dist/agentic/orchestrator-policy.js.map +1 -0
  32. package/dist/agentic/orchestrator.d.ts +54 -0
  33. package/dist/agentic/orchestrator.d.ts.map +1 -0
  34. package/dist/agentic/orchestrator.js +67 -0
  35. package/dist/agentic/orchestrator.js.map +1 -0
  36. package/dist/agentic/preview-tool.d.ts +36 -0
  37. package/dist/agentic/preview-tool.d.ts.map +1 -0
  38. package/dist/agentic/preview-tool.js +71 -0
  39. package/dist/agentic/preview-tool.js.map +1 -0
  40. package/dist/agentic/rerank.d.ts +50 -0
  41. package/dist/agentic/rerank.d.ts.map +1 -0
  42. package/dist/agentic/rerank.js +140 -0
  43. package/dist/agentic/rerank.js.map +1 -0
  44. package/dist/agentic/research/hypothesis.d.ts +110 -0
  45. package/dist/agentic/research/hypothesis.d.ts.map +1 -0
  46. package/dist/agentic/research/hypothesis.js +125 -0
  47. package/dist/agentic/research/hypothesis.js.map +1 -0
  48. package/dist/agentic/research/synthesis.d.ts +36 -0
  49. package/dist/agentic/research/synthesis.d.ts.map +1 -0
  50. package/dist/agentic/research/synthesis.js +109 -0
  51. package/dist/agentic/research/synthesis.js.map +1 -0
  52. package/dist/agentic/research-agent.d.ts +54 -0
  53. package/dist/agentic/research-agent.d.ts.map +1 -0
  54. package/dist/agentic/research-agent.js +177 -0
  55. package/dist/agentic/research-agent.js.map +1 -0
  56. package/dist/agentic/sql-authorization.d.ts +131 -0
  57. package/dist/agentic/sql-authorization.d.ts.map +1 -0
  58. package/dist/agentic/sql-authorization.js +460 -0
  59. package/dist/agentic/sql-authorization.js.map +1 -0
  60. package/dist/agentic/tool-loop.d.ts +29 -0
  61. package/dist/agentic/tool-loop.d.ts.map +1 -1
  62. package/dist/agentic/tool-loop.js +129 -52
  63. package/dist/agentic/tool-loop.js.map +1 -1
  64. package/dist/agentic/toolset.d.ts.map +1 -1
  65. package/dist/agentic/toolset.js +155 -0
  66. package/dist/agentic/toolset.js.map +1 -1
  67. package/dist/agentic/turn-plan.d.ts +35 -0
  68. package/dist/agentic/turn-plan.d.ts.map +1 -0
  69. package/dist/agentic/turn-plan.js +108 -0
  70. package/dist/agentic/turn-plan.js.map +1 -0
  71. package/dist/agentic/value-probe.d.ts +89 -0
  72. package/dist/agentic/value-probe.d.ts.map +1 -0
  73. package/dist/agentic/value-probe.js +304 -0
  74. package/dist/agentic/value-probe.js.map +1 -0
  75. package/dist/analytical-frame.d.ts.map +1 -1
  76. package/dist/analytical-frame.js +10 -1
  77. package/dist/analytical-frame.js.map +1 -1
  78. package/dist/analytical-orchestration.d.ts +382 -0
  79. package/dist/analytical-orchestration.d.ts.map +1 -1
  80. package/dist/analytical-orchestration.js +782 -6
  81. package/dist/analytical-orchestration.js.map +1 -1
  82. package/dist/analytical-request-policy.d.ts +26 -0
  83. package/dist/analytical-request-policy.d.ts.map +1 -0
  84. package/dist/analytical-request-policy.js +82 -0
  85. package/dist/analytical-request-policy.js.map +1 -0
  86. package/dist/analytical-result-facts.d.ts +13 -0
  87. package/dist/analytical-result-facts.d.ts.map +1 -1
  88. package/dist/analytical-result-facts.js +37 -1
  89. package/dist/analytical-result-facts.js.map +1 -1
  90. package/dist/answer-loop.d.ts +105 -16
  91. package/dist/answer-loop.d.ts.map +1 -1
  92. package/dist/answer-loop.js +833 -108
  93. package/dist/answer-loop.js.map +1 -1
  94. package/dist/answer-shape.d.ts +32 -1
  95. package/dist/answer-shape.d.ts.map +1 -1
  96. package/dist/answer-shape.js +49 -3
  97. package/dist/answer-shape.js.map +1 -1
  98. package/dist/cascade/budgets.d.ts.map +1 -1
  99. package/dist/cascade/budgets.js +8 -1
  100. package/dist/cascade/budgets.js.map +1 -1
  101. package/dist/cascade/packer.d.ts +88 -0
  102. package/dist/cascade/packer.d.ts.map +1 -0
  103. package/dist/cascade/packer.js +106 -0
  104. package/dist/cascade/packer.js.map +1 -0
  105. package/dist/conversation/result-ops.d.ts +18 -3
  106. package/dist/conversation/result-ops.d.ts.map +1 -1
  107. package/dist/conversation/result-ops.js +77 -5
  108. package/dist/conversation/result-ops.js.map +1 -1
  109. package/dist/conversation/rolling-summary.d.ts.map +1 -1
  110. package/dist/conversation/rolling-summary.js +7 -2
  111. package/dist/conversation/rolling-summary.js.map +1 -1
  112. package/dist/conversation/session-store.d.ts +3 -0
  113. package/dist/conversation/session-store.d.ts.map +1 -1
  114. package/dist/conversation/session-store.js +8 -4
  115. package/dist/conversation/session-store.js.map +1 -1
  116. package/dist/conversation/snapshot.d.ts +20 -0
  117. package/dist/conversation/snapshot.d.ts.map +1 -1
  118. package/dist/conversation/snapshot.js +40 -2
  119. package/dist/conversation/snapshot.js.map +1 -1
  120. package/dist/fixtures/ask-ai-office-shaped.d.ts +153 -0
  121. package/dist/fixtures/ask-ai-office-shaped.d.ts.map +1 -0
  122. package/dist/fixtures/ask-ai-office-shaped.js +94 -0
  123. package/dist/fixtures/ask-ai-office-shaped.js.map +1 -0
  124. package/dist/hints/store.d.ts.map +1 -1
  125. package/dist/hints/store.js +15 -5
  126. package/dist/hints/store.js.map +1 -1
  127. package/dist/index.d.ts +29 -9
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.js +29 -6
  130. package/dist/index.js.map +1 -1
  131. package/dist/intent-controller.d.ts +36 -0
  132. package/dist/intent-controller.d.ts.map +1 -1
  133. package/dist/intent-controller.js +95 -0
  134. package/dist/intent-controller.js.map +1 -1
  135. package/dist/meaning-resolution.d.ts +69 -2
  136. package/dist/meaning-resolution.d.ts.map +1 -1
  137. package/dist/meaning-resolution.js +128 -7
  138. package/dist/meaning-resolution.js.map +1 -1
  139. package/dist/metadata/analysis-planner.d.ts.map +1 -1
  140. package/dist/metadata/analysis-planner.js +124 -7
  141. package/dist/metadata/analysis-planner.js.map +1 -1
  142. package/dist/metadata/block-fit.d.ts +36 -0
  143. package/dist/metadata/block-fit.d.ts.map +1 -1
  144. package/dist/metadata/block-fit.js +290 -38
  145. package/dist/metadata/block-fit.js.map +1 -1
  146. package/dist/metadata/catalog.d.ts +20 -23
  147. package/dist/metadata/catalog.d.ts.map +1 -1
  148. package/dist/metadata/catalog.js +193 -22
  149. package/dist/metadata/catalog.js.map +1 -1
  150. package/dist/metadata/meaning-evidence.d.ts +10 -1
  151. package/dist/metadata/meaning-evidence.d.ts.map +1 -1
  152. package/dist/metadata/meaning-evidence.js +275 -53
  153. package/dist/metadata/meaning-evidence.js.map +1 -1
  154. package/dist/metadata/metric-match.d.ts +32 -0
  155. package/dist/metadata/metric-match.d.ts.map +1 -1
  156. package/dist/metadata/metric-match.js +120 -9
  157. package/dist/metadata/metric-match.js.map +1 -1
  158. package/dist/research-loop.d.ts +33 -2
  159. package/dist/research-loop.d.ts.map +1 -1
  160. package/dist/research-loop.js +66 -4
  161. package/dist/research-loop.js.map +1 -1
  162. package/dist/resolved-analytical-plan.d.ts +7 -0
  163. package/dist/resolved-analytical-plan.d.ts.map +1 -1
  164. package/dist/resolved-analytical-plan.js +11 -4
  165. package/dist/resolved-analytical-plan.js.map +1 -1
  166. package/dist/router.d.ts +32 -19
  167. package/dist/router.d.ts.map +1 -1
  168. package/dist/router.js +1977 -73
  169. package/dist/router.js.map +1 -1
  170. package/dist/semantic-bridge/member-select.d.ts.map +1 -1
  171. package/dist/semantic-bridge/member-select.js +39 -21
  172. package/dist/semantic-bridge/member-select.js.map +1 -1
  173. package/package.json +5 -5
@@ -5,6 +5,86 @@
5
5
  * package and may reference only IDs contained in it. Execution remains owned by
6
6
  * the host after it validates the selected candidates and route.
7
7
  */
8
+ import { buildAnalyticalRequirementSet, evidenceCandidateRoles, selectRoleBalancedMeaningCandidates, } from './analytical-orchestration.js';
9
+ /**
10
+ * Return the authored output identity that proves a certified block can answer
11
+ * one requested measure. This reads only the block's own `output:` facts,
12
+ * which are populated from declared/output-contract fields at indexing time.
13
+ * Block names, tags, examples, definitions, and unrelated retrieved metrics
14
+ * are intentionally absent: none of those is an executable output contract.
15
+ */
16
+ export function certifiedCandidateDeclaredMeasureOutput(candidate, requested) {
17
+ if (candidate.kind !== 'certified_block')
18
+ return undefined;
19
+ const requestedIdentity = canonicalCertifiedOutputMetricIdentity(requested);
20
+ if (!requestedIdentity)
21
+ return undefined;
22
+ const declared = (candidate.compatibilityFacts ?? [])
23
+ .flatMap((fact) => /^output:\s*(.+)$/i.exec(fact)?.[1] ?? [])
24
+ .map((output) => output.trim())
25
+ .filter(Boolean);
26
+ return declared.find((output) => canonicalCertifiedOutputMetricIdentity(output) === requestedIdentity);
27
+ }
28
+ /**
29
+ * A certified tier can freeze only when the selected block itself declares
30
+ * every requested measure. This is deliberately stricter than retrieval
31
+ * relevance: `top_customers` tagged with revenue but outputting only
32
+ * `lifetime_spend` is context, never a certified revenue answer.
33
+ */
34
+ export function certifiedCandidateExplicitlyCoversMeasures(candidate, requestedMeasures) {
35
+ if (candidate.kind !== 'certified_block')
36
+ return false;
37
+ const requested = [...new Set((requestedMeasures ?? [])
38
+ .map(canonicalCertifiedOutputMetricIdentity)
39
+ .filter(Boolean))];
40
+ const effectiveRequested = requested.length > 1
41
+ ? requested.filter((measure) => measure !== 'total' && measure !== 'average')
42
+ : requested;
43
+ return effectiveRequested.every((measure) => Boolean(certifiedCandidateDeclaredMeasureOutput(candidate, measure)));
44
+ }
45
+ /**
46
+ * Output identity deliberately has a much smaller alias surface than retrieval
47
+ * matching. Generic presentation modifiers are safe (gross/total/monthly
48
+ * revenue); business qualifiers are not (product revenue, beverage revenue,
49
+ * lifetime spend). This mirrors the certified fit gate and prevents a loosely
50
+ * correlated output from borrowing another metric's authority.
51
+ */
52
+ function canonicalCertifiedOutputMetricIdentity(value) {
53
+ const aliases = {
54
+ avg: 'average',
55
+ drink: 'beverage',
56
+ sale: 'revenue',
57
+ sales: 'revenue',
58
+ score: 'point',
59
+ scorer: 'point',
60
+ scoring: 'point',
61
+ sum: 'total',
62
+ };
63
+ const genericModifiers = new Set([
64
+ 'annual', 'average', 'current', 'daily', 'gross', 'monthly', 'net',
65
+ 'quarterly', 'total', 'yearly',
66
+ ]);
67
+ // A typed resolver may retain a qualified metric selection in
68
+ // queryIntent. Only its leaf is comparable to a block output; the namespace
69
+ // is authority metadata, not part of the returned column identity.
70
+ const outputLeaf = value.includes(':')
71
+ ? value.split(':').filter(Boolean).at(-1) ?? value
72
+ : value;
73
+ const tokens = outputLeaf
74
+ .toLowerCase()
75
+ .replace(/%/g, ' percentage ')
76
+ .replace(/[_./:-]+/g, ' ')
77
+ .replace(/[^a-z0-9 ]+/g, ' ')
78
+ .split(/\s+/)
79
+ .map((token) => aliases[token] ?? token)
80
+ .map((token) => token.endsWith('s') && token.length > 3 ? token.slice(0, -1) : token)
81
+ .filter(Boolean);
82
+ while (tokens.length > 1 && genericModifiers.has(tokens[0]))
83
+ tokens.shift();
84
+ while (tokens.length > 1 && genericModifiers.has(tokens.at(-1)))
85
+ tokens.pop();
86
+ return tokens.join('_');
87
+ }
8
88
  const TRUST_ORDER = {
9
89
  certified: 4,
10
90
  semantic: 3,
@@ -22,13 +102,35 @@ const COMPATIBILITY_ORDER = {
22
102
  * primary; trust is only a tie-breaker, so an unrelated certified block cannot
23
103
  * displace a materially better semantic match.
24
104
  */
25
- export function buildMeaningEvidencePackage(evidence, maxCandidates = 12) {
26
- const limit = Math.max(1, Math.min(20, Math.floor(maxCandidates)));
105
+ export function buildMeaningEvidencePackage(evidence, maxCandidates = 16, question = '') {
106
+ const limit = Math.max(1, Math.min(16, Math.floor(maxCandidates)));
27
107
  const perKindLimit = Math.max(2, Math.ceil(limit / 2));
28
- const kindCounts = new Map();
29
- return canonicalizeMetricMeasureCandidates(evidence.candidates)
108
+ const requirements = buildAnalyticalRequirementSet({ question, parsedIntent: evidence.parsedIntent });
109
+ // First reserve exact and required-role candidates from the FULL canonical
110
+ // set. Applying the same-kind cap first let eight high-scoring owner/sentiment
111
+ // dimensions erase the explicit revenue metric and Account Name before the
112
+ // role-aware admission code ever saw them.
113
+ const canonicalEligible = canonicalizeMetricMeasureCandidates(evidence.candidates)
30
114
  .filter((candidate) => candidate.eligible !== false)
31
- .sort(compareCandidates)
115
+ .sort(compareCandidates);
116
+ const rawPinned = selectRoleBalancedMeaningCandidates({
117
+ candidates: canonicalEligible,
118
+ requirements,
119
+ maxCandidates: limit,
120
+ pinOnly: true,
121
+ });
122
+ // Guard the fill and the pins themselves. A terse request for "accounts"
123
+ // must not retain Account Owner / Sentiment merely because a generic
124
+ // categorical-dimension parser also saw the token "account". An explicit
125
+ // attribute request remains eligible.
126
+ const requestedEntityDisplay = requirements.entityDisplayTerms.length > 0;
127
+ const explicitlyRequestsAttribute = /\b(?:owner|sentiment|email)\b/i.test(question);
128
+ const hasRawPinnedEntityLabel = rawPinned.some((candidate) => evidenceCandidateRoles(candidate).includes('entity_label'));
129
+ const pinned = requestedEntityDisplay && hasRawPinnedEntityLabel && !explicitlyRequestsAttribute
130
+ ? rawPinned.filter((candidate) => !/\b(?:owner|sentiment|email)\b/i.test(candidate.name))
131
+ : rawPinned;
132
+ const kindCounts = new Map();
133
+ const perKindQualified = canonicalEligible
32
134
  .filter((candidate) => {
33
135
  // Metric and member evidence share the semantic trust tier but serve
34
136
  // different binding lanes. Counting only by trust let several exact
@@ -40,7 +142,19 @@ export function buildMeaningEvidencePackage(evidence, maxCandidates = 12) {
40
142
  return false;
41
143
  kindCounts.set(candidate.kind, count + 1);
42
144
  return true;
43
- })
145
+ });
146
+ // Fill the remaining package under the kind cap without evicting a pin. The
147
+ // resolver still receives at most 16 cards and exactly one meaning call.
148
+ const hasPinnedEntityLabel = pinned.some((candidate) => evidenceCandidateRoles(candidate).includes('entity_label'));
149
+ const safeFill = perKindQualified.filter((candidate) => {
150
+ if (pinned.some((pin) => pin.id === candidate.id))
151
+ return false;
152
+ // An account owner/e-mail/sentiment is an attribute, never a substitute
153
+ // for the requested account/customer display entity. Do not let it consume
154
+ // the remaining meaning cards after that display role was successfully pinned.
155
+ return !hasPinnedEntityLabel || !/\b(?:owner|sentiment|email)\b/i.test(candidate.name);
156
+ });
157
+ return [...pinned, ...safeFill]
44
158
  .slice(0, limit);
45
159
  }
46
160
  /**
@@ -94,7 +208,7 @@ function normalizeRef(value) {
94
208
  return value.trim().toLowerCase().replace(/[`"']/g, "");
95
209
  }
96
210
  /** Validate that a resolver cannot invent or select ineligible evidence. */
97
- export function validateMeaningResolution(value, candidates) {
211
+ export function validateMeaningResolution(value, candidates, requestedMeasures = value.queryIntent.measures) {
98
212
  const byId = new Map(candidates.map((candidate) => [candidate.id, candidate]));
99
213
  const selectedConceptIds = value.selectedConceptIds.length > 0
100
214
  ? value.selectedConceptIds
@@ -132,6 +246,13 @@ export function validateMeaningResolution(value, candidates) {
132
246
  if (value.recommendedRoute === "certified" && execution.compatibility !== "compatible") {
133
247
  return { ok: false, reason: "A certified route requires a deterministically compatible block fit." };
134
248
  }
249
+ if (value.recommendedRoute === 'certified'
250
+ && !certifiedCandidateExplicitlyCoversMeasures(execution, requestedMeasures)) {
251
+ return {
252
+ ok: false,
253
+ reason: 'A certified route must declare every requested measure in the selected block output contract.',
254
+ };
255
+ }
135
256
  if (value.recommendedRoute === "semantic" && execution.kind !== "semantic_metric" && execution.kind !== "semantic_member") {
136
257
  return { ok: false, reason: "A semantic route must reference semantic evidence." };
137
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"meaning-resolution.js","sourceRoot":"","sources":["../src/meaning-resolution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meaning-resolution.js","sourceRoot":"","sources":["../src/meaning-resolution.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-planner.d.ts","sourceRoot":"","sources":["../../src/metadata/analysis-planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis-planner.d.ts","sourceRoot":"","sources":["../../src/metadata/analysis-planner.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { normalizeAnalyticalMeasureTerms } from '../analytical-orchestration.js';
1
2
  const STOP_WORDS = new Set([
2
3
  'about', 'after', 'again', 'against', 'all', 'also', 'and', 'answer', 'any', 'are', 'around',
3
4
  'based', 'before', 'between', 'build', 'can', 'complete', 'could', 'data', 'dataset', 'datasets',
@@ -13,6 +14,14 @@ const METRIC_WORDS = [
13
14
  'score', 'scorer', 'scoring', 'share', 'spend', 'stats',
14
15
  'statistics', 'tax', 'total', 'usage', 'value', 'volume',
15
16
  ];
17
+ // These words describe an aggregation operation, not a business measure. They
18
+ // remain useful to the result-shape/compiler stages, but must not compete with
19
+ // an authored metric identity during retrieval (for example, `total supply
20
+ // cost` is the `supply_cost` measure, not a `total` measure plus a `supply`
21
+ // dimension).
22
+ const AGGREGATION_OPERATOR_WORDS = new Set([
23
+ 'total', 'sum', 'average', 'avg', 'minimum', 'min', 'maximum', 'max',
24
+ ]);
16
25
  const DIMENSION_WORDS = [
17
26
  'account', 'category', 'channel', 'cohort', 'customer', 'department', 'entity', 'geo',
18
27
  'location', 'market', 'merchant', 'month', 'person', 'player', 'product', 'profile',
@@ -52,17 +61,32 @@ export function buildAnalysisQuestionPlan(question, followUp) {
52
61
  .replace(/@(?:metric|dimension|measure|entity|model|block|term)\(([^)]+)\)/gi, (_match, identity) => identity.split(/[.:]/).at(-1) ?? identity)
53
62
  .replace(/_/g, ' ');
54
63
  const lower = languageQuestion.toLowerCase();
64
+ const definitionArtifactReference = namedArtifactDefinitionReference(cleanQuestion);
55
65
  const entities = extractEntities(cleanQuestion);
56
66
  const valueMentions = extractValueMentions(entities);
57
- const metricTerms = resolveQuestionMetricTerms(lower, uniqueStrings([
67
+ const extractedMetricTerms = normalizeAnalyticalMeasureTerms(cleanQuestion, resolveQuestionMetricTerms(lower, uniqueStrings([
58
68
  ...extractQuotedAnalyticalIdentifiers(cleanQuestion),
59
69
  ...extractMetricTerms(languageQuestion),
60
- ]), extractFollowUpMetricTerms(followUp, lower));
61
- const extractedDimensionTerms = reconcileRankingRoles(languageQuestion, extractDimensionTerms(languageQuestion), metricTerms);
70
+ ]), extractFollowUpMetricTerms(followUp, lower)),
71
+ // The planner owns retrieval identity, not display formatting. A sticky
72
+ // prior measure can be a qualified metric identifier and must survive a
73
+ // measure-less refinement byte-for-byte; downstream scoring normalizes
74
+ // independently for lexical matching.
75
+ { preserveIdentity: true });
76
+ const extractedDimensionTerms = reconcileRankingRoles(languageQuestion, extractDimensionTerms(languageQuestion), extractedMetricTerms);
77
+ const typedAggregationRoles = normalizeTypedAggregationRoles(languageQuestion, extractedMetricTerms, extractedDimensionTerms);
78
+ // A named artifact-definition request explains the artifact; its own ID is
79
+ // not a requested query output. Keep the original words as retrieval terms
80
+ // below, but do not let an identifier such as `top_customers` manufacture a
81
+ // measure/dimension contract or trigger SQL execution.
82
+ const metricTerms = definitionArtifactReference ? [] : typedAggregationRoles.metricTerms;
83
+ const normalizedDimensionTerms = definitionArtifactReference ? [] : typedAggregationRoles.dimensionTerms;
62
84
  const filterTerms = extractFilterTerms(languageQuestion, entities);
63
85
  const timeTerms = extractTimeTerms(languageQuestion);
64
- const dimensionTerms = removeTemporalFilterDimensionTerms(languageQuestion, removeFilterOnlyDimensionTerms(languageQuestion, extractedDimensionTerms), timeTerms);
65
- const mode = inferQuestionMode({ question: cleanQuestion, lower, entities, metricTerms, dimensionTerms, followUp });
86
+ const dimensionTerms = removeTemporalFilterDimensionTerms(languageQuestion, removeFilterOnlyDimensionTerms(languageQuestion, normalizedDimensionTerms), timeTerms);
87
+ const mode = definitionArtifactReference
88
+ ? 'definition'
89
+ : inferQuestionMode({ question: cleanQuestion, lower, entities, metricTerms, dimensionTerms, followUp });
66
90
  const routeIntent = routeIntentForMode(mode);
67
91
  const outputShape = outputShapeForMode(mode, lower, dimensionTerms);
68
92
  // Certified capability matching is contract-first. An explicit analytical
@@ -71,7 +95,7 @@ export function buildAnalysisQuestionPlan(question, followUp) {
71
95
  const shouldConsiderCertifiedExact = certifiedExactIsPlausible(mode, entities);
72
96
  const needsGeneratedSql = generatedSqlIsLikely(mode, shouldConsiderCertifiedExact);
73
97
  const needsResearchWorkspace = researchWorkspaceIsLikely(mode, lower);
74
- const requestedShape = buildRequestedAnswerShape(cleanQuestion, {
98
+ const requestedShapeBase = buildRequestedAnswerShape(cleanQuestion, {
75
99
  lower,
76
100
  mode,
77
101
  metricTerms,
@@ -80,6 +104,12 @@ export function buildAnalysisQuestionPlan(question, followUp) {
80
104
  timeTerms,
81
105
  followUp,
82
106
  });
107
+ const requestedShape = definitionArtifactReference
108
+ ? {
109
+ ...requestedShapeBase,
110
+ requiredOutputs: requestedShapeBase.requiredOutputs.filter((output) => canonicalShapeTerm(output) !== definitionArtifactReference),
111
+ }
112
+ : requestedShapeBase;
83
113
  const searchTerms = uniqueStrings(uniqueStrings([
84
114
  ...tokenize(cleanQuestion),
85
115
  ...entities.flatMap((entity) => tokenize(entity.text)),
@@ -472,6 +502,87 @@ function isIdentifierLikeColumn(column) {
472
502
  function isMetricLikeColumn(column) {
473
503
  return /\b(revenue|sales|amount|price|spend|cost|total|count|score|points?|quantity|value|rate|volume)\b/i.test(column.replace(/_/g, ' '));
474
504
  }
505
+ /**
506
+ * Recognize only the explicit artifact-definition grammar. A bare analytical
507
+ * phrase such as "what does revenue mean" stays available to the ordinary
508
+ * definition/semantic path; this helper is for an authored artifact name and
509
+ * deliberately refuses query-shaped suffixes.
510
+ */
511
+ function namedArtifactDefinitionReference(question) {
512
+ const match = /^\s*what\s+does\s+(?:the\s+)?(.+?)\s+(?:measure|mean|define|represent)\s*[?.!]*\s*$/i.exec(question);
513
+ if (!match?.[1])
514
+ return undefined;
515
+ const originalSubject = match[1].trim();
516
+ if (/\b(?:by|per|for each|group(?:ed)? by|filter(?:ed)? by|top\s+\d+|show|list|compare)\b/i.test(originalSubject)) {
517
+ return undefined;
518
+ }
519
+ const subject = originalSubject
520
+ .replace(/\s+(?:certified\s+)?(?:block|metric|model|artifact|semantic\s+model)\s*$/i, '')
521
+ .trim();
522
+ if (!subject)
523
+ return undefined;
524
+ // Natural language can name an artifact with "block"/"metric", while an
525
+ // identifier is unambiguous on its own. Do not turn arbitrary prose into a
526
+ // no-SQL terminal merely because it uses "what does ... mean".
527
+ if (!/[_:./-]/.test(subject) && !/\b(?:block|metric|model|artifact)\b/i.test(originalSubject))
528
+ return undefined;
529
+ return canonicalShapeTerm(subject) || undefined;
530
+ }
531
+ /**
532
+ * Prefer the longest typed analytical span over its component words. This is
533
+ * extraction normalization only; the router still has to prove the selected
534
+ * physical fields and no relationship is inferred here.
535
+ */
536
+ function normalizeTypedAggregationRoles(question, metricTerms, dimensionTerms) {
537
+ const match = /\b(?:total|sum|average|avg|minimum|min|maximum|max)\s+([a-z][a-z0-9_ -]{1,60}?)\s+(?:per|by|for\s+each)\s+([a-z][a-z0-9_-]*)\b/i.exec(question);
538
+ if (!match?.[1] || !match[2]) {
539
+ return {
540
+ metricTerms,
541
+ dimensionTerms: preferLongestDimensionTerms(dimensionTerms),
542
+ };
543
+ }
544
+ const measure = canonicalShapeTerm(match[1]);
545
+ const dimension = canonicalShapeTerm(match[2]);
546
+ if (!measure || !dimension) {
547
+ return {
548
+ metricTerms,
549
+ dimensionTerms: preferLongestDimensionTerms(dimensionTerms),
550
+ };
551
+ }
552
+ const measureParts = new Set(measure.split('_').filter(Boolean));
553
+ const normalizedMetrics = metricTerms.map(canonicalShapeTerm).filter(Boolean);
554
+ const retainedMetrics = normalizedMetrics.filter((term) => term !== measure
555
+ && !AGGREGATION_OPERATOR_WORDS.has(term)
556
+ && term !== `total_${measure}`
557
+ && !measureParts.has(term));
558
+ const retainedDimensions = dimensionTerms
559
+ .map(canonicalShapeTerm)
560
+ .filter((term) => term && !measureParts.has(term));
561
+ return {
562
+ metricTerms: uniqueStrings([measure, ...retainedMetrics]).slice(0, 16),
563
+ dimensionTerms: preferLongestDimensionTerms(uniqueStrings([dimension, ...retainedDimensions])).slice(0, 16),
564
+ };
565
+ }
566
+ /** Remove generic component roles when an explicit compound role is present. */
567
+ function preferLongestDimensionTerms(terms) {
568
+ // Dimension roles are canonical identifiers, not display labels. Applying
569
+ // the same normalizer to both `product_category` and `product category`
570
+ // keeps parser variants from becoming two competing dimensions.
571
+ const normalized = uniqueStrings(terms.map(canonicalShapeTerm).filter(Boolean));
572
+ const ordered = [...normalized].sort((left, right) => right.split(/[_\s]+/).filter(Boolean).length - left.split(/[_\s]+/).filter(Boolean).length
573
+ || left.localeCompare(right));
574
+ const selected = [];
575
+ for (const candidate of ordered) {
576
+ const tokens = candidate.split(/[_\s]+/).filter(Boolean);
577
+ const coveredByLonger = selected.some((longer) => {
578
+ const longerTokens = new Set(longer.split(/[_\s]+/).filter(Boolean));
579
+ return tokens.length < longerTokens.size && tokens.every((token) => longerTokens.has(token));
580
+ });
581
+ if (!coveredByLonger)
582
+ selected.push(candidate);
583
+ }
584
+ return selected.sort((left, right) => normalized.indexOf(left) - normalized.indexOf(right));
585
+ }
475
586
  function inferQuestionMode(input) {
476
587
  const { lower } = input;
477
588
  // A relative measure predicate is not an ordinary entity drilldown. It asks for
@@ -690,6 +801,12 @@ function extractDimensionTerms(question) {
690
801
  const rankingByMeasure = /\b(?:top|bottom|highest|lowest|most|least|best|worst|rank(?:ed|ing)?)\b[^?.!,;]{0,80}\bby\s+/i.test(lower);
691
802
  if (/\b(?:cusomers?|custmers?|costomers?|clients?|buyers?)\b/i.test(lower))
692
803
  terms.add('customer');
804
+ // Preserve authored compound roles before the generic vocabulary contributes
805
+ // their component words. `product category` is one business dimension, not
806
+ // two independent groupings named product + category.
807
+ if (/\b(?:by|per|for\s+each|group(?:ed)?\s+by|split\s+by)\s+product\s+categor(?:y|ies)\b/i.test(lower)) {
808
+ terms.add('product_category');
809
+ }
693
810
  for (const word of DIMENSION_WORDS) {
694
811
  if (new RegExp(`\\b(?:${escapeRegExp(word)}|${escapeRegExp(pluralizeDimensionWord(word))})\\b`, 'i').test(lower))
695
812
  terms.add(normalizeTerm(word));
@@ -709,7 +826,7 @@ function extractDimensionTerms(question) {
709
826
  terms.add(normalized);
710
827
  }
711
828
  }
712
- return uniqueStrings([...terms]).slice(0, 16);
829
+ return preferLongestDimensionTerms([...terms]).slice(0, 16);
713
830
  }
714
831
  /**
715
832
  * In ranking grammar, `by <measure>` names the sort authority, while the noun