@duckcodeailabs/dql-agent 1.6.34 → 1.7.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 (90) hide show
  1. package/dist/agent-run-engine.d.ts +14 -1
  2. package/dist/agent-run-engine.d.ts.map +1 -1
  3. package/dist/agent-run-engine.js +123 -3
  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 +6 -0
  7. package/dist/agent-run-gates.js.map +1 -1
  8. package/dist/answer-loop.d.ts +57 -4
  9. package/dist/answer-loop.d.ts.map +1 -1
  10. package/dist/answer-loop.js +435 -44
  11. package/dist/answer-loop.js.map +1 -1
  12. package/dist/app-builder.d.ts.map +1 -1
  13. package/dist/app-builder.js +18 -10
  14. package/dist/app-builder.js.map +1 -1
  15. package/dist/cascade/budgets.d.ts.map +1 -1
  16. package/dist/cascade/budgets.js +8 -3
  17. package/dist/cascade/budgets.js.map +1 -1
  18. package/dist/cascade/route-policy.d.ts.map +1 -1
  19. package/dist/cascade/route-policy.js +5 -0
  20. package/dist/cascade/route-policy.js.map +1 -1
  21. package/dist/domain-context.d.ts +30 -0
  22. package/dist/domain-context.d.ts.map +1 -0
  23. package/dist/domain-context.js +68 -0
  24. package/dist/domain-context.js.map +1 -0
  25. package/dist/hints/git-store.d.ts +39 -3
  26. package/dist/hints/git-store.d.ts.map +1 -1
  27. package/dist/hints/git-store.js +172 -2
  28. package/dist/hints/git-store.js.map +1 -1
  29. package/dist/hints/types.d.ts +41 -0
  30. package/dist/hints/types.d.ts.map +1 -1
  31. package/dist/hints/types.js +1 -0
  32. package/dist/hints/types.js.map +1 -1
  33. package/dist/index.d.ts +7 -4
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +37 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/kg/build.d.ts.map +1 -1
  38. package/dist/kg/build.js +196 -4
  39. package/dist/kg/build.js.map +1 -1
  40. package/dist/kg/sqlite-fts.d.ts.map +1 -1
  41. package/dist/kg/sqlite-fts.js +8 -3
  42. package/dist/kg/sqlite-fts.js.map +1 -1
  43. package/dist/kg/types.d.ts +9 -2
  44. package/dist/kg/types.d.ts.map +1 -1
  45. package/dist/metadata/analysis-planner.d.ts.map +1 -1
  46. package/dist/metadata/analysis-planner.js +134 -18
  47. package/dist/metadata/analysis-planner.js.map +1 -1
  48. package/dist/metadata/analytical-policy.d.ts +51 -0
  49. package/dist/metadata/analytical-policy.d.ts.map +1 -0
  50. package/dist/metadata/analytical-policy.js +309 -0
  51. package/dist/metadata/analytical-policy.js.map +1 -0
  52. package/dist/metadata/block-fit.js +37 -4
  53. package/dist/metadata/block-fit.js.map +1 -1
  54. package/dist/metadata/catalog.d.ts +46 -1
  55. package/dist/metadata/catalog.d.ts.map +1 -1
  56. package/dist/metadata/catalog.js +313 -51
  57. package/dist/metadata/catalog.js.map +1 -1
  58. package/dist/metadata/dbt-first-safety.d.ts +19 -0
  59. package/dist/metadata/dbt-first-safety.d.ts.map +1 -0
  60. package/dist/metadata/dbt-first-safety.js +17 -0
  61. package/dist/metadata/dbt-first-safety.js.map +1 -0
  62. package/dist/metadata/sql-context-validation.d.ts.map +1 -1
  63. package/dist/metadata/sql-context-validation.js +42 -2
  64. package/dist/metadata/sql-context-validation.js.map +1 -1
  65. package/dist/metadata/sql-grounding.d.ts.map +1 -1
  66. package/dist/metadata/sql-grounding.js +25 -2
  67. package/dist/metadata/sql-grounding.js.map +1 -1
  68. package/dist/metadata/sql-retrieval.d.ts +2 -0
  69. package/dist/metadata/sql-retrieval.d.ts.map +1 -1
  70. package/dist/metadata/sql-retrieval.js +5 -1
  71. package/dist/metadata/sql-retrieval.js.map +1 -1
  72. package/dist/propose/build-from-prompt.d.ts +34 -0
  73. package/dist/propose/build-from-prompt.d.ts.map +1 -1
  74. package/dist/propose/build-from-prompt.js +199 -19
  75. package/dist/propose/build-from-prompt.js.map +1 -1
  76. package/dist/semantic-bridge/compose.d.ts.map +1 -1
  77. package/dist/semantic-bridge/compose.js +169 -5
  78. package/dist/semantic-bridge/compose.js.map +1 -1
  79. package/dist/skills/loader.d.ts +10 -0
  80. package/dist/skills/loader.d.ts.map +1 -1
  81. package/dist/skills/loader.js +81 -10
  82. package/dist/skills/loader.js.map +1 -1
  83. package/dist/synthesize.d.ts.map +1 -1
  84. package/dist/synthesize.js +152 -16
  85. package/dist/synthesize.js.map +1 -1
  86. package/dist/tools/registry.d.ts +1 -1
  87. package/dist/tools/registry.d.ts.map +1 -1
  88. package/dist/tools/registry.js +42 -0
  89. package/dist/tools/registry.js.map +1 -1
  90. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-fts.js","sourceRoot":"","sources":["../../src/kg/sqlite-fts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-fts.js","sourceRoot":"","sources":["../../src/kg/sqlite-fts.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,8 @@
8
8
  * structured filters for domain/kind.
9
9
  */
10
10
  import type { TrustLabelId } from '@duckcodeailabs/dql-core';
11
- export type KGNodeKind = 'block' | 'term' | 'business_view' | 'metric' | 'dimension' | 'measure' | 'entity' | 'semantic_model' | 'saved_query' | 'domain' | 'dbt_model' | 'dbt_source' | 'notebook' | 'dashboard' | 'app' | 'skill';
11
+ import type { BlockParameterDefinition } from '@duckcodeailabs/dql-core';
12
+ export type KGNodeKind = 'block' | 'term' | 'business_view' | 'metric' | 'dimension' | 'measure' | 'entity' | 'semantic_model' | 'saved_query' | 'domain' | 'dbt_model' | 'dbt_source' | 'notebook' | 'dashboard' | 'app' | 'skill' | 'relationship' | 'contract' | 'domain_export' | 'domain_import' | 'conformance' | 'policy' | 'evaluation';
12
13
  export type KGSourceTier = 'certified_artifact' | 'semantic_layer' | 'dbt_manifest' | 'business_context' | 'memory' | 'project';
13
14
  export type KGCertification = TrustLabelId;
14
15
  export interface KGOutputLineage {
@@ -95,6 +96,8 @@ export interface KGNode {
95
96
  name: string;
96
97
  policy: string;
97
98
  }>;
99
+ /** Typed runtime parameter contract used by AI, notebooks, and apps. */
100
+ parameters?: BlockParameterDefinition[];
98
101
  /** Business/app filter to physical column or expression bindings. */
99
102
  filterBindings?: Array<{
100
103
  filter: string;
@@ -128,11 +131,13 @@ export interface KGNode {
128
131
  caveats?: string[];
129
132
  /** Manifest references that introduced this source, for example block or notebook ids. */
130
133
  referencedBy?: string[];
134
+ /** Typed v3 analytical policy payload retained for deterministic planning. */
135
+ payload?: Record<string, unknown>;
131
136
  }
132
137
  export interface KGEdge {
133
138
  src: string;
134
139
  dst: string;
135
- kind: 'feeds_into' | 'reads_from' | 'aggregates' | 'visualizes' | 'depends_on' | 'contains' | 'related_to' | 'defines' | 'composes';
140
+ kind: 'feeds_into' | 'reads_from' | 'aggregates' | 'visualizes' | 'depends_on' | 'contains' | 'related_to' | 'defines' | 'composes' | 'parent_domain' | 'binds_to' | 'proves_join' | 'governed_by' | 'exports' | 'imports' | 'conforms_with' | 'validated_by';
136
141
  weight?: number;
137
142
  }
138
143
  export interface KGSearchHit {
@@ -158,6 +163,8 @@ export interface KGSearchOptions {
158
163
  kinds?: KGNodeKind[];
159
164
  /** Restrict to a domain. */
160
165
  domain?: string;
166
+ /** Restrict to one of several server-authorized domains. */
167
+ domains?: string[];
161
168
  /** Maximum hits to return. */
162
169
  limit?: number;
163
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kg/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kg/types.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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"}
@@ -10,13 +10,33 @@ const METRIC_WORDS = [
10
10
  'amount', 'arr', 'average', 'avg', 'balance', 'bookings', 'churn', 'conversion', 'cost',
11
11
  'count', 'duration', 'expense', 'growth', 'kpi', 'margin', 'metric', 'mrr', 'orders',
12
12
  'points', 'profit', 'quantity', 'rate', 'revenue', 'sales', 'score', 'scorer', 'scoring', 'spend', 'stats',
13
- 'statistics', 'total', 'usage', 'value', 'volume',
13
+ 'statistics', 'tax', 'total', 'usage', 'value', 'volume',
14
14
  ];
15
15
  const DIMENSION_WORDS = [
16
16
  'account', 'category', 'channel', 'cohort', 'customer', 'department', 'entity', 'geo',
17
17
  'location', 'market', 'merchant', 'month', 'person', 'player', 'product', 'profile',
18
18
  'region', 'segment', 'sku', 'team', 'type', 'user', 'vendor', 'week', 'year',
19
19
  ];
20
+ /**
21
+ * Small, domain-neutral vocabulary clusters used only to broaden metadata
22
+ * retrieval. These are ordinary-language equivalents, not project-specific
23
+ * value-to-column mappings; physical filter binding still comes from sampled
24
+ * warehouse values or semantic definitions.
25
+ */
26
+ const SEARCH_TERM_SYNONYMS = [
27
+ ['beverage', 'drink'],
28
+ ['customer', 'client', 'buyer', 'shopper'],
29
+ ['product', 'item', 'sku'],
30
+ ['spend', 'spent', 'spending', 'revenue', 'sales'],
31
+ ];
32
+ const SEARCH_TERM_SYNONYM_INDEX = (() => {
33
+ const index = new Map();
34
+ for (const cluster of SEARCH_TERM_SYNONYMS) {
35
+ for (const word of cluster)
36
+ index.set(word, new Set(cluster));
37
+ }
38
+ return index;
39
+ })();
20
40
  const PROFILE_WORDS = [
21
41
  'bio', 'biography', 'career', 'complete stats', 'details', 'entity 360', 'overview',
22
42
  'profile', 'record', 'snapshot', 'stats', 'statistics', 'summary',
@@ -30,13 +50,15 @@ export function buildAnalysisQuestionPlan(question, followUp) {
30
50
  ...extractMetricTerms(cleanQuestion),
31
51
  ...extractFollowUpMetricTerms(followUp, lower),
32
52
  ]);
33
- const dimensionTerms = extractDimensionTerms(cleanQuestion);
53
+ const extractedDimensionTerms = extractDimensionTerms(cleanQuestion);
34
54
  const filterTerms = extractFilterTerms(cleanQuestion, entities);
55
+ const dimensionTerms = removeFilterOnlyDimensionTerms(cleanQuestion, extractedDimensionTerms);
35
56
  const timeTerms = extractTimeTerms(cleanQuestion);
36
57
  const mode = inferQuestionMode({ question: cleanQuestion, lower, entities, metricTerms, dimensionTerms, followUp });
37
58
  const routeIntent = routeIntentForMode(mode);
38
- const outputShape = outputShapeForMode(mode, lower);
39
- const shouldConsiderCertifiedExact = certifiedExactIsPlausible(mode, entities);
59
+ const outputShape = outputShapeForMode(mode, lower, dimensionTerms);
60
+ const shouldConsiderCertifiedExact = certifiedExactIsPlausible(mode, entities)
61
+ && !(mode === 'general_analysis' && definitionPhraseCarriesAnalyticalShape({ lower, metricTerms, dimensionTerms }));
40
62
  const needsGeneratedSql = generatedSqlIsLikely(mode, shouldConsiderCertifiedExact);
41
63
  const needsResearchWorkspace = researchWorkspaceIsLikely(mode, lower);
42
64
  const requestedShape = buildRequestedAnswerShape(cleanQuestion, {
@@ -48,7 +70,7 @@ export function buildAnalysisQuestionPlan(question, followUp) {
48
70
  timeTerms,
49
71
  followUp,
50
72
  });
51
- const searchTerms = uniqueStrings([
73
+ const searchTerms = uniqueStrings(uniqueStrings([
52
74
  ...tokenize(cleanQuestion),
53
75
  ...entities.flatMap((entity) => tokenize(entity.text)),
54
76
  ...metricTerms,
@@ -56,7 +78,7 @@ export function buildAnalysisQuestionPlan(question, followUp) {
56
78
  ...filterTerms,
57
79
  ...timeTerms,
58
80
  ...modeSearchTerms(mode),
59
- ]).filter((term) => !STOP_WORDS.has(term)).slice(0, 36);
81
+ ]).flatMap(expandSearchTerm)).filter((term) => !STOP_WORDS.has(term)).slice(0, 36);
60
82
  const searchQueries = buildSearchQueries({
61
83
  question: cleanQuestion,
62
84
  mode,
@@ -136,14 +158,18 @@ export function certifiedApplicabilityForObject(object, plan) {
136
158
  reasons: reasons.length ? reasons : ['certified block contract matches the requested answer shape'],
137
159
  };
138
160
  }
161
+ const parameters = Array.isArray(object.payload?.parameters) ? object.payload.parameters : [];
162
+ const dynamicParameters = parameters.filter((entry) => entry && typeof entry === 'object' && entry.policy === 'dynamic');
139
163
  const parameterPolicy = metadataString(object.payload?.parameterPolicy ?? object.payload?.parameter_policy);
140
- if (parameterPolicy && /safe_filter|safe_group_by|template/i.test(parameterPolicy) && score >= 58 && directionCompatible) {
164
+ if ((dynamicParameters.length > 0 || (parameterPolicy && /safe_filter|safe_group_by|template/i.test(parameterPolicy))) && score >= 58 && directionCompatible) {
141
165
  return {
142
166
  objectKey: object.objectKey,
143
167
  name: object.name,
144
168
  kind: 'safe_parameterized',
145
169
  score,
146
- reasons: [...reasons, `certified block declares parameter policy ${parameterPolicy}`],
170
+ reasons: [...reasons, dynamicParameters.length > 0
171
+ ? `certified block declares ${dynamicParameters.length} typed dynamic parameter${dynamicParameters.length === 1 ? '' : 's'}`
172
+ : `certified block declares parameter policy ${parameterPolicy}`],
147
173
  };
148
174
  }
149
175
  if (score >= 28 || metricMatch.score > 0 || dimensionMatch.score > 0) {
@@ -443,7 +469,13 @@ function inferQuestionMode(input) {
443
469
  return 'exact_lookup';
444
470
  if (/\b(trust|rely|certif|certified|lineage|owner|caveat|gap|governance|can .* trust)\b/i.test(lower))
445
471
  return 'trust_review';
446
- if (/\b(define|definition|meaning of|what is|what are|what does .+ mean)\b/i.test(lower))
472
+ // "What is" is not, by itself, a definition request. Questions such as
473
+ // "what is revenue by customer and product?" carry an explicit analytical
474
+ // shape and must reach the data cascade. Keep genuine single-concept meaning
475
+ // questions on the fast definition path while treating multi-dimensional or
476
+ // explicitly grouped measure requests as analysis (AGT-001).
477
+ if (/\b(define|definition|meaning of|what is|what are|what does .+ mean)\b/i.test(lower)
478
+ && !definitionPhraseCarriesAnalyticalShape(input))
447
479
  return 'definition';
448
480
  if (/\b(anomal|exception|outlier|spike|dip)\b/i.test(lower))
449
481
  return 'anomaly';
@@ -459,7 +491,8 @@ function inferQuestionMode(input) {
459
491
  return 'entity_drilldown';
460
492
  if (/\b(trend|over time|by\s+(?:day|week|month|quarter|year|season)|daily|weekly|monthly|quarterly|yearly)\b/i.test(lower))
461
493
  return 'trend';
462
- if (/\b(top|bottom|best|worst|highest|lowest|least|fewest|minimum|min|maximum|max|rank|ranking|most|leading|leader|leaders)\b/i.test(lower))
494
+ if (/\b(top|bottom|best|worst|highest|lowest|least|fewest|minimum|min|maximum|max|rank|ranking|most|leading|leader|leaders)\b/i.test(lower)
495
+ || hasComparativeMetricRanking(lower))
463
496
  return 'ranking';
464
497
  if (/\b(block|certified|saved|existing|approved|governed)\b/i.test(lower))
465
498
  return 'exact_lookup';
@@ -476,6 +509,14 @@ function inferQuestionMode(input) {
476
509
  return 'general_analysis';
477
510
  return 'clarify';
478
511
  }
512
+ function definitionPhraseCarriesAnalyticalShape(input) {
513
+ if (input.metricTerms.length === 0)
514
+ return false;
515
+ if (input.dimensionTerms.length >= 2)
516
+ return true;
517
+ return input.dimensionTerms.length > 0
518
+ && /\b(by|per|for each|group(?:ed)? by|split by|break(?:down| down)|info for|details for)\b/i.test(input.lower);
519
+ }
479
520
  function routeIntentForMode(mode) {
480
521
  switch (mode) {
481
522
  case 'exact_lookup': return 'exact_certified_lookup';
@@ -509,13 +550,15 @@ function researchWorkspaceIsLikely(mode, lower) {
509
550
  return ['entity_profile', 'driver_breakdown', 'diagnose_change', 'anomaly', 'trust_review'].includes(mode)
510
551
  || /\b(deep\s+research|research|reserach|investigate|investigation|root cause)\b/i.test(lower);
511
552
  }
512
- function outputShapeForMode(mode, lower) {
553
+ function outputShapeForMode(mode, lower, dimensionTerms) {
513
554
  if (mode === 'entity_profile')
514
555
  return 'profile';
515
556
  if (mode === 'definition' || mode === 'trust_review')
516
557
  return 'narrative';
517
558
  if (/\b(chart|graph|visual|plot)\b/i.test(lower) || mode === 'trend')
518
559
  return 'chart';
560
+ if (dimensionTerms.length >= 2 || /\b(info for|details for|for each|group(?:ed)? by|split by|break(?:down| down))\b/i.test(lower))
561
+ return 'table';
519
562
  if (/\b(table|list|show all|complete|full)\b/i.test(lower) || mode === 'ranking' || mode === 'entity_drilldown')
520
563
  return 'table';
521
564
  if (/\bwhat is|how many|how much|total|count|kpi|metric\b/i.test(lower))
@@ -557,6 +600,9 @@ function extractMetricTerms(question) {
557
600
  if (/\bhow much\b/i.test(lower)) {
558
601
  terms.add('amount');
559
602
  }
603
+ if (/\b(spend|spends|spent|spending)\b/i.test(lower)) {
604
+ terms.add('spend');
605
+ }
560
606
  for (const word of METRIC_WORDS) {
561
607
  if (new RegExp(`\\b${escapeRegExp(word)}s?\\b`, 'i').test(lower))
562
608
  terms.add(normalizeTerm(word));
@@ -595,20 +641,76 @@ function extractDimensionTerms(question) {
595
641
  }
596
642
  return uniqueStrings([...terms]).slice(0, 16);
597
643
  }
644
+ function removeFilterOnlyDimensionTerms(question, dimensions) {
645
+ const lower = question.toLowerCase();
646
+ const filterDescriptors = /\b(?:on|in|within|from|among)\s+(?:the\s+)?(?:[a-z0-9&'_-]+\s+){0,3}?((?:[a-z][a-z0-9&'_-]*\s+)?(?:category|type|segment|class|group|channel|region|market))\b/g;
647
+ const filterOnly = new Set();
648
+ for (const match of lower.matchAll(filterDescriptors)) {
649
+ const descriptor = match[1] ?? '';
650
+ const outsideDescriptor = `${lower.slice(0, match.index)} ${lower.slice((match.index ?? 0) + match[0].length)}`;
651
+ for (const dimension of dimensions) {
652
+ const word = escapeRegExp(dimension);
653
+ if (!new RegExp(`\\b${word}s?\\b`, 'i').test(descriptor))
654
+ continue;
655
+ const explicitlyGrouped = new RegExp(`\\b(?:by|per|for each|group(?:ed)? by|split by)\\b[^?.!,;]{0,40}\\b${word}s?\\b`, 'i').test(lower);
656
+ const mentionedOutsideDescriptor = new RegExp(`\\b${word}s?\\b`, 'i').test(outsideDescriptor);
657
+ if (!explicitlyGrouped && !mentionedOutsideDescriptor)
658
+ filterOnly.add(dimension);
659
+ }
660
+ }
661
+ return dimensions.filter((dimension) => !filterOnly.has(dimension));
662
+ }
598
663
  function pluralizeDimensionWord(word) {
599
664
  if (word.endsWith('y'))
600
665
  return `${word.slice(0, -1)}ies`;
601
666
  return `${word}s`;
602
667
  }
603
668
  function extractFilterTerms(question, entities) {
604
- // Filter VALUES come from the question's own entities and time phrases only.
605
- // (Real value binding happens later against the runtime value index / sampled
606
- // column values never from a hard-coded project-specific vocabulary.)
669
+ // Filter VALUES come from the question's own entities, time phrases, and
670
+ // explicit analytical restriction grammar. Real value-to-column binding still
671
+ // happens later against the runtime value index / sampled column values.
672
+ const analyticalValues = [];
673
+ const valuePatterns = [
674
+ /\b(?:category|segment|type|class|group|channel|region|market)\s*(?:=|:|is|equals|of)\s+(?:the\s+)?([a-z][a-z0-9&'_-]*(?:\s+[a-z][a-z0-9&'_-]*){0,3})/gi,
675
+ /\b(?:on|in|within|from|among)\s+(?:the\s+)?([a-z][a-z0-9&'_-]*(?:\s+[a-z][a-z0-9&'_-]*){0,2}?)(?=\s+(?:[a-z][a-z0-9&'_-]*\s+)?(?:category|type|segment|class|group|channel|region|market)\b)/gi,
676
+ /\b(?:spend|spends|spent|spending)\b[^?.!,;]{0,60}?\bon\s+(?:the\s+)?([a-z][a-z0-9&'_-]*(?:\s+[a-z][a-z0-9&'_-]*){0,3}?)(?=\s+(?:product|products|item|items|category|segment|type)\b|[?.,!;]|$)/gi,
677
+ /\b(?:buy|buys|bought|buying|purchase|purchases|purchased|purchasing)\s+(?:the\s+)?([a-z][a-z0-9&'_-]*(?:\s+[a-z][a-z0-9&'_-]*){0,3}?)(?=\s+(?:product|products|item|items|category|segment|type)\b|[?.,!;]|$)/gi,
678
+ ];
679
+ for (const pattern of valuePatterns) {
680
+ for (const match of question.matchAll(pattern)) {
681
+ const value = cleanAnalyticalFilterValue(match[1]);
682
+ if (value)
683
+ analyticalValues.push(value);
684
+ }
685
+ }
607
686
  return uniqueStrings([
608
687
  ...entities.flatMap((entity) => tokenize(entity.text)),
688
+ ...analyticalValues,
609
689
  ...Array.from(question.matchAll(/\b(?:last|this|next|previous|prior|current)\s+(day|week|month|quarter|year|season)\b/gi)).map((match) => match[0].toLowerCase()),
610
690
  ]).slice(0, 16);
611
691
  }
692
+ function cleanAnalyticalFilterValue(value) {
693
+ return (value ?? '')
694
+ .toLowerCase()
695
+ .replace(/\b(?:highest|lowest|most|least|top|bottom|best|worst|the)\b/g, ' ')
696
+ .replace(/^.*\b(?:on|in|within)\s+/, '')
697
+ .replace(/\s+/g, ' ')
698
+ .trim()
699
+ .replace(/ies$/, 'y')
700
+ .replace(/s$/, '');
701
+ }
702
+ function expandSearchTerm(raw) {
703
+ const term = normalizeTerm(raw);
704
+ if (!term)
705
+ return [];
706
+ const singular = term.replace(/ies$/, 'y').replace(/s$/, '');
707
+ return uniqueStrings([
708
+ term,
709
+ ...(singular.length > 1 ? [singular] : []),
710
+ ...Array.from(SEARCH_TERM_SYNONYM_INDEX.get(term) ?? []),
711
+ ...Array.from(SEARCH_TERM_SYNONYM_INDEX.get(singular) ?? []),
712
+ ]);
713
+ }
612
714
  function extractTimeTerms(question) {
613
715
  const terms = [];
614
716
  for (const match of question.matchAll(/\b(?:today|yesterday|ytd|mtd|qtd|wtd|last\s+\w+|this\s+\w+|next\s+\w+|previous\s+\w+|prior\s+\w+|\d{4})\b/gi)) {
@@ -650,7 +752,7 @@ function buildRequestedAnswerShape(question, input) {
650
752
  ...input.dimensionTerms.map(canonicalShapeTerm),
651
753
  ...followUpDimensionsForRequestedShape(input.followUp, followUpReferences),
652
754
  ].filter(Boolean));
653
- const dimensions = scalarValueQuestionUsesEntitiesAsMeasures(input.mode, input.lower)
755
+ const dimensions = scalarValueQuestionUsesEntitiesAsMeasures(input.mode, input.lower, rawDimensions)
654
756
  ? []
655
757
  : rawDimensions;
656
758
  const measures = uniqueStrings(input.metricTerms.map(canonicalShapeTerm).filter(Boolean));
@@ -678,16 +780,22 @@ function buildRequestedAnswerShape(question, input) {
678
780
  ambiguities,
679
781
  };
680
782
  }
681
- function scalarValueQuestionUsesEntitiesAsMeasures(mode, lower) {
783
+ function scalarValueQuestionUsesEntitiesAsMeasures(mode, lower, dimensions) {
682
784
  if (mode !== 'exact_lookup' && mode !== 'general_analysis')
683
785
  return false;
786
+ if (dimensions.length >= 2 || /\b(info for|details for|for each|group(?:ed)? by|split by|break(?:down| down))\b/.test(lower))
787
+ return false;
684
788
  return /\b(how many|how much|what is|what was|total|count|number of)\b/.test(lower)
685
789
  && !/\b(by|per|each|every|top|bottom|rank|ranking|list|which|who|break\s*down|breakdown|split|segment|trend|over time)\b/.test(lower);
686
790
  }
687
791
  function parseTopN(question) {
688
792
  const lower = question.toLowerCase();
689
793
  const numeric = lower.match(/\b(?:top|bottom|first|last)\s+(\d{1,3})\b/);
690
- const n = numeric ? Number(numeric[1]) : wordNumberFromTopN(lower);
794
+ const explicitN = numeric ? Number(numeric[1]) : wordNumberFromTopN(lower);
795
+ // A ranking request without a literal N still needs a bounded result contract.
796
+ // Ten is the product's concise table default; this prevents the provider from
797
+ // silently widening "customers who spent most" to LIMIT 100.
798
+ const n = explicitN ?? (hasImplicitRankingRequest(lower) ? 10 : undefined);
691
799
  if (!n || n <= 0)
692
800
  return undefined;
693
801
  const scope = /\b(?:per|for each|within each)\s+\w+/i.test(lower)
@@ -696,6 +804,13 @@ function parseTopN(question) {
696
804
  : 'overall';
697
805
  return { n, scope };
698
806
  }
807
+ function hasImplicitRankingRequest(lower) {
808
+ return /\b(top|bottom|most|least|highest|lowest|largest|smallest|greatest|best|worst|leading)\b/.test(lower)
809
+ || hasComparativeMetricRanking(lower);
810
+ }
811
+ function hasComparativeMetricRanking(lower) {
812
+ return /\bmore\s+(?:amount|bookings|cost|count|margin|orders?|points?|profit|quantity|revenue|sales|score|spend|spending|tax|usage|value|volume)\b/.test(lower);
813
+ }
699
814
  function wordNumberFromTopN(lower) {
700
815
  const words = {
701
816
  one: 1,
@@ -959,7 +1074,8 @@ function rankingDirectionCompatible(question, targetText) {
959
1074
  function rankingDirection(value) {
960
1075
  const lower = value.toLowerCase();
961
1076
  const bottom = /\b(bottom|worst|lowest|least|fewest|minimum|min|smallest)\b/.test(lower);
962
- const top = /\b(top|best|highest|most|maximum|max|largest|leading|leaders?)\b/.test(lower);
1077
+ const top = /\b(top|best|highest|most|maximum|max|largest|leading|leaders?)\b/.test(lower)
1078
+ || hasComparativeMetricRanking(lower);
963
1079
  if (bottom && !top)
964
1080
  return 'bottom';
965
1081
  if (top && !bottom)