perttool 0.5.5 → 0.7.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 +71 -1
- package/README.md +128 -30
- package/dist/application/advance-history.d.ts +48 -0
- package/dist/application/advance-history.d.ts.map +1 -0
- package/dist/application/advance-history.js +263 -0
- package/dist/application/advance-history.js.map +1 -0
- package/dist/application/contract6-mutation.d.ts +3 -2
- package/dist/application/contract6-mutation.d.ts.map +1 -1
- package/dist/application/contract6-mutation.js +2 -1
- package/dist/application/contract6-mutation.js.map +1 -1
- package/dist/application/contract6-projection.d.ts +2 -1
- package/dist/application/contract6-projection.d.ts.map +1 -1
- package/dist/application/contract6-projection.js +31 -1
- package/dist/application/contract6-projection.js.map +1 -1
- package/dist/application/contract7-assurance.d.ts +57 -0
- package/dist/application/contract7-assurance.d.ts.map +1 -0
- package/dist/application/contract7-assurance.js +248 -0
- package/dist/application/contract7-assurance.js.map +1 -0
- package/dist/application/contract7-mermaid.d.ts +9 -0
- package/dist/application/contract7-mermaid.d.ts.map +1 -0
- package/dist/application/contract7-mermaid.js +73 -0
- package/dist/application/contract7-mermaid.js.map +1 -0
- package/dist/application/contract7-mutation.d.ts +21 -0
- package/dist/application/contract7-mutation.d.ts.map +1 -0
- package/dist/application/contract7-mutation.js +181 -0
- package/dist/application/contract7-mutation.js.map +1 -0
- package/dist/application/contract7-project.d.ts +10 -0
- package/dist/application/contract7-project.d.ts.map +1 -0
- package/dist/application/contract7-project.js +29 -0
- package/dist/application/contract7-project.js.map +1 -0
- package/dist/application/contract7-projection.d.ts +9 -0
- package/dist/application/contract7-projection.d.ts.map +1 -0
- package/dist/application/contract7-projection.js +100 -0
- package/dist/application/contract7-projection.js.map +1 -0
- package/dist/application/contract7-source.d.ts +24 -0
- package/dist/application/contract7-source.d.ts.map +1 -0
- package/dist/application/contract7-source.js +54 -0
- package/dist/application/contract7-source.js.map +1 -0
- package/dist/application/contract7-unit-migration.d.ts +13 -0
- package/dist/application/contract7-unit-migration.d.ts.map +1 -0
- package/dist/application/contract7-unit-migration.js +13 -0
- package/dist/application/contract7-unit-migration.js.map +1 -0
- package/dist/application/init.d.ts +1 -1
- package/dist/application/init.js +3 -3
- package/dist/application/mutate.d.ts +5 -1
- package/dist/application/mutate.d.ts.map +1 -1
- package/dist/application/mutate.js +2 -2
- package/dist/application/mutate.js.map +1 -1
- package/dist/application/target-actuals-analysis.d.ts +5 -4
- package/dist/application/target-actuals-analysis.d.ts.map +1 -1
- package/dist/application/target-actuals-analysis.js +18 -11
- package/dist/application/target-actuals-analysis.js.map +1 -1
- package/dist/application/target-actuals-mutation.d.ts +5 -3
- package/dist/application/target-actuals-mutation.d.ts.map +1 -1
- package/dist/application/target-actuals-mutation.js +16 -8
- package/dist/application/target-actuals-mutation.js.map +1 -1
- package/dist/application/target-actuals-write.d.ts +2 -1
- package/dist/application/target-actuals-write.d.ts.map +1 -1
- package/dist/application/target-actuals-write.js.map +1 -1
- package/dist/application/target-assurance-advance-history.d.ts +19 -0
- package/dist/application/target-assurance-advance-history.d.ts.map +1 -0
- package/dist/application/target-assurance-advance-history.js +61 -0
- package/dist/application/target-assurance-advance-history.js.map +1 -0
- package/dist/application/target-assurance-analysis.d.ts +34 -0
- package/dist/application/target-assurance-analysis.d.ts.map +1 -0
- package/dist/application/target-assurance-analysis.js +103 -0
- package/dist/application/target-assurance-analysis.js.map +1 -0
- package/dist/application/target-assurance-inspection.d.ts +38 -0
- package/dist/application/target-assurance-inspection.d.ts.map +1 -0
- package/dist/application/target-assurance-inspection.js +356 -0
- package/dist/application/target-assurance-inspection.js.map +1 -0
- package/dist/application/target-assurance-write.d.ts +22 -0
- package/dist/application/target-assurance-write.d.ts.map +1 -0
- package/dist/application/target-assurance-write.js +73 -0
- package/dist/application/target-assurance-write.js.map +1 -0
- package/dist/application/target-governance-init.d.ts +3 -3
- package/dist/application/target-governance-init.d.ts.map +1 -1
- package/dist/application/target-governance-init.js +14 -10
- package/dist/application/target-governance-init.js.map +1 -1
- package/dist/application/target-governance-project.d.ts +6 -4
- package/dist/application/target-governance-project.d.ts.map +1 -1
- package/dist/application/target-governance-project.js +18 -4
- package/dist/application/target-governance-project.js.map +1 -1
- package/dist/application/target-mutate.d.ts +7 -1
- package/dist/application/target-mutate.d.ts.map +1 -1
- package/dist/application/target-mutate.js +50 -3
- package/dist/application/target-mutate.js.map +1 -1
- package/dist/application/target-project-history.d.ts +4 -4
- package/dist/application/target-project-history.d.ts.map +1 -1
- package/dist/application/target-project-history.js +1 -1
- package/dist/application/target-project-history.js.map +1 -1
- package/dist/application/target-unit-migration-candidate.d.ts +29 -6
- package/dist/application/target-unit-migration-candidate.d.ts.map +1 -1
- package/dist/application/target-unit-migration-candidate.js +204 -3
- package/dist/application/target-unit-migration-candidate.js.map +1 -1
- package/dist/application/target-unit-migration-result.d.ts +2 -2
- package/dist/application/target-unit-migration-result.d.ts.map +1 -1
- package/dist/application/target-unit-migration-result.js +4 -2
- package/dist/application/target-unit-migration-result.js.map +1 -1
- package/dist/application/target-velocity-observation.d.ts +1 -1
- package/dist/application/target-velocity-observation.js +1 -1
- package/dist/assurance/advance.d.ts +45 -0
- package/dist/assurance/advance.d.ts.map +1 -0
- package/dist/assurance/advance.js +507 -0
- package/dist/assurance/advance.js.map +1 -0
- package/dist/assurance/authority.d.ts +86 -0
- package/dist/assurance/authority.d.ts.map +1 -0
- package/dist/assurance/authority.js +269 -0
- package/dist/assurance/authority.js.map +1 -0
- package/dist/assurance/canonical.d.ts +13 -0
- package/dist/assurance/canonical.d.ts.map +1 -0
- package/dist/assurance/canonical.js +320 -0
- package/dist/assurance/canonical.js.map +1 -0
- package/dist/assurance/compatibility.d.ts +62 -0
- package/dist/assurance/compatibility.d.ts.map +1 -0
- package/dist/assurance/compatibility.js +163 -0
- package/dist/assurance/compatibility.js.map +1 -0
- package/dist/assurance/evaluate.d.ts +4 -0
- package/dist/assurance/evaluate.d.ts.map +1 -0
- package/dist/assurance/evaluate.js +631 -0
- package/dist/assurance/evaluate.js.map +1 -0
- package/dist/assurance/governance.d.ts +42 -0
- package/dist/assurance/governance.d.ts.map +1 -0
- package/dist/assurance/governance.js +95 -0
- package/dist/assurance/governance.js.map +1 -0
- package/dist/assurance/mermaid.d.ts +40 -0
- package/dist/assurance/mermaid.d.ts.map +1 -0
- package/dist/assurance/mermaid.js +401 -0
- package/dist/assurance/mermaid.js.map +1 -0
- package/dist/assurance/mutation.d.ts +96 -0
- package/dist/assurance/mutation.d.ts.map +1 -0
- package/dist/assurance/mutation.js +757 -0
- package/dist/assurance/mutation.js.map +1 -0
- package/dist/assurance/source.d.ts +20 -0
- package/dist/assurance/source.d.ts.map +1 -0
- package/dist/assurance/source.js +313 -0
- package/dist/assurance/source.js.map +1 -0
- package/dist/assurance/types.d.ts +166 -0
- package/dist/assurance/types.d.ts.map +1 -0
- package/dist/assurance/types.js +3 -0
- package/dist/assurance/types.js.map +1 -0
- package/dist/cli.js +431 -72
- package/dist/cli.js.map +1 -1
- package/dist/command/actuals-discovery.d.ts.map +1 -1
- package/dist/command/actuals-discovery.js +50 -4
- package/dist/command/actuals-discovery.js.map +1 -1
- package/dist/command/assurance-discovery.d.ts +17 -0
- package/dist/command/assurance-discovery.d.ts.map +1 -0
- package/dist/command/assurance-discovery.js +287 -0
- package/dist/command/assurance-discovery.js.map +1 -0
- package/dist/command/assurance-usage.d.ts +20 -0
- package/dist/command/assurance-usage.d.ts.map +1 -0
- package/dist/command/assurance-usage.js +66 -0
- package/dist/command/assurance-usage.js.map +1 -0
- package/dist/conversion/mermaid.d.ts +2 -1
- package/dist/conversion/mermaid.d.ts.map +1 -1
- package/dist/conversion/mermaid.js +2 -2
- package/dist/conversion/mermaid.js.map +1 -1
- package/dist/formatter/source-formatter.d.ts +1 -1
- package/dist/formatter/source-formatter.d.ts.map +1 -1
- package/dist/formatter/source-formatter.js +56 -4
- package/dist/formatter/source-formatter.js.map +1 -1
- package/dist/formatter/target-source-formatter.d.ts +2 -1
- package/dist/formatter/target-source-formatter.d.ts.map +1 -1
- package/dist/formatter/target-source-formatter.js +18 -2
- package/dist/formatter/target-source-formatter.js.map +1 -1
- package/dist/help/assurance-guide.d.ts +10 -0
- package/dist/help/assurance-guide.d.ts.map +1 -0
- package/dist/help/assurance-guide.js +115 -0
- package/dist/help/assurance-guide.js.map +1 -0
- package/dist/help/guide.d.ts +1 -1
- package/dist/help/guide.d.ts.map +1 -1
- package/dist/help/registry.d.ts.map +1 -1
- package/dist/help/registry.js +11 -1
- package/dist/help/registry.js.map +1 -1
- package/dist/history/advance-history.d.ts +46 -0
- package/dist/history/advance-history.d.ts.map +1 -0
- package/dist/history/advance-history.js +425 -0
- package/dist/history/advance-history.js.map +1 -0
- package/dist/history/git-probe.d.ts +40 -0
- package/dist/history/git-probe.d.ts.map +1 -1
- package/dist/history/git-probe.js +330 -0
- package/dist/history/git-probe.js.map +1 -1
- package/dist/history/project-history.d.ts +14 -5
- package/dist/history/project-history.d.ts.map +1 -1
- package/dist/history/project-history.js +25 -18
- package/dist/history/project-history.js.map +1 -1
- package/dist/index.d.ts +31 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -14
- package/dist/index.js.map +1 -1
- package/dist/io/target-safe-write.d.ts +4 -1
- package/dist/io/target-safe-write.d.ts.map +1 -1
- package/dist/io/target-safe-write.js +19 -1
- package/dist/io/target-safe-write.js.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 +7 -3
- package/dist/migration/grammar-boundary.js.map +1 -1
- package/dist/model/declaration-fields.d.ts +12 -0
- package/dist/model/declaration-fields.d.ts.map +1 -1
- package/dist/model/declaration-fields.js +45 -0
- package/dist/model/declaration-fields.js.map +1 -1
- package/dist/model/syntax.d.ts +17 -1
- package/dist/model/syntax.d.ts.map +1 -1
- package/dist/model/syntax.js.map +1 -1
- package/dist/mutation/actuals.js +1 -1
- package/dist/mutation/actuals.js.map +1 -1
- package/dist/mutation/advance-deletion.d.ts +14 -0
- package/dist/mutation/advance-deletion.d.ts.map +1 -0
- package/dist/mutation/advance-deletion.js +53 -0
- package/dist/mutation/advance-deletion.js.map +1 -0
- package/dist/mutation/advance.d.ts +18 -1
- package/dist/mutation/advance.d.ts.map +1 -1
- package/dist/mutation/advance.js +28 -25
- package/dist/mutation/advance.js.map +1 -1
- package/dist/mutation/project.d.ts +2 -1
- package/dist/mutation/project.d.ts.map +1 -1
- package/dist/mutation/project.js +21 -0
- package/dist/mutation/project.js.map +1 -1
- package/dist/parser/document-parser.d.ts +7 -0
- package/dist/parser/document-parser.d.ts.map +1 -1
- package/dist/parser/document-parser.js +227 -12
- 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 +13 -5
- package/dist/recommendation/override.js.map +1 -1
- package/dist/schema/registry.d.ts +1 -1
- package/dist/schema/registry.d.ts.map +1 -1
- package/dist/schema/registry.js +8 -6
- package/dist/schema/registry.js.map +1 -1
- package/dist/semantic/target-validator.d.ts +12 -1
- package/dist/semantic/target-validator.d.ts.map +1 -1
- package/dist/semantic/target-validator.js +47 -2
- package/dist/semantic/target-validator.js.map +1 -1
- package/dist/semantic/validator.d.ts +1 -0
- package/dist/semantic/validator.d.ts.map +1 -1
- package/dist/semantic/validator.js +304 -0
- package/dist/semantic/validator.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.v2.schema.json +334 -0
- package/schemas/Perttool.AgentGuidanceResult.v1.schema.json +1 -1
- package/schemas/{Perttool.AnalysisResult.v4.schema.json → Perttool.AnalysisResult.v5.schema.json} +10 -6
- package/schemas/{Perttool.CheckResult.v3.schema.json → Perttool.CheckResult.v4.schema.json} +14 -6
- package/schemas/Perttool.CliError.v1.schema.json +1 -1
- package/schemas/Perttool.CommandHelpResult.v1.schema.json +2 -2
- package/schemas/Perttool.Common.v1.schema.json +300 -4
- 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.ImportResult.v1.schema.json +1 -1
- package/schemas/Perttool.InitResult.v1.schema.json +1 -1
- package/schemas/{Perttool.MutationResult.v3.schema.json → Perttool.MutationResult.v4.schema.json} +16 -5
- package/schemas/{Perttool.NextResult.v5.schema.json → Perttool.NextResult.v6.schema.json} +53 -8
- package/schemas/Perttool.OverrideDecision.v1.schema.json +1 -1
- package/schemas/Perttool.PlanAssuranceResult.v1.schema.json +77 -0
- package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +1 -1
- package/schemas/{Perttool.ProjectResult.v3.schema.json → Perttool.ProjectResult.v4.schema.json} +15 -7
- package/schemas/Perttool.SchemaResult.v1.schema.json +1 -1
- package/schemas/Perttool.UnitMigrationResult.v3.schema.json +5 -3
- package/schemas/Perttool.VelocityObservationResult.v1.schema.json +1 -1
|
@@ -4,6 +4,7 @@ import { lstat, open, realpath, } from "node:fs/promises";
|
|
|
4
4
|
import { dirname, isAbsolute, relative, resolve, sep, } from "node:path";
|
|
5
5
|
import { digestDocumentBytes } from "../io/document-file.js";
|
|
6
6
|
export const GIT_HISTORY_PROBE_MODEL_VERSION = 1;
|
|
7
|
+
export const ADVANCE_HISTORY_BASELINE_MODEL_VERSION = 1;
|
|
7
8
|
const gitTimeoutMilliseconds = 30_000;
|
|
8
9
|
const gitMaxBufferBytes = 64 * 1024 * 1024;
|
|
9
10
|
const availabilityOrder = new Map([
|
|
@@ -172,6 +173,8 @@ async function captureTarget(path) {
|
|
|
172
173
|
digest: digestDocumentBytes(bytes),
|
|
173
174
|
device: openedStat.dev,
|
|
174
175
|
inode: openedStat.ino,
|
|
176
|
+
modifiedAt: new Date(Number(openedStat.mtimeNs / 1000000n)).toISOString(),
|
|
177
|
+
source: new Uint8Array(bytes),
|
|
175
178
|
},
|
|
176
179
|
};
|
|
177
180
|
}
|
|
@@ -571,4 +574,331 @@ export async function probeGitHistory(request, dependencies = {}) {
|
|
|
571
574
|
availability: allCauses,
|
|
572
575
|
};
|
|
573
576
|
}
|
|
577
|
+
function unavailableAdvanceBaseline(cause, operation, fields = {}) {
|
|
578
|
+
return {
|
|
579
|
+
ok: true,
|
|
580
|
+
modelVersion: ADVANCE_HISTORY_BASELINE_MODEL_VERSION,
|
|
581
|
+
status: "unavailable",
|
|
582
|
+
cause,
|
|
583
|
+
operation,
|
|
584
|
+
objectFormat: fields.objectFormat ?? null,
|
|
585
|
+
repositorySnapshotId: fields.repositorySnapshotId ?? null,
|
|
586
|
+
repositoryRelativePath: fields.repositoryRelativePath ?? null,
|
|
587
|
+
headCommitId: fields.headCommitId ?? null,
|
|
588
|
+
headBlobId: fields.headBlobId ?? null,
|
|
589
|
+
indexBlobId: fields.indexBlobId ?? null,
|
|
590
|
+
currentSourceDigest: fields.currentSourceDigest ?? null,
|
|
591
|
+
headSourceDigest: fields.headSourceDigest ?? null,
|
|
592
|
+
indexSourceDigest: fields.indexSourceDigest ?? null,
|
|
593
|
+
sourceModifiedAt: fields.sourceModifiedAt ?? null,
|
|
594
|
+
targetDevice: fields.targetDevice ?? null,
|
|
595
|
+
targetInode: fields.targetInode ?? null,
|
|
596
|
+
currentSource: fields.currentSource ?? null,
|
|
597
|
+
headSource: fields.headSource ?? null,
|
|
598
|
+
indexSource: fields.indexSource ?? null,
|
|
599
|
+
};
|
|
600
|
+
}
|
|
601
|
+
function baselineCommandCause(result, operation, fields) {
|
|
602
|
+
return unavailableAdvanceBaseline("git_unavailable", !result.ok && result.kind === "failure"
|
|
603
|
+
? result.failure.operation
|
|
604
|
+
: operation, fields);
|
|
605
|
+
}
|
|
606
|
+
function parseTreeBlob(bytes, relativePath, objectFormat) {
|
|
607
|
+
if (bytes.length === 0)
|
|
608
|
+
return { kind: "missing" };
|
|
609
|
+
const tab = bytes.indexOf(0x09);
|
|
610
|
+
if (tab === -1 ||
|
|
611
|
+
!bytes.subarray(tab + 1).equals(Buffer.from(`${relativePath}\0`, "utf8"))) {
|
|
612
|
+
return { kind: "ambiguous" };
|
|
613
|
+
}
|
|
614
|
+
const header = bytes.subarray(0, tab).toString("ascii").split(" ");
|
|
615
|
+
if (header.length !== 3 ||
|
|
616
|
+
(header[0] !== "100644" && header[0] !== "100755") ||
|
|
617
|
+
header[1] !== "blob" ||
|
|
618
|
+
!commitId(header[2], objectFormat)) {
|
|
619
|
+
return { kind: "ambiguous" };
|
|
620
|
+
}
|
|
621
|
+
return { kind: "ok", blobId: header[2] };
|
|
622
|
+
}
|
|
623
|
+
function parseIndexBlob(bytes, relativePath, objectFormat) {
|
|
624
|
+
if (bytes.length === 0)
|
|
625
|
+
return { kind: "missing" };
|
|
626
|
+
const records = bytes.toString("latin1").split("\0");
|
|
627
|
+
if (records.at(-1) !== "")
|
|
628
|
+
return { kind: "ambiguous" };
|
|
629
|
+
records.pop();
|
|
630
|
+
if (records.length !== 1)
|
|
631
|
+
return { kind: "unmerged" };
|
|
632
|
+
const record = Buffer.from(records[0], "latin1");
|
|
633
|
+
const tab = record.indexOf(0x09);
|
|
634
|
+
if (tab === -1 ||
|
|
635
|
+
!record.subarray(tab + 1).equals(Buffer.from(relativePath, "utf8"))) {
|
|
636
|
+
return { kind: "ambiguous" };
|
|
637
|
+
}
|
|
638
|
+
const header = record.subarray(0, tab).toString("ascii").split(" ");
|
|
639
|
+
if (header.length !== 3)
|
|
640
|
+
return { kind: "ambiguous" };
|
|
641
|
+
if (header[2] !== "0")
|
|
642
|
+
return { kind: "unmerged" };
|
|
643
|
+
if ((header[0] !== "100644" && header[0] !== "100755") ||
|
|
644
|
+
!commitId(header[1], objectFormat)) {
|
|
645
|
+
return { kind: "ambiguous" };
|
|
646
|
+
}
|
|
647
|
+
return { kind: "ok", blobId: header[1] };
|
|
648
|
+
}
|
|
649
|
+
export async function captureAdvanceHistoryBaseline(request, dependencies = {}) {
|
|
650
|
+
const executable = dependencies.gitExecutable ?? "git";
|
|
651
|
+
const targetPath = resolve(request.targetPath);
|
|
652
|
+
const initialTarget = await captureTarget(targetPath);
|
|
653
|
+
if (!initialTarget.ok) {
|
|
654
|
+
return unavailableAdvanceBaseline("ambiguous" in initialTarget
|
|
655
|
+
? "ambiguous_path"
|
|
656
|
+
: "baseline_read_failed", "ambiguous" in initialTarget
|
|
657
|
+
? "target_capture"
|
|
658
|
+
: initialTarget.failure.operation);
|
|
659
|
+
}
|
|
660
|
+
const targetFields = {
|
|
661
|
+
currentSourceDigest: initialTarget.capture.digest,
|
|
662
|
+
sourceModifiedAt: initialTarget.capture.modifiedAt,
|
|
663
|
+
targetDevice: initialTarget.capture.device,
|
|
664
|
+
targetInode: initialTarget.capture.inode,
|
|
665
|
+
currentSource: initialTarget.capture.source,
|
|
666
|
+
};
|
|
667
|
+
if (request.expectedSourceDigest !== undefined &&
|
|
668
|
+
request.expectedSourceDigest !== initialTarget.capture.digest) {
|
|
669
|
+
return unavailableAdvanceBaseline("target_changed", "expected_source", targetFields);
|
|
670
|
+
}
|
|
671
|
+
const repositoryCommand = runGit(executable, dirname(initialTarget.capture.realPath), "advance_repository_root", ["rev-parse", "--path-format=absolute", "--show-toplevel"]);
|
|
672
|
+
if (!repositoryCommand.ok) {
|
|
673
|
+
if (repositoryCommand.kind === "exit") {
|
|
674
|
+
return unavailableAdvanceBaseline("no_repository", "advance_repository_root", targetFields);
|
|
675
|
+
}
|
|
676
|
+
return baselineCommandCause(repositoryCommand, "advance_repository_root", targetFields);
|
|
677
|
+
}
|
|
678
|
+
const repositoryText = stdoutText(repositoryCommand, "advance_repository_root");
|
|
679
|
+
if (typeof repositoryText !== "string") {
|
|
680
|
+
return unavailableAdvanceBaseline("git_unavailable", repositoryText.operation, targetFields);
|
|
681
|
+
}
|
|
682
|
+
let repositoryRoot;
|
|
683
|
+
try {
|
|
684
|
+
repositoryRoot = await realpath(repositoryText);
|
|
685
|
+
}
|
|
686
|
+
catch {
|
|
687
|
+
return unavailableAdvanceBaseline("baseline_read_failed", "advance_repository_root", targetFields);
|
|
688
|
+
}
|
|
689
|
+
const relativePath = normalizeRepositoryPath(repositoryRoot, initialTarget.capture.realPath);
|
|
690
|
+
if (relativePath === null) {
|
|
691
|
+
return unavailableAdvanceBaseline("ambiguous_path", "advance_repository_path", targetFields);
|
|
692
|
+
}
|
|
693
|
+
const pathFields = {
|
|
694
|
+
...targetFields,
|
|
695
|
+
repositoryRelativePath: relativePath,
|
|
696
|
+
};
|
|
697
|
+
const headCommand = runGit(executable, repositoryRoot, "advance_resolve_head", ["rev-parse", "--verify", "--end-of-options", "HEAD^{commit}"]);
|
|
698
|
+
if (!headCommand.ok) {
|
|
699
|
+
if (headCommand.kind === "exit") {
|
|
700
|
+
return unavailableAdvanceBaseline("no_head", "advance_resolve_head", pathFields);
|
|
701
|
+
}
|
|
702
|
+
return baselineCommandCause(headCommand, "advance_resolve_head", pathFields);
|
|
703
|
+
}
|
|
704
|
+
const formatCommand = runGit(executable, repositoryRoot, "advance_object_format", ["rev-parse", "--show-object-format=storage"]);
|
|
705
|
+
if (!formatCommand.ok) {
|
|
706
|
+
return baselineCommandCause(formatCommand, "advance_object_format", pathFields);
|
|
707
|
+
}
|
|
708
|
+
const formatText = stdoutText(formatCommand, "advance_object_format");
|
|
709
|
+
if (typeof formatText !== "string" ||
|
|
710
|
+
(formatText !== "sha1" && formatText !== "sha256")) {
|
|
711
|
+
return unavailableAdvanceBaseline("git_unavailable", typeof formatText === "string"
|
|
712
|
+
? "advance_object_format"
|
|
713
|
+
: formatText.operation, pathFields);
|
|
714
|
+
}
|
|
715
|
+
const objectFormat = formatText;
|
|
716
|
+
const headText = stdoutText(headCommand, "advance_resolve_head");
|
|
717
|
+
if (typeof headText !== "string" ||
|
|
718
|
+
!commitId(headText, objectFormat)) {
|
|
719
|
+
return unavailableAdvanceBaseline("git_unavailable", typeof headText === "string"
|
|
720
|
+
? "advance_resolve_head"
|
|
721
|
+
: headText.operation, { ...pathFields, objectFormat });
|
|
722
|
+
}
|
|
723
|
+
const headCommitId = headText;
|
|
724
|
+
const headFields = {
|
|
725
|
+
...pathFields,
|
|
726
|
+
objectFormat,
|
|
727
|
+
headCommitId,
|
|
728
|
+
};
|
|
729
|
+
const treeCommand = runGit(executable, repositoryRoot, "advance_head_entry", ["ls-tree", "-z", headCommitId, "--", relativePath]);
|
|
730
|
+
if (!treeCommand.ok) {
|
|
731
|
+
return baselineCommandCause(treeCommand, "advance_head_entry", headFields);
|
|
732
|
+
}
|
|
733
|
+
const treeBlob = parseTreeBlob(treeCommand.stdout, relativePath, objectFormat);
|
|
734
|
+
if (treeBlob.kind !== "ok") {
|
|
735
|
+
return unavailableAdvanceBaseline(treeBlob.kind === "missing"
|
|
736
|
+
? "untracked_target"
|
|
737
|
+
: "ambiguous_path", "advance_head_entry", headFields);
|
|
738
|
+
}
|
|
739
|
+
const headBlobId = treeBlob.blobId;
|
|
740
|
+
const headBlobFields = {
|
|
741
|
+
...headFields,
|
|
742
|
+
headBlobId,
|
|
743
|
+
};
|
|
744
|
+
const indexCommand = runGit(executable, repositoryRoot, "advance_index_entry", ["ls-files", "--stage", "-z", "--", relativePath]);
|
|
745
|
+
if (!indexCommand.ok) {
|
|
746
|
+
return baselineCommandCause(indexCommand, "advance_index_entry", headBlobFields);
|
|
747
|
+
}
|
|
748
|
+
const indexBlob = parseIndexBlob(indexCommand.stdout, relativePath, objectFormat);
|
|
749
|
+
if (indexBlob.kind !== "ok") {
|
|
750
|
+
return unavailableAdvanceBaseline(indexBlob.kind === "unmerged"
|
|
751
|
+
? "unmerged_index"
|
|
752
|
+
: indexBlob.kind === "missing"
|
|
753
|
+
? "correspondence_missing"
|
|
754
|
+
: "ambiguous_path", "advance_index_entry", headBlobFields);
|
|
755
|
+
}
|
|
756
|
+
const indexBlobId = indexBlob.blobId;
|
|
757
|
+
const blobFields = {
|
|
758
|
+
...headBlobFields,
|
|
759
|
+
indexBlobId,
|
|
760
|
+
};
|
|
761
|
+
const headSourceCommand = runGit(executable, repositoryRoot, "advance_head_source", ["cat-file", "blob", headBlobId]);
|
|
762
|
+
if (!headSourceCommand.ok) {
|
|
763
|
+
return baselineCommandCause(headSourceCommand, "advance_head_source", blobFields);
|
|
764
|
+
}
|
|
765
|
+
const indexSourceCommand = runGit(executable, repositoryRoot, "advance_index_source", ["cat-file", "blob", indexBlobId]);
|
|
766
|
+
if (!indexSourceCommand.ok) {
|
|
767
|
+
return baselineCommandCause(indexSourceCommand, "advance_index_source", blobFields);
|
|
768
|
+
}
|
|
769
|
+
const headSource = new Uint8Array(headSourceCommand.stdout);
|
|
770
|
+
const indexSource = new Uint8Array(indexSourceCommand.stdout);
|
|
771
|
+
const headSourceDigest = digestDocumentBytes(headSource);
|
|
772
|
+
const indexSourceDigest = digestDocumentBytes(indexSource);
|
|
773
|
+
const repositorySnapshotId = `git:${objectFormat}:${headCommitId}:index:${indexBlobId}`;
|
|
774
|
+
const completeFields = {
|
|
775
|
+
...blobFields,
|
|
776
|
+
repositorySnapshotId,
|
|
777
|
+
headSourceDigest,
|
|
778
|
+
indexSourceDigest,
|
|
779
|
+
headSource,
|
|
780
|
+
indexSource,
|
|
781
|
+
};
|
|
782
|
+
if (dependencies.afterCapture !== undefined) {
|
|
783
|
+
await dependencies.afterCapture();
|
|
784
|
+
}
|
|
785
|
+
const finalHeadCommand = runGit(executable, repositoryRoot, "advance_recheck_head", ["rev-parse", "--verify", "--end-of-options", "HEAD^{commit}"]);
|
|
786
|
+
if (!finalHeadCommand.ok) {
|
|
787
|
+
if (finalHeadCommand.kind === "failure") {
|
|
788
|
+
return baselineCommandCause(finalHeadCommand, "advance_recheck_head", completeFields);
|
|
789
|
+
}
|
|
790
|
+
return unavailableAdvanceBaseline("head_changed", "advance_recheck_head", completeFields);
|
|
791
|
+
}
|
|
792
|
+
const finalHeadText = stdoutText(finalHeadCommand, "advance_recheck_head");
|
|
793
|
+
if (typeof finalHeadText !== "string" ||
|
|
794
|
+
finalHeadText !== headCommitId) {
|
|
795
|
+
return unavailableAdvanceBaseline("head_changed", "advance_recheck_head", completeFields);
|
|
796
|
+
}
|
|
797
|
+
const finalIndexCommand = runGit(executable, repositoryRoot, "advance_recheck_index", ["ls-files", "--stage", "-z", "--", relativePath]);
|
|
798
|
+
if (!finalIndexCommand.ok) {
|
|
799
|
+
if (finalIndexCommand.kind === "failure") {
|
|
800
|
+
return baselineCommandCause(finalIndexCommand, "advance_recheck_index", completeFields);
|
|
801
|
+
}
|
|
802
|
+
return unavailableAdvanceBaseline("index_changed", "advance_recheck_index", completeFields);
|
|
803
|
+
}
|
|
804
|
+
const finalIndex = parseIndexBlob(finalIndexCommand.stdout, relativePath, objectFormat);
|
|
805
|
+
if (finalIndex.kind !== "ok" ||
|
|
806
|
+
finalIndex.blobId !== indexBlobId) {
|
|
807
|
+
return unavailableAdvanceBaseline("index_changed", "advance_recheck_index", completeFields);
|
|
808
|
+
}
|
|
809
|
+
const finalTarget = await captureTarget(targetPath);
|
|
810
|
+
if (!finalTarget.ok ||
|
|
811
|
+
!sameTarget(initialTarget.capture, finalTarget.capture)) {
|
|
812
|
+
return unavailableAdvanceBaseline("target_changed", "advance_recheck_target", completeFields);
|
|
813
|
+
}
|
|
814
|
+
return {
|
|
815
|
+
ok: true,
|
|
816
|
+
modelVersion: ADVANCE_HISTORY_BASELINE_MODEL_VERSION,
|
|
817
|
+
status: "complete",
|
|
818
|
+
cause: null,
|
|
819
|
+
operation: null,
|
|
820
|
+
objectFormat,
|
|
821
|
+
repositorySnapshotId,
|
|
822
|
+
repositoryRelativePath: relativePath,
|
|
823
|
+
headCommitId,
|
|
824
|
+
headBlobId,
|
|
825
|
+
indexBlobId,
|
|
826
|
+
currentSourceDigest: initialTarget.capture.digest,
|
|
827
|
+
headSourceDigest,
|
|
828
|
+
indexSourceDigest,
|
|
829
|
+
sourceModifiedAt: initialTarget.capture.modifiedAt,
|
|
830
|
+
targetDevice: initialTarget.capture.device,
|
|
831
|
+
targetInode: initialTarget.capture.inode,
|
|
832
|
+
currentSource: initialTarget.capture.source,
|
|
833
|
+
headSource,
|
|
834
|
+
indexSource,
|
|
835
|
+
};
|
|
836
|
+
}
|
|
837
|
+
export async function recheckAdvanceHistoryBaseline(baseline, targetPath, dependencies = {}) {
|
|
838
|
+
if (baseline.status !== "complete" ||
|
|
839
|
+
baseline.currentSourceDigest === null ||
|
|
840
|
+
baseline.objectFormat === null ||
|
|
841
|
+
baseline.repositorySnapshotId === null ||
|
|
842
|
+
baseline.repositoryRelativePath === null ||
|
|
843
|
+
baseline.headCommitId === null ||
|
|
844
|
+
baseline.headBlobId === null ||
|
|
845
|
+
baseline.indexBlobId === null ||
|
|
846
|
+
baseline.targetDevice === null ||
|
|
847
|
+
baseline.targetInode === null) {
|
|
848
|
+
return Object.freeze({
|
|
849
|
+
ok: false,
|
|
850
|
+
cause: "baseline_read_failed",
|
|
851
|
+
operation: "advance_recheck_baseline",
|
|
852
|
+
});
|
|
853
|
+
}
|
|
854
|
+
const current = await captureAdvanceHistoryBaseline({
|
|
855
|
+
targetPath,
|
|
856
|
+
expectedSourceDigest: baseline.currentSourceDigest,
|
|
857
|
+
}, dependencies);
|
|
858
|
+
if (current.status !== "complete") {
|
|
859
|
+
const cause = current.cause === "target_changed"
|
|
860
|
+
? "target_changed"
|
|
861
|
+
: current.cause === "head_changed"
|
|
862
|
+
? "head_changed"
|
|
863
|
+
: current.cause === "index_changed"
|
|
864
|
+
? "index_changed"
|
|
865
|
+
: "baseline_read_failed";
|
|
866
|
+
return Object.freeze({
|
|
867
|
+
ok: false,
|
|
868
|
+
cause,
|
|
869
|
+
operation: current.operation,
|
|
870
|
+
});
|
|
871
|
+
}
|
|
872
|
+
if (current.targetDevice !== baseline.targetDevice ||
|
|
873
|
+
current.targetInode !== baseline.targetInode) {
|
|
874
|
+
return Object.freeze({
|
|
875
|
+
ok: false,
|
|
876
|
+
cause: "target_changed",
|
|
877
|
+
operation: "advance_recheck_target",
|
|
878
|
+
});
|
|
879
|
+
}
|
|
880
|
+
if (current.objectFormat !== baseline.objectFormat ||
|
|
881
|
+
current.repositoryRelativePath !== baseline.repositoryRelativePath ||
|
|
882
|
+
current.headCommitId !== baseline.headCommitId ||
|
|
883
|
+
current.headBlobId !== baseline.headBlobId) {
|
|
884
|
+
return Object.freeze({
|
|
885
|
+
ok: false,
|
|
886
|
+
cause: "head_changed",
|
|
887
|
+
operation: "advance_recheck_head",
|
|
888
|
+
});
|
|
889
|
+
}
|
|
890
|
+
if (current.repositorySnapshotId !== baseline.repositorySnapshotId ||
|
|
891
|
+
current.indexBlobId !== baseline.indexBlobId) {
|
|
892
|
+
return Object.freeze({
|
|
893
|
+
ok: false,
|
|
894
|
+
cause: "index_changed",
|
|
895
|
+
operation: "advance_recheck_index",
|
|
896
|
+
});
|
|
897
|
+
}
|
|
898
|
+
return Object.freeze({
|
|
899
|
+
ok: true,
|
|
900
|
+
cause: null,
|
|
901
|
+
operation: null,
|
|
902
|
+
});
|
|
903
|
+
}
|
|
574
904
|
//# sourceMappingURL=git-probe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-probe.js","sourceRoot":"","sources":["../../src/history/git-probe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-probe.js","sourceRoot":"","sources":["../../src/history/git-probe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ActualsCoverage } from "../actuals/lifecycle.js";
|
|
2
2
|
import { type Diagnostic } from "../model/diagnostics.js";
|
|
3
|
-
import type { WorkEventKind } from "../model/syntax.js";
|
|
3
|
+
import type { DocumentNode, TargetDeclarationKind, WorkEventKind } from "../model/syntax.js";
|
|
4
4
|
import { type TargetCalendarValue } from "../model/target-calendar.js";
|
|
5
5
|
import type { GitHistoryProbeResult } from "./git-probe.js";
|
|
6
|
-
import type { TargetGrammar5Capability } from "../parser/document-parser.js";
|
|
6
|
+
import type { TargetGrammar5Capability, TargetGrammar6Capability } from "../parser/document-parser.js";
|
|
7
7
|
export declare const PROJECT_HISTORY_MODEL_VERSION: 1;
|
|
8
8
|
export type ProjectHistoryStatus = "complete" | "incomplete" | "unavailable";
|
|
9
9
|
export type ProjectHistoryCauseId = "no_repository" | "no_head" | "unknown_revision" | "untracked_target" | "ambiguous_path" | "shallow_boundary" | "unsupported_rename" | "unsupported_source_version" | "task_identity_replaced" | "event_payload_changed" | "duplicate_event_identity" | "head_changed" | "target_changed";
|
|
@@ -97,16 +97,25 @@ export interface ProjectHistoryMetadata {
|
|
|
97
97
|
readonly inspectedCommitIds: readonly string[];
|
|
98
98
|
readonly unavailableCauses: readonly ProjectHistoryCause[];
|
|
99
99
|
}
|
|
100
|
-
export interface
|
|
100
|
+
export interface ProjectHistoryCoreResultFor<GrammarVersion extends number> {
|
|
101
101
|
readonly ok: boolean;
|
|
102
102
|
readonly modelVersion: typeof PROJECT_HISTORY_MODEL_VERSION;
|
|
103
103
|
readonly documentId: string | null;
|
|
104
|
-
readonly grammarVersion:
|
|
104
|
+
readonly grammarVersion: GrammarVersion | null;
|
|
105
105
|
readonly history: ProjectHistoryMetadata;
|
|
106
106
|
readonly events: readonly WorkEventHistory[];
|
|
107
107
|
readonly gitRecordedTransitions: readonly GitRecordedTransition[];
|
|
108
108
|
readonly tasks: readonly TaskActualSummary[];
|
|
109
109
|
readonly diagnostics: readonly Diagnostic[];
|
|
110
110
|
}
|
|
111
|
-
export
|
|
111
|
+
export type ProjectHistoryCoreResult = ProjectHistoryCoreResultFor<1 | 2 | 3 | 4 | 5 | 6>;
|
|
112
|
+
export interface ProjectHistorySourceValidation<GrammarVersion extends number> {
|
|
113
|
+
readonly ok: boolean;
|
|
114
|
+
readonly documentId: string | null;
|
|
115
|
+
readonly grammarVersion: GrammarVersion | null;
|
|
116
|
+
readonly document: DocumentNode<TargetDeclarationKind>;
|
|
117
|
+
}
|
|
118
|
+
export type ProjectHistorySourceValidator<GrammarVersion extends number> = (text: string) => ProjectHistorySourceValidation<GrammarVersion>;
|
|
119
|
+
export declare function inspectProjectHistoryWithValidator<GrammarVersion extends number>(probe: GitHistoryProbeResult, request: HistoryRequest, validateSource: ProjectHistorySourceValidator<GrammarVersion>): ProjectHistoryCoreResultFor<GrammarVersion>;
|
|
120
|
+
export declare function inspectProjectHistory(probe: GitHistoryProbeResult, request: HistoryRequest, capability: TargetGrammar5Capability | TargetGrammar6Capability): ProjectHistoryCoreResult;
|
|
112
121
|
//# sourceMappingURL=project-history.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-history.d.ts","sourceRoot":"","sources":["../../src/history/project-history.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAWjC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"project-history.d.ts","sourceRoot":"","sources":["../../src/history/project-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { compareStableStrings, sortDiagnostics, } from "../model/diagnostics.js"
|
|
|
6
6
|
import { add, divide, formatDecimal, multiply, rational, rationalFromDuration, subtract, } from "../model/rational.js";
|
|
7
7
|
import { fieldNamed } from "../model/syntax.js";
|
|
8
8
|
import { projectDeclaredCalendarValue, } from "../model/target-calendar.js";
|
|
9
|
-
import { validateTargetGrammar5Document, } from "../semantic/target-validator.js";
|
|
9
|
+
import { validateTargetGrammar5Document, validateTargetGrammar6Document, } from "../semantic/target-validator.js";
|
|
10
10
|
export const PROJECT_HISTORY_MODEL_VERSION = 1;
|
|
11
11
|
const historyCauseOrder = [
|
|
12
12
|
"no_repository",
|
|
@@ -238,7 +238,7 @@ function decodeSnapshot(snapshot) {
|
|
|
238
238
|
return null;
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
|
-
function parseSnapshot(snapshot,
|
|
241
|
+
function parseSnapshot(snapshot, validateSource) {
|
|
242
242
|
if (snapshot.source === null) {
|
|
243
243
|
return {
|
|
244
244
|
parsed: {
|
|
@@ -258,11 +258,7 @@ function parseSnapshot(snapshot, capability) {
|
|
|
258
258
|
causes: Object.freeze([unsupportedSnapshot(snapshot)]),
|
|
259
259
|
};
|
|
260
260
|
}
|
|
261
|
-
const checked =
|
|
262
|
-
const project = checked.document.declarations.find(({ kind }) => kind === "project");
|
|
263
|
-
const declaredVersion = project === undefined
|
|
264
|
-
? null
|
|
265
|
-
: fieldNamed(project, "version")?.value ?? 1;
|
|
261
|
+
const checked = validateSource(text);
|
|
266
262
|
const duplicateIds = checked.document.declarations
|
|
267
263
|
.filter(({ kind }) => kind === "work_event")
|
|
268
264
|
.map(({ id }) => id)
|
|
@@ -279,19 +275,14 @@ function parseSnapshot(snapshot, capability) {
|
|
|
279
275
|
};
|
|
280
276
|
}
|
|
281
277
|
if (!checked.ok ||
|
|
282
|
-
checked.
|
|
283
|
-
(declaredVersion !== 1 &&
|
|
284
|
-
declaredVersion !== 2 &&
|
|
285
|
-
declaredVersion !== 3 &&
|
|
286
|
-
declaredVersion !== 4 &&
|
|
287
|
-
declaredVersion !== 5)) {
|
|
278
|
+
checked.grammarVersion === null) {
|
|
288
279
|
return {
|
|
289
280
|
parsed: null,
|
|
290
281
|
causes: Object.freeze([unsupportedSnapshot(snapshot)]),
|
|
291
282
|
};
|
|
292
283
|
}
|
|
293
284
|
const tasks = new Map();
|
|
294
|
-
for (const declaration of checked.
|
|
285
|
+
for (const declaration of checked.document.declarations) {
|
|
295
286
|
if (declaration.kind !== "task")
|
|
296
287
|
continue;
|
|
297
288
|
tasks.set(declaration.id, {
|
|
@@ -304,9 +295,12 @@ function parseSnapshot(snapshot, capability) {
|
|
|
304
295
|
parsed: {
|
|
305
296
|
snapshot,
|
|
306
297
|
documentId: checked.documentId,
|
|
307
|
-
grammarVersion: checked.
|
|
298
|
+
grammarVersion: checked.grammarVersion,
|
|
308
299
|
tasks,
|
|
309
|
-
events: projectActualsSourceModel(
|
|
300
|
+
events: projectActualsSourceModel({
|
|
301
|
+
grammarVersion: checked.grammarVersion,
|
|
302
|
+
document: checked.document,
|
|
303
|
+
}).events,
|
|
310
304
|
},
|
|
311
305
|
causes: Object.freeze([]),
|
|
312
306
|
};
|
|
@@ -585,7 +579,7 @@ function invalidRequestResult(probe, cause, taskId) {
|
|
|
585
579
|
]),
|
|
586
580
|
});
|
|
587
581
|
}
|
|
588
|
-
export function
|
|
582
|
+
export function inspectProjectHistoryWithValidator(probe, request, validateSource) {
|
|
589
583
|
const adapterCauses = probe.availability.map(fromProbeAvailability);
|
|
590
584
|
if (probe.status === "unavailable") {
|
|
591
585
|
return emptyResult(probe, adapterCauses);
|
|
@@ -619,7 +613,7 @@ export function inspectProjectHistory(probe, request, capability) {
|
|
|
619
613
|
let documentId = null;
|
|
620
614
|
let grammarVersion = null;
|
|
621
615
|
for (const snapshot of probe.snapshots) {
|
|
622
|
-
const parsedSnapshot = parseSnapshot(snapshot,
|
|
616
|
+
const parsedSnapshot = parseSnapshot(snapshot, validateSource);
|
|
623
617
|
causes.push(...parsedSnapshot.causes);
|
|
624
618
|
if (parsedSnapshot.parsed === null) {
|
|
625
619
|
transitionContinuityKnown = false;
|
|
@@ -783,4 +777,17 @@ export function inspectProjectHistory(probe, request, capability) {
|
|
|
783
777
|
diagnostics: Object.freeze(sortDiagnostics(sortedCauses.map(diagnostic))),
|
|
784
778
|
});
|
|
785
779
|
}
|
|
780
|
+
export function inspectProjectHistory(probe, request, capability) {
|
|
781
|
+
return inspectProjectHistoryWithValidator(probe, request, (text) => {
|
|
782
|
+
const checked = capability.grammarVersion === 6
|
|
783
|
+
? validateTargetGrammar6Document(text, capability)
|
|
784
|
+
: validateTargetGrammar5Document(text, capability);
|
|
785
|
+
return {
|
|
786
|
+
ok: checked.ok && checked.validatedDocument !== null,
|
|
787
|
+
documentId: checked.documentId,
|
|
788
|
+
grammarVersion: checked.validatedDocument?.grammarVersion ?? null,
|
|
789
|
+
document: checked.validatedDocument?.document ?? checked.document,
|
|
790
|
+
};
|
|
791
|
+
});
|
|
792
|
+
}
|
|
786
793
|
//# sourceMappingURL=project-history.js.map
|