@manehorizons/cadence-core 1.5.1 → 1.6.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/cli/commands/assumption.d.ts.map +1 -1
- package/dist/cli/commands/assumption.js +2 -1
- package/dist/cli/commands/assumption.js.map +1 -1
- package/dist/cli/commands/decision.d.ts.map +1 -1
- package/dist/cli/commands/decision.js +2 -1
- package/dist/cli/commands/decision.js.map +1 -1
- package/dist/cli/commands/draft-new.d.ts.map +1 -1
- package/dist/cli/commands/draft-new.js +2 -1
- package/dist/cli/commands/draft-new.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +15 -7
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/intelligence.d.ts.map +1 -1
- package/dist/cli/commands/intelligence.js +4 -1
- package/dist/cli/commands/intelligence.js.map +1 -1
- package/dist/cli/commands/milestone.js +1 -1
- package/dist/cli/commands/milestone.js.map +1 -1
- package/dist/cli/commands/recommendation.d.ts.map +1 -1
- package/dist/cli/commands/recommendation.js +2 -1
- package/dist/cli/commands/recommendation.js.map +1 -1
- package/dist/cli/commands/spec.d.ts.map +1 -1
- package/dist/cli/commands/spec.js +2 -1
- package/dist/cli/commands/spec.js.map +1 -1
- package/dist/intelligence/context.js +2 -1
- package/dist/intelligence/context.js.map +1 -1
- package/dist/intelligence/inspect.js +2 -1
- package/dist/intelligence/inspect.js.map +1 -1
- package/dist/intelligence/milestone.d.ts.map +1 -1
- package/dist/intelligence/milestone.js +2 -1
- package/dist/intelligence/milestone.js.map +1 -1
- package/dist/intelligence/recommend.d.ts.map +1 -1
- package/dist/intelligence/recommend.js +2 -1
- package/dist/intelligence/recommend.js.map +1 -1
- package/dist/intelligence/render-intelligence-audit.d.ts +1 -1
- package/dist/intelligence/render-intelligence-audit.d.ts.map +1 -1
- package/dist/intelligence/render-intelligence-stats.d.ts +1 -1
- package/dist/intelligence/render-intelligence-stats.d.ts.map +1 -1
- package/dist/intelligence/store/assumptions.d.ts +17 -0
- package/dist/intelligence/store/assumptions.d.ts.map +1 -0
- package/dist/intelligence/store/assumptions.js +63 -0
- package/dist/intelligence/store/assumptions.js.map +1 -0
- package/dist/intelligence/store/audit.d.ts +42 -0
- package/dist/intelligence/store/audit.d.ts.map +1 -0
- package/dist/intelligence/store/audit.js +88 -0
- package/dist/intelligence/store/audit.js.map +1 -0
- package/dist/intelligence/store/decisions.d.ts +19 -0
- package/dist/intelligence/store/decisions.d.ts.map +1 -0
- package/dist/intelligence/store/decisions.js +147 -0
- package/dist/intelligence/store/decisions.js.map +1 -0
- package/dist/intelligence/store/ids.d.ts +6 -0
- package/dist/intelligence/store/ids.d.ts.map +1 -0
- package/dist/intelligence/store/ids.js +44 -0
- package/dist/intelligence/store/ids.js.map +1 -0
- package/dist/intelligence/store/io.d.ts +10 -0
- package/dist/intelligence/store/io.d.ts.map +1 -0
- package/dist/intelligence/store/io.js +70 -0
- package/dist/intelligence/store/io.js.map +1 -0
- package/dist/intelligence/store/milestones.d.ts +4 -0
- package/dist/intelligence/store/milestones.d.ts.map +1 -0
- package/dist/intelligence/store/milestones.js +20 -0
- package/dist/intelligence/store/milestones.js.map +1 -0
- package/dist/intelligence/store/paths.d.ts +11 -0
- package/dist/intelligence/store/paths.d.ts.map +1 -0
- package/dist/intelligence/store/paths.js +42 -0
- package/dist/intelligence/store/paths.js.map +1 -0
- package/dist/intelligence/store/recommendations.d.ts +23 -0
- package/dist/intelligence/store/recommendations.d.ts.map +1 -0
- package/dist/intelligence/store/recommendations.js +115 -0
- package/dist/intelligence/store/recommendations.js.map +1 -0
- package/dist/intelligence/store/reconcile.d.ts +8 -0
- package/dist/intelligence/store/reconcile.d.ts.map +1 -0
- package/dist/intelligence/store/reconcile.js +42 -0
- package/dist/intelligence/store/reconcile.js.map +1 -0
- package/dist/intelligence/store/stats.d.ts +36 -0
- package/dist/intelligence/store/stats.d.ts.map +1 -0
- package/dist/intelligence/store/stats.js +106 -0
- package/dist/intelligence/store/stats.js.map +1 -0
- package/package.json +2 -2
- package/dist/intelligence/store.d.ts +0 -143
- package/dist/intelligence/store.d.ts.map +0 -1
- package/dist/intelligence/store.js +0 -701
- package/dist/intelligence/store.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../../src/intelligence/store/reconcile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,aAAa,EACb,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,8BAA8B,EAC9B,wBAAwB,EACxB,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAS5D,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY;IAEZ,MAAM,SAAS,GAAG,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,MAAM,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC7D,0FAA0F;IAC1F,MAAM,UAAU,GAAG,yBAAyB,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7E,sEAAsE;IACtE,wEAAwE;IACxE,2DAA2D;IAC3D,MAAM,UAAU,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACzD,yGAAyG;IACzG,MAAM,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,+BAA+B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,+EAA+E;IAC/E,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,MAAM,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5E,OAAO;QACL,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,MAAM;QAClD,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM;QACxC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Assumption, AssumptionLedger, Evidence, EvidenceLedger, IntelligenceDecision, IntelligenceDecisionLedger, Recommendation, RecommendationLedger } from '@manehorizons/cadence-types';
|
|
2
|
+
export type IntelligenceStats = {
|
|
3
|
+
recommendations: {
|
|
4
|
+
total: number;
|
|
5
|
+
byStatus: Record<Recommendation['status'], number>;
|
|
6
|
+
byReadiness: Record<Recommendation['readiness'], number>;
|
|
7
|
+
};
|
|
8
|
+
evidence: {
|
|
9
|
+
total: number;
|
|
10
|
+
byKind: Record<Evidence['kind'], number>;
|
|
11
|
+
};
|
|
12
|
+
assumptions: {
|
|
13
|
+
total: number;
|
|
14
|
+
byStatus: Record<Assumption['status'], number>;
|
|
15
|
+
};
|
|
16
|
+
decisions: {
|
|
17
|
+
total: number;
|
|
18
|
+
byStatus: Record<IntelligenceDecision['status'], number>;
|
|
19
|
+
untied: number;
|
|
20
|
+
};
|
|
21
|
+
links: {
|
|
22
|
+
brokenAssumptionLinks: number;
|
|
23
|
+
brokenDecisionLinks: number;
|
|
24
|
+
brokenEvidenceLinks: number;
|
|
25
|
+
};
|
|
26
|
+
perRec: Array<{
|
|
27
|
+
id: string;
|
|
28
|
+
title: string;
|
|
29
|
+
status: Recommendation['status'];
|
|
30
|
+
assumptionsByStatus: Record<Assumption['status'], number>;
|
|
31
|
+
decisionsByStatus: Record<IntelligenceDecision['status'], number>;
|
|
32
|
+
evidenceCount: number;
|
|
33
|
+
}>;
|
|
34
|
+
};
|
|
35
|
+
export declare function computeIntelligenceStats(recLedger: RecommendationLedger, evLedger: EvidenceLedger, asLedger: AssumptionLedger, decLedger: IntelligenceDecisionLedger): IntelligenceStats;
|
|
36
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/intelligence/store/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACnD,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;KAC1D,CAAC;IACF,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;KAC1C,CAAC;IACF,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;KAChD,CAAC;IACF,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE;QACL,qBAAqB,EAAE,MAAM,CAAC;QAC9B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1D,iBAAiB,EAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAClE,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ,CAAC;AAyBF,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,0BAA0B,GACpC,iBAAiB,CA0FnB"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
const REC_STATUSES = [
|
|
2
|
+
'candidate',
|
|
3
|
+
'accepted',
|
|
4
|
+
'deferred',
|
|
5
|
+
'rejected',
|
|
6
|
+
'converted',
|
|
7
|
+
];
|
|
8
|
+
const REC_READINESSES = [
|
|
9
|
+
'raw-idea',
|
|
10
|
+
'needs-evidence',
|
|
11
|
+
'needs-decision',
|
|
12
|
+
'ready-for-milestone',
|
|
13
|
+
'ready-for-cadence-spec',
|
|
14
|
+
'blocked',
|
|
15
|
+
];
|
|
16
|
+
const EV_KINDS = ['file', 'command', 'cadence-artifact', 'note'];
|
|
17
|
+
const AS_STATUSES = ['open', 'validated', 'rejected'];
|
|
18
|
+
const DEC_STATUSES = [
|
|
19
|
+
'active',
|
|
20
|
+
'superseded',
|
|
21
|
+
'rescinded',
|
|
22
|
+
];
|
|
23
|
+
export function computeIntelligenceStats(recLedger, evLedger, asLedger, decLedger) {
|
|
24
|
+
const recByStatus = Object.fromEntries(REC_STATUSES.map((s) => [s, 0]));
|
|
25
|
+
const recByReadiness = Object.fromEntries(REC_READINESSES.map((r) => [r, 0]));
|
|
26
|
+
for (const r of recLedger.recommendations) {
|
|
27
|
+
recByStatus[r.status]++;
|
|
28
|
+
recByReadiness[r.readiness]++;
|
|
29
|
+
}
|
|
30
|
+
const evByKind = Object.fromEntries(EV_KINDS.map((k) => [k, 0]));
|
|
31
|
+
for (const ev of evLedger.evidence)
|
|
32
|
+
evByKind[ev.kind]++;
|
|
33
|
+
const asByStatus = Object.fromEntries(AS_STATUSES.map((s) => [s, 0]));
|
|
34
|
+
for (const a of asLedger.assumptions)
|
|
35
|
+
asByStatus[a.status]++;
|
|
36
|
+
const decByStatus = Object.fromEntries(DEC_STATUSES.map((s) => [s, 0]));
|
|
37
|
+
let decUntied = 0;
|
|
38
|
+
for (const d of decLedger.decisions) {
|
|
39
|
+
decByStatus[d.status]++;
|
|
40
|
+
if (d.recommendationId === undefined)
|
|
41
|
+
decUntied++;
|
|
42
|
+
}
|
|
43
|
+
const asById = new Map(asLedger.assumptions.map((a) => [a.id, a]));
|
|
44
|
+
const decById = new Map(decLedger.decisions.map((d) => [d.id, d]));
|
|
45
|
+
const evById = new Map(evLedger.evidence.map((e) => [e.id, e]));
|
|
46
|
+
let brokenAssumptionLinks = 0;
|
|
47
|
+
let brokenDecisionLinks = 0;
|
|
48
|
+
let brokenEvidenceLinks = 0;
|
|
49
|
+
for (const r of recLedger.recommendations) {
|
|
50
|
+
for (const id of r.assumptionIds)
|
|
51
|
+
if (!asById.has(id))
|
|
52
|
+
brokenAssumptionLinks++;
|
|
53
|
+
for (const id of r.decisionIds)
|
|
54
|
+
if (!decById.has(id))
|
|
55
|
+
brokenDecisionLinks++;
|
|
56
|
+
for (const id of r.evidenceIds)
|
|
57
|
+
if (!evById.has(id))
|
|
58
|
+
brokenEvidenceLinks++;
|
|
59
|
+
}
|
|
60
|
+
const perRec = recLedger.recommendations.map((r) => {
|
|
61
|
+
const ascount = Object.fromEntries(AS_STATUSES.map((s) => [s, 0]));
|
|
62
|
+
const dccount = Object.fromEntries(DEC_STATUSES.map((s) => [s, 0]));
|
|
63
|
+
for (const id of r.assumptionIds) {
|
|
64
|
+
const a = asById.get(id);
|
|
65
|
+
if (a)
|
|
66
|
+
ascount[a.status]++;
|
|
67
|
+
}
|
|
68
|
+
for (const id of r.decisionIds) {
|
|
69
|
+
const d = decById.get(id);
|
|
70
|
+
if (d)
|
|
71
|
+
dccount[d.status]++;
|
|
72
|
+
}
|
|
73
|
+
let evCount = 0;
|
|
74
|
+
for (const id of r.evidenceIds)
|
|
75
|
+
if (evById.has(id))
|
|
76
|
+
evCount++;
|
|
77
|
+
return {
|
|
78
|
+
id: r.id,
|
|
79
|
+
title: r.title,
|
|
80
|
+
status: r.status,
|
|
81
|
+
assumptionsByStatus: ascount,
|
|
82
|
+
decisionsByStatus: dccount,
|
|
83
|
+
evidenceCount: evCount,
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
return {
|
|
87
|
+
recommendations: {
|
|
88
|
+
total: recLedger.recommendations.length,
|
|
89
|
+
byStatus: recByStatus,
|
|
90
|
+
byReadiness: recByReadiness,
|
|
91
|
+
},
|
|
92
|
+
evidence: { total: evLedger.evidence.length, byKind: evByKind },
|
|
93
|
+
assumptions: {
|
|
94
|
+
total: asLedger.assumptions.length,
|
|
95
|
+
byStatus: asByStatus,
|
|
96
|
+
},
|
|
97
|
+
decisions: {
|
|
98
|
+
total: decLedger.decisions.length,
|
|
99
|
+
byStatus: decByStatus,
|
|
100
|
+
untied: decUntied,
|
|
101
|
+
},
|
|
102
|
+
links: { brokenAssumptionLinks, brokenDecisionLinks, brokenEvidenceLinks },
|
|
103
|
+
perRec,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/intelligence/store/stats.ts"],"names":[],"mappings":"AA6CA,MAAM,YAAY,GAA+B;IAC/C,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;CACZ,CAAC;AACF,MAAM,eAAe,GAAkC;IACrD,UAAU;IACV,gBAAgB;IAChB,gBAAgB;IAChB,qBAAqB;IACrB,wBAAwB;IACxB,SAAS;CACV,CAAC;AACF,MAAM,QAAQ,GAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;AACrF,MAAM,WAAW,GAA2B,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAC9E,MAAM,YAAY,GAAqC;IACrD,QAAQ;IACR,YAAY;IACZ,WAAW;CACZ,CAAC;AAEF,MAAM,UAAU,wBAAwB,CACtC,SAA+B,EAC/B,QAAwB,EACxB,QAA0B,EAC1B,SAAqC;IAErC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CACpC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACY,CAAC;IAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACvC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACY,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;QAC1C,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACQ,CAAC;IACtC,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAExD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACS,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW;QAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IAE7D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CACpC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACkB,CAAC;IACpD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACpC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,gBAAgB,KAAK,SAAS;YAAE,SAAS,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC;IAEzE,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;QAC1C,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,aAAa;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,qBAAqB,EAAE,CAAC;QAC/E,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,mBAAmB,EAAE,CAAC;QAC5E,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,mBAAmB,EAAE,CAAC;IAC7E,CAAC;IAED,MAAM,MAAM,GAAgC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACS,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACkB,CAAC;QACpD,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW;YAAE,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,OAAO,EAAE,CAAC;QAC9D,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,mBAAmB,EAAE,OAAO;YAC5B,iBAAiB,EAAE,OAAO;YAC1B,aAAa,EAAE,OAAO;SACvB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,eAAe,EAAE;YACf,KAAK,EAAE,SAAS,CAAC,eAAe,CAAC,MAAM;YACvC,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,cAAc;SAC5B;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC/D,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM;YAClC,QAAQ,EAAE,UAAU;SACrB;QACD,SAAS,EAAE;YACT,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM;YACjC,QAAQ,EAAE,WAAW;YACrB,MAAM,EAAE,SAAS;SAClB;QACD,KAAK,EAAE,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE;QAC1E,MAAM;KACP,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manehorizons/cadence-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=20"
|
|
6
6
|
},
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@anthropic-ai/sdk": "^0.96.0",
|
|
51
51
|
"commander": "^13.0.0",
|
|
52
52
|
"zod": "^4.4.3",
|
|
53
|
-
"@manehorizons/cadence-types": "1.
|
|
53
|
+
"@manehorizons/cadence-types": "1.6.1"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"vitest": "^2.1.0",
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { type Assumption, type AssumptionLedger, type Evidence, type EvidenceLedger, type IntelligenceDecision, type IntelligenceDecisionLedger, type MilestoneLedger, type Recommendation, type RecommendationLedger, type RecommendationPriority, type RecommendationReadiness } from '@manehorizons/cadence-types';
|
|
2
|
-
export type AddRecommendationInput = {
|
|
3
|
-
title: string;
|
|
4
|
-
summary: string;
|
|
5
|
-
priority: RecommendationPriority;
|
|
6
|
-
readiness: RecommendationReadiness;
|
|
7
|
-
affectedAreas: string[];
|
|
8
|
-
affectedFiles: string[];
|
|
9
|
-
evidenceSummary?: string;
|
|
10
|
-
};
|
|
11
|
-
export declare function intelligenceDir(root: string): string;
|
|
12
|
-
export declare function readRecommendationLedger(root: string): Promise<RecommendationLedger>;
|
|
13
|
-
export declare function readEvidenceLedger(root: string): Promise<EvidenceLedger>;
|
|
14
|
-
export declare function readAssumptionLedger(root: string): Promise<AssumptionLedger>;
|
|
15
|
-
export declare function readIntelligenceDecisionLedger(root: string): Promise<IntelligenceDecisionLedger>;
|
|
16
|
-
export declare function addRecommendation(root: string, input: AddRecommendationInput): Promise<Recommendation>;
|
|
17
|
-
export type AddAssumptionInput = {
|
|
18
|
-
recommendationId: string;
|
|
19
|
-
text: string;
|
|
20
|
-
};
|
|
21
|
-
export declare function addAssumption(root: string, input: AddAssumptionInput): Promise<Assumption>;
|
|
22
|
-
export type AssumptionTransitionAction = 'validate' | 'reject' | 'reopen';
|
|
23
|
-
export type AssumptionTransitionResult = {
|
|
24
|
-
ok: true;
|
|
25
|
-
ledger: AssumptionLedger;
|
|
26
|
-
} | {
|
|
27
|
-
ok: false;
|
|
28
|
-
error: string;
|
|
29
|
-
};
|
|
30
|
-
export declare function applyAssumptionTransition(ledger: AssumptionLedger, id: string, action: AssumptionTransitionAction, _now?: Date): AssumptionTransitionResult;
|
|
31
|
-
export declare function runAssumptionTransition(root: string, id: string, action: AssumptionTransitionAction): Promise<AssumptionTransitionResult>;
|
|
32
|
-
export declare function deriveRecommendationLinks(recLedger: RecommendationLedger, asLedger: AssumptionLedger, decLedger: IntelligenceDecisionLedger): RecommendationLedger;
|
|
33
|
-
export type AddIntelligenceDecisionInput = {
|
|
34
|
-
recommendationId?: string;
|
|
35
|
-
title: string;
|
|
36
|
-
rationale: string;
|
|
37
|
-
};
|
|
38
|
-
export declare function addIntelligenceDecision(root: string, input: AddIntelligenceDecisionInput): Promise<IntelligenceDecision>;
|
|
39
|
-
export type DecisionTransitionAction = 'supersede' | 'rescind' | 'reactivate';
|
|
40
|
-
export type DecisionTransitionResult = {
|
|
41
|
-
ok: true;
|
|
42
|
-
ledger: IntelligenceDecisionLedger;
|
|
43
|
-
} | {
|
|
44
|
-
ok: false;
|
|
45
|
-
error: string;
|
|
46
|
-
};
|
|
47
|
-
export declare function deriveDecisionInverseLinks(ledger: IntelligenceDecisionLedger): IntelligenceDecisionLedger;
|
|
48
|
-
export declare function applyDecisionTransition(ledger: IntelligenceDecisionLedger, id: string, action: DecisionTransitionAction, by?: string, _now?: Date): DecisionTransitionResult;
|
|
49
|
-
export declare function runDecisionTransition(root: string, id: string, action: DecisionTransitionAction, by?: string): Promise<DecisionTransitionResult>;
|
|
50
|
-
export type RecommendationTransitionAction = 'convert';
|
|
51
|
-
export type RecommendationTransitionResult = {
|
|
52
|
-
ok: true;
|
|
53
|
-
ledger: RecommendationLedger;
|
|
54
|
-
} | {
|
|
55
|
-
ok: false;
|
|
56
|
-
error: string;
|
|
57
|
-
};
|
|
58
|
-
export declare function applyRecommendationTransition(ledger: RecommendationLedger, id: string, action: RecommendationTransitionAction, toPhase: string, now: Date): RecommendationTransitionResult;
|
|
59
|
-
export declare function runRecommendationTransition(root: string, id: string, action: RecommendationTransitionAction, toPhase: string): Promise<RecommendationTransitionResult>;
|
|
60
|
-
export type IntelligenceStats = {
|
|
61
|
-
recommendations: {
|
|
62
|
-
total: number;
|
|
63
|
-
byStatus: Record<Recommendation['status'], number>;
|
|
64
|
-
byReadiness: Record<Recommendation['readiness'], number>;
|
|
65
|
-
};
|
|
66
|
-
evidence: {
|
|
67
|
-
total: number;
|
|
68
|
-
byKind: Record<Evidence['kind'], number>;
|
|
69
|
-
};
|
|
70
|
-
assumptions: {
|
|
71
|
-
total: number;
|
|
72
|
-
byStatus: Record<Assumption['status'], number>;
|
|
73
|
-
};
|
|
74
|
-
decisions: {
|
|
75
|
-
total: number;
|
|
76
|
-
byStatus: Record<IntelligenceDecision['status'], number>;
|
|
77
|
-
untied: number;
|
|
78
|
-
};
|
|
79
|
-
links: {
|
|
80
|
-
brokenAssumptionLinks: number;
|
|
81
|
-
brokenDecisionLinks: number;
|
|
82
|
-
brokenEvidenceLinks: number;
|
|
83
|
-
};
|
|
84
|
-
perRec: Array<{
|
|
85
|
-
id: string;
|
|
86
|
-
title: string;
|
|
87
|
-
status: Recommendation['status'];
|
|
88
|
-
assumptionsByStatus: Record<Assumption['status'], number>;
|
|
89
|
-
decisionsByStatus: Record<IntelligenceDecision['status'], number>;
|
|
90
|
-
evidenceCount: number;
|
|
91
|
-
}>;
|
|
92
|
-
};
|
|
93
|
-
export declare function computeIntelligenceStats(recLedger: RecommendationLedger, evLedger: EvidenceLedger, asLedger: AssumptionLedger, decLedger: IntelligenceDecisionLedger): IntelligenceStats;
|
|
94
|
-
export type IntelligenceAuditFinding = {
|
|
95
|
-
kind: 'broken-assumption-link';
|
|
96
|
-
recId: string;
|
|
97
|
-
assumptionId: string;
|
|
98
|
-
} | {
|
|
99
|
-
kind: 'broken-decision-link';
|
|
100
|
-
recId: string;
|
|
101
|
-
decisionId: string;
|
|
102
|
-
} | {
|
|
103
|
-
kind: 'broken-evidence-link';
|
|
104
|
-
recId: string;
|
|
105
|
-
evidenceId: string;
|
|
106
|
-
} | {
|
|
107
|
-
kind: 'orphan-assumption';
|
|
108
|
-
assumptionId: string;
|
|
109
|
-
missingRecId: string;
|
|
110
|
-
} | {
|
|
111
|
-
kind: 'orphan-decision';
|
|
112
|
-
decisionId: string;
|
|
113
|
-
missingRecId: string;
|
|
114
|
-
} | {
|
|
115
|
-
kind: 'orphan-evidence';
|
|
116
|
-
evidenceId: string;
|
|
117
|
-
missingRecId: string;
|
|
118
|
-
} | {
|
|
119
|
-
kind: 'stale-supersededby';
|
|
120
|
-
decisionId: string;
|
|
121
|
-
missingTargetId: string;
|
|
122
|
-
} | {
|
|
123
|
-
kind: 'stale-converted-phase';
|
|
124
|
-
recommendationId: string;
|
|
125
|
-
missingPhaseId: string;
|
|
126
|
-
};
|
|
127
|
-
export type IntelligenceAuditReport = {
|
|
128
|
-
findings: IntelligenceAuditFinding[];
|
|
129
|
-
byKind: Record<IntelligenceAuditFinding['kind'], IntelligenceAuditFinding[]>;
|
|
130
|
-
};
|
|
131
|
-
export declare const AUDIT_KINDS: readonly ["broken-assumption-link", "broken-decision-link", "broken-evidence-link", "orphan-assumption", "orphan-decision", "orphan-evidence", "stale-supersededby", "stale-converted-phase"];
|
|
132
|
-
export type AuditKind = (typeof AUDIT_KINDS)[number];
|
|
133
|
-
export declare function computeIntelligenceAudit(recLedger: RecommendationLedger, evLedger: EvidenceLedger, asLedger: AssumptionLedger, decLedger: IntelligenceDecisionLedger, existingPhaseIds?: Set<string>): IntelligenceAuditReport;
|
|
134
|
-
export type IntelligenceReconcileResult = {
|
|
135
|
-
present: boolean;
|
|
136
|
-
recommendations: number;
|
|
137
|
-
assumptions: number;
|
|
138
|
-
decisions: number;
|
|
139
|
-
};
|
|
140
|
-
export declare function runIntelligenceReconcile(root: string): Promise<IntelligenceReconcileResult>;
|
|
141
|
-
export declare function readMilestoneLedger(root: string): Promise<MilestoneLedger>;
|
|
142
|
-
export declare function writeMilestoneLedger(root: string, ledger: MilestoneLedger): Promise<void>;
|
|
143
|
-
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/intelligence/store.ts"],"names":[],"mappings":"AAGA,OAAO,EAWL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AAgBrC,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,SAAS,EAAE,uBAAuB,CAAC;IACnC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AA8BD,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAK1F;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAK9E;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAKlF;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,0BAA0B,CAAC,CAKrC;AAyED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAwCzB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AASF,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,UAAU,CAAC,CAqBrB;AAED,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1E,MAAM,MAAM,0BAA0B,GAClC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GACtC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAoBjC,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,EACxB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,0BAA0B,EAClC,IAAI,CAAC,EAAE,IAAI,GACV,0BAA0B,CAmB5B;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAQrC;AAcD,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,0BAA0B,GACpC,oBAAoB,CAatB;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAYF,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAqC/B;AAED,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAE9E,MAAM,MAAM,wBAAwB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE,GAChD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AA2CjC,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,0BAA0B,GACjC,0BAA0B,CAU5B;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,0BAA0B,EAClC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,wBAAwB,EAChC,EAAE,CAAC,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,IAAI,GACV,wBAAwB,CAqD1B;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,wBAAwB,EAChC,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,wBAAwB,CAAC,CAQnC;AAKD,MAAM,MAAM,8BAA8B,GAAG,SAAS,CAAC;AAEvD,MAAM,MAAM,8BAA8B,GACtC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE,GAC1C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAgBjC,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,oBAAoB,EAC5B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,8BAA8B,EACtC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,IAAI,GACR,8BAA8B,CAoBhC;AAcD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,8BAA8B,EACtC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,8BAA8B,CAAC,CAczC;AAKD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACnD,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;KAC1D,CAAC;IACF,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;KAC1C,CAAC;IACF,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;KAChD,CAAC;IACF,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE;QACL,qBAAqB,EAAE,MAAM,CAAC;QAC9B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1D,iBAAiB,EAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAClE,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ,CAAC;AAyBF,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,0BAA0B,GACpC,iBAAiB,CA0FnB;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAC;CAC9E,CAAC;AAEF,eAAO,MAAM,WAAW,+LASd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,0BAA0B,EACrC,gBAAgB,GAAE,GAAG,CAAC,MAAM,CAAa,GACxC,uBAAuB,CAqFzB;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,2BAA2B,CAAC,CA+BtC;AAOD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAMf"}
|