@duckcodeailabs/dql-agent 1.6.32 → 1.6.34
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 +26 -8
- package/dist/agent-run-engine.d.ts.map +1 -1
- package/dist/agent-run-engine.js +46 -7
- 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 +15 -3
- package/dist/agent-run-gates.js.map +1 -1
- package/dist/agent-run-planner.d.ts.map +1 -1
- package/dist/agent-run-planner.js +14 -3
- package/dist/agent-run-planner.js.map +1 -1
- package/dist/agentic/answer-contract.d.ts +37 -0
- package/dist/agentic/answer-contract.d.ts.map +1 -0
- package/dist/agentic/answer-contract.js +47 -0
- package/dist/agentic/answer-contract.js.map +1 -0
- package/dist/agentic/tool-loop.d.ts +48 -0
- package/dist/agentic/tool-loop.d.ts.map +1 -0
- package/dist/agentic/tool-loop.js +181 -0
- package/dist/agentic/tool-loop.js.map +1 -0
- package/dist/agentic/toolset.d.ts +40 -0
- package/dist/agentic/toolset.d.ts.map +1 -0
- package/dist/agentic/toolset.js +265 -0
- package/dist/agentic/toolset.js.map +1 -0
- package/dist/answer-loop.d.ts +25 -2
- package/dist/answer-loop.d.ts.map +1 -1
- package/dist/answer-loop.js +368 -72
- package/dist/answer-loop.js.map +1 -1
- package/dist/cascade/budgets.d.ts +20 -2
- package/dist/cascade/budgets.d.ts.map +1 -1
- package/dist/cascade/budgets.js +76 -43
- package/dist/cascade/budgets.js.map +1 -1
- package/dist/cascade/route-policy.d.ts +1 -1
- package/dist/cascade/route-policy.d.ts.map +1 -1
- package/dist/cascade/route-policy.js +1 -0
- package/dist/cascade/route-policy.js.map +1 -1
- package/dist/embeddings/provider.d.ts +67 -4
- package/dist/embeddings/provider.d.ts.map +1 -1
- package/dist/embeddings/provider.js +167 -6
- package/dist/embeddings/provider.js.map +1 -1
- package/dist/hints/correction-eval.d.ts +30 -0
- package/dist/hints/correction-eval.d.ts.map +1 -0
- package/dist/hints/correction-eval.js +63 -0
- package/dist/hints/correction-eval.js.map +1 -0
- package/dist/hints/staleness.d.ts +30 -0
- package/dist/hints/staleness.d.ts.map +1 -0
- package/dist/hints/staleness.js +38 -0
- package/dist/hints/staleness.js.map +1 -0
- package/dist/hints/store.d.ts.map +1 -1
- package/dist/hints/store.js +3 -32
- package/dist/hints/store.js.map +1 -1
- package/dist/index.d.ts +39 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +143 -7
- package/dist/index.js.map +1 -1
- package/dist/intent-controller.d.ts.map +1 -1
- package/dist/intent-controller.js +15 -3
- package/dist/intent-controller.js.map +1 -1
- package/dist/kg/sqlite-fts.d.ts +13 -0
- package/dist/kg/sqlite-fts.d.ts.map +1 -1
- package/dist/kg/sqlite-fts.js +75 -47
- package/dist/kg/sqlite-fts.js.map +1 -1
- package/dist/memory/fts-query.d.ts +37 -4
- package/dist/memory/fts-query.d.ts.map +1 -1
- package/dist/memory/fts-query.js +53 -12
- package/dist/memory/fts-query.js.map +1 -1
- package/dist/metadata/analysis-planner.js +45 -10
- package/dist/metadata/analysis-planner.js.map +1 -1
- package/dist/metadata/block-adapt.d.ts +37 -0
- package/dist/metadata/block-adapt.d.ts.map +1 -0
- package/dist/metadata/block-adapt.js +89 -0
- package/dist/metadata/block-adapt.js.map +1 -0
- package/dist/metadata/catalog.d.ts +39 -0
- package/dist/metadata/catalog.d.ts.map +1 -1
- package/dist/metadata/catalog.js +361 -41
- package/dist/metadata/catalog.js.map +1 -1
- package/dist/metadata/example-match.d.ts +30 -0
- package/dist/metadata/example-match.d.ts.map +1 -0
- package/dist/metadata/example-match.js +69 -0
- package/dist/metadata/example-match.js.map +1 -0
- package/dist/metadata/grain-ledger.d.ts +51 -0
- package/dist/metadata/grain-ledger.d.ts.map +1 -0
- package/dist/metadata/grain-ledger.js +174 -0
- package/dist/metadata/grain-ledger.js.map +1 -0
- package/dist/metadata/metric-match.d.ts +21 -1
- package/dist/metadata/metric-match.d.ts.map +1 -1
- package/dist/metadata/metric-match.js +157 -21
- package/dist/metadata/metric-match.js.map +1 -1
- package/dist/metadata/sql-grounding.d.ts +4 -2
- package/dist/metadata/sql-grounding.d.ts.map +1 -1
- package/dist/metadata/sql-grounding.js +4 -2
- package/dist/metadata/sql-grounding.js.map +1 -1
- package/dist/metadata/sql-retrieval.d.ts +3 -2
- package/dist/metadata/sql-retrieval.d.ts.map +1 -1
- package/dist/metadata/sql-retrieval.js +23 -5
- package/dist/metadata/sql-retrieval.js.map +1 -1
- package/dist/propose/build-from-prompt.d.ts.map +1 -1
- package/dist/propose/build-from-prompt.js +10 -4
- package/dist/propose/build-from-prompt.js.map +1 -1
- package/dist/propose/failure-analysis.d.ts +48 -0
- package/dist/propose/failure-analysis.d.ts.map +1 -0
- package/dist/propose/failure-analysis.js +71 -0
- package/dist/propose/failure-analysis.js.map +1 -0
- package/dist/propose/join-mining.d.ts +18 -0
- package/dist/propose/join-mining.d.ts.map +1 -0
- package/dist/propose/join-mining.js +74 -0
- package/dist/propose/join-mining.js.map +1 -0
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +36 -1
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/index.d.ts +2 -2
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +34 -1
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/reasoning-effort.d.ts +27 -0
- package/dist/providers/reasoning-effort.d.ts.map +1 -1
- package/dist/providers/reasoning-effort.js +32 -0
- package/dist/providers/reasoning-effort.js.map +1 -1
- package/dist/providers/types.d.ts +2 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/research-loop.d.ts.map +1 -1
- package/dist/research-loop.js +9 -2
- package/dist/research-loop.js.map +1 -1
- package/dist/semantic-bridge/compose.d.ts.map +1 -1
- package/dist/semantic-bridge/compose.js +147 -20
- package/dist/semantic-bridge/compose.js.map +1 -1
- package/dist/skills/bootstrap.d.ts +57 -0
- package/dist/skills/bootstrap.d.ts.map +1 -0
- package/dist/skills/bootstrap.js +260 -0
- package/dist/skills/bootstrap.js.map +1 -0
- package/dist/skills/defaults.d.ts +2 -2
- package/dist/skills/defaults.js +2 -2
- package/dist/skills/domain-skills.d.ts +24 -0
- package/dist/skills/domain-skills.d.ts.map +1 -0
- package/dist/skills/domain-skills.js +76 -0
- package/dist/skills/domain-skills.js.map +1 -0
- package/dist/skills/loader.d.ts +46 -8
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +186 -41
- package/dist/skills/loader.js.map +1 -1
- package/dist/tools/registry.js +12 -12
- package/dist/tools/registry.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,7 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared FTS5 query sanitization for
|
|
3
|
-
* conversation). Tokenizes free text, drops stop
|
|
4
|
-
* so user input can never break the MATCH expression.
|
|
2
|
+
* Shared FTS5 query sanitization for every local SQLite store (memory,
|
|
3
|
+
* conversation, KG, hints, metadata catalog). Tokenizes free text, drops stop
|
|
4
|
+
* words, and quotes each term so user input can never break the MATCH expression.
|
|
5
|
+
* Pass `{ prefix: true }` for prefix-match stores (KG / metadata catalog).
|
|
6
|
+
*
|
|
7
|
+
* Two matching strategies are exposed:
|
|
8
|
+
* - `sanitizeFtsQuery` builds an OR-of-terms MATCH (high recall). Kept as the
|
|
9
|
+
* default for the memory/hints/conversation stores.
|
|
10
|
+
* - `buildFtsMatch` returns BOTH an AND expression (all terms must co-occur —
|
|
11
|
+
* high precision) and the OR fallback, so ranked stores (KG, catalog) can run
|
|
12
|
+
* AND-first and fall back to OR only when the precise query returns nothing.
|
|
5
13
|
*/
|
|
6
|
-
|
|
14
|
+
/** Extract the quoted, MATCH-safe tokens from free text (shared by both builders). */
|
|
15
|
+
export declare function ftsTokens(raw: string, options?: {
|
|
16
|
+
fallbackToRawTokens?: boolean;
|
|
17
|
+
}): string[];
|
|
18
|
+
export declare function sanitizeFtsQuery(raw: string, options?: {
|
|
19
|
+
prefix?: boolean;
|
|
20
|
+
fallbackToRawTokens?: boolean;
|
|
21
|
+
}): string;
|
|
22
|
+
export interface FtsMatchExpressions {
|
|
23
|
+
/** All terms required (space = implicit AND in FTS5). Empty when < 2 tokens. */
|
|
24
|
+
and: string;
|
|
25
|
+
/** Any term matches (OR). The recall fallback. */
|
|
26
|
+
or: string;
|
|
27
|
+
/** The extracted tokens (post stop-word removal). */
|
|
28
|
+
tokens: string[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Build both AND (precision) and OR (recall) MATCH expressions for a ranked
|
|
32
|
+
* store. Callers should try `and` first and fall back to `or` when it returns no
|
|
33
|
+
* rows — a single co-occurrence query is far more precise than OR-of-terms, but
|
|
34
|
+
* OR still catches partial matches when no document contains every term.
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildFtsMatch(raw: string, options?: {
|
|
37
|
+
prefix?: boolean;
|
|
38
|
+
fallbackToRawTokens?: boolean;
|
|
39
|
+
}): FtsMatchExpressions;
|
|
7
40
|
//# sourceMappingURL=fts-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts-query.d.ts","sourceRoot":"","sources":["../../src/memory/fts-query.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fts-query.d.ts","sourceRoot":"","sources":["../../src/memory/fts-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA6BH,sFAAsF;AACtF,wBAAgB,SAAS,CACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9C,MAAM,EAAE,CAaV;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,GAChE,MAAM,CAIR;AAED,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,GAChE,mBAAmB,CAUrB"}
|
package/dist/memory/fts-query.js
CHANGED
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared FTS5 query sanitization for
|
|
3
|
-
* conversation). Tokenizes free text, drops stop
|
|
4
|
-
* so user input can never break the MATCH expression.
|
|
2
|
+
* Shared FTS5 query sanitization for every local SQLite store (memory,
|
|
3
|
+
* conversation, KG, hints, metadata catalog). Tokenizes free text, drops stop
|
|
4
|
+
* words, and quotes each term so user input can never break the MATCH expression.
|
|
5
|
+
* Pass `{ prefix: true }` for prefix-match stores (KG / metadata catalog).
|
|
6
|
+
*
|
|
7
|
+
* Two matching strategies are exposed:
|
|
8
|
+
* - `sanitizeFtsQuery` builds an OR-of-terms MATCH (high recall). Kept as the
|
|
9
|
+
* default for the memory/hints/conversation stores.
|
|
10
|
+
* - `buildFtsMatch` returns BOTH an AND expression (all terms must co-occur —
|
|
11
|
+
* high precision) and the OR fallback, so ranked stores (KG, catalog) can run
|
|
12
|
+
* AND-first and fall back to OR only when the precise query returns nothing.
|
|
5
13
|
*/
|
|
14
|
+
// Grammatical function words + generic request verbs (chatter that never
|
|
15
|
+
// disambiguates a search: "show", "explain", "find", "get", "give", "using").
|
|
16
|
+
// Deliberately does NOT strip analytical/schema NOUNS a user might genuinely be
|
|
17
|
+
// searching for — `query`, `sql`, `current` are retained, so "explain this current
|
|
18
|
+
// query" sanitizes to `current OR query` instead of the empty MATCH it used to
|
|
19
|
+
// (which matched nothing). Schema/data words survive; request chatter does not.
|
|
6
20
|
const STOP_WORDS = new Set([
|
|
7
21
|
'a', 'about', 'above', 'after', 'again', 'against', 'all', 'am', 'an', 'and', 'any', 'are', 'as', 'at',
|
|
8
22
|
'be', 'because', 'been', 'before', 'being', 'below', 'between', 'both', 'but', 'by',
|
|
9
|
-
'can', 'could', '
|
|
23
|
+
'can', 'could', 'did', 'do', 'does', 'doing', 'down', 'during',
|
|
10
24
|
'each', 'explain', 'few', 'find', 'for', 'from', 'further',
|
|
11
25
|
'get', 'give',
|
|
12
26
|
'had', 'has', 'have', 'having', 'he', 'her', 'here', 'hers', 'herself', 'him', 'himself', 'his', 'how',
|
|
@@ -16,21 +30,48 @@ const STOP_WORDS = new Set([
|
|
|
16
30
|
'no', 'nor', 'not', 'now',
|
|
17
31
|
'of', 'off', 'on', 'once', 'only', 'or', 'other', 'our', 'ours', 'ourselves', 'out', 'over', 'own',
|
|
18
32
|
'please',
|
|
19
|
-
'
|
|
20
|
-
'same', 'she', 'should', 'show', 'so', 'some', 'sql', 'such',
|
|
33
|
+
'same', 'she', 'should', 'show', 'so', 'some', 'such',
|
|
21
34
|
'than', 'that', 'the', 'their', 'theirs', 'them', 'themselves', 'then', 'there', 'these', 'they', 'this', 'those', 'through', 'to', 'too',
|
|
22
35
|
'under', 'until', 'up', 'using',
|
|
23
36
|
'very',
|
|
24
37
|
'was', 'we', 'were', 'what', 'when', 'where', 'which', 'while', 'who', 'whom', 'why', 'will', 'with', 'would',
|
|
25
38
|
'you', 'your', 'yours', 'yourself', 'yourselves',
|
|
26
39
|
]);
|
|
27
|
-
|
|
28
|
-
|
|
40
|
+
/** Extract the quoted, MATCH-safe tokens from free text (shared by both builders). */
|
|
41
|
+
export function ftsTokens(raw, options = {}) {
|
|
42
|
+
const defanged = raw
|
|
29
43
|
.split(/\s+/)
|
|
30
44
|
.map((t) => t.replace(/[^\p{L}\p{N}_]/gu, ''))
|
|
31
|
-
.filter((t) => t.length > 1
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
45
|
+
.filter((t) => t.length > 1);
|
|
46
|
+
const meaningful = defanged.filter((t) => !STOP_WORDS.has(t.toLowerCase()));
|
|
47
|
+
// `fallbackToRawTokens` is for VALUE lookups (filter literals), where a data
|
|
48
|
+
// value that happens to be a stop word (e.g. a category literally named
|
|
49
|
+
// "current") must still match rather than be dropped to an empty MATCH. It is
|
|
50
|
+
// intentionally OFF for natural-language question search, where an all-stop-word
|
|
51
|
+
// query (e.g. "the of and") is content-free and should return nothing.
|
|
52
|
+
const source = meaningful.length > 0 || !options.fallbackToRawTokens ? meaningful : defanged;
|
|
53
|
+
return source.slice(0, 48);
|
|
54
|
+
}
|
|
55
|
+
export function sanitizeFtsQuery(raw, options = {}) {
|
|
56
|
+
const tokens = ftsTokens(raw, options);
|
|
57
|
+
const suffix = options.prefix ? '*' : '';
|
|
58
|
+
return tokens.map((t) => `"${t}"${suffix}`).join(' OR ');
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Build both AND (precision) and OR (recall) MATCH expressions for a ranked
|
|
62
|
+
* store. Callers should try `and` first and fall back to `or` when it returns no
|
|
63
|
+
* rows — a single co-occurrence query is far more precise than OR-of-terms, but
|
|
64
|
+
* OR still catches partial matches when no document contains every term.
|
|
65
|
+
*/
|
|
66
|
+
export function buildFtsMatch(raw, options = {}) {
|
|
67
|
+
const tokens = ftsTokens(raw, options);
|
|
68
|
+
const suffix = options.prefix ? '*' : '';
|
|
69
|
+
const quoted = tokens.map((t) => `"${t}"${suffix}`);
|
|
70
|
+
return {
|
|
71
|
+
// AND is only distinct from OR with 2+ tokens; a single token is the same query.
|
|
72
|
+
and: quoted.length >= 2 ? quoted.join(' ') : '',
|
|
73
|
+
or: quoted.join(' OR '),
|
|
74
|
+
tokens,
|
|
75
|
+
};
|
|
35
76
|
}
|
|
36
77
|
//# sourceMappingURL=fts-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts-query.js","sourceRoot":"","sources":["../../src/memory/fts-query.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fts-query.js","sourceRoot":"","sources":["../../src/memory/fts-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -467,6 +467,13 @@ function inferQuestionMode(input) {
|
|
|
467
467
|
return 'exact_lookup';
|
|
468
468
|
if (/\b(show|list|find|which|who|how many|how much|metric|kpi|dashboard|performance|revenue|sales|orders|customers|users)\b/i.test(lower))
|
|
469
469
|
return 'general_analysis';
|
|
470
|
+
// A question that carries real analytical structure — named grouping dimensions
|
|
471
|
+
// and/or a measure to aggregate — is a general analysis, not an ambiguous ask.
|
|
472
|
+
// Without this, "give me the average tax by location by product" (no whitelisted
|
|
473
|
+
// verb) falls to clarify and then over-escalates into a slow research investigation
|
|
474
|
+
// instead of a fast direct answer.
|
|
475
|
+
if (input.dimensionTerms.length > 0 || input.metricTerms.length > 0)
|
|
476
|
+
return 'general_analysis';
|
|
470
477
|
return 'clarify';
|
|
471
478
|
}
|
|
472
479
|
function routeIntentForMode(mode) {
|
|
@@ -555,8 +562,14 @@ function extractMetricTerms(question) {
|
|
|
555
562
|
terms.add(normalizeTerm(word));
|
|
556
563
|
}
|
|
557
564
|
for (const match of lower.matchAll(/\b(total|average|avg|count|sum|min|max)\s+([a-z][a-z0-9_ -]{2,40})/g)) {
|
|
558
|
-
|
|
559
|
-
|
|
565
|
+
// Keep only the measure noun-phrase up to the first grouping/clause boundary,
|
|
566
|
+
// so "average tax info by location by product" yields the measure "tax info",
|
|
567
|
+
// not a 6-word blob that pollutes retrieval and masquerades as a column.
|
|
568
|
+
const tail = match[2].replace(/\s+\b(by|per|for|across|grouped?|over|where|with|and|or|from|in|of)\b.*$/i, '').trim();
|
|
569
|
+
if (tail.length < 2)
|
|
570
|
+
continue;
|
|
571
|
+
terms.add(normalizeTerm(`${match[1]} ${tail}`));
|
|
572
|
+
terms.add(normalizeTerm(tail));
|
|
560
573
|
}
|
|
561
574
|
return uniqueStrings([...terms]).slice(0, 16);
|
|
562
575
|
}
|
|
@@ -569,10 +582,16 @@ function extractDimensionTerms(question) {
|
|
|
569
582
|
if (new RegExp(`\\b(?:${escapeRegExp(word)}|${escapeRegExp(pluralizeDimensionWord(word))})\\b`, 'i').test(lower))
|
|
570
583
|
terms.add(normalizeTerm(word));
|
|
571
584
|
}
|
|
572
|
-
for (const match of lower.matchAll(/\bby\s+([a-z][a-z0-9_ -]{1,
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
585
|
+
for (const match of lower.matchAll(/\bby\s+([a-z][a-z0-9_ -]{1,60})/g)) {
|
|
586
|
+
// "by A by B" is captured as one blob; split it back into the individual
|
|
587
|
+
// grouping dimensions and stop each at a clause boundary, so we get ["a", "b"]
|
|
588
|
+
// rather than a bogus single dimension "a_by_b" that later poisons retrieval
|
|
589
|
+
// and shows up as a phantom required-output column.
|
|
590
|
+
for (const piece of match[1].split(/\s+by\s+/)) {
|
|
591
|
+
const value = piece.replace(/\b(where|for|with|and|or|from|over|in|per|of)\b.*$/i, '').trim();
|
|
592
|
+
if (value)
|
|
593
|
+
terms.add(normalizeTerm(value));
|
|
594
|
+
}
|
|
576
595
|
}
|
|
577
596
|
return uniqueStrings([...terms]).slice(0, 16);
|
|
578
597
|
}
|
|
@@ -693,13 +712,29 @@ function wordNumberFromTopN(lower) {
|
|
|
693
712
|
const match = lower.match(/\b(?:top|bottom|first|last)\s+(one|two|three|four|five|six|seven|eight|nine|ten)\b/);
|
|
694
713
|
return match ? words[match[1]] : undefined;
|
|
695
714
|
}
|
|
715
|
+
// A required OUTPUT column is a hard contract on the result shape, so only a short,
|
|
716
|
+
// concrete identifier qualifies — never a multi-clause phrase scraped from the
|
|
717
|
+
// question (e.g. "location by product") that happens to leak through term extraction.
|
|
718
|
+
function isPlausibleRequiredColumn(term) {
|
|
719
|
+
const tokens = term.split(/[_\s]+/).filter(Boolean);
|
|
720
|
+
return tokens.length > 0 && tokens.length <= 2 && !tokens.includes('by');
|
|
721
|
+
}
|
|
696
722
|
function extractRequiredOutputs(question, dimensions, measures) {
|
|
697
723
|
const lower = question.toLowerCase();
|
|
698
724
|
const outputs = new Set();
|
|
699
|
-
for (const dim of dimensions)
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
725
|
+
for (const dim of dimensions) {
|
|
726
|
+
if (isPlausibleRequiredColumn(dim))
|
|
727
|
+
outputs.add(dim);
|
|
728
|
+
}
|
|
729
|
+
for (const measure of measures) {
|
|
730
|
+
// A measure pins the result shape only when it names a concrete single concept
|
|
731
|
+
// ("revenue", "count", "orders"). A multi-word phrase scraped from the question
|
|
732
|
+
// ("average tax info", "tax info by location") is a fuzzy search hint, not a
|
|
733
|
+
// literal column the generated SQL must return — promoting it falsely flags a
|
|
734
|
+
// valid answer as "partial". Single tokens (incl. "count" for KPI blocks) stay.
|
|
735
|
+
if (measure.split(/[_\s]+/).filter(Boolean).length === 1)
|
|
736
|
+
outputs.add(measure);
|
|
737
|
+
}
|
|
703
738
|
if (/\bproduct\s+name\b/i.test(lower))
|
|
704
739
|
outputs.add('product_name');
|
|
705
740
|
if (/\bcustomer\s+name\b/i.test(lower))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-planner.js","sourceRoot":"","sources":["../../src/metadata/analysis-planner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analysis-planner.js","sourceRoot":"","sources":["../../src/metadata/analysis-planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { CertifiedBlockFit } from './block-fit.js';
|
|
2
|
+
export interface CertifiedAdaptation {
|
|
3
|
+
/** The adapted SQL to execute. */
|
|
4
|
+
sql: string;
|
|
5
|
+
/** Trust qualifier composed onto the base `reviewed` label. */
|
|
6
|
+
trustQualifier: string;
|
|
7
|
+
/** Human-facing provenance line naming the donor block and the transform. */
|
|
8
|
+
provenance: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Adapt a certified block's SQL by filtering its OUTPUT to a single column=value.
|
|
12
|
+
* Returns null when the filter column is not one of `outputColumns` (so the wrapper
|
|
13
|
+
* would reference a non-existent column) or when inputs are blank.
|
|
14
|
+
*/
|
|
15
|
+
export declare function adaptCertifiedSqlWithFilter(input: {
|
|
16
|
+
certifiedSql: string;
|
|
17
|
+
filterColumn: string;
|
|
18
|
+
filterValue: string;
|
|
19
|
+
outputColumns: string[];
|
|
20
|
+
blockName: string;
|
|
21
|
+
}): CertifiedAdaptation | null;
|
|
22
|
+
/**
|
|
23
|
+
* Decide whether a context-only certified block can be safely adapted to answer the
|
|
24
|
+
* question with exactly ONE added filter. Returns the adaptation, or null when the
|
|
25
|
+
* block is not a single-delta fit (extra dimensions/outputs/grain mismatch, more
|
|
26
|
+
* than one filter), or the filter value does not resolve to exactly one block-output
|
|
27
|
+
* column. Null ⇒ the caller falls through to generation.
|
|
28
|
+
*/
|
|
29
|
+
export declare function planCertifiedAdaptation(input: {
|
|
30
|
+
blockFit: CertifiedBlockFit;
|
|
31
|
+
certifiedSql: string;
|
|
32
|
+
blockName: string;
|
|
33
|
+
blockOutputs: string[];
|
|
34
|
+
/** Resolve a filter VALUE (e.g. "food") to the physical column(s) that carry it. */
|
|
35
|
+
resolveFilterColumn: (value: string) => string[];
|
|
36
|
+
}): CertifiedAdaptation | null;
|
|
37
|
+
//# sourceMappingURL=block-adapt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-adapt.d.ts","sourceRoot":"","sources":["../../src/metadata/block-adapt.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,mBAAmB,GAAG,IAAI,CAyB7B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oFAAoF;IACpF,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CAClD,GAAG,mBAAmB,GAAG,IAAI,CAoB7B"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Certified-block adaptation lane (W2.2).
|
|
3
|
+
*
|
|
4
|
+
* When a certified block is CLOSE to answering but the question adds exactly ONE
|
|
5
|
+
* small delta — most commonly "the same certified breakdown, but just the <value>
|
|
6
|
+
* row" — regenerating from scratch throws away governed logic. Instead we adapt the
|
|
7
|
+
* certified SQL with a single, mechanically-safe transform and serve it at a trust
|
|
8
|
+
* tier BELOW certified (base `reviewed`, qualifier "adapted from certified block X")
|
|
9
|
+
* — never `certified`, because the adapted query itself was not human-reviewed.
|
|
10
|
+
*
|
|
11
|
+
* v1 handles the add-filter delta via an OUTPUT subquery wrapper:
|
|
12
|
+
* SELECT * FROM ( <certified sql> ) AS certified_derived WHERE <col> = <value>
|
|
13
|
+
* This is provably safe (it only RESTRICTS rows of the already-certified result)
|
|
14
|
+
* and dialect-neutral, and is valid exactly when the filter column is one of the
|
|
15
|
+
* block's OUTPUT columns (a dimension the certified block already groups by). If
|
|
16
|
+
* the filter would need to reach INPUT rows and re-aggregate, the column is not in
|
|
17
|
+
* the outputs and we return null → the caller falls through to generation.
|
|
18
|
+
*
|
|
19
|
+
* Adding a GROUP-BY dimension (re-graining the inner query) is intentionally NOT
|
|
20
|
+
* attempted in v1 — it cannot be done as a safe output wrapper.
|
|
21
|
+
*/
|
|
22
|
+
import { analyzeSqlReferences } from '@duckcodeailabs/dql-core';
|
|
23
|
+
function quoteAdaptValue(value) {
|
|
24
|
+
return /^-?\d+(\.\d+)?$/.test(value.trim()) ? value.trim() : `'${value.replace(/'/g, "''")}'`;
|
|
25
|
+
}
|
|
26
|
+
function normalizeColumn(name) {
|
|
27
|
+
return name.replace(/["`]/g, '').trim().toLowerCase();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Adapt a certified block's SQL by filtering its OUTPUT to a single column=value.
|
|
31
|
+
* Returns null when the filter column is not one of `outputColumns` (so the wrapper
|
|
32
|
+
* would reference a non-existent column) or when inputs are blank.
|
|
33
|
+
*/
|
|
34
|
+
export function adaptCertifiedSqlWithFilter(input) {
|
|
35
|
+
const certifiedSql = input.certifiedSql?.trim();
|
|
36
|
+
const filterColumn = input.filterColumn?.trim();
|
|
37
|
+
const filterValue = input.filterValue?.trim();
|
|
38
|
+
if (!certifiedSql || !filterColumn || !filterValue)
|
|
39
|
+
return null;
|
|
40
|
+
// The filter column MUST be an output of the certified query, else the wrapper
|
|
41
|
+
// references a column that does not exist in the subquery result.
|
|
42
|
+
const outputs = new Set(input.outputColumns.map(normalizeColumn));
|
|
43
|
+
if (!outputs.has(normalizeColumn(filterColumn)))
|
|
44
|
+
return null;
|
|
45
|
+
// The certified SQL must be a single parseable read-only SELECT/WITH so wrapping
|
|
46
|
+
// it in a subquery is safe.
|
|
47
|
+
const analysis = analyzeSqlReferences(certifiedSql);
|
|
48
|
+
if (!analysis.parsed)
|
|
49
|
+
return null;
|
|
50
|
+
const stripped = certifiedSql.replace(/;\s*$/, '');
|
|
51
|
+
const sql = `SELECT * FROM (\n${stripped}\n) AS certified_derived\nWHERE ${filterColumn} = ${quoteAdaptValue(filterValue)}`;
|
|
52
|
+
return {
|
|
53
|
+
sql,
|
|
54
|
+
trustQualifier: `adapted from certified block ${input.blockName}`,
|
|
55
|
+
provenance: `Derived from certified block "${input.blockName}" by filtering its result to ` +
|
|
56
|
+
`${filterColumn} = ${quoteAdaptValue(filterValue)}. Not itself certified — review before stakeholder reuse.`,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Decide whether a context-only certified block can be safely adapted to answer the
|
|
61
|
+
* question with exactly ONE added filter. Returns the adaptation, or null when the
|
|
62
|
+
* block is not a single-delta fit (extra dimensions/outputs/grain mismatch, more
|
|
63
|
+
* than one filter), or the filter value does not resolve to exactly one block-output
|
|
64
|
+
* column. Null ⇒ the caller falls through to generation.
|
|
65
|
+
*/
|
|
66
|
+
export function planCertifiedAdaptation(input) {
|
|
67
|
+
const fit = input.blockFit;
|
|
68
|
+
// The ONLY delta may be a single unsupported filter — nothing else missing.
|
|
69
|
+
if (fit.kind !== 'context_only')
|
|
70
|
+
return null;
|
|
71
|
+
if (fit.missingDimensions.length > 0 || fit.missingOutputs.length > 0 || fit.grainMismatch)
|
|
72
|
+
return null;
|
|
73
|
+
if (fit.unsupportedFilters.length !== 1)
|
|
74
|
+
return null;
|
|
75
|
+
const filterValue = fit.unsupportedFilters[0];
|
|
76
|
+
const outputs = new Set(input.blockOutputs.map((column) => normalizeColumn(column)));
|
|
77
|
+
const columns = input.resolveFilterColumn(filterValue).filter((column) => outputs.has(normalizeColumn(column)));
|
|
78
|
+
// Exactly one block-output column must carry the value; ambiguous or input-only ⇒ fall through.
|
|
79
|
+
if (columns.length !== 1)
|
|
80
|
+
return null;
|
|
81
|
+
return adaptCertifiedSqlWithFilter({
|
|
82
|
+
certifiedSql: input.certifiedSql,
|
|
83
|
+
filterColumn: columns[0],
|
|
84
|
+
filterValue,
|
|
85
|
+
outputColumns: input.blockOutputs,
|
|
86
|
+
blockName: input.blockName,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=block-adapt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-adapt.js","sourceRoot":"","sources":["../../src/metadata/block-adapt.ts"],"names":[],"mappings":"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"}
|