@duckcodeailabs/dql-agent 1.13.5 → 1.14.1
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 +79 -4
- package/dist/agent-run-engine.d.ts.map +1 -1
- package/dist/agent-run-engine.js +457 -39
- 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 +13 -0
- 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 +42 -25
- package/dist/agent-run-store.js.map +1 -1
- package/dist/agentic/analyst-loop.d.ts +91 -0
- package/dist/agentic/analyst-loop.d.ts.map +1 -0
- package/dist/agentic/analyst-loop.js +311 -0
- package/dist/agentic/analyst-loop.js.map +1 -0
- package/dist/agentic/assumptions.d.ts +62 -0
- package/dist/agentic/assumptions.d.ts.map +1 -0
- package/dist/agentic/assumptions.js +73 -0
- package/dist/agentic/assumptions.js.map +1 -0
- package/dist/agentic/business-explanation.d.ts +56 -0
- package/dist/agentic/business-explanation.d.ts.map +1 -0
- package/dist/agentic/business-explanation.js +130 -0
- package/dist/agentic/business-explanation.js.map +1 -0
- package/dist/agentic/identifier-ledger.d.ts +74 -0
- package/dist/agentic/identifier-ledger.d.ts.map +1 -0
- package/dist/agentic/identifier-ledger.js +151 -0
- package/dist/agentic/identifier-ledger.js.map +1 -0
- package/dist/agentic/ledger-tools.d.ts +68 -0
- package/dist/agentic/ledger-tools.d.ts.map +1 -0
- package/dist/agentic/ledger-tools.js +198 -0
- package/dist/agentic/ledger-tools.js.map +1 -0
- package/dist/agentic/orchestrator-policy.d.ts +60 -0
- package/dist/agentic/orchestrator-policy.d.ts.map +1 -0
- package/dist/agentic/orchestrator-policy.js +73 -0
- package/dist/agentic/orchestrator-policy.js.map +1 -0
- package/dist/agentic/orchestrator.d.ts +54 -0
- package/dist/agentic/orchestrator.d.ts.map +1 -0
- package/dist/agentic/orchestrator.js +67 -0
- package/dist/agentic/orchestrator.js.map +1 -0
- package/dist/agentic/preview-tool.d.ts +36 -0
- package/dist/agentic/preview-tool.d.ts.map +1 -0
- package/dist/agentic/preview-tool.js +71 -0
- package/dist/agentic/preview-tool.js.map +1 -0
- package/dist/agentic/rerank.d.ts +50 -0
- package/dist/agentic/rerank.d.ts.map +1 -0
- package/dist/agentic/rerank.js +140 -0
- package/dist/agentic/rerank.js.map +1 -0
- package/dist/agentic/research/hypothesis.d.ts +110 -0
- package/dist/agentic/research/hypothesis.d.ts.map +1 -0
- package/dist/agentic/research/hypothesis.js +125 -0
- package/dist/agentic/research/hypothesis.js.map +1 -0
- package/dist/agentic/research/synthesis.d.ts +32 -0
- package/dist/agentic/research/synthesis.d.ts.map +1 -0
- package/dist/agentic/research/synthesis.js +94 -0
- package/dist/agentic/research/synthesis.js.map +1 -0
- package/dist/agentic/research-agent.d.ts +54 -0
- package/dist/agentic/research-agent.d.ts.map +1 -0
- package/dist/agentic/research-agent.js +176 -0
- package/dist/agentic/research-agent.js.map +1 -0
- package/dist/agentic/sql-authorization.d.ts +131 -0
- package/dist/agentic/sql-authorization.d.ts.map +1 -0
- package/dist/agentic/sql-authorization.js +232 -0
- package/dist/agentic/sql-authorization.js.map +1 -0
- package/dist/agentic/tool-loop.d.ts +29 -0
- package/dist/agentic/tool-loop.d.ts.map +1 -1
- package/dist/agentic/tool-loop.js +129 -52
- package/dist/agentic/tool-loop.js.map +1 -1
- package/dist/agentic/toolset.d.ts.map +1 -1
- package/dist/agentic/toolset.js +155 -0
- package/dist/agentic/toolset.js.map +1 -1
- package/dist/agentic/turn-plan.d.ts +35 -0
- package/dist/agentic/turn-plan.d.ts.map +1 -0
- package/dist/agentic/turn-plan.js +108 -0
- package/dist/agentic/turn-plan.js.map +1 -0
- package/dist/agentic/value-probe.d.ts +89 -0
- package/dist/agentic/value-probe.d.ts.map +1 -0
- package/dist/agentic/value-probe.js +304 -0
- package/dist/agentic/value-probe.js.map +1 -0
- package/dist/analytical-orchestration.d.ts +336 -0
- package/dist/analytical-orchestration.d.ts.map +1 -0
- package/dist/analytical-orchestration.js +631 -0
- package/dist/analytical-orchestration.js.map +1 -0
- package/dist/analytical-request-policy.d.ts +26 -0
- package/dist/analytical-request-policy.d.ts.map +1 -0
- package/dist/analytical-request-policy.js +82 -0
- package/dist/analytical-request-policy.js.map +1 -0
- package/dist/analytical-result-facts.d.ts +14 -1
- package/dist/analytical-result-facts.d.ts.map +1 -1
- package/dist/analytical-result-facts.js +76 -1
- package/dist/analytical-result-facts.js.map +1 -1
- package/dist/answer-loop.d.ts +61 -16
- package/dist/answer-loop.d.ts.map +1 -1
- package/dist/answer-loop.js +256 -36
- package/dist/answer-loop.js.map +1 -1
- package/dist/cascade/budgets.d.ts.map +1 -1
- package/dist/cascade/budgets.js +8 -1
- package/dist/cascade/budgets.js.map +1 -1
- package/dist/cascade/packer.d.ts +88 -0
- package/dist/cascade/packer.d.ts.map +1 -0
- package/dist/cascade/packer.js +106 -0
- package/dist/cascade/packer.js.map +1 -0
- package/dist/conversation/result-ops.d.ts +18 -3
- package/dist/conversation/result-ops.d.ts.map +1 -1
- package/dist/conversation/result-ops.js +77 -5
- package/dist/conversation/result-ops.js.map +1 -1
- package/dist/conversation/rolling-summary.d.ts.map +1 -1
- package/dist/conversation/rolling-summary.js +7 -2
- package/dist/conversation/rolling-summary.js.map +1 -1
- package/dist/conversation/session-store.d.ts +3 -0
- package/dist/conversation/session-store.d.ts.map +1 -1
- package/dist/conversation/session-store.js +8 -4
- package/dist/conversation/session-store.js.map +1 -1
- package/dist/conversation/snapshot.d.ts.map +1 -1
- package/dist/conversation/snapshot.js +13 -1
- package/dist/conversation/snapshot.js.map +1 -1
- package/dist/conversation/turn-trust.d.ts.map +1 -1
- package/dist/conversation/turn-trust.js +6 -0
- package/dist/conversation/turn-trust.js.map +1 -1
- package/dist/hints/store.d.ts.map +1 -1
- package/dist/hints/store.js +15 -5
- package/dist/hints/store.js.map +1 -1
- package/dist/index.d.ts +27 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -4
- package/dist/index.js.map +1 -1
- package/dist/intent-controller.d.ts +8 -0
- package/dist/intent-controller.d.ts.map +1 -1
- package/dist/intent-controller.js +65 -0
- package/dist/intent-controller.js.map +1 -1
- package/dist/meaning-resolution.d.ts +7 -0
- package/dist/meaning-resolution.d.ts.map +1 -1
- package/dist/meaning-resolution.js.map +1 -1
- package/dist/metadata/block-fit.d.ts +18 -0
- package/dist/metadata/block-fit.d.ts.map +1 -1
- package/dist/metadata/block-fit.js +41 -1
- package/dist/metadata/block-fit.js.map +1 -1
- package/dist/metadata/catalog.d.ts +44 -23
- package/dist/metadata/catalog.d.ts.map +1 -1
- package/dist/metadata/catalog.js +363 -53
- package/dist/metadata/catalog.js.map +1 -1
- package/dist/metadata/meaning-evidence.d.ts.map +1 -1
- package/dist/metadata/meaning-evidence.js +101 -8
- package/dist/metadata/meaning-evidence.js.map +1 -1
- package/dist/metadata/metric-match.d.ts +32 -0
- package/dist/metadata/metric-match.d.ts.map +1 -1
- package/dist/metadata/metric-match.js +120 -9
- package/dist/metadata/metric-match.js.map +1 -1
- package/dist/research-loop.d.ts +33 -2
- package/dist/research-loop.d.ts.map +1 -1
- package/dist/research-loop.js +44 -4
- package/dist/research-loop.js.map +1 -1
- package/dist/resolved-analytical-plan.d.ts.map +1 -1
- package/dist/resolved-analytical-plan.js +92 -5
- package/dist/resolved-analytical-plan.js.map +1 -1
- package/dist/router.d.ts +36 -16
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +604 -25
- package/dist/router.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answer-loop.d.ts","sourceRoot":"","sources":["../src/answer-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"answer-loop.d.ts","sourceRoot":"","sources":["../src/answer-loop.ts"],"names":[],"mappings":"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"}
|
package/dist/answer-loop.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { packContext } from './cascade/packer.js';
|
|
1
2
|
/**
|
|
2
3
|
* Dynamic-first governed answer loop.
|
|
3
4
|
*
|
|
@@ -26,7 +27,7 @@ import { domainContextSearchDomains } from './domain-context.js';
|
|
|
26
27
|
import { deriveGeneratedDraftSlug, renderGeneratedSqlDqlArtifact } from './metadata/drafts.js';
|
|
27
28
|
import { buildAnalysisQuestionPlan } from './metadata/analysis-planner.js';
|
|
28
29
|
import { certifiedFitAllowsTier1, certifiedTerminationVerdict, evaluateCertifiedBlockFit } from './metadata/block-fit.js';
|
|
29
|
-
import { buildGovernedMetricFirstSql, matchSemanticMetric, resolveGovernedMetricDefinition, resolveGovernedMetricSql } from './metadata/metric-match.js';
|
|
30
|
+
import { buildGovernedMetricFirstSql, matchSemanticMetric, resolveGovernedMetricDefinition, resolveGovernedMetricSql, semanticMetricEmbeddingOptions } from './metadata/metric-match.js';
|
|
30
31
|
import { decideAgentAction } from './intent-controller.js';
|
|
31
32
|
import { createContextLedger } from './grounding/context-ledger.js';
|
|
32
33
|
import { validateAnswerResultShape } from './answer-shape.js';
|
|
@@ -421,7 +422,35 @@ const MANIFEST_KINDS = ['dbt_model', 'dbt_source'];
|
|
|
421
422
|
* surface shows THIS; the validator's machine message (relation ids, repair
|
|
422
423
|
* tool guidance) belongs in refusalDetails/validationWarnings only.
|
|
423
424
|
*/
|
|
424
|
-
|
|
425
|
+
/**
|
|
426
|
+
* Name the ONE aggregation check that actually fired.
|
|
427
|
+
*
|
|
428
|
+
* The refusal used to list all four possible causes — "rounding too early,
|
|
429
|
+
* losing decimal precision, summing a non-additive value, or multiplying rows
|
|
430
|
+
* across a join" — because the specific one was never plumbed into the message.
|
|
431
|
+
* The system knows: `aggregationIntegrityIssuesForSql` classifies each issue and
|
|
432
|
+
* the proof carries the codes. A menu of four causes reads as "something is
|
|
433
|
+
* wrong somewhere", which is exactly the report a user cannot act on.
|
|
434
|
+
*/
|
|
435
|
+
function aggregationRefusalReason(issueCodes = []) {
|
|
436
|
+
const codes = new Set(issueCodes.map((code) => code.toUpperCase()));
|
|
437
|
+
// Ordered by how badly each distorts the number, so a query tripping several
|
|
438
|
+
// leads with the one that matters most.
|
|
439
|
+
if (codes.has('FANOUT')) {
|
|
440
|
+
return 'joining those tables multiplies rows, so the total would be inflated. Aggregate at the row-level grain first, then join';
|
|
441
|
+
}
|
|
442
|
+
if (codes.has('NON_ADDITIVE_MEASURE')) {
|
|
443
|
+
return 'it sums a measure that is not additive (an average or a ratio cannot be added up). Ask for the governed metric, which carries the right rule';
|
|
444
|
+
}
|
|
445
|
+
if (codes.has('PREMATURE_ROUNDING')) {
|
|
446
|
+
return 'it rounds each value before adding them, which loses money at scale. Rounding belongs on the final total';
|
|
447
|
+
}
|
|
448
|
+
if (codes.has('LOSSY_NUMERIC_CAST')) {
|
|
449
|
+
return 'it converts amounts to floating point before adding them, which drifts on decimal currency';
|
|
450
|
+
}
|
|
451
|
+
return undefined;
|
|
452
|
+
}
|
|
453
|
+
export function renderContextValidationRefusalForUser(code, machineError, memberBindings, aggregationIssueCodes) {
|
|
425
454
|
switch (code) {
|
|
426
455
|
case 'unknown_relation':
|
|
427
456
|
return 'I drafted a query, but it uses a table that was not part of the metadata retrieved for this question, so I did not run it. Ask again (retrieval usually finds it on a follow-up), name the table or metric explicitly, or re-sync the dbt metadata.';
|
|
@@ -438,8 +467,15 @@ function renderContextValidationRefusalForUser(code, machineError, memberBinding
|
|
|
438
467
|
return 'This comparison needs a baseline period or value that the drafted query did not include. Say what to compare against (for example, the prior month) and I will run it.';
|
|
439
468
|
case 'unsafe_sql':
|
|
440
469
|
return 'The drafted query used a statement type that is not allowed in this governed preview, so I did not run it.';
|
|
441
|
-
case 'unsafe_aggregation':
|
|
442
|
-
|
|
470
|
+
case 'unsafe_aggregation': {
|
|
471
|
+
const reason = aggregationRefusalReason(aggregationIssueCodes);
|
|
472
|
+
if (reason) {
|
|
473
|
+
return `I drafted a query but did not run it, because ${reason}. Ask for the governed metric and I will use the safe version.`;
|
|
474
|
+
}
|
|
475
|
+
// No classified code reached us — say that plainly rather than listing
|
|
476
|
+
// every cause as if one of them were known to apply.
|
|
477
|
+
return 'I drafted a query, but it would change how the metric is calculated, so I did not run it. Ask for the governed semantic metric and I will use the safe version.';
|
|
478
|
+
}
|
|
443
479
|
case 'insufficient_context':
|
|
444
480
|
if (/could not be parsed|parse error|syntax/i.test(machineError)) {
|
|
445
481
|
return 'I drafted a query, but its SQL syntax did not match the connected warehouse, so I did not run it. The failed draft is available in Inspect; retrying will generate a warehouse-specific query.';
|
|
@@ -601,7 +637,10 @@ function tryCrossResultAnswer(input) {
|
|
|
601
637
|
const prior = input.followUp?.priorResult;
|
|
602
638
|
if (!prior || !Array.isArray(prior.rows) || prior.rows.length === 0)
|
|
603
639
|
return null;
|
|
604
|
-
|
|
640
|
+
// Pass the prior result's shape so a follow-up that names one of its columns
|
|
641
|
+
// ("what's the average lifetime_spend?") is recognised without requiring a
|
|
642
|
+
// demonstrative pronoun.
|
|
643
|
+
const op = detectResultSetOperation(input.question, prior);
|
|
605
644
|
if (!op)
|
|
606
645
|
return null;
|
|
607
646
|
const computed = computeResultSetOperation(op, prior);
|
|
@@ -696,6 +735,10 @@ async function freezeLegacySemanticSelection(input) {
|
|
|
696
735
|
const match = await matchSemanticMetric(input.question, metricNodes, {
|
|
697
736
|
measureTerms: [...questionPlan.requestedShape.measures, ...questionPlan.metricTerms],
|
|
698
737
|
...(semanticLayer ? { canExecute: (name) => semanticLayer.canComposeMetric(name) } : {}),
|
|
738
|
+
...(snapshotVectorMetricShortlist(input.contextPack).length
|
|
739
|
+
? { vectorMetricShortlist: snapshotVectorMetricShortlist(input.contextPack) }
|
|
740
|
+
: {}),
|
|
741
|
+
...semanticMetricEmbeddingOptions(input.embeddingProvider),
|
|
699
742
|
}).catch(() => null);
|
|
700
743
|
if (!match)
|
|
701
744
|
return undefined;
|
|
@@ -813,6 +856,26 @@ async function freezeLegacySemanticSelection(input) {
|
|
|
813
856
|
mode: 'authoritative',
|
|
814
857
|
});
|
|
815
858
|
}
|
|
859
|
+
/**
|
|
860
|
+
* Reuse the immutable context pack's independent vector lane. Metric matching
|
|
861
|
+
* never opens the catalog or runs a second metadata retrieval pass; it only
|
|
862
|
+
* narrows its vector-only candidate admission to IDs already retrieved for this
|
|
863
|
+
* request snapshot.
|
|
864
|
+
*/
|
|
865
|
+
function snapshotVectorMetricShortlist(contextPack) {
|
|
866
|
+
const lane = contextPack?.retrievalDiagnostics.lanes?.find((item) => item.lane === 'vector');
|
|
867
|
+
if (!lane?.candidates.length || !contextPack)
|
|
868
|
+
return [];
|
|
869
|
+
const objects = new Map(contextPack.objects.map((object) => [object.objectKey, object]));
|
|
870
|
+
const result = [];
|
|
871
|
+
for (const candidate of lane.candidates) {
|
|
872
|
+
const object = objects.get(candidate.objectKey);
|
|
873
|
+
if (!object || (object.objectType !== 'semantic_metric' && object.objectType !== 'semantic_measure'))
|
|
874
|
+
continue;
|
|
875
|
+
result.push(candidate.objectKey, object.name);
|
|
876
|
+
}
|
|
877
|
+
return [...new Set(result)];
|
|
878
|
+
}
|
|
816
879
|
export async function answer(input) {
|
|
817
880
|
const inheritedPlan = !input.resolvedAnalyticalPlan
|
|
818
881
|
&& input.followUp?.priorResolvedAnalyticalPlan
|
|
@@ -1543,6 +1606,10 @@ async function runAnswerLoop(input) {
|
|
|
1543
1606
|
: await matchSemanticMetric(semanticQuestion, semanticMetricNodes, {
|
|
1544
1607
|
measureTerms: [...questionPlan.requestedShape.measures, ...questionPlan.metricTerms],
|
|
1545
1608
|
...(canExecuteSemanticMetricForMatch ? { canExecute: canExecuteSemanticMetricForMatch } : {}),
|
|
1609
|
+
...(snapshotVectorMetricShortlist(input.contextPack).length
|
|
1610
|
+
? { vectorMetricShortlist: snapshotVectorMetricShortlist(input.contextPack) }
|
|
1611
|
+
: {}),
|
|
1612
|
+
...semanticMetricEmbeddingOptions(input.embeddingProvider),
|
|
1546
1613
|
}).catch(() => null);
|
|
1547
1614
|
// Stage 1: certified artifact match. Blocks can be executed; dashboards,
|
|
1548
1615
|
// Apps, and notebooks are returned as governed citations/navigation targets.
|
|
@@ -1942,6 +2009,13 @@ async function runAnswerLoop(input) {
|
|
|
1942
2009
|
?? renderSingleEntityModelingPrompt(analyticalPlan, input.manifest);
|
|
1943
2010
|
if (analyticalPlanPrompt)
|
|
1944
2011
|
messages.push({ role: 'system', content: analyticalPlanPrompt });
|
|
2012
|
+
const attributeLookup = isMetricIndependentAttributeLookup(question, questionPlan, input.followUp);
|
|
2013
|
+
if (attributeLookup) {
|
|
2014
|
+
messages.push({
|
|
2015
|
+
role: 'system',
|
|
2016
|
+
content: renderAttributeLookupInstruction(questionPlan, input.followUp),
|
|
2017
|
+
});
|
|
2018
|
+
}
|
|
1945
2019
|
if (questionDomainScope.length > 0) {
|
|
1946
2020
|
messages.push({
|
|
1947
2021
|
role: 'system',
|
|
@@ -2310,7 +2384,18 @@ async function runAnswerLoop(input) {
|
|
|
2310
2384
|
onCompiled: (record) => compiledSemanticRecords.push(record),
|
|
2311
2385
|
}),
|
|
2312
2386
|
];
|
|
2313
|
-
if (
|
|
2387
|
+
if (input.forcedGeneratedProposal) {
|
|
2388
|
+
// The analyst loop already did its provider/tool work. Re-entering ordinary
|
|
2389
|
+
// generation here would create a second proposal whose SQL is not covered
|
|
2390
|
+
// by the request-scoped execution capability.
|
|
2391
|
+
parsed = {
|
|
2392
|
+
sql: input.forcedGeneratedProposal.sql,
|
|
2393
|
+
text: input.forcedGeneratedProposal.summary
|
|
2394
|
+
?? 'Prepared from identifiers observed during this bounded analyst run. Review-required until an analyst promotes it.',
|
|
2395
|
+
...(input.forcedGeneratedProposal.suggestedViz ? { viz: input.forcedGeneratedProposal.suggestedViz } : {}),
|
|
2396
|
+
};
|
|
2397
|
+
}
|
|
2398
|
+
else if (semanticBridgeAnswer) {
|
|
2314
2399
|
governedMetricAnswer = true;
|
|
2315
2400
|
parsed = {
|
|
2316
2401
|
sql: semanticBridgeAnswer.sql,
|
|
@@ -2415,12 +2500,21 @@ async function runAnswerLoop(input) {
|
|
|
2415
2500
|
const budgetCode = err && typeof err === 'object' && 'code' in err
|
|
2416
2501
|
? String(err.code)
|
|
2417
2502
|
: '';
|
|
2503
|
+
// Admission control is NOT an exhausted clock. `RUN_DEADLINE_INSUFFICIENT`
|
|
2504
|
+
// means DQL declined to START a call it predicted would not fit in the
|
|
2505
|
+
// remaining budget — it can fire seconds into a run, and a compound turn's
|
|
2506
|
+
// second task hit it after 6.4s of a 45s budget. Sharing the "stopped at
|
|
2507
|
+
// its own time budget" wording with the genuine soft-target codes told the
|
|
2508
|
+
// reader the run ran out of time when most of it remained, sending them to
|
|
2509
|
+
// debug latency instead of the estimate.
|
|
2510
|
+
const admissionDeclined = budgetCode === 'RUN_DEADLINE_INSUFFICIENT';
|
|
2418
2511
|
const orchestrationBudget = budgetCode === 'RUN_SOFT_TARGET_EXCEEDED'
|
|
2419
|
-
|| budgetCode === 'PROVIDER_DISPATCH_BUDGET_EXHAUSTED'
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2512
|
+
|| budgetCode === 'PROVIDER_DISPATCH_BUDGET_EXHAUSTED';
|
|
2513
|
+
const text = admissionDeclined
|
|
2514
|
+
? `DQL did not start another AI call because it estimated the call would not finish inside this run's remaining budget, so the run stopped early rather than mid-flight. The AI provider did not fail and the time limit was not necessarily reached. ${err.message} Retry, or use Research for a longer budget.`
|
|
2515
|
+
: orchestrationBudget
|
|
2516
|
+
? 'DQL stopped this run at its own time budget before the query could be settled. The AI provider did not fail. Retry, or use Research for a longer budget.'
|
|
2517
|
+
: `Provider error: ${err.message}`;
|
|
2424
2518
|
return {
|
|
2425
2519
|
kind: 'no_answer',
|
|
2426
2520
|
sourceTier: 'no_answer',
|
|
@@ -2487,7 +2581,7 @@ async function runAnswerLoop(input) {
|
|
|
2487
2581
|
let deepCandidateResult;
|
|
2488
2582
|
let deepCandidateExecutionError;
|
|
2489
2583
|
let deepCandidateNotes = [];
|
|
2490
|
-
if (!governedMetricAnswer && input.analysisDepth === 'deep' && parsed.sql) {
|
|
2584
|
+
if (!input.forcedGeneratedProposal && !governedMetricAnswer && input.analysisDepth === 'deep' && parsed.sql) {
|
|
2491
2585
|
const selection = await selectDeepGeneratedProposalCandidate({
|
|
2492
2586
|
provider,
|
|
2493
2587
|
messages,
|
|
@@ -2605,7 +2699,9 @@ async function runAnswerLoop(input) {
|
|
|
2605
2699
|
? analyticalPlan.userFacingReason
|
|
2606
2700
|
?? analyticalPolicyUserFacingReason(analyticalPlan.code ?? 'unsafe_relationship', analyticalPlan.entities)
|
|
2607
2701
|
: declinedDespiteContext
|
|
2608
|
-
?
|
|
2702
|
+
? attributeLookup
|
|
2703
|
+
? 'I could not resolve the requested attribute from the available metadata. I preserved the conversation member, but the inspected models do not prove a relationship to that attribute. Tell me the exact field or table, or re-sync the dbt metadata, and I can prepare a review-required lookup.'
|
|
2704
|
+
: 'I could not compose a governed query for this from the available tables and metrics. This usually needs a clearer join path or an explicit metric and grouping — name the specific measure and how to break it down, and I can generate a review-required draft.'
|
|
2609
2705
|
: parsed.text || 'No answer (the model declined to propose SQL).';
|
|
2610
2706
|
return {
|
|
2611
2707
|
kind: 'no_answer',
|
|
@@ -2687,7 +2783,12 @@ async function runAnswerLoop(input) {
|
|
|
2687
2783
|
};
|
|
2688
2784
|
}
|
|
2689
2785
|
}
|
|
2690
|
-
|
|
2786
|
+
// The analyst capability binds the exact composed bytes. Any projection
|
|
2787
|
+
// tightening is a new SQL proposal and therefore must wait for a fresh
|
|
2788
|
+
// analyst pass/capability rather than silently rewriting this one.
|
|
2789
|
+
const tightenedFlow = input.forcedGeneratedProposal
|
|
2790
|
+
? undefined
|
|
2791
|
+
: tightenSourceTargetFlowProjection(parsed.sql, question, questionPlan);
|
|
2691
2792
|
if (tightenedFlow && tightenedFlow.sql !== parsed.sql) {
|
|
2692
2793
|
parsed.sql = tightenedFlow.sql;
|
|
2693
2794
|
parsed.outputs = tightenedFlow.outputs;
|
|
@@ -2705,7 +2806,7 @@ async function runAnswerLoop(input) {
|
|
|
2705
2806
|
// model emitted to its real warehouse relation from the runtime schema BEFORE
|
|
2706
2807
|
// governance validation. Same resolver the build path uses — one grounding,
|
|
2707
2808
|
// no weak path. `allowedSqlContext` relations are already qualified.
|
|
2708
|
-
if (parsed.sql) {
|
|
2809
|
+
if (parsed.sql && !input.forcedGeneratedProposal) {
|
|
2709
2810
|
parsed.sql = contextLedger.qualifySql(parsed.sql).sql;
|
|
2710
2811
|
}
|
|
2711
2812
|
// Validation gate. Governed metric SQL synthesized from the semantic layer is
|
|
@@ -2822,7 +2923,8 @@ async function runAnswerLoop(input) {
|
|
|
2822
2923
|
// that predicate entirely, inject it deterministically before spending the
|
|
2823
2924
|
// bounded AI validation repair. Misbound or ambiguous predicates are never
|
|
2824
2925
|
// rewritten here; they continue through the guarded correction/refusal path.
|
|
2825
|
-
if (!
|
|
2926
|
+
if (!input.forcedGeneratedProposal
|
|
2927
|
+
&& !contextValidation.ok
|
|
2826
2928
|
&& contextValidation.code === 'misbound_filter'
|
|
2827
2929
|
&& !contextValidation.offending?.relation
|
|
2828
2930
|
&& !contextValidation.offending?.column
|
|
@@ -2874,7 +2976,8 @@ async function runAnswerLoop(input) {
|
|
|
2874
2976
|
// stands instead of guessing a measure.
|
|
2875
2977
|
// 2) Otherwise fall back to a CLEAN governed-metric definition (direct or exact
|
|
2876
2978
|
// leaf-measure; no fuzzy family guess that could answer the wrong measure).
|
|
2877
|
-
if (!
|
|
2979
|
+
if (!input.forcedGeneratedProposal
|
|
2980
|
+
&& !contextValidation.ok && contextValidation.code !== 'unsafe_aggregation' && semanticMetricRoute && semanticMetricMatch && !rankedGrainGap) {
|
|
2878
2981
|
const grounded = contextLedger.validateRuntimeGrounding(parsed.sql);
|
|
2879
2982
|
// Runtime grounding proves that relations and columns exist; it cannot prove
|
|
2880
2983
|
// that a resolved business member was bound to the right dimension. Never
|
|
@@ -2904,7 +3007,8 @@ async function runAnswerLoop(input) {
|
|
|
2904
3007
|
// nothing, or found the table and something else rejected the SQL — which are
|
|
2905
3008
|
// three different fixes.
|
|
2906
3009
|
let regroundDiagnostic;
|
|
2907
|
-
if (!
|
|
3010
|
+
if (!input.forcedGeneratedProposal
|
|
3011
|
+
&& !contextValidation.ok && contextValidation.code !== 'unsafe_aggregation' && !governedMetricAnswer && input.expandGroundingContext && canUseLaneRepair(repairBudgetState, 'reground')) {
|
|
2908
3012
|
recordLaneRepair(repairBudgetState, 'reground');
|
|
2909
3013
|
try {
|
|
2910
3014
|
const expansion = await input.expandGroundingContext({
|
|
@@ -3001,6 +3105,7 @@ async function runAnswerLoop(input) {
|
|
|
3001
3105
|
&& input.resolvedAnalyticalPlan?.mode !== 'authoritative'
|
|
3002
3106
|
&& !semanticAggregationAuthorityBlocked
|
|
3003
3107
|
&& !governedMetricAnswer
|
|
3108
|
+
&& !input.forcedGeneratedProposal
|
|
3004
3109
|
&& canUseLaneRepair(repairBudgetState, 'validation')) {
|
|
3005
3110
|
recordLaneRepair(repairBudgetState, 'validation');
|
|
3006
3111
|
try {
|
|
@@ -3076,7 +3181,7 @@ async function runAnswerLoop(input) {
|
|
|
3076
3181
|
// Business-language chat text; the validator's machine message (with
|
|
3077
3182
|
// relation ids and tool guidance for the repair prompt) stays in
|
|
3078
3183
|
// refusalDetails + validationWarnings for the Inspect surface.
|
|
3079
|
-
const text = renderContextValidationRefusalForUser(contextValidation.code, contextValidation.error, input.followUp?.memberBindings);
|
|
3184
|
+
const text = renderContextValidationRefusalForUser(contextValidation.code, contextValidation.error, input.followUp?.memberBindings, contextValidation.aggregationSafetyProof?.issueCodes);
|
|
3080
3185
|
const analysisPlan = buildAnalysisPlan({
|
|
3081
3186
|
question,
|
|
3082
3187
|
intent,
|
|
@@ -3265,8 +3370,6 @@ async function runAnswerLoop(input) {
|
|
|
3265
3370
|
&& semanticBridgeAnswer?.sql.trim() === parsed.sql?.trim()) {
|
|
3266
3371
|
return input.executeDqlArtifact({ ...semanticArtifact, limit: requestedLimit });
|
|
3267
3372
|
}
|
|
3268
|
-
if (!input.executeGeneratedSql)
|
|
3269
|
-
throw new Error('No generated SQL executor is configured.');
|
|
3270
3373
|
const artifact = buildGeneratedSqlDqlArtifact({
|
|
3271
3374
|
question,
|
|
3272
3375
|
sql: parsed.sql,
|
|
@@ -3282,9 +3385,20 @@ async function runAnswerLoop(input) {
|
|
|
3282
3385
|
validationWarnings: [...contextValidation.warnings, ...deepCandidateNotes],
|
|
3283
3386
|
outputs: parsed.outputs,
|
|
3284
3387
|
});
|
|
3285
|
-
|
|
3388
|
+
const boundedArtifact = artifact ? { ...artifact, limit: requestedLimit } : undefined;
|
|
3389
|
+
if (input.forcedGeneratedProposal) {
|
|
3390
|
+
if (!input.agenticSqlExecutionCapability || !input.executeAgenticGeneratedSql) {
|
|
3391
|
+
throw Object.assign(new Error('The analyst-approved SQL has no live execution capability, so DQL did not execute it.'), {
|
|
3392
|
+
code: 'AGENTIC_EXECUTION_CAPABILITY_REQUIRED',
|
|
3393
|
+
});
|
|
3394
|
+
}
|
|
3395
|
+
return input.executeAgenticGeneratedSql(input.agenticSqlExecutionCapability, parsed.sql, boundedArtifact);
|
|
3396
|
+
}
|
|
3397
|
+
if (!input.executeGeneratedSql)
|
|
3398
|
+
throw new Error('No generated SQL executor is configured.');
|
|
3399
|
+
return input.executeGeneratedSql(parsed.sql, boundedArtifact);
|
|
3286
3400
|
};
|
|
3287
|
-
if (input.executeGeneratedSql && !result) {
|
|
3401
|
+
if ((input.executeGeneratedSql || (input.forcedGeneratedProposal && input.executeAgenticGeneratedSql)) && !result) {
|
|
3288
3402
|
// Fanout gate for native semantic direct-joins: a duplicate join-key row on
|
|
3289
3403
|
// the joined side multiplies fact rows BEFORE aggregation, so every summed
|
|
3290
3404
|
// value inflates silently (seen in the field as trillions-scale "governed"
|
|
@@ -3293,6 +3407,8 @@ async function runAnswerLoop(input) {
|
|
|
3293
3407
|
// repair, which would regenerate the same multiplying join.
|
|
3294
3408
|
let fanoutContradiction = false;
|
|
3295
3409
|
if (!executionError
|
|
3410
|
+
&& !input.forcedGeneratedProposal
|
|
3411
|
+
&& input.executeGeneratedSql
|
|
3296
3412
|
&& semanticBridgeAnswer?.composeResult?.fanoutProbeSql
|
|
3297
3413
|
&& semanticBridgeAnswer.sql.trim() === parsed.sql?.trim()) {
|
|
3298
3414
|
const inflationError = await probeSemanticJoinFanout(semanticBridgeAnswer.composeResult.fanoutProbeSql, semanticBridgeAnswer.composeResult.tables, input.executeGeneratedSql);
|
|
@@ -3309,7 +3425,7 @@ async function runAnswerLoop(input) {
|
|
|
3309
3425
|
warehouseFailure = normalizeWarehouseSqlFailure(err, input.semanticDriver);
|
|
3310
3426
|
executionError = warehouseFailure.redactedMessage;
|
|
3311
3427
|
}
|
|
3312
|
-
if (executionError && !fanoutContradiction && !authoritativeSemanticBinding) {
|
|
3428
|
+
if (executionError && !input.forcedGeneratedProposal && !fanoutContradiction && !authoritativeSemanticBinding) {
|
|
3313
3429
|
warehouseFailure ??= normalizeWarehouseSqlFailure(executionError, input.semanticDriver);
|
|
3314
3430
|
if (isRetryableGeneratedSqlError(warehouseFailure)) {
|
|
3315
3431
|
const localRepairSql = repairGeneratedSqlLocally(parsed.sql, executionError, schemaContext);
|
|
@@ -5033,6 +5149,77 @@ function renderContextPrompt(blocks, businessContext, others, activeTier, memory
|
|
|
5033
5149
|
: '';
|
|
5034
5150
|
return `${intentSection}${budgetSection}${dialectSection}\n\n${blockSection}${businessSection}${otherSection}${kgJoinSection}${schemaSection}${contextPackSection}${memorySection}${hintsSection}${conversationSection}${extraSection}${followUpSection}`;
|
|
5035
5151
|
}
|
|
5152
|
+
const ATTRIBUTE_LOOKUP_CONCEPTS = new Set([
|
|
5153
|
+
'account', 'category', 'channel', 'city', 'country', 'department', 'description',
|
|
5154
|
+
'industry', 'label', 'location', 'market', 'name', 'owner', 'region', 'segment',
|
|
5155
|
+
'state', 'status', 'team', 'tier', 'title', 'type', 'user',
|
|
5156
|
+
]);
|
|
5157
|
+
/**
|
|
5158
|
+
* Attribute questions are valid analytical asks even when they have no
|
|
5159
|
+
* measure. A conversational reference such as "what region does he belong to?"
|
|
5160
|
+
* carries a typed member binding from the prior result; forcing a metric here
|
|
5161
|
+
* turns a straightforward dimensional lookup into the old generic governed
|
|
5162
|
+
* error. Keep this as a generation hint, not a deterministic semantic match:
|
|
5163
|
+
* the provider still has to choose a relation and the SQL guard still proves
|
|
5164
|
+
* the resulting query. AGT-031.
|
|
5165
|
+
*/
|
|
5166
|
+
function isMetricIndependentAttributeLookup(question, questionPlan, followUp) {
|
|
5167
|
+
if (questionPlan.mode === 'ranking' || questionPlan.mode === 'comparison' || questionPlan.mode === 'definition')
|
|
5168
|
+
return false;
|
|
5169
|
+
const lower = question.toLowerCase();
|
|
5170
|
+
// Follow-up planning intentionally carries the previous measure so that a
|
|
5171
|
+
// refinement such as "and by region?" remains grounded. That carry must not
|
|
5172
|
+
// turn a new attribute request into a metric request. Only a measure named in
|
|
5173
|
+
// this question (or a non-carried custom term) disables this lane.
|
|
5174
|
+
const carriedTerms = new Set([
|
|
5175
|
+
...(followUp?.priorMeasures ?? []),
|
|
5176
|
+
...(followUp?.priorResultColumns ?? []),
|
|
5177
|
+
...(followUp?.priorDqlArtifact?.metrics ?? []),
|
|
5178
|
+
].map((term) => term.toLowerCase().replace(/[_-]+/g, ' ').trim()));
|
|
5179
|
+
const carriedOnly = (term) => carriedTerms.has(term.toLowerCase().replace(/[_-]+/g, ' ').trim());
|
|
5180
|
+
const directMeasures = questionPlan.requestedShape.measures.filter((term) => !carriedOnly(term));
|
|
5181
|
+
const directMetricTerms = questionPlan.metricTerms.filter((term) => !carriedOnly(term));
|
|
5182
|
+
if (directMeasures.length > 0 || directMetricTerms.length > 0)
|
|
5183
|
+
return false;
|
|
5184
|
+
if (/\b(?:revenue|sales?|amount|spend|cost|margin|profit|orders?|count|quantity|units?|value|rate|score|usage|growth|churn|conversion|tax)\b/i.test(lower))
|
|
5185
|
+
return false;
|
|
5186
|
+
const attributeTerms = new Set([
|
|
5187
|
+
...questionPlan.dimensionTerms,
|
|
5188
|
+
...questionPlan.requestedShape.dimensions,
|
|
5189
|
+
...questionPlan.requestedShape.requiredOutputs,
|
|
5190
|
+
].map((term) => term.toLowerCase().replace(/[_-]+/g, ' ').trim()));
|
|
5191
|
+
const hasAttribute = Array.from(attributeTerms).some((term) => {
|
|
5192
|
+
if (!term)
|
|
5193
|
+
return false;
|
|
5194
|
+
return ATTRIBUTE_LOOKUP_CONCEPTS.has(term) || Array.from(ATTRIBUTE_LOOKUP_CONCEPTS).some((concept) => new RegExp(`\\b${concept}\\b`, 'i').test(term));
|
|
5195
|
+
}) || /\b(?:region|segment|category|channel|location|country|state|city|status|type|name|label|title|description)\b/i.test(lower);
|
|
5196
|
+
if (!hasAttribute)
|
|
5197
|
+
return false;
|
|
5198
|
+
const asksForAttribute = /\b(?:what|which|where|who|show|give|tell|find|list)\b/i.test(lower)
|
|
5199
|
+
|| /\b(?:belongs?|assigned|associated|located|based|part\s+of)\b/i.test(lower);
|
|
5200
|
+
if (!asksForAttribute)
|
|
5201
|
+
return false;
|
|
5202
|
+
const hasTarget = Boolean(followUp?.memberBindings?.length)
|
|
5203
|
+
|| questionPlan.entities.length > 0
|
|
5204
|
+
|| /\b(?:he|she|him|his|her|hers|this|that|these|those|same|above|previous|prior)\b/i.test(lower);
|
|
5205
|
+
return hasTarget;
|
|
5206
|
+
}
|
|
5207
|
+
function renderAttributeLookupInstruction(questionPlan, followUp) {
|
|
5208
|
+
const requested = Array.from(new Set([
|
|
5209
|
+
...questionPlan.dimensionTerms,
|
|
5210
|
+
...questionPlan.requestedShape.dimensions,
|
|
5211
|
+
...questionPlan.requestedShape.requiredOutputs,
|
|
5212
|
+
].filter((term) => ATTRIBUTE_LOOKUP_CONCEPTS.has(term.toLowerCase().replace(/[_-]+/g, ' ').trim()))));
|
|
5213
|
+
const bindings = followUp?.memberBindings?.map((binding) => `${binding.dimension} = ${binding.values.join(' | ')}`).join('; ');
|
|
5214
|
+
return [
|
|
5215
|
+
'METRIC-INDEPENDENT ATTRIBUTE LOOKUP (authoritative for this turn):',
|
|
5216
|
+
'This is a valid lookup of an entity attribute; it does not require a revenue, count, or other measure.',
|
|
5217
|
+
requested.length > 0 ? `Return the requested attribute column(s): ${requested.join(', ')}.` : 'Return the requested descriptive attribute column.',
|
|
5218
|
+
bindings ? `Preserve the typed conversation member binding exactly: ${bindings}.` : 'Preserve the explicitly named entity/member exactly.',
|
|
5219
|
+
'Use the inspected metadata and documented join keys to find the owning relation, select the attribute, and apply the member predicate. Do not invent a metric, add an arbitrary aggregate, or broaden a singular member to all prior rows.',
|
|
5220
|
+
'If the attribute or relationship is absent from inspected metadata, return no SQL and state the precise missing relation/column so the host can surface a typed gap.',
|
|
5221
|
+
].join('\n');
|
|
5222
|
+
}
|
|
5036
5223
|
function buildKgJoinPathHints(kg, nodes, questionPlan) {
|
|
5037
5224
|
const candidates = nodes
|
|
5038
5225
|
.filter((node) => ['block', 'business_view', 'metric', 'entity', 'semantic_model', 'dbt_model', 'dbt_source'].includes(node.kind))
|
|
@@ -5162,15 +5349,26 @@ function renderContextPackForPrompt(contextPack, budget) {
|
|
|
5162
5349
|
const warnings = contextPack.warnings.length
|
|
5163
5350
|
? `Warnings:\n${contextPack.warnings.slice(0, budget.warningLimit).map((warning) => `- ${warning}`).join('\n')}\n`
|
|
5164
5351
|
: '';
|
|
5165
|
-
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
|
|
5173
|
-
|
|
5352
|
+
// Pack by value per token instead of truncating at a fixed position. The
|
|
5353
|
+
// objects arrive already ranked, so position IS the value — but cost is not
|
|
5354
|
+
// uniform: one object with a long description can crowd out several cheap
|
|
5355
|
+
// ones that rank just below it, and the old `slice` cut by rank alone. This
|
|
5356
|
+
// keeps the same ordering pressure while letting an inexpensive object that
|
|
5357
|
+
// ranked 19th still fit. The budget is derived from the existing item limit
|
|
5358
|
+
// so the window stays the size the caller already tuned for.
|
|
5359
|
+
const objects = packContext(contextPack.objects.map((object, index) => ({
|
|
5360
|
+
id: object.objectKey,
|
|
5361
|
+
score: contextPack.objects.length - index,
|
|
5362
|
+
render: () => {
|
|
5363
|
+
const detail = [
|
|
5364
|
+
object.objectType,
|
|
5365
|
+
object.domain ? `domain: ${object.domain}` : '',
|
|
5366
|
+
object.status ? `status: ${object.status}` : '',
|
|
5367
|
+
object.description ? `description: ${object.description}` : '',
|
|
5368
|
+
].filter(Boolean).join('; ');
|
|
5369
|
+
return `- ${object.objectKey} (${detail})`;
|
|
5370
|
+
},
|
|
5371
|
+
})), Math.max(1, budget.contextObjectLimit) * 45).text;
|
|
5174
5372
|
const conflicts = contextPack.retrievalDiagnostics.candidateConflicts.length
|
|
5175
5373
|
? `\nCandidate conflicts:\n${contextPack.retrievalDiagnostics.candidateConflicts.slice(0, 4).map((conflict) => `- ${conflict.reason} ${conflict.prompt}`).join('\n')}`
|
|
5176
5374
|
: '';
|
|
@@ -5696,6 +5894,28 @@ function flowFieldCovers(field, term) {
|
|
|
5696
5894
|
function normalizeFlowField(value) {
|
|
5697
5895
|
return value.toLowerCase().replace(/[_-]+/g, ' ').replace(/[^a-z0-9 ]+/g, ' ').replace(/\s+/g, ' ').trim();
|
|
5698
5896
|
}
|
|
5897
|
+
/**
|
|
5898
|
+
* Remove the model's QUERY PLAN scaffolding from user-facing prose.
|
|
5899
|
+
*
|
|
5900
|
+
* Rule 4 of the SQL prompt tells the model to state its grain, measures, join
|
|
5901
|
+
* path, and join keys BEFORE writing SQL. That instruction is load-bearing —
|
|
5902
|
+
* it is what prevents wrong-grain answers and fan-out joins — but it is
|
|
5903
|
+
* reasoning, not an answer, and it was reaching the reader verbatim:
|
|
5904
|
+
*
|
|
5905
|
+
* "QUERY PLAN: grain = one row per customer, filtered to the named customer
|
|
5906
|
+
* (Matthew Meyer, honorific stripped) ... FROM dev.customers c, filtered on
|
|
5907
|
+
* c.customer_name ILIKE '%Matthew Meyer%'."
|
|
5908
|
+
*
|
|
5909
|
+
* Someone who asked why a customer tops a list should not be handed a join
|
|
5910
|
+
* plan. The plan stays in the artifact and the trace; it leaves the prose.
|
|
5911
|
+
*/
|
|
5912
|
+
export function stripQueryPlanScaffolding(text) {
|
|
5913
|
+
return text
|
|
5914
|
+
// A QUERY PLAN section runs to the next blank line or the end of the prose.
|
|
5915
|
+
.replace(/(?:^|\n)\s*(?:\*\*)?QUERY PLAN(?:\*\*)?\s*[::][\s\S]*?(?=\n\s*\n|$)/gi, '')
|
|
5916
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
5917
|
+
.trim();
|
|
5918
|
+
}
|
|
5699
5919
|
/**
|
|
5700
5920
|
* Public for tests. Prefer the structured W2.7 JSON proposal contract, then
|
|
5701
5921
|
* fall back to the legacy prose + ```sql block + Viz line format.
|
|
@@ -5709,11 +5929,11 @@ export function parseProposal(raw) {
|
|
|
5709
5929
|
const vizMatch = raw.match(/^Viz:\s*([a-z_]+)/im);
|
|
5710
5930
|
const viz = vizMatch ? vizMatch[1].trim().toLowerCase() : undefined;
|
|
5711
5931
|
// Strip the SQL block + Viz line from the prose to keep the summary clean.
|
|
5712
|
-
const text = raw
|
|
5932
|
+
const text = stripQueryPlanScaffolding(raw
|
|
5713
5933
|
.replace(/```json[\s\S]*?```/gi, '')
|
|
5714
5934
|
.replace(/```sql[\s\S]*?```/gi, '')
|
|
5715
5935
|
.replace(/^Viz:.*$/gim, '')
|
|
5716
|
-
.trim();
|
|
5936
|
+
.trim());
|
|
5717
5937
|
return { text, sql, viz };
|
|
5718
5938
|
}
|
|
5719
5939
|
function parseStructuredProposal(raw) {
|
|
@@ -5741,7 +5961,7 @@ function parsedProposalFromJson(value) {
|
|
|
5741
5961
|
return undefined;
|
|
5742
5962
|
const record = value;
|
|
5743
5963
|
const sql = firstJsonString(record.sql, record.query)?.trim();
|
|
5744
|
-
const text = firstJsonString(record.summary, record.text, record.answer, record.description)?.trim() ?? '';
|
|
5964
|
+
const text = stripQueryPlanScaffolding(firstJsonString(record.summary, record.text, record.answer, record.description)?.trim() ?? '');
|
|
5745
5965
|
const viz = firstJsonString(record.viz, record.visualization, record.chartType)
|
|
5746
5966
|
?.trim()
|
|
5747
5967
|
.toLowerCase()
|