@duckcodeailabs/dql-agent 1.6.21 → 1.6.22

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 (160) hide show
  1. package/dist/agent-run-engine.d.ts +287 -0
  2. package/dist/agent-run-engine.d.ts.map +1 -0
  3. package/dist/agent-run-engine.js +916 -0
  4. package/dist/agent-run-engine.js.map +1 -0
  5. package/dist/agent-run-gates.d.ts +26 -0
  6. package/dist/agent-run-gates.d.ts.map +1 -0
  7. package/dist/agent-run-gates.js +170 -0
  8. package/dist/agent-run-gates.js.map +1 -0
  9. package/dist/agent-run-planner.d.ts +32 -0
  10. package/dist/agent-run-planner.d.ts.map +1 -0
  11. package/dist/agent-run-planner.js +280 -0
  12. package/dist/agent-run-planner.js.map +1 -0
  13. package/dist/answer-loop.d.ts +49 -0
  14. package/dist/answer-loop.d.ts.map +1 -1
  15. package/dist/answer-loop.js +292 -17
  16. package/dist/answer-loop.js.map +1 -1
  17. package/dist/app-builder.d.ts +6 -0
  18. package/dist/app-builder.d.ts.map +1 -1
  19. package/dist/app-builder.js +95 -2
  20. package/dist/app-builder.js.map +1 -1
  21. package/dist/app-planner.d.ts +78 -0
  22. package/dist/app-planner.d.ts.map +1 -0
  23. package/dist/app-planner.js +145 -0
  24. package/dist/app-planner.js.map +1 -0
  25. package/dist/embeddings/provider.d.ts +66 -0
  26. package/dist/embeddings/provider.d.ts.map +1 -0
  27. package/dist/embeddings/provider.js +105 -0
  28. package/dist/embeddings/provider.js.map +1 -0
  29. package/dist/hints/git-store.d.ts +69 -0
  30. package/dist/hints/git-store.d.ts.map +1 -0
  31. package/dist/hints/git-store.js +244 -0
  32. package/dist/hints/git-store.js.map +1 -0
  33. package/dist/hints/retrieval.d.ts +49 -0
  34. package/dist/hints/retrieval.d.ts.map +1 -0
  35. package/dist/hints/retrieval.js +60 -0
  36. package/dist/hints/retrieval.js.map +1 -0
  37. package/dist/hints/store.d.ts +39 -0
  38. package/dist/hints/store.d.ts.map +1 -0
  39. package/dist/hints/store.js +279 -0
  40. package/dist/hints/store.js.map +1 -0
  41. package/dist/hints/types.d.ts +147 -0
  42. package/dist/hints/types.d.ts.map +1 -0
  43. package/dist/hints/types.js +92 -0
  44. package/dist/hints/types.js.map +1 -0
  45. package/dist/index.d.ts +43 -6
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +35 -3
  48. package/dist/index.js.map +1 -1
  49. package/dist/intent-controller.d.ts +63 -0
  50. package/dist/intent-controller.d.ts.map +1 -0
  51. package/dist/intent-controller.js +150 -0
  52. package/dist/intent-controller.js.map +1 -0
  53. package/dist/kg/build.d.ts.map +1 -1
  54. package/dist/kg/build.js +2 -0
  55. package/dist/kg/build.js.map +1 -1
  56. package/dist/kg/sqlite-fts.js +4 -0
  57. package/dist/kg/sqlite-fts.js.map +1 -1
  58. package/dist/kg/types.d.ts +10 -0
  59. package/dist/kg/types.d.ts.map +1 -1
  60. package/dist/metadata/catalog.d.ts +81 -4
  61. package/dist/metadata/catalog.d.ts.map +1 -1
  62. package/dist/metadata/catalog.js +208 -1
  63. package/dist/metadata/catalog.js.map +1 -1
  64. package/dist/metadata/drafts.d.ts +22 -0
  65. package/dist/metadata/drafts.d.ts.map +1 -1
  66. package/dist/metadata/drafts.js +126 -2
  67. package/dist/metadata/drafts.js.map +1 -1
  68. package/dist/metadata/grain-gate.d.ts +61 -0
  69. package/dist/metadata/grain-gate.d.ts.map +1 -0
  70. package/dist/metadata/grain-gate.js +265 -0
  71. package/dist/metadata/grain-gate.js.map +1 -0
  72. package/dist/metadata/identity.d.ts +47 -0
  73. package/dist/metadata/identity.d.ts.map +1 -0
  74. package/dist/metadata/identity.js +147 -0
  75. package/dist/metadata/identity.js.map +1 -0
  76. package/dist/metadata/metric-match.d.ts +93 -0
  77. package/dist/metadata/metric-match.d.ts.map +1 -0
  78. package/dist/metadata/metric-match.js +233 -0
  79. package/dist/metadata/metric-match.js.map +1 -0
  80. package/dist/metadata/sql-grounding.d.ts +149 -0
  81. package/dist/metadata/sql-grounding.d.ts.map +1 -0
  82. package/dist/metadata/sql-grounding.js +397 -0
  83. package/dist/metadata/sql-grounding.js.map +1 -0
  84. package/dist/metadata/sql-retrieval.d.ts +29 -0
  85. package/dist/metadata/sql-retrieval.d.ts.map +1 -0
  86. package/dist/metadata/sql-retrieval.js +79 -0
  87. package/dist/metadata/sql-retrieval.js.map +1 -0
  88. package/dist/narrate.d.ts +52 -0
  89. package/dist/narrate.d.ts.map +1 -0
  90. package/dist/narrate.js +263 -0
  91. package/dist/narrate.js.map +1 -0
  92. package/dist/propose/build-from-prompt.d.ts +160 -0
  93. package/dist/propose/build-from-prompt.d.ts.map +1 -0
  94. package/dist/propose/build-from-prompt.js +815 -0
  95. package/dist/propose/build-from-prompt.js.map +1 -0
  96. package/dist/propose/classify.d.ts +55 -0
  97. package/dist/propose/classify.d.ts.map +1 -0
  98. package/dist/propose/classify.js +167 -0
  99. package/dist/propose/classify.js.map +1 -0
  100. package/dist/propose/config.d.ts +39 -0
  101. package/dist/propose/config.d.ts.map +1 -0
  102. package/dist/propose/config.js +52 -0
  103. package/dist/propose/config.js.map +1 -0
  104. package/dist/propose/dbt-artifacts.d.ts +134 -0
  105. package/dist/propose/dbt-artifacts.d.ts.map +1 -0
  106. package/dist/propose/dbt-artifacts.js +320 -0
  107. package/dist/propose/dbt-artifacts.js.map +1 -0
  108. package/dist/propose/edit-block.d.ts +74 -0
  109. package/dist/propose/edit-block.d.ts.map +1 -0
  110. package/dist/propose/edit-block.js +133 -0
  111. package/dist/propose/edit-block.js.map +1 -0
  112. package/dist/propose/enrich.d.ts +48 -0
  113. package/dist/propose/enrich.d.ts.map +1 -0
  114. package/dist/propose/enrich.js +125 -0
  115. package/dist/propose/enrich.js.map +1 -0
  116. package/dist/propose/generate-sql.d.ts +61 -0
  117. package/dist/propose/generate-sql.d.ts.map +1 -0
  118. package/dist/propose/generate-sql.js +180 -0
  119. package/dist/propose/generate-sql.js.map +1 -0
  120. package/dist/propose/index.d.ts +24 -0
  121. package/dist/propose/index.d.ts.map +1 -0
  122. package/dist/propose/index.js +15 -0
  123. package/dist/propose/index.js.map +1 -0
  124. package/dist/propose/propose.d.ts +226 -0
  125. package/dist/propose/propose.d.ts.map +1 -0
  126. package/dist/propose/propose.js +668 -0
  127. package/dist/propose/propose.js.map +1 -0
  128. package/dist/propose/reflect-block.d.ts +99 -0
  129. package/dist/propose/reflect-block.d.ts.map +1 -0
  130. package/dist/propose/reflect-block.js +220 -0
  131. package/dist/propose/reflect-block.js.map +1 -0
  132. package/dist/propose/write-draft.d.ts +90 -0
  133. package/dist/propose/write-draft.d.ts.map +1 -0
  134. package/dist/propose/write-draft.js +185 -0
  135. package/dist/propose/write-draft.js.map +1 -0
  136. package/dist/providers/claude.d.ts +13 -1
  137. package/dist/providers/claude.d.ts.map +1 -1
  138. package/dist/providers/claude.js +20 -2
  139. package/dist/providers/claude.js.map +1 -1
  140. package/dist/providers/gemini.d.ts +13 -1
  141. package/dist/providers/gemini.d.ts.map +1 -1
  142. package/dist/providers/gemini.js +24 -3
  143. package/dist/providers/gemini.js.map +1 -1
  144. package/dist/providers/index.d.ts +3 -3
  145. package/dist/providers/index.d.ts.map +1 -1
  146. package/dist/providers/index.js +3 -3
  147. package/dist/providers/index.js.map +1 -1
  148. package/dist/research-loop.d.ts +62 -0
  149. package/dist/research-loop.d.ts.map +1 -0
  150. package/dist/research-loop.js +210 -0
  151. package/dist/research-loop.js.map +1 -0
  152. package/dist/skills/defaults.d.ts +37 -0
  153. package/dist/skills/defaults.d.ts.map +1 -0
  154. package/dist/skills/defaults.js +152 -0
  155. package/dist/skills/defaults.js.map +1 -0
  156. package/dist/skills/loader.d.ts +60 -0
  157. package/dist/skills/loader.d.ts.map +1 -1
  158. package/dist/skills/loader.js +164 -2
  159. package/dist/skills/loader.js.map +1 -1
  160. package/package.json +7 -5
@@ -0,0 +1,287 @@
1
+ import { type IntentDecision, type IntentSignals } from "./intent-controller.js";
2
+ import type { MetadataAgentIntent } from "./metadata/catalog.js";
3
+ export type AgentRunRequestedMode = "auto" | "ask" | "research" | "sql" | "block" | "app";
4
+ /**
5
+ * Who the run serves. `analyst` (the Notebook) keeps every route, including
6
+ * authoring (sql_cell, dql_block_draft). `stakeholder` (Chat / Apps / Research)
7
+ * is consumption-only: authoring routes collapse to a governed answer and the
8
+ * run offers a "request certification" handoff instead of inline authoring.
9
+ */
10
+ export type AgentRunAudience = "stakeholder" | "analyst";
11
+ export type AgentRunRoute = "certified_answer" | "generated_answer" | "research" | "sql_cell" | "dql_block_draft" | "app_build" | "clarify" | "blocked";
12
+ export type AgentRunStatus = "completed" | "needs_review" | "needs_clarification" | "blocked";
13
+ export type AgentRunTrustState = "certified" | "review_required" | "blocked" | "not_applicable";
14
+ export type AgentRunStopReason = "certified_answer_found" | "generated_review_required" | "artifact_created" | "needs_clarification" | "human_review_required" | "blocked";
15
+ export type AgentRunArtifactKind = "answer" | "research_run" | "sql_cell" | "dql_block_draft" | "app_draft";
16
+ export type AgentRunEvaluationSeverity = "info" | "warning" | "blocking";
17
+ /**
18
+ * How the loop should react when an evaluation fails.
19
+ * - `retry` → re-run the same route with the repair hint (the executor owns
20
+ * the actual repair, e.g. the answer-loop SQL repair or reflect-before-certify).
21
+ * - `escalate`→ switch to a different route (e.g. answer that can't be grounded
22
+ * escalates to research; an app build with no coverage escalates to a block draft).
23
+ * When omitted, a failing evaluation is terminal for its severity.
24
+ */
25
+ export interface AgentRunRepairAction {
26
+ kind: "retry" | "escalate";
27
+ route?: AgentRunRoute;
28
+ hint?: string;
29
+ }
30
+ export interface AgentRunEvaluation {
31
+ id: string;
32
+ label: string;
33
+ passed: boolean;
34
+ severity: AgentRunEvaluationSeverity;
35
+ message: string;
36
+ evidence?: unknown;
37
+ /** Human-facing repair suggestion; presence also marks the eval as actionable. */
38
+ suggestedRepair?: string;
39
+ /** Machine-facing remediation the engine loop should attempt. */
40
+ repairAction?: AgentRunRepairAction;
41
+ }
42
+ export interface AgentRunArtifact {
43
+ id: string;
44
+ kind: AgentRunArtifactKind;
45
+ title: string;
46
+ trustState: AgentRunTrustState;
47
+ ref?: string;
48
+ payload?: unknown;
49
+ }
50
+ export interface AgentRunNextAction {
51
+ id: string;
52
+ label: string;
53
+ route?: AgentRunRoute;
54
+ artifactKind?: AgentRunArtifactKind;
55
+ }
56
+ export interface AgentRunSelectedObject {
57
+ kind: "notebook" | "cell" | "block" | "app" | "dashboard" | "research" | "workspace";
58
+ id?: string;
59
+ title?: string;
60
+ path?: string;
61
+ }
62
+ export interface AgentRunRequest {
63
+ question: string;
64
+ requestedMode?: AgentRunRequestedMode;
65
+ /** Defaults to "analyst" (Notebook). Stakeholder surfaces pass "stakeholder". */
66
+ audience?: AgentRunAudience;
67
+ intent?: MetadataAgentIntent;
68
+ signals?: IntentSignals;
69
+ selectedObject?: AgentRunSelectedObject;
70
+ workspaceContext?: Record<string, unknown>;
71
+ history?: Array<{
72
+ role: "user" | "assistant";
73
+ text: string;
74
+ }>;
75
+ runId?: string;
76
+ }
77
+ export interface AgentRunEvent {
78
+ id: string;
79
+ runId: string;
80
+ type: "run.started" | "plan.created" | "step.started" | "route.decided" | "executor.started" | "evaluation.recorded" | "replan.decided" | "repair.attempted" | "escalated" | "artifact.created" | "step.completed" | "run.completed" | "run.failed";
81
+ at: string;
82
+ message: string;
83
+ route?: AgentRunRoute;
84
+ status?: AgentRunStatus;
85
+ trustState?: AgentRunTrustState;
86
+ payload?: unknown;
87
+ }
88
+ /** A single planned step (the plan is an ordered list of these). */
89
+ export interface AgentRunPlannedStep {
90
+ id: string;
91
+ route: AgentRunRoute;
92
+ goal: string;
93
+ successCriteria: string[];
94
+ }
95
+ export type AgentRunPlanSource = "llm" | "deterministic";
96
+ export interface AgentRunPlan {
97
+ source: AgentRunPlanSource;
98
+ rationale: string;
99
+ steps: AgentRunPlannedStep[];
100
+ }
101
+ export type AgentRunStepStatus = "passed" | "repaired" | "needs_review" | "escalated" | "clarify" | "blocked";
102
+ /** A step after it has executed — carries its evaluations + artifacts for the trace. */
103
+ export interface AgentRunStep {
104
+ id: string;
105
+ index: number;
106
+ route: AgentRunRoute;
107
+ goal: string;
108
+ successCriteria: string[];
109
+ status: AgentRunStepStatus;
110
+ attempts: number;
111
+ summary?: string;
112
+ evaluations: AgentRunEvaluation[];
113
+ artifacts: AgentRunArtifact[];
114
+ }
115
+ export interface AgentRun {
116
+ id: string;
117
+ question: string;
118
+ requestedMode: AgentRunRequestedMode;
119
+ route: AgentRunRoute;
120
+ status: AgentRunStatus;
121
+ trustState: AgentRunTrustState;
122
+ stopReason: AgentRunStopReason;
123
+ startedAt: string;
124
+ completedAt: string;
125
+ selectedObject?: AgentRunSelectedObject;
126
+ routeDecision?: IntentDecision;
127
+ plan?: AgentRunPlan;
128
+ steps: AgentRunStep[];
129
+ summary: string;
130
+ answer?: string;
131
+ artifacts: AgentRunArtifact[];
132
+ evaluations: AgentRunEvaluation[];
133
+ events: AgentRunEvent[];
134
+ nextActions: AgentRunNextAction[];
135
+ repairAttempts: number;
136
+ }
137
+ export interface AgentRouteExecutionContext {
138
+ runId: string;
139
+ request: AgentRunRequest;
140
+ route: AgentRunRoute;
141
+ routeDecision?: IntentDecision;
142
+ maxRepairAttempts: number;
143
+ /** 0 on the first build of a step; increments on each repair re-run. */
144
+ attempt: number;
145
+ /** The goal the planner assigned to this step. */
146
+ stepGoal?: string;
147
+ /** Evaluations from the previous attempt (so executors can target the repair). */
148
+ priorEvaluations?: AgentRunEvaluation[];
149
+ /** The repair hint the loop wants this re-run to act on. */
150
+ repairHint?: string;
151
+ emit: (event: Omit<AgentRunEvent, "id" | "runId" | "at">) => void;
152
+ }
153
+ export interface AgentRouteExecutorResult {
154
+ summary?: string;
155
+ answer?: string;
156
+ status?: AgentRunStatus;
157
+ trustState?: AgentRunTrustState;
158
+ stopReason?: AgentRunStopReason;
159
+ artifacts?: AgentRunArtifact[];
160
+ evaluations?: AgentRunEvaluation[];
161
+ nextActions?: AgentRunNextAction[];
162
+ repairAttempts?: number;
163
+ }
164
+ export type AgentRouteExecutor = (context: AgentRouteExecutionContext) => AgentRouteExecutorResult | Promise<AgentRouteExecutorResult>;
165
+ export type AgentRunExecutors = Partial<Record<AgentRunRoute, AgentRouteExecutor>>;
166
+ /** A gate evaluates an executed step's result and returns authoritative evaluations. */
167
+ export interface AgentRunGateContext {
168
+ route: AgentRunRoute;
169
+ request: AgentRunRequest;
170
+ routeDecision?: IntentDecision;
171
+ result: AgentRouteExecutorResult;
172
+ attempt: number;
173
+ }
174
+ export type AgentRunGate = (context: AgentRunGateContext) => AgentRunEvaluation[];
175
+ export type AgentRunGates = Partial<Record<AgentRunRoute, AgentRunGate>>;
176
+ export interface AgentRunPlanInput {
177
+ request: AgentRunRequest;
178
+ routeDecision: IntentDecision;
179
+ defaultRoute: AgentRunRoute;
180
+ maxSteps: number;
181
+ audience: AgentRunAudience;
182
+ }
183
+ export interface AgentRunReplanInput {
184
+ request: AgentRunRequest;
185
+ plan: AgentRunPlan;
186
+ currentStep: AgentRunStep;
187
+ remainingSteps: AgentRunPlannedStep[];
188
+ attemptsUsed: number;
189
+ repairAttemptsUsed: number;
190
+ maxRepairAttempts: number;
191
+ }
192
+ export type AgentRunReplanDecision = {
193
+ decision: "accept";
194
+ } | {
195
+ decision: "repair";
196
+ repairHint: string;
197
+ } | {
198
+ decision: "escalate";
199
+ route: AgentRunRoute;
200
+ goal?: string;
201
+ repairHint?: string;
202
+ } | {
203
+ decision: "clarify";
204
+ question?: string;
205
+ };
206
+ export interface AgentRunPlanner {
207
+ plan(input: AgentRunPlanInput): AgentRunPlan | Promise<AgentRunPlan>;
208
+ replan(input: AgentRunReplanInput): AgentRunReplanDecision | Promise<AgentRunReplanDecision>;
209
+ }
210
+ export interface AgentRunStore {
211
+ save(run: AgentRun): void | Promise<void>;
212
+ get(id: string): AgentRun | undefined | Promise<AgentRun | undefined>;
213
+ list?(): AgentRun[] | Promise<AgentRun[]>;
214
+ }
215
+ export interface AgentRunEngineOptions {
216
+ executors?: AgentRunExecutors;
217
+ gates?: AgentRunGates;
218
+ planner?: AgentRunPlanner;
219
+ store?: AgentRunStore;
220
+ idGenerator?: () => string;
221
+ now?: () => Date;
222
+ maxRepairAttempts?: number;
223
+ maxSteps?: number;
224
+ }
225
+ /**
226
+ * Routes whose gate failure is better answered by switching routes than by
227
+ * re-running the same executor (repair can't add what the route can't produce).
228
+ */
229
+ export declare const AGENT_RUN_ESCALATION_MAP: Partial<Record<AgentRunRoute, AgentRunRoute>>;
230
+ /** Resolve the request's audience, defaulting to analyst (Notebook) for back-compat. */
231
+ export declare function resolveAudience(request: AgentRunRequest): AgentRunAudience;
232
+ /** A stakeholder may never land on an authoring route — collapse it to a governed answer. */
233
+ export declare function constrainRouteForAudience(route: AgentRunRoute, audience: AgentRunAudience): AgentRunRoute;
234
+ /**
235
+ * "Answer anyway, labeled" — a stakeholder should get a best-effort governed answer
236
+ * rather than a dead-end clarify, UNLESS the catalog explicitly flagged missing
237
+ * context. The answer loop does its own grounding/retrieval and can still return a
238
+ * needs-clarification result if it genuinely can't proceed.
239
+ */
240
+ export declare function answerAnywayRoute(route: AgentRunRoute, request: AgentRunRequest, audience: AgentRunAudience): AgentRunRoute;
241
+ /** Audience-aware escalation target: stakeholders never escalate into authoring. */
242
+ export declare function escalationRouteFor(route: AgentRunRoute, audience: AgentRunAudience): AgentRunRoute | undefined;
243
+ export declare class InMemoryAgentRunStore implements AgentRunStore {
244
+ private readonly runs;
245
+ save(run: AgentRun): void;
246
+ get(id: string): AgentRun | undefined;
247
+ list(): AgentRun[];
248
+ }
249
+ export interface FileAgentRunStoreOptions {
250
+ path: string;
251
+ maxRuns?: number;
252
+ }
253
+ export declare class FileAgentRunStore implements AgentRunStore {
254
+ private readonly path;
255
+ private readonly maxRuns;
256
+ constructor(options: FileAgentRunStoreOptions);
257
+ save(run: AgentRun): void;
258
+ get(id: string): AgentRun | undefined;
259
+ list(): AgentRun[];
260
+ private write;
261
+ }
262
+ export declare function defaultAgentRunStorePath(projectRoot: string): string;
263
+ export declare class AgentRunEngine {
264
+ private readonly executors;
265
+ private readonly gates;
266
+ private readonly planner;
267
+ private readonly store?;
268
+ private readonly idGenerator;
269
+ private readonly now;
270
+ private readonly maxRepairAttempts;
271
+ private readonly maxSteps;
272
+ constructor(options?: AgentRunEngineOptions);
273
+ run(request: AgentRunRequest, onEvent?: (event: AgentRunEvent) => void): Promise<AgentRun>;
274
+ private finalizeRun;
275
+ private evaluate;
276
+ private executeRoute;
277
+ private timestamp;
278
+ }
279
+ /**
280
+ * The default, fully deterministic planner. Produces a single-step plan from the
281
+ * existing route selection and drives repair/escalation from failing evaluations.
282
+ * Used when no LLM planner is injected — keeps the engine offline + testable.
283
+ */
284
+ export declare function createDeterministicAgentRunPlanner(): AgentRunPlanner;
285
+ export declare function defaultSuccessCriteria(route: AgentRunRoute): string[];
286
+ export declare function selectRoute(request: AgentRunRequest, decision: IntentDecision): AgentRunRoute;
287
+ //# sourceMappingURL=agent-run-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-run-engine.d.ts","sourceRoot":"","sources":["../src/agent-run-engine.ts"],"names":[],"mappings":"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"}