@duckcodeailabs/dql-cli 1.6.34 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apps-api.d.ts +20 -3
- package/dist/apps-api.d.ts.map +1 -1
- package/dist/apps-api.js +156 -85
- package/dist/apps-api.js.map +1 -1
- package/dist/args.d.ts +4 -0
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +7 -0
- package/dist/args.js.map +1 -1
- package/dist/assets/dql-notebook/assets/index-4DbeLWHA.js +5876 -0
- package/dist/assets/dql-notebook/assets/index-dSyhu_eU.css +1 -0
- package/dist/assets/dql-notebook/index.html +2 -2
- package/dist/block-invocation.d.ts +31 -0
- package/dist/block-invocation.d.ts.map +1 -0
- package/dist/block-invocation.js +82 -0
- package/dist/block-invocation.js.map +1 -0
- package/dist/commands/agent.d.ts +1 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +12 -3
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/app.d.ts +1 -2
- package/dist/commands/app.d.ts.map +1 -1
- package/dist/commands/app.js +6 -9
- package/dist/commands/app.js.map +1 -1
- package/dist/commands/compile.js +1 -1
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +44 -86
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/migrate.d.ts +87 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +812 -3
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/model.d.ts +4 -0
- package/dist/commands/model.d.ts.map +1 -0
- package/dist/commands/model.js +219 -0
- package/dist/commands/model.js.map +1 -0
- package/dist/commands/new.d.ts.map +1 -1
- package/dist/commands/new.js +28 -4
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/parse.d.ts.map +1 -1
- package/dist/commands/parse.js +32 -0
- package/dist/commands/parse.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +23 -7
- package/dist/commands/sync.js.map +1 -1
- package/dist/index.js +19 -1
- package/dist/index.js.map +1 -1
- package/dist/llm/answer-loop-tools.d.ts +1 -1
- package/dist/llm/answer-loop-tools.d.ts.map +1 -1
- package/dist/llm/answer-loop-tools.js +210 -10
- package/dist/llm/answer-loop-tools.js.map +1 -1
- package/dist/llm/providers/dql-agent-provider.d.ts.map +1 -1
- package/dist/llm/providers/dql-agent-provider.js +30 -18
- package/dist/llm/providers/dql-agent-provider.js.map +1 -1
- package/dist/llm/tools.d.ts.map +1 -1
- package/dist/llm/tools.js +3 -1
- package/dist/llm/tools.js.map +1 -1
- package/dist/llm/types.d.ts +12 -2
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/local-runtime.d.ts +95 -7
- package/dist/local-runtime.d.ts.map +1 -1
- package/dist/local-runtime.js +3365 -172
- package/dist/local-runtime.js.map +1 -1
- package/dist/metricflow.d.ts +2 -0
- package/dist/metricflow.d.ts.map +1 -1
- package/dist/metricflow.js +10 -0
- package/dist/metricflow.js.map +1 -1
- package/dist/mixed-source-sql.d.ts +53 -0
- package/dist/mixed-source-sql.d.ts.map +1 -0
- package/dist/mixed-source-sql.js +311 -0
- package/dist/mixed-source-sql.js.map +1 -0
- package/dist/notebook-datasets.d.ts +120 -0
- package/dist/notebook-datasets.d.ts.map +1 -0
- package/dist/notebook-datasets.js +484 -0
- package/dist/notebook-datasets.js.map +1 -0
- package/dist/package.json +10 -10
- package/package.json +10 -10
- package/dist/assets/dql-notebook/assets/index-CYQrnwxa.css +0 -1
- package/dist/assets/dql-notebook/assets/index-GofggEGB.js +0 -5777
package/dist/apps-api.d.ts
CHANGED
|
@@ -45,6 +45,11 @@ type AppListEntry = {
|
|
|
45
45
|
name: string;
|
|
46
46
|
filePath: string;
|
|
47
47
|
domain: string;
|
|
48
|
+
ownerDomain?: string;
|
|
49
|
+
usesDomains: string[];
|
|
50
|
+
purpose?: string;
|
|
51
|
+
requiredExports: string[];
|
|
52
|
+
classification?: string;
|
|
48
53
|
subdomain?: string;
|
|
49
54
|
groups: string[];
|
|
50
55
|
description?: string;
|
|
@@ -103,6 +108,10 @@ interface VisualizationRecommendationRequest {
|
|
|
103
108
|
interface AppCreateRequest {
|
|
104
109
|
name?: string;
|
|
105
110
|
domain?: string;
|
|
111
|
+
ownerDomain?: string;
|
|
112
|
+
usesDomains?: string[];
|
|
113
|
+
requiredExports?: string[];
|
|
114
|
+
classification?: string;
|
|
106
115
|
dashboardTitle?: string;
|
|
107
116
|
subdomain?: string;
|
|
108
117
|
groups?: string[];
|
|
@@ -124,6 +133,7 @@ interface AppGenerateRequest {
|
|
|
124
133
|
audience?: string;
|
|
125
134
|
notebookPath?: string;
|
|
126
135
|
existingAppId?: string;
|
|
136
|
+
mode?: 'personal' | 'stakeholder';
|
|
127
137
|
/** Gap-fill budget: how many uncovered questions may get generated SQL (default 3, hard cap 5). */
|
|
128
138
|
maxGeneratedTiles?: number;
|
|
129
139
|
}
|
|
@@ -141,6 +151,8 @@ interface AppAiBuildSession {
|
|
|
141
151
|
validation?: unknown;
|
|
142
152
|
/** The reviewable content list shown to the user before commit. */
|
|
143
153
|
proposal?: AppBuildProposal;
|
|
154
|
+
snapshotId?: string;
|
|
155
|
+
proposalHash?: string;
|
|
144
156
|
/** Tile ids the user confirmed at commit time (audit trail). */
|
|
145
157
|
committedTileIds?: string[];
|
|
146
158
|
warnings: string[];
|
|
@@ -151,6 +163,7 @@ interface AppAiBuildSession {
|
|
|
151
163
|
audience?: string;
|
|
152
164
|
notebookPath?: string;
|
|
153
165
|
existingAppId?: string;
|
|
166
|
+
mode?: 'personal' | 'stakeholder';
|
|
154
167
|
selectedBlockIds: string[];
|
|
155
168
|
};
|
|
156
169
|
error?: string;
|
|
@@ -158,17 +171,19 @@ interface AppAiBuildSession {
|
|
|
158
171
|
/** One confirmable entry in the pre-create proposal list. */
|
|
159
172
|
export interface AppBuildProposalTile {
|
|
160
173
|
id: string;
|
|
161
|
-
source: 'certified_block' | 'ai_generated';
|
|
174
|
+
source: 'certified_block' | 'semantic_query' | 'ai_generated';
|
|
162
175
|
title: string;
|
|
163
176
|
description?: string;
|
|
164
177
|
/** Certified tiles reference an existing block. */
|
|
165
178
|
blockId?: string;
|
|
166
|
-
/**
|
|
179
|
+
/** Governed semantic candidates carry canonical semantic intent, never raw SQL. */
|
|
167
180
|
question?: string;
|
|
181
|
+
semantic?: DashboardGridItem['semantic'];
|
|
182
|
+
/** Legacy proposal fields remain readable; v2 planning never creates them. */
|
|
168
183
|
sql?: string;
|
|
169
184
|
answer?: string;
|
|
170
185
|
viz: string;
|
|
171
|
-
certification: 'certified' | 'ai_generated';
|
|
186
|
+
certification: 'certified' | 'reviewed_semantic' | 'ai_generated';
|
|
172
187
|
/** Bounded preview rows from executing the generated SQL (Phase 2). */
|
|
173
188
|
preview?: {
|
|
174
189
|
columns: string[];
|
|
@@ -192,6 +207,7 @@ export interface AppBuildProposal {
|
|
|
192
207
|
followUps: string[];
|
|
193
208
|
coverage: {
|
|
194
209
|
certifiedTiles: number;
|
|
210
|
+
semanticTiles: number;
|
|
195
211
|
generatedTiles: number;
|
|
196
212
|
gaps: number;
|
|
197
213
|
};
|
|
@@ -339,6 +355,7 @@ export interface CommitAppAiBuildInput {
|
|
|
339
355
|
/** Proposal tile ids to include; omitted = everything selectable. */
|
|
340
356
|
selectedTileIds?: string[];
|
|
341
357
|
force?: boolean;
|
|
358
|
+
expectedProposalHash?: string;
|
|
342
359
|
}
|
|
343
360
|
/**
|
|
344
361
|
* Phase 2 of the two-phase app build: the user confirmed the proposal — filter the
|
package/dist/apps-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps-api.d.ts","sourceRoot":"","sources":["../src/apps-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apps-api.d.ts","sourceRoot":"","sources":["../src/apps-api.ts"],"names":[],"mappings":"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"}
|
package/dist/apps-api.js
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* `/api/persona`. Designed to be invoked from `local-runtime.ts`'s request
|
|
4
4
|
* dispatcher — returns `true` if the request was handled, `false` otherwise.
|
|
5
5
|
*/
|
|
6
|
-
import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from 'node:fs';
|
|
6
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
7
|
+
import { createHash } from 'node:crypto';
|
|
7
8
|
import { join, dirname, relative, basename } from 'node:path';
|
|
8
|
-
import { loadAppDocument, findAppDocuments, loadDashboardDocument, findDashboardsForApp, parseAppDocument, parseDashboardDocument, suggestAppId, } from '@duckcodeailabs/dql-core';
|
|
9
|
+
import { loadAppDocument, findAppDocuments, loadDashboardDocument, findDashboardsForApp, parseAppDocument, parseDashboardDocument, normalizeDqlArtifactReference, suggestAppId, } from '@duckcodeailabs/dql-core';
|
|
9
10
|
import { defaultPersonaRegistry, defaultLocalAppsDbPath, LocalAppStorage, personaFromMember, } from '@duckcodeailabs/dql-project';
|
|
10
11
|
export async function handleAppsApi(ctx) {
|
|
11
12
|
const { req, res, path, projectRoot } = ctx;
|
|
@@ -749,6 +750,11 @@ function collectAppsList(projectRoot) {
|
|
|
749
750
|
name: document.name,
|
|
750
751
|
filePath: relative(projectRoot, appDir),
|
|
751
752
|
domain: document.domain,
|
|
753
|
+
ownerDomain: document.ownerDomain,
|
|
754
|
+
usesDomains: document.usesDomains,
|
|
755
|
+
purpose: document.purpose,
|
|
756
|
+
requiredExports: document.requiredExports,
|
|
757
|
+
classification: document.classification,
|
|
752
758
|
subdomain: document.subdomain,
|
|
753
759
|
groups: document.groups ?? [],
|
|
754
760
|
description: document.description,
|
|
@@ -1020,6 +1026,7 @@ export async function createAppAiBuildSession(projectRoot, input) {
|
|
|
1020
1026
|
audience: cleanString(input.audience) || undefined,
|
|
1021
1027
|
notebookPath: cleanString(input.notebookPath) || undefined,
|
|
1022
1028
|
existingAppId: cleanString(input.existingAppId) || undefined,
|
|
1029
|
+
mode: input.mode === 'personal' ? 'personal' : 'stakeholder',
|
|
1023
1030
|
selectedBlockIds,
|
|
1024
1031
|
},
|
|
1025
1032
|
};
|
|
@@ -1078,22 +1085,43 @@ function buildAppProposal(plan) {
|
|
|
1078
1085
|
const tiles = [];
|
|
1079
1086
|
for (const page of plan.pages) {
|
|
1080
1087
|
for (const tile of page.tiles) {
|
|
1081
|
-
if (tile.kind
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
}
|
|
1088
|
+
if (tile.kind === 'certified_block') {
|
|
1089
|
+
tiles.push({
|
|
1090
|
+
id: tile.id,
|
|
1091
|
+
source: 'certified_block',
|
|
1092
|
+
title: tile.title,
|
|
1093
|
+
description: tile.description,
|
|
1094
|
+
blockId: tile.blockId,
|
|
1095
|
+
viz: tile.viz,
|
|
1096
|
+
certification: 'certified',
|
|
1097
|
+
selectedByDefault: true,
|
|
1098
|
+
});
|
|
1099
|
+
}
|
|
1100
|
+
else if (tile.kind === 'semantic_query' && tile.semantic) {
|
|
1101
|
+
tiles.push({
|
|
1102
|
+
id: tile.id,
|
|
1103
|
+
source: 'semantic_query',
|
|
1104
|
+
title: tile.title,
|
|
1105
|
+
description: tile.description ?? tile.rationale,
|
|
1106
|
+
question: tile.title,
|
|
1107
|
+
semantic: tile.semantic,
|
|
1108
|
+
viz: tile.viz,
|
|
1109
|
+
certification: 'reviewed_semantic',
|
|
1110
|
+
selectedByDefault: true,
|
|
1111
|
+
});
|
|
1112
|
+
}
|
|
1093
1113
|
}
|
|
1094
1114
|
}
|
|
1095
1115
|
const gaps = [];
|
|
1096
1116
|
const seenGap = new Set();
|
|
1117
|
+
for (const item of plan.requirementCoverage.filter((item) => item.status === 'gap')) {
|
|
1118
|
+
const requirement = plan.requirements.find((candidate) => candidate.id === item.requirementId);
|
|
1119
|
+
const question = requirement?.question ?? item.requirementId;
|
|
1120
|
+
if (seenGap.has(question.toLowerCase()))
|
|
1121
|
+
continue;
|
|
1122
|
+
seenGap.add(question.toLowerCase());
|
|
1123
|
+
gaps.push({ id: `gap_${item.requirementId}`, question, reason: item.reasons.join(' ') });
|
|
1124
|
+
}
|
|
1097
1125
|
for (const report of plan.scopedReports) {
|
|
1098
1126
|
const question = cleanString(report.question) || report.title;
|
|
1099
1127
|
if (!question || seenGap.has(question.toLowerCase()))
|
|
@@ -1114,6 +1142,7 @@ function buildAppProposal(plan) {
|
|
|
1114
1142
|
followUps: gaps.map((gap) => gap.question).slice(0, 4),
|
|
1115
1143
|
coverage: {
|
|
1116
1144
|
certifiedTiles: tiles.filter((tile) => tile.certification === 'certified').length,
|
|
1145
|
+
semanticTiles: tiles.filter((tile) => tile.certification === 'reviewed_semantic').length,
|
|
1117
1146
|
generatedTiles: tiles.filter((tile) => tile.certification === 'ai_generated').length,
|
|
1118
1147
|
gaps: gaps.length,
|
|
1119
1148
|
},
|
|
@@ -1226,6 +1255,7 @@ async function fillProposalGaps(proposal, hooks, maxGeneratedTiles) {
|
|
|
1226
1255
|
proposal.followUps = remaining.map((gap) => gap.question).slice(0, 4);
|
|
1227
1256
|
proposal.coverage = {
|
|
1228
1257
|
certifiedTiles: proposal.tiles.filter((tile) => tile.certification === 'certified' && !tile.error).length,
|
|
1258
|
+
semanticTiles: proposal.tiles.filter((tile) => tile.certification === 'reviewed_semantic' && !tile.error).length,
|
|
1229
1259
|
generatedTiles: proposal.tiles.filter((tile) => tile.certification === 'ai_generated' && !tile.error).length,
|
|
1230
1260
|
gaps: remaining.length,
|
|
1231
1261
|
};
|
|
@@ -1254,6 +1284,7 @@ export async function proposeAppAiBuild(projectRoot, input, hooks) {
|
|
|
1254
1284
|
audience: cleanString(input.audience) || undefined,
|
|
1255
1285
|
notebookPath: cleanString(input.notebookPath) || undefined,
|
|
1256
1286
|
existingAppId: cleanString(input.existingAppId) || undefined,
|
|
1287
|
+
mode: input.mode === 'personal' ? 'personal' : 'stakeholder',
|
|
1257
1288
|
selectedBlockIds,
|
|
1258
1289
|
},
|
|
1259
1290
|
};
|
|
@@ -1262,9 +1293,14 @@ export async function proposeAppAiBuild(projectRoot, input, hooks) {
|
|
|
1262
1293
|
writeAppAiBuildSession(projectRoot, session);
|
|
1263
1294
|
return session;
|
|
1264
1295
|
}
|
|
1296
|
+
if (base.inputs.existingAppId) {
|
|
1297
|
+
const session = { ...base, status: 'error', error: 'Updating an existing App is not supported yet. Create a new App so no existing content is silently replaced.' };
|
|
1298
|
+
writeAppAiBuildSession(projectRoot, session);
|
|
1299
|
+
return session;
|
|
1300
|
+
}
|
|
1265
1301
|
const { KGStore, defaultKgPath, planAppFromPrompt, reindexProject, validateAppPlan, } = await import('@duckcodeailabs/dql-agent');
|
|
1266
1302
|
const kgPath = defaultKgPath(projectRoot);
|
|
1267
|
-
await reindexProject(projectRoot, { kgPath });
|
|
1303
|
+
const index = await reindexProject(projectRoot, { kgPath });
|
|
1268
1304
|
const kg = new KGStore(kgPath);
|
|
1269
1305
|
try {
|
|
1270
1306
|
const plan = planAppFromPrompt({
|
|
@@ -1275,12 +1311,14 @@ export async function proposeAppAiBuild(projectRoot, input, hooks) {
|
|
|
1275
1311
|
owner: base.inputs.owner,
|
|
1276
1312
|
preferredBlockIds: selectedBlockIds,
|
|
1277
1313
|
plannerMode: input.plannerMode === 'ai_assisted' ? 'ai_assisted' : 'deterministic',
|
|
1314
|
+
mode: input.mode === 'personal' ? 'personal' : 'stakeholder',
|
|
1315
|
+
snapshotId: index.kgFingerprint,
|
|
1278
1316
|
});
|
|
1279
1317
|
const validation = validateAppPlan(plan, kg);
|
|
1280
1318
|
const proposal = buildAppProposal(plan);
|
|
1281
|
-
//
|
|
1282
|
-
//
|
|
1283
|
-
|
|
1319
|
+
// App Builder v2 never turns generated SQL into a primary dashboard tile.
|
|
1320
|
+
// Uncovered requirements stay visible gaps for Research/Copilot.
|
|
1321
|
+
const proposalHash = createHash('sha256').update(JSON.stringify({ plan, proposal })).digest('hex');
|
|
1284
1322
|
const session = {
|
|
1285
1323
|
...base,
|
|
1286
1324
|
appId: plan.appId,
|
|
@@ -1288,6 +1326,8 @@ export async function proposeAppAiBuild(projectRoot, input, hooks) {
|
|
|
1288
1326
|
plan,
|
|
1289
1327
|
validation,
|
|
1290
1328
|
proposal,
|
|
1329
|
+
snapshotId: index.kgFingerprint,
|
|
1330
|
+
proposalHash,
|
|
1291
1331
|
warnings: appBuildWarnings(validation, plan),
|
|
1292
1332
|
reviewTasks: reviewTasksFromPlan(plan),
|
|
1293
1333
|
};
|
|
@@ -1395,6 +1435,9 @@ export async function commitAppAiBuild(projectRoot, sessionId, input = {}, hooks
|
|
|
1395
1435
|
if (session.status !== 'proposed' || !session.plan || !session.proposal) {
|
|
1396
1436
|
return { ok: false, error: session.error ?? 'Session has no proposal to commit.', status: 400 };
|
|
1397
1437
|
}
|
|
1438
|
+
if (!input.expectedProposalHash || input.expectedProposalHash !== session.proposalHash) {
|
|
1439
|
+
return { ok: false, error: 'The App proposal changed or is stale. Refresh the proposal before creating the App.', status: 409 };
|
|
1440
|
+
}
|
|
1398
1441
|
const plan = session.plan;
|
|
1399
1442
|
const proposal = session.proposal;
|
|
1400
1443
|
const selectable = new Set(proposal.tiles.filter((tile) => !tile.error).map((tile) => tile.id));
|
|
@@ -1408,56 +1451,22 @@ export async function commitAppAiBuild(projectRoot, sessionId, input = {}, hooks
|
|
|
1408
1451
|
...plan,
|
|
1409
1452
|
pages: plan.pages.map((page) => ({
|
|
1410
1453
|
...page,
|
|
1411
|
-
tiles: page.tiles.filter((tile) => tile.kind
|
|
1454
|
+
tiles: page.tiles.filter((tile) => !['certified_block', 'semantic_query'].includes(tile.kind) || selected.has(tile.id)),
|
|
1412
1455
|
})),
|
|
1413
1456
|
};
|
|
1414
|
-
const { KGStore, defaultKgPath, ensureMetadataCatalogFresh, generateAppFromPlan,
|
|
1457
|
+
const { KGStore, defaultKgPath, ensureMetadataCatalogFresh, generateAppFromPlan, reindexProject, validateAppPlan, } = await import('@duckcodeailabs/dql-agent');
|
|
1458
|
+
const index = await reindexProject(projectRoot, { kgPath: defaultKgPath(projectRoot) });
|
|
1459
|
+
if (!session.snapshotId || index.kgFingerprint !== session.snapshotId) {
|
|
1460
|
+
return { ok: false, error: 'Project sources changed after this proposal was created. Refresh and review the App proposal again.', status: 409 };
|
|
1461
|
+
}
|
|
1415
1462
|
const kg = new KGStore(defaultKgPath(projectRoot));
|
|
1416
1463
|
try {
|
|
1417
1464
|
// Re-validate against the live catalog: blocks may have changed since propose.
|
|
1418
1465
|
const validation = validateAppPlan(committedPlan, kg);
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
// executed previews, so real numbers reach the prose). The LLM-backed hook is
|
|
1424
|
-
// optional — the deterministic narrator guarantees a story offline.
|
|
1425
|
-
const narrateInput = {
|
|
1426
|
-
question: committedPlan.prompt,
|
|
1427
|
-
items: [
|
|
1428
|
-
...proposal.tiles
|
|
1429
|
-
.filter((tile) => tile.source === 'certified_block' && selected.has(tile.id))
|
|
1430
|
-
.map((tile) => ({ id: tile.id, title: tile.title })),
|
|
1431
|
-
...proposal.tiles
|
|
1432
|
-
.filter((tile) => tile.source === 'ai_generated' && !tile.error && selected.has(tile.id))
|
|
1433
|
-
.map((tile) => ({
|
|
1434
|
-
id: tile.id,
|
|
1435
|
-
title: tile.title,
|
|
1436
|
-
result: tile.preview ? { columns: tile.preview.columns, rows: tile.preview.rows } : undefined,
|
|
1437
|
-
})),
|
|
1438
|
-
],
|
|
1439
|
-
reviewRequired: proposal.tiles.some((tile) => tile.source === 'ai_generated' && !tile.error && selected.has(tile.id)),
|
|
1440
|
-
};
|
|
1441
|
-
let narration;
|
|
1442
|
-
try {
|
|
1443
|
-
narration = hooks?.narrate ? await hooks.narrate(narrateInput) : await narrateResult(narrateInput);
|
|
1444
|
-
}
|
|
1445
|
-
catch {
|
|
1446
|
-
try {
|
|
1447
|
-
narration = await narrateResult(narrateInput);
|
|
1448
|
-
}
|
|
1449
|
-
catch {
|
|
1450
|
-
narration = undefined; // Narration is enhancement, never a commit blocker.
|
|
1451
|
-
}
|
|
1452
|
-
}
|
|
1453
|
-
// Honesty caveat: when the story is built partly from AI-generated (review-
|
|
1454
|
-
// required) figures, say so in the executive summary — the headline must not
|
|
1455
|
-
// present uncertified numbers as trusted.
|
|
1456
|
-
if (narration && narrateInput.reviewRequired) {
|
|
1457
|
-
narration = {
|
|
1458
|
-
...narration,
|
|
1459
|
-
summary: `${narration.summary}\n\n_Some figures draw on AI-generated analysis that is pending review — see the review appendix._`,
|
|
1460
|
-
};
|
|
1466
|
+
const governedTileCount = committedPlan.pages.flatMap((page) => page.tiles)
|
|
1467
|
+
.filter((tile) => tile.kind === 'certified_block' || tile.kind === 'semantic_query').length;
|
|
1468
|
+
if (governedTileCount === 0) {
|
|
1469
|
+
return { ok: false, error: 'Select at least one certified block or governed semantic query.', status: 409 };
|
|
1461
1470
|
}
|
|
1462
1471
|
// Copilot follow-ups the created app carries: still-uncovered gaps first, then
|
|
1463
1472
|
// the questions behind any candidates the user chose to leave out.
|
|
@@ -1468,27 +1477,35 @@ export async function commitAppAiBuild(projectRoot, sessionId, input = {}, hooks
|
|
|
1468
1477
|
.map((tile) => tile.question),
|
|
1469
1478
|
]).slice(0, 4);
|
|
1470
1479
|
let generated;
|
|
1480
|
+
const stagingRoot = join(projectRoot, '.dql', 'local', 'app-build-staging', session.id);
|
|
1481
|
+
const stagedAppDir = join(stagingRoot, 'apps', committedPlan.appId);
|
|
1482
|
+
const targetAppDir = join(projectRoot, 'apps', committedPlan.appId);
|
|
1483
|
+
const backupAppDir = join(projectRoot, '.dql', 'local', 'app-build-staging', `${session.id}-backup`);
|
|
1484
|
+
rmSync(stagingRoot, { recursive: true, force: true });
|
|
1471
1485
|
try {
|
|
1472
|
-
generated = generateAppFromPlan(
|
|
1486
|
+
generated = generateAppFromPlan(stagingRoot, committedPlan, kg, { overwrite: true, copilotQuestions });
|
|
1487
|
+
mkdirSync(dirname(targetAppDir), { recursive: true });
|
|
1488
|
+
if (existsSync(targetAppDir)) {
|
|
1489
|
+
if (!input.force)
|
|
1490
|
+
return { ok: false, error: `App already exists: apps/${committedPlan.appId}`, status: 409 };
|
|
1491
|
+
rmSync(backupAppDir, { recursive: true, force: true });
|
|
1492
|
+
renameSync(targetAppDir, backupAppDir);
|
|
1493
|
+
}
|
|
1494
|
+
try {
|
|
1495
|
+
renameSync(stagedAppDir, targetAppDir);
|
|
1496
|
+
rmSync(backupAppDir, { recursive: true, force: true });
|
|
1497
|
+
}
|
|
1498
|
+
catch (error) {
|
|
1499
|
+
if (existsSync(backupAppDir) && !existsSync(targetAppDir))
|
|
1500
|
+
renameSync(backupAppDir, targetAppDir);
|
|
1501
|
+
throw error;
|
|
1502
|
+
}
|
|
1473
1503
|
}
|
|
1474
1504
|
catch (err) {
|
|
1475
1505
|
const message = err instanceof Error ? err.message : String(err);
|
|
1476
1506
|
return { ok: false, error: message, status: message.includes('already exists') ? 409 : 400 };
|
|
1477
1507
|
}
|
|
1478
|
-
// Selected AI-generated candidates become aiPin tiles: stored in local app
|
|
1479
|
-
// storage with their review-required status, then appended to the dashboard.
|
|
1480
|
-
// The certified app is already valid on disk — attaching the extra pins must
|
|
1481
|
-
// NOT be able to fail the commit and orphan the app, so it is best-effort.
|
|
1482
|
-
const generatedCandidates = proposal.tiles.filter((tile) => tile.source === 'ai_generated' && !tile.error && selected.has(tile.id) && tile.sql);
|
|
1483
1508
|
const attachWarnings = [];
|
|
1484
|
-
if (generatedCandidates.length > 0) {
|
|
1485
|
-
try {
|
|
1486
|
-
attachGeneratedTiles(projectRoot, committedPlan, generated.paths, generatedCandidates);
|
|
1487
|
-
}
|
|
1488
|
-
catch (err) {
|
|
1489
|
-
attachWarnings.push(`Some AI-generated tiles could not be attached: ${err instanceof Error ? err.message : String(err)}`);
|
|
1490
|
-
}
|
|
1491
|
-
}
|
|
1492
1509
|
await ensureMetadataCatalogFresh(projectRoot, { force: true });
|
|
1493
1510
|
const app = collectAppsList(projectRoot).find((entry) => entry.id === committedPlan.appId) ?? null;
|
|
1494
1511
|
const next = {
|
|
@@ -1547,6 +1564,10 @@ async function routeAppAskQuestion(ctx, appId, input) {
|
|
|
1547
1564
|
const loaded = loadAppById(ctx.projectRoot, appId);
|
|
1548
1565
|
if (!loaded)
|
|
1549
1566
|
return { ok: false, error: `App "${appId}" not found` };
|
|
1567
|
+
const activePersona = defaultPersonaRegistry.active;
|
|
1568
|
+
if (activePersona?.appId && activePersona.appId !== appId) {
|
|
1569
|
+
return { ok: false, error: `The active persona belongs to App "${activePersona.appId}", not "${appId}".` };
|
|
1570
|
+
}
|
|
1550
1571
|
const question = cleanString(input.question);
|
|
1551
1572
|
if (!question)
|
|
1552
1573
|
return { ok: false, error: 'question is required' };
|
|
@@ -2335,13 +2356,13 @@ function promoteSharedDashboardItem(item) {
|
|
|
2335
2356
|
}
|
|
2336
2357
|
export function createAppPackage(projectRoot, input) {
|
|
2337
2358
|
const name = cleanString(input.name);
|
|
2338
|
-
const domain = cleanString(input.domain);
|
|
2359
|
+
const domain = cleanString(input.ownerDomain) || cleanString(input.domain);
|
|
2339
2360
|
if (!name)
|
|
2340
2361
|
return { ok: false, error: 'name is required' };
|
|
2341
2362
|
if (!domain)
|
|
2342
2363
|
return { ok: false, error: 'domain is required' };
|
|
2343
2364
|
const id = suggestAppId(name);
|
|
2344
|
-
const appDir = resolveAppPackageDir(projectRoot,
|
|
2365
|
+
const appDir = resolveAppPackageDir(projectRoot, id);
|
|
2345
2366
|
if (existsSync(appDir))
|
|
2346
2367
|
return { ok: false, error: `App already exists: ${id}` };
|
|
2347
2368
|
const dashboardTitle = cleanString(input.dashboardTitle) || 'Overview';
|
|
@@ -2366,6 +2387,11 @@ export function createAppPackage(projectRoot, input) {
|
|
|
2366
2387
|
name,
|
|
2367
2388
|
description: cleanString(input.purpose) || `${name} consumption surface for ${domain}`,
|
|
2368
2389
|
visibility,
|
|
2390
|
+
ownerDomain: domain,
|
|
2391
|
+
usesDomains: normalizeTags(input.usesDomains ?? [domain]),
|
|
2392
|
+
purpose: cleanString(input.purpose) || undefined,
|
|
2393
|
+
requiredExports: normalizeTags(input.requiredExports ?? []),
|
|
2394
|
+
classification: cleanString(input.classification) || undefined,
|
|
2369
2395
|
domain,
|
|
2370
2396
|
subdomain: subdomain || undefined,
|
|
2371
2397
|
groups,
|
|
@@ -4404,12 +4430,7 @@ function slugify(value) {
|
|
|
4404
4430
|
.replace(/[^a-z0-9]+/g, '-')
|
|
4405
4431
|
.replace(/^-+|-+$/g, '');
|
|
4406
4432
|
}
|
|
4407
|
-
function resolveAppPackageDir(projectRoot,
|
|
4408
|
-
const domainSlug = slugify(domain);
|
|
4409
|
-
const domainDir = domainSlug ? join(projectRoot, 'domains', domainSlug) : '';
|
|
4410
|
-
if (domainDir && existsSync(domainDir)) {
|
|
4411
|
-
return join(domainDir, 'apps', id);
|
|
4412
|
-
}
|
|
4433
|
+
function resolveAppPackageDir(projectRoot, id) {
|
|
4413
4434
|
return join(projectRoot, 'apps', id);
|
|
4414
4435
|
}
|
|
4415
4436
|
function titleFromPath(path) {
|
|
@@ -4525,6 +4546,10 @@ function createAiPinTile(projectRoot, appId, input) {
|
|
|
4525
4546
|
followUps: Array.isArray(input.followUps) ? input.followUps.filter((item) => typeof item === 'string') : [],
|
|
4526
4547
|
});
|
|
4527
4548
|
const vizType = normalizeVizTypeFromChart(input.chartConfig);
|
|
4549
|
+
const dqlArtifact = normalizeDqlArtifactReference(input.analysisPlan && typeof input.analysisPlan === 'object' && !Array.isArray(input.analysisPlan)
|
|
4550
|
+
? input.analysisPlan.dqlArtifact
|
|
4551
|
+
: undefined);
|
|
4552
|
+
const runtimeParameters = (dqlArtifact?.parameters ?? []).filter((parameter) => parameter.policy === 'dynamic' || parameter.policy === 'optional');
|
|
4528
4553
|
const tile = {
|
|
4529
4554
|
i: tileId,
|
|
4530
4555
|
...nextTilePosition(loaded.dashboard),
|
|
@@ -4532,9 +4557,31 @@ function createAiPinTile(projectRoot, appId, input) {
|
|
|
4532
4557
|
viz: { type: vizType },
|
|
4533
4558
|
display: displayForAiPin(title, vizType, input),
|
|
4534
4559
|
title,
|
|
4560
|
+
...(runtimeParameters.length > 0 ? {
|
|
4561
|
+
parameterBindings: runtimeParameters.map((parameter) => ({
|
|
4562
|
+
param: parameter.name,
|
|
4563
|
+
source: 'dashboard_filter',
|
|
4564
|
+
filter: parameter.name,
|
|
4565
|
+
field: parameter.binding?.kind === 'semantic_filter' ? parameter.binding.field : parameter.name,
|
|
4566
|
+
parameterType: parameter.type,
|
|
4567
|
+
required: parameter.required,
|
|
4568
|
+
...(parameter.default === undefined ? {} : { default: parameter.default }),
|
|
4569
|
+
policy: parameter.policy,
|
|
4570
|
+
})),
|
|
4571
|
+
trustState: dqlArtifact?.trustState === 'certified' ? 'certified' : 'review_required',
|
|
4572
|
+
reviewStatus: dqlArtifact?.trustState === 'certified' ? 'certified' : 'review_required',
|
|
4573
|
+
} : {}),
|
|
4535
4574
|
};
|
|
4575
|
+
const artifactFilters = runtimeParameters.map(dashboardFilterForArtifactParameter);
|
|
4576
|
+
const existingFilterIds = new Set((loaded.dashboard.filters ?? []).map((filter) => filter.id));
|
|
4536
4577
|
const dashboard = {
|
|
4537
4578
|
...loaded.dashboard,
|
|
4579
|
+
...(artifactFilters.length > 0 ? {
|
|
4580
|
+
filters: [
|
|
4581
|
+
...(loaded.dashboard.filters ?? []),
|
|
4582
|
+
...artifactFilters.filter((filter) => !existingFilterIds.has(filter.id)),
|
|
4583
|
+
],
|
|
4584
|
+
} : {}),
|
|
4538
4585
|
layout: {
|
|
4539
4586
|
...loaded.dashboard.layout,
|
|
4540
4587
|
items: [...loaded.dashboard.layout.items, tile],
|
|
@@ -4550,6 +4597,25 @@ function createAiPinTile(projectRoot, appId, input) {
|
|
|
4550
4597
|
storage.close();
|
|
4551
4598
|
}
|
|
4552
4599
|
}
|
|
4600
|
+
function dashboardFilterForArtifactParameter(parameter) {
|
|
4601
|
+
const type = parameter.type === 'number'
|
|
4602
|
+
? 'number'
|
|
4603
|
+
: parameter.type === 'boolean'
|
|
4604
|
+
? 'boolean'
|
|
4605
|
+
: parameter.type === 'date'
|
|
4606
|
+
? 'date'
|
|
4607
|
+
: parameter.type.endsWith('[]')
|
|
4608
|
+
? 'select'
|
|
4609
|
+
: 'string';
|
|
4610
|
+
const options = Array.isArray(parameter.default) ? parameter.default.map(String) : undefined;
|
|
4611
|
+
return {
|
|
4612
|
+
id: parameter.name,
|
|
4613
|
+
type,
|
|
4614
|
+
...(parameter.default === undefined ? {} : { default: parameter.default }),
|
|
4615
|
+
...(options?.length ? { options } : {}),
|
|
4616
|
+
...(parameter.binding?.kind === 'semantic_filter' ? { bindsTo: parameter.binding.field } : {}),
|
|
4617
|
+
};
|
|
4618
|
+
}
|
|
4553
4619
|
function findExistingAiPinTile(storage, dashboard, appId, dashboardId, title, input) {
|
|
4554
4620
|
const requested = aiPinDedupeFingerprint(title, input.question, input.analysisPlan, input.result);
|
|
4555
4621
|
if (!requested)
|
|
@@ -4925,13 +4991,18 @@ function buildAppNotebookTemplate(title, app, template) {
|
|
|
4925
4991
|
});
|
|
4926
4992
|
}
|
|
4927
4993
|
return JSON.stringify({
|
|
4928
|
-
dqlnbVersion:
|
|
4994
|
+
dqlnbVersion: 2,
|
|
4929
4995
|
version: 1,
|
|
4930
4996
|
title,
|
|
4931
4997
|
metadata: {
|
|
4932
4998
|
description: `Supporting notebook for ${app.name}`,
|
|
4933
4999
|
status: 'draft',
|
|
4934
5000
|
categories: [app.domain, app.subdomain, ...(app.groups ?? [])].filter(Boolean),
|
|
5001
|
+
ownerDomain: app.ownerDomain,
|
|
5002
|
+
usesDomains: app.usesDomains,
|
|
5003
|
+
purpose: app.purpose,
|
|
5004
|
+
requiredExports: app.requiredExports,
|
|
5005
|
+
classification: app.classification,
|
|
4935
5006
|
createdAt: new Date().toISOString(),
|
|
4936
5007
|
modifiedAt: new Date().toISOString(),
|
|
4937
5008
|
},
|