perttool 0.3.0 → 0.5.0
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/CHANGELOG.md +78 -1
- package/README.md +134 -24
- package/dist/actuals/lifecycle.d.ts +101 -0
- package/dist/actuals/lifecycle.d.ts.map +1 -0
- package/dist/actuals/lifecycle.js +329 -0
- package/dist/actuals/lifecycle.js.map +1 -0
- package/dist/actuals/source.d.ts +36 -0
- package/dist/actuals/source.d.ts.map +1 -0
- package/dist/actuals/source.js +119 -0
- package/dist/actuals/source.js.map +1 -0
- package/dist/analysis/temporal-deadline.d.ts +2 -2
- package/dist/analysis/temporal-deadline.d.ts.map +1 -1
- package/dist/analysis/temporal-deadline.js.map +1 -1
- package/dist/analysis/temporal-precedence.d.ts +2 -2
- package/dist/analysis/temporal-precedence.d.ts.map +1 -1
- package/dist/analysis/temporal-precedence.js +2 -0
- package/dist/analysis/temporal-precedence.js.map +1 -1
- package/dist/analysis/temporal-resource.d.ts +2 -2
- package/dist/analysis/temporal-resource.d.ts.map +1 -1
- package/dist/analysis/temporal-resource.js +2 -0
- package/dist/analysis/temporal-resource.js.map +1 -1
- package/dist/application/analyze.d.ts +1 -0
- package/dist/application/analyze.d.ts.map +1 -1
- package/dist/application/analyze.js +38 -29
- package/dist/application/analyze.js.map +1 -1
- package/dist/application/check.d.ts +3 -0
- package/dist/application/check.d.ts.map +1 -1
- package/dist/application/check.js +17 -1
- package/dist/application/check.js.map +1 -1
- package/dist/application/contract4.js +3 -3
- package/dist/application/contract5-governance.d.ts +8 -0
- package/dist/application/contract5-governance.d.ts.map +1 -0
- package/dist/application/contract5-governance.js +12 -0
- package/dist/application/contract5-governance.js.map +1 -0
- package/dist/application/contract6-actuals.d.ts +24 -0
- package/dist/application/contract6-actuals.d.ts.map +1 -0
- package/dist/application/contract6-actuals.js +51 -0
- package/dist/application/contract6-actuals.js.map +1 -0
- package/dist/application/contract6-mutation.d.ts +18 -0
- package/dist/application/contract6-mutation.d.ts.map +1 -0
- package/dist/application/contract6-mutation.js +173 -0
- package/dist/application/contract6-mutation.js.map +1 -0
- package/dist/application/contract6-projection.d.ts +9 -0
- package/dist/application/contract6-projection.d.ts.map +1 -0
- package/dist/application/contract6-projection.js +105 -0
- package/dist/application/contract6-projection.js.map +1 -0
- package/dist/application/init.d.ts +3 -12
- package/dist/application/init.d.ts.map +1 -1
- package/dist/application/init.js +16 -138
- package/dist/application/init.js.map +1 -1
- package/dist/application/project.d.ts +4 -24
- package/dist/application/project.d.ts.map +1 -1
- package/dist/application/project.js +3 -52
- package/dist/application/project.js.map +1 -1
- package/dist/application/target-actuals-advance.d.ts +12 -0
- package/dist/application/target-actuals-advance.d.ts.map +1 -0
- package/dist/application/target-actuals-advance.js +113 -0
- package/dist/application/target-actuals-advance.js.map +1 -0
- package/dist/application/target-actuals-analysis.d.ts +76 -0
- package/dist/application/target-actuals-analysis.d.ts.map +1 -0
- package/dist/application/target-actuals-analysis.js +250 -0
- package/dist/application/target-actuals-analysis.js.map +1 -0
- package/dist/application/target-actuals-mutation.d.ts +28 -0
- package/dist/application/target-actuals-mutation.d.ts.map +1 -0
- package/dist/application/target-actuals-mutation.js +404 -0
- package/dist/application/target-actuals-mutation.js.map +1 -0
- package/dist/application/target-actuals-write.d.ts +7 -0
- package/dist/application/target-actuals-write.d.ts.map +1 -0
- package/dist/application/target-actuals-write.js +37 -0
- package/dist/application/target-actuals-write.js.map +1 -0
- package/dist/application/target-governance-init.d.ts +36 -0
- package/dist/application/target-governance-init.d.ts.map +1 -0
- package/dist/application/target-governance-init.js +195 -0
- package/dist/application/target-governance-init.js.map +1 -0
- package/dist/application/target-governance-mutation.d.ts +20 -0
- package/dist/application/target-governance-mutation.d.ts.map +1 -0
- package/dist/application/target-governance-mutation.js +175 -0
- package/dist/application/target-governance-mutation.js.map +1 -0
- package/dist/application/target-governance-project.d.ts +34 -0
- package/dist/application/target-governance-project.d.ts.map +1 -0
- package/dist/application/target-governance-project.js +82 -0
- package/dist/application/target-governance-project.js.map +1 -0
- package/dist/application/target-governance-projection.d.ts +18 -0
- package/dist/application/target-governance-projection.d.ts.map +1 -0
- package/dist/application/target-governance-projection.js +248 -0
- package/dist/application/target-governance-projection.js.map +1 -0
- package/dist/application/target-governance-write.d.ts +25 -0
- package/dist/application/target-governance-write.d.ts.map +1 -0
- package/dist/application/target-governance-write.js +55 -0
- package/dist/application/target-governance-write.js.map +1 -0
- package/dist/application/target-mutate.d.ts +6 -2
- package/dist/application/target-mutate.d.ts.map +1 -1
- package/dist/application/target-mutate.js +59 -2
- package/dist/application/target-mutate.js.map +1 -1
- package/dist/application/target-project-history.d.ts +18 -0
- package/dist/application/target-project-history.d.ts.map +1 -0
- package/dist/application/target-project-history.js +279 -0
- package/dist/application/target-project-history.js.map +1 -0
- package/dist/application/target-temporal-analysis.d.ts +13 -5
- package/dist/application/target-temporal-analysis.d.ts.map +1 -1
- package/dist/application/target-temporal-analysis.js +18 -11
- package/dist/application/target-temporal-analysis.js.map +1 -1
- package/dist/application/target-temporal-input.d.ts +8 -6
- package/dist/application/target-temporal-input.d.ts.map +1 -1
- package/dist/application/target-temporal-input.js +14 -3
- package/dist/application/target-temporal-input.js.map +1 -1
- package/dist/application/target-unit-migration-candidate.d.ts +2 -2
- package/dist/application/target-unit-migration-candidate.d.ts.map +1 -1
- package/dist/application/target-unit-migration-candidate.js +21 -6
- package/dist/application/target-unit-migration-candidate.js.map +1 -1
- package/dist/application/target-unit-migration-request.d.ts +4 -4
- package/dist/application/target-unit-migration-request.d.ts.map +1 -1
- package/dist/application/target-unit-migration-request.js +6 -2
- package/dist/application/target-unit-migration-request.js.map +1 -1
- package/dist/application/target-unit-migration-result.d.ts +5 -5
- package/dist/application/target-unit-migration-result.d.ts.map +1 -1
- package/dist/application/target-unit-migration-result.js +1 -1
- package/dist/application/target-unit-migration-result.js.map +1 -1
- package/dist/application/target-velocity-observation.d.ts +11 -0
- package/dist/application/target-velocity-observation.d.ts.map +1 -0
- package/dist/application/target-velocity-observation.js +201 -0
- package/dist/application/target-velocity-observation.js.map +1 -0
- package/dist/application/unit-migration.d.ts +4 -1
- package/dist/application/unit-migration.d.ts.map +1 -1
- package/dist/application/unit-migration.js +5 -3
- package/dist/application/unit-migration.js.map +1 -1
- package/dist/cli.js +390 -137
- package/dist/cli.js.map +1 -1
- package/dist/command/actuals-discovery.d.ts +26 -0
- package/dist/command/actuals-discovery.d.ts.map +1 -0
- package/dist/command/actuals-discovery.js +271 -0
- package/dist/command/actuals-discovery.js.map +1 -0
- package/dist/command/actuals-usage.d.ts +22 -0
- package/dist/command/actuals-usage.d.ts.map +1 -0
- package/dist/command/actuals-usage.js +122 -0
- package/dist/command/actuals-usage.js.map +1 -0
- package/dist/command/registry.d.ts +7 -1
- package/dist/command/registry.d.ts.map +1 -1
- package/dist/command/registry.js.map +1 -1
- package/dist/command/target-governance-discovery.d.ts +31 -0
- package/dist/command/target-governance-discovery.d.ts.map +1 -0
- package/dist/command/target-governance-discovery.js +390 -0
- package/dist/command/target-governance-discovery.js.map +1 -0
- package/dist/command/target-governance-usage.d.ts +22 -0
- package/dist/command/target-governance-usage.d.ts.map +1 -0
- package/dist/command/target-governance-usage.js +116 -0
- package/dist/command/target-governance-usage.js.map +1 -0
- package/dist/command/usage.d.ts +2 -0
- package/dist/command/usage.d.ts.map +1 -1
- package/dist/command/usage.js +43 -25
- package/dist/command/usage.js.map +1 -1
- package/dist/conversion/mermaid-import.d.ts.map +1 -1
- package/dist/conversion/mermaid-import.js +3 -2
- package/dist/conversion/mermaid-import.js.map +1 -1
- package/dist/conversion/mermaid.d.ts.map +1 -1
- package/dist/conversion/mermaid.js +27 -0
- package/dist/conversion/mermaid.js.map +1 -1
- package/dist/formatter/source-formatter.d.ts +3 -3
- package/dist/formatter/source-formatter.d.ts.map +1 -1
- package/dist/formatter/source-formatter.js +64 -5
- package/dist/formatter/source-formatter.js.map +1 -1
- package/dist/formatter/target-source-formatter.d.ts +3 -1
- package/dist/formatter/target-source-formatter.d.ts.map +1 -1
- package/dist/formatter/target-source-formatter.js +34 -2
- package/dist/formatter/target-source-formatter.js.map +1 -1
- package/dist/governance/authority.d.ts +25 -0
- package/dist/governance/authority.d.ts.map +1 -0
- package/dist/governance/authority.js +206 -0
- package/dist/governance/authority.js.map +1 -0
- package/dist/governance/guidance.d.ts +2 -0
- package/dist/governance/guidance.d.ts.map +1 -0
- package/dist/governance/guidance.js +2 -0
- package/dist/governance/guidance.js.map +1 -0
- package/dist/governance/source.d.ts +37 -0
- package/dist/governance/source.d.ts.map +1 -0
- package/dist/governance/source.js +103 -0
- package/dist/governance/source.js.map +1 -0
- package/dist/governance/types.d.ts +41 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/governance/types.js +2 -0
- package/dist/governance/types.js.map +1 -0
- package/dist/help/actuals-guide.d.ts +10 -0
- package/dist/help/actuals-guide.d.ts.map +1 -0
- package/dist/help/actuals-guide.js +23 -0
- package/dist/help/actuals-guide.js.map +1 -0
- package/dist/help/guide.d.ts +8 -5
- package/dist/help/guide.d.ts.map +1 -1
- package/dist/help/guide.js.map +1 -1
- package/dist/help/registry.d.ts.map +1 -1
- package/dist/help/registry.js +98 -8
- package/dist/help/registry.js.map +1 -1
- package/dist/help/target-governance-guide.d.ts +10 -0
- package/dist/help/target-governance-guide.d.ts.map +1 -0
- package/dist/help/target-governance-guide.js +57 -0
- package/dist/help/target-governance-guide.js.map +1 -0
- package/dist/history/git-probe.d.ts +52 -0
- package/dist/history/git-probe.d.ts.map +1 -0
- package/dist/history/git-probe.js +565 -0
- package/dist/history/git-probe.js.map +1 -0
- package/dist/history/project-history.d.ts +112 -0
- package/dist/history/project-history.d.ts.map +1 -0
- package/dist/history/project-history.js +786 -0
- package/dist/history/project-history.js.map +1 -0
- package/dist/history/velocity-observation.d.ts +69 -0
- package/dist/history/velocity-observation.d.ts.map +1 -0
- package/dist/history/velocity-observation.js +604 -0
- package/dist/history/velocity-observation.js.map +1 -0
- package/dist/index.d.ts +28 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -7
- package/dist/index.js.map +1 -1
- package/dist/io/safe-write.d.ts +4 -0
- package/dist/io/safe-write.d.ts.map +1 -1
- package/dist/io/safe-write.js +22 -1
- package/dist/io/safe-write.js.map +1 -1
- package/dist/io/target-safe-write.d.ts +8 -2
- package/dist/io/target-safe-write.d.ts.map +1 -1
- package/dist/io/target-safe-write.js +38 -2
- package/dist/io/target-safe-write.js.map +1 -1
- package/dist/migration/conversion.d.ts +1 -1
- package/dist/migration/conversion.d.ts.map +1 -1
- package/dist/migration/grammar-boundary.d.ts +1 -1
- package/dist/migration/grammar-boundary.d.ts.map +1 -1
- package/dist/migration/grammar-boundary.js +15 -4
- package/dist/migration/grammar-boundary.js.map +1 -1
- package/dist/migration/request.d.ts +5 -5
- package/dist/migration/request.d.ts.map +1 -1
- package/dist/migration/request.js +15 -2
- package/dist/migration/request.js.map +1 -1
- package/dist/model/calendar.d.ts +2 -0
- package/dist/model/calendar.d.ts.map +1 -1
- package/dist/model/calendar.js +19 -0
- package/dist/model/calendar.js.map +1 -1
- package/dist/model/declaration-fields.d.ts +15 -0
- package/dist/model/declaration-fields.d.ts.map +1 -1
- package/dist/model/declaration-fields.js +31 -0
- package/dist/model/declaration-fields.js.map +1 -1
- package/dist/model/exact-person-hours-source.d.ts +2 -0
- package/dist/model/exact-person-hours-source.d.ts.map +1 -0
- package/dist/model/exact-person-hours-source.js +10 -0
- package/dist/model/exact-person-hours-source.js.map +1 -0
- package/dist/model/syntax.d.ts +23 -8
- package/dist/model/syntax.d.ts.map +1 -1
- package/dist/model/syntax.js.map +1 -1
- package/dist/mutation/actuals.d.ts +17 -0
- package/dist/mutation/actuals.d.ts.map +1 -0
- package/dist/mutation/actuals.js +90 -0
- package/dist/mutation/actuals.js.map +1 -0
- package/dist/mutation/advance.d.ts +17 -0
- package/dist/mutation/advance.d.ts.map +1 -1
- package/dist/mutation/advance.js +56 -14
- package/dist/mutation/advance.js.map +1 -1
- package/dist/mutation/entity-editor.d.ts +2 -2
- package/dist/mutation/entity-editor.d.ts.map +1 -1
- package/dist/mutation/entity-editor.js.map +1 -1
- package/dist/mutation/project.d.ts +7 -1
- package/dist/mutation/project.d.ts.map +1 -1
- package/dist/mutation/project.js +108 -6
- package/dist/mutation/project.js.map +1 -1
- package/dist/mutation/source.d.ts +3 -3
- package/dist/mutation/source.d.ts.map +1 -1
- package/dist/mutation/source.js.map +1 -1
- package/dist/mutation/target-types.d.ts +18 -1
- package/dist/mutation/target-types.d.ts.map +1 -1
- package/dist/mutation/types.d.ts +8 -1
- package/dist/mutation/types.d.ts.map +1 -1
- package/dist/parser/document-parser.d.ts +15 -1
- package/dist/parser/document-parser.d.ts.map +1 -1
- package/dist/parser/document-parser.js +205 -22
- package/dist/parser/document-parser.js.map +1 -1
- package/dist/recommendation/override-types.d.ts +2 -2
- package/dist/recommendation/override.d.ts +2 -2
- package/dist/recommendation/override.d.ts.map +1 -1
- package/dist/recommendation/override.js +2 -2
- package/dist/recommendation/override.js.map +1 -1
- package/dist/semantic/target-validator.d.ts +23 -2
- package/dist/semantic/target-validator.d.ts.map +1 -1
- package/dist/semantic/target-validator.js +89 -2
- package/dist/semantic/target-validator.js.map +1 -1
- package/dist/semantic/validator.d.ts +5 -1
- package/dist/semantic/validator.d.ts.map +1 -1
- package/dist/semantic/validator.js +180 -6
- package/dist/semantic/validator.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -2
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { checkDocument } from "../application/check.js";
|
|
2
|
-
import {
|
|
2
|
+
import { canonicalizeEventDateTimeSourceToken, } from "../model/calendar.js";
|
|
3
|
+
import { canonicalizeExactPersonHoursSourceToken, } from "../model/exact-person-hours-source.js";
|
|
4
|
+
import { TARGET_GRAMMAR_5_DECLARATION_FIELD_ORDER, } from "../model/declaration-fields.js";
|
|
3
5
|
import { serializeExactDurationSource, } from "../model/exact-duration-source.js";
|
|
6
|
+
import { rational } from "../model/rational.js";
|
|
4
7
|
import { applyTextEdits, normalizeTextEdits, } from "../mutation/text-edits.js";
|
|
5
8
|
const bareTagPattern = /^[A-Za-z][A-Za-z0-9_-]*$/;
|
|
6
9
|
function splitPhysicalLines(text) {
|
|
@@ -80,6 +83,34 @@ function isDurationFractionValue(value) {
|
|
|
80
83
|
function isExactDurationValue(value) {
|
|
81
84
|
return isDurationValue(value) || isDurationFractionValue(value);
|
|
82
85
|
}
|
|
86
|
+
function isPersonHoursValue(value) {
|
|
87
|
+
return (typeof value === "object" &&
|
|
88
|
+
value !== null &&
|
|
89
|
+
"digits" in value &&
|
|
90
|
+
typeof value.digits === "bigint" &&
|
|
91
|
+
"scale" in value &&
|
|
92
|
+
typeof value.scale === "number" &&
|
|
93
|
+
"suffix" in value &&
|
|
94
|
+
value.suffix === "ph");
|
|
95
|
+
}
|
|
96
|
+
function isPersonHoursFractionValue(value) {
|
|
97
|
+
return (typeof value === "object" &&
|
|
98
|
+
value !== null &&
|
|
99
|
+
"numerator" in value &&
|
|
100
|
+
typeof value.numerator === "bigint" &&
|
|
101
|
+
"denominator" in value &&
|
|
102
|
+
typeof value.denominator === "bigint" &&
|
|
103
|
+
value.denominator > 0n &&
|
|
104
|
+
"suffix" in value &&
|
|
105
|
+
value.suffix === "ph");
|
|
106
|
+
}
|
|
107
|
+
function canonicalPersonHours(value) {
|
|
108
|
+
const canonical = canonicalizeExactPersonHoursSourceToken(value.text);
|
|
109
|
+
if (canonical === null) {
|
|
110
|
+
throw new Error("validated person-hours value is not canonicalizable");
|
|
111
|
+
}
|
|
112
|
+
return canonical;
|
|
113
|
+
}
|
|
83
114
|
function isVelocityValue(value) {
|
|
84
115
|
return (typeof value === "object" &&
|
|
85
116
|
value !== null &&
|
|
@@ -94,14 +125,31 @@ function canonicalFieldValue(field) {
|
|
|
94
125
|
if (["title", "description", "owner", "source", "blocked_reason", "reason"].includes(field.name)) {
|
|
95
126
|
return typeof field.value === "string" ? JSON.stringify(field.value) : undefined;
|
|
96
127
|
}
|
|
97
|
-
if (["version", "capacity", "priority"].includes(field.name)) {
|
|
128
|
+
if (["version", "capacity", "priority", "model"].includes(field.name)) {
|
|
98
129
|
return typeof field.value === "number" ? String(field.value) : undefined;
|
|
99
130
|
}
|
|
100
|
-
if ([
|
|
131
|
+
if ([
|
|
132
|
+
"duration",
|
|
133
|
+
"critical_epsilon",
|
|
134
|
+
"target_duration",
|
|
135
|
+
"optimistic",
|
|
136
|
+
"most_likely",
|
|
137
|
+
"pessimistic",
|
|
138
|
+
"planned_value",
|
|
139
|
+
"active_time",
|
|
140
|
+
].includes(field.name)) {
|
|
101
141
|
return isExactDurationValue(field.value)
|
|
102
142
|
? canonicalDuration(field.value)
|
|
103
143
|
: undefined;
|
|
104
144
|
}
|
|
145
|
+
if (field.name === "effort" &&
|
|
146
|
+
(isPersonHoursValue(field.value) ||
|
|
147
|
+
isPersonHoursFractionValue(field.value))) {
|
|
148
|
+
return canonicalPersonHours(field.value);
|
|
149
|
+
}
|
|
150
|
+
if (field.name === "occurred_at" && typeof field.rawValue === "string") {
|
|
151
|
+
return canonicalizeEventDateTimeSourceToken(field.rawValue) ?? undefined;
|
|
152
|
+
}
|
|
105
153
|
if (field.name === "velocity") {
|
|
106
154
|
return isVelocityValue(field.value)
|
|
107
155
|
? `${canonicalDuration(field.value.points)}/${canonicalDuration(field.value.period)}`
|
|
@@ -113,6 +161,17 @@ function canonicalFieldValue(field) {
|
|
|
113
161
|
return undefined;
|
|
114
162
|
return `[${tags.map((tag) => (bareTagPattern.test(tag) ? tag : JSON.stringify(tag))).join(", ")}]`;
|
|
115
163
|
}
|
|
164
|
+
if ((field.name === "goal_owner" || field.name === "dag_owner") &&
|
|
165
|
+
typeof field.value === "string") {
|
|
166
|
+
return field.value;
|
|
167
|
+
}
|
|
168
|
+
if ((field.name === "goal_delegates" || field.name === "dag_delegates") &&
|
|
169
|
+
Array.isArray(field.value)) {
|
|
170
|
+
const principals = field.value.filter((value) => typeof value === "string");
|
|
171
|
+
return principals.length === field.value.length
|
|
172
|
+
? `[${principals.join(", ")}]`
|
|
173
|
+
: undefined;
|
|
174
|
+
}
|
|
116
175
|
return field.rawValue === "" ? undefined : field.rawValue;
|
|
117
176
|
}
|
|
118
177
|
function requirementValues(field) {
|
|
@@ -144,7 +203,7 @@ export function formatValidatedSource(text, checked, validateCandidate, profile)
|
|
|
144
203
|
const lineEnding = majorLineEnding(text);
|
|
145
204
|
const edits = [];
|
|
146
205
|
for (const declaration of checked.document.declarations) {
|
|
147
|
-
const knownFields = new Set(profile.fieldOrder[declaration.kind]);
|
|
206
|
+
const knownFields = new Set(profile.fieldOrder[declaration.kind] ?? []);
|
|
148
207
|
pushEdit(edits, text, {
|
|
149
208
|
startOffset: declaration.headerSpan.start.offset,
|
|
150
209
|
endOffset: declaration.headerSpan.end.offset,
|
|
@@ -247,6 +306,6 @@ function activeValidation(text, options) {
|
|
|
247
306
|
};
|
|
248
307
|
}
|
|
249
308
|
export function formatDocument(text, options = {}) {
|
|
250
|
-
return formatValidatedSource(text, activeValidation(text, options), (candidate) => activeValidation(candidate, options), { fieldOrder:
|
|
309
|
+
return formatValidatedSource(text, activeValidation(text, options), (candidate) => activeValidation(candidate, options), { fieldOrder: TARGET_GRAMMAR_5_DECLARATION_FIELD_ORDER });
|
|
251
310
|
}
|
|
252
311
|
//# sourceMappingURL=source-formatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-formatter.js","sourceRoot":"","sources":["../../src/formatter/source-formatter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"source-formatter.js","sourceRoot":"","sources":["../../src/formatter/source-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EACL,oCAAoC,GACrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uCAAuC,GACxC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,wCAAwC,GACzC,MAAM,gCAAgC,CAAC;AAexC,OAAO,EACL,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,cAAc,EACd,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AAoCnC,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAElD,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,OAAO,KAAK,CAAC,CAAC;YAAE,MAAM;QAC1B,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAgC,CAAC;IACrC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,SAAS;QACnC,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,KAAK,KAAK,MAAM,CAAC;QACjB,IAAI,MAAM,KAAK,MAAM;YAAE,IAAI,IAAI,CAAC,CAAC;;YAC5B,EAAE,IAAI,CAAC,CAAC;IACf,CAAC;IACD,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,KAAK,IAAI,IAAI,CAAC;IACtC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAoB;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,4BAA4B,CACjC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EAC9D,KAAK,CAAC,MAAM,KAAK,GAAG;YAClB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG;gBACpB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,CACd,CAAC,KAAK,CAAC;IACV,CAAC;IACD,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,IAAI,KAAK;QAChB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,QAAQ,IAAI,KAAK;QACjB,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,CACvE,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,aAAa,IAAI,KAAK;QACtB,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,KAAK,CAAC,WAAW,GAAG,EAAE;QACtB,QAAQ,IAAI,KAAK;QACjB,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,CACvE,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,IAAI,KAAK;QAChB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,QAAQ,IAAI,KAAK;QACjB,KAAK,CAAC,MAAM,KAAK,IAAI,CACtB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,aAAa,IAAI,KAAK;QACtB,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,KAAK,CAAC,WAAW,GAAG,EAAE;QACtB,QAAQ,IAAI,KAAK;QACjB,KAAK,CAAC,MAAM,KAAK,IAAI,CACtB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA4B;IACxD,MAAM,SAAS,GAAG,uCAAuC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG;QAC3B,QAAQ,IAAI,KAAK;QACjB,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;QAC7B,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAgB;IAC3C,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjG,OAAO,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IACD,IACE;QACE,UAAU;QACV,kBAAkB;QAClB,iBAAiB;QACjB,YAAY;QACZ,aAAa;QACb,aAAa;QACb,eAAe;QACf,aAAa;KACd,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EACtB,CAAC;QACD,OAAO,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;YACtC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IACD,IACE,KAAK,CAAC,IAAI,KAAK,QAAQ;QACvB,CACE,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/B,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CACxC,EACD,CAAC;QACD,OAAO,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO,oCAAoC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACrF,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;QACvF,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QACzD,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACrG,CAAC;IACD,IACE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;QAC3D,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAC/B,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IACD,IACE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;QACnE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1B,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACnC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACtD,CAAC;QACF,OAAO,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM;YAC7C,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC9B,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAgB;IACzC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CACvB,CAAC,KAAK,EAA6B,EAAE,CACnC,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,IAAI,KAAK;QAChB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,WAAW,IAAI,KAAK,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiB,EAAE,IAAY,EAAE,IAAc;IAC/D,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,OAAyB,EACzB,iBAA0D,EAC1D,OAA4B;IAE5B,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAC3C,CAAC;QACF,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;YACpB,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;YAChD,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM;YAC5C,WAAW,EACT,WAAW,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM;gBACxD,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,IAAK,OAAO,WAAW,CAAC,EAAG,GAAG;gBACrF,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,GAAG;SAC/C,CAAC,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,qCAAqC,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CACtE,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;YAChD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;gBACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBACrE,IAAI,YAAY,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;oBACjD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBAClF,CAAC;gBACD,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;oBACpB,WAAW,EAAE,SAAS,CAAC,KAAK;oBAC5B,SAAS,EAAE,SAAS,CAAC,GAAG;oBACxB,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,IAAI;iBACjC,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,YAAY;qBAC7B,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CACtB,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,CAC/D;qBACA,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpB,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;oBACpB,WAAW,EAAE,SAAS,CAAC,KAAK;oBAC5B,SAAS,EAAE,QAAQ,CAAC,GAAG;oBACvB,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;oBACpB,WAAW,EAAE,SAAS,CAAC,KAAK;oBAC5B,SAAS,EAAE,SAAS,CAAC,GAAG;oBACxB,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,GAAG;iBAChC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;wBACpB,WAAW,EAAE,SAAS,CAAC,KAAK;wBAC5B,SAAS,EAAE,SAAS,CAAC,GAAG;wBACxB,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE;qBAC9C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACzC,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;oBAChD,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;wBACpB,WAAW,EAAE,SAAS,CAAC,KAAK;wBAC5B,SAAS,EAAE,SAAS,CAAC,GAAG;wBACxB,WAAW,EAAE,OAAO,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE;qBAChD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,KAAK,MAAM,WAAW,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;gBAC5D,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;oBACpB,WAAW,EAAE,eAAe,CAAC,KAAK;oBAClC,SAAS,EAAE,eAAe,CAAC,GAAG;oBAC9B,WAAW,EAAE,OAAO,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,KAAK,EAAE;iBAClE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,OAAO,EAAE,aAAa,KAAK,IAAI;QAC/B,aAAa;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAY,EACZ,OAAsB;IAEtB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC9C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAO,GAAkB,EAAE;IACtE,OAAO,qBAAqB,CAC1B,IAAI,EACJ,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAC/B,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,EACnD,EAAE,UAAU,EAAE,wCAAwC,EAAE,CACzD,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type { TargetGrammar3Capability, TargetGrammar2Capability } from "../parser/document-parser.js";
|
|
1
|
+
import type { TargetGrammar3Capability, TargetGrammar4Capability, TargetGrammar5Capability, TargetGrammar2Capability } from "../parser/document-parser.js";
|
|
2
2
|
import { type TargetValidationOptions } from "../semantic/target-validator.js";
|
|
3
3
|
import { type FormatResult } from "./source-formatter.js";
|
|
4
4
|
export interface TargetFormatOptions extends TargetValidationOptions {
|
|
5
5
|
}
|
|
6
6
|
export declare function formatTargetDocument(text: string, capability: TargetGrammar2Capability, options?: TargetFormatOptions): FormatResult;
|
|
7
7
|
export declare function formatTargetGrammar3Document(text: string, capability: TargetGrammar3Capability, options?: TargetFormatOptions): FormatResult;
|
|
8
|
+
export declare function formatTargetGrammar4Document(text: string, capability: TargetGrammar4Capability, options?: TargetFormatOptions): FormatResult;
|
|
9
|
+
export declare function formatTargetGrammar5Document(text: string, capability: TargetGrammar5Capability, options?: TargetFormatOptions): FormatResult;
|
|
8
10
|
//# sourceMappingURL=target-source-formatter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-source-formatter.d.ts","sourceRoot":"","sources":["../../src/formatter/target-source-formatter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"target-source-formatter.d.ts","sourceRoot":"","sources":["../../src/formatter/target-source-formatter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAKL,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;CAAG;AAqBvE,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAQd;AAqBD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAQd;AAqBD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAQd;AAqBD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAQd"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER, } from "../model/declaration-fields.js";
|
|
2
|
-
import { validateTargetGrammar3Document, validateTargetDocument, } from "../semantic/target-validator.js";
|
|
1
|
+
import { TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_4_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_5_DECLARATION_FIELD_ORDER, } from "../model/declaration-fields.js";
|
|
2
|
+
import { validateTargetGrammar3Document, validateTargetGrammar4Document, validateTargetGrammar5Document, validateTargetDocument, } from "../semantic/target-validator.js";
|
|
3
3
|
import { formatValidatedSource, } from "./source-formatter.js";
|
|
4
4
|
function targetValidation(text, capability, options) {
|
|
5
5
|
const checked = validateTargetDocument(text, capability, options);
|
|
@@ -33,4 +33,36 @@ export function formatTargetGrammar3Document(text, capability, options = {}) {
|
|
|
33
33
|
const checked = targetGrammar3Validation(text, capability, options);
|
|
34
34
|
return formatValidatedSource(text, checked, (candidate) => targetGrammar3Validation(candidate, capability, options), { fieldOrder: TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER });
|
|
35
35
|
}
|
|
36
|
+
function targetGrammar4Validation(text, capability, options) {
|
|
37
|
+
const checked = validateTargetGrammar4Document(text, capability, options);
|
|
38
|
+
const document = checked.validatedDocument?.document ?? null;
|
|
39
|
+
const project = document?.declarations.find((declaration) => declaration.kind === "project");
|
|
40
|
+
return {
|
|
41
|
+
ok: checked.ok,
|
|
42
|
+
document,
|
|
43
|
+
documentId: project?.id ?? null,
|
|
44
|
+
diagnostics: checked.diagnostics,
|
|
45
|
+
diagnosticsTruncated: checked.diagnosticsTruncated,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export function formatTargetGrammar4Document(text, capability, options = {}) {
|
|
49
|
+
const checked = targetGrammar4Validation(text, capability, options);
|
|
50
|
+
return formatValidatedSource(text, checked, (candidate) => targetGrammar4Validation(candidate, capability, options), { fieldOrder: TARGET_GRAMMAR_4_DECLARATION_FIELD_ORDER });
|
|
51
|
+
}
|
|
52
|
+
function targetGrammar5Validation(text, capability, options) {
|
|
53
|
+
const checked = validateTargetGrammar5Document(text, capability, options);
|
|
54
|
+
const document = checked.validatedDocument?.document ?? null;
|
|
55
|
+
const project = document?.declarations.find((declaration) => declaration.kind === "project");
|
|
56
|
+
return {
|
|
57
|
+
ok: checked.ok,
|
|
58
|
+
document,
|
|
59
|
+
documentId: project?.id ?? null,
|
|
60
|
+
diagnostics: checked.diagnostics,
|
|
61
|
+
diagnosticsTruncated: checked.diagnosticsTruncated,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export function formatTargetGrammar5Document(text, capability, options = {}) {
|
|
65
|
+
const checked = targetGrammar5Validation(text, capability, options);
|
|
66
|
+
return formatValidatedSource(text, checked, (candidate) => targetGrammar5Validation(candidate, capability, options), { fieldOrder: TARGET_GRAMMAR_5_DECLARATION_FIELD_ORDER });
|
|
67
|
+
}
|
|
36
68
|
//# sourceMappingURL=target-source-formatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-source-formatter.js","sourceRoot":"","sources":["../../src/formatter/target-source-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wCAAwC,GACzC,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"target-source-formatter.js","sourceRoot":"","sources":["../../src/formatter/target-source-formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Diagnostic } from "../model/diagnostics.js";
|
|
2
|
+
import type { DocumentNode, TargetDeclarationKind } from "../model/syntax.js";
|
|
3
|
+
import type { GovernanceSourceSnapshot } from "./source.js";
|
|
4
|
+
import type { GovernanceDecisionV1, GovernanceRequest, GovernanceScope } from "./types.js";
|
|
5
|
+
export type GovernanceRequestErrorCause = "invalid_intent" | "invalid_actor" | "invalid_accepted_by_owner" | "duplicate_accepted_by_owner" | "unsupported_field";
|
|
6
|
+
export interface GovernanceRequestNormalizationSuccess {
|
|
7
|
+
readonly ok: true;
|
|
8
|
+
readonly request: GovernanceRequest;
|
|
9
|
+
readonly diagnostics: readonly [];
|
|
10
|
+
}
|
|
11
|
+
export interface GovernanceRequestNormalizationFailure {
|
|
12
|
+
readonly ok: false;
|
|
13
|
+
readonly request: null;
|
|
14
|
+
readonly diagnostics: readonly [Diagnostic];
|
|
15
|
+
}
|
|
16
|
+
export type GovernanceRequestNormalization = GovernanceRequestNormalizationSuccess | GovernanceRequestNormalizationFailure;
|
|
17
|
+
export declare function normalizeGovernanceRequest(input?: unknown): GovernanceRequestNormalization;
|
|
18
|
+
export declare function classifyGovernanceScopes(original: DocumentNode<TargetDeclarationKind>, candidate: DocumentNode<TargetDeclarationKind>): readonly GovernanceScope[];
|
|
19
|
+
export interface GovernanceAuthoritySource {
|
|
20
|
+
readonly originalDigest: string;
|
|
21
|
+
readonly effective: GovernanceSourceSnapshot["effective"];
|
|
22
|
+
}
|
|
23
|
+
export declare function evaluateGovernanceAuthority(snapshot: GovernanceAuthoritySource, affectedScopes: readonly GovernanceScope[], request: GovernanceRequest): GovernanceDecisionV1;
|
|
24
|
+
export declare function governanceDenialDiagnostic(decision: GovernanceDecisionV1): Diagnostic | null;
|
|
25
|
+
//# sourceMappingURL=authority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/governance/authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAEV,YAAY,EACZ,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,wBAAwB,EAAe,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EACV,oBAAoB,EAEpB,iBAAiB,EAEjB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAKpB,MAAM,MAAM,2BAA2B,GACnC,gBAAgB,GAChB,eAAe,GACf,2BAA2B,GAC3B,6BAA6B,GAC7B,mBAAmB,CAAC;AAExB,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,8BAA8B,GACtC,qCAAqC,GACrC,qCAAqC,CAAC;AAsB1C,wBAAgB,0BAA0B,CACxC,KAAK,GAAE,OAAY,GAClB,8BAA8B,CAgDhC;AA0ED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,YAAY,CAAC,qBAAqB,CAAC,EAC7C,SAAS,EAAE,YAAY,CAAC,qBAAqB,CAAC,GAC7C,SAAS,eAAe,EAAE,CAoB5B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;CAC3D;AA8CD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,yBAAyB,EACnC,cAAc,EAAE,SAAS,eAAe,EAAE,EAC1C,OAAO,EAAE,iBAAiB,GACzB,oBAAoB,CAgCtB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,oBAAoB,GAC7B,UAAU,GAAG,IAAI,CAgCnB"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { compareStableStrings } from "../model/diagnostics.js";
|
|
2
|
+
import { fieldNamed } from "../model/syntax.js";
|
|
3
|
+
const principalPattern = /^[A-Za-z][A-Za-z0-9_-]*$/;
|
|
4
|
+
const canonicalScopes = ["goal", "dag"];
|
|
5
|
+
function requestDiagnostic(cause) {
|
|
6
|
+
return Object.freeze({
|
|
7
|
+
code: "PTGOV-102",
|
|
8
|
+
severity: "error",
|
|
9
|
+
message: "invalid governance caller assertions",
|
|
10
|
+
helpTopic: "editing",
|
|
11
|
+
data: Object.freeze({ cause }),
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function requestFailure(cause) {
|
|
15
|
+
return Object.freeze({
|
|
16
|
+
ok: false,
|
|
17
|
+
request: null,
|
|
18
|
+
diagnostics: Object.freeze([requestDiagnostic(cause)]),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function normalizeGovernanceRequest(input = {}) {
|
|
22
|
+
if (input === null || typeof input !== "object" || Array.isArray(input)) {
|
|
23
|
+
return requestFailure("unsupported_field");
|
|
24
|
+
}
|
|
25
|
+
const record = input;
|
|
26
|
+
if (Object.keys(record).some((field) => !["intent", "actor", "acceptedByOwner"].includes(field))) {
|
|
27
|
+
return requestFailure("unsupported_field");
|
|
28
|
+
}
|
|
29
|
+
const intent = record["intent"] ?? "preview";
|
|
30
|
+
if (intent !== "preview" && intent !== "persist") {
|
|
31
|
+
return requestFailure("invalid_intent");
|
|
32
|
+
}
|
|
33
|
+
const actor = record["actor"] ?? null;
|
|
34
|
+
if (actor !== null &&
|
|
35
|
+
(typeof actor !== "string" || !principalPattern.test(actor))) {
|
|
36
|
+
return requestFailure("invalid_actor");
|
|
37
|
+
}
|
|
38
|
+
const accepted = record["acceptedByOwner"] ?? [];
|
|
39
|
+
if (!Array.isArray(accepted) ||
|
|
40
|
+
accepted.some((principal) => typeof principal !== "string" || !principalPattern.test(principal))) {
|
|
41
|
+
return requestFailure("invalid_accepted_by_owner");
|
|
42
|
+
}
|
|
43
|
+
if (new Set(accepted).size !== accepted.length) {
|
|
44
|
+
return requestFailure("duplicate_accepted_by_owner");
|
|
45
|
+
}
|
|
46
|
+
const normalized = Object.freeze({
|
|
47
|
+
intent,
|
|
48
|
+
actor: actor,
|
|
49
|
+
acceptedByOwner: Object.freeze([...accepted].sort(compareStableStrings)),
|
|
50
|
+
});
|
|
51
|
+
return Object.freeze({
|
|
52
|
+
ok: true,
|
|
53
|
+
request: normalized,
|
|
54
|
+
diagnostics: Object.freeze([]),
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function comparableField(declaration, name) {
|
|
58
|
+
const field = declaration === undefined ? undefined : fieldNamed(declaration, name);
|
|
59
|
+
if (field === undefined)
|
|
60
|
+
return undefined;
|
|
61
|
+
return Array.isArray(field.value) ? [...field.value] : field.value;
|
|
62
|
+
}
|
|
63
|
+
function valuesEqual(left, right) {
|
|
64
|
+
if (Array.isArray(left) && Array.isArray(right)) {
|
|
65
|
+
return (left.length === right.length &&
|
|
66
|
+
left.every((value, index) => value === right[index]));
|
|
67
|
+
}
|
|
68
|
+
return left === right;
|
|
69
|
+
}
|
|
70
|
+
function projectOf(document) {
|
|
71
|
+
return document.declarations.find(({ kind }) => kind === "project");
|
|
72
|
+
}
|
|
73
|
+
function structuralDeclarations(document) {
|
|
74
|
+
const result = new Map();
|
|
75
|
+
for (const declaration of document.declarations) {
|
|
76
|
+
if (declaration.kind === "task" ||
|
|
77
|
+
declaration.kind === "gate" ||
|
|
78
|
+
declaration.kind === "milestone") {
|
|
79
|
+
result.set(`${declaration.kind}\u0000${declaration.id}`, declaration);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
function hasStructuralDagChange(original, candidate) {
|
|
85
|
+
const originalDeclarations = structuralDeclarations(original);
|
|
86
|
+
const candidateDeclarations = structuralDeclarations(candidate);
|
|
87
|
+
if (originalDeclarations.size !== candidateDeclarations.size)
|
|
88
|
+
return true;
|
|
89
|
+
for (const [key, before] of originalDeclarations) {
|
|
90
|
+
const after = candidateDeclarations.get(key);
|
|
91
|
+
if (after === undefined)
|
|
92
|
+
return true;
|
|
93
|
+
if ((before.kind === "task" || before.kind === "gate") &&
|
|
94
|
+
(before.from !== after.from || before.to !== after.to)) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
function fieldChanged(original, candidate, name) {
|
|
101
|
+
return !valuesEqual(comparableField(original, name), comparableField(candidate, name));
|
|
102
|
+
}
|
|
103
|
+
export function classifyGovernanceScopes(original, candidate) {
|
|
104
|
+
if (original.text === candidate.text)
|
|
105
|
+
return Object.freeze([]);
|
|
106
|
+
const before = projectOf(original);
|
|
107
|
+
const after = projectOf(candidate);
|
|
108
|
+
const scopes = [];
|
|
109
|
+
if (fieldChanged(before, after, "finish") ||
|
|
110
|
+
fieldChanged(before, after, "goal_owner") ||
|
|
111
|
+
fieldChanged(before, after, "goal_delegates")) {
|
|
112
|
+
scopes.push("goal");
|
|
113
|
+
}
|
|
114
|
+
if (hasStructuralDagChange(original, candidate) ||
|
|
115
|
+
fieldChanged(before, after, "dag_owner") ||
|
|
116
|
+
fieldChanged(before, after, "dag_delegates")) {
|
|
117
|
+
scopes.push("dag");
|
|
118
|
+
}
|
|
119
|
+
return Object.freeze(scopes);
|
|
120
|
+
}
|
|
121
|
+
function scopeDecision(snapshot, scope, request) {
|
|
122
|
+
const requiredOwner = scope === "goal"
|
|
123
|
+
? snapshot.effective.goalOwner
|
|
124
|
+
: snapshot.effective.dagOwner;
|
|
125
|
+
const delegateSet = scope === "goal"
|
|
126
|
+
? snapshot.effective.goalDelegates
|
|
127
|
+
: snapshot.effective.dagDelegates;
|
|
128
|
+
const effectiveDelegates = Object.freeze([...delegateSet].sort(compareStableStrings));
|
|
129
|
+
const actorDirect = request.actor !== null &&
|
|
130
|
+
(request.actor === requiredOwner || delegateSet.has(request.actor));
|
|
131
|
+
const ownerConfirmationRequired = !actorDirect;
|
|
132
|
+
const ownerConfirmationPresent = request.acceptedByOwner.includes(requiredOwner);
|
|
133
|
+
const scopeAuthorized = request.actor !== null &&
|
|
134
|
+
(actorDirect || (ownerConfirmationRequired && ownerConfirmationPresent));
|
|
135
|
+
const denialCause = scopeAuthorized
|
|
136
|
+
? null
|
|
137
|
+
: request.actor === null
|
|
138
|
+
? "actor_required"
|
|
139
|
+
: request.acceptedByOwner.length === 0
|
|
140
|
+
? "owner_confirmation_required"
|
|
141
|
+
: "owner_confirmation_mismatch";
|
|
142
|
+
return Object.freeze({
|
|
143
|
+
scope,
|
|
144
|
+
requiredOwner,
|
|
145
|
+
effectiveDelegates,
|
|
146
|
+
actorDirect,
|
|
147
|
+
ownerConfirmationRequired,
|
|
148
|
+
ownerConfirmationPresent,
|
|
149
|
+
scopeAuthorized,
|
|
150
|
+
denialCause,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
export function evaluateGovernanceAuthority(snapshot, affectedScopes, request) {
|
|
154
|
+
const selected = canonicalScopes.filter((scope) => affectedScopes.includes(scope));
|
|
155
|
+
const scopes = Object.freeze(selected.map((scope) => scopeDecision(snapshot, scope, request)));
|
|
156
|
+
const requiredOwnerConfirmations = [];
|
|
157
|
+
for (const decision of scopes) {
|
|
158
|
+
if (decision.ownerConfirmationRequired &&
|
|
159
|
+
!requiredOwnerConfirmations.includes(decision.requiredOwner)) {
|
|
160
|
+
requiredOwnerConfirmations.push(decision.requiredOwner);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return Object.freeze({
|
|
164
|
+
schemaVersion: "Perttool.GovernanceDecision.v1",
|
|
165
|
+
governanceInterfaceVersion: 1,
|
|
166
|
+
governanceSourceContractVersion: 1,
|
|
167
|
+
governanceSemanticsVersion: 1,
|
|
168
|
+
sourceDigest: snapshot.originalDigest,
|
|
169
|
+
intent: request.intent,
|
|
170
|
+
applicable: scopes.length > 0,
|
|
171
|
+
actor: request.actor,
|
|
172
|
+
acceptedByOwner: request.acceptedByOwner,
|
|
173
|
+
affectedScopes: Object.freeze([...selected]),
|
|
174
|
+
requiredOwnerConfirmations: Object.freeze(requiredOwnerConfirmations),
|
|
175
|
+
ownerConfirmationRequired: scopes.some(({ ownerConfirmationRequired }) => ownerConfirmationRequired),
|
|
176
|
+
writeAuthorized: scopes.every(({ scopeAuthorized }) => scopeAuthorized),
|
|
177
|
+
scopes,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
export function governanceDenialDiagnostic(decision) {
|
|
181
|
+
if (decision.intent !== "persist" ||
|
|
182
|
+
!decision.applicable ||
|
|
183
|
+
decision.writeAuthorized) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
return Object.freeze({
|
|
187
|
+
code: "PTGOV-101",
|
|
188
|
+
severity: "error",
|
|
189
|
+
message: "required owner-aware write authority was not established against the pre-change document",
|
|
190
|
+
helpTopic: "editing",
|
|
191
|
+
data: Object.freeze({
|
|
192
|
+
governance_semantics_version: 1,
|
|
193
|
+
source_digest: decision.sourceDigest,
|
|
194
|
+
actor: decision.actor,
|
|
195
|
+
accepted_by_owner: decision.acceptedByOwner,
|
|
196
|
+
denied_scopes: Object.freeze(decision.scopes
|
|
197
|
+
.filter(({ scopeAuthorized }) => !scopeAuthorized)
|
|
198
|
+
.map(({ scope, requiredOwner, denialCause }) => Object.freeze({
|
|
199
|
+
scope,
|
|
200
|
+
required_owner: requiredOwner,
|
|
201
|
+
cause: denialCause,
|
|
202
|
+
}))),
|
|
203
|
+
}),
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=authority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority.js","sourceRoot":"","sources":["../../src/governance/authority.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guidance.d.ts","sourceRoot":"","sources":["../../src/governance/guidance.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,EACzC,iJAA0J,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guidance.js","sourceRoot":"","sources":["../../src/governance/guidance.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,8BAA8B,GACzC,iJAA0J,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { SourceSpan } from "../model/diagnostics.js";
|
|
2
|
+
import type { DocumentNode, TargetDeclarationKind } from "../model/syntax.js";
|
|
3
|
+
import type { TargetGrammar4ValidatedDocument } from "../semantic/target-validator.js";
|
|
4
|
+
export type PrincipalId = string;
|
|
5
|
+
export interface DeclaredGovernance {
|
|
6
|
+
readonly goalOwner: PrincipalId | null;
|
|
7
|
+
readonly goalDelegates: readonly PrincipalId[] | null;
|
|
8
|
+
readonly dagOwner: PrincipalId | null;
|
|
9
|
+
readonly dagDelegates: readonly PrincipalId[] | null;
|
|
10
|
+
}
|
|
11
|
+
export interface EffectiveGovernance {
|
|
12
|
+
readonly goalOwner: PrincipalId;
|
|
13
|
+
readonly goalDelegates: ReadonlySet<PrincipalId>;
|
|
14
|
+
readonly dagOwner: PrincipalId;
|
|
15
|
+
readonly dagDelegates: ReadonlySet<PrincipalId>;
|
|
16
|
+
}
|
|
17
|
+
export interface GovernanceMetadata {
|
|
18
|
+
readonly declared: DeclaredGovernance;
|
|
19
|
+
readonly effective: EffectiveGovernance;
|
|
20
|
+
}
|
|
21
|
+
export interface GovernanceFieldSource {
|
|
22
|
+
readonly fieldSpan: SourceSpan;
|
|
23
|
+
readonly valueSpan: SourceSpan;
|
|
24
|
+
}
|
|
25
|
+
export interface GovernanceSourceSnapshot extends GovernanceMetadata {
|
|
26
|
+
readonly originalDigest: string;
|
|
27
|
+
readonly grammarVersion: 1 | 2 | 3 | 4;
|
|
28
|
+
readonly sourceSpans: {
|
|
29
|
+
readonly goalOwner: GovernanceFieldSource | null;
|
|
30
|
+
readonly goalDelegates: GovernanceFieldSource | null;
|
|
31
|
+
readonly dagOwner: GovernanceFieldSource | null;
|
|
32
|
+
readonly dagDelegates: GovernanceFieldSource | null;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export declare function governanceMetadataFromDocument(document: DocumentNode<TargetDeclarationKind>): GovernanceMetadata;
|
|
36
|
+
export declare function governanceSourceSnapshot(validated: TargetGrammar4ValidatedDocument, originalDigest: string): GovernanceSourceSnapshot;
|
|
37
|
+
//# sourceMappingURL=source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/governance/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;QACjD,QAAQ,CAAC,aAAa,EAAE,qBAAqB,GAAG,IAAI,CAAC;QACrD,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;QAChD,QAAQ,CAAC,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC;KACrD,CAAC;CACH;AAyFD,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,YAAY,CAAC,qBAAqB,CAAC,GAC5C,kBAAkB,CAcpB;AAoBD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,+BAA+B,EAC1C,cAAc,EAAE,MAAM,GACrB,wBAAwB,CAiB1B"}
|