@duckcodeailabs/dql-agent 1.10.0 → 1.10.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.
Files changed (78) hide show
  1. package/dist/agent-run-engine.d.ts.map +1 -1
  2. package/dist/agent-run-engine.js +6 -1
  3. package/dist/agent-run-engine.js.map +1 -1
  4. package/dist/analytical-compatibility.d.ts +61 -0
  5. package/dist/analytical-compatibility.d.ts.map +1 -0
  6. package/dist/analytical-compatibility.js +515 -0
  7. package/dist/analytical-compatibility.js.map +1 -0
  8. package/dist/analytical-execution-graph.d.ts +174 -0
  9. package/dist/analytical-execution-graph.d.ts.map +1 -0
  10. package/dist/analytical-execution-graph.js +599 -0
  11. package/dist/analytical-execution-graph.js.map +1 -0
  12. package/dist/analytical-failure-repair.d.ts +91 -0
  13. package/dist/analytical-failure-repair.d.ts.map +1 -0
  14. package/dist/analytical-failure-repair.js +325 -0
  15. package/dist/analytical-failure-repair.js.map +1 -0
  16. package/dist/analytical-frame.d.ts +19 -0
  17. package/dist/analytical-frame.d.ts.map +1 -0
  18. package/dist/analytical-frame.js +299 -0
  19. package/dist/analytical-frame.js.map +1 -0
  20. package/dist/analytical-period-resolution.d.ts +53 -0
  21. package/dist/analytical-period-resolution.d.ts.map +1 -0
  22. package/dist/analytical-period-resolution.js +218 -0
  23. package/dist/analytical-period-resolution.js.map +1 -0
  24. package/dist/analytical-readiness.d.ts +17 -0
  25. package/dist/analytical-readiness.d.ts.map +1 -0
  26. package/dist/analytical-readiness.js +95 -0
  27. package/dist/analytical-readiness.js.map +1 -0
  28. package/dist/analytical-result-facts.d.ts +79 -0
  29. package/dist/analytical-result-facts.d.ts.map +1 -0
  30. package/dist/analytical-result-facts.js +301 -0
  31. package/dist/analytical-result-facts.js.map +1 -0
  32. package/dist/answer-loop.d.ts +51 -4
  33. package/dist/answer-loop.d.ts.map +1 -1
  34. package/dist/answer-loop.js +866 -35
  35. package/dist/answer-loop.js.map +1 -1
  36. package/dist/governed-relational-compiler.d.ts +51 -0
  37. package/dist/governed-relational-compiler.d.ts.map +1 -1
  38. package/dist/governed-relational-compiler.js +144 -1
  39. package/dist/governed-relational-compiler.js.map +1 -1
  40. package/dist/index.d.ts +16 -4
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +9 -2
  43. package/dist/index.js.map +1 -1
  44. package/dist/kg/build.d.ts +2 -2
  45. package/dist/kg/build.d.ts.map +1 -1
  46. package/dist/kg/build.js +250 -10
  47. package/dist/kg/build.js.map +1 -1
  48. package/dist/meaning-resolution.d.ts +13 -0
  49. package/dist/meaning-resolution.d.ts.map +1 -1
  50. package/dist/meaning-resolution.js +69 -0
  51. package/dist/meaning-resolution.js.map +1 -1
  52. package/dist/metadata/analysis-planner.js +3 -1
  53. package/dist/metadata/analysis-planner.js.map +1 -1
  54. package/dist/metadata/catalog.d.ts +4 -2
  55. package/dist/metadata/catalog.d.ts.map +1 -1
  56. package/dist/metadata/catalog.js +227 -9
  57. package/dist/metadata/catalog.js.map +1 -1
  58. package/dist/metadata/meaning-evidence.d.ts +9 -2
  59. package/dist/metadata/meaning-evidence.d.ts.map +1 -1
  60. package/dist/metadata/meaning-evidence.js +105 -7
  61. package/dist/metadata/meaning-evidence.js.map +1 -1
  62. package/dist/plan-execution-adapter.d.ts +72 -1
  63. package/dist/plan-execution-adapter.d.ts.map +1 -1
  64. package/dist/plan-execution-adapter.js +208 -0
  65. package/dist/plan-execution-adapter.js.map +1 -1
  66. package/dist/resolved-analytical-plan.d.ts +14 -3
  67. package/dist/resolved-analytical-plan.d.ts.map +1 -1
  68. package/dist/resolved-analytical-plan.js +74 -20
  69. package/dist/resolved-analytical-plan.js.map +1 -1
  70. package/dist/router.d.ts +1 -1
  71. package/dist/router.d.ts.map +1 -1
  72. package/dist/router.js +167 -21
  73. package/dist/router.js.map +1 -1
  74. package/dist/skills/loader.d.ts +17 -0
  75. package/dist/skills/loader.d.ts.map +1 -1
  76. package/dist/skills/loader.js +62 -4
  77. package/dist/skills/loader.js.map +1 -1
  78. package/package.json +4 -4
package/dist/router.js CHANGED
@@ -16,7 +16,10 @@
16
16
  */
17
17
  import { classifyConversationalTurn, decideAgentAction, } from "./intent-controller.js";
18
18
  import { buildMeaningEvidencePackage, defaultQueryIntent, findExplicitEvidenceReference, questionTypeFromText, routeForEvidenceCandidate, validateMeaningResolution, } from "./meaning-resolution.js";
19
- import { buildResolvedAnalyticalPlan } from './resolved-analytical-plan.js';
19
+ import { normalizeAnalyticalQuestionFrameV2 } from "@duckcodeailabs/dql-core";
20
+ import { buildResolvedAnalyticalPlan, } from "./resolved-analytical-plan.js";
21
+ import { normalizeEvidenceAnalyticalCapability, solveAnalyticalCompatibility, } from "./analytical-compatibility.js";
22
+ import { buildDeterministicAnalyticalFrame } from "./analytical-frame.js";
20
23
  const DEFAULT_THRESHOLD = 0.7;
21
24
  const DEFAULT_CACHE_SIZE = 200;
22
25
  const DEFAULT_CACHE_TTL_MS = 10 * 60 * 1000;
@@ -188,7 +191,8 @@ function buildMeaningSystemPrompt() {
188
191
  "You may reference ONLY candidate IDs supplied below. Never invent an ID, table, column, metric, relationship, or filter value.",
189
192
  "Use low confidence and recommend clarify when material business meanings remain unresolved.",
190
193
  "Respond with ONLY one JSON object matching this shape:",
191
- '{"interpretedQuestion":string,"questionType":"definition"|"value"|"ranking"|"trend"|"comparison"|"diagnosis"|"research","selectedConceptIds":string[],"recommendedExecutionId"?:string,"queryIntent":{"measures":string[],"dimensions":string[],"filters":[{"field":string,"value":string}],"timeRange"?:string,"timeGrain"?:string,"order"?:"asc"|"desc","limit"?:number},"rejectedCandidates":[{"id":string,"reason":string}],"confidence":"high"|"medium"|"low","missingInformation":string[],"recommendedRoute":"certified"|"semantic"|"governed_sql"|"exploratory"|"clarify","clarifyingQuestion"?:string}',
194
+ '{"interpretedQuestion":string,"questionType":"definition"|"value"|"ranking"|"trend"|"comparison"|"diagnosis"|"research","selectedConceptIds":string[],"recommendedExecutionId"?:string,"queryIntent":{"measures":string[],"dimensions":string[],"filters":[{"field":string,"value":string}],"timeRange"?:string,"timeGrain"?:string,"order"?:"asc"|"desc","limit"?:number},"analyticalFrame"?:AnalyticalQuestionFrameV2,"rejectedCandidates":[{"id":string,"reason":string}],"confidence":"high"|"medium"|"low","missingInformation":string[],"recommendedRoute":"certified"|"semantic"|"governed_sql"|"exploratory"|"clarify","clarifyingQuestion"?:string}',
195
+ "AnalyticalQuestionFrameV2 uses version 2 and exact supplied IDs for metricConceptIds, entityGrainIds, dimensions with roles group_by/filter/display/rank_entity/time_axis, memberBindings, timeContext with bounded periods, comparison, ranking, requestedOutputs, and ambiguity. Include it for value/ranking/trend/comparison requests when the supplied capability facts are sufficient; otherwise report missingInformation.",
192
196
  ].join("\n");
193
197
  }
194
198
  function buildMeaningUserPrompt(request, evidence, candidates) {
@@ -213,6 +217,7 @@ function buildMeaningUserPrompt(request, evidence, candidates) {
213
217
  matchReasons: compactArray(candidate.matchReasons, 8, 240),
214
218
  compatibility: candidate.compatibility,
215
219
  compatibilityFacts: compactArray(candidate.compatibilityFacts, 8, 240),
220
+ analyticalCapability: candidate.analyticalCapability,
216
221
  }));
217
222
  const lines = [
218
223
  `Question: ${compactText(request.question, 2_000)}`,
@@ -302,9 +307,15 @@ function parseMeaningResolution(raw) {
302
307
  const recommendedExecutionId = typeof record.recommendedExecutionId === "string"
303
308
  ? record.recommendedExecutionId
304
309
  : undefined;
305
- const clarifyingQuestion = typeof record.clarifyingQuestion === "string" && record.clarifyingQuestion.trim()
310
+ const clarifyingQuestion = typeof record.clarifyingQuestion === "string" &&
311
+ record.clarifyingQuestion.trim()
306
312
  ? record.clarifyingQuestion.trim()
307
313
  : undefined;
314
+ const analyticalFrame = record.analyticalFrame === undefined
315
+ ? undefined
316
+ : normalizeAnalyticalQuestionFrameV2(record.analyticalFrame);
317
+ if (record.analyticalFrame !== undefined && !analyticalFrame)
318
+ return undefined;
308
319
  return {
309
320
  interpretedQuestion: record.interpretedQuestion.trim(),
310
321
  questionType: record.questionType,
@@ -326,6 +337,7 @@ function parseMeaningResolution(raw) {
326
337
  missingInformation,
327
338
  recommendedRoute: record.recommendedRoute,
328
339
  ...(clarifyingQuestion ? { clarifyingQuestion } : {}),
340
+ ...(analyticalFrame ? { analyticalFrame } : {}),
329
341
  };
330
342
  }
331
343
  function stringArray(value) {
@@ -351,39 +363,108 @@ function retrievalTrace(evidence, candidates) {
351
363
  };
352
364
  }
353
365
  function routeDecisionForResolution(base, evidence, candidates, resolution, source, question = resolution.interpretedQuestion, mode = 'authoritative') {
354
- const needsClarification = resolution.confidence === "low" || resolution.recommendedRoute === "clarify";
355
- const analytical = resolution.questionType === "diagnosis" || resolution.questionType === "research";
366
+ const routedResolution = enforceAnalyticalCompatibility(resolution, evidence, candidates);
367
+ const needsClarification = routedResolution.confidence === "low" ||
368
+ routedResolution.recommendedRoute === "clarify";
369
+ const analytical = routedResolution.questionType === "diagnosis" ||
370
+ routedResolution.questionType === "research";
356
371
  const reason = needsClarification
357
- ? `The retrieved evidence supports multiple business meanings: ${resolution.interpretedQuestion}`
358
- : `Resolved the question against ${resolution.selectedConceptIds.join(", ")}: ${resolution.interpretedQuestion}`;
372
+ ? `The retrieved evidence does not prove one complete analytical tuple: ${routedResolution.missingInformation.join(" ") || routedResolution.interpretedQuestion}`
373
+ : `Resolved the question against ${routedResolution.selectedConceptIds.join(", ")}: ${routedResolution.interpretedQuestion}`;
359
374
  const resolvedAnalyticalPlan = buildResolvedAnalyticalPlan({
360
375
  question,
361
- resolution,
376
+ resolution: routedResolution,
362
377
  evidence,
363
378
  candidates,
364
379
  mode,
365
380
  });
366
381
  return {
367
382
  ...base,
368
- action: needsClarification ? "clarify" : analytical ? "investigate" : "answer",
369
- confidence: resolution.confidence === "high" ? 0.9 : resolution.confidence === "medium" ? 0.72 : 0.45,
383
+ action: needsClarification
384
+ ? "clarify"
385
+ : analytical
386
+ ? "investigate"
387
+ : "answer",
388
+ confidence: routedResolution.confidence === "high"
389
+ ? 0.9
390
+ : routedResolution.confidence === "medium"
391
+ ? 0.72
392
+ : 0.45,
370
393
  reason,
371
394
  source,
372
395
  category: analytical ? "data_analysis" : needsClarification ? "unclear" : "data_lookup",
373
396
  depth: analytical ? "deep" : "quick",
374
- meaningResolution: resolution,
397
+ meaningResolution: routedResolution,
375
398
  resolvedAnalyticalPlan,
376
399
  retrievalEvidence: retrievalTrace(evidence, candidates),
377
400
  requiresClarification: needsClarification,
378
- ...(needsClarification ? { clarificationOptions: buildClarificationOptions(candidates) } : {}),
379
401
  ...(needsClarification
380
- ? { clarifyingQuestion: resolution.clarifyingQuestion ?? buildEvidenceClarification(candidates, resolution.missingInformation) }
402
+ ? { clarificationOptions: buildClarificationOptions(candidates) }
403
+ : {}),
404
+ ...(needsClarification
405
+ ? {
406
+ clarifyingQuestion: routedResolution.clarifyingQuestion ??
407
+ buildEvidenceClarification(candidates, routedResolution.missingInformation),
408
+ }
381
409
  : {}),
382
410
  };
383
411
  }
412
+ function enforceAnalyticalCompatibility(resolution, evidence, candidates) {
413
+ if (!resolution.analyticalFrame)
414
+ return resolution;
415
+ const capabilityCandidates = candidates.flatMap((candidate) => {
416
+ const normalized = normalizeEvidenceAnalyticalCapability(candidate);
417
+ return normalized.status === "complete" && normalized.capability
418
+ ? [
419
+ {
420
+ candidateId: candidate.id,
421
+ capability: normalized.capability,
422
+ fitClass: candidate.kind === "certified_block"
423
+ ? (candidate.analyticalFitClass ?? "parameterized")
424
+ : "exact",
425
+ },
426
+ ]
427
+ : [];
428
+ });
429
+ const result = solveAnalyticalCompatibility({
430
+ frame: resolution.analyticalFrame,
431
+ candidates: capabilityCandidates,
432
+ policies: evidence.analyticalPolicies,
433
+ });
434
+ if (result.status === "ready") {
435
+ const metricEvidence = candidates.find((candidate) => candidate.kind === "semantic_metric" &&
436
+ candidate.analyticalCapability?.metricId === result.capability.metricId);
437
+ return {
438
+ ...resolution,
439
+ analyticalFrame: result.frame,
440
+ analyticalPolicyIds: result.policyIds,
441
+ ...(metricEvidence ? { selectedConceptIds: [metricEvidence.id] } : {}),
442
+ recommendedExecutionId: result.candidateId,
443
+ recommendedRoute: result.route,
444
+ missingInformation: [],
445
+ };
446
+ }
447
+ const failures = result.failures.map((failure) => failure.message);
448
+ return {
449
+ ...resolution,
450
+ analyticalFrame: result.frame,
451
+ analyticalPolicyIds: result.policyIds,
452
+ confidence: result.status === "clarify" ? "low" : resolution.confidence,
453
+ recommendedRoute: "clarify",
454
+ missingInformation: [
455
+ ...new Set([...resolution.missingInformation, ...failures]),
456
+ ],
457
+ clarifyingQuestion: result.status === "clarify"
458
+ ? result.failure.message
459
+ : (failures[0] ??
460
+ "The requested analytical tuple is not executable from the current governed model."),
461
+ };
462
+ }
384
463
  function buildClarificationOptions(candidates) {
385
- const governed = candidates.filter((candidate) => candidate.compatibility !== "incompatible"
386
- && (candidate.kind === "certified_block" || candidate.kind === "semantic_metric" || candidate.kind === "semantic_member"));
464
+ const governed = candidates.filter((candidate) => candidate.compatibility !== "incompatible" &&
465
+ (candidate.kind === "certified_block" ||
466
+ candidate.kind === "semantic_metric" ||
467
+ candidate.kind === "semantic_member"));
387
468
  const pool = governed.length > 1
388
469
  ? governed
389
470
  : candidates.filter((candidate) => candidate.compatibility !== "incompatible");
@@ -410,7 +491,13 @@ function buildEvidenceClarification(candidates, missing = []) {
410
491
  return `I found relevant governed context, but need ${missing.join(" and ")}. What should I use?`;
411
492
  return "Which governed business meaning should I use for this question?";
412
493
  }
413
- function directResolution(request, evidence, candidate) {
494
+ function directResolution(request, evidence, candidate, candidates) {
495
+ const analyticalFrame = buildDeterministicAnalyticalFrame({
496
+ question: request.question,
497
+ evidence,
498
+ metricCandidate: candidate,
499
+ candidates,
500
+ });
414
501
  return {
415
502
  interpretedQuestion: request.question,
416
503
  questionType: questionTypeFromText(request.question),
@@ -421,12 +508,18 @@ function directResolution(request, evidence, candidate) {
421
508
  confidence: "high",
422
509
  missingInformation: [],
423
510
  recommendedRoute: routeForEvidenceCandidate(candidate),
511
+ ...(analyticalFrame ? { analyticalFrame } : {}),
424
512
  };
425
513
  }
426
514
  function routeWithoutMeaningModel(request, base, evidence, candidates, planMode = 'authoritative') {
427
515
  const exactCompatible = candidates.filter((candidate) => candidate.exactMatch && candidate.compatibility !== "incompatible");
428
- if (exactCompatible.length === 1 && !hasMateriallyRelatedCompetitor(exactCompatible[0], candidates)) {
429
- return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, exactCompatible[0]), "heuristic", request.question, planMode);
516
+ if (exactCompatible.length === 1 &&
517
+ !hasMateriallyRelatedCompetitor(exactCompatible[0], candidates)) {
518
+ return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, exactCompatible[0], candidates), "heuristic", request.question, planMode);
519
+ }
520
+ const semanticMetric = uniqueExecutableSemanticMetric(evidence, candidates);
521
+ if (semanticMetric) {
522
+ return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, semanticMetric, candidates), "heuristic", request.question, planMode);
430
523
  }
431
524
  if (base.action === "investigate") {
432
525
  return {
@@ -444,6 +537,59 @@ function routeWithoutMeaningModel(request, base, evidence, candidates, planMode
444
537
  retrievalEvidence: retrievalTrace(evidence, candidates),
445
538
  };
446
539
  }
540
+ /**
541
+ * AGT-017 / AGT-018 / PERF-002 — provider failure must not send an otherwise
542
+ * unambiguous semantic question back through the legacy answer cascade. A dbt
543
+ * semantic snapshot can expose one authored metric alongside three technical
544
+ * representations of the same calculation: its backing measure, a
545
+ * measure-derived metric execution shim, and a canonical registry alias. Only
546
+ * complete authored metric capabilities count as business meanings here.
547
+ *
548
+ * This is a fallback, not a general lexical winner: all surviving authored
549
+ * metrics must normalize to one stable metric identity, be compatible with the
550
+ * requested tuple, and match the planner's requested measure terms. Two real
551
+ * metrics therefore remain ambiguous and continue to clarification/resolution.
552
+ */
553
+ function uniqueExecutableSemanticMetric(evidence, candidates) {
554
+ const requestedTokens = metricTokens(evidence.parsedIntent?.measures ?? []);
555
+ if (requestedTokens.size === 0)
556
+ return undefined;
557
+ const byMetricId = new Map();
558
+ for (const candidate of candidates) {
559
+ if (candidate.kind !== "semantic_metric" || candidate.compatibility !== "compatible")
560
+ continue;
561
+ if (/\bdbt\s+measure\b/i.test(candidate.provenance ?? ""))
562
+ continue;
563
+ const normalized = normalizeEvidenceAnalyticalCapability(candidate);
564
+ if (normalized.status !== "complete" || !normalized.capability)
565
+ continue;
566
+ const candidateTokens = metricTokens([
567
+ candidate.name,
568
+ ...(candidate.aliases ?? []),
569
+ normalized.capability.metricId,
570
+ ]);
571
+ if (![...requestedTokens].some((token) => candidateTokens.has(token)))
572
+ continue;
573
+ const current = byMetricId.get(normalized.capability.metricId);
574
+ if (!current || candidate.relevanceScore > current.relevanceScore) {
575
+ byMetricId.set(normalized.capability.metricId, candidate);
576
+ }
577
+ }
578
+ return byMetricId.size === 1 ? [...byMetricId.values()][0] : undefined;
579
+ }
580
+ function metricTokens(values) {
581
+ const ignored = new Set([
582
+ "a", "an", "and", "as", "at", "by", "current", "for", "from", "is",
583
+ "last", "measure", "metric", "of", "on", "show", "the", "this", "today",
584
+ "top", "total", "value", "what", "year",
585
+ ]);
586
+ return new Set(values
587
+ .join(" ")
588
+ .toLowerCase()
589
+ .replace(/[^a-z0-9]+/g, " ")
590
+ .split(/\s+/)
591
+ .filter((token) => token.length >= 2 && !ignored.has(token)));
592
+ }
447
593
  function hasMateriallyRelatedCompetitor(exact, candidates) {
448
594
  const floor = Math.max(0.55, exact.relevanceScore - 0.2);
449
595
  return candidates.some((candidate) => candidate.id !== exact.id
@@ -578,15 +724,15 @@ export function createHybridRouter(options = {}) {
578
724
  if (candidates.length > 0) {
579
725
  const explicit = selectedEvidence ?? findExplicitEvidenceReference(request.question, candidates);
580
726
  if (explicit && explicit.compatibility !== "incompatible") {
581
- return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, explicit), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
727
+ return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, explicit, candidates), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
582
728
  }
583
729
  const exactCompatible = candidates.filter((candidate) => candidate.exactMatch && candidate.compatibility !== "incompatible");
584
730
  if (exactCompatible.length === 1 && !hasMateriallyRelatedCompetitor(exactCompatible[0], candidates)) {
585
- return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, exactCompatible[0]), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
731
+ return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, exactCompatible[0], candidates), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
586
732
  }
587
733
  const dominant = dominantCompatibleGovernedCandidate(candidates);
588
734
  if (dominant) {
589
- return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, dominant), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
735
+ return routeDecisionForResolution(base, evidence, candidates, directResolution(request, evidence, dominant, candidates), "heuristic", request.question, options.resolvedPlanMode ?? 'authoritative');
590
736
  }
591
737
  if (shouldDeferCompositionalFollowUpToExecutor(base, candidates)) {
592
738
  return routeWithoutMeaningModel(request, base, evidence, candidates, options.resolvedPlanMode ?? 'authoritative');
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
@@ -49,12 +49,28 @@ export interface Skill {
49
49
  examples?: string[];
50
50
  sourceRefs?: string[];
51
51
  vocabulary: Record<string, string>;
52
+ /**
53
+ * Structured analytical defaults. These fields may fill an omitted time or
54
+ * comparison policy only after normal Skill domain/area eligibility gates;
55
+ * they never authorize a metric, member, relationship, or execution route.
56
+ */
57
+ analyticalPolicy?: SkillAnalyticalPolicy;
52
58
  /** Markdown body (everything after the closing `---`). */
53
59
  body: string;
54
60
  sourcePath: string;
55
61
  /** True for the editable starter skills seeded by `seedDefaultSkills`. */
56
62
  isStarter?: boolean;
57
63
  }
64
+ export interface SkillAnalyticalPolicy {
65
+ metricIds?: string[];
66
+ timeRole?: string;
67
+ calendarId?: string;
68
+ timezone?: string;
69
+ completenessPolicy?: "partial_current" | "latest_complete" | "closed_period";
70
+ comparisonAlignment?: "elapsed_period" | "calendar_period" | "fiscal_period";
71
+ defaultRankingPeriod?: "current" | "comparison";
72
+ narrativeGuidance?: string[];
73
+ }
58
74
  export interface SkillLoadResult {
59
75
  skills: Skill[];
60
76
  errors: Array<{
@@ -112,6 +128,7 @@ export interface WriteSkillInput {
112
128
  examples?: string[];
113
129
  sourceRefs?: string[];
114
130
  vocabulary?: Record<string, string>;
131
+ analyticalPolicy?: SkillAnalyticalPolicy;
115
132
  body?: string;
116
133
  isStarter?: boolean;
117
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,7 @@ export function parseSkill(raw, path) {
105
105
  examples: pickStringArray(meta.examples),
106
106
  sourceRefs: pickStringArray(meta.source_refs),
107
107
  vocabulary: pickStringMap(meta.vocabulary),
108
+ analyticalPolicy: parseSkillAnalyticalPolicy(meta.analytical_policy ?? meta.analyticalPolicy),
108
109
  body,
109
110
  sourcePath: path,
110
111
  isStarter: starter === true || starter === 'true' || starter === 'yes' ? true : undefined,
@@ -241,9 +242,29 @@ export function renderSkill(skill) {
241
242
  lines.push(` ${quoteIfNeeded(key)}: ${quoteIfNeeded(value)}`);
242
243
  }
243
244
  }
245
+ if (skill.analyticalPolicy) {
246
+ const policy = skill.analyticalPolicy;
247
+ lines.push("analytical_policy:");
248
+ if ((policy.metricIds?.length ?? 0) > 0)
249
+ lines.push(` metric_ids: [${policy.metricIds.map(quoteIfNeeded).join(", ")}]`);
250
+ if (policy.timeRole)
251
+ lines.push(` time_role: ${quoteIfNeeded(policy.timeRole)}`);
252
+ if (policy.calendarId)
253
+ lines.push(` calendar_id: ${quoteIfNeeded(policy.calendarId)}`);
254
+ if (policy.timezone)
255
+ lines.push(` timezone: ${quoteIfNeeded(policy.timezone)}`);
256
+ if (policy.completenessPolicy)
257
+ lines.push(` completeness_policy: ${policy.completenessPolicy}`);
258
+ if (policy.comparisonAlignment)
259
+ lines.push(` comparison_alignment: ${policy.comparisonAlignment}`);
260
+ if (policy.defaultRankingPeriod)
261
+ lines.push(` default_ranking_period: ${policy.defaultRankingPeriod}`);
262
+ if ((policy.narrativeGuidance?.length ?? 0) > 0)
263
+ lines.push(` narrative_guidance: [${policy.narrativeGuidance.map(quoteIfNeeded).join(", ")}]`);
264
+ }
244
265
  if (skill.isStarter)
245
- lines.push('starter: true');
246
- lines.push('---');
266
+ lines.push("starter: true");
267
+ lines.push("---");
247
268
  const body = skill.body.trim();
248
269
  return `${lines.join('\n')}\n${body ? `${body}\n` : ''}`;
249
270
  }
@@ -273,8 +294,13 @@ function toSkill(projectRoot, input) {
273
294
  examples: input.examples ?? [],
274
295
  sourceRefs: input.sourceRefs ?? [],
275
296
  vocabulary: input.vocabulary ?? {},
276
- body: input.body ?? '',
277
- sourcePath: skillPath(projectRoot, input.id, input.domains?.length ? input.domains : (input.domain ? [input.domain] : [])),
297
+ analyticalPolicy: input.analyticalPolicy,
298
+ body: input.body ?? "",
299
+ sourcePath: skillPath(projectRoot, input.id, input.domains?.length
300
+ ? input.domains
301
+ : input.domain
302
+ ? [input.domain]
303
+ : []),
278
304
  isStarter: input.isStarter,
279
305
  };
280
306
  }
@@ -358,6 +384,38 @@ function pickStringMap(v) {
358
384
  }
359
385
  return out;
360
386
  }
387
+ function parseSkillAnalyticalPolicy(value) {
388
+ if (!value || typeof value !== "object" || Array.isArray(value))
389
+ return undefined;
390
+ const record = value;
391
+ const completenessPolicy = pickString(record.completeness_policy ?? record.completenessPolicy);
392
+ const comparisonAlignment = pickString(record.comparison_alignment ?? record.comparisonAlignment);
393
+ const defaultRankingPeriod = pickString(record.default_ranking_period ?? record.defaultRankingPeriod);
394
+ const policy = {
395
+ metricIds: pickStringArray(record.metric_ids ?? record.metricIds),
396
+ timeRole: pickString(record.time_role ?? record.timeRole),
397
+ calendarId: pickString(record.calendar_id ?? record.calendarId),
398
+ timezone: pickString(record.timezone),
399
+ completenessPolicy: completenessPolicy === "partial_current" ||
400
+ completenessPolicy === "latest_complete" ||
401
+ completenessPolicy === "closed_period"
402
+ ? completenessPolicy
403
+ : undefined,
404
+ comparisonAlignment: comparisonAlignment === "elapsed_period" ||
405
+ comparisonAlignment === "calendar_period" ||
406
+ comparisonAlignment === "fiscal_period"
407
+ ? comparisonAlignment
408
+ : undefined,
409
+ defaultRankingPeriod: defaultRankingPeriod === "current" ||
410
+ defaultRankingPeriod === "comparison"
411
+ ? defaultRankingPeriod
412
+ : undefined,
413
+ narrativeGuidance: pickStringArray(record.narrative_guidance ?? record.narrativeGuidance),
414
+ };
415
+ return Object.values(policy).some((item) => Array.isArray(item) ? item.length > 0 : Boolean(item))
416
+ ? policy
417
+ : undefined;
418
+ }
361
419
  /**
362
420
  * Tiny YAML parser tailored to skill frontmatter.
363
421
  *