@duckcodeailabs/dql-agent 1.6.33 → 1.7.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 (184) hide show
  1. package/dist/agent-run-engine.d.ts +39 -8
  2. package/dist/agent-run-engine.d.ts.map +1 -1
  3. package/dist/agent-run-engine.js +169 -10
  4. package/dist/agent-run-engine.js.map +1 -1
  5. package/dist/agent-run-gates.d.ts.map +1 -1
  6. package/dist/agent-run-gates.js +21 -3
  7. package/dist/agent-run-gates.js.map +1 -1
  8. package/dist/agent-run-planner.d.ts.map +1 -1
  9. package/dist/agent-run-planner.js +14 -3
  10. package/dist/agent-run-planner.js.map +1 -1
  11. package/dist/agentic/answer-contract.d.ts +37 -0
  12. package/dist/agentic/answer-contract.d.ts.map +1 -0
  13. package/dist/agentic/answer-contract.js +47 -0
  14. package/dist/agentic/answer-contract.js.map +1 -0
  15. package/dist/agentic/tool-loop.d.ts +48 -0
  16. package/dist/agentic/tool-loop.d.ts.map +1 -0
  17. package/dist/agentic/tool-loop.js +181 -0
  18. package/dist/agentic/tool-loop.js.map +1 -0
  19. package/dist/agentic/toolset.d.ts +40 -0
  20. package/dist/agentic/toolset.d.ts.map +1 -0
  21. package/dist/agentic/toolset.js +265 -0
  22. package/dist/agentic/toolset.js.map +1 -0
  23. package/dist/answer-loop.d.ts +82 -6
  24. package/dist/answer-loop.d.ts.map +1 -1
  25. package/dist/answer-loop.js +799 -112
  26. package/dist/answer-loop.js.map +1 -1
  27. package/dist/app-builder.d.ts.map +1 -1
  28. package/dist/app-builder.js +18 -10
  29. package/dist/app-builder.js.map +1 -1
  30. package/dist/cascade/budgets.d.ts +20 -2
  31. package/dist/cascade/budgets.d.ts.map +1 -1
  32. package/dist/cascade/budgets.js +83 -45
  33. package/dist/cascade/budgets.js.map +1 -1
  34. package/dist/cascade/route-policy.d.ts +1 -1
  35. package/dist/cascade/route-policy.d.ts.map +1 -1
  36. package/dist/cascade/route-policy.js +6 -0
  37. package/dist/cascade/route-policy.js.map +1 -1
  38. package/dist/domain-context.d.ts +30 -0
  39. package/dist/domain-context.d.ts.map +1 -0
  40. package/dist/domain-context.js +68 -0
  41. package/dist/domain-context.js.map +1 -0
  42. package/dist/embeddings/provider.d.ts +67 -4
  43. package/dist/embeddings/provider.d.ts.map +1 -1
  44. package/dist/embeddings/provider.js +167 -6
  45. package/dist/embeddings/provider.js.map +1 -1
  46. package/dist/hints/correction-eval.d.ts +30 -0
  47. package/dist/hints/correction-eval.d.ts.map +1 -0
  48. package/dist/hints/correction-eval.js +63 -0
  49. package/dist/hints/correction-eval.js.map +1 -0
  50. package/dist/hints/git-store.d.ts +39 -3
  51. package/dist/hints/git-store.d.ts.map +1 -1
  52. package/dist/hints/git-store.js +172 -2
  53. package/dist/hints/git-store.js.map +1 -1
  54. package/dist/hints/staleness.d.ts +30 -0
  55. package/dist/hints/staleness.d.ts.map +1 -0
  56. package/dist/hints/staleness.js +38 -0
  57. package/dist/hints/staleness.js.map +1 -0
  58. package/dist/hints/store.d.ts.map +1 -1
  59. package/dist/hints/store.js +3 -32
  60. package/dist/hints/store.js.map +1 -1
  61. package/dist/hints/types.d.ts +41 -0
  62. package/dist/hints/types.d.ts.map +1 -1
  63. package/dist/hints/types.js +1 -0
  64. package/dist/hints/types.js.map +1 -1
  65. package/dist/index.d.ts +46 -10
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +180 -9
  68. package/dist/index.js.map +1 -1
  69. package/dist/intent-controller.d.ts.map +1 -1
  70. package/dist/intent-controller.js +15 -3
  71. package/dist/intent-controller.js.map +1 -1
  72. package/dist/kg/build.d.ts.map +1 -1
  73. package/dist/kg/build.js +196 -4
  74. package/dist/kg/build.js.map +1 -1
  75. package/dist/kg/sqlite-fts.d.ts +13 -0
  76. package/dist/kg/sqlite-fts.d.ts.map +1 -1
  77. package/dist/kg/sqlite-fts.js +82 -49
  78. package/dist/kg/sqlite-fts.js.map +1 -1
  79. package/dist/kg/types.d.ts +9 -2
  80. package/dist/kg/types.d.ts.map +1 -1
  81. package/dist/memory/fts-query.d.ts +37 -4
  82. package/dist/memory/fts-query.d.ts.map +1 -1
  83. package/dist/memory/fts-query.js +53 -12
  84. package/dist/memory/fts-query.js.map +1 -1
  85. package/dist/metadata/analysis-planner.d.ts.map +1 -1
  86. package/dist/metadata/analysis-planner.js +179 -28
  87. package/dist/metadata/analysis-planner.js.map +1 -1
  88. package/dist/metadata/analytical-policy.d.ts +51 -0
  89. package/dist/metadata/analytical-policy.d.ts.map +1 -0
  90. package/dist/metadata/analytical-policy.js +309 -0
  91. package/dist/metadata/analytical-policy.js.map +1 -0
  92. package/dist/metadata/block-adapt.d.ts +37 -0
  93. package/dist/metadata/block-adapt.d.ts.map +1 -0
  94. package/dist/metadata/block-adapt.js +89 -0
  95. package/dist/metadata/block-adapt.js.map +1 -0
  96. package/dist/metadata/block-fit.js +37 -4
  97. package/dist/metadata/block-fit.js.map +1 -1
  98. package/dist/metadata/catalog.d.ts +85 -1
  99. package/dist/metadata/catalog.d.ts.map +1 -1
  100. package/dist/metadata/catalog.js +674 -92
  101. package/dist/metadata/catalog.js.map +1 -1
  102. package/dist/metadata/dbt-first-safety.d.ts +19 -0
  103. package/dist/metadata/dbt-first-safety.d.ts.map +1 -0
  104. package/dist/metadata/dbt-first-safety.js +17 -0
  105. package/dist/metadata/dbt-first-safety.js.map +1 -0
  106. package/dist/metadata/example-match.d.ts +30 -0
  107. package/dist/metadata/example-match.d.ts.map +1 -0
  108. package/dist/metadata/example-match.js +69 -0
  109. package/dist/metadata/example-match.js.map +1 -0
  110. package/dist/metadata/grain-ledger.d.ts +51 -0
  111. package/dist/metadata/grain-ledger.d.ts.map +1 -0
  112. package/dist/metadata/grain-ledger.js +174 -0
  113. package/dist/metadata/grain-ledger.js.map +1 -0
  114. package/dist/metadata/metric-match.d.ts +21 -1
  115. package/dist/metadata/metric-match.d.ts.map +1 -1
  116. package/dist/metadata/metric-match.js +157 -21
  117. package/dist/metadata/metric-match.js.map +1 -1
  118. package/dist/metadata/sql-context-validation.d.ts.map +1 -1
  119. package/dist/metadata/sql-context-validation.js +42 -2
  120. package/dist/metadata/sql-context-validation.js.map +1 -1
  121. package/dist/metadata/sql-grounding.d.ts +4 -2
  122. package/dist/metadata/sql-grounding.d.ts.map +1 -1
  123. package/dist/metadata/sql-grounding.js +29 -4
  124. package/dist/metadata/sql-grounding.js.map +1 -1
  125. package/dist/metadata/sql-retrieval.d.ts +5 -2
  126. package/dist/metadata/sql-retrieval.d.ts.map +1 -1
  127. package/dist/metadata/sql-retrieval.js +28 -6
  128. package/dist/metadata/sql-retrieval.js.map +1 -1
  129. package/dist/propose/build-from-prompt.d.ts +34 -0
  130. package/dist/propose/build-from-prompt.d.ts.map +1 -1
  131. package/dist/propose/build-from-prompt.js +205 -19
  132. package/dist/propose/build-from-prompt.js.map +1 -1
  133. package/dist/propose/failure-analysis.d.ts +48 -0
  134. package/dist/propose/failure-analysis.d.ts.map +1 -0
  135. package/dist/propose/failure-analysis.js +71 -0
  136. package/dist/propose/failure-analysis.js.map +1 -0
  137. package/dist/propose/join-mining.d.ts +18 -0
  138. package/dist/propose/join-mining.d.ts.map +1 -0
  139. package/dist/propose/join-mining.js +74 -0
  140. package/dist/propose/join-mining.js.map +1 -0
  141. package/dist/providers/claude.d.ts.map +1 -1
  142. package/dist/providers/claude.js +36 -1
  143. package/dist/providers/claude.js.map +1 -1
  144. package/dist/providers/index.d.ts +2 -2
  145. package/dist/providers/index.d.ts.map +1 -1
  146. package/dist/providers/index.js +1 -1
  147. package/dist/providers/index.js.map +1 -1
  148. package/dist/providers/openai.d.ts.map +1 -1
  149. package/dist/providers/openai.js +34 -1
  150. package/dist/providers/openai.js.map +1 -1
  151. package/dist/providers/reasoning-effort.d.ts +27 -0
  152. package/dist/providers/reasoning-effort.d.ts.map +1 -1
  153. package/dist/providers/reasoning-effort.js +32 -0
  154. package/dist/providers/reasoning-effort.js.map +1 -1
  155. package/dist/providers/types.d.ts +2 -1
  156. package/dist/providers/types.d.ts.map +1 -1
  157. package/dist/research-loop.d.ts.map +1 -1
  158. package/dist/research-loop.js +9 -2
  159. package/dist/research-loop.js.map +1 -1
  160. package/dist/semantic-bridge/compose.d.ts.map +1 -1
  161. package/dist/semantic-bridge/compose.js +316 -25
  162. package/dist/semantic-bridge/compose.js.map +1 -1
  163. package/dist/skills/bootstrap.d.ts +57 -0
  164. package/dist/skills/bootstrap.d.ts.map +1 -0
  165. package/dist/skills/bootstrap.js +260 -0
  166. package/dist/skills/bootstrap.js.map +1 -0
  167. package/dist/skills/defaults.d.ts +2 -2
  168. package/dist/skills/defaults.js +2 -2
  169. package/dist/skills/domain-skills.d.ts +24 -0
  170. package/dist/skills/domain-skills.d.ts.map +1 -0
  171. package/dist/skills/domain-skills.js +76 -0
  172. package/dist/skills/domain-skills.js.map +1 -0
  173. package/dist/skills/loader.d.ts +56 -8
  174. package/dist/skills/loader.d.ts.map +1 -1
  175. package/dist/skills/loader.js +257 -41
  176. package/dist/skills/loader.js.map +1 -1
  177. package/dist/synthesize.d.ts.map +1 -1
  178. package/dist/synthesize.js +152 -16
  179. package/dist/synthesize.js.map +1 -1
  180. package/dist/tools/registry.d.ts +1 -1
  181. package/dist/tools/registry.d.ts.map +1 -1
  182. package/dist/tools/registry.js +54 -12
  183. package/dist/tools/registry.js.map +1 -1
  184. package/package.json +4 -4
@@ -79,6 +79,12 @@ function semanticCorrectnessEvaluation(question, payload) {
79
79
  const rowCount = resultRowCount(payload);
80
80
  if (rowCount === undefined || rowCount <= 1)
81
81
  return undefined;
82
+ const plan = contextPackQuestionPlan(payload) ?? buildAnalysisQuestionPlan(question);
83
+ // A request with explicit result dimensions is a table/breakdown even when it
84
+ // starts with conversational "what is" wording. Do not burn repair attempts
85
+ // trying to collapse a customer × product answer into one scalar (AGT-001).
86
+ if (plan.requestedShape.dimensions.length > 0)
87
+ return undefined;
82
88
  if (!looksLikeScalarQuestion(question))
83
89
  return undefined;
84
90
  return {
@@ -168,10 +174,22 @@ const answerGate = (context) => {
168
174
  repairAction: { kind: "retry", hint: executionError },
169
175
  });
170
176
  }
171
- const hasAnswer = nonEmptyString(result.answer)
177
+ // A governed refusal (the model declined, or a grounding gap) still carries
178
+ // explanatory PROSE in `answer`/`text` — but that prose is not a real answer.
179
+ // Treat those refusal codes as "no answer" so the loop retries/escalates instead
180
+ // of accepting the apology as done. (`ambiguous` is a genuine clarify and
181
+ // `provider_error` is surfaced as blocked, so both stay terminal here.)
182
+ const isRetryableRefusal = result.answerRefusalCode === "model_declined"
183
+ || result.answerRefusalCode === "grounding_gap";
184
+ const hasAnswer = !isRetryableRefusal && (nonEmptyString(result.answer)
172
185
  ?? nonEmptyString(payload?.answer)
173
- ?? nonEmptyString(payload?.text);
174
- if (!hasAnswer && result.status !== "blocked") {
186
+ ?? nonEmptyString(payload?.text));
187
+ // The answer executor may already have attached an actionable escalate/retry
188
+ // evaluation for this refusal (local-runtime `answerRunExecutor`). This gate is a
189
+ // package-level backstop for hosts that don't — so only add it when nothing
190
+ // actionable is present yet, to avoid a duplicate escalation.
191
+ const hasActionableFailure = evaluations.some((evaluation) => !evaluation.passed && Boolean(evaluation.suggestedRepair));
192
+ if (!hasAnswer && !hasActionableFailure && result.status !== "blocked") {
175
193
  evaluations = upsert(evaluations, {
176
194
  id: "grounding",
177
195
  label: "Answer grounding",
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run-gates.js","sourceRoot":"","sources":["../src/agent-run-gates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-run-gates.js","sourceRoot":"","sources":["../src/agent-run-gates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run-planner.d.ts","sourceRoot":"","sources":["../src/agent-run-planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EASL,KAAK,eAAe,EAGpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAE3B,MAAM,uBAAuB,CAAC;AAE/B,kGAAkG;AAClG,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AActB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3E,mGAAmG;IACnG,QAAQ,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,eAAe,CAqD5F"}
1
+ {"version":3,"file":"agent-run-planner.d.ts","sourceRoot":"","sources":["../src/agent-run-planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EASL,KAAK,eAAe,EAGpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAE3B,MAAM,uBAAuB,CAAC;AAE/B,kGAAkG;AAClG,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAsBtB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3E,mGAAmG;IACnG,QAAQ,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,eAAe,CAyD5F"}
@@ -20,6 +20,13 @@ const PLANNABLE_ROUTES = [
20
20
  "clarify",
21
21
  ];
22
22
  const PLANNABLE_ROUTE_SET = new Set(PLANNABLE_ROUTES);
23
+ /**
24
+ * Routes whose plans genuinely branch into ordered multi-steps and therefore
25
+ * benefit from the LLM planner. Everything else is answered in a single step, for
26
+ * which the deterministic planner already produces the identical plan — so those
27
+ * skip the planner LLM call entirely (Pillar 1: fewer calls per question).
28
+ */
29
+ const MULTI_STEP_PLANNER_ROUTES = new Set(["research", "app_build"]);
23
30
  /**
24
31
  * Build an LLM planner. Falls back to the deterministic planner whenever the LLM
25
32
  * is not applicable (explicit mode) or fails (transport / unparsable output).
@@ -30,9 +37,13 @@ export function createLlmAgentRunPlanner(options) {
30
37
  const usesLlm = (request) => llmModes.has(request.requestedMode ?? "auto");
31
38
  return {
32
39
  async plan(input) {
33
- // A conversational turn is a single deterministic step — never pay the
34
- // planner LLM call to "plan" a greeting.
35
- if (input.defaultRoute === "conversation" || !usesLlm(input.request)) {
40
+ // Only genuinely MULTI-STEP routes need the LLM planner's decomposition.
41
+ // A single-step answer (certified/generated/conversation/sql_cell/draft) gets
42
+ // the SAME 1-step plan from the deterministic planner — so paying an LLM call
43
+ // to "plan" it is pure latency, on every analytical question. Short-circuit it
44
+ // and reserve the planner call for research + app_build, which actually branch
45
+ // into ordered steps.
46
+ if (!MULTI_STEP_PLANNER_ROUTES.has(input.defaultRoute) || !usesLlm(input.request)) {
36
47
  return deterministic.plan(input);
37
48
  }
38
49
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run-planner.js","sourceRoot":"","sources":["../src/agent-run-planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-run-planner.js","sourceRoot":"","sources":["../src/agent-run-planner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Stage-B answer contract: derive the TRUST of an agentic answer from which tool
3
+ * produced its SQL — never from what the model claims.
4
+ *
5
+ * The agentic tool loop returns free-form final text plus a record of every
6
+ * governed compile it performed (via `compile_semantic_query`). The restructured
7
+ * answer loop parses the text into a proposal; this module decides whether that
8
+ * proposal's SQL is the GOVERNED semantic SQL the compiler emitted (→ semantic_metric
9
+ * tier) or hand-written SQL (→ generated tier, review-required). Certified answers
10
+ * are handled upstream in Stage A, before the loop runs, so they never reach here.
11
+ */
12
+ export interface CompiledSemanticRecord {
13
+ sql: string;
14
+ metrics: string[];
15
+ dimensions: string[];
16
+ dqlArtifactSource: string;
17
+ }
18
+ export interface AgenticTrustResult {
19
+ /** 'semantic_metric' when the final SQL is a governed compile; else 'generated'. */
20
+ tier: 'semantic_metric' | 'generated';
21
+ /** The compiled record whose SQL the model adopted, when governed. */
22
+ compiled?: CompiledSemanticRecord;
23
+ }
24
+ /**
25
+ * Decide the trust tier of the agentic proposal. The final SQL is GOVERNED only if
26
+ * it is (a normalized form of) SQL that `compile_semantic_query` actually returned
27
+ * during this run — the model cannot label its own hand-written SQL as governed.
28
+ */
29
+ export declare function deriveAgenticTrust(finalSql: string | undefined, compiledRecords: CompiledSemanticRecord[]): AgenticTrustResult;
30
+ /**
31
+ * Normalize SQL for equivalence checks: lowercase, collapse whitespace, drop a
32
+ * trailing semicolon. Deliberately conservative — this is a "did the model reuse
33
+ * the compiled SQL" check, not a full SQL parser, so it errs toward `generated`
34
+ * (review-required) when unsure, which is the safe direction for governance.
35
+ */
36
+ export declare function normalizeSql(sql: string): string;
37
+ //# sourceMappingURL=answer-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer-contract.d.ts","sourceRoot":"","sources":["../../src/agentic/answer-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAAC;IACtC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,eAAe,EAAE,sBAAsB,EAAE,GACxC,kBAAkB,CAapB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOhD"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Stage-B answer contract: derive the TRUST of an agentic answer from which tool
3
+ * produced its SQL — never from what the model claims.
4
+ *
5
+ * The agentic tool loop returns free-form final text plus a record of every
6
+ * governed compile it performed (via `compile_semantic_query`). The restructured
7
+ * answer loop parses the text into a proposal; this module decides whether that
8
+ * proposal's SQL is the GOVERNED semantic SQL the compiler emitted (→ semantic_metric
9
+ * tier) or hand-written SQL (→ generated tier, review-required). Certified answers
10
+ * are handled upstream in Stage A, before the loop runs, so they never reach here.
11
+ */
12
+ /**
13
+ * Decide the trust tier of the agentic proposal. The final SQL is GOVERNED only if
14
+ * it is (a normalized form of) SQL that `compile_semantic_query` actually returned
15
+ * during this run — the model cannot label its own hand-written SQL as governed.
16
+ */
17
+ export function deriveAgenticTrust(finalSql, compiledRecords) {
18
+ if (!finalSql || compiledRecords.length === 0)
19
+ return { tier: 'generated' };
20
+ const target = normalizeSql(finalSql);
21
+ if (!target)
22
+ return { tier: 'generated' };
23
+ // EXACT normalized equality only. Substring tolerance would let the model append
24
+ // an unvalidated WHERE/JOIN to the compiled SQL and still earn the governed label
25
+ // (which skips the hallucination guard) — the model must adopt the compiled SQL
26
+ // verbatim to be trusted as governed. The tool's contract instructs exactly that.
27
+ const match = compiledRecords.find((record) => {
28
+ const compiled = normalizeSql(record.sql);
29
+ return compiled.length > 0 && compiled === target;
30
+ });
31
+ return match ? { tier: 'semantic_metric', compiled: match } : { tier: 'generated' };
32
+ }
33
+ /**
34
+ * Normalize SQL for equivalence checks: lowercase, collapse whitespace, drop a
35
+ * trailing semicolon. Deliberately conservative — this is a "did the model reuse
36
+ * the compiled SQL" check, not a full SQL parser, so it errs toward `generated`
37
+ * (review-required) when unsure, which is the safe direction for governance.
38
+ */
39
+ export function normalizeSql(sql) {
40
+ return sql
41
+ .replace(/--[^\n]*/g, ' ')
42
+ .replace(/\s+/g, ' ')
43
+ .replace(/\s*;\s*$/, '')
44
+ .trim()
45
+ .toLowerCase();
46
+ }
47
+ //# sourceMappingURL=answer-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer-contract.js","sourceRoot":"","sources":["../../src/agentic/answer-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA4B,EAC5B,eAAyC;IAEzC,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC1C,iFAAiF;IACjF,kFAAkF;IAClF,gFAAgF;IAChF,kFAAkF;IAClF,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,KAAK,MAAM,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACtF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG;SACP,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;SACzB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;AACnB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Transport-agnostic agentic tool loop.
3
+ *
4
+ * Stage B of the answer pipeline is a SINGLE tool-driven generation call: one
5
+ * capable model decides its own retrieval sequence (search blocks → semantic
6
+ * layer → schema → compile/validate → run) instead of walking a fixed tier
7
+ * cascade. This module runs that loop over ANY provider:
8
+ *
9
+ * - Providers with native tool use (`generateWithTools`: Claude/OpenAI APIs)
10
+ * drive the loop through the provider's own tool protocol.
11
+ * - Providers with only `generate` (subscription CLI passthrough, Ollama, …)
12
+ * drive an equivalent loop over a TEXT protocol: the model emits one fenced
13
+ * JSON tool call per turn, the host executes it and appends the observation,
14
+ * then re-invokes. A malformed / absent tool call is treated as the final
15
+ * answer, so a weak-tool-calling model degrades to "answer from context now"
16
+ * rather than dead-ending.
17
+ *
18
+ * Governance is NOT enforced here — it lives in the tool backends (the semantic
19
+ * compiler owns semantic SQL, certified execution keeps its grain gate, run_sql
20
+ * is read-only). This module only orchestrates the conversation.
21
+ */
22
+ import type { AgentMessage, AgentProvider, AgentToolDefinition, ProviderToolLoopOptions } from '../providers/types.js';
23
+ export interface AgenticToolLoopOptions extends ProviderToolLoopOptions {
24
+ /**
25
+ * Extra system guidance appended before the tool contract (e.g. "prefer
26
+ * semantic compile before deep warehouse search"). Applies to both transports.
27
+ */
28
+ toolPolicy?: string;
29
+ }
30
+ /**
31
+ * Run the agentic tool loop and return the model's final assistant text. Tool
32
+ * observations are surfaced through `options.onToolCall` (same contract the native
33
+ * providers already use), so callers can record evidence regardless of transport.
34
+ */
35
+ export declare function runAgenticToolLoop(provider: AgentProvider, messages: AgentMessage[], tools: AgentToolDefinition[], options?: AgenticToolLoopOptions): Promise<string>;
36
+ interface TextToolCall {
37
+ name: string;
38
+ input?: Record<string, unknown>;
39
+ }
40
+ /**
41
+ * Parse a text-protocol tool call. A tool call is a JSON object with a `tool`
42
+ * (string) field, optionally in a ```json fence. Anything else — prose, or a JSON
43
+ * object WITHOUT `tool` (i.e. a final `{summary, sql, ...}` answer) — returns
44
+ * undefined so the caller treats the response as the final answer.
45
+ */
46
+ export declare function parseTextToolCall(raw: string): TextToolCall | undefined;
47
+ export {};
48
+ //# sourceMappingURL=tool-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-loop.d.ts","sourceRoot":"","sources":["../../src/agentic/tool-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,mBAAmB,EAAE,EAC5B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,MAAM,CAAC,CAgBjB;AA+DD,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAsBvE"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Transport-agnostic agentic tool loop.
3
+ *
4
+ * Stage B of the answer pipeline is a SINGLE tool-driven generation call: one
5
+ * capable model decides its own retrieval sequence (search blocks → semantic
6
+ * layer → schema → compile/validate → run) instead of walking a fixed tier
7
+ * cascade. This module runs that loop over ANY provider:
8
+ *
9
+ * - Providers with native tool use (`generateWithTools`: Claude/OpenAI APIs)
10
+ * drive the loop through the provider's own tool protocol.
11
+ * - Providers with only `generate` (subscription CLI passthrough, Ollama, …)
12
+ * drive an equivalent loop over a TEXT protocol: the model emits one fenced
13
+ * JSON tool call per turn, the host executes it and appends the observation,
14
+ * then re-invokes. A malformed / absent tool call is treated as the final
15
+ * answer, so a weak-tool-calling model degrades to "answer from context now"
16
+ * rather than dead-ending.
17
+ *
18
+ * Governance is NOT enforced here — it lives in the tool backends (the semantic
19
+ * compiler owns semantic SQL, certified execution keeps its grain gate, run_sql
20
+ * is read-only). This module only orchestrates the conversation.
21
+ */
22
+ /**
23
+ * Run the agentic tool loop and return the model's final assistant text. Tool
24
+ * observations are surfaced through `options.onToolCall` (same contract the native
25
+ * providers already use), so callers can record evidence regardless of transport.
26
+ */
27
+ export async function runAgenticToolLoop(provider, messages, tools, options = {}) {
28
+ const usable = tools.filter((tool) => tool.name && tool.description);
29
+ const policyMessages = options.toolPolicy
30
+ ? [{ role: 'system', content: options.toolPolicy }]
31
+ : [];
32
+ if (usable.length === 0) {
33
+ return provider.generate([...messages, ...policyMessages], options);
34
+ }
35
+ // Native tool use owns its own loop; hand it the same policy + tools.
36
+ if (provider.generateWithTools) {
37
+ return provider.generateWithTools([...messages, ...policyMessages], usable, options);
38
+ }
39
+ return runTextProtocolToolLoop(provider, [...messages, ...policyMessages], usable, options);
40
+ }
41
+ /**
42
+ * Text-protocol ReAct loop for providers without native tool use. The model
43
+ * chooses ONE action per turn: call a tool, or emit the final answer. We parse its
44
+ * JSON, execute, feed back an observation, and repeat until it answers or the tool
45
+ * budget is spent.
46
+ */
47
+ async function runTextProtocolToolLoop(provider, baseMessages, tools, options) {
48
+ const maxToolCalls = Math.max(0, Math.min(30, options.maxToolCalls ?? 8));
49
+ const toolMap = new Map(tools.map((tool) => [tool.name, tool]));
50
+ const runOptions = { signal: options.signal, reasoningEffort: options.reasoningEffort, model: options.model };
51
+ const messages = [
52
+ ...baseMessages,
53
+ { role: 'system', content: buildTextToolContract(tools, maxToolCalls) },
54
+ ];
55
+ let toolCallsUsed = 0;
56
+ let lastText = '';
57
+ while (toolCallsUsed < maxToolCalls) {
58
+ const text = await provider.generate(messages, runOptions);
59
+ if (text.trim())
60
+ lastText = text;
61
+ const call = parseTextToolCall(text);
62
+ if (!call)
63
+ return text || lastText; // final answer (or unparseable → treat as final)
64
+ const tool = toolMap.get(call.name);
65
+ toolCallsUsed += 1;
66
+ let output;
67
+ let isError = false;
68
+ const startedAt = Date.now();
69
+ if (!tool) {
70
+ output = { error: `Unknown tool: ${call.name}. Available: ${tools.map((t) => t.name).join(', ')}` };
71
+ isError = true;
72
+ }
73
+ else {
74
+ try {
75
+ output = await tool.run(call.input ?? {});
76
+ }
77
+ catch (err) {
78
+ output = { error: err instanceof Error ? err.message : String(err) };
79
+ isError = true;
80
+ }
81
+ }
82
+ options.onToolCall?.({ name: call.name, input: call.input, output, isError, durationMs: Date.now() - startedAt });
83
+ messages.push({ role: 'assistant', content: text });
84
+ messages.push({ role: 'user', content: renderObservation(call.name, output) });
85
+ }
86
+ // Budget spent: force a final answer with the tool contract omitted so the model
87
+ // cannot request another tool and the loop is guaranteed to terminate.
88
+ messages.push({
89
+ role: 'user',
90
+ content: 'Tool budget reached — do not call any more tools. Answer now using only the tool results above, as a single ```json fenced object with summary, sql, viz, outputs.',
91
+ });
92
+ const finalText = await provider.generate(messages, runOptions).catch(() => '');
93
+ return finalText.trim() ? finalText : lastText;
94
+ }
95
+ /**
96
+ * Parse a text-protocol tool call. A tool call is a JSON object with a `tool`
97
+ * (string) field, optionally in a ```json fence. Anything else — prose, or a JSON
98
+ * object WITHOUT `tool` (i.e. a final `{summary, sql, ...}` answer) — returns
99
+ * undefined so the caller treats the response as the final answer.
100
+ */
101
+ export function parseTextToolCall(raw) {
102
+ for (const candidate of jsonCandidates(raw)) {
103
+ let parsed;
104
+ try {
105
+ parsed = JSON.parse(candidate);
106
+ }
107
+ catch {
108
+ continue;
109
+ }
110
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
111
+ continue;
112
+ const record = parsed;
113
+ const name = typeof record.tool === 'string' ? record.tool
114
+ : typeof record.tool_name === 'string' ? record.tool_name
115
+ : typeof record.name === 'string' && ('input' in record || 'arguments' in record || 'args' in record) ? record.name
116
+ : undefined;
117
+ if (!name)
118
+ continue;
119
+ const rawInput = record.input ?? record.arguments ?? record.args ?? record.parameters;
120
+ const input = rawInput && typeof rawInput === 'object' && !Array.isArray(rawInput)
121
+ ? rawInput
122
+ : undefined;
123
+ return { name, input };
124
+ }
125
+ return undefined;
126
+ }
127
+ /** Candidate JSON strings from a model response: fenced blocks first, then a bare object. */
128
+ function jsonCandidates(raw) {
129
+ const out = [];
130
+ const fenceRe = /```(?:json)?\s*([\s\S]*?)```/gi;
131
+ for (const match of raw.matchAll(fenceRe)) {
132
+ const body = match[1]?.trim();
133
+ if (body)
134
+ out.push(body);
135
+ }
136
+ const trimmed = raw.trim();
137
+ if (trimmed.startsWith('{') && trimmed.endsWith('}'))
138
+ out.push(trimmed);
139
+ // A bare object embedded in prose (first { … last }).
140
+ const first = raw.indexOf('{');
141
+ const last = raw.lastIndexOf('}');
142
+ if (first >= 0 && last > first)
143
+ out.push(raw.slice(first, last + 1));
144
+ return out;
145
+ }
146
+ function renderObservation(name, output) {
147
+ let body;
148
+ try {
149
+ body = JSON.stringify(output);
150
+ }
151
+ catch {
152
+ body = String(output);
153
+ }
154
+ // Bound the observation so a large tool result can't blow the context window.
155
+ if (body.length > 8000)
156
+ body = `${body.slice(0, 8000)}… (truncated)`;
157
+ return `Observation from ${name}:\n\`\`\`json\n${body}\n\`\`\``;
158
+ }
159
+ function buildTextToolContract(tools, maxToolCalls) {
160
+ const toolLines = tools.map((tool) => {
161
+ const props = tool.inputSchema?.properties;
162
+ const params = props ? Object.keys(props).join(', ') : '';
163
+ return `- ${tool.name}(${params}): ${tool.description}`;
164
+ });
165
+ return [
166
+ 'You can call tools to gather grounded context before answering. On EACH turn respond with EXACTLY ONE of:',
167
+ '',
168
+ '1. A tool call — a single ```json fenced object: {"tool": "<name>", "input": { ... }}',
169
+ '2. Your FINAL answer — a single ```json fenced object: {"summary": "...", "sql": "...", "viz": "...", "outputs": ["..."]}',
170
+ '',
171
+ 'Rules:',
172
+ `- You may make at most ${maxToolCalls} tool call(s). Stop searching as soon as you can answer.`,
173
+ '- Prefer compiling a governed semantic query (compile_semantic_query) over hand-writing SQL when the semantic layer covers the metric/dimensions.',
174
+ '- Only reference relations and columns you have confirmed via a tool. Do not invent tables.',
175
+ '- Never wrap a tool call and a final answer in the same message.',
176
+ '',
177
+ 'Available tools:',
178
+ ...toolLines,
179
+ ].join('\n');
180
+ }
181
+ //# sourceMappingURL=tool-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/agentic/tool-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAiBH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAuB,EACvB,QAAwB,EACxB,KAA4B,EAC5B,UAAkC,EAAE;IAEpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IACrE,MAAM,cAAc,GAAmB,OAAO,CAAC,UAAU;QACvD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,sEAAsE;IACtE,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,uBAAuB,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,uBAAuB,CACpC,QAAuB,EACvB,YAA4B,EAC5B,KAA4B,EAC5B,OAA+B;IAE/B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAE9G,MAAM,QAAQ,GAAmB;QAC/B,GAAG,YAAY;QACf,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE;KACxE,CAAC;IAEF,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,OAAO,aAAa,GAAG,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,QAAQ,GAAG,IAAI,CAAC;QACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAC,iDAAiD;QAErF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,aAAa,IAAI,CAAC,CAAC;QACnB,IAAI,MAAe,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC,IAAI,gBAAgB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACpG,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrE,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAElH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,iFAAiF;IACjF,uEAAuE;IACvE,QAAQ,CAAC,IAAI,CAAC;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,oKAAoK;KAC9K,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjD,CAAC;AAOD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,SAAS;QAC7E,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;YACxD,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;gBACzD,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,WAAW,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;oBACnH,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC;QACtF,MAAM,KAAK,GAAG,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAChF,CAAC,CAAE,QAAoC;YACvC,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6FAA6F;AAC7F,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,gCAAgC,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxE,sDAAsD;IACtD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,MAAe;IACtD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,8EAA8E;IAC9E,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;QAAE,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;IACrE,OAAO,oBAAoB,IAAI,kBAAkB,IAAI,UAAU,CAAC;AAClE,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA4B,EAAE,YAAoB;IAC/E,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,KAAK,GAAI,IAAI,CAAC,WAAoE,EAAE,UAAU,CAAC;QACrG,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,IAAI,CAAC,IAAI,IAAI,MAAM,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,OAAO;QACL,2GAA2G;QAC3G,EAAE;QACF,uFAAuF;QACvF,2HAA2H;QAC3H,EAAE;QACF,QAAQ;QACR,0BAA0B,YAAY,0DAA0D;QAChG,mJAAmJ;QACnJ,6FAA6F;QAC7F,kEAAkE;QAClE,EAAE;QACF,kBAAkB;QAClB,GAAG,SAAS;KACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Stage-B semantic toolset.
3
+ *
4
+ * These tools are built from the answer-loop's own in-scope objects — the resolved
5
+ * `SemanticLayer` and the `KGStore` — with NO dependency on the MCP DQLContext or
6
+ * a live server, so the answer loop can hand them to the agentic tool loop
7
+ * directly. They are the governed half of Stage B's tool surface (the host's
8
+ * warehouse/validation tools — search_metadata, get_table_schema, validate_sql,
9
+ * query_via_block — are merged in from `input.answerLoopTools`).
10
+ *
11
+ * Governance lives here, in the backends:
12
+ * - `compile_semantic_query` is the ONLY way to produce SQL the pipeline will
13
+ * label "governed": it runs `composeSemanticQueryFromMembers`, which validates
14
+ * every member against the layer and REFUSES hallucinated dimensions. The model
15
+ * never writes governed SQL itself.
16
+ * - `search_semantic_layer` / `scan_manifest` are read-only discovery.
17
+ */
18
+ import type { SemanticLayer } from '@duckcodeailabs/dql-core';
19
+ import type { AgentToolDefinition } from '../providers/types.js';
20
+ import type { KGStore } from '../kg/sqlite-fts.js';
21
+ export interface SemanticStageToolsInput {
22
+ semanticLayer?: SemanticLayer;
23
+ kg: KGStore;
24
+ driver?: string;
25
+ tableMapping?: Record<string, string>;
26
+ /** Records the compiled result of the last successful compile_semantic_query call. */
27
+ onCompiled?: (result: {
28
+ sql: string;
29
+ metrics: string[];
30
+ dimensions: string[];
31
+ dqlArtifactSource: string;
32
+ }) => void;
33
+ }
34
+ /**
35
+ * Build the governed Stage-B tools (semantic search, compile, manifest scan). When
36
+ * no semantic layer is configured, the compile/search tools are omitted (there is
37
+ * nothing to compile against) and only `scan_manifest` is returned.
38
+ */
39
+ export declare function buildSemanticStageTools(input: SemanticStageToolsInput): AgentToolDefinition[];
40
+ //# sourceMappingURL=toolset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolset.d.ts","sourceRoot":"","sources":["../../src/agentic/toolset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AASnD,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,sFAAsF;IACtF,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACpH;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,mBAAmB,EAAE,CAO7F"}