@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.
- package/apps-api.d.ts +77 -0
- package/apps-api.d.ts.map +1 -0
- package/apps-api.js +612 -0
- package/apps-api.js.map +1 -0
- package/apps-api.test.d.ts +2 -0
- package/apps-api.test.d.ts.map +1 -0
- package/apps-api.test.js +111 -0
- package/apps-api.test.js.map +1 -0
- package/{dist/assets/dql-notebook/assets/index-BJ7MV8Gv.js → assets/dql-notebook/assets/index-DUTeFz5j.js} +145 -134
- package/{dist/assets → assets}/dql-notebook/index.html +1 -1
- package/{dist/commands → commands}/agent.d.ts.map +1 -1
- package/{dist/commands → commands}/agent.js +50 -2
- package/commands/agent.js.map +1 -0
- package/governance-runtime.d.ts +15 -0
- package/governance-runtime.d.ts.map +1 -0
- package/governance-runtime.js +50 -0
- package/governance-runtime.js.map +1 -0
- package/{dist/llm → llm}/index.d.ts.map +1 -1
- package/llm/index.js +19 -0
- package/llm/index.js.map +1 -0
- package/llm/providers/dql-agent-provider.d.ts +5 -0
- package/llm/providers/dql-agent-provider.d.ts.map +1 -0
- package/llm/providers/dql-agent-provider.js +99 -0
- package/llm/providers/dql-agent-provider.js.map +1 -0
- package/{dist/llm → llm}/types.d.ts +1 -1
- package/llm/types.d.ts.map +1 -0
- package/local-runtime.d.ts.map +1 -0
- package/{dist/local-runtime.js → local-runtime.js} +557 -36
- package/local-runtime.js.map +1 -0
- package/metricflow.d.ts +35 -0
- package/metricflow.d.ts.map +1 -0
- package/metricflow.js +122 -0
- package/metricflow.js.map +1 -0
- package/metricflow.test.d.ts +2 -0
- package/metricflow.test.d.ts.map +1 -0
- package/metricflow.test.js +54 -0
- package/metricflow.test.js.map +1 -0
- package/package.json +20 -30
- package/{dist/schedule → schedule}/runner.d.ts +3 -0
- package/schedule/runner.d.ts.map +1 -0
- package/schedule/runner.js +221 -0
- package/schedule/runner.js.map +1 -0
- package/{dist/schedule → schedule}/service.d.ts +2 -1
- package/schedule/service.d.ts.map +1 -0
- package/{dist/schedule → schedule}/service.js +39 -1
- package/schedule/service.js.map +1 -0
- package/{dist/schedule → schedule}/types.d.ts +6 -0
- package/schedule/types.d.ts.map +1 -0
- package/{dist/semantic-import.d.ts → semantic-import.d.ts} +9 -1
- package/semantic-import.d.ts.map +1 -0
- package/{dist/semantic-import.js → semantic-import.js} +269 -3
- package/semantic-import.js.map +1 -0
- package/LICENSE +0 -123
- package/README.md +0 -71
- package/dist/apps-api.d.ts +0 -16
- package/dist/apps-api.d.ts.map +0 -1
- package/dist/apps-api.js +0 -249
- package/dist/apps-api.js.map +0 -1
- package/dist/commands/agent.js.map +0 -1
- package/dist/llm/index.js +0 -16
- package/dist/llm/index.js.map +0 -1
- package/dist/llm/types.d.ts.map +0 -1
- package/dist/local-runtime.d.ts.map +0 -1
- package/dist/local-runtime.js.map +0 -1
- package/dist/schedule/runner.d.ts.map +0 -1
- package/dist/schedule/runner.js +0 -109
- package/dist/schedule/runner.js.map +0 -1
- package/dist/schedule/service.d.ts.map +0 -1
- package/dist/schedule/service.js.map +0 -1
- package/dist/schedule/types.d.ts.map +0 -1
- package/dist/semantic-import.d.ts.map +0 -1
- package/dist/semantic-import.js.map +0 -1
- /package/{dist/args.d.ts → args.d.ts} +0 -0
- /package/{dist/args.d.ts.map → args.d.ts.map} +0 -0
- /package/{dist/args.js → args.js} +0 -0
- /package/{dist/args.js.map → args.js.map} +0 -0
- /package/{dist/args.test.d.ts → args.test.d.ts} +0 -0
- /package/{dist/args.test.d.ts.map → args.test.d.ts.map} +0 -0
- /package/{dist/args.test.js → args.test.js} +0 -0
- /package/{dist/args.test.js.map → args.test.js.map} +0 -0
- /package/{dist/assets → assets}/dql-notebook/assets/codemirror-DJYUkPr1.js +0 -0
- /package/{dist/assets → assets}/dql-notebook/assets/index-DrhoZmtv.css +0 -0
- /package/{dist/assets → assets}/dql-notebook/assets/react-CRB3T2We.js +0 -0
- /package/{dist/assets → assets}/notebook-browser/app.js +0 -0
- /package/{dist/assets → assets}/notebook-browser/index.html +0 -0
- /package/{dist/assets → assets}/notebook-browser/styles.css +0 -0
- /package/{dist/block-templates.d.ts → block-templates.d.ts} +0 -0
- /package/{dist/block-templates.d.ts.map → block-templates.d.ts.map} +0 -0
- /package/{dist/block-templates.js → block-templates.js} +0 -0
- /package/{dist/block-templates.js.map → block-templates.js.map} +0 -0
- /package/{dist/commands → commands}/agent.d.ts +0 -0
- /package/{dist/commands → commands}/app.d.ts +0 -0
- /package/{dist/commands → commands}/app.d.ts.map +0 -0
- /package/{dist/commands → commands}/app.js +0 -0
- /package/{dist/commands → commands}/app.js.map +0 -0
- /package/{dist/commands → commands}/build.d.ts +0 -0
- /package/{dist/commands → commands}/build.d.ts.map +0 -0
- /package/{dist/commands → commands}/build.js +0 -0
- /package/{dist/commands → commands}/build.js.map +0 -0
- /package/{dist/commands → commands}/build.test.d.ts +0 -0
- /package/{dist/commands → commands}/build.test.d.ts.map +0 -0
- /package/{dist/commands → commands}/build.test.js +0 -0
- /package/{dist/commands → commands}/build.test.js.map +0 -0
- /package/{dist/commands → commands}/certify.d.ts +0 -0
- /package/{dist/commands → commands}/certify.d.ts.map +0 -0
- /package/{dist/commands → commands}/certify.js +0 -0
- /package/{dist/commands → commands}/certify.js.map +0 -0
- /package/{dist/commands → commands}/compile.d.ts +0 -0
- /package/{dist/commands → commands}/compile.d.ts.map +0 -0
- /package/{dist/commands → commands}/compile.js +0 -0
- /package/{dist/commands → commands}/compile.js.map +0 -0
- /package/{dist/commands → commands}/compile.test.d.ts +0 -0
- /package/{dist/commands → commands}/compile.test.d.ts.map +0 -0
- /package/{dist/commands → commands}/compile.test.js +0 -0
- /package/{dist/commands → commands}/compile.test.js.map +0 -0
- /package/{dist/commands → commands}/diff.d.ts +0 -0
- /package/{dist/commands → commands}/diff.d.ts.map +0 -0
- /package/{dist/commands → commands}/diff.js +0 -0
- /package/{dist/commands → commands}/diff.js.map +0 -0
- /package/{dist/commands → commands}/doctor.d.ts +0 -0
- /package/{dist/commands → commands}/doctor.d.ts.map +0 -0
- /package/{dist/commands → commands}/doctor.js +0 -0
- /package/{dist/commands → commands}/doctor.js.map +0 -0
- /package/{dist/commands → commands}/doctor.test.d.ts +0 -0
- /package/{dist/commands → commands}/doctor.test.d.ts.map +0 -0
- /package/{dist/commands → commands}/doctor.test.js +0 -0
- /package/{dist/commands → commands}/doctor.test.js.map +0 -0
- /package/{dist/commands → commands}/fmt.d.ts +0 -0
- /package/{dist/commands → commands}/fmt.d.ts.map +0 -0
- /package/{dist/commands → commands}/fmt.js +0 -0
- /package/{dist/commands → commands}/fmt.js.map +0 -0
- /package/{dist/commands → commands}/info.d.ts +0 -0
- /package/{dist/commands → commands}/info.d.ts.map +0 -0
- /package/{dist/commands → commands}/info.js +0 -0
- /package/{dist/commands → commands}/info.js.map +0 -0
- /package/{dist/commands → commands}/init.d.ts +0 -0
- /package/{dist/commands → commands}/init.d.ts.map +0 -0
- /package/{dist/commands → commands}/init.js +0 -0
- /package/{dist/commands → commands}/init.js.map +0 -0
- /package/{dist/commands → commands}/init.test.d.ts +0 -0
- /package/{dist/commands → commands}/init.test.d.ts.map +0 -0
- /package/{dist/commands → commands}/init.test.js +0 -0
- /package/{dist/commands → commands}/init.test.js.map +0 -0
- /package/{dist/commands → commands}/lineage.d.ts +0 -0
- /package/{dist/commands → commands}/lineage.d.ts.map +0 -0
- /package/{dist/commands → commands}/lineage.js +0 -0
- /package/{dist/commands → commands}/lineage.js.map +0 -0
- /package/{dist/commands → commands}/mcp.d.ts +0 -0
- /package/{dist/commands → commands}/mcp.d.ts.map +0 -0
- /package/{dist/commands → commands}/mcp.js +0 -0
- /package/{dist/commands → commands}/mcp.js.map +0 -0
- /package/{dist/commands → commands}/migrate.d.ts +0 -0
- /package/{dist/commands → commands}/migrate.d.ts.map +0 -0
- /package/{dist/commands → commands}/migrate.js +0 -0
- /package/{dist/commands → commands}/migrate.js.map +0 -0
- /package/{dist/commands → commands}/new.d.ts +0 -0
- /package/{dist/commands → commands}/new.d.ts.map +0 -0
- /package/{dist/commands → commands}/new.js +0 -0
- /package/{dist/commands → commands}/new.js.map +0 -0
- /package/{dist/commands → commands}/new.test.d.ts +0 -0
- /package/{dist/commands → commands}/new.test.d.ts.map +0 -0
- /package/{dist/commands → commands}/new.test.js +0 -0
- /package/{dist/commands → commands}/new.test.js.map +0 -0
- /package/{dist/commands → commands}/notebook.d.ts +0 -0
- /package/{dist/commands → commands}/notebook.d.ts.map +0 -0
- /package/{dist/commands → commands}/notebook.js +0 -0
- /package/{dist/commands → commands}/notebook.js.map +0 -0
- /package/{dist/commands → commands}/parse.d.ts +0 -0
- /package/{dist/commands → commands}/parse.d.ts.map +0 -0
- /package/{dist/commands → commands}/parse.js +0 -0
- /package/{dist/commands → commands}/parse.js.map +0 -0
- /package/{dist/commands → commands}/preview.d.ts +0 -0
- /package/{dist/commands → commands}/preview.d.ts.map +0 -0
- /package/{dist/commands → commands}/preview.js +0 -0
- /package/{dist/commands → commands}/preview.js.map +0 -0
- /package/{dist/commands → commands}/schedule.d.ts +0 -0
- /package/{dist/commands → commands}/schedule.d.ts.map +0 -0
- /package/{dist/commands → commands}/schedule.js +0 -0
- /package/{dist/commands → commands}/schedule.js.map +0 -0
- /package/{dist/commands → commands}/semantic.d.ts +0 -0
- /package/{dist/commands → commands}/semantic.d.ts.map +0 -0
- /package/{dist/commands → commands}/semantic.js +0 -0
- /package/{dist/commands → commands}/semantic.js.map +0 -0
- /package/{dist/commands → commands}/serve.d.ts +0 -0
- /package/{dist/commands → commands}/serve.d.ts.map +0 -0
- /package/{dist/commands → commands}/serve.js +0 -0
- /package/{dist/commands → commands}/serve.js.map +0 -0
- /package/{dist/commands → commands}/slack.d.ts +0 -0
- /package/{dist/commands → commands}/slack.d.ts.map +0 -0
- /package/{dist/commands → commands}/slack.js +0 -0
- /package/{dist/commands → commands}/slack.js.map +0 -0
- /package/{dist/commands → commands}/sync.d.ts +0 -0
- /package/{dist/commands → commands}/sync.d.ts.map +0 -0
- /package/{dist/commands → commands}/sync.js +0 -0
- /package/{dist/commands → commands}/sync.js.map +0 -0
- /package/{dist/commands → commands}/sync.test.d.ts +0 -0
- /package/{dist/commands → commands}/sync.test.d.ts.map +0 -0
- /package/{dist/commands → commands}/sync.test.js +0 -0
- /package/{dist/commands → commands}/sync.test.js.map +0 -0
- /package/{dist/commands → commands}/test.d.ts +0 -0
- /package/{dist/commands → commands}/test.d.ts.map +0 -0
- /package/{dist/commands → commands}/test.js +0 -0
- /package/{dist/commands → commands}/test.js.map +0 -0
- /package/{dist/commands → commands}/validate.d.ts +0 -0
- /package/{dist/commands → commands}/validate.d.ts.map +0 -0
- /package/{dist/commands → commands}/validate.js +0 -0
- /package/{dist/commands → commands}/validate.js.map +0 -0
- /package/{dist/commands → commands}/verify.d.ts +0 -0
- /package/{dist/commands → commands}/verify.d.ts.map +0 -0
- /package/{dist/commands → commands}/verify.js +0 -0
- /package/{dist/commands → commands}/verify.js.map +0 -0
- /package/{dist/digest.d.ts → digest.d.ts} +0 -0
- /package/{dist/digest.d.ts.map → digest.d.ts.map} +0 -0
- /package/{dist/digest.js → digest.js} +0 -0
- /package/{dist/digest.js.map → digest.js.map} +0 -0
- /package/{dist/git-service.d.ts → git-service.d.ts} +0 -0
- /package/{dist/git-service.d.ts.map → git-service.d.ts.map} +0 -0
- /package/{dist/git-service.js → git-service.js} +0 -0
- /package/{dist/git-service.js.map → git-service.js.map} +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/index.d.ts.map → index.d.ts.map} +0 -0
- /package/{dist/index.js → index.js} +0 -0
- /package/{dist/index.js.map → index.js.map} +0 -0
- /package/{dist/llm → llm}/index.d.ts +0 -0
- /package/{dist/llm → llm}/providers/claude-agent-sdk.d.ts +0 -0
- /package/{dist/llm → llm}/providers/claude-agent-sdk.d.ts.map +0 -0
- /package/{dist/llm → llm}/providers/claude-agent-sdk.js +0 -0
- /package/{dist/llm → llm}/providers/claude-agent-sdk.js.map +0 -0
- /package/{dist/llm → llm}/providers/claude-code.d.ts +0 -0
- /package/{dist/llm → llm}/providers/claude-code.d.ts.map +0 -0
- /package/{dist/llm → llm}/providers/claude-code.js +0 -0
- /package/{dist/llm → llm}/providers/claude-code.js.map +0 -0
- /package/{dist/llm → llm}/tools.d.ts +0 -0
- /package/{dist/llm → llm}/tools.d.ts.map +0 -0
- /package/{dist/llm → llm}/tools.js +0 -0
- /package/{dist/llm → llm}/tools.js.map +0 -0
- /package/{dist/llm → llm}/types.js +0 -0
- /package/{dist/llm → llm}/types.js.map +0 -0
- /package/{dist/local-runtime.d.ts → local-runtime.d.ts} +0 -0
- /package/{dist/local-runtime.test.d.ts → local-runtime.test.d.ts} +0 -0
- /package/{dist/local-runtime.test.d.ts.map → local-runtime.test.d.ts.map} +0 -0
- /package/{dist/local-runtime.test.js → local-runtime.test.js} +0 -0
- /package/{dist/local-runtime.test.js.map → local-runtime.test.js.map} +0 -0
- /package/{dist/open-browser.d.ts → open-browser.d.ts} +0 -0
- /package/{dist/open-browser.d.ts.map → open-browser.d.ts.map} +0 -0
- /package/{dist/open-browser.js → open-browser.js} +0 -0
- /package/{dist/open-browser.js.map → open-browser.js.map} +0 -0
- /package/{dist/schedule → schedule}/alerts.d.ts +0 -0
- /package/{dist/schedule → schedule}/alerts.d.ts.map +0 -0
- /package/{dist/schedule → schedule}/alerts.js +0 -0
- /package/{dist/schedule → schedule}/alerts.js.map +0 -0
- /package/{dist/schedule → schedule}/discovery.d.ts +0 -0
- /package/{dist/schedule → schedule}/discovery.d.ts.map +0 -0
- /package/{dist/schedule → schedule}/discovery.js +0 -0
- /package/{dist/schedule → schedule}/discovery.js.map +0 -0
- /package/{dist/schedule → schedule}/notifiers/email.d.ts +0 -0
- /package/{dist/schedule → schedule}/notifiers/email.d.ts.map +0 -0
- /package/{dist/schedule → schedule}/notifiers/email.js +0 -0
- /package/{dist/schedule → schedule}/notifiers/email.js.map +0 -0
- /package/{dist/schedule → schedule}/notifiers/file.d.ts +0 -0
- /package/{dist/schedule → schedule}/notifiers/file.d.ts.map +0 -0
- /package/{dist/schedule → schedule}/notifiers/file.js +0 -0
- /package/{dist/schedule → schedule}/notifiers/file.js.map +0 -0
- /package/{dist/schedule → schedule}/notifiers/index.d.ts +0 -0
- /package/{dist/schedule → schedule}/notifiers/index.d.ts.map +0 -0
- /package/{dist/schedule → schedule}/notifiers/index.js +0 -0
- /package/{dist/schedule → schedule}/notifiers/index.js.map +0 -0
- /package/{dist/schedule → schedule}/notifiers/slack.d.ts +0 -0
- /package/{dist/schedule → schedule}/notifiers/slack.d.ts.map +0 -0
- /package/{dist/schedule → schedule}/notifiers/slack.js +0 -0
- /package/{dist/schedule → schedule}/notifiers/slack.js.map +0 -0
- /package/{dist/schedule → schedule}/runs.d.ts +0 -0
- /package/{dist/schedule → schedule}/runs.d.ts.map +0 -0
- /package/{dist/schedule → schedule}/runs.js +0 -0
- /package/{dist/schedule → schedule}/runs.js.map +0 -0
- /package/{dist/schedule → schedule}/types.js +0 -0
- /package/{dist/schedule → schedule}/types.js.map +0 -0
- /package/{dist/semantic-import.test.d.ts → semantic-import.test.d.ts} +0 -0
- /package/{dist/semantic-import.test.d.ts.map → semantic-import.test.d.ts.map} +0 -0
- /package/{dist/semantic-import.test.js → semantic-import.test.js} +0 -0
- /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-
|
|
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;
|
|
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
|
|
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":"
|
|
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
|
package/llm/index.js.map
ADDED
|
@@ -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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"}
|
|
@@ -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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"}
|