@duckcodeailabs/dql-agent 1.6.5 → 1.6.7

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.
@@ -0,0 +1,289 @@
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
+ */
9
+ import { type DQLManifest, type SemanticLayer } from '@duckcodeailabs/dql-core';
10
+ export type MetadataTrustLabel = 'certified' | 'mixed' | 'draft' | 'unknown';
11
+ export interface MetadataObject {
12
+ objectKey: string;
13
+ objectType: string;
14
+ name: string;
15
+ fullName?: string;
16
+ domain?: string;
17
+ owner?: string;
18
+ status?: string;
19
+ description?: string;
20
+ sourcePath?: string;
21
+ sourceSystem?: string;
22
+ payload?: Record<string, unknown>;
23
+ updatedAt?: string;
24
+ score?: number;
25
+ snippet?: string;
26
+ }
27
+ export interface MetadataEdge {
28
+ edgeType: string;
29
+ fromKey: string;
30
+ toKey: string;
31
+ confidence?: number;
32
+ payload?: Record<string, unknown>;
33
+ }
34
+ export interface MetadataDiagnostic {
35
+ kind: string;
36
+ severity: 'error' | 'warning';
37
+ message: string;
38
+ objectKey?: string;
39
+ filePath?: string;
40
+ }
41
+ export interface MetadataSnapshot {
42
+ projectRoot: string;
43
+ manifest: DQLManifest;
44
+ objects: MetadataObject[];
45
+ edges: MetadataEdge[];
46
+ diagnostics: MetadataDiagnostic[];
47
+ fingerprint: string;
48
+ generatedAt: string;
49
+ }
50
+ export interface EnsureMetadataCatalogOptions {
51
+ manifest?: DQLManifest;
52
+ semanticLayer?: SemanticLayer | null;
53
+ force?: boolean;
54
+ }
55
+ export interface EnsureMetadataCatalogResult {
56
+ path: string;
57
+ refreshed: boolean;
58
+ objectCount: number;
59
+ edgeCount: number;
60
+ diagnostics: MetadataDiagnostic[];
61
+ fingerprint: string;
62
+ }
63
+ export interface BuildLocalContextPackRequest {
64
+ question: string;
65
+ focusObjectKey?: string;
66
+ mode?: 'question' | 'build' | 'debug' | 'certify' | 'impact' | 'explain';
67
+ limit?: number;
68
+ objectTypes?: string[];
69
+ intent?: MetadataAgentIntent;
70
+ surface?: 'cli' | 'notebook' | 'block' | 'app' | 'research' | 'mcp' | string;
71
+ followUp?: MetadataFollowUpContext | unknown;
72
+ selectedContext?: unknown;
73
+ runtimeSchemaSnapshot?: RuntimeSchemaSnapshot;
74
+ strictness?: 'safe' | 'balanced' | 'exploratory';
75
+ }
76
+ export interface MetadataFollowUpContext {
77
+ kind: 'generic' | 'drilldown';
78
+ sourceBlockName?: string;
79
+ sourceQuestion?: string;
80
+ sourceAnswer?: string;
81
+ filters?: string[];
82
+ dimensions?: string[];
83
+ }
84
+ export type MetadataAgentIntent = 'exact_certified_lookup' | 'definition_lookup' | 'ad_hoc_ranking' | 'driver_breakdown' | 'diagnose_change' | 'segment_compare' | 'entity_drilldown' | 'anomaly_investigation' | 'trust_gap_review' | 'clarify';
85
+ export type MetadataAnswerRoute = 'certified' | 'generated_sql' | 'research' | 'clarify';
86
+ export type MetadataEvidenceRole = 'exact_certified_answer' | 'certified_context' | 'semantic_metric' | 'business_context' | 'dbt_model' | 'warehouse_schema' | 'runtime_schema' | 'value_match' | 'prior_query_run' | 'selected_context' | 'skill_guidance' | 'other';
87
+ export interface RuntimeSchemaColumn {
88
+ name: string;
89
+ type?: string;
90
+ description?: string;
91
+ sampleValues?: string[];
92
+ }
93
+ export interface RuntimeSchemaTable {
94
+ relation: string;
95
+ schema?: string;
96
+ name?: string;
97
+ description?: string;
98
+ columns: RuntimeSchemaColumn[];
99
+ source?: string;
100
+ }
101
+ export interface RuntimeSchemaSnapshot {
102
+ source?: string;
103
+ capturedAt?: string;
104
+ tables: RuntimeSchemaTable[];
105
+ }
106
+ export interface MetadataMissingContext {
107
+ kind: 'metric' | 'table' | 'baseline' | 'dimension' | 'filter' | 'semantic' | 'value' | 'metadata';
108
+ message: string;
109
+ severity: 'warning' | 'blocking';
110
+ }
111
+ export interface MetadataAllowedSqlRelation {
112
+ relation: string;
113
+ name: string;
114
+ objectKey?: string;
115
+ source: string;
116
+ columns: RuntimeSchemaColumn[];
117
+ }
118
+ export interface MetadataAllowedSqlContext {
119
+ relations: MetadataAllowedSqlRelation[];
120
+ sourceBlockSql: Array<{
121
+ objectKey: string;
122
+ name: string;
123
+ status?: string;
124
+ sql: string;
125
+ }>;
126
+ }
127
+ export interface MetadataRouteDecision {
128
+ route: MetadataAnswerRoute;
129
+ intent: MetadataAgentIntent;
130
+ reason: string;
131
+ trustLabel: MetadataTrustLabel;
132
+ reviewStatus: 'certified' | 'draft_ready' | 'needs_review' | 'none';
133
+ exactObjectKey?: string;
134
+ selectedEvidence: Array<{
135
+ objectKey: string;
136
+ objectType: string;
137
+ name: string;
138
+ role: MetadataEvidenceRole;
139
+ reason: string;
140
+ }>;
141
+ missingContext: MetadataMissingContext[];
142
+ followUps: string[];
143
+ }
144
+ export interface PlanAgentAnswerResult {
145
+ contextPackId: string;
146
+ contextPack: LocalContextPack;
147
+ routeDecision: MetadataRouteDecision;
148
+ evidenceRoles: LocalContextPack['evidenceRoles'];
149
+ allowedSqlContext: MetadataAllowedSqlContext;
150
+ missingContext: MetadataMissingContext[];
151
+ warnings: string[];
152
+ freshness: LocalContextPack['freshness'];
153
+ }
154
+ export interface LocalContextPack {
155
+ id: string;
156
+ question: string;
157
+ followUp?: MetadataFollowUpContext;
158
+ focusObjectKey: string | null;
159
+ mode: 'question' | 'build' | 'debug' | 'certify' | 'impact' | 'explain';
160
+ trustLabel: MetadataTrustLabel;
161
+ objects: MetadataObject[];
162
+ edges: MetadataEdge[];
163
+ queryRuns: QueryRunSummary[];
164
+ citations: Array<{
165
+ objectKey: string;
166
+ objectType: string;
167
+ name: string;
168
+ reason: string;
169
+ }>;
170
+ evidenceSummaries: Array<{
171
+ title: string;
172
+ detail: string;
173
+ objectKey?: string;
174
+ objectType?: string;
175
+ reason: string;
176
+ }>;
177
+ warnings: string[];
178
+ routeDecision: MetadataRouteDecision;
179
+ evidenceRoles: Array<{
180
+ objectKey: string;
181
+ objectType: string;
182
+ name: string;
183
+ role: MetadataEvidenceRole;
184
+ reason: string;
185
+ }>;
186
+ allowedSqlContext: MetadataAllowedSqlContext;
187
+ missingContext: MetadataMissingContext[];
188
+ conflicts: MetadataCandidateConflict[];
189
+ retrievalDiagnostics: {
190
+ strategy: 'sqlite_fts';
191
+ selectedObjects: number;
192
+ selectedEvidence: Array<{
193
+ objectKey: string;
194
+ objectType: string;
195
+ name: string;
196
+ reason: string;
197
+ rank: number;
198
+ score: number;
199
+ priorityTier: string;
200
+ }>;
201
+ topRejected: Array<{
202
+ objectKey: string;
203
+ objectType: string;
204
+ name: string;
205
+ reason: string;
206
+ score: number;
207
+ rejectedRank: number;
208
+ }>;
209
+ candidateConflicts: MetadataCandidateConflict[];
210
+ };
211
+ freshness: {
212
+ catalogPath: string;
213
+ builtAt: string | null;
214
+ fingerprint: string | null;
215
+ };
216
+ }
217
+ export interface QueryRunSummary {
218
+ id: string;
219
+ objectKey?: string;
220
+ source: 'sql_cell' | 'dql_block_cell' | 'semantic_metric_cell' | 'certified_block' | 'app_widget' | 'ai_draft' | string;
221
+ status: string;
222
+ rowCount?: number;
223
+ durationMs?: number;
224
+ errorCode?: string;
225
+ createdAt?: string;
226
+ payload?: Record<string, unknown>;
227
+ }
228
+ export interface MetadataCandidateConflict {
229
+ objectType: string;
230
+ objectKeys: string[];
231
+ reason: string;
232
+ prompt: string;
233
+ candidates: Array<{
234
+ objectKey: string;
235
+ objectType: string;
236
+ name: string;
237
+ domain: string | null;
238
+ status: string | null;
239
+ rank: number;
240
+ score: number;
241
+ reason: string;
242
+ }>;
243
+ }
244
+ export declare function defaultMetadataPath(projectRoot: string): string;
245
+ export declare function openMetadataCatalog(projectRoot: string, dbPath?: string): MetadataCatalog;
246
+ export declare function ensureMetadataCatalogFresh(projectRoot: string, options?: EnsureMetadataCatalogOptions): Promise<EnsureMetadataCatalogResult>;
247
+ export declare function upsertMetadataSnapshot(projectRoot: string, snapshot: MetadataSnapshot): EnsureMetadataCatalogResult;
248
+ export declare function buildLocalContextPack(projectRoot: string, request: BuildLocalContextPackRequest): Promise<LocalContextPack>;
249
+ export declare function planAgentAnswer(projectRoot: string, request: BuildLocalContextPackRequest): Promise<PlanAgentAnswerResult>;
250
+ export declare function recordQueryRun(projectRoot: string, run: Omit<QueryRunSummary, 'id'> & {
251
+ id?: string;
252
+ }): QueryRunSummary;
253
+ export declare function recordRuntimeSchemaSnapshot(projectRoot: string, snapshot: RuntimeSchemaSnapshot): RuntimeSchemaSnapshot;
254
+ export declare function buildMetadataSnapshot(projectRoot: string, manifest: DQLManifest, semanticLayer?: SemanticLayer): MetadataSnapshot;
255
+ export declare class MetadataCatalog {
256
+ private readonly dbPath;
257
+ private readonly db;
258
+ constructor(dbPath: string);
259
+ private initSchema;
260
+ rebuild(snapshot: MetadataSnapshot): void;
261
+ searchObjects(options: {
262
+ query: string;
263
+ objectTypes?: string[];
264
+ domain?: string;
265
+ limit?: number;
266
+ }): MetadataObject[];
267
+ listObjects(options?: {
268
+ objectTypes?: string[];
269
+ domain?: string;
270
+ limit?: number;
271
+ }): MetadataObject[];
272
+ getObject(objectKey: string): MetadataObject | null;
273
+ getObjectsByKeys(keys: string[]): MetadataObject[];
274
+ edgesForKeys(keys: string[], hops?: number): MetadataEdge[];
275
+ insertContextPack(pack: Omit<LocalContextPack, 'id'>): string;
276
+ recordQueryRun(run: Omit<QueryRunSummary, 'id'> & {
277
+ id?: string;
278
+ }): QueryRunSummary;
279
+ queryRunsForObjectKeys(keys: string[], limit?: number): QueryRunSummary[];
280
+ recordRuntimeSchemaSnapshot(snapshot: RuntimeSchemaSnapshot): RuntimeSchemaSnapshot;
281
+ latestRuntimeSchemaSnapshot(): RuntimeSchemaSnapshot | null;
282
+ getContextPack(id: string): LocalContextPack | null;
283
+ objectCount(): number;
284
+ edgeCount(): number;
285
+ diagnostics(): MetadataDiagnostic[];
286
+ state(key: string): string | null;
287
+ close(): void;
288
+ }
289
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/metadata/catalog.ts"],"names":[],"mappings":"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"}