@duckcodeailabs/dql-cli 1.6.31 → 1.6.32
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.
- package/dist/apps-api.d.ts.map +1 -1
- package/dist/apps-api.js +3 -1
- package/dist/apps-api.js.map +1 -1
- package/dist/args.d.ts +18 -0
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +37 -0
- package/dist/args.js.map +1 -1
- package/dist/assets/dql-notebook/assets/index-B6x1cRJo.js +5698 -0
- package/dist/assets/dql-notebook/index.html +1 -1
- package/dist/commands/agent.d.ts +47 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +635 -27
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/app.d.ts.map +1 -1
- package/dist/commands/app.js +3 -1
- package/dist/commands/app.js.map +1 -1
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +111 -22
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/eval-judge.d.ts +37 -0
- package/dist/commands/eval-judge.d.ts.map +1 -0
- package/dist/commands/eval-judge.js +99 -0
- package/dist/commands/eval-judge.js.map +1 -0
- package/dist/commands/eval.d.ts +27 -1
- package/dist/commands/eval.d.ts.map +1 -1
- package/dist/commands/eval.js +143 -6
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/mcp.js +27 -3
- package/dist/commands/mcp.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/llm/analytics-tools.d.ts.map +1 -1
- package/dist/llm/analytics-tools.js +12 -7
- package/dist/llm/analytics-tools.js.map +1 -1
- package/dist/llm/answer-loop-tools.d.ts +7 -0
- package/dist/llm/answer-loop-tools.d.ts.map +1 -0
- package/dist/llm/answer-loop-tools.js +67 -0
- package/dist/llm/answer-loop-tools.js.map +1 -0
- package/dist/llm/proposal-metadata.d.ts +5 -0
- package/dist/llm/proposal-metadata.d.ts.map +1 -0
- package/dist/llm/proposal-metadata.js +27 -0
- package/dist/llm/proposal-metadata.js.map +1 -0
- package/dist/llm/providers/claude-agent-sdk.d.ts +6 -0
- package/dist/llm/providers/claude-agent-sdk.d.ts.map +1 -1
- package/dist/llm/providers/claude-agent-sdk.js +12 -2
- package/dist/llm/providers/claude-agent-sdk.js.map +1 -1
- package/dist/llm/providers/claude-code.d.ts +7 -1
- package/dist/llm/providers/claude-code.d.ts.map +1 -1
- package/dist/llm/providers/claude-code.js +11 -2
- package/dist/llm/providers/claude-code.js.map +1 -1
- package/dist/llm/providers/dql-agent-provider.d.ts +29 -0
- package/dist/llm/providers/dql-agent-provider.d.ts.map +1 -1
- package/dist/llm/providers/dql-agent-provider.js +757 -26
- package/dist/llm/providers/dql-agent-provider.js.map +1 -1
- package/dist/llm/tools.d.ts.map +1 -1
- package/dist/llm/tools.js +34 -137
- package/dist/llm/tools.js.map +1 -1
- package/dist/llm/types.d.ts +67 -2
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/local-runtime.d.ts +160 -5
- package/dist/local-runtime.d.ts.map +1 -1
- package/dist/local-runtime.js +1753 -181
- package/dist/local-runtime.js.map +1 -1
- package/dist/package.json +10 -10
- package/dist/providers/oauth/claude-oauth.d.ts +3 -3
- package/dist/providers/oauth/claude-oauth.d.ts.map +1 -1
- package/dist/providers/oauth/claude-oauth.js +3 -3
- package/dist/providers/oauth/claude-oauth.js.map +1 -1
- package/dist/providers/oauth/codex-oauth.d.ts +2 -3
- package/dist/providers/oauth/codex-oauth.d.ts.map +1 -1
- package/dist/providers/oauth/codex-oauth.js +6 -3
- package/dist/providers/oauth/codex-oauth.js.map +1 -1
- package/dist/settings/provider-settings.d.ts +1 -0
- package/dist/settings/provider-settings.d.ts.map +1 -1
- package/dist/settings/provider-settings.js +1 -1
- package/dist/settings/provider-settings.js.map +1 -1
- package/package.json +11 -11
- package/dist/assets/dql-notebook/assets/index-BpPs6_rz.js +0 -5648
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-tools.js","sourceRoot":"","sources":["../../src/llm/analytics-tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAkB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"analytics-tools.js","sourceRoot":"","sources":["../../src/llm/analytics-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { expandGroundingFromCatalog, type AgentToolDefinition } from '@duckcodeailabs/dql-agent';
|
|
2
|
+
export interface AnswerLoopToolOptions {
|
|
3
|
+
serverUrl?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function createGroundingContextExpander(projectRoot: string): (request: Parameters<typeof expandGroundingFromCatalog>[1]) => Promise<import("@duckcodeailabs/dql-agent").GroundingExpansionResult | undefined>;
|
|
6
|
+
export declare function buildAnswerLoopTools(projectRoot: string, options?: AnswerLoopToolOptions): AgentToolDefinition[];
|
|
7
|
+
//# sourceMappingURL=answer-loop-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"answer-loop-tools.d.ts","sourceRoot":"","sources":["../../src/llm/answer-loop-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,EAE1B,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AAInC,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,IAClD,SAAS,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,uFAQxE;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,EAAE,CAMvB"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { dqlToolNamesForSurface, expandGroundingFromCatalog, openMetadataCatalog, } from '@duckcodeailabs/dql-agent';
|
|
2
|
+
import { DQLContext } from '@duckcodeailabs/dql-mcp';
|
|
3
|
+
import { buildAgentTools } from './tools.js';
|
|
4
|
+
export function createGroundingContextExpander(projectRoot) {
|
|
5
|
+
return async (request) => {
|
|
6
|
+
const catalog = openMetadataCatalog(projectRoot);
|
|
7
|
+
try {
|
|
8
|
+
return expandGroundingFromCatalog(catalog, request);
|
|
9
|
+
}
|
|
10
|
+
finally {
|
|
11
|
+
catalog.close();
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function buildAnswerLoopTools(projectRoot, options = {}) {
|
|
16
|
+
const ctx = new DQLContext({ projectRoot });
|
|
17
|
+
const allowed = new Set(dqlToolNamesForSurface('answer_loop'));
|
|
18
|
+
return buildAgentTools(ctx)
|
|
19
|
+
.filter((tool) => allowed.has(tool.name))
|
|
20
|
+
.map((tool) => wrapAnswerLoopTool(tool, options));
|
|
21
|
+
}
|
|
22
|
+
function wrapAnswerLoopTool(tool, options) {
|
|
23
|
+
if (tool.name === 'query_via_metadata')
|
|
24
|
+
return wrapMetadataPlanningTool(tool, options);
|
|
25
|
+
if (tool.name === 'query_via_block')
|
|
26
|
+
return wrapRuntimeTool(tool, options);
|
|
27
|
+
return tool;
|
|
28
|
+
}
|
|
29
|
+
function wrapMetadataPlanningTool(tool, options) {
|
|
30
|
+
return {
|
|
31
|
+
...tool,
|
|
32
|
+
run: async (args) => {
|
|
33
|
+
const input = objectArgs(args);
|
|
34
|
+
return tool.run({
|
|
35
|
+
...input,
|
|
36
|
+
dryRun: true,
|
|
37
|
+
saveDraft: false,
|
|
38
|
+
...runtimeToolArgs(input, options),
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function wrapRuntimeTool(tool, options) {
|
|
44
|
+
if (!options.serverUrl)
|
|
45
|
+
return tool;
|
|
46
|
+
return {
|
|
47
|
+
...tool,
|
|
48
|
+
run: async (args) => {
|
|
49
|
+
const input = objectArgs(args);
|
|
50
|
+
return tool.run({
|
|
51
|
+
...input,
|
|
52
|
+
...runtimeToolArgs(input, options),
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function objectArgs(args) {
|
|
58
|
+
return args && typeof args === 'object' && !Array.isArray(args)
|
|
59
|
+
? args
|
|
60
|
+
: {};
|
|
61
|
+
}
|
|
62
|
+
function runtimeToolArgs(input, options) {
|
|
63
|
+
return options.serverUrl && typeof input.serverUrl !== 'string'
|
|
64
|
+
? { serverUrl: options.serverUrl }
|
|
65
|
+
: {};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=answer-loop-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"answer-loop-tools.js","sourceRoot":"","sources":["../../src/llm/answer-loop-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BlockProposal } from './types.js';
|
|
2
|
+
type ProposalDqlMetadata = Pick<BlockProposal, 'blockType' | 'dqlSource' | 'metrics' | 'dimensions' | 'filters' | 'timeDimension'>;
|
|
3
|
+
export declare function blockProposalDqlMetadata(input: Partial<BlockProposal>): Partial<ProposalDqlMetadata>;
|
|
4
|
+
export {};
|
|
5
|
+
//# sourceMappingURL=proposal-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-metadata.d.ts","sourceRoot":"","sources":["../../src/llm/proposal-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,KAAK,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,eAAe,CAAC,CAAC;AAEnI,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgBpG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function blockProposalDqlMetadata(input) {
|
|
2
|
+
const blockType = input.blockType === 'semantic' || input.blockType === 'custom' ? input.blockType : undefined;
|
|
3
|
+
const timeDimension = input.timeDimension
|
|
4
|
+
&& typeof input.timeDimension === 'object'
|
|
5
|
+
&& typeof input.timeDimension.name === 'string'
|
|
6
|
+
&& typeof input.timeDimension.granularity === 'string'
|
|
7
|
+
? { name: input.timeDimension.name, granularity: input.timeDimension.granularity }
|
|
8
|
+
: undefined;
|
|
9
|
+
return {
|
|
10
|
+
...(blockType ? { blockType } : {}),
|
|
11
|
+
...(typeof input.dqlSource === 'string' && input.dqlSource.trim() ? { dqlSource: input.dqlSource } : {}),
|
|
12
|
+
...(Array.isArray(input.metrics) ? { metrics: input.metrics.map(String).filter(Boolean) } : {}),
|
|
13
|
+
...(Array.isArray(input.dimensions) ? { dimensions: input.dimensions.map(String).filter(Boolean) } : {}),
|
|
14
|
+
...(Array.isArray(input.filters) ? { filters: input.filters.filter(isProposalFilter) } : {}),
|
|
15
|
+
...(timeDimension ? { timeDimension } : {}),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function isProposalFilter(value) {
|
|
19
|
+
if (!value || typeof value !== 'object')
|
|
20
|
+
return false;
|
|
21
|
+
const record = value;
|
|
22
|
+
return typeof record.dimension === 'string'
|
|
23
|
+
&& typeof record.operator === 'string'
|
|
24
|
+
&& Array.isArray(record.values)
|
|
25
|
+
&& record.values.every((item) => typeof item === 'string');
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=proposal-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-metadata.js","sourceRoot":"","sources":["../../src/llm/proposal-metadata.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,wBAAwB,CAAC,KAA6B;IACpE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/G,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa;WACpC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;WACvC,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,QAAQ;WAC5C,OAAO,KAAK,CAAC,aAAa,CAAC,WAAW,KAAK,QAAQ;QACpD,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;QAClF,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACL,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,MAAM,GAAG,KAAsE,CAAC;IACtF,OAAO,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;WACtC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;WACnC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;WAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { DQLContext } from '@duckcodeailabs/dql-mcp';
|
|
1
2
|
import type { AgentRunner } from '../types.js';
|
|
3
|
+
declare function systemPrompt(ctx: DQLContext, upstreamSql?: string): string;
|
|
2
4
|
export declare const claudeAgentSdkRunner: AgentRunner;
|
|
5
|
+
export declare const __test__: {
|
|
6
|
+
systemPrompt: typeof systemPrompt;
|
|
7
|
+
};
|
|
8
|
+
export {};
|
|
3
9
|
//# sourceMappingURL=claude-agent-sdk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent-sdk.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/claude-agent-sdk.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-agent-sdk.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/claude-agent-sdk.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAmB,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAmB,WAAW,EAA4B,MAAM,aAAa,CAAC;AA8D1F,iBAAS,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CA2BnE;AAsGD,eAAO,MAAM,oBAAoB,EAAE,WAmBlC,CAAC;AAEF,eAAO,MAAM,QAAQ;;CAEpB,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { DQLContext, findProjectRoot } from '@duckcodeailabs/dql-mcp';
|
|
5
5
|
import { buildAgentTools } from '../tools.js';
|
|
6
|
+
import { blockProposalDqlMetadata } from '../proposal-metadata.js';
|
|
6
7
|
const MODEL = 'claude-opus-4-7';
|
|
7
8
|
const MAX_TOOL_ITERATIONS = 16;
|
|
8
9
|
function loadApiKey() {
|
|
@@ -49,10 +50,15 @@ function systemPrompt(ctx, upstreamSql) {
|
|
|
49
50
|
return [
|
|
50
51
|
'You are the DQL authoring agent. Your job is to help the analyst turn a business question into a certified, governed DQL block.',
|
|
51
52
|
'',
|
|
52
|
-
'Always ground answers in existing blocks, semantic metrics, and dimensions
|
|
53
|
+
'Always ground answers in existing blocks, semantic metrics, and dimensions - do not invent SQL from scratch without checking what already exists. Use the provided tools:',
|
|
54
|
+
'- ask_dql: route analytics questions through the governed cascade before writing SQL.',
|
|
53
55
|
'- search_blocks: find existing blocks before writing new ones.',
|
|
54
56
|
'- get_block: inspect a block\'s SQL, dependencies, and lineage.',
|
|
55
|
-
'-
|
|
57
|
+
'- query_via_block: execute a certified exact-fit block.',
|
|
58
|
+
'- query_semantic_model: compile governed semantic metrics, dimensions, and time grains into DQL-first generated analysis; surface the DQL artifact and draft path when present.',
|
|
59
|
+
'- inspect_metadata_context / query_via_metadata: generate review-required DQL drafts when no certified block or semantic query fits; carry returned dqlArtifact.source as the default artifact.',
|
|
60
|
+
'- Follow-ups: when the user refers to prior/previous results, pass followUp.priorResultRef and followUp.priorDqlArtifact into query_via_metadata instead of answering from vague follow-up prose.',
|
|
61
|
+
'- expand_context: add a known catalog/runtime relation to an existing context pack after a grounded query reports an allowed-context gap, then retry once with the new contextPackId and regroundAttemptsUsed: 1.',
|
|
56
62
|
'- lineage_impact: understand upstream/downstream blast radius.',
|
|
57
63
|
'- certify: check governance rules against a proposed block.',
|
|
58
64
|
'- suggest_block: END of turn — write a reviewable draft to the local draft queue once the user is ready.',
|
|
@@ -140,6 +146,7 @@ function emitProposal(input, output, emit) {
|
|
|
140
146
|
owner: String(p.owner ?? ''),
|
|
141
147
|
description: String(p.description ?? ''),
|
|
142
148
|
sql: String(p.sql),
|
|
149
|
+
...blockProposalDqlMetadata(p),
|
|
143
150
|
tags: Array.isArray(p.tags) ? p.tags.map(String) : undefined,
|
|
144
151
|
chartType: typeof p.chartType === 'string' ? p.chartType : undefined,
|
|
145
152
|
};
|
|
@@ -174,4 +181,7 @@ export const claudeAgentSdkRunner = {
|
|
|
174
181
|
}
|
|
175
182
|
},
|
|
176
183
|
};
|
|
184
|
+
export const __test__ = {
|
|
185
|
+
systemPrompt,
|
|
186
|
+
};
|
|
177
187
|
//# sourceMappingURL=claude-agent-sdk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent-sdk.js","sourceRoot":"","sources":["../../../src/llm/providers/claude-agent-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-agent-sdk.js","sourceRoot":"","sources":["../../../src/llm/providers/claude-agent-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import type { AgentRunner } from '../types.js';
|
|
1
|
+
import type { AgentRunRequest, AgentRunner } from '../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* `claude-code` provider: spawns the `claude` CLI in headless print mode and
|
|
4
4
|
* connects it to DQL's stdio MCP server via `--mcp-config`. Requires the user
|
|
5
5
|
* to have `claude` on PATH — no API key needed (Claude Code uses its own auth).
|
|
6
6
|
*/
|
|
7
7
|
export declare const claudeCodeRunner: AgentRunner;
|
|
8
|
+
declare function buildPrompt(req: AgentRunRequest): string;
|
|
9
|
+
export declare const __test__: {
|
|
10
|
+
CLAUDE_CODE_ALLOWED_TOOLS: string;
|
|
11
|
+
buildPrompt: typeof buildPrompt;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
8
14
|
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/claude-code.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/claude-code.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAA4B,MAAM,aAAa,CAAC;AAI1F;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,WA8E9B,CAAC;AAEF,iBAAS,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAgBjD;AAyED,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
|
|
@@ -2,6 +2,8 @@ import { spawn } from 'node:child_process';
|
|
|
2
2
|
import { mkdtempSync, writeFileSync, rmSync } from 'node:fs';
|
|
3
3
|
import { tmpdir } from 'node:os';
|
|
4
4
|
import { join } from 'node:path';
|
|
5
|
+
import { dqlMcpToolNamesForSurface } from '@duckcodeailabs/dql-agent';
|
|
6
|
+
const CLAUDE_CODE_ALLOWED_TOOLS = dqlMcpToolNamesForSurface('claude_code').join(' ');
|
|
5
7
|
/**
|
|
6
8
|
* `claude-code` provider: spawns the `claude` CLI in headless print mode and
|
|
7
9
|
* connects it to DQL's stdio MCP server via `--mcp-config`. Requires the user
|
|
@@ -26,7 +28,7 @@ export const claudeCodeRunner = {
|
|
|
26
28
|
'stream-json',
|
|
27
29
|
'--verbose',
|
|
28
30
|
'--allowedTools',
|
|
29
|
-
|
|
31
|
+
CLAUDE_CODE_ALLOWED_TOOLS,
|
|
30
32
|
], { cwd: req.projectRoot, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
31
33
|
const cleanup = () => {
|
|
32
34
|
try {
|
|
@@ -83,8 +85,11 @@ function buildPrompt(req) {
|
|
|
83
85
|
? `\n\nThe user is authoring a notebook cell with this upstream SQL:\n\`\`\`sql\n${req.upstream.sql}\n\`\`\`\n`
|
|
84
86
|
: '';
|
|
85
87
|
return [
|
|
86
|
-
'You are the DQL authoring agent. Ground every answer in existing DQL blocks, metrics, and dimensions. Use
|
|
88
|
+
'You are the DQL authoring agent. Ground every answer in existing DQL blocks, metrics, and dimensions. Use mcp__dql__ask_dql first for analytics questions, then follow its nextTool.',
|
|
87
89
|
'',
|
|
90
|
+
'Use mcp__dql__query_semantic_model when semantic metrics/dimensions/time grains can answer before deep warehouse search; surface its DQL artifact and draft path when present. For certified exact fits, use mcp__dql__query_via_block. For custom grains, rankings, drilldowns, or missing certified/semantic fits, use mcp__dql__inspect_metadata_context and mcp__dql__query_via_metadata, then surface the review-required DQL artifact/source and draft path.',
|
|
91
|
+
'For follow-ups that refer to prior/previous results, pass followUp.priorResultRef and followUp.priorDqlArtifact into mcp__dql__query_via_metadata instead of answering from vague follow-up prose.',
|
|
92
|
+
'If mcp__dql__query_via_metadata reports a known relation outside the inspected context, use mcp__dql__expand_context with the prior contextPackId and retry mcp__dql__query_via_metadata once with the new contextPackId and regroundAttemptsUsed: 1.',
|
|
88
93
|
'When the user is ready for a concrete block, call mcp__dql__suggest_block with name, domain, owner, description, and sql. The response returns governance-gate results.',
|
|
89
94
|
upstream,
|
|
90
95
|
'',
|
|
@@ -169,4 +174,8 @@ function emitProposalFromResult(output, emit) {
|
|
|
169
174
|
},
|
|
170
175
|
});
|
|
171
176
|
}
|
|
177
|
+
export const __test__ = {
|
|
178
|
+
CLAUDE_CODE_ALLOWED_TOOLS,
|
|
179
|
+
buildPrompt,
|
|
180
|
+
};
|
|
172
181
|
//# sourceMappingURL=claude-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/llm/providers/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/llm/providers/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
+
import { type AgentAnswer, type CertifiedFitConfirmation, type AgentFollowUpContext, type AgentProvider, type ConversationSnapshot } from '@duckcodeailabs/dql-agent';
|
|
1
2
|
import type { AgentRunRequest, AgentRunner, ProviderId } from '../types.js';
|
|
3
|
+
import { buildAnswerLoopTools } from '../answer-loop-tools.js';
|
|
2
4
|
/**
|
|
3
5
|
* Providers the governed answer-loop runner can drive. Beyond the API-key/local
|
|
4
6
|
* providers this includes the subscription CLI providers (`claude-code`, `codex`) —
|
|
5
7
|
* used as plain completion backends here, distinct from the MCP `claudeCodeRunner`.
|
|
6
8
|
*/
|
|
7
9
|
type SimpleProviderId = Extract<ProviderId, 'anthropic' | 'openai' | 'gemini' | 'ollama' | 'custom-openai'> | 'claude-code' | 'codex';
|
|
10
|
+
declare function createCertifiedFitConfirmation(provider: AgentProvider, signal?: AbortSignal): CertifiedFitConfirmation;
|
|
11
|
+
declare function parseCertifiedFitConfirmation(text: string): {
|
|
12
|
+
allow: boolean;
|
|
13
|
+
confidence?: 'high' | 'medium' | 'low';
|
|
14
|
+
reason?: string;
|
|
15
|
+
};
|
|
8
16
|
export declare function createDqlAgentProviderRunner(id: SimpleProviderId): AgentRunner;
|
|
9
17
|
/**
|
|
10
18
|
* When the prior assistant turn was a clarifying question and this turn is the user's
|
|
@@ -14,5 +22,26 @@ export declare function createDqlAgentProviderRunner(id: SimpleProviderId): Agen
|
|
|
14
22
|
* follow-up.
|
|
15
23
|
*/
|
|
16
24
|
export declare function resolveEffectiveQuestion(req: AgentRunRequest): string;
|
|
25
|
+
export declare function rewriteFollowUpQuestion(question: string, followUp?: AgentFollowUpContext): string;
|
|
26
|
+
declare function inferFollowUpContext(req: AgentRunRequest, question: string): AgentFollowUpContext | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Deterministic stale-context protection: when the persisted working state says
|
|
29
|
+
* the new question is a topic SHIFT, prior-turn filters must not be forced into
|
|
30
|
+
* the follow-up (a "by X" phrasing can regex-classify as drilldown even on a
|
|
31
|
+
* genuinely new topic). Question-derived filters are kept; carried ones drop.
|
|
32
|
+
*/
|
|
33
|
+
declare function applyTopicShiftGuard(followUp: AgentFollowUpContext | undefined, snapshot: ConversationSnapshot | undefined): AgentFollowUpContext | undefined;
|
|
34
|
+
declare function followUpFromConversationContext(req: AgentRunRequest, question: string): AgentFollowUpContext | undefined;
|
|
35
|
+
export declare const __test__: {
|
|
36
|
+
applyTopicShiftGuard: typeof applyTopicShiftGuard;
|
|
37
|
+
buildAnswerLoopTools: typeof buildAnswerLoopTools;
|
|
38
|
+
createCertifiedFitConfirmation: typeof createCertifiedFitConfirmation;
|
|
39
|
+
followUpFromConversationContext: typeof followUpFromConversationContext;
|
|
40
|
+
inferFollowUpContext: typeof inferFollowUpContext;
|
|
41
|
+
formatCascadeOutcome: typeof formatCascadeOutcome;
|
|
42
|
+
parseCertifiedFitConfirmation: typeof parseCertifiedFitConfirmation;
|
|
43
|
+
rewriteFollowUpQuestion: typeof rewriteFollowUpQuestion;
|
|
44
|
+
};
|
|
45
|
+
declare function formatCascadeOutcome(cascade: AgentAnswer['cascade']): string | undefined;
|
|
17
46
|
export {};
|
|
18
47
|
//# sourceMappingURL=dql-agent-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dql-agent-provider.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/dql-agent-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dql-agent-provider.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/dql-agent-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAgBL,KAAK,WAAW,EAEhB,KAAK,wBAAwB,EAE7B,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAA4B,UAAU,EAAE,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAkC,MAAM,yBAAyB,CAAC;AAO/F;;;;GAIG;AACH,KAAK,gBAAgB,GACjB,OAAO,CAAC,UAAU,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,CAAC,GACnF,aAAa,GACb,OAAO,CAAC;AAwEZ,iBAAS,8BAA8B,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,wBAAwB,CAmC/G;AAqBD,iBAAS,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAkBhI;AAqDD,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,gBAAgB,GAAG,WAAW,CAyI9E;AAmBD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAkBrE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAcjG;AA6KD,iBAAS,oBAAoB,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAkBtG;AAuBD;;;;;GAKG;AACH,iBAAS,oBAAoB,CAC3B,QAAQ,EAAE,oBAAoB,GAAG,SAAS,EAC1C,QAAQ,EAAE,oBAAoB,GAAG,SAAS,GACzC,oBAAoB,GAAG,SAAS,CAYlC;AAED,iBAAS,+BAA+B,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAqEjH;AAsaD,eAAO,MAAM,QAAQ;;;;;;;;;CASpB,CAAC;AAiFF,iBAAS,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAKjF"}
|