@duckcodeailabs/dql-cli 1.4.1 → 1.4.3

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 (243) hide show
  1. package/package.json +21 -28
  2. package/LICENSE +0 -123
  3. package/README.md +0 -71
  4. package/dist/apps-api.d.ts +0 -16
  5. package/dist/apps-api.d.ts.map +0 -1
  6. package/dist/apps-api.js +0 -249
  7. package/dist/apps-api.js.map +0 -1
  8. package/dist/args.d.ts +0 -30
  9. package/dist/args.d.ts.map +0 -1
  10. package/dist/args.js +0 -105
  11. package/dist/args.js.map +0 -1
  12. package/dist/args.test.d.ts +0 -2
  13. package/dist/args.test.d.ts.map +0 -1
  14. package/dist/args.test.js +0 -33
  15. package/dist/args.test.js.map +0 -1
  16. package/dist/assets/dql-notebook/assets/codemirror-DJYUkPr1.js +0 -11
  17. package/dist/assets/dql-notebook/assets/index-BJ7MV8Gv.js +0 -847
  18. package/dist/assets/dql-notebook/assets/index-DrhoZmtv.css +0 -1
  19. package/dist/assets/dql-notebook/assets/react-CRB3T2We.js +0 -32
  20. package/dist/assets/dql-notebook/index.html +0 -18
  21. package/dist/assets/notebook-browser/app.js +0 -548
  22. package/dist/assets/notebook-browser/index.html +0 -83
  23. package/dist/assets/notebook-browser/styles.css +0 -336
  24. package/dist/block-templates.d.ts +0 -8
  25. package/dist/block-templates.d.ts.map +0 -1
  26. package/dist/block-templates.js +0 -60
  27. package/dist/block-templates.js.map +0 -1
  28. package/dist/commands/agent.d.ts +0 -19
  29. package/dist/commands/agent.d.ts.map +0 -1
  30. package/dist/commands/agent.js +0 -117
  31. package/dist/commands/agent.js.map +0 -1
  32. package/dist/commands/app.d.ts +0 -32
  33. package/dist/commands/app.d.ts.map +0 -1
  34. package/dist/commands/app.js +0 -307
  35. package/dist/commands/app.js.map +0 -1
  36. package/dist/commands/build.d.ts +0 -3
  37. package/dist/commands/build.d.ts.map +0 -1
  38. package/dist/commands/build.js +0 -69
  39. package/dist/commands/build.js.map +0 -1
  40. package/dist/commands/build.test.d.ts +0 -2
  41. package/dist/commands/build.test.d.ts.map +0 -1
  42. package/dist/commands/build.test.js +0 -44
  43. package/dist/commands/build.test.js.map +0 -1
  44. package/dist/commands/certify.d.ts +0 -3
  45. package/dist/commands/certify.d.ts.map +0 -1
  46. package/dist/commands/certify.js +0 -228
  47. package/dist/commands/certify.js.map +0 -1
  48. package/dist/commands/compile.d.ts +0 -21
  49. package/dist/commands/compile.d.ts.map +0 -1
  50. package/dist/commands/compile.js +0 -198
  51. package/dist/commands/compile.js.map +0 -1
  52. package/dist/commands/compile.test.d.ts +0 -2
  53. package/dist/commands/compile.test.d.ts.map +0 -1
  54. package/dist/commands/compile.test.js +0 -115
  55. package/dist/commands/compile.test.js.map +0 -1
  56. package/dist/commands/diff.d.ts +0 -3
  57. package/dist/commands/diff.d.ts.map +0 -1
  58. package/dist/commands/diff.js +0 -52
  59. package/dist/commands/diff.js.map +0 -1
  60. package/dist/commands/doctor.d.ts +0 -3
  61. package/dist/commands/doctor.d.ts.map +0 -1
  62. package/dist/commands/doctor.js +0 -191
  63. package/dist/commands/doctor.js.map +0 -1
  64. package/dist/commands/doctor.test.d.ts +0 -2
  65. package/dist/commands/doctor.test.d.ts.map +0 -1
  66. package/dist/commands/doctor.test.js +0 -43
  67. package/dist/commands/doctor.test.js.map +0 -1
  68. package/dist/commands/fmt.d.ts +0 -3
  69. package/dist/commands/fmt.d.ts.map +0 -1
  70. package/dist/commands/fmt.js +0 -53
  71. package/dist/commands/fmt.js.map +0 -1
  72. package/dist/commands/info.d.ts +0 -3
  73. package/dist/commands/info.d.ts.map +0 -1
  74. package/dist/commands/info.js +0 -56
  75. package/dist/commands/info.js.map +0 -1
  76. package/dist/commands/init.d.ts +0 -3
  77. package/dist/commands/init.d.ts.map +0 -1
  78. package/dist/commands/init.js +0 -250
  79. package/dist/commands/init.js.map +0 -1
  80. package/dist/commands/init.test.d.ts +0 -2
  81. package/dist/commands/init.test.d.ts.map +0 -1
  82. package/dist/commands/init.test.js +0 -118
  83. package/dist/commands/init.test.js.map +0 -1
  84. package/dist/commands/lineage.d.ts +0 -24
  85. package/dist/commands/lineage.d.ts.map +0 -1
  86. package/dist/commands/lineage.js +0 -634
  87. package/dist/commands/lineage.js.map +0 -1
  88. package/dist/commands/mcp.d.ts +0 -7
  89. package/dist/commands/mcp.d.ts.map +0 -1
  90. package/dist/commands/mcp.js +0 -16
  91. package/dist/commands/mcp.js.map +0 -1
  92. package/dist/commands/migrate.d.ts +0 -12
  93. package/dist/commands/migrate.d.ts.map +0 -1
  94. package/dist/commands/migrate.js +0 -192
  95. package/dist/commands/migrate.js.map +0 -1
  96. package/dist/commands/new.d.ts +0 -3
  97. package/dist/commands/new.d.ts.map +0 -1
  98. package/dist/commands/new.js +0 -490
  99. package/dist/commands/new.js.map +0 -1
  100. package/dist/commands/new.test.d.ts +0 -2
  101. package/dist/commands/new.test.d.ts.map +0 -1
  102. package/dist/commands/new.test.js +0 -191
  103. package/dist/commands/new.test.js.map +0 -1
  104. package/dist/commands/notebook.d.ts +0 -3
  105. package/dist/commands/notebook.d.ts.map +0 -1
  106. package/dist/commands/notebook.js +0 -46
  107. package/dist/commands/notebook.js.map +0 -1
  108. package/dist/commands/parse.d.ts +0 -3
  109. package/dist/commands/parse.d.ts.map +0 -1
  110. package/dist/commands/parse.js +0 -63
  111. package/dist/commands/parse.js.map +0 -1
  112. package/dist/commands/preview.d.ts +0 -3
  113. package/dist/commands/preview.d.ts.map +0 -1
  114. package/dist/commands/preview.js +0 -42
  115. package/dist/commands/preview.js.map +0 -1
  116. package/dist/commands/schedule.d.ts +0 -3
  117. package/dist/commands/schedule.d.ts.map +0 -1
  118. package/dist/commands/schedule.js +0 -215
  119. package/dist/commands/schedule.js.map +0 -1
  120. package/dist/commands/semantic.d.ts +0 -12
  121. package/dist/commands/semantic.d.ts.map +0 -1
  122. package/dist/commands/semantic.js +0 -356
  123. package/dist/commands/semantic.js.map +0 -1
  124. package/dist/commands/serve.d.ts +0 -3
  125. package/dist/commands/serve.d.ts.map +0 -1
  126. package/dist/commands/serve.js +0 -30
  127. package/dist/commands/serve.js.map +0 -1
  128. package/dist/commands/slack.d.ts +0 -13
  129. package/dist/commands/slack.d.ts.map +0 -1
  130. package/dist/commands/slack.js +0 -53
  131. package/dist/commands/slack.js.map +0 -1
  132. package/dist/commands/sync.d.ts +0 -3
  133. package/dist/commands/sync.d.ts.map +0 -1
  134. package/dist/commands/sync.js +0 -192
  135. package/dist/commands/sync.js.map +0 -1
  136. package/dist/commands/sync.test.d.ts +0 -2
  137. package/dist/commands/sync.test.d.ts.map +0 -1
  138. package/dist/commands/sync.test.js +0 -147
  139. package/dist/commands/sync.test.js.map +0 -1
  140. package/dist/commands/test.d.ts +0 -3
  141. package/dist/commands/test.d.ts.map +0 -1
  142. package/dist/commands/test.js +0 -167
  143. package/dist/commands/test.js.map +0 -1
  144. package/dist/commands/validate.d.ts +0 -3
  145. package/dist/commands/validate.d.ts.map +0 -1
  146. package/dist/commands/validate.js +0 -116
  147. package/dist/commands/validate.js.map +0 -1
  148. package/dist/commands/verify.d.ts +0 -11
  149. package/dist/commands/verify.d.ts.map +0 -1
  150. package/dist/commands/verify.js +0 -74
  151. package/dist/commands/verify.js.map +0 -1
  152. package/dist/digest.d.ts +0 -10
  153. package/dist/digest.d.ts.map +0 -1
  154. package/dist/digest.js +0 -83
  155. package/dist/digest.js.map +0 -1
  156. package/dist/git-service.d.ts +0 -17
  157. package/dist/git-service.d.ts.map +0 -1
  158. package/dist/git-service.js +0 -54
  159. package/dist/git-service.js.map +0 -1
  160. package/dist/index.d.ts +0 -3
  161. package/dist/index.d.ts.map +0 -1
  162. package/dist/index.js.map +0 -1
  163. package/dist/llm/index.d.ts +0 -4
  164. package/dist/llm/index.d.ts.map +0 -1
  165. package/dist/llm/index.js +0 -16
  166. package/dist/llm/index.js.map +0 -1
  167. package/dist/llm/providers/claude-agent-sdk.d.ts +0 -3
  168. package/dist/llm/providers/claude-agent-sdk.d.ts.map +0 -1
  169. package/dist/llm/providers/claude-agent-sdk.js +0 -174
  170. package/dist/llm/providers/claude-agent-sdk.js.map +0 -1
  171. package/dist/llm/providers/claude-code.d.ts +0 -8
  172. package/dist/llm/providers/claude-code.d.ts.map +0 -1
  173. package/dist/llm/providers/claude-code.js +0 -171
  174. package/dist/llm/providers/claude-code.js.map +0 -1
  175. package/dist/llm/tools.d.ts +0 -9
  176. package/dist/llm/tools.d.ts.map +0 -1
  177. package/dist/llm/tools.js +0 -112
  178. package/dist/llm/tools.js.map +0 -1
  179. package/dist/llm/types.d.ts +0 -70
  180. package/dist/llm/types.d.ts.map +0 -1
  181. package/dist/llm/types.js +0 -2
  182. package/dist/llm/types.js.map +0 -1
  183. package/dist/local-runtime.d.ts +0 -142
  184. package/dist/local-runtime.d.ts.map +0 -1
  185. package/dist/local-runtime.js +0 -3836
  186. package/dist/local-runtime.js.map +0 -1
  187. package/dist/local-runtime.test.d.ts +0 -2
  188. package/dist/local-runtime.test.d.ts.map +0 -1
  189. package/dist/local-runtime.test.js +0 -241
  190. package/dist/local-runtime.test.js.map +0 -1
  191. package/dist/open-browser.d.ts +0 -2
  192. package/dist/open-browser.d.ts.map +0 -1
  193. package/dist/open-browser.js +0 -29
  194. package/dist/open-browser.js.map +0 -1
  195. package/dist/schedule/alerts.d.ts +0 -5
  196. package/dist/schedule/alerts.d.ts.map +0 -1
  197. package/dist/schedule/alerts.js +0 -54
  198. package/dist/schedule/alerts.js.map +0 -1
  199. package/dist/schedule/discovery.d.ts +0 -4
  200. package/dist/schedule/discovery.d.ts.map +0 -1
  201. package/dist/schedule/discovery.js +0 -36
  202. package/dist/schedule/discovery.js.map +0 -1
  203. package/dist/schedule/notifiers/email.d.ts +0 -3
  204. package/dist/schedule/notifiers/email.d.ts.map +0 -1
  205. package/dist/schedule/notifiers/email.js +0 -76
  206. package/dist/schedule/notifiers/email.js.map +0 -1
  207. package/dist/schedule/notifiers/file.d.ts +0 -3
  208. package/dist/schedule/notifiers/file.d.ts.map +0 -1
  209. package/dist/schedule/notifiers/file.js +0 -50
  210. package/dist/schedule/notifiers/file.js.map +0 -1
  211. package/dist/schedule/notifiers/index.d.ts +0 -10
  212. package/dist/schedule/notifiers/index.d.ts.map +0 -1
  213. package/dist/schedule/notifiers/index.js +0 -33
  214. package/dist/schedule/notifiers/index.js.map +0 -1
  215. package/dist/schedule/notifiers/slack.d.ts +0 -3
  216. package/dist/schedule/notifiers/slack.d.ts.map +0 -1
  217. package/dist/schedule/notifiers/slack.js +0 -58
  218. package/dist/schedule/notifiers/slack.js.map +0 -1
  219. package/dist/schedule/runner.d.ts +0 -11
  220. package/dist/schedule/runner.d.ts.map +0 -1
  221. package/dist/schedule/runner.js +0 -109
  222. package/dist/schedule/runner.js.map +0 -1
  223. package/dist/schedule/runs.d.ts +0 -5
  224. package/dist/schedule/runs.d.ts.map +0 -1
  225. package/dist/schedule/runs.js +0 -41
  226. package/dist/schedule/runs.js.map +0 -1
  227. package/dist/schedule/service.d.ts +0 -12
  228. package/dist/schedule/service.d.ts.map +0 -1
  229. package/dist/schedule/service.js +0 -49
  230. package/dist/schedule/service.js.map +0 -1
  231. package/dist/schedule/types.d.ts +0 -64
  232. package/dist/schedule/types.d.ts.map +0 -1
  233. package/dist/schedule/types.js +0 -2
  234. package/dist/schedule/types.js.map +0 -1
  235. package/dist/semantic-import.d.ts +0 -127
  236. package/dist/semantic-import.d.ts.map +0 -1
  237. package/dist/semantic-import.js +0 -713
  238. package/dist/semantic-import.js.map +0 -1
  239. package/dist/semantic-import.test.d.ts +0 -2
  240. package/dist/semantic-import.test.d.ts.map +0 -1
  241. package/dist/semantic-import.test.js +0 -95
  242. package/dist/semantic-import.test.js.map +0 -1
  243. /package/{dist/index.js → index.js} +0 -0
@@ -1,174 +0,0 @@
1
- import { homedir } from 'node:os';
2
- import { existsSync, readFileSync } from 'node:fs';
3
- import { join } from 'node:path';
4
- import { DQLContext, findProjectRoot } from '@duckcodeailabs/dql-mcp';
5
- import { buildAgentTools } from '../tools.js';
6
- const MODEL = 'claude-opus-4-7';
7
- const MAX_TOOL_ITERATIONS = 16;
8
- function loadApiKey() {
9
- if (process.env.ANTHROPIC_API_KEY)
10
- return process.env.ANTHROPIC_API_KEY;
11
- if (process.env.DQL_LLM_KEY)
12
- return process.env.DQL_LLM_KEY;
13
- const credPath = join(homedir(), '.dql', 'credentials');
14
- if (!existsSync(credPath))
15
- return null;
16
- try {
17
- const content = readFileSync(credPath, 'utf-8');
18
- const match = content.match(/^\s*anthropic\s*=\s*"?([^"\n]+)"?/m);
19
- return match?.[1]?.trim() ?? null;
20
- }
21
- catch {
22
- return null;
23
- }
24
- }
25
- async function loadAnthropic() {
26
- const apiKey = loadApiKey();
27
- if (!apiKey) {
28
- return {
29
- error: 'No Anthropic API key found. Set ANTHROPIC_API_KEY, or add `anthropic = "sk-..."` to ~/.dql/credentials.',
30
- };
31
- }
32
- try {
33
- const mod = (await import('@anthropic-ai/sdk'));
34
- const Ctor = mod.default ?? mod.Anthropic;
35
- if (!Ctor)
36
- return { error: '@anthropic-ai/sdk is installed but does not export a client.' };
37
- return new Ctor({ apiKey });
38
- }
39
- catch {
40
- return {
41
- error: '@anthropic-ai/sdk is not installed. Run `pnpm add -w @anthropic-ai/sdk` to enable the Claude Agent SDK provider, or switch to the Claude Code provider.',
42
- };
43
- }
44
- }
45
- function systemPrompt(ctx, upstreamSql) {
46
- const domains = Array.from(new Set(Object.values(ctx.manifest.blocks).map((b) => b.domain).filter(Boolean))).sort();
47
- const metricCount = ctx.semanticLayer.listMetrics().length;
48
- const dimensionCount = ctx.semanticLayer.listDimensions().length;
49
- return [
50
- '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
- '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:',
53
- '- search_blocks: find existing blocks before writing new ones.',
54
- '- get_block: inspect a block\'s SQL, dependencies, and lineage.',
55
- '- list_metrics / list_dimensions: enumerate the semantic layer.',
56
- '- lineage_impact: understand upstream/downstream blast radius.',
57
- '- certify: check governance rules against a proposed block.',
58
- '- suggest_block: END of turn — write a reviewable draft to blocks/_drafts/ once the user is ready.',
59
- '',
60
- 'When the conversation has produced a concrete block design, call `suggest_block` with all required fields (name, domain, owner, description, sql). The response includes a governance gate — if it fails, refine and retry.',
61
- '',
62
- `Project context: ${Object.keys(ctx.manifest.blocks).length} blocks, ${metricCount} metrics, ${dimensionCount} dimensions. Domains: ${domains.join(', ') || '(none yet)'}.`,
63
- upstreamSql ? `The user is authoring a cell with this upstream SQL:\n\`\`\`sql\n${upstreamSql}\n\`\`\`` : '',
64
- ]
65
- .filter(Boolean)
66
- .join('\n');
67
- }
68
- async function runToolLoop(client, tools, system, initialMessages, emit, signal) {
69
- const messages = [...initialMessages];
70
- const toolDefs = tools.map((t) => ({ name: t.name, description: t.description, input_schema: t.inputSchema }));
71
- for (let iteration = 0; iteration < MAX_TOOL_ITERATIONS; iteration++) {
72
- if (signal.aborted) {
73
- emit({ kind: 'error', message: 'Aborted by user.' });
74
- return;
75
- }
76
- const response = await client.messages.create({
77
- model: MODEL,
78
- max_tokens: 8192,
79
- thinking: { type: 'adaptive', display: 'summarized' },
80
- output_config: { effort: 'xhigh' },
81
- system,
82
- tools: toolDefs,
83
- messages,
84
- });
85
- const toolUses = [];
86
- for (const block of response.content) {
87
- if (block.type === 'thinking')
88
- emit({ kind: 'thinking', text: block.thinking });
89
- else if (block.type === 'text')
90
- emit({ kind: 'text', text: block.text });
91
- else if (block.type === 'tool_use') {
92
- const tu = block;
93
- toolUses.push(tu);
94
- emit({ kind: 'tool_call', id: tu.id, name: tu.name, input: tu.input });
95
- }
96
- }
97
- messages.push({ role: 'assistant', content: response.content });
98
- if (response.stop_reason !== 'tool_use' || toolUses.length === 0) {
99
- emit({ kind: 'done', stopReason: response.stop_reason ?? undefined });
100
- return;
101
- }
102
- const results = [];
103
- for (const tu of toolUses) {
104
- const tool = tools.find((t) => t.name === tu.name);
105
- let output;
106
- let isError = false;
107
- if (!tool) {
108
- output = { error: `Unknown tool: ${tu.name}` };
109
- isError = true;
110
- }
111
- else {
112
- try {
113
- output = await tool.run(tu.input);
114
- }
115
- catch (err) {
116
- output = { error: err instanceof Error ? err.message : String(err) };
117
- isError = true;
118
- }
119
- }
120
- emit({ kind: 'tool_result', id: tu.id, output, isError });
121
- if (tu.name === 'suggest_block')
122
- emitProposal(tu.input, output, emit);
123
- results.push({ type: 'tool_result', tool_use_id: tu.id, content: JSON.stringify(output), is_error: isError });
124
- }
125
- messages.push({ role: 'user', content: results });
126
- }
127
- emit({ kind: 'error', message: `Tool loop exceeded ${MAX_TOOL_ITERATIONS} iterations.` });
128
- }
129
- function emitProposal(input, output, emit) {
130
- if (!input || typeof input !== 'object')
131
- return;
132
- const p = input;
133
- if (!p.name || !p.sql)
134
- return;
135
- const proposal = {
136
- name: String(p.name),
137
- domain: String(p.domain ?? ''),
138
- owner: String(p.owner ?? ''),
139
- description: String(p.description ?? ''),
140
- sql: String(p.sql),
141
- tags: Array.isArray(p.tags) ? p.tags.map(String) : undefined,
142
- chartType: typeof p.chartType === 'string' ? p.chartType : undefined,
143
- };
144
- const out = (output ?? {});
145
- emit({
146
- kind: 'proposal',
147
- proposal,
148
- governance: {
149
- certified: Boolean(out.certified),
150
- errors: Array.isArray(out.errors) ? out.errors.map(String) : [],
151
- warnings: Array.isArray(out.warnings) ? out.warnings.map(String) : [],
152
- },
153
- });
154
- }
155
- export const claudeAgentSdkRunner = {
156
- async run(req, emit, signal) {
157
- const client = await loadAnthropic();
158
- if ('error' in client) {
159
- emit({ kind: 'error', message: client.error });
160
- return;
161
- }
162
- const ctx = new DQLContext({ projectRoot: findProjectRoot(req.projectRoot) });
163
- const tools = buildAgentTools(ctx);
164
- const system = systemPrompt(ctx, req.upstream?.sql);
165
- const messages = req.messages.map((m) => ({ role: m.role, content: m.content }));
166
- try {
167
- await runToolLoop(client, tools, system, messages, emit, signal);
168
- }
169
- catch (err) {
170
- emit({ kind: 'error', message: err instanceof Error ? err.message : String(err) });
171
- }
172
- },
173
- };
174
- //# sourceMappingURL=claude-agent-sdk.js.map
@@ -1 +0,0 @@
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 +0,0 @@
1
- import type { AgentRunner } from '../types.js';
2
- /**
3
- * `claude-code` provider: spawns the `claude` CLI in headless print mode and
4
- * connects it to DQL's stdio MCP server via `--mcp-config`. Requires the user
5
- * to have `claude` on PATH — no API key needed (Claude Code uses its own auth).
6
- */
7
- export declare const claudeCodeRunner: AgentRunner;
8
- //# sourceMappingURL=claude-code.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,WAAW,EAA4B,MAAM,aAAa,CAAC;AAE1F;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,WA8E9B,CAAC"}
@@ -1,171 +0,0 @@
1
- import { spawn } from 'node:child_process';
2
- import { mkdtempSync, writeFileSync, rmSync } from 'node:fs';
3
- import { tmpdir } from 'node:os';
4
- import { join } from 'node:path';
5
- /**
6
- * `claude-code` provider: spawns the `claude` CLI in headless print mode and
7
- * connects it to DQL's stdio MCP server via `--mcp-config`. Requires the user
8
- * to have `claude` on PATH — no API key needed (Claude Code uses its own auth).
9
- */
10
- export const claudeCodeRunner = {
11
- async run(req, emit, signal) {
12
- const tempDir = mkdtempSync(join(tmpdir(), 'dql-claude-'));
13
- const mcpConfigPath = join(tempDir, 'mcp.json');
14
- writeFileSync(mcpConfigPath, JSON.stringify({
15
- mcpServers: {
16
- dql: { command: 'dql', args: ['mcp'], cwd: req.projectRoot },
17
- },
18
- }));
19
- const prompt = buildPrompt(req);
20
- const child = spawn('claude', [
21
- '-p',
22
- prompt,
23
- '--mcp-config',
24
- mcpConfigPath,
25
- '--output-format',
26
- 'stream-json',
27
- '--verbose',
28
- '--allowedTools',
29
- 'mcp__dql__search_blocks mcp__dql__get_block mcp__dql__list_metrics mcp__dql__list_dimensions mcp__dql__lineage_impact mcp__dql__certify mcp__dql__suggest_block',
30
- ], { cwd: req.projectRoot, stdio: ['ignore', 'pipe', 'pipe'] });
31
- const cleanup = () => {
32
- try {
33
- rmSync(tempDir, { recursive: true, force: true });
34
- }
35
- catch { /* noop */ }
36
- };
37
- signal.addEventListener('abort', () => child.kill('SIGTERM'));
38
- const stderr = [];
39
- child.stderr.on('data', (chunk) => stderr.push(chunk.toString()));
40
- const toolNameById = new Map();
41
- let buffer = '';
42
- child.stdout.on('data', (chunk) => {
43
- buffer += chunk.toString();
44
- let newlineIdx;
45
- while ((newlineIdx = buffer.indexOf('\n')) !== -1) {
46
- const line = buffer.slice(0, newlineIdx).trim();
47
- buffer = buffer.slice(newlineIdx + 1);
48
- if (!line)
49
- continue;
50
- try {
51
- const event = JSON.parse(line);
52
- mapClaudeCodeEvent(event, emit, toolNameById);
53
- }
54
- catch {
55
- /* skip non-JSON lines */
56
- }
57
- }
58
- });
59
- return new Promise((resolve) => {
60
- child.on('error', (err) => {
61
- emit({
62
- kind: 'error',
63
- message: `Failed to spawn 'claude': ${err.message}. Install Claude Code (https://claude.com/claude-code) or switch to the Claude Agent SDK provider.`,
64
- });
65
- cleanup();
66
- resolve();
67
- });
68
- child.on('close', (code) => {
69
- if (code !== 0) {
70
- const detail = stderr.join('').trim();
71
- emit({ kind: 'error', message: `claude exited with code ${code}${detail ? `: ${detail}` : ''}` });
72
- }
73
- emit({ kind: 'done' });
74
- cleanup();
75
- resolve();
76
- });
77
- });
78
- },
79
- };
80
- function buildPrompt(req) {
81
- const history = req.messages.map((m) => `${m.role === 'user' ? 'User' : 'Assistant'}: ${m.content}`).join('\n\n');
82
- const upstream = req.upstream?.sql
83
- ? `\n\nThe user is authoring a notebook cell with this upstream SQL:\n\`\`\`sql\n${req.upstream.sql}\n\`\`\`\n`
84
- : '';
85
- return [
86
- 'You are the DQL authoring agent. Ground every answer in existing DQL blocks, metrics, and dimensions. Use the mcp__dql__* tools to search, inspect, and ultimately propose a new block.',
87
- '',
88
- '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
- upstream,
90
- '',
91
- history,
92
- ].join('\n');
93
- }
94
- function mapClaudeCodeEvent(event, emit, toolNameById) {
95
- const type = event.type;
96
- if (type === 'assistant') {
97
- const message = event.message;
98
- for (const block of message?.content ?? []) {
99
- const b = block;
100
- if (b.type === 'text' && b.text)
101
- emit({ kind: 'text', text: b.text });
102
- else if (b.type === 'thinking' && b.thinking)
103
- emit({ kind: 'thinking', text: b.thinking });
104
- else if (b.type === 'tool_use' && b.id && b.name) {
105
- const short = stripMcpPrefix(b.name);
106
- toolNameById.set(b.id, short);
107
- emit({ kind: 'tool_call', id: b.id, name: short, input: b.input ?? {} });
108
- }
109
- }
110
- return;
111
- }
112
- if (type === 'user') {
113
- const message = event.message;
114
- for (const block of message?.content ?? []) {
115
- const b = block;
116
- if (b.type === 'tool_result' && b.tool_use_id) {
117
- const output = parseToolOutput(b.content);
118
- emit({ kind: 'tool_result', id: b.tool_use_id, output, isError: Boolean(b.is_error) });
119
- if (toolNameById.get(b.tool_use_id) === 'suggest_block')
120
- emitProposalFromResult(output, emit);
121
- }
122
- }
123
- }
124
- }
125
- function stripMcpPrefix(name) {
126
- return name.replace(/^mcp__dql__/, '');
127
- }
128
- function parseToolOutput(content) {
129
- if (typeof content === 'string') {
130
- try {
131
- return JSON.parse(content);
132
- }
133
- catch {
134
- return content;
135
- }
136
- }
137
- if (Array.isArray(content)) {
138
- const text = content.map((c) => c.text ?? '').join('');
139
- try {
140
- return JSON.parse(text);
141
- }
142
- catch {
143
- return text;
144
- }
145
- }
146
- return content;
147
- }
148
- function emitProposalFromResult(output, emit) {
149
- if (!output || typeof output !== 'object')
150
- return;
151
- const o = output;
152
- if (!o.name || !o.path)
153
- return;
154
- const proposal = {
155
- name: String(o.name),
156
- domain: '',
157
- owner: '',
158
- description: '',
159
- sql: '',
160
- };
161
- emit({
162
- kind: 'proposal',
163
- proposal,
164
- governance: {
165
- certified: Boolean(o.certified),
166
- errors: Array.isArray(o.errors) ? o.errors.map(String) : [],
167
- warnings: Array.isArray(o.warnings) ? o.warnings.map(String) : [],
168
- },
169
- });
170
- }
171
- //# sourceMappingURL=claude-code.js.map
@@ -1 +0,0 @@
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;AAGjC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,KAAK,CAAC,GAAG,CAAC,GAAoB,EAAE,IAAI,EAAE,MAAM;QAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAChD,aAAa,CACX,aAAa,EACb,IAAI,CAAC,SAAS,CAAC;YACb,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE;aAC7D;SACF,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CACjB,QAAQ,EACR;YACE,IAAI;YACJ,MAAM;YACN,cAAc;YACd,aAAa;YACb,iBAAiB;YACjB,aAAa;YACb,WAAW;YACX,gBAAgB;YAChB,iKAAiK;SAClK,EACD,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAC5D,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC;gBAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QACjF,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE1E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,UAAkB,CAAC;YACvB,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;oBAC1D,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBAChD,CAAC;gBAAC,MAAM,CAAC;oBACP,yBAAyB;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,IAAI,CAAC;oBACH,IAAI,EAAE,OAAO;oBACb,OAAO,EACL,6BAA6B,GAAG,CAAC,OAAO,oGAAoG;iBAC/I,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACtC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,2BAA2B,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpG,CAAC;gBACD,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACvB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,SAAS,WAAW,CAAC,GAAoB;IACvC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClH,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG;QAChC,CAAC,CAAC,iFAAiF,GAAG,CAAC,QAAQ,CAAC,GAAG,YAAY;QAC/G,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,yLAAyL;QACzL,EAAE;QACF,yKAAyK;QACzK,QAAQ;QACR,EAAE;QACF,OAAO;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CACzB,KAA8B,EAC9B,IAA+B,EAC/B,YAAiC;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAA8C,CAAC;QACrE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,KAAyG,CAAC;YACpH,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI;gBAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBACjE,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ;gBAAE,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACtF,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,KAAK,CAAC,OAA8C,CAAC;QACrE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,KAAuF,CAAC;YAClG,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACvF,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,eAAe;oBAAE,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,OAAO,CAAC;QAAC,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IACzD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAe,EAAE,IAA+B;IAC9E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO;IAClD,MAAM,CAAC,GAAG,MAAuG,CAAC;IAClH,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO;IAC/B,MAAM,QAAQ,GAAkB;QAC9B,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACpB,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,EAAE;KACR,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,UAAU;QAChB,QAAQ;QACR,UAAU,EAAE;YACV,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3D,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;SAClE;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,9 +0,0 @@
1
- import { DQLContext } from '@duckcodeailabs/dql-mcp';
2
- export interface AgentTool {
3
- name: string;
4
- description: string;
5
- inputSchema: Record<string, unknown>;
6
- run(args: unknown): Promise<unknown>;
7
- }
8
- export declare function buildAgentTools(ctx: DQLContext): AgentTool[];
9
- //# sourceMappingURL=tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/llm/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAQX,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC;AAuED,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,EAAE,CA+C5D"}
package/dist/llm/tools.js DELETED
@@ -1,112 +0,0 @@
1
- import { searchBlocks, getBlock, listMetrics, listDimensions, lineageImpact, certify, suggestBlock, } from '@duckcodeailabs/dql-mcp';
2
- const SEARCH_BLOCKS_SCHEMA = {
3
- type: 'object',
4
- additionalProperties: false,
5
- properties: {
6
- query: { type: 'string', description: 'Substring matched against name, description, or tags.' },
7
- domain: { type: 'string', description: 'Filter to a single business domain.' },
8
- status: {
9
- type: 'string',
10
- enum: ['draft', 'review', 'certified', 'deprecated', 'pending_recertification'],
11
- description: 'Filter by certification status.',
12
- },
13
- limit: { type: 'number', description: 'Max results (default 50).' },
14
- },
15
- };
16
- const GET_BLOCK_SCHEMA = {
17
- type: 'object',
18
- additionalProperties: false,
19
- required: ['name'],
20
- properties: {
21
- name: { type: 'string', description: 'Block name (as shown in search_blocks).' },
22
- includeSource: { type: 'boolean', description: 'Include full .dql source text. Default true.' },
23
- },
24
- };
25
- const DOMAIN_FILTER_SCHEMA = {
26
- type: 'object',
27
- additionalProperties: false,
28
- properties: {
29
- domain: { type: 'string', description: 'Filter to a single domain.' },
30
- },
31
- };
32
- const LINEAGE_IMPACT_SCHEMA = {
33
- type: 'object',
34
- additionalProperties: false,
35
- required: ['focus'],
36
- properties: {
37
- focus: { type: 'string', description: 'Node id ("block:revenue") or bare name.' },
38
- upstreamDepth: { type: 'number' },
39
- downstreamDepth: { type: 'number' },
40
- paths: { type: 'boolean', description: 'Include full source→leaf paths (slower on large graphs).' },
41
- },
42
- };
43
- const CERTIFY_SCHEMA = {
44
- type: 'object',
45
- additionalProperties: false,
46
- required: ['name'],
47
- properties: {
48
- name: { type: 'string', description: 'Block name to certify.' },
49
- },
50
- };
51
- const SUGGEST_BLOCK_SCHEMA = {
52
- type: 'object',
53
- additionalProperties: false,
54
- required: ['name', 'domain', 'owner', 'description', 'sql'],
55
- properties: {
56
- name: { type: 'string', description: 'Proposed block name (kebab_case).' },
57
- domain: { type: 'string', description: 'Business domain (finance, product, …).' },
58
- owner: { type: 'string', description: 'Block owner identity (email or team handle).' },
59
- description: { type: 'string', description: 'One-line description.' },
60
- sql: { type: 'string', description: 'The block body SQL.' },
61
- tags: { type: 'array', items: { type: 'string' } },
62
- chartType: { type: 'string', description: 'Optional visualization type.' },
63
- },
64
- };
65
- export function buildAgentTools(ctx) {
66
- return [
67
- {
68
- name: 'search_blocks',
69
- description: 'Find certified DQL blocks by keyword, domain, or status.',
70
- inputSchema: SEARCH_BLOCKS_SCHEMA,
71
- run: async (args) => searchBlocks(ctx, args),
72
- },
73
- {
74
- name: 'get_block',
75
- description: 'Return full metadata, dependencies, and SQL for a block.',
76
- inputSchema: GET_BLOCK_SCHEMA,
77
- run: async (args) => getBlock(ctx, args),
78
- },
79
- {
80
- name: 'list_metrics',
81
- description: 'List semantic-layer metrics, optionally filtered by domain.',
82
- inputSchema: DOMAIN_FILTER_SCHEMA,
83
- run: async (args) => listMetrics(ctx, args),
84
- },
85
- {
86
- name: 'list_dimensions',
87
- description: 'List semantic-layer dimensions, optionally filtered by domain.',
88
- inputSchema: DOMAIN_FILTER_SCHEMA,
89
- run: async (args) => listDimensions(ctx, args),
90
- },
91
- {
92
- name: 'lineage_impact',
93
- description: 'Return upstream/downstream lineage for a block, metric, or model.',
94
- inputSchema: LINEAGE_IMPACT_SCHEMA,
95
- run: async (args) => lineageImpact(ctx, args),
96
- },
97
- {
98
- name: 'certify',
99
- description: 'Run governance rules against a block and report pass/fail.',
100
- inputSchema: CERTIFY_SCHEMA,
101
- run: async (args) => certify(ctx, args),
102
- },
103
- {
104
- name: 'suggest_block',
105
- description: 'Write a proposed block to blocks/_drafts/ and return governance results. ' +
106
- 'Use this at the end of a conversation to hand the user a reviewable draft.',
107
- inputSchema: SUGGEST_BLOCK_SCHEMA,
108
- run: async (args) => suggestBlock(ctx, args),
109
- },
110
- ];
111
- }
112
- //# sourceMappingURL=tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/llm/tools.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- export type ProviderId = 'claude-agent-sdk' | 'claude-code';
2
- export interface ChatTurn {
3
- role: 'user' | 'assistant';
4
- content: string;
5
- }
6
- export interface BlockProposal {
7
- name: string;
8
- domain: string;
9
- owner: string;
10
- description: string;
11
- sql: string;
12
- tags?: string[];
13
- chartType?: string;
14
- }
15
- /**
16
- * Normalized event a provider streams back for each step of an agent run.
17
- * The UI renders these in order; the final `proposal` (if any) routes through
18
- * the governance gate before `/api/blocks/save-from-cell`.
19
- */
20
- export type AgentTurn = {
21
- kind: 'thinking';
22
- text: string;
23
- } | {
24
- kind: 'text';
25
- text: string;
26
- } | {
27
- kind: 'tool_call';
28
- id: string;
29
- name: string;
30
- input: unknown;
31
- } | {
32
- kind: 'tool_result';
33
- id: string;
34
- output: unknown;
35
- isError?: boolean;
36
- } | {
37
- kind: 'proposal';
38
- proposal: BlockProposal;
39
- governance: {
40
- certified: boolean;
41
- errors: string[];
42
- warnings: string[];
43
- };
44
- } | {
45
- kind: 'error';
46
- message: string;
47
- } | {
48
- kind: 'done';
49
- stopReason?: string;
50
- };
51
- export interface AgentRunRequest {
52
- provider: ProviderId;
53
- messages: ChatTurn[];
54
- upstream?: {
55
- cellId?: string;
56
- sql?: string;
57
- preview?: unknown;
58
- };
59
- projectRoot: string;
60
- }
61
- export interface AgentRunner {
62
- run(req: AgentRunRequest, emit: (turn: AgentTurn) => void, signal: AbortSignal): Promise<void>;
63
- }
64
- /**
65
- * Public-facing name for the adapter contract a provider must implement.
66
- * `AgentRunner` is the internal call site; `LLMProvider` is what community
67
- * authors target when they add a new `providers/<name>.ts`. Keep in sync.
68
- */
69
- export type LLMProvider = AgentRunner;
70
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,kBAAkB,GAAG,aAAa,CAAC;AAE5D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,GACvH;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChG;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC"}
package/dist/llm/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":""}