@duckcodeailabs/dql-agent 1.13.4 → 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 (137) hide show
  1. package/dist/agent-run-engine.d.ts +87 -7
  2. package/dist/agent-run-engine.d.ts.map +1 -1
  3. package/dist/agent-run-engine.js +559 -40
  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/agentic/tool-loop.d.ts.map +1 -1
  9. package/dist/agentic/tool-loop.js +100 -32
  10. package/dist/agentic/tool-loop.js.map +1 -1
  11. package/dist/aggregation-safety-proof.d.ts +41 -0
  12. package/dist/aggregation-safety-proof.d.ts.map +1 -0
  13. package/dist/aggregation-safety-proof.js +511 -0
  14. package/dist/aggregation-safety-proof.js.map +1 -0
  15. package/dist/analytical-compatibility.d.ts.map +1 -1
  16. package/dist/analytical-compatibility.js +42 -25
  17. package/dist/analytical-compatibility.js.map +1 -1
  18. package/dist/analytical-execution-graph.d.ts +4 -21
  19. package/dist/analytical-execution-graph.d.ts.map +1 -1
  20. package/dist/analytical-execution-graph.js +27 -0
  21. package/dist/analytical-execution-graph.js.map +1 -1
  22. package/dist/analytical-frame.d.ts +12 -1
  23. package/dist/analytical-frame.d.ts.map +1 -1
  24. package/dist/analytical-frame.js +102 -2
  25. package/dist/analytical-frame.js.map +1 -1
  26. package/dist/analytical-orchestration.d.ts +256 -0
  27. package/dist/analytical-orchestration.d.ts.map +1 -0
  28. package/dist/analytical-orchestration.js +419 -0
  29. package/dist/analytical-orchestration.js.map +1 -0
  30. package/dist/analytical-result-facts.d.ts +54 -1
  31. package/dist/analytical-result-facts.d.ts.map +1 -1
  32. package/dist/analytical-result-facts.js +183 -0
  33. package/dist/analytical-result-facts.js.map +1 -1
  34. package/dist/answer-loop.d.ts +44 -3
  35. package/dist/answer-loop.d.ts.map +1 -1
  36. package/dist/answer-loop.js +771 -38
  37. package/dist/answer-loop.js.map +1 -1
  38. package/dist/cascade/budgets.js +1 -1
  39. package/dist/cascade/route-policy.d.ts +1 -1
  40. package/dist/cascade/route-policy.d.ts.map +1 -1
  41. package/dist/cascade/route-policy.js +2 -0
  42. package/dist/cascade/route-policy.js.map +1 -1
  43. package/dist/conversation/snapshot.d.ts.map +1 -1
  44. package/dist/conversation/snapshot.js +3 -0
  45. package/dist/conversation/snapshot.js.map +1 -1
  46. package/dist/conversation/turn-trust.d.ts.map +1 -1
  47. package/dist/conversation/turn-trust.js +6 -0
  48. package/dist/conversation/turn-trust.js.map +1 -1
  49. package/dist/generated-analytical-proposal.d.ts +37 -0
  50. package/dist/generated-analytical-proposal.d.ts.map +1 -0
  51. package/dist/generated-analytical-proposal.js +219 -0
  52. package/dist/generated-analytical-proposal.js.map +1 -0
  53. package/dist/index.d.ts +11 -5
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +7 -3
  56. package/dist/index.js.map +1 -1
  57. package/dist/intent-controller.d.ts +8 -1
  58. package/dist/intent-controller.d.ts.map +1 -1
  59. package/dist/intent-controller.js.map +1 -1
  60. package/dist/kg/build.js +102 -6
  61. package/dist/kg/build.js.map +1 -1
  62. package/dist/meaning-resolution.d.ts +30 -0
  63. package/dist/meaning-resolution.d.ts.map +1 -1
  64. package/dist/meaning-resolution.js +61 -8
  65. package/dist/meaning-resolution.js.map +1 -1
  66. package/dist/metadata/analysis-planner.d.ts.map +1 -1
  67. package/dist/metadata/analysis-planner.js +46 -2
  68. package/dist/metadata/analysis-planner.js.map +1 -1
  69. package/dist/metadata/block-fit.d.ts.map +1 -1
  70. package/dist/metadata/block-fit.js +55 -2
  71. package/dist/metadata/block-fit.js.map +1 -1
  72. package/dist/metadata/catalog.d.ts +24 -0
  73. package/dist/metadata/catalog.d.ts.map +1 -1
  74. package/dist/metadata/catalog.js +227 -42
  75. package/dist/metadata/catalog.js.map +1 -1
  76. package/dist/metadata/meaning-evidence.d.ts.map +1 -1
  77. package/dist/metadata/meaning-evidence.js +408 -36
  78. package/dist/metadata/meaning-evidence.js.map +1 -1
  79. package/dist/metadata/sql-context-validation.d.ts +3 -0
  80. package/dist/metadata/sql-context-validation.d.ts.map +1 -1
  81. package/dist/metadata/sql-context-validation.js +16 -5
  82. package/dist/metadata/sql-context-validation.js.map +1 -1
  83. package/dist/plan-execution-adapter.d.ts +9 -1
  84. package/dist/plan-execution-adapter.d.ts.map +1 -1
  85. package/dist/plan-execution-adapter.js +81 -32
  86. package/dist/plan-execution-adapter.js.map +1 -1
  87. package/dist/provider-egress.d.ts +122 -0
  88. package/dist/provider-egress.d.ts.map +1 -0
  89. package/dist/provider-egress.js +504 -0
  90. package/dist/provider-egress.js.map +1 -0
  91. package/dist/providers/claude.d.ts.map +1 -1
  92. package/dist/providers/claude.js +76 -33
  93. package/dist/providers/claude.js.map +1 -1
  94. package/dist/providers/dispatch.d.ts +15 -0
  95. package/dist/providers/dispatch.d.ts.map +1 -0
  96. package/dist/providers/dispatch.js +25 -0
  97. package/dist/providers/dispatch.js.map +1 -0
  98. package/dist/providers/gemini.d.ts.map +1 -1
  99. package/dist/providers/gemini.js +16 -8
  100. package/dist/providers/gemini.js.map +1 -1
  101. package/dist/providers/index.d.ts +2 -1
  102. package/dist/providers/index.d.ts.map +1 -1
  103. package/dist/providers/index.js +1 -0
  104. package/dist/providers/index.js.map +1 -1
  105. package/dist/providers/ollama.d.ts.map +1 -1
  106. package/dist/providers/ollama.js +29 -10
  107. package/dist/providers/ollama.js.map +1 -1
  108. package/dist/providers/openai.d.ts.map +1 -1
  109. package/dist/providers/openai.js +92 -36
  110. package/dist/providers/openai.js.map +1 -1
  111. package/dist/providers/types.d.ts +43 -0
  112. package/dist/providers/types.d.ts.map +1 -1
  113. package/dist/providers/types.js.map +1 -1
  114. package/dist/relationship-proof.d.ts +19 -0
  115. package/dist/relationship-proof.d.ts.map +1 -0
  116. package/dist/relationship-proof.js +75 -0
  117. package/dist/relationship-proof.js.map +1 -0
  118. package/dist/research-loop.d.ts.map +1 -1
  119. package/dist/research-loop.js +17 -11
  120. package/dist/research-loop.js.map +1 -1
  121. package/dist/resolved-analytical-plan.d.ts +25 -3
  122. package/dist/resolved-analytical-plan.d.ts.map +1 -1
  123. package/dist/resolved-analytical-plan.js +460 -31
  124. package/dist/resolved-analytical-plan.js.map +1 -1
  125. package/dist/router.d.ts +38 -1
  126. package/dist/router.d.ts.map +1 -1
  127. package/dist/router.js +1060 -53
  128. package/dist/router.js.map +1 -1
  129. package/dist/semantic-identities.d.ts +18 -0
  130. package/dist/semantic-identities.d.ts.map +1 -0
  131. package/dist/semantic-identities.js +60 -0
  132. package/dist/semantic-identities.js.map +1 -0
  133. package/dist/semantic-proof-authority.d.ts +29 -0
  134. package/dist/semantic-proof-authority.d.ts.map +1 -0
  135. package/dist/semantic-proof-authority.js +34 -0
  136. package/dist/semantic-proof-authority.js.map +1 -0
  137. package/package.json +4 -4
@@ -19,13 +19,17 @@
19
19
  * compiler owns semantic SQL, certified execution keeps its grain gate, run_sql
20
20
  * is read-only). This module only orchestrates the conversation.
21
21
  */
22
+ import { assertProviderPayloadAllowed, boundProviderResultRows } from '../provider-egress.js';
22
23
  /**
23
24
  * Run the agentic tool loop and return the model's final assistant text. Tool
24
25
  * observations are surfaced through `options.onToolCall` (same contract the native
25
26
  * providers already use), so callers can record evidence regardless of transport.
26
27
  */
27
28
  export async function runAgenticToolLoop(provider, messages, tools, options = {}) {
28
- const usable = tools.filter((tool) => tool.name && tool.description);
29
+ const resultRowBudgetUsage = new Map();
30
+ const usable = tools
31
+ .filter((tool) => tool.name && tool.description)
32
+ .map((tool) => guardToolOutput(tool, options, resultRowBudgetUsage));
29
33
  const policyMessages = options.toolPolicy
30
34
  ? [{ role: 'system', content: options.toolPolicy }]
31
35
  : [];
@@ -38,6 +42,38 @@ export async function runAgenticToolLoop(provider, messages, tools, options = {}
38
42
  }
39
43
  return runTextProtocolToolLoop(provider, [...messages, ...policyMessages], usable, options);
40
44
  }
45
+ function guardToolOutput(tool, options, resultRowBudgetUsage) {
46
+ const policy = options.providerPayloadGuard;
47
+ if (!policy)
48
+ return tool;
49
+ return {
50
+ ...tool,
51
+ run: async (args) => {
52
+ const output = await tool.run(args);
53
+ const maxResultRows = policy.allowedResultRowTools?.[tool.name] ?? 0;
54
+ const budgetGroup = policy.resultRowBudgetGroupByTool?.[tool.name] ?? tool.name;
55
+ const cumulativeLimit = policy.cumulativeResultRowBudgets?.[budgetGroup] ?? maxResultRows;
56
+ const alreadyUsed = resultRowBudgetUsage.get(budgetGroup) ?? 0;
57
+ const bounded = boundProviderResultRows(output, Math.max(0, cumulativeLimit - alreadyUsed));
58
+ const shape = assertProviderPayloadAllowed(bounded.value, {
59
+ allowResultRows: maxResultRows > 0,
60
+ maxResultRows: Math.max(0, cumulativeLimit - alreadyUsed),
61
+ purpose: policy.purpose,
62
+ });
63
+ const cumulativeResultRowCount = alreadyUsed + shape.resultRowCount;
64
+ resultRowBudgetUsage.set(budgetGroup, cumulativeResultRowCount);
65
+ policy.onPayload?.({
66
+ toolName: tool.name,
67
+ output: bounded.value,
68
+ ...shape,
69
+ cumulativeResultRowCount,
70
+ budgetGroup,
71
+ budgetExhausted: bounded.exhausted || cumulativeResultRowCount >= cumulativeLimit,
72
+ });
73
+ return bounded.value;
74
+ },
75
+ };
76
+ }
41
77
  /**
42
78
  * Text-protocol ReAct loop for providers without native tool use. The model
43
79
  * chooses ONE action per turn: call a tool, or emit the final answer. We parse its
@@ -47,51 +83,83 @@ export async function runAgenticToolLoop(provider, messages, tools, options = {}
47
83
  async function runTextProtocolToolLoop(provider, baseMessages, tools, options) {
48
84
  const maxToolCalls = Math.max(0, Math.min(30, options.maxToolCalls ?? 8));
49
85
  const toolMap = new Map(tools.map((tool) => [tool.name, tool]));
50
- const runOptions = { signal: options.signal, reasoningEffort: options.reasoningEffort, model: options.model };
86
+ // Preserve the complete transport contract across both text-protocol turns.
87
+ // Reconstructing a small options subset silently dropped the physical-send
88
+ // observer, dispatch cap, redaction guard, and egress accounting for CLI and
89
+ // Ollama providers.
90
+ const dispatchLimit = Math.max(1, Math.min(30, options.maxProviderDispatches ?? 2));
91
+ let physicalDispatches = 0;
92
+ const outerObserver = options.onProviderDispatch;
93
+ const runOptions = {
94
+ ...options,
95
+ onProviderDispatch: (event) => {
96
+ physicalDispatches += 1;
97
+ if (physicalDispatches > dispatchLimit) {
98
+ throw Object.assign(new Error(`Provider dispatch budget exhausted after ${dispatchLimit} physical attempt${dispatchLimit === 1 ? '' : 's'}.`), { code: 'PROVIDER_DISPATCH_BUDGET_EXHAUSTED' });
99
+ }
100
+ return outerObserver?.(event) ?? event.envelope;
101
+ },
102
+ };
51
103
  const messages = [
52
104
  ...baseMessages,
53
105
  { role: 'system', content: buildTextToolContract(tools, maxToolCalls) },
54
106
  ];
55
- let toolCallsUsed = 0;
56
107
  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;
108
+ const text = await provider.generate(messages, runOptions);
109
+ if (text.trim())
110
+ lastText = text;
111
+ const call = maxToolCalls > 0 ? parseTextToolCall(text) : undefined;
112
+ if (!call)
113
+ return text || lastText;
114
+ const tool = toolMap.get(call.name);
115
+ let output;
116
+ let isError = false;
117
+ const startedAt = Date.now();
118
+ if (!tool) {
119
+ output = { error: `Unknown tool: ${call.name}. Available: ${tools.map((t) => t.name).join(', ')}` };
120
+ isError = true;
121
+ }
122
+ else {
123
+ try {
124
+ assertMayStartToolCall(options);
125
+ output = await tool.run(call.input ?? {});
72
126
  }
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
- }
127
+ catch (err) {
128
+ output = { error: err instanceof Error ? err.message : String(err) };
129
+ isError = true;
81
130
  }
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
131
  }
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.
132
+ options.onToolCall?.({ name: call.name, input: call.input, output, isError, durationMs: Date.now() - startedAt });
133
+ messages.push({ role: 'assistant', content: text });
134
+ messages.push({ role: 'user', content: renderObservation(call.name, output) });
135
+ // One provider proposal plus one final generation is the complete ordinary
136
+ // tool round. The final instruction prohibits a second tool proposal.
88
137
  messages.push({
89
138
  role: 'user',
90
139
  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
140
  });
92
- const finalText = await provider.generate(messages, runOptions).catch(() => '');
141
+ const finalText = await provider.generate(messages, runOptions).catch((error) => {
142
+ const code = error && typeof error === 'object' && 'code' in error
143
+ ? error.code
144
+ : undefined;
145
+ // Running out of wall clock is not a reason to discard a usable draft: the
146
+ // model already produced text and a tool observation. Fall back to that
147
+ // instead of failing the whole run with nothing.
148
+ if (code === 'RUN_DEADLINE_INSUFFICIENT' && lastText.trim())
149
+ return '';
150
+ if (code === 'PROVIDER_DISPATCH_BUDGET_EXHAUSTED')
151
+ throw error;
152
+ return '';
153
+ });
93
154
  return finalText.trim() ? finalText : lastText;
94
155
  }
156
+ function assertMayStartToolCall(options) {
157
+ if (options.mayStartToolCall?.() === false) {
158
+ throw Object.assign(new Error('The run soft target elapsed before this tool branch could start.'), {
159
+ code: 'RUN_SOFT_TARGET_EXCEEDED',
160
+ });
161
+ }
162
+ }
95
163
  /**
96
164
  * Parse a text-protocol tool call. A tool call is a JSON object with a `tool`
97
165
  * (string) field, optionally in a ```json fence. Anything else — prose, or a JSON
@@ -1 +1 @@
1
- {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/agentic/tool-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/agentic/tool-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { type AggregationSafetyProofV1, type MetricCapabilityContract, type ResolvedRelationshipProofV1 } from '@duckcodeailabs/dql-core';
2
+ import type { LocalContextPack } from './metadata/catalog.js';
3
+ import type { SemanticProofAuthorityV1 } from './semantic-proof-authority.js';
4
+ /**
5
+ * Builds aggregation authority exclusively from parser and governed metadata
6
+ * facts. It intentionally has no warehouse-result input.
7
+ */
8
+ export declare function buildAggregationSafetyProof(sql: string, contextPack: LocalContextPack | undefined, dialect?: string, planFingerprint?: string): AggregationSafetyProofV1;
9
+ /**
10
+ * Proves an exact semantic-adapter compilation without pretending that a
11
+ * derived metric is a stored additive column. A ratio may pass only when the
12
+ * pinned compiler calculates it from multiple aggregates; SUM(ratio_output)
13
+ * remains a blocked non-additive rollup.
14
+ */
15
+ export declare function buildSemanticCompilationAggregationSafetyProof(input: {
16
+ sql: string;
17
+ capability: MetricCapabilityContract;
18
+ /**
19
+ * Compiler-owned metric expression rendered from the immutable semantic
20
+ * snapshot before target SQL execution. The proof compares parser-owned
21
+ * expression trees; prose, warehouse success, or a matching alias is never
22
+ * accepted as authority.
23
+ */
24
+ compilerMetricExpressionSql?: string;
25
+ compilerMetricId?: string;
26
+ compilerMeasureIds?: string[];
27
+ compilerRelation?: string;
28
+ compilerRelationAliases?: string[];
29
+ compilerAuthorityIssueCodes?: string[];
30
+ relationshipProofs?: ResolvedRelationshipProofV1[];
31
+ executionId?: string;
32
+ snapshotId?: string;
33
+ capabilityFingerprint?: string;
34
+ route?: 'semantic';
35
+ adapterId?: string;
36
+ semanticAuthority?: SemanticProofAuthorityV1;
37
+ contextPack?: LocalContextPack;
38
+ dialect?: string;
39
+ planFingerprint: string;
40
+ }): AggregationSafetyProofV1;
41
+ //# sourceMappingURL=aggregation-safety-proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregation-safety-proof.d.ts","sourceRoot":"","sources":["../src/aggregation-safety-proof.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAG9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,gBAAgB,GAAG,SAAS,EACzC,OAAO,SAAW,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,wBAAwB,CAmG1B;AAED;;;;;GAKG;AACH,wBAAgB,8CAA8C,CAAC,KAAK,EAAE;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,wBAAwB,CAAC;IACrC;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB,GAAG,wBAAwB,CAmH3B"}