perttool 0.10.5 → 0.11.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 +52 -1
- package/README.md +274 -606
- package/dist/application/cli-facade.d.ts +4 -10
- package/dist/application/cli-facade.d.ts.map +1 -1
- package/dist/application/cli-facade.js +1 -1
- package/dist/application/cli-facade.js.map +1 -1
- package/dist/application/contract10-candidate.d.ts +33 -0
- package/dist/application/contract10-candidate.d.ts.map +1 -0
- package/dist/application/contract10-candidate.js +38 -0
- package/dist/application/contract10-candidate.js.map +1 -0
- package/dist/application/contract10-planning-history.d.ts +4 -0
- package/dist/application/contract10-planning-history.d.ts.map +1 -0
- package/dist/application/contract10-planning-history.js +28 -0
- package/dist/application/contract10-planning-history.js.map +1 -0
- package/dist/application/contract10-planning.d.ts +61 -0
- package/dist/application/contract10-planning.d.ts.map +1 -0
- package/dist/application/contract10-planning.js +165 -0
- package/dist/application/contract10-planning.js.map +1 -0
- package/dist/application/contract10-runtime.d.ts +185 -0
- package/dist/application/contract10-runtime.d.ts.map +1 -0
- package/dist/application/contract10-runtime.js +236 -0
- package/dist/application/contract10-runtime.js.map +1 -0
- package/dist/application/contract8-milestone-acceptance.d.ts +6 -22
- package/dist/application/contract8-milestone-acceptance.d.ts.map +1 -1
- package/dist/application/contract8-milestone-acceptance.js +21 -99
- package/dist/application/contract8-milestone-acceptance.js.map +1 -1
- package/dist/application/contract8-milestone-read.d.ts +25 -0
- package/dist/application/contract8-milestone-read.d.ts.map +1 -0
- package/dist/application/contract8-milestone-read.js +111 -0
- package/dist/application/contract8-milestone-read.js.map +1 -0
- package/dist/application/contract9-assurance-evaluate.d.ts +3 -0
- package/dist/application/contract9-assurance-evaluate.d.ts.map +1 -0
- package/dist/application/contract9-assurance-evaluate.js +75 -0
- package/dist/application/contract9-assurance-evaluate.js.map +1 -0
- package/dist/application/contract9-assurance.d.ts +1 -2
- package/dist/application/contract9-assurance.d.ts.map +1 -1
- package/dist/application/contract9-assurance.js +2 -56
- package/dist/application/contract9-assurance.js.map +1 -1
- package/dist/application/contract9-candidate.d.ts +8 -0
- package/dist/application/contract9-candidate.d.ts.map +1 -1
- package/dist/application/contract9-candidate.js +36 -11
- package/dist/application/contract9-candidate.js.map +1 -1
- package/dist/application/contract9-mixed-mutation.d.ts +3 -0
- package/dist/application/contract9-mixed-mutation.d.ts.map +1 -1
- package/dist/application/contract9-mixed-mutation.js +5 -4
- package/dist/application/contract9-mixed-mutation.js.map +1 -1
- package/dist/application/contract9-temporal.js +1 -1
- package/dist/application/contract9-temporal.js.map +1 -1
- package/dist/application/target-actuals-analysis.d.ts.map +1 -1
- package/dist/application/target-actuals-analysis.js +10 -6
- package/dist/application/target-actuals-analysis.js.map +1 -1
- package/dist/application/target-temporal-analysis.d.ts +1 -0
- package/dist/application/target-temporal-analysis.d.ts.map +1 -1
- package/dist/application/target-temporal-analysis.js +5 -1
- package/dist/application/target-temporal-analysis.js.map +1 -1
- package/dist/cli.js +761 -87
- package/dist/cli.js.map +1 -1
- package/dist/command/contract10-discovery.d.ts +17 -0
- package/dist/command/contract10-discovery.d.ts.map +1 -0
- package/dist/command/contract10-discovery.js +304 -0
- package/dist/command/contract10-discovery.js.map +1 -0
- package/dist/command/contract10-usage.d.ts +24 -0
- package/dist/command/contract10-usage.d.ts.map +1 -0
- package/dist/command/contract10-usage.js +49 -0
- package/dist/command/contract10-usage.js.map +1 -0
- package/dist/core/index.d.ts +11 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -1
- package/dist/core/index.js.map +1 -1
- package/dist/help/assurance-guide.js +1 -1
- package/dist/help/assurance-guide.js.map +1 -1
- package/dist/help/contract10-guide.d.ts +10 -0
- package/dist/help/contract10-guide.d.ts.map +1 -0
- package/dist/help/contract10-guide.js +244 -0
- package/dist/help/contract10-guide.js.map +1 -0
- package/dist/index.d.ts +18 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/milestone-acceptance/advance.d.ts +9 -0
- package/dist/milestone-acceptance/advance.d.ts.map +1 -1
- package/dist/milestone-acceptance/advance.js +29 -2
- package/dist/milestone-acceptance/advance.js.map +1 -1
- package/dist/milestone-acceptance/mutation.d.ts +2 -0
- package/dist/milestone-acceptance/mutation.d.ts.map +1 -1
- package/dist/milestone-acceptance/mutation.js +60 -20
- package/dist/milestone-acceptance/mutation.js.map +1 -1
- package/dist/model/source-result.d.ts +12 -0
- package/dist/model/source-result.d.ts.map +1 -0
- package/dist/model/source-result.js +16 -0
- package/dist/model/source-result.js.map +1 -0
- package/dist/mutation/advance-deletion.d.ts +1 -0
- package/dist/mutation/advance-deletion.d.ts.map +1 -1
- package/dist/mutation/advance-deletion.js +4 -1
- package/dist/mutation/advance-deletion.js.map +1 -1
- package/dist/mutation/validated-source.d.ts +30 -0
- package/dist/mutation/validated-source.d.ts.map +1 -0
- package/dist/mutation/validated-source.js +58 -0
- package/dist/mutation/validated-source.js.map +1 -0
- package/dist/node/planning-token-store.d.ts +3 -0
- package/dist/node/planning-token-store.d.ts.map +1 -0
- package/dist/node/planning-token-store.js +90 -0
- package/dist/node/planning-token-store.js.map +1 -0
- package/dist/parser/document-parser.d.ts +1 -0
- package/dist/parser/document-parser.d.ts.map +1 -1
- package/dist/parser/document-parser.js +1 -1
- package/dist/parser/document-parser.js.map +1 -1
- package/dist/perttool-vscode-private-0.0.0-d1578b9.vsix +0 -0
- package/dist/planning-pool/advance.d.ts +10 -0
- package/dist/planning-pool/advance.d.ts.map +1 -0
- package/dist/planning-pool/advance.js +158 -0
- package/dist/planning-pool/advance.js.map +1 -0
- package/dist/planning-pool/format.d.ts +12 -0
- package/dist/planning-pool/format.d.ts.map +1 -0
- package/dist/planning-pool/format.js +199 -0
- package/dist/planning-pool/format.js.map +1 -0
- package/dist/planning-pool/history-guard.d.ts +19 -0
- package/dist/planning-pool/history-guard.d.ts.map +1 -0
- package/dist/planning-pool/history-guard.js +123 -0
- package/dist/planning-pool/history-guard.js.map +1 -0
- package/dist/planning-pool/history-types.d.ts +174 -0
- package/dist/planning-pool/history-types.d.ts.map +1 -0
- package/dist/planning-pool/history-types.js +2 -0
- package/dist/planning-pool/history-types.js.map +1 -0
- package/dist/planning-pool/history.d.ts +11 -0
- package/dist/planning-pool/history.d.ts.map +1 -0
- package/dist/planning-pool/history.js +977 -0
- package/dist/planning-pool/history.js.map +1 -0
- package/dist/planning-pool/human.d.ts +9 -0
- package/dist/planning-pool/human.d.ts.map +1 -0
- package/dist/planning-pool/human.js +305 -0
- package/dist/planning-pool/human.js.map +1 -0
- package/dist/planning-pool/intent-types.d.ts +76 -0
- package/dist/planning-pool/intent-types.d.ts.map +1 -0
- package/dist/planning-pool/intent-types.js +2 -0
- package/dist/planning-pool/intent-types.js.map +1 -0
- package/dist/planning-pool/intent.d.ts +7 -0
- package/dist/planning-pool/intent.d.ts.map +1 -0
- package/dist/planning-pool/intent.js +590 -0
- package/dist/planning-pool/intent.js.map +1 -0
- package/dist/planning-pool/observation-types.d.ts +143 -0
- package/dist/planning-pool/observation-types.d.ts.map +1 -0
- package/dist/planning-pool/observation-types.js +2 -0
- package/dist/planning-pool/observation-types.js.map +1 -0
- package/dist/planning-pool/observation.d.ts +8 -0
- package/dist/planning-pool/observation.d.ts.map +1 -0
- package/dist/planning-pool/observation.js +582 -0
- package/dist/planning-pool/observation.js.map +1 -0
- package/dist/planning-pool/projection.d.ts +28 -0
- package/dist/planning-pool/projection.d.ts.map +1 -0
- package/dist/planning-pool/projection.js +148 -0
- package/dist/planning-pool/projection.js.map +1 -0
- package/dist/planning-pool/public-core.d.ts +32 -0
- package/dist/planning-pool/public-core.d.ts.map +1 -0
- package/dist/planning-pool/public-core.js +122 -0
- package/dist/planning-pool/public-core.js.map +1 -0
- package/dist/planning-pool/reshape-normalize.d.ts +15 -0
- package/dist/planning-pool/reshape-normalize.d.ts.map +1 -0
- package/dist/planning-pool/reshape-normalize.js +688 -0
- package/dist/planning-pool/reshape-normalize.js.map +1 -0
- package/dist/planning-pool/reshape-token.d.ts +20 -0
- package/dist/planning-pool/reshape-token.d.ts.map +1 -0
- package/dist/planning-pool/reshape-token.js +193 -0
- package/dist/planning-pool/reshape-token.js.map +1 -0
- package/dist/planning-pool/reshape-types.d.ts +183 -0
- package/dist/planning-pool/reshape-types.d.ts.map +1 -0
- package/dist/planning-pool/reshape-types.js +2 -0
- package/dist/planning-pool/reshape-types.js.map +1 -0
- package/dist/planning-pool/reshape.d.ts +13 -0
- package/dist/planning-pool/reshape.d.ts.map +1 -0
- package/dist/planning-pool/reshape.js +1434 -0
- package/dist/planning-pool/reshape.js.map +1 -0
- package/dist/planning-pool/source-lexical.d.ts +30 -0
- package/dist/planning-pool/source-lexical.d.ts.map +1 -0
- package/dist/planning-pool/source-lexical.js +158 -0
- package/dist/planning-pool/source-lexical.js.map +1 -0
- package/dist/planning-pool/source-types.d.ts +169 -0
- package/dist/planning-pool/source-types.d.ts.map +1 -0
- package/dist/planning-pool/source-types.js +2 -0
- package/dist/planning-pool/source-types.js.map +1 -0
- package/dist/planning-pool/source-values.d.ts +16 -0
- package/dist/planning-pool/source-values.d.ts.map +1 -0
- package/dist/planning-pool/source-values.js +120 -0
- package/dist/planning-pool/source-values.js.map +1 -0
- package/dist/planning-pool/source.d.ts +18 -0
- package/dist/planning-pool/source.d.ts.map +1 -0
- package/dist/planning-pool/source.js +811 -0
- package/dist/planning-pool/source.js.map +1 -0
- package/dist/planning-pool/window-types.d.ts +133 -0
- package/dist/planning-pool/window-types.d.ts.map +1 -0
- package/dist/planning-pool/window-types.js +2 -0
- package/dist/planning-pool/window-types.js.map +1 -0
- package/dist/planning-pool/window.d.ts +6 -0
- package/dist/planning-pool/window.d.ts.map +1 -0
- package/dist/planning-pool/window.js +625 -0
- package/dist/planning-pool/window.js.map +1 -0
- package/dist/schema/registry.d.ts +1 -1
- package/dist/schema/registry.d.ts.map +1 -1
- package/dist/schema/registry.js +17 -3
- package/dist/schema/registry.js.map +1 -1
- package/dist/temporal-schedule/format.d.ts.map +1 -1
- package/dist/temporal-schedule/format.js +4 -54
- package/dist/temporal-schedule/format.js.map +1 -1
- package/dist/temporal-schedule/source-lexical.d.ts +9 -0
- package/dist/temporal-schedule/source-lexical.d.ts.map +1 -1
- package/dist/temporal-schedule/source-lexical.js +21 -10
- package/dist/temporal-schedule/source-lexical.js.map +1 -1
- package/dist/temporal-schedule/source.d.ts.map +1 -1
- package/dist/temporal-schedule/source.js +3 -13
- package/dist/temporal-schedule/source.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/schemas/{Perttool.AdvanceResult.v3.schema.json → Perttool.AdvanceResult.v4.schema.json} +42 -4
- package/schemas/Perttool.AgentGuidanceResult.v1.schema.json +1 -1
- package/schemas/Perttool.AnalysisResult.v7.schema.json +1 -1
- package/schemas/Perttool.CheckResult.v6.schema.json +1 -1
- package/schemas/Perttool.CliError.v1.schema.json +1 -1
- package/schemas/Perttool.CommandHelpResult.v1.schema.json +2 -2
- package/schemas/Perttool.ExportResult.v1.schema.json +1 -1
- package/schemas/Perttool.FormatResult.v1.schema.json +1 -1
- package/schemas/Perttool.GuideResult.v1.schema.json +1 -1
- package/schemas/Perttool.HistoricalGraphResult.v1.schema.json +1 -1
- package/schemas/Perttool.ImportResult.v1.schema.json +1 -1
- package/schemas/Perttool.InitResult.v1.schema.json +1 -1
- package/schemas/Perttool.MilestoneAcceptanceMigrationResult.v1.schema.json +1 -1
- package/schemas/Perttool.MilestoneAcceptanceResult.v1.schema.json +1 -1
- package/schemas/Perttool.MutationResult.v6.schema.json +1 -1
- package/schemas/Perttool.NextResult.v8.schema.json +7 -4
- package/schemas/Perttool.PlanAssuranceResult.v2.schema.json +1 -1
- package/schemas/Perttool.PlanningMutationResult.v1.schema.json +567 -0
- package/schemas/Perttool.PlanningObservationRequest.v1.schema.json +6 -0
- package/schemas/Perttool.PlanningPoolResult.v1.schema.json +469 -0
- package/schemas/Perttool.PlanningReshapePreflightResult.v1.schema.json +906 -0
- package/schemas/Perttool.PlanningReshapeRequest.v1.schema.json +19 -0
- package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +1 -1
- package/schemas/Perttool.ProjectResult.v5.schema.json +1 -1
- package/schemas/Perttool.SchemaResult.v1.schema.json +1 -1
- package/schemas/{Perttool.UnitMigrationResult.v4.schema.json → Perttool.UnitMigrationResult.v5.schema.json} +42 -17
- package/schemas/Perttool.VelocityObservationResult.v1.schema.json +1 -1
- package/schemas/Perttool.WindowMutationRequest.v1.schema.json +6 -0
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { computeEffectiveReached } from "../analysis/graph.js";
|
|
2
|
-
import { evaluateMilestoneAcceptance } from "../milestone-acceptance/evaluate.js";
|
|
3
1
|
import { MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY, milestoneAcceptanceBaseText, parseMilestoneAcceptanceSource, } from "../milestone-acceptance/source.js";
|
|
4
2
|
import { limitDiagnostics, normalizeMaxDiagnostics, sortDiagnostics, } from "../model/diagnostics.js";
|
|
5
3
|
import { sha256DigestUtf8 } from "../model/sha256.js";
|
|
@@ -7,13 +5,26 @@ import { createUnifiedDiff } from "../editing/unified-diff.js";
|
|
|
7
5
|
import { applyTextEdits } from "../mutation/text-edits.js";
|
|
8
6
|
import { planFormat as planContract7Format, } from "./contract7-source.js";
|
|
9
7
|
import { planUnitMigration as planContract7UnitMigration, } from "./contract7-unit-migration.js";
|
|
10
|
-
import { analyzeDocument as analyzeContract7Document, checkDocument as checkContract7Document, selectNextTasks as selectContract7NextTasks, } from "./contract7-assurance.js";
|
|
11
8
|
import { planAssuranceMutation as planContract7AssuranceMutation, planBatchMutation as planContract7BatchMutation, planFinishActuals as planContract7FinishActuals, planLifecycle as planContract7Lifecycle, planMutation as planContract7Mutation, } from "./contract7-mutation.js";
|
|
12
9
|
import { getProjectMetadata as getContract7ProjectMetadata, } from "./contract7-project.js";
|
|
13
10
|
import { inspectTargetPlanAssurance as inspectContract7PlanAssurance, } from "./target-assurance-inspection.js";
|
|
14
|
-
|
|
15
|
-
export
|
|
16
|
-
export
|
|
11
|
+
import { contract8MilestoneSourceDiagnostics as sourceDiagnostics } from "./contract8-milestone-read.js";
|
|
12
|
+
export { ANALYSIS_RESULT_V6, CHECK_RESULT_V5, NEXT_RESULT_V7, analyzeDocument, checkDocument, selectNextTasks, } from "./contract8-milestone-read.js";
|
|
13
|
+
export function rebindLiftedCandidateSource(value, sourceDigest) {
|
|
14
|
+
const governance = value.governance;
|
|
15
|
+
return Object.freeze({
|
|
16
|
+
...value,
|
|
17
|
+
originalDigest: sourceDigest,
|
|
18
|
+
...(governance === undefined || governance === null
|
|
19
|
+
? {}
|
|
20
|
+
: {
|
|
21
|
+
governance: Object.freeze({
|
|
22
|
+
...governance,
|
|
23
|
+
sourceDigest,
|
|
24
|
+
}),
|
|
25
|
+
}),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
17
28
|
function contract8CandidateIdentity(value) {
|
|
18
29
|
if (typeof value !== "object" || value === null || !("schemaVersion" in value)) {
|
|
19
30
|
return value;
|
|
@@ -32,19 +43,17 @@ export function liftMilestoneAcceptanceCandidate(text, planner, options = {}) {
|
|
|
32
43
|
if (!source.ok)
|
|
33
44
|
return contract8CandidateIdentity(planner(text));
|
|
34
45
|
const planned = planner(milestoneAcceptanceBaseText(text));
|
|
46
|
+
const originalDigest = sha256DigestUtf8(text);
|
|
47
|
+
const rebound = rebindLiftedCandidateSource(planned, originalDigest);
|
|
35
48
|
if (planned.updatedText === null) {
|
|
36
|
-
return contract8CandidateIdentity(
|
|
37
|
-
...planned,
|
|
38
|
-
originalDigest: sha256DigestUtf8(text),
|
|
39
|
-
}));
|
|
49
|
+
return contract8CandidateIdentity(rebound);
|
|
40
50
|
}
|
|
41
51
|
const updatedText = applyTextEdits(text, planned.edits);
|
|
42
52
|
const checked = parseMilestoneAcceptanceSource(updatedText, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY);
|
|
43
53
|
if (!checked.ok)
|
|
44
54
|
throw new Error("Contract 8 mutation lost milestone acceptance source validity");
|
|
45
55
|
return contract8CandidateIdentity(Object.freeze({
|
|
46
|
-
...
|
|
47
|
-
originalDigest: sha256DigestUtf8(text),
|
|
56
|
+
...rebound,
|
|
48
57
|
updatedDigest: sha256DigestUtf8(updatedText),
|
|
49
58
|
updatedText,
|
|
50
59
|
diff: createUnifiedDiff(text, updatedText, {
|
|
@@ -53,30 +62,6 @@ export function liftMilestoneAcceptanceCandidate(text, planner, options = {}) {
|
|
|
53
62
|
}),
|
|
54
63
|
}));
|
|
55
64
|
}
|
|
56
|
-
function milestoneIds(text) {
|
|
57
|
-
return Object.freeze([...text.matchAll(/^milestone ([A-Za-z][A-Za-z0-9_-]*):$/gmu)].map((match) => match[1]));
|
|
58
|
-
}
|
|
59
|
-
function acceptanceProjection(text) {
|
|
60
|
-
const source = parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY);
|
|
61
|
-
if (!source.ok || source.grammarVersion !== 7)
|
|
62
|
-
return null;
|
|
63
|
-
const base = checkContract7Document(milestoneAcceptanceBaseText(text));
|
|
64
|
-
if (!base.ok)
|
|
65
|
-
return null;
|
|
66
|
-
const reached = computeEffectiveReached(base.document);
|
|
67
|
-
return evaluateMilestoneAcceptance({ source, milestoneIds: milestoneIds(text), closureReachedMilestoneIds: reached });
|
|
68
|
-
}
|
|
69
|
-
function sourceDiagnostics(text) {
|
|
70
|
-
const parsed = parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY);
|
|
71
|
-
return Object.freeze(parsed.diagnostics.map((item) => Object.freeze({
|
|
72
|
-
code: item.code,
|
|
73
|
-
severity: "error",
|
|
74
|
-
message: item.message,
|
|
75
|
-
span: item.span,
|
|
76
|
-
helpTopic: "editing",
|
|
77
|
-
data: Object.freeze({}),
|
|
78
|
-
})));
|
|
79
|
-
}
|
|
80
65
|
export function inspectPlanAssurance(text, request, capability, options = {}) {
|
|
81
66
|
const source = parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY);
|
|
82
67
|
if (source.grammarVersion !== 7) {
|
|
@@ -96,69 +81,6 @@ export function inspectPlanAssurance(text, request, capability, options = {}) {
|
|
|
96
81
|
diagnosticsTruncated: base.diagnosticsTruncated || limited.truncated,
|
|
97
82
|
});
|
|
98
83
|
}
|
|
99
|
-
function missingCriterionWarnings(text, acceptance) {
|
|
100
|
-
if (acceptance === null || acceptance.grammarVersion !== 7)
|
|
101
|
-
return Object.freeze([]);
|
|
102
|
-
return Object.freeze(acceptance.milestones
|
|
103
|
-
.filter(({ acceptance: state, grandfathered }) => state === "not_declared" && !grandfathered)
|
|
104
|
-
.map(({ milestoneId }) => Object.freeze({
|
|
105
|
-
code: "PTMAC-102",
|
|
106
|
-
severity: "warning",
|
|
107
|
-
message: `Milestone ${milestoneId} has no declared acceptance criterion set; use milestone acceptance replace`,
|
|
108
|
-
entityId: milestoneId,
|
|
109
|
-
helpTopic: "editing",
|
|
110
|
-
data: Object.freeze({ milestone_id: milestoneId }),
|
|
111
|
-
})));
|
|
112
|
-
}
|
|
113
|
-
export function checkDocument(text, options = {}) {
|
|
114
|
-
const baseText = milestoneAcceptanceBaseText(text);
|
|
115
|
-
const base = checkContract7Document(baseText, options);
|
|
116
|
-
const acceptance = acceptanceProjection(text);
|
|
117
|
-
const extra = [...sourceDiagnostics(text), ...missingCriterionWarnings(text, acceptance)];
|
|
118
|
-
const diagnostics = Object.freeze([...base.diagnostics, ...extra]);
|
|
119
|
-
const extraErrors = extra.filter(({ severity }) => severity === "error").length;
|
|
120
|
-
const extraWarnings = extra.filter(({ severity }) => severity === "warning").length;
|
|
121
|
-
return Object.freeze({
|
|
122
|
-
...base,
|
|
123
|
-
schemaVersion: CHECK_RESULT_V5,
|
|
124
|
-
ok: base.ok && extraErrors === 0,
|
|
125
|
-
grammarVersion: parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY).grammarVersion,
|
|
126
|
-
document: { ...base.document, text },
|
|
127
|
-
diagnostics,
|
|
128
|
-
summary: Object.freeze({
|
|
129
|
-
...base.summary,
|
|
130
|
-
errors: base.summary.errors + extraErrors,
|
|
131
|
-
warnings: base.summary.warnings + extraWarnings,
|
|
132
|
-
}),
|
|
133
|
-
acceptance,
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
export function analyzeDocument(text, options = {}) {
|
|
137
|
-
const base = analyzeContract7Document(milestoneAcceptanceBaseText(text), options);
|
|
138
|
-
const acceptance = acceptanceProjection(text);
|
|
139
|
-
const diagnostics = Object.freeze([...base.diagnostics, ...sourceDiagnostics(text)]);
|
|
140
|
-
return Object.freeze({
|
|
141
|
-
...base,
|
|
142
|
-
schemaVersion: ANALYSIS_RESULT_V6,
|
|
143
|
-
ok: base.ok && (acceptance === null || acceptance.ok) && !diagnostics.some(({ severity }) => severity === "error"),
|
|
144
|
-
grammarVersion: parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY).grammarVersion,
|
|
145
|
-
diagnostics,
|
|
146
|
-
acceptance,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
export function selectNextTasks(text, options = {}) {
|
|
150
|
-
const base = selectContract7NextTasks(milestoneAcceptanceBaseText(text), options);
|
|
151
|
-
const acceptance = acceptanceProjection(text);
|
|
152
|
-
const diagnostics = Object.freeze([...base.diagnostics, ...sourceDiagnostics(text)]);
|
|
153
|
-
return Object.freeze({
|
|
154
|
-
...base,
|
|
155
|
-
schemaVersion: NEXT_RESULT_V7,
|
|
156
|
-
ok: base.ok && (acceptance === null || acceptance.ok) && !diagnostics.some(({ severity }) => severity === "error"),
|
|
157
|
-
grammarVersion: parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY).grammarVersion,
|
|
158
|
-
diagnostics,
|
|
159
|
-
acceptance,
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
84
|
export function getProjectMetadata(text, options = {}) {
|
|
163
85
|
const source = parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY);
|
|
164
86
|
const base = getContract7ProjectMetadata(source.grammarVersion === 7 ? milestoneAcceptanceBaseText(text) : text, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract8-milestone-acceptance.js","sourceRoot":"","sources":["../../src/application/contract8-milestone-acceptance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract8-milestone-acceptance.js","sourceRoot":"","sources":["../../src/application/contract8-milestone-acceptance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type MilestoneAcceptanceModelResultV1 } from "../milestone-acceptance/evaluate.js";
|
|
2
|
+
import type { Diagnostic } from "../model/diagnostics.js";
|
|
3
|
+
import type { AnalyzeOptions } from "./analyze.js";
|
|
4
|
+
import { checkDocument as checkContract7Document, type AnalysisResultV5, type CheckResultV4, type Contract7NextResultV6 } from "./contract7-assurance.js";
|
|
5
|
+
import type { NextOptions } from "./next.js";
|
|
6
|
+
export declare const CHECK_RESULT_V5: "Perttool.CheckResult.v5";
|
|
7
|
+
export declare const ANALYSIS_RESULT_V6: "Perttool.AnalysisResult.v6";
|
|
8
|
+
export declare const NEXT_RESULT_V7: "Perttool.NextResult.v7";
|
|
9
|
+
export interface CheckResultV5 extends Omit<CheckResultV4, "schemaVersion"> {
|
|
10
|
+
readonly schemaVersion: typeof CHECK_RESULT_V5;
|
|
11
|
+
readonly acceptance: MilestoneAcceptanceModelResultV1 | null;
|
|
12
|
+
}
|
|
13
|
+
export interface AnalysisResultV6 extends Omit<AnalysisResultV5, "schemaVersion"> {
|
|
14
|
+
readonly schemaVersion: typeof ANALYSIS_RESULT_V6;
|
|
15
|
+
readonly acceptance: MilestoneAcceptanceModelResultV1 | null;
|
|
16
|
+
}
|
|
17
|
+
export type NextResultV7 = Omit<Contract7NextResultV6, "schemaVersion"> & {
|
|
18
|
+
readonly schemaVersion: typeof NEXT_RESULT_V7;
|
|
19
|
+
readonly acceptance: MilestoneAcceptanceModelResultV1 | null;
|
|
20
|
+
};
|
|
21
|
+
export declare function contract8MilestoneSourceDiagnostics(text: string): readonly Diagnostic[];
|
|
22
|
+
export declare function checkDocument(text: string, options?: Parameters<typeof checkContract7Document>[1]): CheckResultV5;
|
|
23
|
+
export declare function analyzeDocument(text: string, options?: AnalyzeOptions): AnalysisResultV6;
|
|
24
|
+
export declare function selectNextTasks(text: string, options?: AnalyzeOptions & NextOptions): NextResultV7;
|
|
25
|
+
//# sourceMappingURL=contract8-milestone-read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract8-milestone-read.d.ts","sourceRoot":"","sources":["../../src/application/contract8-milestone-read.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,qCAAqC,CAAC;AAM7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAEL,aAAa,IAAI,sBAAsB,EAEvC,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,eAAO,MAAM,eAAe,EAAG,yBAAkC,CAAC;AAClE,eAAO,MAAM,kBAAkB,EAAG,4BAAqC,CAAC;AACxE,eAAO,MAAM,cAAc,EAAG,wBAAiC,CAAC;AAEhE,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC;IACzE,QAAQ,CAAC,aAAa,EAAE,OAAO,eAAe,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,gCAAgC,GAAG,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAC/E,QAAQ,CAAC,aAAa,EAAE,OAAO,kBAAkB,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,gCAAgC,GAAG,IAAI,CAAC;CAC9D;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,eAAe,CAAC,GAAG;IACxE,QAAQ,CAAC,aAAa,EAAE,OAAO,cAAc,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,gCAAgC,GAAG,IAAI,CAAC;CAC9D,CAAC;AAoBF,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,UAAU,EAAE,CAUvF;AAqBD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAM,GACzD,aAAa,CA4Bf;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,gBAAgB,CAmBlB;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAc,GAAG,WAAgB,GACzC,YAAY,CAmBd"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { computeEffectiveReached } from "../analysis/graph.js";
|
|
2
|
+
import { evaluateMilestoneAcceptance, } from "../milestone-acceptance/evaluate.js";
|
|
3
|
+
import { MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY, milestoneAcceptanceBaseText, parseMilestoneAcceptanceSource, } from "../milestone-acceptance/source.js";
|
|
4
|
+
import { analyzeDocument as analyzeContract7Document, checkDocument as checkContract7Document, selectNextTasks as selectContract7NextTasks, } from "./contract7-assurance.js";
|
|
5
|
+
export const CHECK_RESULT_V5 = "Perttool.CheckResult.v5";
|
|
6
|
+
export const ANALYSIS_RESULT_V6 = "Perttool.AnalysisResult.v6";
|
|
7
|
+
export const NEXT_RESULT_V7 = "Perttool.NextResult.v7";
|
|
8
|
+
function milestoneIds(text) {
|
|
9
|
+
return Object.freeze([...text.matchAll(/^milestone ([A-Za-z][A-Za-z0-9_-]*):$/gmu)]
|
|
10
|
+
.map((match) => match[1]));
|
|
11
|
+
}
|
|
12
|
+
function acceptanceProjection(text) {
|
|
13
|
+
const source = parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY);
|
|
14
|
+
if (!source.ok || source.grammarVersion !== 7)
|
|
15
|
+
return null;
|
|
16
|
+
const base = checkContract7Document(milestoneAcceptanceBaseText(text));
|
|
17
|
+
if (!base.ok)
|
|
18
|
+
return null;
|
|
19
|
+
const reached = computeEffectiveReached(base.document);
|
|
20
|
+
return evaluateMilestoneAcceptance({
|
|
21
|
+
source,
|
|
22
|
+
milestoneIds: milestoneIds(text),
|
|
23
|
+
closureReachedMilestoneIds: reached,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export function contract8MilestoneSourceDiagnostics(text) {
|
|
27
|
+
const parsed = parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY);
|
|
28
|
+
return Object.freeze(parsed.diagnostics.map((item) => Object.freeze({
|
|
29
|
+
code: item.code,
|
|
30
|
+
severity: "error",
|
|
31
|
+
message: item.message,
|
|
32
|
+
span: item.span,
|
|
33
|
+
helpTopic: "editing",
|
|
34
|
+
data: Object.freeze({}),
|
|
35
|
+
})));
|
|
36
|
+
}
|
|
37
|
+
function missingCriterionWarnings(text, acceptance) {
|
|
38
|
+
if (acceptance === null || acceptance.grammarVersion !== 7)
|
|
39
|
+
return Object.freeze([]);
|
|
40
|
+
return Object.freeze(acceptance.milestones
|
|
41
|
+
.filter(({ acceptance: state, grandfathered }) => state === "not_declared" && !grandfathered)
|
|
42
|
+
.map(({ milestoneId }) => Object.freeze({
|
|
43
|
+
code: "PTMAC-102",
|
|
44
|
+
severity: "warning",
|
|
45
|
+
message: `Milestone ${milestoneId} has no declared acceptance criterion set; use milestone acceptance replace`,
|
|
46
|
+
entityId: milestoneId,
|
|
47
|
+
helpTopic: "editing",
|
|
48
|
+
data: Object.freeze({ milestone_id: milestoneId }),
|
|
49
|
+
})));
|
|
50
|
+
}
|
|
51
|
+
export function checkDocument(text, options = {}) {
|
|
52
|
+
const baseText = milestoneAcceptanceBaseText(text);
|
|
53
|
+
const base = checkContract7Document(baseText, options);
|
|
54
|
+
const acceptance = acceptanceProjection(text);
|
|
55
|
+
const extra = [
|
|
56
|
+
...contract8MilestoneSourceDiagnostics(text),
|
|
57
|
+
...missingCriterionWarnings(text, acceptance),
|
|
58
|
+
];
|
|
59
|
+
const diagnostics = Object.freeze([...base.diagnostics, ...extra]);
|
|
60
|
+
const extraErrors = extra.filter(({ severity }) => severity === "error").length;
|
|
61
|
+
const extraWarnings = extra.filter(({ severity }) => severity === "warning").length;
|
|
62
|
+
return Object.freeze({
|
|
63
|
+
...base,
|
|
64
|
+
schemaVersion: CHECK_RESULT_V5,
|
|
65
|
+
ok: base.ok && extraErrors === 0,
|
|
66
|
+
grammarVersion: parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY).grammarVersion,
|
|
67
|
+
document: { ...base.document, text },
|
|
68
|
+
diagnostics,
|
|
69
|
+
summary: Object.freeze({
|
|
70
|
+
...base.summary,
|
|
71
|
+
errors: base.summary.errors + extraErrors,
|
|
72
|
+
warnings: base.summary.warnings + extraWarnings,
|
|
73
|
+
}),
|
|
74
|
+
acceptance,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
export function analyzeDocument(text, options = {}) {
|
|
78
|
+
const base = analyzeContract7Document(milestoneAcceptanceBaseText(text), options);
|
|
79
|
+
const acceptance = acceptanceProjection(text);
|
|
80
|
+
const diagnostics = Object.freeze([
|
|
81
|
+
...base.diagnostics,
|
|
82
|
+
...contract8MilestoneSourceDiagnostics(text),
|
|
83
|
+
]);
|
|
84
|
+
return Object.freeze({
|
|
85
|
+
...base,
|
|
86
|
+
schemaVersion: ANALYSIS_RESULT_V6,
|
|
87
|
+
ok: base.ok && (acceptance === null || acceptance.ok) &&
|
|
88
|
+
!diagnostics.some(({ severity }) => severity === "error"),
|
|
89
|
+
grammarVersion: parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY).grammarVersion,
|
|
90
|
+
diagnostics,
|
|
91
|
+
acceptance,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
export function selectNextTasks(text, options = {}) {
|
|
95
|
+
const base = selectContract7NextTasks(milestoneAcceptanceBaseText(text), options);
|
|
96
|
+
const acceptance = acceptanceProjection(text);
|
|
97
|
+
const diagnostics = Object.freeze([
|
|
98
|
+
...base.diagnostics,
|
|
99
|
+
...contract8MilestoneSourceDiagnostics(text),
|
|
100
|
+
]);
|
|
101
|
+
return Object.freeze({
|
|
102
|
+
...base,
|
|
103
|
+
schemaVersion: NEXT_RESULT_V7,
|
|
104
|
+
ok: base.ok && (acceptance === null || acceptance.ok) &&
|
|
105
|
+
!diagnostics.some(({ severity }) => severity === "error"),
|
|
106
|
+
grammarVersion: parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY).grammarVersion,
|
|
107
|
+
diagnostics,
|
|
108
|
+
acceptance,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=contract8-milestone-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract8-milestone-read.js","sourceRoot":"","sources":["../../src/application/contract8-milestone-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract9-assurance-evaluate.d.ts","sourceRoot":"","sources":["../../src/application/contract9-assurance-evaluate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,yBAAyB,EAG1B,MAAM,uBAAuB,CAAC;AAgF/B,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,GACX,yBAAyB,GAAG,IAAI,CAalC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { evaluatePlanAssurance } from "../assurance/evaluate.js";
|
|
2
|
+
import { projectPlanAssuranceInput } from "../assurance/source.js";
|
|
3
|
+
import { milestoneAcceptanceBaseText } from "../milestone-acceptance/source.js";
|
|
4
|
+
import { TARGET_GRAMMAR_6_CAPABILITY } from "../parser/document-parser.js";
|
|
5
|
+
import { validateTargetGrammar6Document } from "../semantic/target-validator.js";
|
|
6
|
+
import { scanTemporalDeclarationBlocks, temporalScheduleBaseText, } from "../temporal-schedule/source-lexical.js";
|
|
7
|
+
import { parseTemporalScheduleSource, TEMPORAL_SCHEDULE_SOURCE_CAPABILITY, } from "../temporal-schedule/source.js";
|
|
8
|
+
function gcd(left, right) {
|
|
9
|
+
let a = left;
|
|
10
|
+
let b = right;
|
|
11
|
+
while (b !== 0n)
|
|
12
|
+
[a, b] = [b, a % b];
|
|
13
|
+
return a;
|
|
14
|
+
}
|
|
15
|
+
function calendar(value) {
|
|
16
|
+
const match = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|[+-]\d{2}:\d{2})$/u.exec(value.sourceText);
|
|
17
|
+
if (match === null)
|
|
18
|
+
throw new Error("validated Grammar 8 task bound is not canonical date-time source");
|
|
19
|
+
const secondText = match[6];
|
|
20
|
+
const [whole, fraction = ""] = secondText.split(".");
|
|
21
|
+
const denominator = 10n ** BigInt(fraction.length);
|
|
22
|
+
const rawNumerator = BigInt(whole) * denominator + BigInt(fraction || "0");
|
|
23
|
+
const divisor = gcd(rawNumerator, denominator);
|
|
24
|
+
const numerator = rawNumerator / divisor;
|
|
25
|
+
const reducedDenominator = denominator / divisor;
|
|
26
|
+
const offset = match[7] === "Z" ? 0 : (match[7].startsWith("-") ? -1 : 1) *
|
|
27
|
+
(Number(match[7].slice(1, 3)) * 60 + Number(match[7].slice(4, 6)));
|
|
28
|
+
return Object.freeze({
|
|
29
|
+
kind: "date_time",
|
|
30
|
+
year: Number(match[1]),
|
|
31
|
+
month: Number(match[2]),
|
|
32
|
+
day: Number(match[3]),
|
|
33
|
+
hour: Number(match[4]),
|
|
34
|
+
minute: Number(match[5]),
|
|
35
|
+
second: Object.freeze({
|
|
36
|
+
numerator: numerator.toString(),
|
|
37
|
+
denominator: reducedDenominator.toString(),
|
|
38
|
+
}),
|
|
39
|
+
offsetMinutes: offset,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function bound(bounds, taskId, event, direction) {
|
|
43
|
+
const value = bounds.find((item) => item.entityId === taskId && item.event === event && item.direction === direction);
|
|
44
|
+
return value === undefined ? null : calendar(value.value);
|
|
45
|
+
}
|
|
46
|
+
function contractV2(contract, bounds) {
|
|
47
|
+
const { notBefore: _notBefore, ...retained } = contract;
|
|
48
|
+
return Object.freeze({
|
|
49
|
+
...retained,
|
|
50
|
+
model: "Perttool.TaskPlanContract.v2",
|
|
51
|
+
when: Object.freeze({
|
|
52
|
+
startEarliest: bound(bounds, contract.taskId, "start", "earliest"),
|
|
53
|
+
startLatest: bound(bounds, contract.taskId, "start", "latest"),
|
|
54
|
+
finishEarliest: bound(bounds, contract.taskId, "finish", "earliest"),
|
|
55
|
+
finishLatest: bound(bounds, contract.taskId, "finish", "latest"),
|
|
56
|
+
}),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
export function evaluateContract9PlanAssurance(text) {
|
|
60
|
+
const temporal = parseTemporalScheduleSource(text, TEMPORAL_SCHEDULE_SOURCE_CAPABILITY);
|
|
61
|
+
if (!temporal.ok || temporal.model === null || temporal.grammarVersion !== 8)
|
|
62
|
+
return null;
|
|
63
|
+
const grammar7 = temporalScheduleBaseText(text, scanTemporalDeclarationBlocks(text));
|
|
64
|
+
const grammar6 = milestoneAcceptanceBaseText(grammar7);
|
|
65
|
+
const checked = validateTargetGrammar6Document(grammar6, TARGET_GRAMMAR_6_CAPABILITY);
|
|
66
|
+
if (!checked.ok || checked.validatedDocument === null)
|
|
67
|
+
return null;
|
|
68
|
+
const input = projectPlanAssuranceInput(checked.validatedDocument);
|
|
69
|
+
const tasks = input.tasks.map((task) => Object.freeze({
|
|
70
|
+
...task,
|
|
71
|
+
contract: contractV2(task.contract, temporal.model.taskBounds),
|
|
72
|
+
}));
|
|
73
|
+
return evaluatePlanAssurance(Object.freeze({ ...input, tasks: Object.freeze(tasks) }));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=contract9-assurance-evaluate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract9-assurance-evaluate.js","sourceRoot":"","sources":["../../src/application/contract9-assurance-evaluate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { PlanAssuranceEvaluationV1 } from "../assurance/types.js";
|
|
2
1
|
import type { PlanAssuranceProjectionV1 } from "../assurance/authority.js";
|
|
3
2
|
import type { Diagnostic } from "../model/diagnostics.js";
|
|
4
3
|
import type { PlanAssuranceHashKind, PlanAssuranceInspectionRequest } from "./target-assurance-inspection.js";
|
|
5
|
-
export
|
|
4
|
+
export { evaluateContract9PlanAssurance } from "./contract9-assurance-evaluate.js";
|
|
6
5
|
export interface Contract9PlanAssuranceResultV2 {
|
|
7
6
|
readonly schemaVersion: "Perttool.PlanAssuranceResult.v2";
|
|
8
7
|
readonly cliContractVersion: 9;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract9-assurance.d.ts","sourceRoot":"","sources":["../../src/application/contract9-assurance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract9-assurance.d.ts","sourceRoot":"","sources":["../../src/application/contract9-assurance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAK9G,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAEnF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,aAAa,EAAE,iCAAiC,CAAC;IAC1D,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,8BAA8B,CAAC,WAAW,CAAC,CAAC;IAChE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CACxC;AAqBD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,GAAG,8BAA8B,CA+BnI"}
|
|
@@ -1,64 +1,10 @@
|
|
|
1
|
-
import { evaluatePlanAssurance } from "../assurance/evaluate.js";
|
|
2
1
|
import { projectPlanAssuranceAnalysis } from "../assurance/authority.js";
|
|
3
|
-
import { projectPlanAssuranceInput } from "../assurance/source.js";
|
|
4
2
|
import { sha256DigestUtf8 } from "../model/sha256.js";
|
|
5
3
|
import { inspectPlanAssurance as inspectContract8PlanAssurance } from "./contract8-milestone-acceptance.js";
|
|
6
|
-
import { milestoneAcceptanceBaseText } from "../milestone-acceptance/source.js";
|
|
7
4
|
import { TARGET_GRAMMAR_6_CAPABILITY } from "../parser/document-parser.js";
|
|
8
|
-
import { validateTargetGrammar6Document } from "../semantic/target-validator.js";
|
|
9
|
-
import { scanTemporalDeclarationBlocks, temporalScheduleBaseText } from "../temporal-schedule/source-lexical.js";
|
|
10
5
|
import { parseTemporalScheduleSource, TEMPORAL_SCHEDULE_SOURCE_CAPABILITY } from "../temporal-schedule/source.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
let b = right;
|
|
14
|
-
while (b !== 0n)
|
|
15
|
-
[a, b] = [b, a % b];
|
|
16
|
-
return a;
|
|
17
|
-
}
|
|
18
|
-
function calendar(value) {
|
|
19
|
-
const match = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|[+-]\d{2}:\d{2})$/u.exec(value.sourceText);
|
|
20
|
-
if (match === null)
|
|
21
|
-
throw new Error("validated Grammar 8 task bound is not canonical date-time source");
|
|
22
|
-
const secondText = match[6];
|
|
23
|
-
const [whole, fraction = ""] = secondText.split(".");
|
|
24
|
-
const denominator = 10n ** BigInt(fraction.length);
|
|
25
|
-
const rawNumerator = BigInt(whole) * denominator + BigInt(fraction || "0");
|
|
26
|
-
const divisor = gcd(rawNumerator, denominator);
|
|
27
|
-
const numerator = rawNumerator / divisor;
|
|
28
|
-
const reducedDenominator = denominator / divisor;
|
|
29
|
-
const offset = match[7] === "Z" ? 0 : (match[7].startsWith("-") ? -1 : 1) *
|
|
30
|
-
(Number(match[7].slice(1, 3)) * 60 + Number(match[7].slice(4, 6)));
|
|
31
|
-
return Object.freeze({ kind: "date_time", year: Number(match[1]), month: Number(match[2]), day: Number(match[3]),
|
|
32
|
-
hour: Number(match[4]), minute: Number(match[5]), second: Object.freeze({ numerator: numerator.toString(), denominator: reducedDenominator.toString() }),
|
|
33
|
-
offsetMinutes: offset });
|
|
34
|
-
}
|
|
35
|
-
function bound(bounds, taskId, event, direction) {
|
|
36
|
-
const value = bounds.find((item) => item.entityId === taskId && item.event === event && item.direction === direction);
|
|
37
|
-
return value === undefined ? null : calendar(value.value);
|
|
38
|
-
}
|
|
39
|
-
function contractV2(contract, bounds) {
|
|
40
|
-
const { notBefore: _notBefore, ...retained } = contract;
|
|
41
|
-
return Object.freeze({ ...retained, model: "Perttool.TaskPlanContract.v2", when: Object.freeze({
|
|
42
|
-
startEarliest: bound(bounds, contract.taskId, "start", "earliest"),
|
|
43
|
-
startLatest: bound(bounds, contract.taskId, "start", "latest"),
|
|
44
|
-
finishEarliest: bound(bounds, contract.taskId, "finish", "earliest"),
|
|
45
|
-
finishLatest: bound(bounds, contract.taskId, "finish", "latest"),
|
|
46
|
-
}) });
|
|
47
|
-
}
|
|
48
|
-
export function evaluateContract9PlanAssurance(text) {
|
|
49
|
-
const temporal = parseTemporalScheduleSource(text, TEMPORAL_SCHEDULE_SOURCE_CAPABILITY);
|
|
50
|
-
if (!temporal.ok || temporal.model === null || temporal.grammarVersion !== 8)
|
|
51
|
-
return null;
|
|
52
|
-
const grammar7 = temporalScheduleBaseText(text, scanTemporalDeclarationBlocks(text));
|
|
53
|
-
const grammar6 = milestoneAcceptanceBaseText(grammar7);
|
|
54
|
-
const checked = validateTargetGrammar6Document(grammar6, TARGET_GRAMMAR_6_CAPABILITY);
|
|
55
|
-
if (!checked.ok || checked.validatedDocument === null)
|
|
56
|
-
return null;
|
|
57
|
-
const input = projectPlanAssuranceInput(checked.validatedDocument);
|
|
58
|
-
const tasks = input.tasks.map((task) => Object.freeze({ ...task,
|
|
59
|
-
contract: contractV2(task.contract, temporal.model.taskBounds) }));
|
|
60
|
-
return evaluatePlanAssurance(Object.freeze({ ...input, tasks: Object.freeze(tasks) }));
|
|
61
|
-
}
|
|
6
|
+
import { evaluateContract9PlanAssurance } from "./contract9-assurance-evaluate.js";
|
|
7
|
+
export { evaluateContract9PlanAssurance } from "./contract9-assurance-evaluate.js";
|
|
62
8
|
function selectedProjection(value, ids) {
|
|
63
9
|
if (ids.length === 0)
|
|
64
10
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract9-assurance.js","sourceRoot":"","sources":["../../src/application/contract9-assurance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"contract9-assurance.js","sourceRoot":"","sources":["../../src/application/contract9-assurance.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,14 @@ export interface Contract9CandidateOptions {
|
|
|
15
15
|
readonly originalLabel?: string;
|
|
16
16
|
readonly updatedLabel?: string;
|
|
17
17
|
}
|
|
18
|
+
export declare function failedLiftedCandidate<T extends Contract9CandidateShape>(planned: T, originalDigest: string, diagnostics: T["diagnostics"], diagnosticsTruncated: boolean): T;
|
|
19
|
+
export declare function successfulLiftedCandidate<T extends Contract9CandidateShape>(planned: T, text: string, candidateText: string, originalDigest: string, options: Contract9CandidateOptions): T;
|
|
20
|
+
export declare function finalizeLiftedCandidate<T extends Contract9CandidateShape>(planned: T, text: string, candidateText: string, originalDigest: string, options: Contract9CandidateOptions, checked: Readonly<{
|
|
21
|
+
ok: boolean;
|
|
22
|
+
model: unknown | null;
|
|
23
|
+
diagnostics: readonly unknown[];
|
|
24
|
+
diagnosticsTruncated: boolean;
|
|
25
|
+
}>): T;
|
|
18
26
|
type Contract9Identity<T> = T extends {
|
|
19
27
|
readonly schemaVersion: "Perttool.MutationResult.v5";
|
|
20
28
|
} ? Omit<T, "schemaVersion"> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract9-candidate.d.ts","sourceRoot":"","sources":["../../src/application/contract9-candidate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"contract9-candidate.d.ts","sourceRoot":"","sources":["../../src/application/contract9-candidate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAK1E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,CAAC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,uBAAuB,EACrE,OAAO,EAAE,CAAC,EACV,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,EAC7B,oBAAoB,EAAE,OAAO,GAC5B,CAAC,CAaH;AAED,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,uBAAuB,EACzE,OAAO,EAAE,CAAC,EACV,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,yBAAyB,GACjC,CAAC,CAYH;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,uBAAuB,EACvE,OAAO,EAAE,CAAC,EACV,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,QAAQ,CAAC;IAChB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,SAAS,OAAO,EAAE,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC,GACD,CAAC,CAgBH;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAA;CAAE,GAC1F,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG;IAAE,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAA;CAAE,GACnF,CAAC,SAAS;IAAE,QAAQ,CAAC,aAAa,EAAE,iCAAiC,CAAA;CAAE,GACrE,IAAI,CAAC,CAAC,EAAE,eAAe,GAAG,eAAe,CAAC,GAAG;IAC3C,QAAQ,CAAC,aAAa,EAAE,iCAAiC,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,yBAAyB,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC;CACzF,GACD,CAAC,CAAC;AAaR,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,uBAAuB,EACtE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,EAChC,OAAO,GAAE,yBAA8B,GACtC,iBAAiB,CAAC,CAAC,CAAC,CActB"}
|