@duckcodeailabs/dql-agent 1.13.5 → 1.14.0

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.
Files changed (47) hide show
  1. package/dist/agent-run-engine.d.ts +21 -4
  2. package/dist/agent-run-engine.d.ts.map +1 -1
  3. package/dist/agent-run-engine.js +135 -29
  4. package/dist/agent-run-engine.js.map +1 -1
  5. package/dist/agent-run-store.d.ts.map +1 -1
  6. package/dist/agent-run-store.js +42 -25
  7. package/dist/agent-run-store.js.map +1 -1
  8. package/dist/analytical-orchestration.d.ts +256 -0
  9. package/dist/analytical-orchestration.d.ts.map +1 -0
  10. package/dist/analytical-orchestration.js +419 -0
  11. package/dist/analytical-orchestration.js.map +1 -0
  12. package/dist/analytical-result-facts.d.ts +1 -1
  13. package/dist/analytical-result-facts.d.ts.map +1 -1
  14. package/dist/analytical-result-facts.js +39 -0
  15. package/dist/analytical-result-facts.js.map +1 -1
  16. package/dist/answer-loop.d.ts +4 -0
  17. package/dist/answer-loop.d.ts.map +1 -1
  18. package/dist/answer-loop.js +95 -6
  19. package/dist/answer-loop.js.map +1 -1
  20. package/dist/conversation/snapshot.d.ts.map +1 -1
  21. package/dist/conversation/snapshot.js +3 -0
  22. package/dist/conversation/snapshot.js.map +1 -1
  23. package/dist/conversation/turn-trust.d.ts.map +1 -1
  24. package/dist/conversation/turn-trust.js +6 -0
  25. package/dist/conversation/turn-trust.js.map +1 -1
  26. package/dist/index.d.ts +3 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/meaning-resolution.d.ts +7 -0
  31. package/dist/meaning-resolution.d.ts.map +1 -1
  32. package/dist/meaning-resolution.js.map +1 -1
  33. package/dist/metadata/catalog.d.ts +24 -0
  34. package/dist/metadata/catalog.d.ts.map +1 -1
  35. package/dist/metadata/catalog.js +227 -42
  36. package/dist/metadata/catalog.js.map +1 -1
  37. package/dist/metadata/meaning-evidence.d.ts.map +1 -1
  38. package/dist/metadata/meaning-evidence.js +86 -1
  39. package/dist/metadata/meaning-evidence.js.map +1 -1
  40. package/dist/resolved-analytical-plan.d.ts.map +1 -1
  41. package/dist/resolved-analytical-plan.js +92 -5
  42. package/dist/resolved-analytical-plan.js.map +1 -1
  43. package/dist/router.d.ts +8 -0
  44. package/dist/router.d.ts.map +1 -1
  45. package/dist/router.js +368 -22
  46. package/dist/router.js.map +1 -1
  47. package/package.json +4 -4
@@ -0,0 +1,256 @@
1
+ /**
2
+ * Shared contracts for the conversational analytical orchestrator.
3
+ *
4
+ * The existing DQL engine remains the authority for compilation, execution,
5
+ * trust, and the immutable resolved analytical plan. This module is the thin
6
+ * outer contract used by the conversational layer to describe what it
7
+ * understood, what it searched, and why it could or could not continue.
8
+ *
9
+ * The contract is intentionally content-only: it never carries model
10
+ * chain-of-thought, credentials, raw provider payloads, or authorization.
11
+ *
12
+ * Acceptance: AGT-027..033, CTX-007, PERF-003, E2E-022.
13
+ */
14
+ import type { DqlArtifactExecutionReceipt } from '@duckcodeailabs/dql-core';
15
+ export declare const ANALYTICAL_ORCHESTRATION_CONTRACT_VERSION: 1;
16
+ export type AnalyticalTurnKind = 'conversation' | 'definition' | 'lookup' | 'ranking' | 'breakdown' | 'comparison' | 'drilldown' | 'diagnosis' | 'research' | 'compound' | 'clarification' | 'aggregation';
17
+ export type AnalyticalTaskKind = 'definition' | 'aggregation' | 'ranking' | 'attribute_lookup' | 'breakdown' | 'comparison' | 'drilldown' | 'diagnosis' | 'research_branch';
18
+ export type AnalyticalTaskStatus = 'planned' | 'running' | 'completed' | 'partial' | 'gap' | 'blocked';
19
+ export interface AnalyticalTaskOutputContractV1 {
20
+ metrics: string[];
21
+ dimensions: string[];
22
+ filters: Array<{
23
+ field: string;
24
+ value: string;
25
+ }>;
26
+ grain?: string;
27
+ limit?: number;
28
+ order?: 'asc' | 'desc';
29
+ requestedColumns?: string[];
30
+ }
31
+ export interface AnalyticalTaskV1 {
32
+ version: 1;
33
+ id: string;
34
+ kind: AnalyticalTaskKind;
35
+ question: string;
36
+ dependencies: string[];
37
+ output: AnalyticalTaskOutputContractV1;
38
+ status: AnalyticalTaskStatus;
39
+ /** Only qualified catalog IDs may be placed in this list. */
40
+ candidateIds: string[];
41
+ /** Shared prior-result bindings, e.g. region = Philadelphia. */
42
+ inheritedBindings: Array<{
43
+ id: string;
44
+ value: string;
45
+ source: 'conversation' | 'result' | 'user';
46
+ }>;
47
+ }
48
+ /** Durable, content-only outcome for one independent clause/branch. */
49
+ export interface AnalyticalTaskOutcomeV1 {
50
+ version: 1;
51
+ taskId: string;
52
+ status: 'completed' | 'partial' | 'gap' | 'blocked';
53
+ summary?: string;
54
+ resultFingerprint?: string;
55
+ gap?: AnalyticalCoverageGapV1;
56
+ }
57
+ export interface AnalyticalCoverageGapV1 {
58
+ version: 1;
59
+ code: 'MISSING_MEASURE' | 'MISSING_DIMENSION' | 'MISSING_ATTRIBUTE' | 'MISSING_RELATIONSHIP' | 'MISSING_RUNTIME_CAPABILITY' | 'RESULT_CONTRACT_MISMATCH' | 'PROVIDER_UNAVAILABLE' | 'EXECUTION_FAILED' | 'AMBIGUOUS_MEANING' | 'POLICY_BLOCKED';
60
+ phase: 'retrieval' | 'meaning' | 'planning' | 'compilation' | 'execution' | 'presentation';
61
+ message: string;
62
+ searchedSources: string[];
63
+ attemptedRoutes: Array<'certified' | 'semantic' | 'governed_relational' | 'generated' | 'research'>;
64
+ missing: string[];
65
+ recoverable: boolean;
66
+ planFrozen: boolean;
67
+ nextActions: string[];
68
+ }
69
+ export interface AnalyticalTurnPlanV1 {
70
+ version: 1;
71
+ turnId?: string;
72
+ question: string;
73
+ kind: AnalyticalTurnKind;
74
+ /** Natural-language turns use one bounded interpretation call by default. */
75
+ meaningCallBudget: 0 | 1;
76
+ meaningCallReason: 'explicit_binding' | 'conversation_only' | 'candidate_interpretation' | 'frozen_research_child';
77
+ snapshotId?: string;
78
+ sourceFingerprint?: string;
79
+ taskIds: string[];
80
+ tasks: AnalyticalTaskV1[];
81
+ authorityOrder: Array<'certified' | 'semantic' | 'governed_relational' | 'generated'>;
82
+ /** This is set only after compatibility and authorization have passed. */
83
+ frozen: boolean;
84
+ conversationTurnId?: string;
85
+ parentRunId?: string;
86
+ }
87
+ export interface AnalyticalAnswerSectionV1 {
88
+ version: 1;
89
+ id: string;
90
+ taskId: string;
91
+ status: 'answered' | 'partial' | 'gap' | 'blocked';
92
+ answer?: string;
93
+ result?: CanonicalQueryResultV1;
94
+ gap?: AnalyticalCoverageGapV1;
95
+ factIds: string[];
96
+ trustState: 'certified' | 'governed' | 'review_required' | 'not_applicable' | 'blocked';
97
+ }
98
+ export interface AnalyticalTurnAnswerV1 {
99
+ version: 1;
100
+ answer: string;
101
+ sections: AnalyticalAnswerSectionV1[];
102
+ followUps: string[];
103
+ facts: string[];
104
+ }
105
+ /**
106
+ * Small, explainable intent vocabulary used before the physical plan exists.
107
+ * It is deliberately not a second semantic matcher: candidate identity still
108
+ * comes from retrieval plus the bounded meaning call. These helpers only turn
109
+ * a request into a task graph and output contract, so a compound question can
110
+ * report partial success instead of collapsing the whole turn to one error.
111
+ */
112
+ export declare function inferAnalyticalTurnKind(question: string): AnalyticalTurnKind;
113
+ export declare function splitAnalyticalTasks(question: string): string[];
114
+ export declare function buildAnalyticalTaskGraph(input: {
115
+ question: string;
116
+ candidateIds?: string[];
117
+ metrics?: string[];
118
+ dimensions?: string[];
119
+ filters?: Array<{
120
+ field: string;
121
+ value: string;
122
+ }>;
123
+ inheritedBindings?: Array<{
124
+ id: string;
125
+ value: string;
126
+ source: 'conversation' | 'result' | 'user';
127
+ }>;
128
+ maxTasks?: number;
129
+ }): {
130
+ kind: AnalyticalTurnKind;
131
+ tasks: AnalyticalTaskV1[];
132
+ partial: boolean;
133
+ };
134
+ export declare function buildAnalyticalTurnPlan(input: {
135
+ question: string;
136
+ turnId?: string;
137
+ candidateIds?: string[];
138
+ metrics?: string[];
139
+ dimensions?: string[];
140
+ filters?: Array<{
141
+ field: string;
142
+ value: string;
143
+ }>;
144
+ inheritedBindings?: Array<{
145
+ id: string;
146
+ value: string;
147
+ source: 'conversation' | 'result' | 'user';
148
+ }>;
149
+ zeroCallReason?: AnalyticalTurnPlanV1['meaningCallReason'];
150
+ frozen?: boolean;
151
+ snapshotId?: string;
152
+ sourceFingerprint?: string;
153
+ }): AnalyticalTurnPlanV1;
154
+ export declare function summarizeTaskOutcomes(tasks: AnalyticalTaskV1[]): {
155
+ status: 'completed' | 'partial' | 'gap' | 'blocked';
156
+ completed: string[];
157
+ gaps: string[];
158
+ };
159
+ export interface CanonicalQueryResultV1 {
160
+ version: 1;
161
+ columns: string[];
162
+ rows: Array<Record<string, unknown>>;
163
+ rowCount: number;
164
+ executionTime?: number;
165
+ truncated?: boolean;
166
+ /** The exact execution proof is carried through every transport boundary. */
167
+ executionReceipt?: DqlArtifactExecutionReceipt;
168
+ /** Trust/tier are descriptive identity, never inferred by a renderer. */
169
+ trustState?: 'certified' | 'governed' | 'review_required' | 'not_applicable' | 'blocked';
170
+ answerTier?: string;
171
+ resultFingerprint: string;
172
+ }
173
+ /**
174
+ * Normalize connector, MetricFlow, and provider result shapes at one boundary.
175
+ * Connectors may return `ColumnMeta[]` and rows as arrays; UI surfaces should
176
+ * never need to guess how to index those rows.
177
+ */
178
+ export declare function normalizeCanonicalQueryResult(input: {
179
+ columns?: unknown;
180
+ rows?: unknown;
181
+ rowCount?: unknown;
182
+ executionTime?: unknown;
183
+ executionTimeMs?: unknown;
184
+ truncated?: unknown;
185
+ resultFingerprint?: unknown;
186
+ executionReceipt?: unknown;
187
+ trustState?: unknown;
188
+ answerTier?: unknown;
189
+ }): CanonicalQueryResultV1;
190
+ export declare function canonicalResultRows(result: CanonicalQueryResultV1): unknown[][];
191
+ export declare function assertCanonicalResult(result: CanonicalQueryResultV1): void;
192
+ export interface ContextCandidateCardV1 {
193
+ id: string;
194
+ lane: 'exact' | 'lexical' | 'vector' | 'graph' | 'runtime_value' | 'domain' | 'skill' | 'conversation' | 'certified' | 'semantic' | 'relational' | 'business';
195
+ relevance: number;
196
+ trust?: 'certified' | 'semantic' | 'governed_sql' | 'exploratory';
197
+ compatible?: boolean;
198
+ summary?: string;
199
+ }
200
+ export interface ContextFusionDiagnosticsV1 {
201
+ lanes: Record<string, {
202
+ returned: number;
203
+ durationMs?: number;
204
+ status?: 'ok' | 'empty' | 'error' | 'skipped';
205
+ error?: string;
206
+ skippedReason?: string;
207
+ }>;
208
+ selectedIds: string[];
209
+ truncated: boolean;
210
+ }
211
+ export interface ContextFusionResultV1 {
212
+ candidates: ContextCandidateCardV1[];
213
+ diagnostics: ContextFusionDiagnosticsV1;
214
+ }
215
+ /** Reciprocal-rank fusion keeps recall across lexical, vector, and graph lanes. */
216
+ export declare function fuseContextCandidates(lanes: Record<string, ContextCandidateCardV1[]>, limit?: number): ContextFusionResultV1;
217
+ export declare function retrieveContextLanes(lanes: Record<string, () => Promise<ContextCandidateCardV1[]>>, limit?: number, maxConcurrent?: number): Promise<ContextFusionResultV1>;
218
+ export interface ResearchLedgerEntryV1 {
219
+ id: string;
220
+ branchId: string;
221
+ question: string;
222
+ status: 'observed' | 'failed' | 'skipped';
223
+ /** Optional complete execution proof; arbitrary IDs are never accepted. */
224
+ executionReceipt?: DqlArtifactExecutionReceipt;
225
+ resultFingerprint?: string;
226
+ rowCount?: number;
227
+ facts: string[];
228
+ receipts: string[];
229
+ error?: string;
230
+ }
231
+ export interface ResearchEvidenceLedgerV1 {
232
+ version: 1;
233
+ rootQuestion: string;
234
+ planId?: string;
235
+ snapshotId?: string;
236
+ entries: ResearchLedgerEntryV1[];
237
+ factIds: string[];
238
+ stoppingReason: 'completed' | 'budget' | 'insufficient_evidence' | 'blocked' | 'not_started';
239
+ }
240
+ export declare function capResearchBranches<T>(branches: T[], max?: number): T[];
241
+ export declare function buildResearchEvidenceLedger(input: {
242
+ rootQuestion: string;
243
+ planId?: string;
244
+ snapshotId?: string;
245
+ entries: ResearchLedgerEntryV1[];
246
+ stoppingReason?: ResearchEvidenceLedgerV1['stoppingReason'];
247
+ }): ResearchEvidenceLedgerV1;
248
+ /** The only accepted host-side execution identity is a SHA-256 fingerprint. */
249
+ export declare function normalizeAnalyticalExecutionFingerprint(value: unknown): string | undefined;
250
+ /**
251
+ * Normalize a complete DQL execution receipt. A partial object or arbitrary
252
+ * identifier is deliberately not execution evidence.
253
+ */
254
+ export declare function normalizeAnalyticalExecutionReceipt(value: unknown): DqlArtifactExecutionReceipt | undefined;
255
+ export declare function buildCoverageGap(input: Omit<AnalyticalCoverageGapV1, 'version'>): AnalyticalCoverageGapV1;
256
+ //# sourceMappingURL=analytical-orchestration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytical-orchestration.d.ts","sourceRoot":"","sources":["../src/analytical-orchestration.ts"],"names":[],"mappings":"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"}