perttool 0.5.5 → 0.6.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 +38 -1
- package/README.md +51 -18
- package/dist/application/advance-history.d.ts +46 -0
- package/dist/application/advance-history.d.ts.map +1 -0
- package/dist/application/advance-history.js +254 -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/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/cli.js +78 -15
- 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/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 +44 -0
- package/dist/history/advance-history.d.ts.map +1 -0
- package/dist/history/advance-history.js +379 -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/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.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.map +1 -1
- package/dist/mutation/advance.js +8 -25
- package/dist/mutation/advance.js.map +1 -1
- package/dist/schema/registry.d.ts.map +1 -1
- package/dist/schema/registry.js +1 -0
- package/dist/schema/registry.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.v1.schema.json +254 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,42 @@ This project records its notable changes here. The format is based on [Keep a Ch
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.6.0] - 2026-07-31
|
|
8
|
+
|
|
9
|
+
Grammar 5 and CLI Contract 6 beta minor. This version protects destructive
|
|
10
|
+
in-place `dag advance` writes with exact read-only Git evidence and publishes a
|
|
11
|
+
separate closed advance-result identity.
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Added history-safety model 1 for changed destructive in-place advance
|
|
16
|
+
writes, including exact current-to-`HEAD` and stage-0 proof, retained-dirty
|
|
17
|
+
handling, source/repository race rejection, human-readable modification
|
|
18
|
+
time, byte-size, diff, and entity context, and stable `PTADV-*` diagnostics.
|
|
19
|
+
- Added the exact write-only `--force-history-loss` recovery option. It
|
|
20
|
+
bypasses only an initial history assessment and does not bypass governance,
|
|
21
|
+
warning policy, expected digests, races, validation, or atomic replacement.
|
|
22
|
+
- Added the complete `Perttool.AdvanceResult.v1` Draft 2020-12 artifact,
|
|
23
|
+
command/schema discovery, package APIs, and installed-package validation.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- Changed only `dag advance` from the closed published
|
|
28
|
+
`Perttool.MutationResult.v3` identity to `Perttool.AdvanceResult.v1`,
|
|
29
|
+
preserving every prior field and adding required nullable `history_guard`.
|
|
30
|
+
Direct, lifecycle, and batch mutations remain MutationResult v3; Grammar 5
|
|
31
|
+
and CLI Contract 6 remain active.
|
|
32
|
+
- Changed the package-root `AdvanceResult` alias to `AdvanceResultV1` and kept
|
|
33
|
+
`AdvanceResultV3` as a deprecated source-compatibility alias.
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- Made one eventful `dag advance` candidate own only the newly orphaned blank
|
|
38
|
+
separator prefixes in its terminal removed-declaration suffix. Preview,
|
|
39
|
+
separate output, and in-place write now produce the same repository-clean
|
|
40
|
+
bytes without a formatter or manual cleanup, while the history guard proves
|
|
41
|
+
the same expanded destructive ranges.
|
|
42
|
+
|
|
7
43
|
## [0.5.5] - 2026-07-30
|
|
8
44
|
|
|
9
45
|
Compatible CLI Contract 6 and Grammar 5 beta patch. This version makes the
|
|
@@ -299,7 +335,8 @@ First public development preview. Intended to evaluate the DSL and CLI, read-onl
|
|
|
299
335
|
- Not published to the npm registry; use the GitHub Release asset
|
|
300
336
|
- Requires Node.js 24 or later
|
|
301
337
|
|
|
302
|
-
[Unreleased]: https://github.com/mako10k/perttool/compare/v0.
|
|
338
|
+
[Unreleased]: https://github.com/mako10k/perttool/compare/v0.6.0...HEAD
|
|
339
|
+
[0.6.0]: https://github.com/mako10k/perttool/compare/v0.5.5...v0.6.0
|
|
303
340
|
[0.5.5]: https://github.com/mako10k/perttool/compare/v0.5.4...v0.5.5
|
|
304
341
|
[0.5.4]: https://github.com/mako10k/perttool/compare/v0.5.3...v0.5.4
|
|
305
342
|
[0.5.3]: https://github.com/mako10k/perttool/compare/v0.5.2...v0.5.3
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ It validates an Activity-on-Arrow plan, calculates precedence and
|
|
|
5
5
|
resource-constrained schedules, recommends the next task, and applies
|
|
6
6
|
source-preserving changes through preview-first commands.
|
|
7
7
|
|
|
8
|
-
Version `0.
|
|
8
|
+
Version `0.6.0` beta implements Grammar 5 and CLI Contract 6,
|
|
9
9
|
including explicit task work events, lifecycle commands, read-only Git
|
|
10
10
|
history, observed velocity, AnalysisResult v4, and NextResult v5. It adds
|
|
11
11
|
complete Draft 2020-12 artifacts for every active Contract 6 result and the
|
|
@@ -13,9 +13,12 @@ public OverrideDecision result, selectable full and outline schema views,
|
|
|
13
13
|
Git 2.54 UTC compatibility, and scope-bound human-readable confirmation
|
|
14
14
|
guidance. It warns when an owner-confirmation assertion is supplied for a
|
|
15
15
|
governance-not-applicable candidate and when a governed preview already
|
|
16
|
-
carries one.
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
carries one. It also protects destructive in-place `dag advance` writes with
|
|
17
|
+
exact `HEAD` and stage-0 evidence, returns `Perttool.AdvanceResult.v1`, and
|
|
18
|
+
keeps preview, separate output, and written candidates repository-clean and
|
|
19
|
+
byte-identical. npm `beta` resolves to `0.6.0`; npm `latest` remains `0.5.5`.
|
|
20
|
+
Beta releases may contain breaking CLI or schema changes. Version `0.6.0`
|
|
21
|
+
requires Node.js 22 or later.
|
|
19
22
|
The complete-schema Contract 6 artifact remains available by pinning `0.5.2`,
|
|
20
23
|
and the first machine-schema Contract 6 artifact remains available by pinning
|
|
21
24
|
`0.5.1`; Contract 5, Contract 4, and Contract 3 remain available by pinning
|
|
@@ -27,19 +30,19 @@ dist-tag; historical `0.1.0-alpha.2` remains available by exact pin.
|
|
|
27
30
|
Use `npx` for an occasional invocation and select Contract 6 explicitly:
|
|
28
31
|
|
|
29
32
|
```sh
|
|
30
|
-
npx --yes --package=perttool@0.
|
|
31
|
-
npx --yes --package=perttool@0.
|
|
32
|
-
npx --yes --package=perttool@0.
|
|
33
|
-
npx --yes --package=perttool@0.
|
|
33
|
+
npx --yes --package=perttool@0.6.0 -- perttool --version
|
|
34
|
+
npx --yes --package=perttool@0.6.0 -- perttool document check PLAN.pert
|
|
35
|
+
npx --yes --package=perttool@0.6.0 -- perttool dag next PLAN.pert --format json
|
|
36
|
+
npx --yes --package=perttool@0.6.0 -- perttool project history PLAN.pert --format json
|
|
34
37
|
```
|
|
35
38
|
|
|
36
39
|
The equivalent explicit `npm exec` form is:
|
|
37
40
|
|
|
38
41
|
```sh
|
|
39
|
-
npm exec --yes --package=perttool@0.
|
|
40
|
-
npm exec --yes --package=perttool@0.
|
|
41
|
-
npm exec --yes --package=perttool@0.
|
|
42
|
-
npm exec --yes --package=perttool@0.
|
|
42
|
+
npm exec --yes --package=perttool@0.6.0 -- perttool --version
|
|
43
|
+
npm exec --yes --package=perttool@0.6.0 -- perttool document check PLAN.pert
|
|
44
|
+
npm exec --yes --package=perttool@0.6.0 -- perttool dag analyze PLAN.pert
|
|
45
|
+
npm exec --yes --package=perttool@0.6.0 -- perttool project history PLAN.pert --format json
|
|
43
46
|
```
|
|
44
47
|
|
|
45
48
|
`npx` and `npm exec` may download the selected package version into the npm
|
|
@@ -56,8 +59,9 @@ npm install --global perttool
|
|
|
56
59
|
perttool --version
|
|
57
60
|
```
|
|
58
61
|
|
|
59
|
-
npm `beta` resolves to Contract 6 `0.
|
|
60
|
-
Contract 6 `0.5.
|
|
62
|
+
npm `beta` resolves to Contract 6 `0.6.0`. npm `latest` and an unqualified
|
|
63
|
+
install remain on Contract 6 `0.5.5` until a separate promotion. The
|
|
64
|
+
pre-schema Contract 6 artifact remains available as
|
|
61
65
|
`perttool@0.5.0`; Contract 5,
|
|
62
66
|
Contract 4, and Contract 3 remain available as exact pins
|
|
63
67
|
`perttool@0.4.0`, `perttool@0.3.0`, and `perttool@0.2.0`. The retired alpha
|
|
@@ -153,11 +157,32 @@ perttool task set PLAN.pert WORK \
|
|
|
153
157
|
perttool task finish PLAN.pert WORK --diff
|
|
154
158
|
perttool dag next PLAN.pert --format json
|
|
155
159
|
perttool dag advance PLAN.pert --diff
|
|
160
|
+
perttool dag advance PLAN.pert \
|
|
161
|
+
--write \
|
|
162
|
+
--expect-digest 'sha256:...'
|
|
156
163
|
```
|
|
157
164
|
|
|
158
165
|
All formatter and mutation commands preview by default. `--write` replaces the
|
|
159
166
|
input through the safe-write path, while `--out` exclusively creates a new
|
|
160
|
-
file.
|
|
167
|
+
file. A changed in-place `dag advance` additionally verifies removed or
|
|
168
|
+
replaced entity ranges against the target path in Git `HEAD` and the stage-0
|
|
169
|
+
index. Dirty ranges retained by the candidate are allowed; uncommitted
|
|
170
|
+
destructive overlap or unavailable proof returns `PTADV-101` without writing.
|
|
171
|
+
`Perttool.AdvanceResult.v1.history_guard` reports the status, modification
|
|
172
|
+
time, byte sizes, diff counts, and affected IDs before supplemental digests.
|
|
173
|
+
If the source, `HEAD`, or stage-0 index changes after assessment, `PTADV-102`
|
|
174
|
+
returns exit 5 without writing.
|
|
175
|
+
The exceptional `--force-history-loss` option bypasses only that initial
|
|
176
|
+
history block for the exact in-place request, emits `PTADV-103`, and does not
|
|
177
|
+
bypass governance, warnings-as-errors, expected digests, source/`HEAD`/index
|
|
178
|
+
rechecks, or atomic-write validation.
|
|
179
|
+
For a terminal sequence of removed tasks and task-owned work events, the same
|
|
180
|
+
candidate also removes only its newly orphaned blank separator prefixes. The
|
|
181
|
+
preview, separate output, and in-place write therefore remain byte-identical
|
|
182
|
+
and do not require a formatter or a second whitespace edit before
|
|
183
|
+
`git diff --check`.
|
|
184
|
+
|
|
185
|
+
Gate maintenance uses the same base controls:
|
|
161
186
|
|
|
162
187
|
```sh
|
|
163
188
|
perttool gate add PLAN.pert APPROVAL NOW DONE \
|
|
@@ -369,12 +394,13 @@ identifier only: validation does not require network access. Consumers must
|
|
|
369
394
|
select compatibility from each result's `schema_version`, not from
|
|
370
395
|
`tool_version`. See the
|
|
371
396
|
[JSON Schema Artifact Contract](docs/specs/json-schema.md) for the complete
|
|
372
|
-
|
|
397
|
+
19-result inventory and versioning rules.
|
|
373
398
|
|
|
374
399
|
## LLM and automation use
|
|
375
400
|
|
|
376
|
-
Use `--format json` for machine consumers. `0.
|
|
377
|
-
`0.5.1`, and `0.5.0` consumers must check
|
|
401
|
+
Use `--format json` for machine consumers. `0.6.0`, `0.5.5`, `0.5.4`, `0.5.3`,
|
|
402
|
+
`0.5.2`, `0.5.1`, and `0.5.0` consumers must check
|
|
403
|
+
`cli_contract_version == 6`;
|
|
378
404
|
consumers pinned to `0.4.0`
|
|
379
405
|
must continue to require Contract 5, and consumers pinned to `0.3.0` must
|
|
380
406
|
require Contract 4. Bundled machine-readable result artifacts require
|
|
@@ -384,6 +410,9 @@ Scope-bound, human-readable loose owner-confirmation guidance requires
|
|
|
384
410
|
Runtime `PTGOV-103` visibility for unused owner assertions requires `0.5.4`.
|
|
385
411
|
Runtime `PTGOV-104` visibility for assertions on governed previews requires
|
|
386
412
|
`0.5.5`.
|
|
413
|
+
`Perttool.AdvanceResult.v1`, history-safety model 1, and the
|
|
414
|
+
repository-clean advance candidate require `0.6.0`; see the
|
|
415
|
+
[`0.5.5` to `0.6.0` migration](docs/process/0.5.5-to-0.6.0-migration.md).
|
|
387
416
|
In every case, check the result-specific `schema_version` before reading the
|
|
388
417
|
rest of a result.
|
|
389
418
|
A complete, known, non-truncated `Perttool.NextResult.v5` with temporal policy
|
|
@@ -395,6 +424,8 @@ they are not new-start recommendations.
|
|
|
395
424
|
|
|
396
425
|
Mutation JSON returns the candidate text, unified diff, UTF-16 text edits,
|
|
397
426
|
source digest, updated digest, diagnostics, and write result in one envelope.
|
|
427
|
+
Direct, lifecycle, and batch mutations use `Perttool.MutationResult.v3`;
|
|
428
|
+
`dag advance` uses `Perttool.AdvanceResult.v1`.
|
|
398
429
|
Unknown schema versions, incomplete recommendation traces, `PTREC-*`
|
|
399
430
|
diagnostics, and future or unavailable temporal eligibility must fail closed.
|
|
400
431
|
|
|
@@ -403,6 +434,8 @@ diagnostics, and future or unavailable temporal eligibility must fail closed.
|
|
|
403
434
|
- [Temporal and Unit Interface Contract (CLI Contract 4)](docs/specs/temporal-unit-interface.md)
|
|
404
435
|
- [Owner-Aware Governance Interface Contract (CLI Contract 5)](docs/specs/governance-interface.md)
|
|
405
436
|
- [Project Actuals and Git History Contract (CLI Contract 6)](docs/specs/project-actuals.md)
|
|
437
|
+
- [Advance History Safety Contract (ADV-001 target)](docs/specs/advance-history-safety.md)
|
|
438
|
+
- [Advance History Safety source acceptance](docs/process/advance-history-acceptance.md)
|
|
406
439
|
- [JSON Schema Artifact Contract](docs/specs/json-schema.md)
|
|
407
440
|
- [JSON Schema source acceptance](docs/process/json-schema-acceptance.md)
|
|
408
441
|
- [Contract 5-to-6 migration](docs/process/cli-contract-6-migration.md)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type AdvanceHistoryBaselineCapture, type AdvanceHistoryBaselineDependencies, type AdvanceHistoryBaselineRecheck } from "../history/git-probe.js";
|
|
2
|
+
import type { TargetActualsAdvanceResultV3 } from "./target-actuals-advance.js";
|
|
3
|
+
export declare const ADVANCE_RESULT_SCHEMA_VERSION: "Perttool.AdvanceResult.v1";
|
|
4
|
+
export type AdvanceHistoryGuardStatus = "not_applicable" | "passed" | "blocked" | "forced";
|
|
5
|
+
export type AdvanceHistoryGuardCause = "preview" | "separate_output" | "no_change" | "no_destructive_records" | "authority_denied" | "warning_denied" | "baseline_matches" | "destructive_overlap" | "no_repository" | "no_head" | "untracked_target" | "ambiguous_path" | "unmerged_index" | "git_unavailable" | "baseline_read_failed" | "baseline_invalid" | "correspondence_missing" | "correspondence_ambiguous" | "forced_by_option";
|
|
6
|
+
export interface AdvanceHistoryGuardV1 {
|
|
7
|
+
readonly modelVersion: 1;
|
|
8
|
+
readonly status: AdvanceHistoryGuardStatus;
|
|
9
|
+
readonly cause: AdvanceHistoryGuardCause;
|
|
10
|
+
readonly repositorySnapshotId: string | null;
|
|
11
|
+
readonly repositoryRelativePath: string | null;
|
|
12
|
+
readonly headCommitId: string | null;
|
|
13
|
+
readonly sourceDigest: string;
|
|
14
|
+
readonly candidateDigest: string;
|
|
15
|
+
readonly sourceModifiedAt: string | null;
|
|
16
|
+
readonly sourceBytes: number;
|
|
17
|
+
readonly candidateBytes: number;
|
|
18
|
+
readonly diffAddedLines: number;
|
|
19
|
+
readonly diffRemovedLines: number;
|
|
20
|
+
readonly destructiveEntityIds: readonly string[];
|
|
21
|
+
readonly overlappingEntityIds: readonly string[];
|
|
22
|
+
readonly forceRequested: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface AdvanceResultV1 extends Omit<TargetActualsAdvanceResultV3, "schemaVersion"> {
|
|
25
|
+
readonly schemaVersion: typeof ADVANCE_RESULT_SCHEMA_VERSION;
|
|
26
|
+
readonly historyGuard: AdvanceHistoryGuardV1 | null;
|
|
27
|
+
}
|
|
28
|
+
export interface AdvanceHistoryPreparationOptions {
|
|
29
|
+
readonly mode: "preview" | "out" | "in_place";
|
|
30
|
+
readonly sourceBytes: Uint8Array;
|
|
31
|
+
readonly sourceModifiedAt: string | null;
|
|
32
|
+
readonly targetPath?: string;
|
|
33
|
+
readonly forceRequested?: boolean;
|
|
34
|
+
readonly warningDenied?: boolean;
|
|
35
|
+
readonly maxDiagnostics?: number;
|
|
36
|
+
readonly baselineDependencies?: AdvanceHistoryBaselineDependencies;
|
|
37
|
+
}
|
|
38
|
+
export interface PreparedAdvanceHistory {
|
|
39
|
+
readonly result: AdvanceResultV1;
|
|
40
|
+
readonly baseline: AdvanceHistoryBaselineCapture | null;
|
|
41
|
+
}
|
|
42
|
+
export declare function withPreviewAdvanceHistory(text: string, result: TargetActualsAdvanceResultV3): AdvanceResultV1;
|
|
43
|
+
export declare function prepareAdvanceHistory(text: string, result: TargetActualsAdvanceResultV3 | AdvanceResultV1, options: AdvanceHistoryPreparationOptions): Promise<PreparedAdvanceHistory>;
|
|
44
|
+
export declare function withAdvanceHistoryRace(result: AdvanceResultV1, recheck: AdvanceHistoryBaselineRecheck, maxDiagnostics?: number): AdvanceResultV1;
|
|
45
|
+
export declare function renderAdvanceHistoryGuard(value: AdvanceHistoryGuardV1): string;
|
|
46
|
+
//# sourceMappingURL=advance-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advance-history.d.ts","sourceRoot":"","sources":["../../src/application/advance-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { captureAdvanceHistoryBaseline, } from "../history/git-probe.js";
|
|
2
|
+
import { assessAdvanceHistorySafety, deriveAdvanceDestructiveRecords, } from "../history/advance-history.js";
|
|
3
|
+
import { documentContentFromBytes, digestDocumentBytes, } from "../io/document-file.js";
|
|
4
|
+
import { limitDiagnostics, normalizeMaxDiagnostics, sortDiagnostics, } from "../model/diagnostics.js";
|
|
5
|
+
import { TARGET_GRAMMAR_5_CAPABILITY, } from "../parser/document-parser.js";
|
|
6
|
+
import { validateTargetGrammar5Document, } from "../semantic/target-validator.js";
|
|
7
|
+
export const ADVANCE_RESULT_SCHEMA_VERSION = "Perttool.AdvanceResult.v1";
|
|
8
|
+
function diffCounts(diff) {
|
|
9
|
+
let added = 0;
|
|
10
|
+
let removed = 0;
|
|
11
|
+
for (const line of (diff ?? "").split("\n")) {
|
|
12
|
+
if (line.startsWith("+") && !line.startsWith("+++"))
|
|
13
|
+
added += 1;
|
|
14
|
+
if (line.startsWith("-") && !line.startsWith("---"))
|
|
15
|
+
removed += 1;
|
|
16
|
+
}
|
|
17
|
+
return { added, removed };
|
|
18
|
+
}
|
|
19
|
+
function recordsFor(text, result) {
|
|
20
|
+
if (result.updatedText === null ||
|
|
21
|
+
result.updatedDigest === null ||
|
|
22
|
+
result.advance === null) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const checked = validateTargetGrammar5Document(text, TARGET_GRAMMAR_5_CAPABILITY);
|
|
26
|
+
if (!checked.ok || checked.validatedDocument === null) {
|
|
27
|
+
throw new Error("advance history candidate has no validated original document");
|
|
28
|
+
}
|
|
29
|
+
return deriveAdvanceDestructiveRecords(text, checked.validatedDocument.document, result.advance);
|
|
30
|
+
}
|
|
31
|
+
function stableEntityIds(records) {
|
|
32
|
+
return Object.freeze([...new Set(records.map(({ entityId }) => entityId))].sort());
|
|
33
|
+
}
|
|
34
|
+
function guard(result, records, options, status, cause, overlappingEntityIds = [], baseline = null) {
|
|
35
|
+
if (result.updatedText === null || result.updatedDigest === null) {
|
|
36
|
+
throw new Error("advance history guard requires a candidate");
|
|
37
|
+
}
|
|
38
|
+
const counts = diffCounts(result.diff);
|
|
39
|
+
return Object.freeze({
|
|
40
|
+
modelVersion: 1,
|
|
41
|
+
status,
|
|
42
|
+
cause,
|
|
43
|
+
repositorySnapshotId: baseline?.repositorySnapshotId ?? null,
|
|
44
|
+
repositoryRelativePath: baseline?.repositoryRelativePath ?? null,
|
|
45
|
+
headCommitId: baseline?.headCommitId ?? null,
|
|
46
|
+
sourceDigest: result.originalDigest,
|
|
47
|
+
candidateDigest: result.updatedDigest,
|
|
48
|
+
sourceModifiedAt: baseline?.sourceModifiedAt ?? options.sourceModifiedAt,
|
|
49
|
+
sourceBytes: options.sourceBytes.byteLength,
|
|
50
|
+
candidateBytes: Buffer.byteLength(result.updatedText, "utf8"),
|
|
51
|
+
diffAddedLines: counts.added,
|
|
52
|
+
diffRemovedLines: counts.removed,
|
|
53
|
+
destructiveEntityIds: stableEntityIds(records),
|
|
54
|
+
overlappingEntityIds: Object.freeze([...overlappingEntityIds].sort()),
|
|
55
|
+
forceRequested: options.forceRequested ?? false,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
function resultWithGuard(result, historyGuard, diagnostics = result.diagnostics, diagnosticsTruncated = result.diagnosticsTruncated, ok = result.ok) {
|
|
59
|
+
return Object.freeze({
|
|
60
|
+
...result,
|
|
61
|
+
schemaVersion: ADVANCE_RESULT_SCHEMA_VERSION,
|
|
62
|
+
ok,
|
|
63
|
+
diagnostics,
|
|
64
|
+
diagnosticsTruncated,
|
|
65
|
+
historyGuard,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function historyDiagnostic(code, severity, message, data) {
|
|
69
|
+
return Object.freeze({
|
|
70
|
+
code,
|
|
71
|
+
severity,
|
|
72
|
+
message,
|
|
73
|
+
helpTopic: "editing",
|
|
74
|
+
data,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function appendDiagnostic(result, diagnostic, maximum, ok) {
|
|
78
|
+
const limited = limitDiagnostics(sortDiagnostics([...result.diagnostics, diagnostic]), maximum);
|
|
79
|
+
return resultWithGuard(result, result.historyGuard, limited.diagnostics, result.diagnosticsTruncated || limited.truncated, ok);
|
|
80
|
+
}
|
|
81
|
+
function baselineCause(cause) {
|
|
82
|
+
switch (cause) {
|
|
83
|
+
case "no_repository":
|
|
84
|
+
case "no_head":
|
|
85
|
+
case "untracked_target":
|
|
86
|
+
case "ambiguous_path":
|
|
87
|
+
case "unmerged_index":
|
|
88
|
+
case "git_unavailable":
|
|
89
|
+
case "baseline_read_failed":
|
|
90
|
+
case "correspondence_missing":
|
|
91
|
+
return cause;
|
|
92
|
+
case "target_changed":
|
|
93
|
+
case "head_changed":
|
|
94
|
+
case "index_changed":
|
|
95
|
+
case null:
|
|
96
|
+
return "baseline_read_failed";
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function assessmentCause(cause) {
|
|
100
|
+
return cause;
|
|
101
|
+
}
|
|
102
|
+
function blockedResult(result, records, options, cause, overlappingEntityIds, baseline) {
|
|
103
|
+
const forced = options.forceRequested ?? false;
|
|
104
|
+
const withGuard = resultWithGuard(result, guard(result, records, options, forced ? "forced" : "blocked", forced ? "forced_by_option" : cause, overlappingEntityIds, baseline));
|
|
105
|
+
const diagnostic = forced
|
|
106
|
+
? historyDiagnostic("PTADV-103", "warning", "advance history loss was explicitly forced", Object.freeze({
|
|
107
|
+
cause,
|
|
108
|
+
entity_ids: Object.freeze([
|
|
109
|
+
...(overlappingEntityIds.length > 0
|
|
110
|
+
? overlappingEntityIds
|
|
111
|
+
: stableEntityIds(records)),
|
|
112
|
+
]),
|
|
113
|
+
}))
|
|
114
|
+
: historyDiagnostic("PTADV-101", "error", "advance history proof is blocked", Object.freeze({
|
|
115
|
+
cause,
|
|
116
|
+
entity_ids: Object.freeze([
|
|
117
|
+
...(overlappingEntityIds.length > 0
|
|
118
|
+
? overlappingEntityIds
|
|
119
|
+
: stableEntityIds(records)),
|
|
120
|
+
]),
|
|
121
|
+
}));
|
|
122
|
+
return appendDiagnostic(withGuard, diagnostic, normalizeMaxDiagnostics(options.maxDiagnostics), forced && result.ok);
|
|
123
|
+
}
|
|
124
|
+
export function withPreviewAdvanceHistory(text, result) {
|
|
125
|
+
const sourceBytes = Buffer.from(text, "utf8");
|
|
126
|
+
const records = recordsFor(text, result);
|
|
127
|
+
return resultWithGuard(result, records === null
|
|
128
|
+
? null
|
|
129
|
+
: guard(result, records, {
|
|
130
|
+
mode: "preview",
|
|
131
|
+
sourceBytes,
|
|
132
|
+
sourceModifiedAt: null,
|
|
133
|
+
}, "not_applicable", "preview"));
|
|
134
|
+
}
|
|
135
|
+
export async function prepareAdvanceHistory(text, result, options) {
|
|
136
|
+
if (digestDocumentBytes(options.sourceBytes) !== result.originalDigest) {
|
|
137
|
+
throw new Error("advance history source bytes do not match the plan");
|
|
138
|
+
}
|
|
139
|
+
const records = recordsFor(text, result);
|
|
140
|
+
if (records === null) {
|
|
141
|
+
return Object.freeze({
|
|
142
|
+
result: resultWithGuard(result, null),
|
|
143
|
+
baseline: null,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
const notApplicable = (cause) => Object.freeze({
|
|
147
|
+
result: resultWithGuard(result, guard(result, records, options, "not_applicable", cause)),
|
|
148
|
+
baseline: null,
|
|
149
|
+
});
|
|
150
|
+
if (options.mode === "preview")
|
|
151
|
+
return notApplicable("preview");
|
|
152
|
+
if (options.mode === "out")
|
|
153
|
+
return notApplicable("separate_output");
|
|
154
|
+
if (!result.changed)
|
|
155
|
+
return notApplicable("no_change");
|
|
156
|
+
if (records.length === 0)
|
|
157
|
+
return notApplicable("no_destructive_records");
|
|
158
|
+
if (result.governance === null ||
|
|
159
|
+
!result.governance.writeAuthorized) {
|
|
160
|
+
return notApplicable("authority_denied");
|
|
161
|
+
}
|
|
162
|
+
if (options.warningDenied === true) {
|
|
163
|
+
return notApplicable("warning_denied");
|
|
164
|
+
}
|
|
165
|
+
if (options.targetPath === undefined) {
|
|
166
|
+
throw new Error("in-place advance history assessment requires a path");
|
|
167
|
+
}
|
|
168
|
+
const baseline = await captureAdvanceHistoryBaseline({
|
|
169
|
+
targetPath: options.targetPath,
|
|
170
|
+
expectedSourceDigest: result.originalDigest,
|
|
171
|
+
}, options.baselineDependencies);
|
|
172
|
+
if (baseline.status !== "complete") {
|
|
173
|
+
return Object.freeze({
|
|
174
|
+
result: blockedResult(result, records, options, baselineCause(baseline.cause), [], baseline),
|
|
175
|
+
baseline,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
if (baseline.currentSource === null ||
|
|
179
|
+
baseline.headSource === null ||
|
|
180
|
+
baseline.indexSource === null ||
|
|
181
|
+
!Buffer.from(baseline.currentSource).equals(Buffer.from(options.sourceBytes))) {
|
|
182
|
+
return Object.freeze({
|
|
183
|
+
result: blockedResult(result, records, options, "baseline_invalid", [], baseline),
|
|
184
|
+
baseline,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
let current;
|
|
188
|
+
let head;
|
|
189
|
+
try {
|
|
190
|
+
current = documentContentFromBytes(baseline.currentSource);
|
|
191
|
+
head = documentContentFromBytes(baseline.headSource);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return Object.freeze({
|
|
195
|
+
result: blockedResult(result, records, options, "baseline_invalid", [], baseline),
|
|
196
|
+
baseline,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
const currentChecked = validateTargetGrammar5Document(current.text, TARGET_GRAMMAR_5_CAPABILITY);
|
|
200
|
+
const headChecked = validateTargetGrammar5Document(head.text, TARGET_GRAMMAR_5_CAPABILITY);
|
|
201
|
+
if (!currentChecked.ok ||
|
|
202
|
+
currentChecked.validatedDocument === null ||
|
|
203
|
+
!headChecked.ok ||
|
|
204
|
+
headChecked.validatedDocument === null) {
|
|
205
|
+
return Object.freeze({
|
|
206
|
+
result: blockedResult(result, records, options, "baseline_invalid", [], baseline),
|
|
207
|
+
baseline,
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
const assessed = assessAdvanceHistorySafety({
|
|
211
|
+
currentText: current.text,
|
|
212
|
+
currentDocument: currentChecked.validatedDocument.document,
|
|
213
|
+
currentSource: baseline.currentSource,
|
|
214
|
+
headText: head.text,
|
|
215
|
+
headDocument: headChecked.validatedDocument.document,
|
|
216
|
+
headSource: baseline.headSource,
|
|
217
|
+
indexSource: baseline.indexSource,
|
|
218
|
+
destructiveRecords: records,
|
|
219
|
+
});
|
|
220
|
+
if (assessed.status === "blocked") {
|
|
221
|
+
return Object.freeze({
|
|
222
|
+
result: blockedResult(result, records, options, assessmentCause(assessed.cause), assessed.overlappingEntityIds, baseline),
|
|
223
|
+
baseline,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
return Object.freeze({
|
|
227
|
+
result: resultWithGuard(result, guard(result, records, options, "passed", "baseline_matches", [], baseline)),
|
|
228
|
+
baseline,
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
export function withAdvanceHistoryRace(result, recheck, maxDiagnostics) {
|
|
232
|
+
if (recheck.ok)
|
|
233
|
+
return result;
|
|
234
|
+
return appendDiagnostic(result, historyDiagnostic("PTADV-102", "error", "advance history baseline changed after assessment", Object.freeze({
|
|
235
|
+
cause: recheck.cause,
|
|
236
|
+
operation: recheck.operation,
|
|
237
|
+
})), normalizeMaxDiagnostics(maxDiagnostics), false);
|
|
238
|
+
}
|
|
239
|
+
function list(values) {
|
|
240
|
+
return values.length === 0 ? "-" : values.join(",");
|
|
241
|
+
}
|
|
242
|
+
export function renderAdvanceHistoryGuard(value) {
|
|
243
|
+
const head = value.headCommitId === null ? "-" : value.headCommitId.slice(0, 12);
|
|
244
|
+
return [
|
|
245
|
+
`HISTORY_GUARD status=${value.status} cause=${value.cause}`,
|
|
246
|
+
`HISTORY_TARGET path=${value.repositoryRelativePath ?? "-"} head=${head} modified_at=${value.sourceModifiedAt ?? "-"}`,
|
|
247
|
+
`HISTORY_CHANGE source_bytes=${value.sourceBytes} candidate_bytes=${value.candidateBytes} added_lines=${value.diffAddedLines} removed_lines=${value.diffRemovedLines}`,
|
|
248
|
+
`HISTORY_ENTITIES destructive=${list(value.destructiveEntityIds)} overlapping=${list(value.overlappingEntityIds)}`,
|
|
249
|
+
`HISTORY_FORCE requested=${value.forceRequested}`,
|
|
250
|
+
`HISTORY_DIGEST source=${value.sourceDigest} candidate=${value.candidateDigest} repository=${value.repositorySnapshotId ?? "-"}`,
|
|
251
|
+
"",
|
|
252
|
+
].join("\n");
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=advance-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advance-history.js","sourceRoot":"","sources":["../../src/application/advance-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { type FinishActualsMutation, type LifecycleMutation } from "../actuals/lifecycle.js";
|
|
2
2
|
import type { GovernanceDecisionV1 } from "../governance/types.js";
|
|
3
3
|
import type { BatchMutation, Mutation, MutationResult } from "../mutation/types.js";
|
|
4
|
-
import { type
|
|
4
|
+
import { type AdvanceResultV1 } from "./advance-history.js";
|
|
5
5
|
import { type TargetActualsMutationOptions, type TargetActualsMutationResultV3 } from "./target-actuals-mutation.js";
|
|
6
6
|
export interface MutationResultV3 extends MutationResult {
|
|
7
7
|
readonly schemaVersion: "Perttool.MutationResult.v3";
|
|
8
8
|
readonly governance: GovernanceDecisionV1 | null;
|
|
9
9
|
readonly lifecycle: null;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
/** @deprecated Use AdvanceResultV1 for the post-0.5.5 advance result. */
|
|
12
|
+
export type AdvanceResultV3 = AdvanceResultV1;
|
|
12
13
|
export type LifecycleResultV3 = TargetActualsMutationResultV3;
|
|
13
14
|
export declare function planMutation(text: string, mutation: Mutation, options?: TargetActualsMutationOptions): MutationResultV3;
|
|
14
15
|
export declare function planBatchMutation(text: string, mutation: BatchMutation, options?: TargetActualsMutationOptions): MutationResultV3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract6-mutation.d.ts","sourceRoot":"","sources":["../../src/application/contract6-mutation.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAajC,OAAO,KAAK,EACV,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EAER,cAAc,EACf,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"contract6-mutation.d.ts","sourceRoot":"","sources":["../../src/application/contract6-mutation.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAajC,OAAO,KAAK,EACV,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EAER,cAAc,EACf,MAAM,sBAAsB,CAAC;AAW9B,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EACnC,MAAM,8BAA8B,CAAC;AAMtC,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED,yEAAyE;AACzE,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAC9C,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAqQ9D,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,4BAAiC,GACzC,gBAAgB,CAOlB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,4BAAiC,GACzC,gBAAgB,CAOlB;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,4BAAiC,GACzC,eAAe,CASjB;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,4BAAiC,GACzC,iBAAiB,CAOnB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,GAAE,4BAAiC,GACzC,iBAAiB,CAOnB"}
|
|
@@ -7,6 +7,7 @@ import { limitDiagnostics, normalizeMaxDiagnostics, sortDiagnostics, } from "../
|
|
|
7
7
|
import { TARGET_GRAMMAR_5_CAPABILITY, } from "../parser/document-parser.js";
|
|
8
8
|
import { validateTargetGrammar5Document, } from "../semantic/target-validator.js";
|
|
9
9
|
import { planTargetActualsAdvance, } from "./target-actuals-advance.js";
|
|
10
|
+
import { withPreviewAdvanceHistory, } from "./advance-history.js";
|
|
10
11
|
import { planTargetFinishActualsMutation, planTargetLifecycleMutation, } from "./target-actuals-mutation.js";
|
|
11
12
|
import { planTargetGrammar5BatchMutation, planTargetGrammar5Mutation, } from "./target-mutate.js";
|
|
12
13
|
function digest(text) {
|
|
@@ -162,7 +163,7 @@ export function planBatchMutation(text, mutation, options = {}) {
|
|
|
162
163
|
return planOrdinary(text, mutation, true, options);
|
|
163
164
|
}
|
|
164
165
|
export function planAdvance(text, options = {}) {
|
|
165
|
-
return planTargetActualsAdvance(text, TARGET_GRAMMAR_5_CAPABILITY, options);
|
|
166
|
+
return withPreviewAdvanceHistory(text, planTargetActualsAdvance(text, TARGET_GRAMMAR_5_CAPABILITY, options));
|
|
166
167
|
}
|
|
167
168
|
export function planLifecycle(text, mutation, options = {}) {
|
|
168
169
|
return planTargetLifecycleMutation(text, mutation, TARGET_GRAMMAR_5_CAPABILITY, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract6-mutation.js","sourceRoot":"","sources":["../../src/application/contract6-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,4BAA4B,GAG7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AAWjC,OAAO,EACL,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,8BAA8B,GAE/B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,wBAAwB,
|
|
1
|
+
{"version":3,"file":"contract6-mutation.js","sourceRoot":"","sources":["../../src/application/contract6-mutation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { ActualWorkEvent } from "../actuals/source.js";
|
|
2
2
|
import type { TargetActualsAdvanceResultV3 } from "./target-actuals-advance.js";
|
|
3
|
+
import type { AdvanceResultV1 } from "./advance-history.js";
|
|
3
4
|
import type { TargetActualsMutationResultV3 } from "./target-actuals-mutation.js";
|
|
4
5
|
import { type TargetGovernanceWriteProjection } from "./target-governance-projection.js";
|
|
5
6
|
import type { TargetGovernanceProjectMetadataResult } from "./target-governance-project.js";
|
|
6
7
|
export declare function contract6ProjectResultToJson(result: TargetGovernanceProjectMetadataResult, source: string, sourceDigest: string, ok?: boolean): Readonly<Record<string, unknown>>;
|
|
7
8
|
export declare function contract6WorkEventToJson(event: ActualWorkEvent): Readonly<Record<string, unknown>>;
|
|
8
|
-
export declare function contract6MutationResultToJson(result: TargetActualsMutationResultV3 | TargetActualsAdvanceResultV3, operation: string, source: string, write: TargetGovernanceWriteProjection): Readonly<Record<string, unknown>>;
|
|
9
|
+
export declare function contract6MutationResultToJson(result: TargetActualsMutationResultV3 | TargetActualsAdvanceResultV3 | AdvanceResultV1, operation: string, source: string, write: TargetGovernanceWriteProjection): Readonly<Record<string, unknown>>;
|
|
9
10
|
//# sourceMappingURL=contract6-projection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract6-projection.d.ts","sourceRoot":"","sources":["../../src/application/contract6-projection.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,mCAAmC,CAAC;AAK3C,OAAO,KAAK,EACV,qCAAqC,EACtC,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,qCAAqC,EAC7C,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,EAAE,UAAY,GACb,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUnC;AAgDD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,GACrB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAenC;
|
|
1
|
+
{"version":3,"file":"contract6-projection.d.ts","sourceRoot":"","sources":["../../src/application/contract6-projection.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,mCAAmC,CAAC;AAK3C,OAAO,KAAK,EACV,qCAAqC,EACtC,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,qCAAqC,EAC7C,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,EAAE,UAAY,GACb,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUnC;AAgDD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,GACrB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAenC;AAyCD,wBAAgB,6BAA6B,CAC3C,MAAM,EACF,6BAA6B,GAC7B,4BAA4B,GAC5B,eAAe,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,+BAA+B,GACrC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkDnC"}
|