@duckcodeailabs/dql-agent 1.14.3-rc.1 → 1.14.4
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.
- package/dist/agent-run-engine.d.ts +177 -3
- package/dist/agent-run-engine.d.ts.map +1 -1
- package/dist/agent-run-engine.js +2061 -57
- package/dist/agent-run-engine.js.map +1 -1
- package/dist/agent-run-gates.d.ts.map +1 -1
- package/dist/agent-run-gates.js +51 -3
- package/dist/agent-run-gates.js.map +1 -1
- package/dist/agent-run-store.d.ts.map +1 -1
- package/dist/agent-run-store.js +544 -9
- package/dist/agent-run-store.js.map +1 -1
- package/dist/agentic/analyst-loop.d.ts +2 -0
- package/dist/agentic/analyst-loop.d.ts.map +1 -1
- package/dist/agentic/analyst-loop.js +41 -4
- package/dist/agentic/analyst-loop.js.map +1 -1
- package/dist/agentic/ledger-tools.d.ts.map +1 -1
- package/dist/agentic/ledger-tools.js +8 -1
- package/dist/agentic/ledger-tools.js.map +1 -1
- package/dist/agentic/orchestrator-policy.d.ts +3 -1
- package/dist/agentic/orchestrator-policy.d.ts.map +1 -1
- package/dist/agentic/orchestrator-policy.js +1 -1
- package/dist/agentic/orchestrator-policy.js.map +1 -1
- package/dist/agentic/tool-loop.d.ts +13 -1
- package/dist/agentic/tool-loop.d.ts.map +1 -1
- package/dist/agentic/tool-loop.js +441 -32
- package/dist/agentic/tool-loop.js.map +1 -1
- package/dist/analytical-frame.d.ts +19 -0
- package/dist/analytical-frame.d.ts.map +1 -1
- package/dist/analytical-frame.js +170 -12
- package/dist/analytical-frame.js.map +1 -1
- package/dist/analytical-orchestration.d.ts +949 -10
- package/dist/analytical-orchestration.d.ts.map +1 -1
- package/dist/analytical-orchestration.js +499 -56
- package/dist/analytical-orchestration.js.map +1 -1
- package/dist/answer-loop.d.ts +166 -2
- package/dist/answer-loop.d.ts.map +1 -1
- package/dist/answer-loop.js +654 -18
- package/dist/answer-loop.js.map +1 -1
- package/dist/answer-shape.d.ts +27 -0
- package/dist/answer-shape.d.ts.map +1 -1
- package/dist/answer-shape.js +55 -0
- package/dist/answer-shape.js.map +1 -1
- package/dist/ask-observability/instrumentation.d.ts.map +1 -1
- package/dist/ask-observability/instrumentation.js +52 -1
- package/dist/ask-observability/instrumentation.js.map +1 -1
- package/dist/ask-observability/portable.js +562 -0
- package/dist/ask-observability/portable.js.map +1 -1
- package/dist/ask-observability/types.d.ts +26 -3
- package/dist/ask-observability/types.d.ts.map +1 -1
- package/dist/ask-observability/types.js.map +1 -1
- package/dist/ask-runtime/ask-agent-runtime-v2.d.ts +850 -0
- package/dist/ask-runtime/ask-agent-runtime-v2.d.ts.map +1 -0
- package/dist/ask-runtime/ask-agent-runtime-v2.js +1716 -0
- package/dist/ask-runtime/ask-agent-runtime-v2.js.map +1 -0
- package/dist/ask-runtime/ask-analyst-runtime.d.ts +95 -0
- package/dist/ask-runtime/ask-analyst-runtime.d.ts.map +1 -0
- package/dist/ask-runtime/ask-analyst-runtime.js +8280 -0
- package/dist/ask-runtime/ask-analyst-runtime.js.map +1 -0
- package/dist/conversation/session-store.d.ts +31 -0
- package/dist/conversation/session-store.d.ts.map +1 -1
- package/dist/conversation/session-store.js +38 -0
- package/dist/conversation/session-store.js.map +1 -1
- package/dist/conversation/snapshot.d.ts +4 -1
- package/dist/conversation/snapshot.d.ts.map +1 -1
- package/dist/conversation/snapshot.js +85 -3
- package/dist/conversation/snapshot.js.map +1 -1
- package/dist/conversation/turn-trust.d.ts.map +1 -1
- package/dist/conversation/turn-trust.js +2 -0
- package/dist/conversation/turn-trust.js.map +1 -1
- package/dist/embeddings/provider.d.ts +1 -0
- package/dist/embeddings/provider.d.ts.map +1 -1
- package/dist/embeddings/provider.js +18 -0
- package/dist/embeddings/provider.js.map +1 -1
- package/dist/generated-analytical-proposal.js +37 -2
- package/dist/generated-analytical-proposal.js.map +1 -1
- package/dist/index.d.ts +15 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/intent-controller.d.ts +77 -1
- package/dist/intent-controller.d.ts.map +1 -1
- package/dist/intent-controller.js +1 -1
- package/dist/intent-controller.js.map +1 -1
- package/dist/kg/build.js +32 -2
- package/dist/kg/build.js.map +1 -1
- package/dist/meaning-resolution.d.ts +129 -0
- package/dist/meaning-resolution.d.ts.map +1 -1
- package/dist/meaning-resolution.js +108 -15
- package/dist/meaning-resolution.js.map +1 -1
- package/dist/metadata/analysis-planner.js +57 -6
- package/dist/metadata/analysis-planner.js.map +1 -1
- package/dist/metadata/catalog.d.ts +14 -0
- package/dist/metadata/catalog.d.ts.map +1 -1
- package/dist/metadata/catalog.js +28 -1
- package/dist/metadata/catalog.js.map +1 -1
- package/dist/metadata/meaning-evidence.d.ts +19 -0
- package/dist/metadata/meaning-evidence.d.ts.map +1 -1
- package/dist/metadata/meaning-evidence.js +113 -6
- package/dist/metadata/meaning-evidence.js.map +1 -1
- package/dist/provider-egress.d.ts +4 -1
- package/dist/provider-egress.d.ts.map +1 -1
- package/dist/provider-egress.js +50 -5
- package/dist/provider-egress.js.map +1 -1
- package/dist/providers/claude.d.ts +2 -2
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +191 -28
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.d.ts +2 -2
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +191 -21
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/types.d.ts +79 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/requirement-clauses.d.ts +23 -0
- package/dist/requirement-clauses.d.ts.map +1 -0
- package/dist/requirement-clauses.js +70 -0
- package/dist/requirement-clauses.js.map +1 -0
- package/dist/resolved-analytical-plan.d.ts.map +1 -1
- package/dist/resolved-analytical-plan.js +201 -15
- package/dist/resolved-analytical-plan.js.map +1 -1
- package/dist/router.d.ts +109 -2
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +753 -76
- package/dist/router.js.map +1 -1
- package/package.json +4 -4
|
@@ -48,6 +48,61 @@ export function certifiedCandidateDeclaredDimensionOutput(candidate, requested)
|
|
|
48
48
|
.filter(Boolean);
|
|
49
49
|
return declared.find((output) => canonicalCertifiedOutputDimensionIdentity(output) === requestedIdentity);
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Return only the declared block dimensions that define its authored result
|
|
53
|
+
* grain. A certified block can return descriptive attributes alongside the
|
|
54
|
+
* grain key without changing the number of result rows: a one-row-per-customer
|
|
55
|
+
* profile may legitimately include both `customer_name` and `customer_type`.
|
|
56
|
+
* Treating every returned attribute as a grouping key rejects that complete
|
|
57
|
+
* customer answer and unnecessarily sends a catalog-proven exact match to the
|
|
58
|
+
* provider planner.
|
|
59
|
+
*
|
|
60
|
+
* The proof is deliberately conservative. When an authored grain fact is
|
|
61
|
+
* present, an output is grain-driving only when its canonical identity is
|
|
62
|
+
* wholly represented by the grain wording. If no output can be tied back to
|
|
63
|
+
* the grain, retain the older all-dimensions behaviour rather than weakening
|
|
64
|
+
* a block with an opaque grain declaration. This keeps a customer-ranked
|
|
65
|
+
* block from answering the scalar request `show me revenue`: `customer_name`
|
|
66
|
+
* is still a grain-driving output that the scalar request did not ask for.
|
|
67
|
+
*/
|
|
68
|
+
export function certifiedCandidateGrainDimensionOutputs(candidate) {
|
|
69
|
+
if (candidate.kind !== 'certified_block')
|
|
70
|
+
return [];
|
|
71
|
+
const declared = [...new Set((candidate.dimensions ?? [])
|
|
72
|
+
.map((dimension) => certifiedCandidateDeclaredDimensionOutput(candidate, dimension))
|
|
73
|
+
.filter((output) => Boolean(output))
|
|
74
|
+
.map((output) => output.trim())
|
|
75
|
+
.filter(Boolean))];
|
|
76
|
+
if (declared.length === 0)
|
|
77
|
+
return [];
|
|
78
|
+
const grainFacts = (candidate.compatibilityFacts ?? [])
|
|
79
|
+
.flatMap((fact) => /^grain:\s*(.+)$/i.exec(fact)?.[1] ?? [])
|
|
80
|
+
.map((grain) => grain.trim())
|
|
81
|
+
.filter(Boolean);
|
|
82
|
+
if (grainFacts.length === 0)
|
|
83
|
+
return declared;
|
|
84
|
+
const ignoredGrainTokens = new Set([
|
|
85
|
+
'a', 'an', 'and', 'at', 'by', 'for', 'in', 'of', 'on', 'per', 'row',
|
|
86
|
+
'rows', 'the', 'to', 'with', 'result', 'results', 'record', 'records',
|
|
87
|
+
'ranking', 'rank', 'purchase', 'profile', 'value', 'values',
|
|
88
|
+
]);
|
|
89
|
+
const grainTokenSets = grainFacts.map((grain) => new Set(grain.toLowerCase()
|
|
90
|
+
.replace(/[_./:-]+/g, ' ')
|
|
91
|
+
.replace(/[^a-z0-9 ]+/g, ' ')
|
|
92
|
+
.split(/\s+/)
|
|
93
|
+
.map((token) => token.endsWith('s') && token.length > 3 ? token.slice(0, -1) : token)
|
|
94
|
+
.filter((token) => token.length > 0 && !ignoredGrainTokens.has(token))));
|
|
95
|
+
const grainDriving = declared.filter((output) => {
|
|
96
|
+
const outputTokens = canonicalCertifiedOutputDimensionIdentity(output)
|
|
97
|
+
.split('_')
|
|
98
|
+
.filter(Boolean);
|
|
99
|
+
return outputTokens.length > 0 && grainTokenSets.some((tokens) => outputTokens.every((token) => tokens.has(token)));
|
|
100
|
+
});
|
|
101
|
+
// An opaque/legacy grain fact is not enough to waive the existing
|
|
102
|
+
// no-extra-grouping protection. Fall back to every declared dimension if
|
|
103
|
+
// none can be proven as the block's grain key.
|
|
104
|
+
return grainDriving.length > 0 ? grainDriving : declared;
|
|
105
|
+
}
|
|
51
106
|
/**
|
|
52
107
|
* A certified tier can freeze only when the selected block itself declares
|
|
53
108
|
* every requested measure. This is deliberately stricter than retrieval
|
|
@@ -250,7 +305,17 @@ function normalizeRef(value) {
|
|
|
250
305
|
}
|
|
251
306
|
/** Validate that a resolver cannot invent or select ineligible evidence. */
|
|
252
307
|
export function validateMeaningResolution(value, candidates, requestedMeasures = value.queryIntent.measures, options = {}) {
|
|
253
|
-
|
|
308
|
+
// `id` is the compiler's local canonical identity while `qualifiedId` is
|
|
309
|
+
// the immutable source/semantic handle that the planner and frozen meaning
|
|
310
|
+
// receipt may intentionally preserve. Both are server-issued identities
|
|
311
|
+
// from this bounded snapshot; accepting the qualified handle here does not
|
|
312
|
+
// create a lexical alias surface or permit invented evidence.
|
|
313
|
+
const byId = new Map();
|
|
314
|
+
for (const candidate of candidates) {
|
|
315
|
+
byId.set(candidate.id, candidate);
|
|
316
|
+
if (candidate.qualifiedId)
|
|
317
|
+
byId.set(candidate.qualifiedId, candidate);
|
|
318
|
+
}
|
|
254
319
|
const selectedConceptIds = value.selectedConceptIds.length > 0
|
|
255
320
|
? value.selectedConceptIds
|
|
256
321
|
: value.recommendedExecutionId
|
|
@@ -346,6 +411,13 @@ function firstInvalidAnalyticalFrameReference(frame, candidates, executionId) {
|
|
|
346
411
|
evidenceIds.add(candidate.id);
|
|
347
412
|
if (candidate.qualifiedId)
|
|
348
413
|
evidenceIds.add(candidate.qualifiedId);
|
|
414
|
+
// Semantic adapters can expose a retrieval-stable member identity beside
|
|
415
|
+
// the canonical capability dimension ID. Those exact aliases are authored
|
|
416
|
+
// snapshot identities, not a lexical fallback. Keep them in the frame
|
|
417
|
+
// proof so a server-issued capability choice survives local index
|
|
418
|
+
// normalization without being treated as invented evidence.
|
|
419
|
+
for (const alias of candidate.aliases ?? [])
|
|
420
|
+
evidenceIds.add(alias);
|
|
349
421
|
if (candidate.kind === 'semantic_metric') {
|
|
350
422
|
metricIds.add(candidate.id);
|
|
351
423
|
if (candidate.qualifiedId)
|
|
@@ -367,6 +439,9 @@ function firstInvalidAnalyticalFrameReference(frame, candidates, executionId) {
|
|
|
367
439
|
entityIds.add(capability.primaryEntityId);
|
|
368
440
|
for (const grain of capability.resultGrainIds)
|
|
369
441
|
entityIds.add(grain);
|
|
442
|
+
for (const dimension of capability.dimensions) {
|
|
443
|
+
entityIds.add(dimension.entityId);
|
|
444
|
+
}
|
|
370
445
|
for (const dimension of capability.dimensions)
|
|
371
446
|
dimensionIds.add(dimension.dimensionId);
|
|
372
447
|
for (const dimension of capability.timeDimensions)
|
|
@@ -390,20 +465,38 @@ function firstInvalidAnalyticalFrameReference(frame, candidates, executionId) {
|
|
|
390
465
|
if (!allowed.has(id))
|
|
391
466
|
return `${kind} ${id}`;
|
|
392
467
|
}
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
]
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
468
|
+
// A canonical multi-metric request has one recommended execution metric but
|
|
469
|
+
// more than one explicit, retrieved capability. Validate membership against
|
|
470
|
+
// the complete selected metric set here; compatibility/additivity across
|
|
471
|
+
// that set is still proven by the immutable compiler below. Checking only
|
|
472
|
+
// the first metric converted a valid `metric_a + metric_b` identity binding
|
|
473
|
+
// into the false “not retrieved” gap before MetricFlow got a chance to
|
|
474
|
+
// evaluate it.
|
|
475
|
+
const selectedCapabilities = candidates
|
|
476
|
+
.filter((candidate) => {
|
|
477
|
+
const identities = [candidate.id, candidate.qualifiedId, candidate.analyticalCapability?.metricId]
|
|
478
|
+
.filter((id) => Boolean(id));
|
|
479
|
+
return identities.some((id) => frame.metricConceptIds.includes(id))
|
|
480
|
+
|| Boolean(executionId && identities.includes(executionId));
|
|
481
|
+
})
|
|
482
|
+
.flatMap((candidate) => candidate.analyticalCapability ? [candidate.analyticalCapability] : []);
|
|
483
|
+
if (selectedCapabilities.length > 0) {
|
|
484
|
+
const selectedMetricIds = new Set(selectedCapabilities.map((capability) => capability.metricId));
|
|
485
|
+
const selectedDimensionIds = new Set(selectedCapabilities.flatMap((capability) => [
|
|
486
|
+
...capability.dimensions.map((dimension) => dimension.dimensionId),
|
|
487
|
+
...capability.timeDimensions.map((dimension) => dimension.dimensionId),
|
|
488
|
+
]));
|
|
489
|
+
const selectedEntityIds = new Set(selectedCapabilities.flatMap((capability) => [
|
|
490
|
+
capability.primaryEntityId,
|
|
491
|
+
...capability.resultGrainIds,
|
|
492
|
+
// A MetricFlow capability may safely expose a governed product/order
|
|
493
|
+
// grouping dimension whose entity differs from its primary aggregate
|
|
494
|
+
// entity. The frame records that declared entity grain for the output;
|
|
495
|
+
// rejecting it merely because it was not the metric's primary entity
|
|
496
|
+
// turns a complete customer-by-product program into a false "not
|
|
497
|
+
// retrieved" gap before semantic compilation can evaluate it.
|
|
498
|
+
...capability.dimensions.map((dimension) => dimension.entityId),
|
|
499
|
+
]));
|
|
407
500
|
const selectedChecks = [
|
|
408
501
|
['selected capability metric', frame.metricConceptIds, selectedMetricIds],
|
|
409
502
|
['selected capability entity grain', frame.entityGrainIds, selectedEntityIds],
|
|
@@ -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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"}
|
|
@@ -923,7 +923,7 @@ function removeFilterOnlyDimensionTerms(question, dimensions) {
|
|
|
923
923
|
return dimensions.filter((dimension) => !filterOnly.has(dimension));
|
|
924
924
|
}
|
|
925
925
|
function removeTemporalFilterDimensionTerms(question, dimensions, timeTerms) {
|
|
926
|
-
const relativeTemporalFilter = timeTerms.some((term) => /^(?:today|yesterday|ytd|mtd|qtd|wtd|(?:last|this|next|previous|prior)\s+)/.test(term));
|
|
926
|
+
const relativeTemporalFilter = timeTerms.some((term) => /^(?:today|yesterday|ytd|mtd|qtd|wtd|(?:last|this|next|previous|prior|past)\s+)/.test(term));
|
|
927
927
|
if (!relativeTemporalFilter)
|
|
928
928
|
return dimensions;
|
|
929
929
|
return dimensions.filter((dimension) => {
|
|
@@ -963,7 +963,7 @@ function extractFilterTerms(question, entities) {
|
|
|
963
963
|
.filter((entity) => entity.source !== 'quoted' || !isQuotedAnalyticalIdentifier(entity.text, question))
|
|
964
964
|
.map((entity) => entity.text),
|
|
965
965
|
...analyticalValues,
|
|
966
|
-
...Array.from(question.matchAll(/\b(?:last|this|next|previous|prior|current)\s+(
|
|
966
|
+
...Array.from(question.matchAll(/\b(?:last|this|next|previous|prior|current|past)\s+(?:(?:\d{1,3}|one|two|three|four|five|six|seven|eight|nine|ten|twelve)\s+)?(days?|weeks?|months?|quarters?|years?|seasons?)\b/gi)).map((match) => match[0].toLowerCase()),
|
|
967
967
|
]).slice(0, 16);
|
|
968
968
|
}
|
|
969
969
|
/**
|
|
@@ -1020,7 +1020,12 @@ function extractTimeTerms(question) {
|
|
|
1020
1020
|
// Relative determiners are temporal only when followed by a temporal noun.
|
|
1021
1021
|
// A broad `this \w+` match classified deictic result references such as
|
|
1022
1022
|
// "this amount" as a time grain and polluted both retrieval and SQL planning.
|
|
1023
|
-
|
|
1023
|
+
//
|
|
1024
|
+
// An optional COUNT is allowed between determiner and noun: "last two
|
|
1025
|
+
// months" and "past 60 days" are windows over time, and requiring adjacency
|
|
1026
|
+
// made them invisible — the window then degraded into a bare `month`
|
|
1027
|
+
// grouping dimension while its count was misread as a row limit.
|
|
1028
|
+
for (const match of question.matchAll(/\b(?:today|yesterday|ytd|mtd|qtd|wtd|(?:last|this|next|previous|prior|past)\s+(?:(?:\d{1,3}|one|two|three|four|five|six|seven|eight|nine|ten|twelve)\s+)?(?:(?:fiscal|calendar)\s+)?(?:hours?|days?|weeks?|months?|quarters?|years?|seasons?|periods?)|\d{4})\b/gi)) {
|
|
1024
1029
|
terms.push(match[0].toLowerCase());
|
|
1025
1030
|
}
|
|
1026
1031
|
for (const word of ['date', 'day', 'week', 'month', 'quarter', 'year', 'season', 'period']) {
|
|
@@ -1129,9 +1134,27 @@ function scalarValueQuestionUsesEntitiesAsMeasures(mode, lower, dimensions) {
|
|
|
1129
1134
|
return /\b(how many|how much|what is|what was|total|count|number of)\b/.test(lower)
|
|
1130
1135
|
&& !/\b(by|per|each|every|top|bottom|rank|ranking|list|which|who|break\s*down|breakdown|split|segment|trend|over time)\b/.test(lower);
|
|
1131
1136
|
}
|
|
1137
|
+
/**
|
|
1138
|
+
* "last two months" is a TIME WINDOW, not a ranking. `first` and `last` sit in
|
|
1139
|
+
* the rank-keyword alternation because "first 3 rows" / "last 5 customers" are
|
|
1140
|
+
* genuine limits — but when the counted noun is a unit of time, the phrase
|
|
1141
|
+
* restricts WHEN, not HOW MANY. Treating it as a limit produced the reported
|
|
1142
|
+
* silent wrongness: "last two month with high revenue by customer name" ran as
|
|
1143
|
+
* an unordered LIMIT 2 with no date filter, and the invented limit even
|
|
1144
|
+
* overrode the safe implicit top-10 the ranking words would have earned.
|
|
1145
|
+
*/
|
|
1146
|
+
const TOP_N_TIME_NOUN_RE = /^\s*(?:days?|weeks?|months?|quarters?|years?|seasons?|periods?|hours?|minutes?)\b/;
|
|
1147
|
+
function topNCountIsTimeWindow(lower, match) {
|
|
1148
|
+
const keyword = match[0].trim().split(/\s+/)[0];
|
|
1149
|
+
if (keyword !== 'first' && keyword !== 'last')
|
|
1150
|
+
return false;
|
|
1151
|
+
const rest = lower.slice((match.index ?? 0) + match[0].length);
|
|
1152
|
+
return TOP_N_TIME_NOUN_RE.test(rest);
|
|
1153
|
+
}
|
|
1132
1154
|
function parseTopN(question) {
|
|
1133
1155
|
const lower = question.toLowerCase();
|
|
1134
|
-
const
|
|
1156
|
+
const numericMatch = lower.match(/\b(?:top|bottom|first|last)\s+(\d{1,3})\b/);
|
|
1157
|
+
const numeric = numericMatch && !topNCountIsTimeWindow(lower, numericMatch) ? numericMatch : null;
|
|
1135
1158
|
const explicitN = numeric ? Number(numeric[1]) : wordNumberFromTopN(lower);
|
|
1136
1159
|
// A ranking request without a literal N still needs a bounded result contract.
|
|
1137
1160
|
// Ten is the product's concise table default; this prevents the provider from
|
|
@@ -1147,7 +1170,11 @@ function parseTopN(question) {
|
|
|
1147
1170
|
}
|
|
1148
1171
|
function hasImplicitRankingRequest(lower) {
|
|
1149
1172
|
return /\b(top|bottom|most|least|highest|lowest|largest|smallest|greatest|best|worst|leading)\b/.test(lower)
|
|
1150
|
-
|| hasComparativeMetricRanking(lower)
|
|
1173
|
+
|| hasComparativeMetricRanking(lower)
|
|
1174
|
+
// A bounded high/low next to a measure is a ranking ask even without a
|
|
1175
|
+
// rank keyword — direction alone changes nothing unless the implicit
|
|
1176
|
+
// bounded-result default fires with it.
|
|
1177
|
+
|| boundedHighLowDirection(lower) !== undefined;
|
|
1151
1178
|
}
|
|
1152
1179
|
function hasComparativeMetricRanking(lower) {
|
|
1153
1180
|
return /\bmore\s+(?:amount|bookings|cost|count|margin|orders?|points?|profit|quantity|revenue|sales|score|spend|spending|tax|usage|value|volume)\b/.test(lower);
|
|
@@ -1170,7 +1197,9 @@ function wordNumberFromTopN(lower) {
|
|
|
1170
1197
|
ten: 10,
|
|
1171
1198
|
};
|
|
1172
1199
|
const match = lower.match(/\b(?:top|bottom|first|last)\s+(one|two|three|four|five|six|seven|eight|nine|ten)\b/);
|
|
1173
|
-
|
|
1200
|
+
if (!match || topNCountIsTimeWindow(lower, match))
|
|
1201
|
+
return undefined;
|
|
1202
|
+
return words[match[1]];
|
|
1174
1203
|
}
|
|
1175
1204
|
// A required OUTPUT column is a hard contract on the result shape, so only a short,
|
|
1176
1205
|
// concrete identifier qualifies — never a multi-clause phrase scraped from the
|
|
@@ -1486,6 +1515,26 @@ function rankingDirectionCompatible(question, targetText) {
|
|
|
1486
1515
|
const targetDirection = rankingDirection(targetText);
|
|
1487
1516
|
return !targetDirection || targetDirection === questionDirection;
|
|
1488
1517
|
}
|
|
1518
|
+
/**
|
|
1519
|
+
* "high revenue" / "low margin" are ranking language, but bare `high|low` is
|
|
1520
|
+
* not: "high level overview" and "low priority" rank nothing. Bound the words
|
|
1521
|
+
* to a measure within the same clause, in either order ("high revenue",
|
|
1522
|
+
* "revenue is low"). Without this, "customers with high revenue" earned no
|
|
1523
|
+
* direction and no implicit limit — the plan was literally "limit N, no
|
|
1524
|
+
* order", which executed as an arbitrary unordered LIMIT.
|
|
1525
|
+
*/
|
|
1526
|
+
const RANKING_MEASURE_WORDS = 'revenue|sales|spend|spending|amount|count|orders?|margin|profit|value|volume|usage|cost|quantity|points?|score|tax|bookings';
|
|
1527
|
+
function boundedHighLowDirection(lower) {
|
|
1528
|
+
const high = new RegExp(`\\bhigh(?:est)?\\b(?!\\s*(?:-\\s*)?level\\b)(?=[^?.!,;]{0,40}\\b(?:${RANKING_MEASURE_WORDS})\\b)`).test(lower)
|
|
1529
|
+
|| new RegExp(`\\b(?:${RANKING_MEASURE_WORDS})\\b(?=[^?.!,;]{0,24}\\bhigh(?:est)?\\b)`).test(lower);
|
|
1530
|
+
const low = new RegExp(`\\blow(?:est)?\\b(?=[^?.!,;]{0,40}\\b(?:${RANKING_MEASURE_WORDS})\\b)`).test(lower)
|
|
1531
|
+
|| new RegExp(`\\b(?:${RANKING_MEASURE_WORDS})\\b(?=[^?.!,;]{0,24}\\blow(?:est)?\\b)`).test(lower);
|
|
1532
|
+
if (high && !low)
|
|
1533
|
+
return 'top';
|
|
1534
|
+
if (low && !high)
|
|
1535
|
+
return 'bottom';
|
|
1536
|
+
return undefined;
|
|
1537
|
+
}
|
|
1489
1538
|
function rankingDirection(value) {
|
|
1490
1539
|
const lower = value.toLowerCase();
|
|
1491
1540
|
const bottom = /\b(bottom|worst|lowest|least|fewest|minimum|min|smallest)\b/.test(lower)
|
|
@@ -1499,6 +1548,8 @@ function rankingDirection(value) {
|
|
|
1499
1548
|
return 'bottom';
|
|
1500
1549
|
if (top && !bottom)
|
|
1501
1550
|
return 'top';
|
|
1551
|
+
if (!top && !bottom)
|
|
1552
|
+
return boundedHighLowDirection(lower);
|
|
1502
1553
|
return undefined;
|
|
1503
1554
|
}
|
|
1504
1555
|
function scoreTerms(text, terms) {
|