@duckcodeailabs/dql-cli 1.4.1 → 1.4.4

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 (281) hide show
  1. package/apps-api.d.ts +77 -0
  2. package/apps-api.d.ts.map +1 -0
  3. package/apps-api.js +612 -0
  4. package/apps-api.js.map +1 -0
  5. package/apps-api.test.d.ts +2 -0
  6. package/apps-api.test.d.ts.map +1 -0
  7. package/apps-api.test.js +111 -0
  8. package/apps-api.test.js.map +1 -0
  9. package/{dist/assets/dql-notebook/assets/index-BJ7MV8Gv.js → assets/dql-notebook/assets/index-DUTeFz5j.js} +145 -134
  10. package/{dist/assets → assets}/dql-notebook/index.html +1 -1
  11. package/{dist/commands → commands}/agent.d.ts.map +1 -1
  12. package/{dist/commands → commands}/agent.js +50 -2
  13. package/commands/agent.js.map +1 -0
  14. package/governance-runtime.d.ts +15 -0
  15. package/governance-runtime.d.ts.map +1 -0
  16. package/governance-runtime.js +50 -0
  17. package/governance-runtime.js.map +1 -0
  18. package/{dist/llm → llm}/index.d.ts.map +1 -1
  19. package/llm/index.js +19 -0
  20. package/llm/index.js.map +1 -0
  21. package/llm/providers/dql-agent-provider.d.ts +5 -0
  22. package/llm/providers/dql-agent-provider.d.ts.map +1 -0
  23. package/llm/providers/dql-agent-provider.js +99 -0
  24. package/llm/providers/dql-agent-provider.js.map +1 -0
  25. package/{dist/llm → llm}/types.d.ts +1 -1
  26. package/llm/types.d.ts.map +1 -0
  27. package/local-runtime.d.ts.map +1 -0
  28. package/{dist/local-runtime.js → local-runtime.js} +557 -36
  29. package/local-runtime.js.map +1 -0
  30. package/metricflow.d.ts +35 -0
  31. package/metricflow.d.ts.map +1 -0
  32. package/metricflow.js +122 -0
  33. package/metricflow.js.map +1 -0
  34. package/metricflow.test.d.ts +2 -0
  35. package/metricflow.test.d.ts.map +1 -0
  36. package/metricflow.test.js +54 -0
  37. package/metricflow.test.js.map +1 -0
  38. package/package.json +20 -30
  39. package/{dist/schedule → schedule}/runner.d.ts +3 -0
  40. package/schedule/runner.d.ts.map +1 -0
  41. package/schedule/runner.js +221 -0
  42. package/schedule/runner.js.map +1 -0
  43. package/{dist/schedule → schedule}/service.d.ts +2 -1
  44. package/schedule/service.d.ts.map +1 -0
  45. package/{dist/schedule → schedule}/service.js +39 -1
  46. package/schedule/service.js.map +1 -0
  47. package/{dist/schedule → schedule}/types.d.ts +6 -0
  48. package/schedule/types.d.ts.map +1 -0
  49. package/{dist/semantic-import.d.ts → semantic-import.d.ts} +9 -1
  50. package/semantic-import.d.ts.map +1 -0
  51. package/{dist/semantic-import.js → semantic-import.js} +269 -3
  52. package/semantic-import.js.map +1 -0
  53. package/LICENSE +0 -123
  54. package/README.md +0 -71
  55. package/dist/apps-api.d.ts +0 -16
  56. package/dist/apps-api.d.ts.map +0 -1
  57. package/dist/apps-api.js +0 -249
  58. package/dist/apps-api.js.map +0 -1
  59. package/dist/commands/agent.js.map +0 -1
  60. package/dist/llm/index.js +0 -16
  61. package/dist/llm/index.js.map +0 -1
  62. package/dist/llm/types.d.ts.map +0 -1
  63. package/dist/local-runtime.d.ts.map +0 -1
  64. package/dist/local-runtime.js.map +0 -1
  65. package/dist/schedule/runner.d.ts.map +0 -1
  66. package/dist/schedule/runner.js +0 -109
  67. package/dist/schedule/runner.js.map +0 -1
  68. package/dist/schedule/service.d.ts.map +0 -1
  69. package/dist/schedule/service.js.map +0 -1
  70. package/dist/schedule/types.d.ts.map +0 -1
  71. package/dist/semantic-import.d.ts.map +0 -1
  72. package/dist/semantic-import.js.map +0 -1
  73. /package/{dist/args.d.ts → args.d.ts} +0 -0
  74. /package/{dist/args.d.ts.map → args.d.ts.map} +0 -0
  75. /package/{dist/args.js → args.js} +0 -0
  76. /package/{dist/args.js.map → args.js.map} +0 -0
  77. /package/{dist/args.test.d.ts → args.test.d.ts} +0 -0
  78. /package/{dist/args.test.d.ts.map → args.test.d.ts.map} +0 -0
  79. /package/{dist/args.test.js → args.test.js} +0 -0
  80. /package/{dist/args.test.js.map → args.test.js.map} +0 -0
  81. /package/{dist/assets → assets}/dql-notebook/assets/codemirror-DJYUkPr1.js +0 -0
  82. /package/{dist/assets → assets}/dql-notebook/assets/index-DrhoZmtv.css +0 -0
  83. /package/{dist/assets → assets}/dql-notebook/assets/react-CRB3T2We.js +0 -0
  84. /package/{dist/assets → assets}/notebook-browser/app.js +0 -0
  85. /package/{dist/assets → assets}/notebook-browser/index.html +0 -0
  86. /package/{dist/assets → assets}/notebook-browser/styles.css +0 -0
  87. /package/{dist/block-templates.d.ts → block-templates.d.ts} +0 -0
  88. /package/{dist/block-templates.d.ts.map → block-templates.d.ts.map} +0 -0
  89. /package/{dist/block-templates.js → block-templates.js} +0 -0
  90. /package/{dist/block-templates.js.map → block-templates.js.map} +0 -0
  91. /package/{dist/commands → commands}/agent.d.ts +0 -0
  92. /package/{dist/commands → commands}/app.d.ts +0 -0
  93. /package/{dist/commands → commands}/app.d.ts.map +0 -0
  94. /package/{dist/commands → commands}/app.js +0 -0
  95. /package/{dist/commands → commands}/app.js.map +0 -0
  96. /package/{dist/commands → commands}/build.d.ts +0 -0
  97. /package/{dist/commands → commands}/build.d.ts.map +0 -0
  98. /package/{dist/commands → commands}/build.js +0 -0
  99. /package/{dist/commands → commands}/build.js.map +0 -0
  100. /package/{dist/commands → commands}/build.test.d.ts +0 -0
  101. /package/{dist/commands → commands}/build.test.d.ts.map +0 -0
  102. /package/{dist/commands → commands}/build.test.js +0 -0
  103. /package/{dist/commands → commands}/build.test.js.map +0 -0
  104. /package/{dist/commands → commands}/certify.d.ts +0 -0
  105. /package/{dist/commands → commands}/certify.d.ts.map +0 -0
  106. /package/{dist/commands → commands}/certify.js +0 -0
  107. /package/{dist/commands → commands}/certify.js.map +0 -0
  108. /package/{dist/commands → commands}/compile.d.ts +0 -0
  109. /package/{dist/commands → commands}/compile.d.ts.map +0 -0
  110. /package/{dist/commands → commands}/compile.js +0 -0
  111. /package/{dist/commands → commands}/compile.js.map +0 -0
  112. /package/{dist/commands → commands}/compile.test.d.ts +0 -0
  113. /package/{dist/commands → commands}/compile.test.d.ts.map +0 -0
  114. /package/{dist/commands → commands}/compile.test.js +0 -0
  115. /package/{dist/commands → commands}/compile.test.js.map +0 -0
  116. /package/{dist/commands → commands}/diff.d.ts +0 -0
  117. /package/{dist/commands → commands}/diff.d.ts.map +0 -0
  118. /package/{dist/commands → commands}/diff.js +0 -0
  119. /package/{dist/commands → commands}/diff.js.map +0 -0
  120. /package/{dist/commands → commands}/doctor.d.ts +0 -0
  121. /package/{dist/commands → commands}/doctor.d.ts.map +0 -0
  122. /package/{dist/commands → commands}/doctor.js +0 -0
  123. /package/{dist/commands → commands}/doctor.js.map +0 -0
  124. /package/{dist/commands → commands}/doctor.test.d.ts +0 -0
  125. /package/{dist/commands → commands}/doctor.test.d.ts.map +0 -0
  126. /package/{dist/commands → commands}/doctor.test.js +0 -0
  127. /package/{dist/commands → commands}/doctor.test.js.map +0 -0
  128. /package/{dist/commands → commands}/fmt.d.ts +0 -0
  129. /package/{dist/commands → commands}/fmt.d.ts.map +0 -0
  130. /package/{dist/commands → commands}/fmt.js +0 -0
  131. /package/{dist/commands → commands}/fmt.js.map +0 -0
  132. /package/{dist/commands → commands}/info.d.ts +0 -0
  133. /package/{dist/commands → commands}/info.d.ts.map +0 -0
  134. /package/{dist/commands → commands}/info.js +0 -0
  135. /package/{dist/commands → commands}/info.js.map +0 -0
  136. /package/{dist/commands → commands}/init.d.ts +0 -0
  137. /package/{dist/commands → commands}/init.d.ts.map +0 -0
  138. /package/{dist/commands → commands}/init.js +0 -0
  139. /package/{dist/commands → commands}/init.js.map +0 -0
  140. /package/{dist/commands → commands}/init.test.d.ts +0 -0
  141. /package/{dist/commands → commands}/init.test.d.ts.map +0 -0
  142. /package/{dist/commands → commands}/init.test.js +0 -0
  143. /package/{dist/commands → commands}/init.test.js.map +0 -0
  144. /package/{dist/commands → commands}/lineage.d.ts +0 -0
  145. /package/{dist/commands → commands}/lineage.d.ts.map +0 -0
  146. /package/{dist/commands → commands}/lineage.js +0 -0
  147. /package/{dist/commands → commands}/lineage.js.map +0 -0
  148. /package/{dist/commands → commands}/mcp.d.ts +0 -0
  149. /package/{dist/commands → commands}/mcp.d.ts.map +0 -0
  150. /package/{dist/commands → commands}/mcp.js +0 -0
  151. /package/{dist/commands → commands}/mcp.js.map +0 -0
  152. /package/{dist/commands → commands}/migrate.d.ts +0 -0
  153. /package/{dist/commands → commands}/migrate.d.ts.map +0 -0
  154. /package/{dist/commands → commands}/migrate.js +0 -0
  155. /package/{dist/commands → commands}/migrate.js.map +0 -0
  156. /package/{dist/commands → commands}/new.d.ts +0 -0
  157. /package/{dist/commands → commands}/new.d.ts.map +0 -0
  158. /package/{dist/commands → commands}/new.js +0 -0
  159. /package/{dist/commands → commands}/new.js.map +0 -0
  160. /package/{dist/commands → commands}/new.test.d.ts +0 -0
  161. /package/{dist/commands → commands}/new.test.d.ts.map +0 -0
  162. /package/{dist/commands → commands}/new.test.js +0 -0
  163. /package/{dist/commands → commands}/new.test.js.map +0 -0
  164. /package/{dist/commands → commands}/notebook.d.ts +0 -0
  165. /package/{dist/commands → commands}/notebook.d.ts.map +0 -0
  166. /package/{dist/commands → commands}/notebook.js +0 -0
  167. /package/{dist/commands → commands}/notebook.js.map +0 -0
  168. /package/{dist/commands → commands}/parse.d.ts +0 -0
  169. /package/{dist/commands → commands}/parse.d.ts.map +0 -0
  170. /package/{dist/commands → commands}/parse.js +0 -0
  171. /package/{dist/commands → commands}/parse.js.map +0 -0
  172. /package/{dist/commands → commands}/preview.d.ts +0 -0
  173. /package/{dist/commands → commands}/preview.d.ts.map +0 -0
  174. /package/{dist/commands → commands}/preview.js +0 -0
  175. /package/{dist/commands → commands}/preview.js.map +0 -0
  176. /package/{dist/commands → commands}/schedule.d.ts +0 -0
  177. /package/{dist/commands → commands}/schedule.d.ts.map +0 -0
  178. /package/{dist/commands → commands}/schedule.js +0 -0
  179. /package/{dist/commands → commands}/schedule.js.map +0 -0
  180. /package/{dist/commands → commands}/semantic.d.ts +0 -0
  181. /package/{dist/commands → commands}/semantic.d.ts.map +0 -0
  182. /package/{dist/commands → commands}/semantic.js +0 -0
  183. /package/{dist/commands → commands}/semantic.js.map +0 -0
  184. /package/{dist/commands → commands}/serve.d.ts +0 -0
  185. /package/{dist/commands → commands}/serve.d.ts.map +0 -0
  186. /package/{dist/commands → commands}/serve.js +0 -0
  187. /package/{dist/commands → commands}/serve.js.map +0 -0
  188. /package/{dist/commands → commands}/slack.d.ts +0 -0
  189. /package/{dist/commands → commands}/slack.d.ts.map +0 -0
  190. /package/{dist/commands → commands}/slack.js +0 -0
  191. /package/{dist/commands → commands}/slack.js.map +0 -0
  192. /package/{dist/commands → commands}/sync.d.ts +0 -0
  193. /package/{dist/commands → commands}/sync.d.ts.map +0 -0
  194. /package/{dist/commands → commands}/sync.js +0 -0
  195. /package/{dist/commands → commands}/sync.js.map +0 -0
  196. /package/{dist/commands → commands}/sync.test.d.ts +0 -0
  197. /package/{dist/commands → commands}/sync.test.d.ts.map +0 -0
  198. /package/{dist/commands → commands}/sync.test.js +0 -0
  199. /package/{dist/commands → commands}/sync.test.js.map +0 -0
  200. /package/{dist/commands → commands}/test.d.ts +0 -0
  201. /package/{dist/commands → commands}/test.d.ts.map +0 -0
  202. /package/{dist/commands → commands}/test.js +0 -0
  203. /package/{dist/commands → commands}/test.js.map +0 -0
  204. /package/{dist/commands → commands}/validate.d.ts +0 -0
  205. /package/{dist/commands → commands}/validate.d.ts.map +0 -0
  206. /package/{dist/commands → commands}/validate.js +0 -0
  207. /package/{dist/commands → commands}/validate.js.map +0 -0
  208. /package/{dist/commands → commands}/verify.d.ts +0 -0
  209. /package/{dist/commands → commands}/verify.d.ts.map +0 -0
  210. /package/{dist/commands → commands}/verify.js +0 -0
  211. /package/{dist/commands → commands}/verify.js.map +0 -0
  212. /package/{dist/digest.d.ts → digest.d.ts} +0 -0
  213. /package/{dist/digest.d.ts.map → digest.d.ts.map} +0 -0
  214. /package/{dist/digest.js → digest.js} +0 -0
  215. /package/{dist/digest.js.map → digest.js.map} +0 -0
  216. /package/{dist/git-service.d.ts → git-service.d.ts} +0 -0
  217. /package/{dist/git-service.d.ts.map → git-service.d.ts.map} +0 -0
  218. /package/{dist/git-service.js → git-service.js} +0 -0
  219. /package/{dist/git-service.js.map → git-service.js.map} +0 -0
  220. /package/{dist/index.d.ts → index.d.ts} +0 -0
  221. /package/{dist/index.d.ts.map → index.d.ts.map} +0 -0
  222. /package/{dist/index.js → index.js} +0 -0
  223. /package/{dist/index.js.map → index.js.map} +0 -0
  224. /package/{dist/llm → llm}/index.d.ts +0 -0
  225. /package/{dist/llm → llm}/providers/claude-agent-sdk.d.ts +0 -0
  226. /package/{dist/llm → llm}/providers/claude-agent-sdk.d.ts.map +0 -0
  227. /package/{dist/llm → llm}/providers/claude-agent-sdk.js +0 -0
  228. /package/{dist/llm → llm}/providers/claude-agent-sdk.js.map +0 -0
  229. /package/{dist/llm → llm}/providers/claude-code.d.ts +0 -0
  230. /package/{dist/llm → llm}/providers/claude-code.d.ts.map +0 -0
  231. /package/{dist/llm → llm}/providers/claude-code.js +0 -0
  232. /package/{dist/llm → llm}/providers/claude-code.js.map +0 -0
  233. /package/{dist/llm → llm}/tools.d.ts +0 -0
  234. /package/{dist/llm → llm}/tools.d.ts.map +0 -0
  235. /package/{dist/llm → llm}/tools.js +0 -0
  236. /package/{dist/llm → llm}/tools.js.map +0 -0
  237. /package/{dist/llm → llm}/types.js +0 -0
  238. /package/{dist/llm → llm}/types.js.map +0 -0
  239. /package/{dist/local-runtime.d.ts → local-runtime.d.ts} +0 -0
  240. /package/{dist/local-runtime.test.d.ts → local-runtime.test.d.ts} +0 -0
  241. /package/{dist/local-runtime.test.d.ts.map → local-runtime.test.d.ts.map} +0 -0
  242. /package/{dist/local-runtime.test.js → local-runtime.test.js} +0 -0
  243. /package/{dist/local-runtime.test.js.map → local-runtime.test.js.map} +0 -0
  244. /package/{dist/open-browser.d.ts → open-browser.d.ts} +0 -0
  245. /package/{dist/open-browser.d.ts.map → open-browser.d.ts.map} +0 -0
  246. /package/{dist/open-browser.js → open-browser.js} +0 -0
  247. /package/{dist/open-browser.js.map → open-browser.js.map} +0 -0
  248. /package/{dist/schedule → schedule}/alerts.d.ts +0 -0
  249. /package/{dist/schedule → schedule}/alerts.d.ts.map +0 -0
  250. /package/{dist/schedule → schedule}/alerts.js +0 -0
  251. /package/{dist/schedule → schedule}/alerts.js.map +0 -0
  252. /package/{dist/schedule → schedule}/discovery.d.ts +0 -0
  253. /package/{dist/schedule → schedule}/discovery.d.ts.map +0 -0
  254. /package/{dist/schedule → schedule}/discovery.js +0 -0
  255. /package/{dist/schedule → schedule}/discovery.js.map +0 -0
  256. /package/{dist/schedule → schedule}/notifiers/email.d.ts +0 -0
  257. /package/{dist/schedule → schedule}/notifiers/email.d.ts.map +0 -0
  258. /package/{dist/schedule → schedule}/notifiers/email.js +0 -0
  259. /package/{dist/schedule → schedule}/notifiers/email.js.map +0 -0
  260. /package/{dist/schedule → schedule}/notifiers/file.d.ts +0 -0
  261. /package/{dist/schedule → schedule}/notifiers/file.d.ts.map +0 -0
  262. /package/{dist/schedule → schedule}/notifiers/file.js +0 -0
  263. /package/{dist/schedule → schedule}/notifiers/file.js.map +0 -0
  264. /package/{dist/schedule → schedule}/notifiers/index.d.ts +0 -0
  265. /package/{dist/schedule → schedule}/notifiers/index.d.ts.map +0 -0
  266. /package/{dist/schedule → schedule}/notifiers/index.js +0 -0
  267. /package/{dist/schedule → schedule}/notifiers/index.js.map +0 -0
  268. /package/{dist/schedule → schedule}/notifiers/slack.d.ts +0 -0
  269. /package/{dist/schedule → schedule}/notifiers/slack.d.ts.map +0 -0
  270. /package/{dist/schedule → schedule}/notifiers/slack.js +0 -0
  271. /package/{dist/schedule → schedule}/notifiers/slack.js.map +0 -0
  272. /package/{dist/schedule → schedule}/runs.d.ts +0 -0
  273. /package/{dist/schedule → schedule}/runs.d.ts.map +0 -0
  274. /package/{dist/schedule → schedule}/runs.js +0 -0
  275. /package/{dist/schedule → schedule}/runs.js.map +0 -0
  276. /package/{dist/schedule → schedule}/types.js +0 -0
  277. /package/{dist/schedule → schedule}/types.js.map +0 -0
  278. /package/{dist/semantic-import.test.d.ts → semantic-import.test.d.ts} +0 -0
  279. /package/{dist/semantic-import.test.d.ts.map → semantic-import.test.d.ts.map} +0 -0
  280. /package/{dist/semantic-import.test.js → semantic-import.test.js} +0 -0
  281. /package/{dist/semantic-import.test.js.map → semantic-import.test.js.map} +0 -0
@@ -7,7 +7,7 @@
7
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
9
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&family=Kalam:wght@400;700&family=Caveat:wght@400;600;700&display=swap" rel="stylesheet" />
10
- <script type="module" crossorigin src="/assets/index-BJ7MV8Gv.js"></script>
10
+ <script type="module" crossorigin src="/assets/index-DUTeFz5j.js"></script>
11
11
  <link rel="modulepreload" crossorigin href="/assets/react-CRB3T2We.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/codemirror-DJYUkPr1.js">
13
13
  <link rel="stylesheet" crossorigin href="/assets/index-DrhoZmtv.css">
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CAgBf"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAcH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -14,8 +14,10 @@
14
14
  * dql agent feedback <up|down> --block <id> --question "..."
15
15
  * Records feedback into the KG. Used by clients without MCP access.
16
16
  */
17
- import { existsSync } from 'node:fs';
17
+ import { existsSync, readFileSync } from 'node:fs';
18
+ import { join } from 'node:path';
18
19
  import { KGStore, defaultKgPath, reindexProject, loadSkills, pickProvider, answer, } from '@duckcodeailabs/dql-agent';
20
+ import { buildManifest } from '@duckcodeailabs/dql-core';
19
21
  import { findProjectRoot } from '../local-runtime.js';
20
22
  export async function runAgent(sub, rest, flags) {
21
23
  switch (sub) {
@@ -49,7 +51,49 @@ async function runAsk(rest, flags) {
49
51
  const kg = new KGStore(kgPath);
50
52
  const { skills } = loadSkills(projectRoot);
51
53
  try {
52
- const result = await answer({ question, provider, kg, skills, userId, domain });
54
+ const manifest = buildManifest({ projectRoot });
55
+ const result = await answer({
56
+ question,
57
+ provider,
58
+ kg,
59
+ skills,
60
+ userId,
61
+ domain,
62
+ executeCertifiedBlock: async (node) => {
63
+ const block = manifest.blocks[node.name] ?? manifest.blocks[node.nodeId.replace(/^block:/, '')];
64
+ if (!block)
65
+ throw new Error(`Matched block ${node.name} is not present in the manifest.`);
66
+ const base = flags.runtimeUrl
67
+ ?? flags.runtime
68
+ ?? process.env.DQL_RUNTIME_URL
69
+ ?? 'http://127.0.0.1:3474';
70
+ const source = readFileSync(join(projectRoot, block.filePath), 'utf-8');
71
+ const response = await fetch(`${base.replace(/\/$/, '')}/api/notebook/execute`, {
72
+ method: 'POST',
73
+ headers: { 'Content-Type': 'application/json' },
74
+ body: JSON.stringify({
75
+ cell: {
76
+ id: `agent-${node.name}`,
77
+ type: 'dql',
78
+ source,
79
+ title: node.name,
80
+ },
81
+ }),
82
+ });
83
+ if (!response.ok)
84
+ throw new Error(`Runtime returned ${response.status}: ${await response.text()}`);
85
+ const payload = (await response.json());
86
+ if (payload.error)
87
+ throw new Error(payload.error);
88
+ const rows = Array.isArray(payload.result?.rows) ? payload.result.rows : [];
89
+ return {
90
+ columns: Array.isArray(payload.result?.columns) ? payload.result.columns : [],
91
+ rows,
92
+ rowCount: typeof payload.result?.rowCount === 'number' ? payload.result.rowCount : rows.length,
93
+ executionTime: payload.result?.executionTime,
94
+ };
95
+ },
96
+ });
53
97
  if (format === 'json') {
54
98
  console.log(JSON.stringify(result, null, 2));
55
99
  return;
@@ -63,6 +107,10 @@ async function runAsk(rest, flags) {
63
107
  ? '\n\nCitations:\n' + result.citations.map((c) => ` - ${c.kind} \`${c.name}\`${c.gitSha ? ` · ${c.gitSha.slice(0, 8)}` : ''}`).join('\n')
64
108
  : '';
65
109
  console.log(`${badge}\n\n${result.text}${cite}`);
110
+ if (result.result) {
111
+ console.log(`\nRows: ${result.result.rowCount}`);
112
+ console.log(JSON.stringify(result.result.rows.slice(0, 5), null, 2));
113
+ }
66
114
  if (result.proposedSql) {
67
115
  console.log(`\n--- Proposed SQL (review before saving as a block) ---\n${result.proposedSql}`);
68
116
  if (result.suggestedViz)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type AppDocument } from '@duckcodeailabs/dql-core';
2
+ import { type AccessLevel, type DataClassification } from '@duckcodeailabs/dql-governance';
3
+ export declare class DQLAccessDeniedError extends Error {
4
+ constructor(message: string);
5
+ }
6
+ export declare function runtimeVariables(base: Record<string, unknown> | undefined): Record<string, unknown>;
7
+ export declare function activePersonaAppId(): string | undefined;
8
+ export declare function loadRuntimeApp(projectRoot: string, appId: string | undefined | null): AppDocument | null;
9
+ export declare function assertAppAccess(opts: {
10
+ app: AppDocument | null;
11
+ domain?: string | null;
12
+ classification?: DataClassification | null;
13
+ level?: AccessLevel;
14
+ }): void;
15
+ //# sourceMappingURL=governance-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance-runtime.d.ts","sourceRoot":"","sources":["../src/governance-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAgB,KAAK,WAAW,EAAqB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAM5H,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnG;AAED,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAEvD;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAOxG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3C,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,GAAG,IAAI,CAcP"}
@@ -0,0 +1,50 @@
1
+ import { loadAppDocument, findAppDocuments, } from '@duckcodeailabs/dql-core';
2
+ import { PolicyEngine } from '@duckcodeailabs/dql-governance';
3
+ import { defaultPersonaRegistry, mergePersonaVariables, } from '@duckcodeailabs/dql-project';
4
+ export class DQLAccessDeniedError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = 'DQLAccessDeniedError';
8
+ }
9
+ }
10
+ export function runtimeVariables(base) {
11
+ return mergePersonaVariables(base ?? {}, defaultPersonaRegistry.active);
12
+ }
13
+ export function activePersonaAppId() {
14
+ return defaultPersonaRegistry.active?.appId;
15
+ }
16
+ export function loadRuntimeApp(projectRoot, appId) {
17
+ if (!appId)
18
+ return null;
19
+ for (const p of findAppDocuments(projectRoot)) {
20
+ const { document } = loadAppDocument(p);
21
+ if (document?.id === appId)
22
+ return document;
23
+ }
24
+ return null;
25
+ }
26
+ export function assertAppAccess(opts) {
27
+ const app = opts.app;
28
+ if (!app)
29
+ return;
30
+ const user = defaultPersonaRegistry.toUserContext();
31
+ const engine = new PolicyEngine(app.policies.map(toAccessPolicy));
32
+ const result = engine.checkAccess(user, opts.domain ?? app.domain, opts.classification ?? 'internal', opts.level ?? 'execute');
33
+ if (!result.allowed) {
34
+ throw new DQLAccessDeniedError(result.reason ?? 'Not authorized');
35
+ }
36
+ }
37
+ function toAccessPolicy(policy) {
38
+ return {
39
+ id: policy.id,
40
+ name: policy.id,
41
+ description: policy.description ?? policy.id,
42
+ domain: policy.domain,
43
+ minClassification: policy.minClassification,
44
+ allowedRoles: policy.allowedRoles,
45
+ allowedUsers: policy.allowedUsers ?? [],
46
+ accessLevel: policy.accessLevel,
47
+ enabled: policy.enabled !== false,
48
+ };
49
+ }
50
+ //# sourceMappingURL=governance-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance-runtime.js","sourceRoot":"","sources":["../src/governance-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,GAEjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAgE,MAAM,gCAAgC,CAAC;AAC5H,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAErC,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAyC;IACxE,OAAO,qBAAqB,CAAC,IAAI,IAAI,EAAE,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,KAAgC;IAClF,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE,EAAE,KAAK,KAAK;YAAE,OAAO,QAAQ,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAK/B;IACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,IAAI,GAAG,sBAAsB,CAAC,aAAa,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,IAAI,EACJ,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EACzB,IAAI,CAAC,cAAc,IAAI,UAAU,EACjC,IAAI,CAAC,KAAK,IAAI,SAAS,CACxB,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAuC;IAC7D,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,EAAE;QACf,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE;QAC5C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;QACvC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,KAAK;KAClC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AAapB,wBAAgB,SAAS,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAElE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AAepB,wBAAgB,SAAS,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAElE"}
package/llm/index.js ADDED
@@ -0,0 +1,19 @@
1
+ import { claudeAgentSdkRunner } from './providers/claude-agent-sdk.js';
2
+ import { claudeCodeRunner } from './providers/claude-code.js';
3
+ import { createDqlAgentProviderRunner } from './providers/dql-agent-provider.js';
4
+ /**
5
+ * Registry of available LLM providers. Claude keeps the tool-use loop; the
6
+ * OpenAI/Gemini/Ollama adapters reuse `@duckcodeailabs/dql-agent` providers
7
+ * and emit the same AgentTurn SSE envelope for notebook Chat.
8
+ */
9
+ const RUNNERS = {
10
+ 'claude-agent-sdk': claudeAgentSdkRunner,
11
+ 'claude-code': claudeCodeRunner,
12
+ openai: createDqlAgentProviderRunner('openai'),
13
+ gemini: createDqlAgentProviderRunner('gemini'),
14
+ ollama: createDqlAgentProviderRunner('ollama'),
15
+ };
16
+ export function getRunner(provider) {
17
+ return RUNNERS[provider] ?? null;
18
+ }
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAajF;;;;GAIG;AACH,MAAM,OAAO,GAAoC;IAC/C,kBAAkB,EAAE,oBAAoB;IACxC,aAAa,EAAE,gBAAgB;IAC/B,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC;IAC9C,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC;IAC9C,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC;CAC/C,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,QAAoB;IAC5C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { AgentRunner, ProviderId } from '../types.js';
2
+ type SimpleProviderId = Extract<ProviderId, 'openai' | 'gemini' | 'ollama'>;
3
+ export declare function createDqlAgentProviderRunner(id: SimpleProviderId): AgentRunner;
4
+ export {};
5
+ //# sourceMappingURL=dql-agent-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dql-agent-provider.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/dql-agent-provider.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAmB,WAAW,EAA4B,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtG,KAAK,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAiF5E,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,gBAAgB,GAAG,WAAW,CAwB9E"}
@@ -0,0 +1,99 @@
1
+ import { DQLContext, findProjectRoot } from '@duckcodeailabs/dql-mcp';
2
+ import { GeminiProvider, OllamaProvider, OpenAIProvider, } from '@duckcodeailabs/dql-agent';
3
+ const SPECS = {
4
+ openai: {
5
+ label: 'OpenAI',
6
+ setup: 'Set OPENAI_API_KEY. Optional: OPENAI_MODEL and OPENAI_BASE_URL.',
7
+ create: () => new OpenAIProvider({ model: process.env.OPENAI_MODEL }),
8
+ },
9
+ gemini: {
10
+ label: 'Gemini',
11
+ setup: 'Set GEMINI_API_KEY. Optional: GEMINI_MODEL.',
12
+ create: () => new GeminiProvider({ model: process.env.GEMINI_MODEL }),
13
+ },
14
+ ollama: {
15
+ label: 'Ollama',
16
+ setup: 'Start Ollama and set OLLAMA_MODEL if needed. Optional: OLLAMA_BASE_URL.',
17
+ create: () => new OllamaProvider({ model: process.env.OLLAMA_MODEL, baseUrl: process.env.OLLAMA_BASE_URL }),
18
+ },
19
+ };
20
+ function systemPrompt(ctx, upstreamSql) {
21
+ const blocks = Object.values(ctx.manifest.blocks);
22
+ const domains = Array.from(new Set(blocks.map((b) => b.domain).filter(Boolean))).sort();
23
+ const blockSummary = Object.entries(ctx.manifest.blocks)
24
+ .slice(0, 40)
25
+ .map(([id, b]) => `- ${id} (${b.domain || 'unknown'}): ${b.description || b.name}`)
26
+ .join('\n');
27
+ const metrics = ctx.semanticLayer.listMetrics().slice(0, 40).map((m) => m.name).join(', ');
28
+ const dimensions = ctx.semanticLayer.listDimensions().slice(0, 40).map((d) => d.name).join(', ');
29
+ return [
30
+ 'You are the DQL notebook AI Chat assistant.',
31
+ 'Answer with concise analytical guidance grounded in existing DQL blocks and the semantic layer.',
32
+ 'When a reusable governed block is appropriate, include a single DQL_BLOCK_PROPOSAL JSON object at the end with name, domain, owner, description, sql, tags, and chartType.',
33
+ 'Do not claim a block is certified unless it exists in the project context.',
34
+ '',
35
+ `Project context: ${blocks.length} blocks. Domains: ${domains.join(', ') || '(none)'}.`,
36
+ blockSummary ? `Available blocks:\n${blockSummary}` : '',
37
+ metrics ? `Semantic metrics: ${metrics}` : '',
38
+ dimensions ? `Semantic dimensions: ${dimensions}` : '',
39
+ upstreamSql ? `Current upstream SQL:\n\`\`\`sql\n${upstreamSql}\n\`\`\`` : '',
40
+ ].filter(Boolean).join('\n');
41
+ }
42
+ function toProviderMessages(req, ctx) {
43
+ return [
44
+ { role: 'system', content: systemPrompt(ctx, req.upstream?.sql) },
45
+ ...req.messages.map((m) => ({ role: m.role, content: m.content })),
46
+ ];
47
+ }
48
+ function emitProposalFromText(text, emit) {
49
+ const match = text.match(/DQL_BLOCK_PROPOSAL\s*[:=]?\s*(\{[\s\S]*\})\s*$/);
50
+ if (!match)
51
+ return;
52
+ try {
53
+ const raw = JSON.parse(match[1]);
54
+ if (!raw.name || !raw.sql)
55
+ return;
56
+ emit({
57
+ kind: 'proposal',
58
+ proposal: {
59
+ name: String(raw.name),
60
+ domain: String(raw.domain ?? ''),
61
+ owner: String(raw.owner ?? ''),
62
+ description: String(raw.description ?? ''),
63
+ sql: String(raw.sql),
64
+ tags: Array.isArray(raw.tags) ? raw.tags.map(String) : undefined,
65
+ chartType: typeof raw.chartType === 'string' ? raw.chartType : undefined,
66
+ },
67
+ governance: { certified: false, errors: [], warnings: ['Generated by a non-tool provider; review before saving.'] },
68
+ });
69
+ }
70
+ catch {
71
+ // Ignore malformed proposal text. The visible assistant response still streams as text.
72
+ }
73
+ }
74
+ export function createDqlAgentProviderRunner(id) {
75
+ return {
76
+ async run(req, emit, signal) {
77
+ const spec = SPECS[id];
78
+ const provider = spec.create();
79
+ const available = await provider.available().catch(() => false);
80
+ if (!available) {
81
+ emit({ kind: 'error', message: `${spec.label} is not configured or reachable. ${spec.setup}` });
82
+ return;
83
+ }
84
+ try {
85
+ emit({ kind: 'thinking', text: `Using ${spec.label} for this turn.` });
86
+ const ctx = new DQLContext({ projectRoot: findProjectRoot(req.projectRoot) });
87
+ const text = await provider.generate(toProviderMessages(req, ctx), { signal, maxTokens: 2048 });
88
+ emit({ kind: 'text', text });
89
+ emitProposalFromText(text, emit);
90
+ emit({ kind: 'done', stopReason: 'stop' });
91
+ }
92
+ catch (err) {
93
+ const message = err instanceof Error ? err.message : String(err);
94
+ emit({ kind: 'error', message: `${spec.label} failed: ${message}. ${spec.setup}` });
95
+ }
96
+ },
97
+ };
98
+ }
99
+ //# sourceMappingURL=dql-agent-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dql-agent-provider.js","sourceRoot":"","sources":["../../../src/llm/providers/dql-agent-provider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type ProviderId = 'claude-agent-sdk' | 'claude-code';
1
+ export type ProviderId = 'claude-agent-sdk' | 'claude-code' | 'openai' | 'gemini' | 'ollama';
2
2
  export interface ChatTurn {
3
3
  role: 'user' | 'assistant';
4
4
  content: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,kBAAkB,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7F,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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-runtime.d.ts","sourceRoot":"","sources":["../src/local-runtime.ts"],"names":[],"mappings":"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"}