@duckcodeailabs/dql-agent 1.6.20 → 1.6.21

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.
@@ -1,4 +1,4 @@
1
- import { type AppDocument, type DashboardDocument, type DashboardVizConfig } from "@duckcodeailabs/dql-core";
1
+ import { type AppDocument, type DashboardDocument, type DashboardTileFilterBinding, type DashboardTileParameterBinding, type DashboardTileSourceEvidence, type DashboardVizConfig } from "@duckcodeailabs/dql-core";
2
2
  import type { KGStore } from "./kg/sqlite-fts.js";
3
3
  export type AppBuilderSkillId = "interpret_business_intent" | "match_certified_context" | "shape_business_story" | "design_dashboard_layout" | "draft_missing_sections" | "route_review";
4
4
  export type AppPlanTileKind = "certified_block" | "draft_placeholder" | "narrative";
@@ -34,8 +34,9 @@ export interface AppPlanGenUi {
34
34
  export interface AppPlanFilter {
35
35
  id: string;
36
36
  label: string;
37
- type: "date" | "daterange" | "select" | "string";
37
+ type: "date" | "daterange" | "select" | "string" | "number";
38
38
  default?: unknown;
39
+ options?: string[];
39
40
  bindsTo?: string;
40
41
  }
41
42
  export interface AppPlanTile {
@@ -48,6 +49,10 @@ export interface AppPlanTile {
48
49
  viz: DashboardVizConfig["type"];
49
50
  certification: "certified" | "uncertified";
50
51
  reviewStatus: "certified" | "draft_ready" | "review_required";
52
+ filterBindings?: DashboardTileFilterBinding[];
53
+ parameterBindings?: DashboardTileParameterBinding[];
54
+ sourceEvidence?: DashboardTileSourceEvidence[];
55
+ trustState?: AppPlanTrustState;
51
56
  rationale?: string;
52
57
  caveats?: string[];
53
58
  reviewTasks?: string[];
@@ -69,6 +74,23 @@ export interface AppPlanPage {
69
74
  filters: AppPlanFilter[];
70
75
  tiles: AppPlanTile[];
71
76
  }
77
+ export interface AppPlanSection {
78
+ id: string;
79
+ title: string;
80
+ purpose: string;
81
+ reviewStatus: "certified" | "draft_ready" | "review_required";
82
+ }
83
+ export interface AppPlanScopedReport {
84
+ id: string;
85
+ title: string;
86
+ question: string;
87
+ description: string;
88
+ intent: AppPlanAnalysisIntent | "proof_review";
89
+ reviewStatus: "draft_ready" | "review_required";
90
+ source: "app_builder";
91
+ evidenceNeeded: string[];
92
+ suggestedActions: AppPlanFollowUpAction[];
93
+ }
72
94
  export interface AppBuilderSkill {
73
95
  id: AppBuilderSkillId;
74
96
  title: string;
@@ -92,6 +114,7 @@ export interface AppPlan {
92
114
  reason: string;
93
115
  }>;
94
116
  missingEvidence: string[];
117
+ scopedReports: AppPlanScopedReport[];
95
118
  displayStrategy: string;
96
119
  layoutRationale: string;
97
120
  handoffPlan: string[];
@@ -100,9 +123,21 @@ export interface AppPlan {
100
123
  domain: string;
101
124
  audience: string;
102
125
  businessGoal: string;
126
+ stakeholderSummary: string;
103
127
  owner: string;
104
128
  lifecycle: "draft" | "review";
105
129
  tags: string[];
130
+ appSections: AppPlanSection[];
131
+ globalFilters: AppPlanFilter[];
132
+ selectedEvidence: Array<{
133
+ source: string;
134
+ reason: string;
135
+ kind?: string;
136
+ nodeId?: string;
137
+ trustState: AppPlanTrustState;
138
+ }>;
139
+ missingEvidence: string[];
140
+ scopedReports: AppPlanScopedReport[];
106
141
  pages: AppPlanPage[];
107
142
  caveats: string[];
108
143
  reviewTasks: string[];
@@ -111,6 +146,7 @@ export interface PlanAppFromPromptInput {
111
146
  prompt: string;
112
147
  kg: KGStore;
113
148
  domain?: string;
149
+ audience?: string;
114
150
  owner?: string;
115
151
  preferredBlockIds?: string[];
116
152
  maxCertifiedTiles?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"app-builder.d.ts","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-builder.d.ts","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"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"}
@@ -24,13 +24,13 @@ export const APP_BUILDER_SKILLS = [
24
24
  },
25
25
  {
26
26
  id: "draft_missing_sections",
27
- title: "Draft missing sections",
28
- description: "Create clearly marked draft tiles when a needed explanation, drilldown, or metric is not certified yet.",
27
+ title: "Scope report gaps",
28
+ description: "Turn missing explanations, drilldowns, and metrics into scoped analyst reports instead of dashboard placeholders.",
29
29
  },
30
30
  {
31
31
  id: "route_review",
32
32
  title: "Route review",
33
- description: "Keep generated sections uncertified and attach concrete review tasks before stakeholder use.",
33
+ description: "Keep generated analysis review-required and attach concrete next steps before stakeholder use.",
34
34
  },
35
35
  ];
36
36
  export function planAppFromPrompt(input) {
@@ -38,64 +38,36 @@ export function planAppFromPrompt(input) {
38
38
  if (!prompt)
39
39
  throw new Error("prompt is required");
40
40
  const domain = normalizeToken(input.domain) ?? inferDomain(prompt) ?? "general";
41
- const audience = inferAudience(prompt) ?? inferDefaultAudience(prompt);
41
+ const audience = input.audience?.trim() || inferAudience(prompt) || inferDefaultAudience(prompt);
42
42
  const analysisIntent = inferAnalysisIntent(prompt);
43
43
  const appName = titleForPrompt(prompt, inferFallbackName(prompt, domain));
44
44
  const appId = suggestAppId(appName);
45
45
  const maxCertifiedTiles = input.maxCertifiedTiles ?? 4;
46
+ const targetCertifiedTiles = Math.max(maxCertifiedTiles, input.preferredBlockIds?.length ?? 0);
46
47
  const preferredNodes = findPreferredCertifiedBlockNodes(input.kg, input.preferredBlockIds ?? []);
47
- const matchedNodes = findCertifiedBlockNodes(input.kg, prompt, domain, Math.max(maxCertifiedTiles, preferredNodes.length));
48
- const certifiedNodes = mergeCertifiedBlockNodes(preferredNodes, matchedNodes).slice(0, Math.max(maxCertifiedTiles, preferredNodes.length));
48
+ const matchedNodes = findCertifiedBlockNodes(input.kg, prompt, domain, Math.max(targetCertifiedTiles * 3, preferredNodes.length));
49
+ const certifiedNodes = dedupeCertifiedBlockNodes(mergeCertifiedBlockNodes(preferredNodes, matchedNodes), new Set(preferredNodes.map((node) => node.nodeId))).slice(0, targetCertifiedTiles);
49
50
  const contextNodes = findCertifiedContextNodes(input.kg, prompt, domain, 6);
50
51
  const filters = inferFilters(prompt);
51
- const certifiedTiles = certifiedNodes.map((node, index) => tileFromCertifiedNode(node, index, analysisIntent));
52
- const draftTiles = inferDraftTiles(prompt, domain, analysisIntent, certifiedNodes).map((tile, index) => ({
53
- id: slugify(tile.title) || `draft-${index + 1}`,
54
- title: tile.title,
55
- kind: "draft_placeholder",
56
- description: tile.description,
57
- viz: tile.viz,
58
- certification: "uncertified",
59
- reviewStatus: "draft_ready",
60
- display: displayForDraftTile(tile.title, tile.viz, index),
61
- rationale: "No certified block was selected for this generated app section.",
62
- reviewTasks: [
63
- "Validate metric definition, grain, filters, and source tables.",
64
- "Promote to a certified block before treating this tile as governed.",
65
- ],
66
- }));
67
- const narrativeTile = {
68
- id: "business-brief",
69
- title: "Business brief",
70
- kind: "narrative",
71
- description: businessBriefDescription(prompt, audience, analysisIntent),
72
- viz: "text",
73
- certification: "uncertified",
74
- reviewStatus: "review_required",
75
- display: {
76
- role: "business_summary",
77
- recommendedDisplayType: "text",
78
- layoutPriority: 0,
79
- expectedGrain: "app",
80
- trustState: "review_required",
81
- followUpActions: ["ask_follow_up", "review_trust"],
82
- rationale: "Compact business brief keeps the app goal visible without dominating the dashboard.",
83
- genUi: buildGenUiContract({
84
- title: "Business brief",
85
- role: "business_summary",
86
- viz: "text",
87
- text: prompt,
88
- trustState: "review_required",
89
- reviewStatus: "review_required",
90
- followUpActions: ["ask_follow_up", "review_trust"],
91
- rationale: "Compact business brief keeps the app goal visible without dominating the dashboard.",
92
- }),
93
- },
94
- rationale: "Narrative text is generated scaffolding and should be reviewed with the app.",
95
- reviewTasks: [
96
- "Confirm the audience, business goal, caveats, and review cadence.",
97
- ],
98
- };
52
+ const certifiedTiles = certifiedNodes.map((node, index) => tileFromCertifiedNode(node, index, analysisIntent, filters));
53
+ const scopedReports = inferScopedReports(prompt, domain, analysisIntent, certifiedNodes);
54
+ const certifiedContextSummary = summarizeCertifiedContext([
55
+ ...certifiedNodes,
56
+ ...contextNodes,
57
+ ]);
58
+ const missingEvidence = Array.from(new Set([
59
+ ...missingEvidenceForPlan(prompt, analysisIntent, certifiedNodes, contextNodes),
60
+ ...scopedReports.map((report) => `${report.title}: ${report.description}`),
61
+ ]));
62
+ const stakeholderSummary = stakeholderSummaryForPlan({
63
+ prompt,
64
+ appName,
65
+ audience,
66
+ domain,
67
+ analysisIntent,
68
+ certifiedTiles: certifiedTiles.length,
69
+ scopedReports: scopedReports.length,
70
+ });
99
71
  return {
100
72
  version: 1,
101
73
  appId,
@@ -107,23 +79,22 @@ export function planAppFromPrompt(input) {
107
79
  analysisIntent,
108
80
  audience,
109
81
  domain,
110
- certifiedContext: summarizeCertifiedContext([
111
- ...certifiedNodes,
112
- ...contextNodes,
113
- ]),
114
- missingEvidence: missingEvidenceForPlan(prompt, analysisIntent, certifiedNodes, contextNodes),
82
+ certifiedContext: certifiedContextSummary,
83
+ missingEvidence,
84
+ scopedReports,
115
85
  displayStrategy: displayStrategyForIntent(analysisIntent),
116
- layoutRationale: "Business-first layout: certified KPIs, trends, breakdowns, and evidence tiles only; generated gaps stay in the review backlog until promoted.",
86
+ layoutRationale: "Business-first layout: certified KPIs, trends, breakdowns, and proof-backed tiles only; generated gaps stay as scoped analysis memos until promoted.",
117
87
  handoffPlan: [
118
88
  "Use certified block tiles as the governed dashboard surface.",
119
- "Keep generated narrative, trust gaps, and drilldown ideas in the review backlog.",
120
- "Use app chat and Research to run additional SQL, inspect previews, then pin or promote reviewed results into the app.",
89
+ "Keep generated narrative, trust gaps, and drilldown ideas as scoped analysis memos until reviewed.",
90
+ "Use app Copilot analysis to run additional SQL, inspect previews, then pin or promote reviewed results into the app.",
121
91
  ],
122
92
  },
123
93
  skills: APP_BUILDER_SKILLS,
124
94
  domain,
125
95
  audience,
126
96
  businessGoal: prompt,
97
+ stakeholderSummary,
127
98
  owner: input.owner?.trim() || `${process.env.USER ?? "owner"}@local`,
128
99
  lifecycle: "draft",
129
100
  tags: Array.from(new Set([
@@ -131,23 +102,48 @@ export function planAppFromPrompt(input) {
131
102
  ...inferTags(prompt, domain),
132
103
  `audience:${slugify(audience)}`,
133
104
  ])),
105
+ appSections: [
106
+ {
107
+ id: "dashboard",
108
+ title: "Stakeholder view",
109
+ purpose: "Clean dashboard pages backed by certified blocks and active filters.",
110
+ reviewStatus: certifiedTiles.length > 0 ? "certified" : "draft_ready",
111
+ },
112
+ {
113
+ id: "research",
114
+ title: "Analysis",
115
+ purpose: "Review-required analyst memos for follow-up questions that need new SQL or deeper analysis.",
116
+ reviewStatus: "draft_ready",
117
+ },
118
+ ],
119
+ globalFilters: filters,
120
+ selectedEvidence: certifiedContextSummary.map((item) => ({
121
+ source: `${item.kind}:${item.name}`,
122
+ reason: item.reason,
123
+ kind: item.kind,
124
+ nodeId: item.nodeId,
125
+ trustState: "certified",
126
+ })),
127
+ missingEvidence,
128
+ scopedReports,
134
129
  pages: [
135
130
  {
136
131
  id: "overview",
137
132
  title: inferDashboardTitle(prompt, domain, appName),
138
- description: `Certified app surface for ${audience}. Draft gaps stay in Research until reviewed.`,
133
+ description: `Certified app surface for ${audience}. Draft gaps stay in reports until reviewed.`,
139
134
  filters,
140
- tiles: [narrativeTile, ...certifiedTiles, ...draftTiles],
135
+ tiles: certifiedTiles,
141
136
  },
142
137
  ],
143
138
  caveats: [
144
139
  "Generated app plans are local draft artifacts until reviewed.",
145
- "Generated dashboards render certified block tiles only; draft and narrative suggestions require analyst review before they become app tiles.",
140
+ "Generated dashboards render certified block tiles only; draft narrative, proof, and analysis suggestions stay as scoped memos, Copilot answers, or promoted reviewed insights.",
146
141
  ],
147
142
  reviewTasks: [
148
- "Review every backlog item before stakeholder use.",
143
+ "Review every scoped analysis memo before stakeholder use.",
144
+ ...scopedReports.map((report) => `Run scoped analysis "${report.title}" from app Copilot with the stakeholder question and active filters, then pin or promote only after review.`),
149
145
  "Run dql app build after accepting the generated files.",
150
- "Use app chat or Research for additional questions, then promote reviewed SQL results to draft or certified blocks.",
146
+ "Use app Copilot analysis for additional questions, then promote reviewed SQL results to draft or certified blocks.",
151
147
  ],
152
148
  };
153
149
  }
@@ -199,6 +195,7 @@ export function validateAppPlan(plan, kg) {
199
195
  }
200
196
  else {
201
197
  draftTiles += 1;
198
+ issues.push(error(path, "stakeholder dashboard tiles must be certified blocks; route generated story, trust, and analysis work through scoped reports or Copilot investigations"));
202
199
  if (tile.certification === "certified") {
203
200
  issues.push(error(path, "non-block generated tiles cannot be marked certified"));
204
201
  }
@@ -209,7 +206,7 @@ export function validateAppPlan(plan, kg) {
209
206
  }
210
207
  }
211
208
  if (certifiedTiles === 0) {
212
- issues.push(warn("pages", "no certified blocks matched; generated app will contain only draft/review tiles"));
209
+ issues.push(warn("pages", "no certified blocks matched; generated dashboard has no governed result tiles yet"));
213
210
  }
214
211
  return {
215
212
  ok: issues.every((issue) => issue.level !== "error"),
@@ -315,6 +312,7 @@ export function generateAppFromPlan(projectRoot, plan, kg, options = {}) {
315
312
  id: filter.id,
316
313
  type: filter.type,
317
314
  default: filter.default,
315
+ ...(filter.options?.length ? { options: filter.options } : {}),
318
316
  bindsTo: filter.bindsTo,
319
317
  })),
320
318
  layout: {
@@ -407,6 +405,133 @@ function mergeCertifiedBlockNodes(preferredNodes, matchedNodes) {
407
405
  }
408
406
  return merged;
409
407
  }
408
+ function dedupeCertifiedBlockNodes(nodes, preferredNodeIds = new Set()) {
409
+ const selected = [];
410
+ const signatureIndex = new Map();
411
+ for (const node of nodes) {
412
+ const signatures = certifiedBlockDuplicateSignatures(node);
413
+ let duplicateIndex = -1;
414
+ for (const signature of signatures) {
415
+ const existing = signatureIndex.get(signature);
416
+ if (existing !== undefined) {
417
+ duplicateIndex = existing;
418
+ break;
419
+ }
420
+ }
421
+ if (duplicateIndex < 0) {
422
+ signatureIndex.set(node.nodeId, selected.length);
423
+ for (const signature of signatures)
424
+ signatureIndex.set(signature, selected.length);
425
+ selected.push(node);
426
+ continue;
427
+ }
428
+ const current = selected[duplicateIndex];
429
+ if (certifiedBlockSelectionScore(node, preferredNodeIds) > certifiedBlockSelectionScore(current, preferredNodeIds)) {
430
+ selected[duplicateIndex] = node;
431
+ signatureIndex.set(node.nodeId, duplicateIndex);
432
+ for (const signature of signatures)
433
+ signatureIndex.set(signature, duplicateIndex);
434
+ }
435
+ }
436
+ return selected;
437
+ }
438
+ function certifiedBlockDuplicateSignatures(node) {
439
+ const signatures = new Set([node.nodeId]);
440
+ if (node.sqlFingerprints?.exact)
441
+ signatures.add(`sql:${node.sqlFingerprints.exact}`);
442
+ if (node.sqlFingerprints?.parameterized)
443
+ signatures.add(`sqlp:${node.sqlFingerprints.parameterized}`);
444
+ if (node.businessFingerprint?.hash)
445
+ signatures.add(`business:${node.businessFingerprint.hash}`);
446
+ const topic = certifiedBlockTopicSignature(node);
447
+ if (topic)
448
+ signatures.add(`topic:${topic}`);
449
+ return Array.from(signatures);
450
+ }
451
+ function certifiedBlockTopicSignature(node) {
452
+ const text = [
453
+ node.name,
454
+ node.description,
455
+ node.llmContext,
456
+ node.businessOutcome,
457
+ node.decisionUse,
458
+ node.grain,
459
+ ...(node.tags ?? []),
460
+ ...(node.entities ?? []),
461
+ ...(node.declaredOutputs ?? []),
462
+ ...(node.dimensions ?? []),
463
+ ...(node.allowedFilters ?? []),
464
+ ...(node.businessFingerprint?.tokens ?? []),
465
+ ].join(" ").toLowerCase();
466
+ const sources = normalizedTopicTokens([
467
+ ...(node.sourceSystems ?? []),
468
+ ...(node.businessFingerprint?.tokens ?? [])
469
+ .filter((token) => /^(source|system):/i.test(token))
470
+ .map((token) => token.replace(/^(source|system):/i, "")),
471
+ ...Array.from(text.matchAll(/\b(?:from|join)\s+([a-z0-9_.]+)/gi)).map((match) => match[1]),
472
+ ...Array.from(text.matchAll(/\b([a-z0-9_]*int_player_stats|[a-z0-9_]*fct_[a-z0-9_]+|[a-z0-9_]*dim_[a-z0-9_]+)\b/gi)).map((match) => match[1]),
473
+ ]);
474
+ const entity = firstTopicFamily(text, [
475
+ ["player", /\b(player|players|scorer|scorers|athlete)\b/],
476
+ ["customer", /\b(customer|account|user|subscriber)\b/],
477
+ ["order", /\b(order|orders|purchase)\b/],
478
+ ["product", /\b(product|sku|item)\b/],
479
+ ["team", /\b(team|teams)\b/],
480
+ ]);
481
+ const intent = firstTopicFamily(text, [
482
+ ["availability", /\b(availability|freshness|record count|records|quality|coverage)\b/],
483
+ ["ranking", /\b(top|bottom|rank|ranking|leader|leaderboard|scorer|scorers)\b/],
484
+ ["trend", /\b(trend|weekly|monthly|daily|time series|over time)\b/],
485
+ ["segment", /\b(segment|breakdown|split|by segment|cohort|region|channel)\b/],
486
+ ["profile", /\b(profile|360|detail|drilldown)\b/],
487
+ ["kpi", /\b(kpi|metric|total|summary|scorecard)\b/],
488
+ ]);
489
+ const metric = firstTopicFamily(text, [
490
+ ["points", /\b(point|points|pts|score|scoring|scorer|scorers)\b/],
491
+ ["revenue", /\b(revenue|arr|sales|amount|bookings)\b/],
492
+ ["count", /\b(count|records|games played|orders|users)\b/],
493
+ ["quality", /\b(availability|freshness|quality|coverage)\b/],
494
+ ["conversion", /\b(conversion|rate|pct|percent|ratio)\b/],
495
+ ]);
496
+ if (!sources.length || !intent || !metric)
497
+ return "";
498
+ return [sources.slice(0, 3).join("+"), entity, intent, metric].filter(Boolean).join("|");
499
+ }
500
+ function normalizedTopicTokens(values) {
501
+ return Array.from(new Set(values
502
+ .map((value) => value.toLowerCase().replace(/[^a-z0-9_]+/g, "_").replace(/^_+|_+$/g, ""))
503
+ .map((value) => value
504
+ .replace(/^.*\./, "")
505
+ .replace(/^transformed_/, "")
506
+ .replace(/^nba_analytics_/, ""))
507
+ .filter(Boolean)))
508
+ .sort();
509
+ }
510
+ function firstTopicFamily(text, patterns) {
511
+ return patterns.find(([, pattern]) => pattern.test(text))?.[0] ?? "";
512
+ }
513
+ function certifiedBlockSelectionScore(node, preferredNodeIds) {
514
+ let score = preferredNodeIds.has(node.nodeId) ? 10000 : 0;
515
+ score += (node.declaredOutputs?.length ?? 0) * 70;
516
+ score += (node.allowedFilters?.length ?? 0) * 45;
517
+ score += (node.parameterPolicy?.length ?? 0) * 45;
518
+ score += (node.entities?.length ?? 0) * 35;
519
+ score += (node.businessFingerprint?.tokens?.length ?? 0) * 8;
520
+ if (node.grain)
521
+ score += 90;
522
+ if (node.pattern)
523
+ score += 60;
524
+ if (node.sqlFingerprints?.parameterized)
525
+ score += 40;
526
+ if (node.description && node.description.length > 80)
527
+ score += 25;
528
+ const text = [node.name, node.description, node.llmContext, ...(node.tags ?? [])].join(" ").toLowerCase();
529
+ if (/\b(raw-sql|imported|codex-e2e|test)\b/.test(text))
530
+ score -= 80;
531
+ if (/\breview required\b/.test(text))
532
+ score -= 10;
533
+ return score;
534
+ }
410
535
  function findCertifiedContextNodes(kg, prompt, domain, limit) {
411
536
  const kinds = [
412
537
  "business_view",
@@ -458,13 +583,14 @@ function normalizeGoal(prompt) {
458
583
  .trim()
459
584
  .replace(/\.$/, "");
460
585
  }
461
- function businessBriefDescription(prompt, audience, intent) {
462
- return [
463
- `Generated from prompt: ${normalizeGoal(prompt)}.`,
464
- `Audience: ${audience}.`,
465
- `Intent: ${titleCase(intent.replace(/_/g, " "))}.`,
466
- "Use certified tiles as governed evidence; review generated guidance before stakeholder use.",
467
- ].join("\n\n");
586
+ function stakeholderSummaryForPlan(input) {
587
+ const coverage = input.certifiedTiles > 0
588
+ ? `${input.certifiedTiles} certified tile${input.certifiedTiles === 1 ? "" : "s"} anchor the app.`
589
+ : "No certified tiles matched strongly enough yet.";
590
+ const review = input.scopedReports > 0
591
+ ? `${input.scopedReports} scoped analysis memo${input.scopedReports === 1 ? "" : "s"} capture questions that need deeper review.`
592
+ : "No scoped analysis memos were needed.";
593
+ return `${input.appName} is a ${titleCase(input.domain)} decision room for ${input.audience}. ${coverage} ${review} Intent: ${titleCase(input.analysisIntent.replace(/_/g, " "))}.`;
468
594
  }
469
595
  function summarizeCertifiedContext(nodes) {
470
596
  const seen = new Set();
@@ -490,13 +616,13 @@ function missingEvidenceForPlan(prompt, intent, certifiedNodes, contextNodes) {
490
616
  const lower = prompt.toLowerCase();
491
617
  const missing = new Set();
492
618
  if (certifiedNodes.length === 0) {
493
- missing.add("No certified block matched strongly enough for the primary dashboard evidence.");
619
+ missing.add("No certified block matched strongly enough for the primary dashboard proof.");
494
620
  }
495
621
  if (contextNodes.length === 0) {
496
- missing.add("No certified business view, term, semantic object, or dbt context was matched for extra explanation.");
622
+ missing.add("No certified business view, term, semantic object, or dbt context was matched for supporting explanation.");
497
623
  }
498
624
  if (intent === "driver_analysis" || /\bwhy|driver|break\s*down/.test(lower)) {
499
- missing.add("Driver analysis should be opened as review-required Research until a certified drilldown block exists.");
625
+ missing.add("Driver analysis should be opened as a review-required report until a certified drilldown block exists.");
500
626
  }
501
627
  if (intent === "trust_review" || /\btrust|rely|lineage/.test(lower)) {
502
628
  missing.add("Leadership trust checks need lineage, owner, caveats, and review cadence confirmation.");
@@ -509,19 +635,19 @@ function missingEvidenceForPlan(prompt, intent, certifiedNodes, contextNodes) {
509
635
  function displayStrategyForIntent(intent) {
510
636
  switch (intent) {
511
637
  case "driver_analysis":
512
- return "Lead with certified summary evidence, then expose breakdown and Research actions for root-cause analysis.";
638
+ return "Lead with certified summary proof, then route root-cause questions into Copilot reports.";
513
639
  case "entity_drilldown":
514
640
  return "Lead with entity context and certified performance blocks, then provide drilldown and trust review paths.";
515
641
  case "trust_review":
516
642
  return "Lead with certification, lineage, caveats, and review tasks before any generated interpretation.";
517
643
  case "data_quality":
518
- return "Lead with availability/freshness evidence, then list gaps and review actions.";
644
+ return "Lead with availability and freshness proof, then list gaps and review actions.";
519
645
  case "experiment_readout":
520
646
  return "Lead with KPI impact, guardrails, segment readout, and decision caveats.";
521
647
  case "metric_monitoring":
522
648
  return "Lead with KPIs, trends, and breakdowns for recurring operating review.";
523
649
  default:
524
- return "Lead with the business brief, certified metrics, supporting breakdowns, then trust and Research actions.";
650
+ return "Lead with the business brief, certified metrics, supporting breakdowns, then proof and report paths.";
525
651
  }
526
652
  }
527
653
  function displayForCertifiedNode(node, viz, index, intent) {
@@ -541,7 +667,7 @@ function displayForCertifiedNode(node, viz, index, intent) {
541
667
  ? "evidence"
542
668
  : /\btop\s*\d+|rank|ranking|leader|leaderboard|scorer|score|goal|segment|breakdown|split|driver|player|customer|account|region|channel\b/.test(text)
543
669
  ? "breakdown"
544
- : "evidence";
670
+ : "breakdown";
545
671
  const followUpActions = [
546
672
  "ask_follow_up",
547
673
  "open_research",
@@ -585,7 +711,7 @@ function displayForDraftTile(title, viz, index) {
585
711
  "review_trust",
586
712
  "create_draft_block",
587
713
  ];
588
- const rationale = "Generated section captures missing evidence or review work without implying certification.";
714
+ const rationale = "Generated section captures missing proof or review work without implying certification.";
589
715
  return {
590
716
  role,
591
717
  recommendedDisplayType: viz,
@@ -709,9 +835,9 @@ function insightTitleForPresentation(title, role, component) {
709
835
  if (component === "BusinessBrief")
710
836
  return "Business context";
711
837
  if (component === "TrustCallout")
712
- return "Trust and evidence";
838
+ return "Proof and lineage";
713
839
  if (component === "ResearchActions")
714
- return "Follow-up research";
840
+ return "Follow-up analysis";
715
841
  if (role === "kpi")
716
842
  return title;
717
843
  if (component === "RankingPanel")
@@ -735,9 +861,11 @@ function inferExpectedGrain(text, intent) {
735
861
  return "metric";
736
862
  return "dashboard";
737
863
  }
738
- function tileFromCertifiedNode(node, index, intent) {
864
+ function tileFromCertifiedNode(node, index, intent, globalFilters = []) {
739
865
  const blockId = node.name;
740
866
  const viz = inferVizForNode(node, index);
867
+ const filterBindings = filterBindingsForCertifiedNode(node, globalFilters);
868
+ const parameterBindings = parameterBindingsForCertifiedNode(node, filterBindings);
741
869
  return {
742
870
  id: slugify(blockId) || `certified-${index + 1}`,
743
871
  title: node.name,
@@ -748,6 +876,20 @@ function tileFromCertifiedNode(node, index, intent) {
748
876
  viz,
749
877
  certification: "certified",
750
878
  reviewStatus: "certified",
879
+ trustState: "certified",
880
+ ...(filterBindings.length ? { filterBindings } : {}),
881
+ ...(parameterBindings.length ? { parameterBindings } : {}),
882
+ sourceEvidence: [{
883
+ source: node.nodeId,
884
+ reason: node.decisionUse ??
885
+ node.businessOutcome ??
886
+ node.description ??
887
+ "Certified DQL block matched the app prompt.",
888
+ kind: node.kind,
889
+ nodeId: node.nodeId,
890
+ path: node.sourcePath,
891
+ trustState: "certified",
892
+ }],
751
893
  display: displayForCertifiedNode(node, viz, index, intent),
752
894
  rationale: node.decisionUse ??
753
895
  node.businessOutcome ??
@@ -758,11 +900,108 @@ function tileFromCertifiedNode(node, index, intent) {
758
900
  ],
759
901
  };
760
902
  }
903
+ function filterBindingsForCertifiedNode(node, globalFilters) {
904
+ const bindings = (node.filterBindings ?? []).map((entry) => ({
905
+ filter: entry.filter,
906
+ binding: entry.binding,
907
+ mode: "predicate",
908
+ }));
909
+ const dynamicParams = new Set((node.parameterPolicy ?? [])
910
+ .filter((entry) => entry.policy === "dynamic")
911
+ .map((entry) => entry.name));
912
+ const allowedFilters = new Set((node.allowedFilters ?? []).map((entry) => entry.toLowerCase()));
913
+ for (const filter of globalFilters) {
914
+ if (bindings.some((entry) => entry.filter === filter.id))
915
+ continue;
916
+ if (dynamicParams.has(filter.id)) {
917
+ bindings.push({
918
+ filter: filter.id,
919
+ binding: filter.bindsTo ?? filter.id,
920
+ mode: "parameter",
921
+ paramNames: [filter.id],
922
+ });
923
+ continue;
924
+ }
925
+ const matchingParam = parameterForFilter(filter, dynamicParams);
926
+ if (matchingParam) {
927
+ bindings.push({
928
+ filter: filter.id,
929
+ binding: filter.bindsTo ?? matchingParam,
930
+ mode: "parameter",
931
+ paramNames: [matchingParam],
932
+ });
933
+ continue;
934
+ }
935
+ if (filter.bindsTo && allowedFilters.has(filter.bindsTo.toLowerCase())) {
936
+ bindings.push({
937
+ filter: filter.id,
938
+ binding: filter.bindsTo,
939
+ mode: "predicate",
940
+ });
941
+ continue;
942
+ }
943
+ if (filter.id && allowedFilters.has(filter.id.toLowerCase())) {
944
+ bindings.push({
945
+ filter: filter.id,
946
+ binding: filter.bindsTo ?? filter.id,
947
+ mode: "predicate",
948
+ });
949
+ continue;
950
+ }
951
+ if (filter.id) {
952
+ bindings.push({
953
+ filter: filter.id,
954
+ binding: filter.bindsTo,
955
+ unsupportedReason: "No matching certified block parameter or allowed filter was declared.",
956
+ });
957
+ }
958
+ }
959
+ return uniqueTileFilterBindings(bindings);
960
+ }
961
+ function parameterBindingsForCertifiedNode(node, filterBindings) {
962
+ const dynamicParams = (node.parameterPolicy ?? [])
963
+ .filter((entry) => entry.policy === "dynamic")
964
+ .map((entry) => entry.name);
965
+ return dynamicParams.map((param) => {
966
+ const filterBinding = filterBindings.find((entry) => entry.paramNames?.includes(param) || entry.filter === param);
967
+ return {
968
+ param,
969
+ source: filterBinding ? "dashboard_filter" : "variable",
970
+ ...(filterBinding?.filter ? { filter: filterBinding.filter } : {}),
971
+ field: filterBinding?.binding ?? param,
972
+ };
973
+ });
974
+ }
975
+ function parameterForFilter(filter, dynamicParams) {
976
+ const candidates = [];
977
+ if (filter.id === "season")
978
+ candidates.push("season", "season_year", "year");
979
+ if (filter.id === "season_start")
980
+ candidates.push("season_start", "start_year", "from_year");
981
+ if (filter.id === "season_end")
982
+ candidates.push("season_end", "end_year", "to_year");
983
+ if (filter.id === "top_n")
984
+ candidates.push("top_n", "limit", "n");
985
+ candidates.push(filter.id);
986
+ return candidates.find((candidate) => dynamicParams.has(candidate)) ?? null;
987
+ }
988
+ function uniqueTileFilterBindings(bindings) {
989
+ const seen = new Set();
990
+ const out = [];
991
+ for (const binding of bindings) {
992
+ const key = `${binding.filter}:${binding.binding ?? ""}:${binding.mode ?? ""}:${(binding.paramNames ?? []).join(",")}:${binding.unsupportedReason ?? ""}`;
993
+ if (seen.has(key))
994
+ continue;
995
+ seen.add(key);
996
+ out.push(binding);
997
+ }
998
+ return out;
999
+ }
761
1000
  function buildLayoutItems(tiles) {
762
1001
  let x = 0;
763
1002
  let y = 0;
764
1003
  let rowH = 0;
765
- const orderedTiles = [...tiles].sort((a, b) => {
1004
+ const orderedTiles = [...tiles].filter(isDashboardTile).sort((a, b) => {
766
1005
  const priorityA = a.display?.layoutPriority ?? 50;
767
1006
  const priorityB = b.display?.layoutPriority ?? 50;
768
1007
  return priorityA - priorityB;
@@ -799,6 +1038,11 @@ function buildLayoutItems(tiles) {
799
1038
  },
800
1039
  },
801
1040
  display: displayMetadataForTile(tile, genUi),
1041
+ ...(tile.filterBindings?.length ? { filterBindings: tile.filterBindings } : {}),
1042
+ ...(tile.parameterBindings?.length ? { parameterBindings: tile.parameterBindings } : {}),
1043
+ ...(tile.sourceEvidence?.length ? { sourceEvidence: tile.sourceEvidence } : {}),
1044
+ trustState: tile.trustState ?? tile.display?.trustState ?? (tile.certification === "certified" ? "certified" : "draft_ready"),
1045
+ reviewStatus: tile.reviewStatus,
802
1046
  };
803
1047
  if (isDashboardTile(tile)) {
804
1048
  item.block = { blockId: tile.blockId };
@@ -835,9 +1079,25 @@ function isDashboardTile(tile) {
835
1079
  return tile.kind === "certified_block" && tile.certification === "certified" && Boolean(tile.blockId);
836
1080
  }
837
1081
  function appPlanReadme(plan, validation) {
1082
+ const reviewDashboardItems = plan.pages.flatMap((page) => page.tiles
1083
+ .filter((tile) => !isDashboardTile(tile))
1084
+ .map((tile) => `- ${tile.title}: ${tile.description ?? tile.rationale ?? "Review before adding to the app."}`));
1085
+ const scopedReports = plan.scopedReports.length > 0
1086
+ ? plan.scopedReports.map((report) => [
1087
+ `- ${report.title}: ${report.description}`,
1088
+ ` - Question: ${report.question}`,
1089
+ ` - Evidence needed: ${report.evidenceNeeded.join(", ")}`,
1090
+ ].join("\n"))
1091
+ : reviewDashboardItems.length > 0
1092
+ ? reviewDashboardItems
1093
+ : plan.missingEvidence.length > 0
1094
+ ? plan.missingEvidence.map((item) => `- ${item}`)
1095
+ : ["- No scoped analysis memos were suggested. Use app Copilot for follow-up questions."];
838
1096
  return [
839
1097
  `# ${plan.name}`,
840
1098
  "",
1099
+ plan.stakeholderSummary,
1100
+ "",
841
1101
  plan.businessGoal,
842
1102
  "",
843
1103
  `- Generated from prompt: ${plan.prompt}`,
@@ -846,8 +1106,10 @@ function appPlanReadme(plan, validation) {
846
1106
  `- Domain: ${plan.domain}`,
847
1107
  `- Audience: ${plan.audience}`,
848
1108
  `- Lifecycle: ${plan.lifecycle}`,
849
- `- Certified tiles: ${validation.certifiedTiles}`,
850
- `- Review backlog items: ${validation.draftTiles}`,
1109
+ `- Certified dashboard tiles: ${validation.certifiedTiles}`,
1110
+ `- Review-required dashboard tiles: ${validation.draftTiles}`,
1111
+ `- Scoped analysis memos: ${plan.scopedReports.length}`,
1112
+ `- Global filters: ${plan.globalFilters.map((filter) => filter.id).join(", ") || "none"}`,
851
1113
  "",
852
1114
  "## Planner brief",
853
1115
  "",
@@ -861,17 +1123,15 @@ function appPlanReadme(plan, validation) {
861
1123
  ? plan.planning.certifiedContext.map((item) => `- ${item.kind}:${item.name} — ${item.reason}`)
862
1124
  : ["- No certified context matched strongly enough."]),
863
1125
  "",
864
- "## Missing evidence",
1126
+ "## Missing proof",
865
1127
  "",
866
1128
  ...(plan.planning.missingEvidence.length
867
1129
  ? plan.planning.missingEvidence.map((item) => `- ${item}`)
868
- : ["- No missing evidence was identified by the deterministic planner."]),
1130
+ : ["- No missing proof was identified by the deterministic planner."]),
869
1131
  "",
870
- "## Review backlog",
1132
+ "## Scoped analysis memos",
871
1133
  "",
872
- ...plan.pages.flatMap((page) => page.tiles
873
- .filter((tile) => !isDashboardTile(tile))
874
- .map((tile) => `- ${tile.title}: ${tile.description ?? tile.rationale ?? "Review before adding to the app."}`)),
1134
+ ...scopedReports,
875
1135
  "",
876
1136
  "## Agent skills applied",
877
1137
  "",
@@ -942,59 +1202,83 @@ function inferTags(prompt, domain) {
942
1202
  tags.add("monthly-review");
943
1203
  return Array.from(tags).filter(Boolean);
944
1204
  }
945
- function inferDraftTiles(prompt, domain, intent, certifiedNodes) {
1205
+ function inferScopedReports(prompt, domain, intent, certifiedNodes) {
946
1206
  const lower = prompt.toLowerCase();
947
1207
  const domainLabel = titleCase(domain);
948
- const tiles = [
1208
+ const reports = [
949
1209
  {
950
- title: `${domainLabel} decision story`,
951
- description: "Compact draft explanation of the business story, decision context, and caveats inferred from the prompt.",
952
- viz: "text",
1210
+ title: `${domainLabel} decision story report`,
1211
+ question: `What is the decision story behind "${normalizeGoal(prompt)}"?`,
1212
+ description: "Analyst narrative that ties certified results to the business decision, caveats, and recommended next action.",
1213
+ intent,
1214
+ evidenceNeeded: ["certified block results", "active filters", "lineage and owner context"],
953
1215
  },
954
1216
  ];
955
1217
  if (intent === "driver_analysis" || /\bwhy|driver|break\s*down|root cause\b/.test(lower)) {
956
- tiles.push({
957
- title: "Research drilldowns to review",
958
- description: "Open review-required investigations for drivers, exceptions, segment comparison, and entity drilldown.",
959
- viz: "table",
1218
+ reports.push({
1219
+ title: "Driver analysis report",
1220
+ question: "Which drivers, segments, or entities explain the movement?",
1221
+ description: "Review-required report for drivers, exceptions, segment comparison, and entity drilldown.",
1222
+ intent: "driver_analysis",
1223
+ evidenceNeeded: ["comparison period", "segment fields", "metric definition", "previewed SQL"],
960
1224
  });
961
1225
  }
962
1226
  else if (/\brisk|caveat|issue|anomal|quality\b/.test(lower)) {
963
- tiles.push({
964
- title: "Open risks and caveats",
965
- description: "Generated review checklist for risks that need certified evidence before stakeholder use.",
966
- viz: "table",
1227
+ reports.push({
1228
+ title: "Risk and caveat report",
1229
+ question: "Which caveats or quality risks should stakeholders understand before using this app?",
1230
+ description: "Review checklist for risks that need certified evidence before stakeholder use.",
1231
+ intent: "data_quality",
1232
+ evidenceNeeded: ["freshness checks", "row counts", "known caveats", "owner review"],
967
1233
  });
968
1234
  }
969
1235
  else if (/\bsegment|cohort|region|location|product|channel|customer\b/.test(lower)) {
970
- tiles.push({
971
- title: "Missing drilldowns to certify",
1236
+ reports.push({
1237
+ title: "Drilldown certification report",
1238
+ question: "Which slices or drilldowns should become reusable certified blocks?",
972
1239
  description: "Candidate slices and drilldowns the agent could not fully back with certified blocks yet.",
973
- viz: "table",
1240
+ intent: "entity_drilldown",
1241
+ evidenceNeeded: ["slice dimensions", "grain", "allowed filters", "previewed SQL"],
974
1242
  });
975
1243
  }
976
1244
  else {
977
- tiles.push({
978
- title: "Trust and evidence gaps",
979
- description: "Open evidence, lineage, and review tasks to complete before this app is governed.",
980
- viz: "table",
1245
+ reports.push({
1246
+ title: "Proof and lineage gaps",
1247
+ question: "What proof is still missing before this app can be treated as governed?",
1248
+ description: "Open proof, lineage, and review tasks to complete before this app is governed.",
1249
+ intent: "proof_review",
1250
+ evidenceNeeded: ["lineage", "certification state", "tests", "review cadence"],
981
1251
  });
982
1252
  }
983
1253
  if (certifiedNodes.length === 0) {
984
- tiles.push({
1254
+ reports.push({
985
1255
  title: "Certified block search",
1256
+ question: "Which existing or new DQL blocks should support this app?",
986
1257
  description: "No certified blocks matched strongly enough; review suggested sources and create certified blocks.",
987
- viz: "table",
1258
+ intent: "proof_review",
1259
+ evidenceNeeded: ["candidate dbt models", "semantic metrics", "business terms", "draft block plan"],
988
1260
  });
989
1261
  }
990
- if (!tiles.some((tile) => /\btrust|evidence|risk|caveat|gap/.test(tile.title.toLowerCase()))) {
991
- tiles.push({
992
- title: "Trust and evidence gaps",
1262
+ if (!reports.some((report) => /\btrust|evidence|risk|caveat|gap|proof/.test(report.title.toLowerCase()))) {
1263
+ reports.push({
1264
+ title: "Proof and lineage gaps",
1265
+ question: "What lineage and certification proof should be reviewed?",
993
1266
  description: "Certification, lineage, caveats, and review actions that must be confirmed before stakeholder use.",
994
- viz: "table",
1267
+ intent: "proof_review",
1268
+ evidenceNeeded: ["lineage", "certification state", "owner", "tests"],
995
1269
  });
996
1270
  }
997
- return tiles;
1271
+ return reports.map((report, index) => ({
1272
+ id: slugify(report.title) || `scoped-report-${index + 1}`,
1273
+ title: report.title,
1274
+ question: report.question,
1275
+ description: report.description,
1276
+ intent: report.intent,
1277
+ reviewStatus: "draft_ready",
1278
+ source: "app_builder",
1279
+ evidenceNeeded: report.evidenceNeeded,
1280
+ suggestedActions: ["open_research", "review_trust", "create_draft_block"],
1281
+ }));
998
1282
  }
999
1283
  function inferDomain(prompt) {
1000
1284
  const lower = prompt.toLowerCase();
@@ -1026,6 +1310,12 @@ function inferAudience(prompt) {
1026
1310
  function inferFilters(prompt) {
1027
1311
  const filters = [];
1028
1312
  const lower = prompt.toLowerCase();
1313
+ const wantsSeasonStart = /\bseason[_\s-]*start\b/.test(lower);
1314
+ const wantsSeasonEnd = /\bseason[_\s-]*end\b/.test(lower);
1315
+ const wantsTopN = /\btop[_\s-]*n\b/.test(lower);
1316
+ const years = Array.from(new Set(Array.from(prompt.matchAll(/\b(20\d{2}|19\d{2})\b/g)).map((match) => Number(match[1]))))
1317
+ .filter((year) => Number.isFinite(year))
1318
+ .sort((a, b) => a - b);
1029
1319
  if (/\bweekly|week|last week|this week\b/.test(lower)) {
1030
1320
  filters.push({
1031
1321
  id: "week",
@@ -1042,6 +1332,47 @@ function inferFilters(prompt) {
1042
1332
  bindsTo: "date",
1043
1333
  });
1044
1334
  }
1335
+ if (wantsSeasonStart || wantsSeasonEnd || /\bseason|year|annual|nba\b/.test(lower) || years.length > 0) {
1336
+ if (years.length >= 2 || wantsSeasonStart || wantsSeasonEnd) {
1337
+ filters.push({
1338
+ id: "season_start",
1339
+ label: "Season start",
1340
+ type: "select",
1341
+ ...(years[0] ? { default: years[0] } : {}),
1342
+ ...(years.length ? { options: years.map(String) } : {}),
1343
+ bindsTo: "game_date_est.year",
1344
+ });
1345
+ filters.push({
1346
+ id: "season_end",
1347
+ label: "Season end",
1348
+ type: "select",
1349
+ ...(years[years.length - 1] ? { default: years[years.length - 1] } : {}),
1350
+ ...(years.length ? { options: years.map(String) } : {}),
1351
+ bindsTo: "game_date_est.year",
1352
+ });
1353
+ }
1354
+ else {
1355
+ filters.push({
1356
+ id: "season",
1357
+ label: "Season",
1358
+ type: "select",
1359
+ ...(years[0] ? { default: years[0] } : {}),
1360
+ ...(years.length ? { options: years.map(String) } : {}),
1361
+ bindsTo: "game_date_est.year",
1362
+ });
1363
+ }
1364
+ }
1365
+ const topN = /\btop(?:[_\s-]*n)?\s+(\d+)\b/i.exec(prompt)?.[1]
1366
+ ?? /\btop[_\s-]*n\s*[=:]?\s*(\d+)\b/i.exec(prompt)?.[1];
1367
+ if (topN || wantsTopN) {
1368
+ filters.push({
1369
+ id: "top_n",
1370
+ label: "Top N",
1371
+ type: "number",
1372
+ ...(topN ? { default: Number(topN) } : {}),
1373
+ bindsTo: "limit",
1374
+ });
1375
+ }
1045
1376
  if (/\benterprise|segment|smb|mid-market\b/.test(lower)) {
1046
1377
  filters.push({
1047
1378
  id: "segment",
@@ -1050,7 +1381,18 @@ function inferFilters(prompt) {
1050
1381
  bindsTo: "segment",
1051
1382
  });
1052
1383
  }
1053
- return filters;
1384
+ return uniquePlanFilters(filters);
1385
+ }
1386
+ function uniquePlanFilters(filters) {
1387
+ const seen = new Set();
1388
+ const out = [];
1389
+ for (const filter of filters) {
1390
+ if (seen.has(filter.id))
1391
+ continue;
1392
+ seen.add(filter.id);
1393
+ out.push(filter);
1394
+ }
1395
+ return out;
1054
1396
  }
1055
1397
  function inferReviewCadence(prompt) {
1056
1398
  const lower = prompt.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"app-builder.js","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-builder.js","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckcodeailabs/dql-agent",
3
- "version": "1.6.20",
3
+ "version": "1.6.21",
4
4
  "description": "DQL agent: knowledge graph, Skills, block-first answer loop, and pluggable LLM providers (Claude / OpenAI / Gemini / Ollama)",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -24,9 +24,9 @@
24
24
  "access": "public"
25
25
  },
26
26
  "dependencies": {
27
- "@duckcodeailabs/dql-core": "^1.6.20",
28
- "@duckcodeailabs/dql-governance": "^1.6.20",
29
- "@duckcodeailabs/dql-project": "^1.6.20",
27
+ "@duckcodeailabs/dql-core": "^1.6.21",
28
+ "@duckcodeailabs/dql-governance": "^1.6.21",
29
+ "@duckcodeailabs/dql-project": "^1.6.21",
30
30
  "better-sqlite3": "^11.7.0"
31
31
  },
32
32
  "devDependencies": {