@duckcodeailabs/dql-agent 1.14.0 → 1.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-run-engine.d.ts +68 -2
- package/dist/agent-run-engine.d.ts.map +1 -1
- package/dist/agent-run-engine.js +520 -26
- 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 +25 -0
- package/dist/agent-run-gates.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 +331 -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 +36 -0
- package/dist/agentic/research/synthesis.d.ts.map +1 -0
- package/dist/agentic/research/synthesis.js +109 -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 +177 -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 +460 -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-frame.d.ts.map +1 -1
- package/dist/analytical-frame.js +10 -1
- package/dist/analytical-frame.js.map +1 -1
- package/dist/analytical-orchestration.d.ts +382 -0
- package/dist/analytical-orchestration.d.ts.map +1 -1
- package/dist/analytical-orchestration.js +782 -6
- package/dist/analytical-orchestration.js.map +1 -1
- 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 +13 -0
- package/dist/analytical-result-facts.d.ts.map +1 -1
- package/dist/analytical-result-facts.js +37 -1
- package/dist/analytical-result-facts.js.map +1 -1
- package/dist/answer-loop.d.ts +105 -16
- package/dist/answer-loop.d.ts.map +1 -1
- package/dist/answer-loop.js +833 -108
- package/dist/answer-loop.js.map +1 -1
- package/dist/answer-shape.d.ts +32 -1
- package/dist/answer-shape.d.ts.map +1 -1
- package/dist/answer-shape.js +49 -3
- package/dist/answer-shape.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 +20 -0
- package/dist/conversation/snapshot.d.ts.map +1 -1
- package/dist/conversation/snapshot.js +40 -2
- package/dist/conversation/snapshot.js.map +1 -1
- package/dist/fixtures/ask-ai-office-shaped.d.ts +153 -0
- package/dist/fixtures/ask-ai-office-shaped.d.ts.map +1 -0
- package/dist/fixtures/ask-ai-office-shaped.js +94 -0
- package/dist/fixtures/ask-ai-office-shaped.js.map +1 -0
- 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 +29 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -6
- package/dist/index.js.map +1 -1
- package/dist/intent-controller.d.ts +36 -0
- package/dist/intent-controller.d.ts.map +1 -1
- package/dist/intent-controller.js +95 -0
- package/dist/intent-controller.js.map +1 -1
- package/dist/meaning-resolution.d.ts +69 -2
- package/dist/meaning-resolution.d.ts.map +1 -1
- package/dist/meaning-resolution.js +128 -7
- package/dist/meaning-resolution.js.map +1 -1
- package/dist/metadata/analysis-planner.d.ts.map +1 -1
- package/dist/metadata/analysis-planner.js +124 -7
- package/dist/metadata/analysis-planner.js.map +1 -1
- package/dist/metadata/block-fit.d.ts +36 -0
- package/dist/metadata/block-fit.d.ts.map +1 -1
- package/dist/metadata/block-fit.js +290 -38
- package/dist/metadata/block-fit.js.map +1 -1
- package/dist/metadata/catalog.d.ts +20 -23
- package/dist/metadata/catalog.d.ts.map +1 -1
- package/dist/metadata/catalog.js +193 -22
- package/dist/metadata/catalog.js.map +1 -1
- package/dist/metadata/meaning-evidence.d.ts +10 -1
- package/dist/metadata/meaning-evidence.d.ts.map +1 -1
- package/dist/metadata/meaning-evidence.js +275 -53
- 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 +66 -4
- package/dist/research-loop.js.map +1 -1
- package/dist/resolved-analytical-plan.d.ts +7 -0
- package/dist/resolved-analytical-plan.d.ts.map +1 -1
- package/dist/resolved-analytical-plan.js +11 -4
- package/dist/resolved-analytical-plan.js.map +1 -1
- package/dist/router.d.ts +32 -19
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +1977 -73
- package/dist/router.js.map +1 -1
- package/dist/semantic-bridge/member-select.d.ts.map +1 -1
- package/dist/semantic-bridge/member-select.js +39 -21
- package/dist/semantic-bridge/member-select.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Project-local metadata catalog for OSS agentic analytics.
|
|
3
|
-
*
|
|
4
|
-
* Git/DQL/dbt files remain the source of truth. This SQLite database is a
|
|
5
|
-
* rebuildable local catalog at `.dql/cache/metadata.sqlite` used by agents,
|
|
6
|
-
* MCP tools, app builder, and notebook/block AI to retrieve one consistent
|
|
7
|
-
* context pack before answering.
|
|
8
|
-
*/
|
|
1
|
+
import { type RerankOutcome } from '../agentic/rerank.js';
|
|
9
2
|
import { type DQLManifest, type ManifestConflictDetail, type ManifestDomainCapsule, type ManifestCrossDomainRoute, type ManifestKnowledgeObject, type ManifestKnowledgeEdge, type SemanticLayer, type DqlArtifactReference, type ResolvedTrustLabel, type AnalyticalPolicyContract } from "@duckcodeailabs/dql-core";
|
|
10
3
|
import { type DomainContextEnvelope, type KnowledgeLens } from "../domain-context.js";
|
|
11
4
|
import { type AnalysisQuestionPlan, type CertifiedBlockApplicability } from './analysis-planner.js';
|
|
@@ -183,6 +176,15 @@ export interface BuildLocalContextPackRequest {
|
|
|
183
176
|
runtimeSchemaSnapshot?: RuntimeSchemaSnapshot;
|
|
184
177
|
strictness?: 'safe' | 'balanced' | 'exploratory';
|
|
185
178
|
confirmCertifiedFit?: CertifiedFitConfirmation;
|
|
179
|
+
/**
|
|
180
|
+
* Optional cross-encoder pass over the fused candidates. Absent, or on any
|
|
181
|
+
* failure, retrieval's own ordering is used unchanged — so this can improve
|
|
182
|
+
* the pack but never break it.
|
|
183
|
+
*/
|
|
184
|
+
rerankCandidates?: (question: string, candidates: ReadonlyArray<{
|
|
185
|
+
id: string;
|
|
186
|
+
summary: string;
|
|
187
|
+
}>) => Promise<RerankOutcome | undefined>;
|
|
186
188
|
/** Prior turn's context pack — reuse fuel for same-topic follow-ups. */
|
|
187
189
|
priorContextPackId?: string;
|
|
188
190
|
/**
|
|
@@ -625,7 +627,16 @@ export interface MetadataCandidateConflict {
|
|
|
625
627
|
*/
|
|
626
628
|
export declare function extractDbtUniqueColumns(nodes: Record<string, Record<string, unknown>>): Map<string, string[]>;
|
|
627
629
|
export declare function defaultMetadataPath(projectRoot: string): string;
|
|
628
|
-
|
|
630
|
+
/**
|
|
631
|
+
* Snapshots are immutable and addressed by content fingerprint, so
|
|
632
|
+
* `exportSnapshot` refuses to overwrite an existing file. The embedded VECTORS
|
|
633
|
+
* are part of what a snapshot contains but are NOT part of the content
|
|
634
|
+
* fingerprint, so two different encodings of identical content would otherwise
|
|
635
|
+
* collide on one path — and switching `ai.embeddings` would silently keep
|
|
636
|
+
* serving the hashed vectors forever. Qualify the filename with the provider so
|
|
637
|
+
* they are the distinct artifacts they actually are.
|
|
638
|
+
*/
|
|
639
|
+
export declare function metadataSnapshotPath(projectRoot: string, fingerprint: string, vectorProviderId?: string): string;
|
|
629
640
|
export declare function activeMetadataSnapshotPath(projectRoot: string): string | null;
|
|
630
641
|
/** Read the prepared catalog identity without rebuilding the metadata snapshot. */
|
|
631
642
|
export declare function currentMetadataFingerprint(projectRoot: string): string | undefined;
|
|
@@ -675,20 +686,6 @@ export declare function readIndexedKnowledge360(projectRoot: string, identity: s
|
|
|
675
686
|
} | null;
|
|
676
687
|
/** Await any vector-index upgrade started by the last catalog refresh. */
|
|
677
688
|
export declare function awaitVectorIndexUpgrade(projectRoot: string): Promise<void>;
|
|
678
|
-
/**
|
|
679
|
-
* Re-embed the vector index with the project's configured provider.
|
|
680
|
-
*
|
|
681
|
-
* The snapshot write is synchronous — vectors are produced inside a
|
|
682
|
-
* better-sqlite3 transaction — so it can only use the hashed provider, whose
|
|
683
|
-
* `embedOne` is sync. Remote providers (Ollama, OpenAI) are async-only, so a
|
|
684
|
-
* real embedder could never participate and the "vector" lane stayed a
|
|
685
|
-
* bag-of-words hash no matter what was configured.
|
|
686
|
-
*
|
|
687
|
-
* This runs AFTER the transaction, where awaiting is fine. The hashed index is
|
|
688
|
-
* already in place by then, so the vector lane is never empty while the upgrade
|
|
689
|
-
* runs or if it fails. Best-effort by design: an unreachable Ollama must not
|
|
690
|
-
* break indexing or answering.
|
|
691
|
-
*/
|
|
692
689
|
export declare function upgradeVectorIndexForProject(projectRoot: string, provider: EmbeddingProvider): Promise<{
|
|
693
690
|
upgraded: boolean;
|
|
694
691
|
providerId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/metadata/catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/metadata/catalog.ts"],"names":[],"mappings":"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"}
|
package/dist/metadata/catalog.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { applyRerank } from '../agentic/rerank.js';
|
|
1
2
|
/**
|
|
2
3
|
* Project-local metadata catalog for OSS agentic analytics.
|
|
3
4
|
*
|
|
@@ -106,8 +107,20 @@ const DEFAULT_VECTOR_PROVIDER = new HashedTokenEmbeddingProvider();
|
|
|
106
107
|
export function defaultMetadataPath(projectRoot) {
|
|
107
108
|
return join(projectRoot, '.dql', 'cache', 'metadata.sqlite');
|
|
108
109
|
}
|
|
109
|
-
|
|
110
|
-
|
|
110
|
+
/**
|
|
111
|
+
* Snapshots are immutable and addressed by content fingerprint, so
|
|
112
|
+
* `exportSnapshot` refuses to overwrite an existing file. The embedded VECTORS
|
|
113
|
+
* are part of what a snapshot contains but are NOT part of the content
|
|
114
|
+
* fingerprint, so two different encodings of identical content would otherwise
|
|
115
|
+
* collide on one path — and switching `ai.embeddings` would silently keep
|
|
116
|
+
* serving the hashed vectors forever. Qualify the filename with the provider so
|
|
117
|
+
* they are the distinct artifacts they actually are.
|
|
118
|
+
*/
|
|
119
|
+
export function metadataSnapshotPath(projectRoot, fingerprint, vectorProviderId) {
|
|
120
|
+
const suffix = vectorProviderId && !vectorProviderId.startsWith('hashed-token')
|
|
121
|
+
? `-${vectorProviderId.replace(/[^a-z0-9]+/gi, '_').slice(0, 48)}`
|
|
122
|
+
: '';
|
|
123
|
+
return join(projectRoot, '.dql', 'cache', 'snapshots', `${METADATA_INDEX_VERSION}-${fingerprint}${suffix}.sqlite`);
|
|
111
124
|
}
|
|
112
125
|
function readActiveMetadataSnapshotPointer(projectRoot) {
|
|
113
126
|
const pointerPath = join(projectRoot, '.dql', 'cache', 'active-snapshot.json');
|
|
@@ -144,7 +157,7 @@ export function currentMetadataFingerprint(projectRoot) {
|
|
|
144
157
|
}
|
|
145
158
|
}
|
|
146
159
|
function activateMetadataSnapshot(projectRoot, fingerprint, catalog) {
|
|
147
|
-
const snapshotPath = metadataSnapshotPath(projectRoot, fingerprint);
|
|
160
|
+
const snapshotPath = metadataSnapshotPath(projectRoot, fingerprint, catalog.state('vector_provider') ?? undefined);
|
|
148
161
|
catalog.exportSnapshot(snapshotPath);
|
|
149
162
|
const cacheDir = join(projectRoot, '.dql', 'cache');
|
|
150
163
|
const pointerPath = join(cacheDir, 'active-snapshot.json');
|
|
@@ -315,15 +328,22 @@ export async function awaitVectorIndexUpgrade(projectRoot) {
|
|
|
315
328
|
* runs or if it fails. Best-effort by design: an unreachable Ollama must not
|
|
316
329
|
* break indexing or answering.
|
|
317
330
|
*/
|
|
318
|
-
|
|
331
|
+
/** How long a cold re-embed may hold up indexing before we ship the hashed index. */
|
|
332
|
+
const VECTOR_UPGRADE_BUDGET_MS = 8_000;
|
|
333
|
+
/**
|
|
334
|
+
* Re-embed an ALREADY-OPEN catalog. Split out from `upgradeVectorIndexForProject`
|
|
335
|
+
* so `ensureMetadataCatalogFresh` can upgrade the same catalog handle it is about
|
|
336
|
+
* to export — the vectors have to be in place BEFORE `activateMetadataSnapshot`,
|
|
337
|
+
* because retrieval reads the exported snapshot, not this working database.
|
|
338
|
+
*/
|
|
339
|
+
async function upgradeVectorIndexOnCatalog(catalog, provider) {
|
|
319
340
|
if (provider.id.startsWith('hashed-token')) {
|
|
320
341
|
return { upgraded: false, providerId: provider.id, reason: 'project uses the offline hashed embedder' };
|
|
321
342
|
}
|
|
322
|
-
|
|
343
|
+
if (catalog.state('vector_provider') === provider.id) {
|
|
344
|
+
return { upgraded: false, providerId: provider.id, reason: 'index already embedded with this provider' };
|
|
345
|
+
}
|
|
323
346
|
try {
|
|
324
|
-
if (catalog.state('vector_provider') === provider.id) {
|
|
325
|
-
return { upgraded: false, providerId: provider.id, reason: 'index already embedded with this provider' };
|
|
326
|
-
}
|
|
327
347
|
await catalog.rebuildVectorIndex(provider);
|
|
328
348
|
return { upgraded: true, providerId: provider.id };
|
|
329
349
|
}
|
|
@@ -334,6 +354,22 @@ export async function upgradeVectorIndexForProject(projectRoot, provider) {
|
|
|
334
354
|
reason: error instanceof Error ? error.message : String(error),
|
|
335
355
|
};
|
|
336
356
|
}
|
|
357
|
+
}
|
|
358
|
+
export async function upgradeVectorIndexForProject(projectRoot, provider) {
|
|
359
|
+
const catalog = openMetadataCatalog(projectRoot);
|
|
360
|
+
try {
|
|
361
|
+
const result = await upgradeVectorIndexOnCatalog(catalog, provider);
|
|
362
|
+
// Re-export so the ACTIVE snapshot carries the new vectors. Without this the
|
|
363
|
+
// upgrade only ever touched the mutable working database, which the answer
|
|
364
|
+
// path never reads — so `POST /api/settings/embeddings/reindex` reported
|
|
365
|
+
// success while retrieval kept serving the hashed index.
|
|
366
|
+
if (result.upgraded) {
|
|
367
|
+
const fingerprint = catalog.state('fingerprint');
|
|
368
|
+
if (fingerprint)
|
|
369
|
+
activateMetadataSnapshot(projectRoot, fingerprint, catalog);
|
|
370
|
+
}
|
|
371
|
+
return result;
|
|
372
|
+
}
|
|
337
373
|
finally {
|
|
338
374
|
catalog.close();
|
|
339
375
|
}
|
|
@@ -349,7 +385,30 @@ export async function ensureMetadataCatalogFresh(projectRoot, options = {}) {
|
|
|
349
385
|
try {
|
|
350
386
|
const existing = catalog.state('fingerprint');
|
|
351
387
|
const compatibleIndex = catalog.state('index_version') === METADATA_INDEX_VERSION;
|
|
388
|
+
// The snapshot write embeds with the sync hashed provider (better-sqlite3
|
|
389
|
+
// transactions cannot await), so a configured Ollama/OpenAI embedder can only
|
|
390
|
+
// be applied afterwards — and it must land BEFORE the export, since retrieval
|
|
391
|
+
// reads the exported snapshot. `searchVectorObjects` returns ZERO candidates
|
|
392
|
+
// when the requested provider id does not match the indexed one, so skipping
|
|
393
|
+
// this makes configuring a real embedder strictly worse than not configuring
|
|
394
|
+
// one: an empty vector lane instead of a weak one.
|
|
395
|
+
const vectorProvider = options.embeddingProvider ?? projectEmbeddingProvider(projectRoot);
|
|
396
|
+
const upgradeVectors = async () => {
|
|
397
|
+
const upgrade = upgradeVectorIndexOnCatalog(catalog, vectorProvider);
|
|
398
|
+
pendingVectorUpgrades.set(projectRoot, upgrade.then(() => undefined, () => undefined));
|
|
399
|
+
// Never let a cold or unreachable embedder block indexing: the hashed index
|
|
400
|
+
// is already in place, so timing out simply ships it and the next refresh
|
|
401
|
+
// retries.
|
|
402
|
+
await Promise.race([
|
|
403
|
+
upgrade,
|
|
404
|
+
new Promise((resolve) => setTimeout(resolve, VECTOR_UPGRADE_BUDGET_MS)),
|
|
405
|
+
]);
|
|
406
|
+
};
|
|
352
407
|
if (!options.force && compatibleIndex && existing === snapshot.fingerprint) {
|
|
408
|
+
// The project content is unchanged but the CONFIGURED EMBEDDER may not be.
|
|
409
|
+
// Without this, switching `ai.embeddings` never takes effect until an
|
|
410
|
+
// unrelated dbt change happens to move the fingerprint.
|
|
411
|
+
await upgradeVectors();
|
|
353
412
|
const snapshotPath = activateMetadataSnapshot(projectRoot, snapshot.fingerprint, catalog);
|
|
354
413
|
return {
|
|
355
414
|
path: defaultMetadataPath(projectRoot),
|
|
@@ -370,6 +429,7 @@ export async function ensureMetadataCatalogFresh(projectRoot, options = {}) {
|
|
|
370
429
|
else {
|
|
371
430
|
catalog.rebuildIncremental(snapshot);
|
|
372
431
|
}
|
|
432
|
+
await upgradeVectors();
|
|
373
433
|
const snapshotPath = activateMetadataSnapshot(projectRoot, snapshot.fingerprint, catalog);
|
|
374
434
|
return {
|
|
375
435
|
path: defaultMetadataPath(projectRoot),
|
|
@@ -778,7 +838,27 @@ export async function buildLocalContextPack(projectRoot, request) {
|
|
|
778
838
|
modelAreaId: focusedArea?.id,
|
|
779
839
|
limit: request.limit ?? 120,
|
|
780
840
|
}).selected;
|
|
781
|
-
|
|
841
|
+
// Reorder by what the QUESTION needs. RRF and the additive score rank by
|
|
842
|
+
// overlap, distance, and type weight — none of which read the question — so
|
|
843
|
+
// the object that answers it can sit behind ten near-synonyms and be cut by
|
|
844
|
+
// a top-N that never considered the ask. Advisory: the reranker may only
|
|
845
|
+
// reorder ids retrieval already returned, and any failure leaves this list
|
|
846
|
+
// exactly as it was.
|
|
847
|
+
const rerankedObjects = request.rerankCandidates
|
|
848
|
+
? applyRerank(rankedObjects, (object) => object.objectKey, await request.rerankCandidates(searchQueries.join(' '), rankedObjects.slice(0, 40).map((object) => ({
|
|
849
|
+
id: object.objectKey,
|
|
850
|
+
summary: [
|
|
851
|
+
object.name,
|
|
852
|
+
object.objectType,
|
|
853
|
+
object.description?.slice(0, 160),
|
|
854
|
+
].filter(Boolean).join(' — '),
|
|
855
|
+
}))).catch(() => undefined))
|
|
856
|
+
: rankedObjects;
|
|
857
|
+
if (process.env.DQL_ORCHESTRATOR_TRACE && request.rerankCandidates) {
|
|
858
|
+
const moved = rerankedObjects.findIndex((object, position) => object.objectKey !== rankedObjects[position]?.objectKey);
|
|
859
|
+
console.warn(`[dql] rerank: ${moved < 0 ? 'no change' : `reordered from position ${moved}`} over ${Math.min(40, rankedObjects.length)} candidates`);
|
|
860
|
+
}
|
|
861
|
+
const sqlParentObjects = sqlParentObjectsForSelectedColumns(rerankedObjects, mergeObjects([...graphObjects, ...runtimeObjects]), questionPlan);
|
|
782
862
|
// Deep-research over a SMALL catalog: skip top-k pruning and hand the model the
|
|
783
863
|
// entire relation set ("send everything, let the agent decide"). Only when the
|
|
784
864
|
// whole catalog fits comfortably in context — otherwise we keep ranked selection.
|
|
@@ -802,8 +882,8 @@ export async function buildLocalContextPack(projectRoot, request) {
|
|
|
802
882
|
limit: 8,
|
|
803
883
|
}).selected;
|
|
804
884
|
const objects = fullCatalogObjects
|
|
805
|
-
? mergeObjects([...
|
|
806
|
-
: mergeObjects([...
|
|
885
|
+
? mergeObjects([...rerankedObjects, ...sqlParentObjects, ...fullCatalogObjects, ...selectedSkillObjects, ...routeObjects])
|
|
886
|
+
: mergeObjects([...rerankedObjects, ...sqlParentObjects, ...selectedSkillObjects, ...routeObjects]);
|
|
807
887
|
const objectKeys = objects.map((row) => row.objectKey);
|
|
808
888
|
const allowedObjectKeys = new Set(objectKeys);
|
|
809
889
|
let contextEdges = mergeMetadataEdges(edgeWalk)
|
|
@@ -4327,6 +4407,7 @@ async function planContextPackRoute(input) {
|
|
|
4327
4407
|
plan: input.questionPlan,
|
|
4328
4408
|
block: object,
|
|
4329
4409
|
exactExampleMatch: hasExactExampleQuestion(input.request.question, object),
|
|
4410
|
+
uniqueExactExampleContract: hasUniqueExactCertifiedExample(input.request.question, input.objects, object),
|
|
4330
4411
|
definitionLookup: intent === 'definition_lookup' && objectNameInQuestion(input.request.question, object),
|
|
4331
4412
|
}),
|
|
4332
4413
|
applicabilityScore: applicabilityByKey.get(object.objectKey)?.score ?? 0,
|
|
@@ -4385,6 +4466,7 @@ async function planContextPackRoute(input) {
|
|
|
4385
4466
|
plan: input.questionPlan,
|
|
4386
4467
|
block: blockFitObject,
|
|
4387
4468
|
exactExampleMatch: exact ? exactExampleMatch : false,
|
|
4469
|
+
uniqueExactExampleContract: Boolean(exact && hasUniqueExactCertifiedExample(input.request.question, input.objects, blockFitObject)),
|
|
4388
4470
|
definitionLookup: Boolean(exact && intent === 'definition_lookup'
|
|
4389
4471
|
&& objectNameInQuestion(input.request.question, blockFitObject)),
|
|
4390
4472
|
})
|
|
@@ -4400,6 +4482,14 @@ async function planContextPackRoute(input) {
|
|
|
4400
4482
|
: rawBlockFit;
|
|
4401
4483
|
const missingContext = buildMissingContext(input.request, intent, input.objects, input.allowedSqlContext);
|
|
4402
4484
|
const selectedEvidence = input.evidenceRoles.slice(0, 16);
|
|
4485
|
+
// A blocking context gap belongs to the question, not to whichever
|
|
4486
|
+
// certified artifact happened to rank first. Evaluate it before a
|
|
4487
|
+
// wrong-grain/block-fit demotion can send a diagnose request into generated
|
|
4488
|
+
// SQL. In particular, a current-only tile plus a nearby raw table with a
|
|
4489
|
+
// date column must ask for a baseline rather than invent one.
|
|
4490
|
+
if (intent === 'clarify' || missingContext.some((item) => item.severity === 'blocking')) {
|
|
4491
|
+
return clarifyDecision(intent, input.trustLabel, selectedEvidence, missingContext);
|
|
4492
|
+
}
|
|
4403
4493
|
// Grain / contract gate (refinement of the existing certified→generated
|
|
4404
4494
|
// demotion). The candidate certified block is only served at Tier 1 when its
|
|
4405
4495
|
// declared grain actually satisfies the question's requested grain. An
|
|
@@ -4527,9 +4617,6 @@ async function planContextPackRoute(input) {
|
|
|
4527
4617
|
followUps: buildMetadataFollowUps(intent, input.allowedSqlContext),
|
|
4528
4618
|
};
|
|
4529
4619
|
}
|
|
4530
|
-
if (intent === 'clarify' || missingContext.some((item) => item.severity === 'blocking')) {
|
|
4531
|
-
return clarifyDecision(intent, input.trustLabel, selectedEvidence, missingContext);
|
|
4532
|
-
}
|
|
4533
4620
|
const canGenerate = input.allowedSqlContext.relations.length > 0 ||
|
|
4534
4621
|
input.allowedSqlContext.sourceBlockSql.length > 0 ||
|
|
4535
4622
|
input.objects.some((object) => object.objectType.startsWith('semantic_'));
|
|
@@ -4662,6 +4749,7 @@ function buildCertifiedCandidateFitDiagnostics(input) {
|
|
|
4662
4749
|
plan: input.questionPlan,
|
|
4663
4750
|
block: object,
|
|
4664
4751
|
exactExampleMatch: hasExactExampleQuestion(input.request.question, object),
|
|
4752
|
+
uniqueExactExampleContract: hasUniqueExactCertifiedExample(input.request.question, input.objects, object),
|
|
4665
4753
|
definitionLookup: input.routeDecision.intent === 'definition_lookup',
|
|
4666
4754
|
});
|
|
4667
4755
|
return {
|
|
@@ -4682,7 +4770,15 @@ function buildCertifiedCandidateFitDiagnostics(input) {
|
|
|
4682
4770
|
.slice(0, 12);
|
|
4683
4771
|
}
|
|
4684
4772
|
function certifiedCandidateFitAction(objectKey, applicability, fit, routeDecision) {
|
|
4685
|
-
|
|
4773
|
+
// A catalog route is useful retrieval guidance, not independent evidence
|
|
4774
|
+
// that the selected block exposes every requested metric. Do not stamp a
|
|
4775
|
+
// candidate as a certified answer when its own output-contract fit contains
|
|
4776
|
+
// a missing measure: doing so let a `lifetime_spend` ranking inherit the
|
|
4777
|
+
// generic `revenue` tag and freeze as a false certified result.
|
|
4778
|
+
if (routeDecision.route === 'certified'
|
|
4779
|
+
&& routeDecision.exactObjectKey === objectKey
|
|
4780
|
+
&& certifiedFitAllowsTier1(fit)
|
|
4781
|
+
&& (fit.missingMeasures?.length ?? 0) === 0)
|
|
4686
4782
|
return 'certified_answer';
|
|
4687
4783
|
if (routeDecision.certifiedApplicability?.objectKey === objectKey && routeDecision.route !== 'certified')
|
|
4688
4784
|
return 'context_only';
|
|
@@ -4831,6 +4927,19 @@ function hasExactExampleQuestion(question, object) {
|
|
|
4831
4927
|
typeof example === 'object' &&
|
|
4832
4928
|
normalizeSearchText(String(example.question ?? '')) === q);
|
|
4833
4929
|
}
|
|
4930
|
+
/**
|
|
4931
|
+
* An authored example is a block-local contract only when it identifies one
|
|
4932
|
+
* certified block in this snapshot. Shared examples are ambiguous evidence:
|
|
4933
|
+
* neither block may reinterpret parser member tokens through its own shape.
|
|
4934
|
+
*/
|
|
4935
|
+
function hasUniqueExactCertifiedExample(question, objects, object) {
|
|
4936
|
+
if (!hasExactExampleQuestion(question, object))
|
|
4937
|
+
return false;
|
|
4938
|
+
const matches = objects.filter((candidate) => candidate.objectType === 'dql_block'
|
|
4939
|
+
&& isCertifiedMetadataObject(candidate)
|
|
4940
|
+
&& hasExactExampleQuestion(question, candidate));
|
|
4941
|
+
return matches.length === 1 && matches[0]?.objectKey === object.objectKey;
|
|
4942
|
+
}
|
|
4834
4943
|
function hasMeaningfulObjectOverlap(question, object) {
|
|
4835
4944
|
const terms = new Set(tokenize(question));
|
|
4836
4945
|
if (terms.size === 0)
|
|
@@ -4909,6 +5018,7 @@ function buildMissingContext(request, intent, objects, allowedSqlContext) {
|
|
|
4909
5018
|
return missing;
|
|
4910
5019
|
}
|
|
4911
5020
|
function hasComparableBaselineContext(request, objects, allowedSqlContext) {
|
|
5021
|
+
const observedBaseline = hasObservedBaselineRows(request.selectedContext);
|
|
4912
5022
|
if (request.focusObjectKey) {
|
|
4913
5023
|
const focus = objects.find((object) => object.objectKey === request.focusObjectKey);
|
|
4914
5024
|
if (focus) {
|
|
@@ -4919,17 +5029,30 @@ function hasComparableBaselineContext(request, objects, allowedSqlContext) {
|
|
|
4919
5029
|
const focusedRelations = dependencyKeys.size > 0
|
|
4920
5030
|
? allowedSqlContext.relations.filter((relation) => relationLookupKeysForCatalog(relation.relation).some((key) => dependencyKeys.has(key)))
|
|
4921
5031
|
: [];
|
|
4922
|
-
|
|
4923
|
-
|
|
4924
|
-
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
|
|
5032
|
+
// A time-like column somewhere in the dependency graph is potential
|
|
5033
|
+
// exploration context, not proof that the focused artifact contains a
|
|
5034
|
+
// comparable baseline. Treating it as proof made a current-only
|
|
5035
|
+
// availability tile answer “what changed?” from an unrelated raw table.
|
|
5036
|
+
// Require either observed selected rows spanning two values, or an
|
|
5037
|
+
// authored comparison expression that uses a declared focused time
|
|
5038
|
+
// column. Names/descriptions/LLM prose remain retrieval context only.
|
|
5039
|
+
if (observedBaseline)
|
|
5040
|
+
return true;
|
|
5041
|
+
const focusSql = String(focus.payload?.sql ?? focus.payload?.query ?? '');
|
|
5042
|
+
const timeColumns = focusedRelations.flatMap((relation) => relation.columns
|
|
5043
|
+
.map((column) => column.name)
|
|
5044
|
+
.filter(isTimeLikeColumn));
|
|
5045
|
+
const usesFocusedTimeColumn = timeColumns.some((column) => new RegExp(`\\b${escapeRegExp(column)}\\b`, 'i').test(focusSql));
|
|
5046
|
+
const declaresComparison = /\b(?:baseline|history|prior|previous|compare|comparison|versus|\bvs\.?|lag|lead)\b/i.test(focusSql);
|
|
5047
|
+
return usesFocusedTimeColumn && declaresComparison;
|
|
4928
5048
|
}
|
|
4929
5049
|
}
|
|
4930
5050
|
if (allowedSqlContext.relations.some((relation) => relation.columns.some((column) => isTimeLikeColumn(column.name))))
|
|
4931
5051
|
return true;
|
|
4932
|
-
|
|
5052
|
+
return observedBaseline;
|
|
5053
|
+
}
|
|
5054
|
+
function hasObservedBaselineRows(value) {
|
|
5055
|
+
const rows = selectedRows(value);
|
|
4933
5056
|
if (rows.length < 2)
|
|
4934
5057
|
return false;
|
|
4935
5058
|
const columns = new Set(rows.flatMap((row) => Object.keys(row)));
|
|
@@ -4957,6 +5080,9 @@ function relationLookupKeysForCatalog(relation) {
|
|
|
4957
5080
|
function isTimeLikeColumn(name) {
|
|
4958
5081
|
return /\b(date|time|day|week|month|quarter|year|season|period|created_at|updated_at)\b/i.test(name);
|
|
4959
5082
|
}
|
|
5083
|
+
function escapeRegExp(value) {
|
|
5084
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
5085
|
+
}
|
|
4960
5086
|
function selectedRows(value) {
|
|
4961
5087
|
const root = value && typeof value === 'object' ? value : null;
|
|
4962
5088
|
const selected = root?.selectedBlock && typeof root.selectedBlock === 'object' ? root.selectedBlock : root;
|
|
@@ -6822,11 +6948,56 @@ const VECTOR_EXCLUDED_OBJECT_TYPES = new Set([
|
|
|
6822
6948
|
'skill',
|
|
6823
6949
|
'runtime_value',
|
|
6824
6950
|
]);
|
|
6951
|
+
/**
|
|
6952
|
+
* A DOCUMENTED column earns a vector, even though columns are excluded as a class.
|
|
6953
|
+
*
|
|
6954
|
+
* Excluding every column left a question phrased in column vocabulary ("which
|
|
6955
|
+
* field holds the customer's tier?") with no semantic recall path at all — the
|
|
6956
|
+
* lexical lane is the only thing that could ever find it, and that is exactly
|
|
6957
|
+
* the case where the user's words and the schema's words differ.
|
|
6958
|
+
*
|
|
6959
|
+
* The exclusion existed for volume, and that concern is real: columns outnumber
|
|
6960
|
+
* models by 10-50x and `searchVectorObjects` is an O(n) scan in JS. A DESCRIPTION
|
|
6961
|
+
* is the natural bound — it means someone documented the column on purpose, which
|
|
6962
|
+
* is both a quality signal and a small fraction of any real warehouse. An
|
|
6963
|
+
* undocumented column has nothing to embed but its name, which the lexical lane
|
|
6964
|
+
* already matches better than a vector would.
|
|
6965
|
+
*/
|
|
6966
|
+
function isDocumentedColumnObject(object) {
|
|
6967
|
+
return COLUMN_OBJECT_TYPES.has(object.objectType)
|
|
6968
|
+
&& object.objectType !== 'runtime_value'
|
|
6969
|
+
&& (object.description?.trim().length ?? 0) > 0;
|
|
6970
|
+
}
|
|
6971
|
+
/**
|
|
6972
|
+
* A skill is written vocabulary — the words a team uses for a task — which is
|
|
6973
|
+
* exactly what a vector is for. Excluding the type wholesale meant a question
|
|
6974
|
+
* phrased in the team's language could only ever be found by keyword. Bounded
|
|
6975
|
+
* the same way as columns: it must actually be documented, so an empty skill
|
|
6976
|
+
* stub does not earn an embedding.
|
|
6977
|
+
*/
|
|
6978
|
+
function isDocumentedSkillObject(object) {
|
|
6979
|
+
return object.objectType === 'skill' && (object.description?.trim().length ?? 0) > 0;
|
|
6980
|
+
}
|
|
6825
6981
|
function isVectorIndexObject(object) {
|
|
6982
|
+
if (isDocumentedColumnObject(object))
|
|
6983
|
+
return true;
|
|
6984
|
+
if (isDocumentedSkillObject(object))
|
|
6985
|
+
return true;
|
|
6826
6986
|
return !VECTOR_EXCLUDED_OBJECT_TYPES.has(object.objectType);
|
|
6827
6987
|
}
|
|
6828
6988
|
function metadataVectorText(object) {
|
|
6989
|
+
// A bare column name is a naked token: `status` on its own is equally close to
|
|
6990
|
+
// every status-ish thing in the warehouse. Lead with the parent-qualified name
|
|
6991
|
+
// and the type so the vector carries WHICH table's status this is.
|
|
6992
|
+
const columnPrefix = isDocumentedColumnObject(object)
|
|
6993
|
+
? [
|
|
6994
|
+
`${object.fullName ?? object.name} column`,
|
|
6995
|
+
stringValue((object.payload ?? {}).type) ?? '',
|
|
6996
|
+
stringValue((object.payload ?? {}).relation) ?? '',
|
|
6997
|
+
].filter(Boolean).join(' ')
|
|
6998
|
+
: '';
|
|
6829
6999
|
return [
|
|
7000
|
+
columnPrefix,
|
|
6830
7001
|
object.name,
|
|
6831
7002
|
object.fullName ?? '',
|
|
6832
7003
|
object.description ?? '',
|