perttool 0.2.0 → 0.3.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 +47 -1
- package/README.md +60 -27
- package/dist/analysis/temporal-deadline.d.ts +59 -0
- package/dist/analysis/temporal-deadline.d.ts.map +1 -0
- package/dist/analysis/temporal-deadline.js +387 -0
- package/dist/analysis/temporal-deadline.js.map +1 -0
- package/dist/analysis/temporal-precedence.d.ts +45 -0
- package/dist/analysis/temporal-precedence.d.ts.map +1 -0
- package/dist/analysis/temporal-precedence.js +123 -0
- package/dist/analysis/temporal-precedence.js.map +1 -0
- package/dist/analysis/temporal-resource.d.ts +66 -0
- package/dist/analysis/temporal-resource.d.ts.map +1 -0
- package/dist/analysis/temporal-resource.js +292 -0
- package/dist/analysis/temporal-resource.js.map +1 -0
- package/dist/application/check.d.ts +16 -0
- package/dist/application/check.d.ts.map +1 -1
- package/dist/application/check.js +51 -0
- package/dist/application/check.js.map +1 -1
- package/dist/application/contract4.d.ts +17 -0
- package/dist/application/contract4.d.ts.map +1 -0
- package/dist/application/contract4.js +27 -0
- package/dist/application/contract4.js.map +1 -0
- package/dist/application/init.d.ts +2 -1
- package/dist/application/init.d.ts.map +1 -1
- package/dist/application/init.js +11 -2
- package/dist/application/init.js.map +1 -1
- package/dist/application/mutate.d.ts +19 -0
- package/dist/application/mutate.d.ts.map +1 -1
- package/dist/application/mutate.js +34 -16
- package/dist/application/mutate.js.map +1 -1
- package/dist/application/next.d.ts +2 -0
- package/dist/application/next.d.ts.map +1 -1
- package/dist/application/next.js +7 -1
- package/dist/application/next.js.map +1 -1
- package/dist/application/project.d.ts +3 -1
- package/dist/application/project.d.ts.map +1 -1
- package/dist/application/project.js +2 -1
- package/dist/application/project.js.map +1 -1
- package/dist/application/target-check.d.ts +34 -0
- package/dist/application/target-check.d.ts.map +1 -0
- package/dist/application/target-check.js +90 -0
- package/dist/application/target-check.js.map +1 -0
- package/dist/application/target-grammar-boundary.d.ts +22 -0
- package/dist/application/target-grammar-boundary.d.ts.map +1 -0
- package/dist/application/target-grammar-boundary.js +91 -0
- package/dist/application/target-grammar-boundary.js.map +1 -0
- package/dist/application/target-mutate.d.ts +8 -0
- package/dist/application/target-mutate.d.ts.map +1 -0
- package/dist/application/target-mutate.js +56 -0
- package/dist/application/target-mutate.js.map +1 -0
- package/dist/application/target-project.d.ts +28 -0
- package/dist/application/target-project.d.ts.map +1 -0
- package/dist/application/target-project.js +60 -0
- package/dist/application/target-project.js.map +1 -0
- package/dist/application/target-temporal-analysis.d.ts +138 -0
- package/dist/application/target-temporal-analysis.d.ts.map +1 -0
- package/dist/application/target-temporal-analysis.js +409 -0
- package/dist/application/target-temporal-analysis.js.map +1 -0
- package/dist/application/target-temporal-input.d.ts +86 -0
- package/dist/application/target-temporal-input.d.ts.map +1 -0
- package/dist/application/target-temporal-input.js +238 -0
- package/dist/application/target-temporal-input.js.map +1 -0
- package/dist/application/target-unit-migration-candidate.d.ts +60 -0
- package/dist/application/target-unit-migration-candidate.d.ts.map +1 -0
- package/dist/application/target-unit-migration-candidate.js +290 -0
- package/dist/application/target-unit-migration-candidate.js.map +1 -0
- package/dist/application/target-unit-migration-request.d.ts +35 -0
- package/dist/application/target-unit-migration-request.d.ts.map +1 -0
- package/dist/application/target-unit-migration-request.js +68 -0
- package/dist/application/target-unit-migration-request.js.map +1 -0
- package/dist/application/target-unit-migration-result.d.ts +66 -0
- package/dist/application/target-unit-migration-result.d.ts.map +1 -0
- package/dist/application/target-unit-migration-result.js +86 -0
- package/dist/application/target-unit-migration-result.js.map +1 -0
- package/dist/application/unit-migration.d.ts +13 -0
- package/dist/application/unit-migration.d.ts.map +1 -0
- package/dist/application/unit-migration.js +9 -0
- package/dist/application/unit-migration.js.map +1 -0
- package/dist/cli.js +264 -26
- package/dist/cli.js.map +1 -1
- package/dist/command/discovery.d.ts +3 -3
- package/dist/command/discovery.d.ts.map +1 -1
- package/dist/command/discovery.js +149 -22
- package/dist/command/discovery.js.map +1 -1
- package/dist/command/registry.d.ts +1 -1
- package/dist/command/registry.d.ts.map +1 -1
- package/dist/command/registry.js +14 -1
- package/dist/command/registry.js.map +1 -1
- package/dist/command/usage.js +3 -3
- package/dist/formatter/source-formatter.d.ts +12 -0
- package/dist/formatter/source-formatter.d.ts.map +1 -1
- package/dist/formatter/source-formatter.js +48 -6
- package/dist/formatter/source-formatter.js.map +1 -1
- package/dist/formatter/target-source-formatter.d.ts +8 -0
- package/dist/formatter/target-source-formatter.d.ts.map +1 -0
- package/dist/formatter/target-source-formatter.js +36 -0
- package/dist/formatter/target-source-formatter.js.map +1 -0
- package/dist/help/guide.d.ts +1 -1
- package/dist/help/guide.js +1 -1
- package/dist/help/registry.d.ts.map +1 -1
- package/dist/help/registry.js +124 -13
- package/dist/help/registry.js.map +1 -1
- package/dist/index.d.ts +9 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/io/safe-write.d.ts +7 -0
- package/dist/io/safe-write.d.ts.map +1 -1
- package/dist/io/safe-write.js +19 -10
- package/dist/io/safe-write.js.map +1 -1
- package/dist/io/target-safe-write.d.ts +7 -0
- package/dist/io/target-safe-write.d.ts.map +1 -0
- package/dist/io/target-safe-write.js +33 -0
- package/dist/io/target-safe-write.js.map +1 -0
- package/dist/migration/conversion.d.ts +40 -0
- package/dist/migration/conversion.d.ts.map +1 -0
- package/dist/migration/conversion.js +106 -0
- package/dist/migration/conversion.js.map +1 -0
- package/dist/migration/grammar-boundary.d.ts +20 -0
- package/dist/migration/grammar-boundary.d.ts.map +1 -0
- package/dist/migration/grammar-boundary.js +92 -0
- package/dist/migration/grammar-boundary.js.map +1 -0
- package/dist/migration/request.d.ts +79 -0
- package/dist/migration/request.d.ts.map +1 -0
- package/dist/migration/request.js +308 -0
- package/dist/migration/request.js.map +1 -0
- package/dist/model/calendar-arithmetic.d.ts +46 -0
- package/dist/model/calendar-arithmetic.d.ts.map +1 -0
- package/dist/model/calendar-arithmetic.js +236 -0
- package/dist/model/calendar-arithmetic.js.map +1 -0
- package/dist/model/calendar.d.ts +22 -0
- package/dist/model/calendar.d.ts.map +1 -0
- package/dist/model/calendar.js +83 -0
- package/dist/model/calendar.js.map +1 -0
- package/dist/model/declaration-fields.d.ts +15 -0
- package/dist/model/declaration-fields.d.ts.map +1 -0
- package/dist/model/declaration-fields.js +54 -0
- package/dist/model/declaration-fields.js.map +1 -0
- package/dist/model/exact-duration-source.d.ts +10 -0
- package/dist/model/exact-duration-source.d.ts.map +1 -0
- package/dist/model/exact-duration-source.js +69 -0
- package/dist/model/exact-duration-source.js.map +1 -0
- package/dist/model/rational.d.ts +2 -2
- package/dist/model/rational.d.ts.map +1 -1
- package/dist/model/rational.js +3 -1
- package/dist/model/rational.js.map +1 -1
- package/dist/model/syntax.d.ts +9 -2
- package/dist/model/syntax.d.ts.map +1 -1
- package/dist/model/syntax.js +20 -4
- package/dist/model/syntax.js.map +1 -1
- package/dist/model/target-calendar.d.ts +25 -0
- package/dist/model/target-calendar.d.ts.map +1 -0
- package/dist/model/target-calendar.js +56 -0
- package/dist/model/target-calendar.js.map +1 -0
- package/dist/mutation/advance.d.ts.map +1 -1
- package/dist/mutation/advance.js +21 -4
- package/dist/mutation/advance.js.map +1 -1
- package/dist/mutation/milestone.d.ts +10 -1
- package/dist/mutation/milestone.d.ts.map +1 -1
- package/dist/mutation/milestone.js +77 -21
- package/dist/mutation/milestone.js.map +1 -1
- package/dist/mutation/project.d.ts +7 -1
- package/dist/mutation/project.d.ts.map +1 -1
- package/dist/mutation/project.js +18 -5
- package/dist/mutation/project.js.map +1 -1
- package/dist/mutation/target-types.d.ts +42 -0
- package/dist/mutation/target-types.d.ts.map +1 -0
- package/dist/mutation/target-types.js +2 -0
- package/dist/mutation/target-types.js.map +1 -0
- package/dist/mutation/task.d.ts +12 -1
- package/dist/mutation/task.d.ts.map +1 -1
- package/dist/mutation/task.js +108 -49
- package/dist/mutation/task.js.map +1 -1
- package/dist/mutation/types.d.ts +8 -2
- package/dist/mutation/types.d.ts.map +1 -1
- package/dist/parser/document-parser.d.ts +14 -0
- package/dist/parser/document-parser.d.ts.map +1 -1
- package/dist/parser/document-parser.js +142 -38
- 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 +49 -12
- package/dist/recommendation/override.js.map +1 -1
- package/dist/semantic/target-validator.d.ts +36 -0
- package/dist/semantic/target-validator.d.ts.map +1 -0
- package/dist/semantic/target-validator.js +87 -0
- package/dist/semantic/target-validator.js.map +1 -0
- package/dist/semantic/validator.d.ts +2 -0
- package/dist/semantic/validator.d.ts.map +1 -1
- package/dist/semantic/validator.js +50 -5
- 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/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { checkDocument } from "./application/check.js";
|
|
2
|
-
export { analyzeDocument } from "./application/
|
|
2
|
+
export { analyzeDocument, selectNextTasks, } from "./application/contract4.js";
|
|
3
3
|
export { getAgentHelp } from "./application/agent-help.js";
|
|
4
4
|
export { getProjectMetadata } from "./application/project.js";
|
|
5
5
|
export { planProjectInit, projectInitResultToJson, renderProjectInitResult, serializeProjectInitResult, withProjectInitOutput, } from "./application/init.js";
|
|
6
6
|
export { planFormat } from "./application/format.js";
|
|
7
|
-
export { selectNextTasks } from "./application/next.js";
|
|
8
7
|
export { recommendationAnalysisToJson } from "./recommendation/json.js";
|
|
9
8
|
export { canonicalOverrideArtifact, humanOverrideDecisionToJson, overrideValidationResultToJson, validateOverride, } from "./recommendation/override.js";
|
|
10
9
|
export { planMutation } from "./application/mutate.js";
|
|
10
|
+
export { planUnitMigration, withUnitMigrationWrite, } from "./application/unit-migration.js";
|
|
11
11
|
export { planAdvance } from "./mutation/advance.js";
|
|
12
12
|
export { exportMermaid } from "./conversion/mermaid.js";
|
|
13
13
|
export { importMermaid } from "./conversion/mermaid-import.js";
|
|
@@ -16,7 +16,7 @@ export { analyzePrecedence } from "./analysis/precedence.js";
|
|
|
16
16
|
export { analyzeResources } from "./analysis/resource.js";
|
|
17
17
|
export { getHelp } from "./help/registry.js";
|
|
18
18
|
export { commandDescriptorToJson, commandOptionSets, getAgentHelpCommandHelp, } from "./command/registry.js";
|
|
19
|
-
export {
|
|
19
|
+
export { CONTRACT4_COMMAND_REGISTRY as COMMAND_REGISTRY, commandHelpResultToJson, commandRegistryToJson, getCommandDiscovery, renderCommandHelpResult, serializeCommandHelpResult, } from "./command/discovery.js";
|
|
20
20
|
export { commandUsageErrorToJson, renderCommandUsageError, serializeCommandUsageError, validateCommandInvocation, } from "./command/usage.js";
|
|
21
21
|
export { getGuide, guideResultToJson, renderGuideResult, serializeGuideResult, } from "./help/guide.js";
|
|
22
22
|
export { getAgentGuidance, getBundledAgentGuidance, } from "./guidance/query.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,IAAI,gBAAgB,EAC9C,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AA6BzB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mCAAmC,EACnC,yBAAyB,EACzB,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,EAClC,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAoB3D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC"}
|
package/dist/io/safe-write.d.ts
CHANGED
|
@@ -27,7 +27,14 @@ export interface DocumentWriteResult {
|
|
|
27
27
|
readonly bytesWritten: number;
|
|
28
28
|
readonly written: boolean;
|
|
29
29
|
}
|
|
30
|
+
export interface DocumentCandidateValidation {
|
|
31
|
+
readonly ok: boolean;
|
|
32
|
+
readonly diagnostics: readonly Diagnostic[];
|
|
33
|
+
}
|
|
34
|
+
export type DocumentCandidateValidator = (text: string) => DocumentCandidateValidation;
|
|
35
|
+
export declare function replaceValidatedDocumentFile(target: string, candidateText: string, options: ReplaceDocumentOptions, validator: DocumentCandidateValidator): Promise<DocumentWriteResult>;
|
|
30
36
|
export declare function replaceDocumentFile(target: string, candidateText: string, options: ReplaceDocumentOptions): Promise<DocumentWriteResult>;
|
|
37
|
+
export declare function createValidatedDocumentFile(target: string, candidateText: string, validator: DocumentCandidateValidator, options?: CreateDocumentOptions): Promise<DocumentWriteResult>;
|
|
31
38
|
export declare function createDocumentFile(target: string, candidateText: string, options?: CreateDocumentOptions): Promise<DocumentWriteResult>;
|
|
32
39
|
export declare function createArtifactFile(target: string, artifact: string, options?: CreateArtifactOptions): Promise<DocumentWriteResult>;
|
|
33
40
|
//# sourceMappingURL=safe-write.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-write.d.ts","sourceRoot":"","sources":["../../src/io/safe-write.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAM1D,MAAM,MAAM,uBAAuB,GAC/B,0BAA0B,GAC1B,gBAAgB,GAChB,SAAS,GACT,kBAAkB,GAClB,eAAe,CAAC;AAEpB,qBAAa,sBAAuB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,MAAM,EAAE,uBAAuB;IAD1C,YACW,MAAM,EAAE,uBAAuB,EACxC,OAAO,EAAE,MAAM,EAIhB;CACF;AAED,MAAM,MAAM,2BAA2B,GACnC,mBAAmB,GACnB,4BAA4B,GAC5B,oBAAoB,CAAC;AAEzB,qBAAa,0BAA2B,SAAQ,KAAK;IAEjD,QAAQ,CAAC,MAAM,EAAE,2BAA2B;IAE5C,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE;IAH7C,YACW,MAAM,EAAE,2BAA2B,EAC5C,OAAO,EAAE,MAAM,EACN,WAAW,GAAE,SAAS,UAAU,EAAO,EAIjD;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,KAAK,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"safe-write.d.ts","sourceRoot":"","sources":["../../src/io/safe-write.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAM1D,MAAM,MAAM,uBAAuB,GAC/B,0BAA0B,GAC1B,gBAAgB,GAChB,SAAS,GACT,kBAAkB,GAClB,eAAe,CAAC;AAEpB,qBAAa,sBAAuB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,MAAM,EAAE,uBAAuB;IAD1C,YACW,MAAM,EAAE,uBAAuB,EACxC,OAAO,EAAE,MAAM,EAIhB;CACF;AAED,MAAM,MAAM,2BAA2B,GACnC,mBAAmB,GACnB,4BAA4B,GAC5B,oBAAoB,CAAC;AAEzB,qBAAa,0BAA2B,SAAQ,KAAK;IAEjD,QAAQ,CAAC,MAAM,EAAE,2BAA2B;IAE5C,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE;IAH7C,YACW,MAAM,EAAE,2BAA2B,EAC5C,OAAO,EAAE,MAAM,EACN,WAAW,GAAE,SAAS,UAAU,EAAO,EAIjD;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,KAAK,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,0BAA0B,GAAG,CACvC,IAAI,EAAE,MAAM,KACT,2BAA2B,CAAC;AAiMjC,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,sBAAsB,EAC/B,SAAS,EAAE,0BAA0B,GACpC,OAAO,CAAC,mBAAmB,CAAC,CA4D9B;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAeD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,0BAA0B,EACrC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAsC9B;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAsC9B"}
|
package/dist/io/safe-write.js
CHANGED
|
@@ -74,8 +74,11 @@ async function currentWritableSource(path) {
|
|
|
74
74
|
throw error;
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
function
|
|
78
|
-
|
|
77
|
+
function validateActiveCandidate(text) {
|
|
78
|
+
return checkDocument(text);
|
|
79
|
+
}
|
|
80
|
+
function validateCandidate(candidateText, validator) {
|
|
81
|
+
const checked = validator(candidateText);
|
|
79
82
|
if (!checked.ok) {
|
|
80
83
|
throw new SafeWriteVerificationError("invalid_candidate", "safe-write candidate failed document validation", checked.diagnostics);
|
|
81
84
|
}
|
|
@@ -138,12 +141,12 @@ async function syncParentDirectory(target) {
|
|
|
138
141
|
await handle.close();
|
|
139
142
|
}
|
|
140
143
|
}
|
|
141
|
-
async function verifyWrittenDocument(target, candidateDigest) {
|
|
144
|
+
async function verifyWrittenDocument(target, candidateDigest, validator) {
|
|
142
145
|
const written = await readDocumentFile(target);
|
|
143
146
|
if (written.digest !== candidateDigest) {
|
|
144
147
|
throw new SafeWriteVerificationError("post_write_digest_mismatch", `written document digest does not match candidate: ${target}`);
|
|
145
148
|
}
|
|
146
|
-
const checked =
|
|
149
|
+
const checked = validator(written.text);
|
|
147
150
|
if (!checked.ok) {
|
|
148
151
|
throw new SafeWriteVerificationError("post_write_invalid", `written document failed revalidation: ${target}`, checked.diagnostics);
|
|
149
152
|
}
|
|
@@ -154,8 +157,8 @@ async function verifyWrittenArtifact(target, candidateDigest) {
|
|
|
154
157
|
throw new SafeWriteVerificationError("post_write_digest_mismatch", `written artifact digest does not match candidate: ${target}`);
|
|
155
158
|
}
|
|
156
159
|
}
|
|
157
|
-
export async function
|
|
158
|
-
const candidateBytes = validateCandidate(candidateText);
|
|
160
|
+
export async function replaceValidatedDocumentFile(target, candidateText, options, validator) {
|
|
161
|
+
const candidateBytes = validateCandidate(candidateText, validator);
|
|
159
162
|
const candidateDigest = digestDocumentBytes(candidateBytes);
|
|
160
163
|
if (options.expectedDigest !== undefined &&
|
|
161
164
|
options.expectedDigest !== options.initialDigest) {
|
|
@@ -184,7 +187,7 @@ export async function replaceDocumentFile(target, candidateText, options) {
|
|
|
184
187
|
await rename(temporaryPath, target);
|
|
185
188
|
renamed = true;
|
|
186
189
|
await syncParentDirectory(target);
|
|
187
|
-
await verifyWrittenDocument(target, candidateDigest);
|
|
190
|
+
await verifyWrittenDocument(target, candidateDigest, validator);
|
|
188
191
|
}
|
|
189
192
|
finally {
|
|
190
193
|
if (!renamed)
|
|
@@ -198,6 +201,9 @@ export async function replaceDocumentFile(target, candidateText, options) {
|
|
|
198
201
|
written: true,
|
|
199
202
|
};
|
|
200
203
|
}
|
|
204
|
+
export async function replaceDocumentFile(target, candidateText, options) {
|
|
205
|
+
return replaceValidatedDocumentFile(target, candidateText, options, validateActiveCandidate);
|
|
206
|
+
}
|
|
201
207
|
async function assertTargetAbsent(target) {
|
|
202
208
|
try {
|
|
203
209
|
const targetStat = await lstat(target);
|
|
@@ -209,8 +215,8 @@ async function assertTargetAbsent(target) {
|
|
|
209
215
|
throw error;
|
|
210
216
|
}
|
|
211
217
|
}
|
|
212
|
-
export async function
|
|
213
|
-
const candidateBytes = validateCandidate(candidateText);
|
|
218
|
+
export async function createValidatedDocumentFile(target, candidateText, validator, options = {}) {
|
|
219
|
+
const candidateBytes = validateCandidate(candidateText, validator);
|
|
214
220
|
const candidateDigest = digestDocumentBytes(candidateBytes);
|
|
215
221
|
await assertTargetAbsent(target);
|
|
216
222
|
const temporaryPath = await writeAndSyncTemporary(target, candidateBytes, options.mode ?? (0o666 & ~process.umask()));
|
|
@@ -228,7 +234,7 @@ export async function createDocumentFile(target, candidateText, options = {}) {
|
|
|
228
234
|
throw error;
|
|
229
235
|
}
|
|
230
236
|
await syncParentDirectory(target);
|
|
231
|
-
await verifyWrittenDocument(target, candidateDigest);
|
|
237
|
+
await verifyWrittenDocument(target, candidateDigest, validator);
|
|
232
238
|
}
|
|
233
239
|
finally {
|
|
234
240
|
await unlink(temporaryPath).catch(() => undefined);
|
|
@@ -243,6 +249,9 @@ export async function createDocumentFile(target, candidateText, options = {}) {
|
|
|
243
249
|
written: true,
|
|
244
250
|
};
|
|
245
251
|
}
|
|
252
|
+
export async function createDocumentFile(target, candidateText, options = {}) {
|
|
253
|
+
return createValidatedDocumentFile(target, candidateText, validateActiveCandidate, options);
|
|
254
|
+
}
|
|
246
255
|
export async function createArtifactFile(target, artifact, options = {}) {
|
|
247
256
|
const candidateBytes = Buffer.from(artifact, "utf8");
|
|
248
257
|
const candidateDigest = digestDocumentBytes(candidateBytes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-write.js","sourceRoot":"","sources":["../../src/io/safe-write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACL,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,MAAM,GAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAS5B,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAEpC,MAAM;IADjB,YACW,MAA+B,EACxC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;sBAHN,MAAM;QAIf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAOD,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAExC,MAAM;IAEN,WAAW;IAHtB,YACW,MAAmC,EAC5C,OAAe,EACN,WAAW,GAA0B,EAAE;QAEhD,KAAK,CAAC,OAAO,CAAC,CAAC;sBAJN,MAAM;2BAEN,WAAW;QAGpB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"safe-write.js","sourceRoot":"","sources":["../../src/io/safe-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TargetGrammar3Capability, TargetGrammar2Capability } from "../parser/document-parser.js";
|
|
2
|
+
import { type CreateDocumentOptions, type DocumentWriteResult, type ReplaceDocumentOptions } from "./safe-write.js";
|
|
3
|
+
export declare function replaceTargetDocumentFile(target: string, candidateText: string, capability: TargetGrammar2Capability, options: ReplaceDocumentOptions): Promise<DocumentWriteResult>;
|
|
4
|
+
export declare function createTargetDocumentFile(target: string, candidateText: string, capability: TargetGrammar2Capability, options?: CreateDocumentOptions): Promise<DocumentWriteResult>;
|
|
5
|
+
export declare function replaceTargetGrammar3DocumentFile(target: string, candidateText: string, capability: TargetGrammar3Capability, options: ReplaceDocumentOptions): Promise<DocumentWriteResult>;
|
|
6
|
+
export declare function createTargetGrammar3DocumentFile(target: string, candidateText: string, capability: TargetGrammar3Capability, options?: CreateDocumentOptions): Promise<DocumentWriteResult>;
|
|
7
|
+
//# sourceMappingURL=target-safe-write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-safe-write.d.ts","sourceRoot":"","sources":["../../src/io/target-safe-write.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAGL,KAAK,qBAAqB,EAE1B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;AA0BzB,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAO9B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { validateTargetGrammar3Document, validateTargetDocument, } from "../semantic/target-validator.js";
|
|
2
|
+
import { createValidatedDocumentFile, replaceValidatedDocumentFile, } from "./safe-write.js";
|
|
3
|
+
function targetValidator(capability) {
|
|
4
|
+
return (text) => {
|
|
5
|
+
const checked = validateTargetDocument(text, capability);
|
|
6
|
+
return {
|
|
7
|
+
ok: checked.ok,
|
|
8
|
+
diagnostics: checked.diagnostics,
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
function targetGrammar3Validator(capability) {
|
|
13
|
+
return (text) => {
|
|
14
|
+
const checked = validateTargetGrammar3Document(text, capability);
|
|
15
|
+
return {
|
|
16
|
+
ok: checked.ok,
|
|
17
|
+
diagnostics: checked.diagnostics,
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export async function replaceTargetDocumentFile(target, candidateText, capability, options) {
|
|
22
|
+
return replaceValidatedDocumentFile(target, candidateText, options, targetValidator(capability));
|
|
23
|
+
}
|
|
24
|
+
export async function createTargetDocumentFile(target, candidateText, capability, options = {}) {
|
|
25
|
+
return createValidatedDocumentFile(target, candidateText, targetValidator(capability), options);
|
|
26
|
+
}
|
|
27
|
+
export async function replaceTargetGrammar3DocumentFile(target, candidateText, capability, options) {
|
|
28
|
+
return replaceValidatedDocumentFile(target, candidateText, options, targetGrammar3Validator(capability));
|
|
29
|
+
}
|
|
30
|
+
export async function createTargetGrammar3DocumentFile(target, candidateText, capability, options = {}) {
|
|
31
|
+
return createValidatedDocumentFile(target, candidateText, targetGrammar3Validator(capability), options);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=target-safe-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-safe-write.js","sourceRoot":"","sources":["../../src/io/target-safe-write.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAK7B,MAAM,iBAAiB,CAAC;AAEzB,SAAS,eAAe,CACtB,UAAoC;IAEpC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzD,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAoC;IAEpC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,OAAO,GAAG,8BAA8B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAA+B;IAE/B,OAAO,4BAA4B,CACjC,MAAM,EACN,aAAa,EACb,OAAO,EACP,eAAe,CAAC,UAAU,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAAO,GAA0B,EAAE;IAEnC,OAAO,2BAA2B,CAChC,MAAM,EACN,aAAa,EACb,eAAe,CAAC,UAAU,CAAC,EAC3B,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAA+B;IAE/B,OAAO,4BAA4B,CACjC,MAAM,EACN,aAAa,EACb,OAAO,EACP,uBAAuB,CAAC,UAAU,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAAO,GAA0B,EAAE;IAEnC,OAAO,2BAA2B,CAChC,MAAM,EACN,aAAa,EACb,uBAAuB,CAAC,UAAU,CAAC,EACnC,OAAO,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type ExactDurationSourceToken } from "../model/exact-duration-source.js";
|
|
2
|
+
import type { Rational } from "../model/rational.js";
|
|
3
|
+
import type { DurationUnit } from "../model/units.js";
|
|
4
|
+
import { type MigrationGrammarDisposition, type MigrationGrammarVersion, type MigrationQualification, type MigrationReversibility, type MigrationVelocityDisposition } from "./grammar-boundary.js";
|
|
5
|
+
import type { ExactMigrationVelocity, UnitMigrationDurationField } from "./request.js";
|
|
6
|
+
export interface ExactUnitMigrationValue extends Rational {
|
|
7
|
+
readonly unit: DurationUnit;
|
|
8
|
+
}
|
|
9
|
+
export interface ExactUnitMigrationConvertedField {
|
|
10
|
+
readonly entityKind: "project" | "task";
|
|
11
|
+
readonly entityId: string;
|
|
12
|
+
readonly fieldPath: string;
|
|
13
|
+
readonly original: ExactUnitMigrationValue;
|
|
14
|
+
readonly converted: ExactUnitMigrationValue;
|
|
15
|
+
readonly canonicalToken: string;
|
|
16
|
+
readonly tokenClassification: ExactDurationSourceToken["classification"];
|
|
17
|
+
}
|
|
18
|
+
export interface ExactUnitMigrationConversionInput {
|
|
19
|
+
readonly ok: true;
|
|
20
|
+
readonly sourceGrammarVersion: MigrationGrammarVersion;
|
|
21
|
+
readonly sourceUnit: DurationUnit;
|
|
22
|
+
readonly targetUnit: DurationUnit;
|
|
23
|
+
readonly changed: boolean;
|
|
24
|
+
readonly effectiveVelocity: ExactMigrationVelocity | null;
|
|
25
|
+
readonly velocityDisposition: MigrationVelocityDisposition | null;
|
|
26
|
+
readonly durationInventory: readonly UnitMigrationDurationField[];
|
|
27
|
+
}
|
|
28
|
+
export interface ExactUnitMigrationConversion {
|
|
29
|
+
readonly sourceGrammarVersion: MigrationGrammarVersion;
|
|
30
|
+
readonly targetGrammarVersion: MigrationGrammarVersion;
|
|
31
|
+
readonly grammarDisposition: MigrationGrammarDisposition;
|
|
32
|
+
readonly sourceUnit: DurationUnit;
|
|
33
|
+
readonly targetUnit: DurationUnit;
|
|
34
|
+
readonly changed: boolean;
|
|
35
|
+
readonly convertedFields: readonly ExactUnitMigrationConvertedField[];
|
|
36
|
+
readonly reversibility: MigrationReversibility;
|
|
37
|
+
readonly qualifications: readonly MigrationQualification[];
|
|
38
|
+
}
|
|
39
|
+
export declare function convertPreparedUnitMigrationRequest(input: ExactUnitMigrationConversionInput): ExactUnitMigrationConversion;
|
|
40
|
+
//# sourceMappingURL=conversion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../src/migration/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,uBAAwB,SAAQ,QAAQ;IACvD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,mBAAmB,EAAE,4BAA4B,GAAG,IAAI,CAAC;IAClE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,0BAA0B,EAAE,CAAC;CACnE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACvD,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,SAAS,gCAAgC,EAAE,CAAC;IACtE,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAC5D;AAuGD,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,iCAAiC,GACvC,4BAA4B,CA6C9B"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { serializeExactDurationSource, } from "../model/exact-duration-source.js";
|
|
2
|
+
import { divide, multiply, rational } from "../model/rational.js";
|
|
3
|
+
import { selectExactDurationGrammarBoundary, } from "./grammar-boundary.js";
|
|
4
|
+
function exactValue(value, unit) {
|
|
5
|
+
const normalized = rational(value.numerator, value.denominator);
|
|
6
|
+
return Object.freeze({
|
|
7
|
+
numerator: normalized.numerator,
|
|
8
|
+
denominator: normalized.denominator,
|
|
9
|
+
unit,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function exactPositive(value, name) {
|
|
13
|
+
const normalized = rational(value.numerator, value.denominator);
|
|
14
|
+
if (normalized.numerator <= 0n) {
|
|
15
|
+
throw new Error(`${name} must be positive`);
|
|
16
|
+
}
|
|
17
|
+
return normalized;
|
|
18
|
+
}
|
|
19
|
+
function targetPerSource(input) {
|
|
20
|
+
if (!input.changed) {
|
|
21
|
+
if (input.sourceUnit !== input.targetUnit) {
|
|
22
|
+
throw new Error("unchanged migration must retain the source unit");
|
|
23
|
+
}
|
|
24
|
+
if (input.effectiveVelocity !== null ||
|
|
25
|
+
input.velocityDisposition !== null) {
|
|
26
|
+
throw new Error("unchanged migration must not select a velocity");
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
const velocity = input.effectiveVelocity;
|
|
31
|
+
if (velocity === null || input.velocityDisposition === null) {
|
|
32
|
+
throw new Error("changing migration requires an effective velocity");
|
|
33
|
+
}
|
|
34
|
+
const points = exactPositive(velocity.points, "velocity points");
|
|
35
|
+
const period = exactPositive(velocity.period, "velocity period");
|
|
36
|
+
if (input.sourceUnit === "point") {
|
|
37
|
+
if (input.targetUnit === "point" ||
|
|
38
|
+
velocity.periodUnit !== input.targetUnit) {
|
|
39
|
+
throw new Error("Point migration target must match the velocity period unit");
|
|
40
|
+
}
|
|
41
|
+
return divide(period, points);
|
|
42
|
+
}
|
|
43
|
+
if (input.targetUnit !== "point" ||
|
|
44
|
+
velocity.periodUnit !== input.sourceUnit) {
|
|
45
|
+
throw new Error("time migration source must match the velocity period unit");
|
|
46
|
+
}
|
|
47
|
+
return divide(points, period);
|
|
48
|
+
}
|
|
49
|
+
function convertField(field, sourceUnit, targetUnit, factor) {
|
|
50
|
+
if (field.sourceUnit !== sourceUnit) {
|
|
51
|
+
throw new Error(`migration inventory field ${field.fieldPath} has the wrong source unit`);
|
|
52
|
+
}
|
|
53
|
+
const original = exactValue(field.sourceValue, sourceUnit);
|
|
54
|
+
if (original.numerator < 0n) {
|
|
55
|
+
throw new Error(`migration inventory field ${field.fieldPath} must not be negative`);
|
|
56
|
+
}
|
|
57
|
+
const converted = exactValue(multiply(original, factor), targetUnit);
|
|
58
|
+
const serialized = serializeExactDurationSource(converted, targetUnit);
|
|
59
|
+
const token = Object.freeze({ ...serialized });
|
|
60
|
+
return {
|
|
61
|
+
record: Object.freeze({
|
|
62
|
+
entityKind: field.entityKind,
|
|
63
|
+
entityId: field.entityId,
|
|
64
|
+
fieldPath: field.fieldPath,
|
|
65
|
+
original,
|
|
66
|
+
converted,
|
|
67
|
+
canonicalToken: token.token,
|
|
68
|
+
tokenClassification: token.classification,
|
|
69
|
+
}),
|
|
70
|
+
token,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export function convertPreparedUnitMigrationRequest(input) {
|
|
74
|
+
if (input.ok !== true) {
|
|
75
|
+
throw new TypeError("exact unit conversion requires a successful prepared request");
|
|
76
|
+
}
|
|
77
|
+
if (!Array.isArray(input.durationInventory)) {
|
|
78
|
+
throw new TypeError("durationInventory must be an array");
|
|
79
|
+
}
|
|
80
|
+
const factor = targetPerSource(input);
|
|
81
|
+
const convertedFields = [];
|
|
82
|
+
const generatedTokens = [];
|
|
83
|
+
if (factor !== null) {
|
|
84
|
+
for (const field of input.durationInventory) {
|
|
85
|
+
const converted = convertField(field, input.sourceUnit, input.targetUnit, factor);
|
|
86
|
+
convertedFields.push(converted.record);
|
|
87
|
+
generatedTokens.push(converted.token);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const grammar = selectExactDurationGrammarBoundary(input.sourceGrammarVersion, generatedTokens, {
|
|
91
|
+
migrationChanged: input.changed,
|
|
92
|
+
velocityDisposition: input.velocityDisposition,
|
|
93
|
+
});
|
|
94
|
+
return Object.freeze({
|
|
95
|
+
sourceGrammarVersion: grammar.sourceGrammarVersion,
|
|
96
|
+
targetGrammarVersion: grammar.targetGrammarVersion,
|
|
97
|
+
grammarDisposition: grammar.grammarDisposition,
|
|
98
|
+
sourceUnit: input.sourceUnit,
|
|
99
|
+
targetUnit: input.targetUnit,
|
|
100
|
+
changed: input.changed,
|
|
101
|
+
convertedFields: Object.freeze(convertedFields),
|
|
102
|
+
reversibility: grammar.reversibility,
|
|
103
|
+
qualifications: grammar.qualifications,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=conversion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../src/migration/conversion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ExactDurationSourceToken } from "../model/exact-duration-source.js";
|
|
2
|
+
export type MigrationGrammarVersion = 1 | 2 | 3;
|
|
3
|
+
export type MigrationGrammarDisposition = "retained" | "upgraded_for_exact_fraction";
|
|
4
|
+
export type MigrationVelocityDisposition = "retained" | "replaced" | "inserted";
|
|
5
|
+
export type MigrationReversibility = "exact" | "values_exact_metadata_changed" | "not_applicable";
|
|
6
|
+
export type MigrationQualification = "grammar_upgraded_for_exact_fraction" | "grammar_version_retained_on_inverse" | "velocity_replaced" | "velocity_inserted";
|
|
7
|
+
export interface ExactDurationGrammarBoundaryContext {
|
|
8
|
+
readonly migrationChanged: boolean;
|
|
9
|
+
readonly velocityDisposition: MigrationVelocityDisposition | null;
|
|
10
|
+
}
|
|
11
|
+
export interface ExactDurationGrammarSelection {
|
|
12
|
+
readonly sourceGrammarVersion: MigrationGrammarVersion;
|
|
13
|
+
readonly targetGrammarVersion: MigrationGrammarVersion;
|
|
14
|
+
readonly grammarDisposition: MigrationGrammarDisposition;
|
|
15
|
+
readonly requiresVersionUpgrade: boolean;
|
|
16
|
+
readonly reversibility: MigrationReversibility;
|
|
17
|
+
readonly qualifications: readonly MigrationQualification[];
|
|
18
|
+
}
|
|
19
|
+
export declare function selectExactDurationGrammarBoundary(sourceGrammarVersion: number, generatedTokens: readonly ExactDurationSourceToken[], context: ExactDurationGrammarBoundaryContext): ExactDurationGrammarSelection;
|
|
20
|
+
//# sourceMappingURL=grammar-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grammar-boundary.d.ts","sourceRoot":"","sources":["../../src/migration/grammar-boundary.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,mCAAmC,CAAC;AAE3C,MAAM,MAAM,uBAAuB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhD,MAAM,MAAM,2BAA2B,GACnC,UAAU,GACV,6BAA6B,CAAC;AAElC,MAAM,MAAM,4BAA4B,GACpC,UAAU,GACV,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,MAAM,sBAAsB,GAC9B,OAAO,GACP,+BAA+B,GAC/B,gBAAgB,CAAC;AAErB,MAAM,MAAM,sBAAsB,GAC9B,qCAAqC,GACrC,qCAAqC,GACrC,mBAAmB,GACnB,mBAAmB,CAAC;AAExB,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,4BAA4B,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACvD,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;IACzD,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAC5D;AA+DD,wBAAgB,kCAAkC,CAChD,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,SAAS,wBAAwB,EAAE,EACpD,OAAO,EAAE,mCAAmC,GAC3C,6BAA6B,CAyD/B"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { canonicalizeExactDurationSourceToken, } from "../model/exact-duration-source.js";
|
|
2
|
+
function requireGrammarVersion(value) {
|
|
3
|
+
if (value !== 1 && value !== 2 && value !== 3) {
|
|
4
|
+
throw new RangeError("source grammar version must be 1, 2, or 3");
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
function requireContext(context) {
|
|
8
|
+
if (typeof context.migrationChanged !== "boolean") {
|
|
9
|
+
throw new TypeError("migrationChanged must be boolean");
|
|
10
|
+
}
|
|
11
|
+
if (context.velocityDisposition !== null &&
|
|
12
|
+
context.velocityDisposition !== "retained" &&
|
|
13
|
+
context.velocityDisposition !== "replaced" &&
|
|
14
|
+
context.velocityDisposition !== "inserted") {
|
|
15
|
+
throw new TypeError("velocityDisposition is invalid");
|
|
16
|
+
}
|
|
17
|
+
if (context.migrationChanged &&
|
|
18
|
+
context.velocityDisposition === null) {
|
|
19
|
+
throw new TypeError("a changing migration requires a velocity disposition");
|
|
20
|
+
}
|
|
21
|
+
if (!context.migrationChanged &&
|
|
22
|
+
(context.velocityDisposition === "replaced" ||
|
|
23
|
+
context.velocityDisposition === "inserted")) {
|
|
24
|
+
throw new TypeError("a no-op migration cannot replace or insert velocity");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function requireCanonicalGeneratedToken(value) {
|
|
28
|
+
if (value === null ||
|
|
29
|
+
typeof value !== "object" ||
|
|
30
|
+
(value.classification !== "decimal" &&
|
|
31
|
+
value.classification !== "fraction") ||
|
|
32
|
+
typeof value.token !== "string") {
|
|
33
|
+
throw new TypeError("generated Duration token is invalid");
|
|
34
|
+
}
|
|
35
|
+
const canonical = canonicalizeExactDurationSourceToken(value.token);
|
|
36
|
+
if (canonical === null ||
|
|
37
|
+
canonical.token !== value.token ||
|
|
38
|
+
canonical.classification !== value.classification) {
|
|
39
|
+
throw new TypeError("generated Duration token must be canonical");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function selectExactDurationGrammarBoundary(sourceGrammarVersion, generatedTokens, context) {
|
|
43
|
+
requireGrammarVersion(sourceGrammarVersion);
|
|
44
|
+
if (!Array.isArray(generatedTokens)) {
|
|
45
|
+
throw new TypeError("generatedTokens must be an array");
|
|
46
|
+
}
|
|
47
|
+
requireContext(context);
|
|
48
|
+
for (const token of generatedTokens)
|
|
49
|
+
requireCanonicalGeneratedToken(token);
|
|
50
|
+
const fractionRequired = generatedTokens.some(({ classification }) => classification === "fraction");
|
|
51
|
+
if (!context.migrationChanged &&
|
|
52
|
+
sourceGrammarVersion !== 3 &&
|
|
53
|
+
fractionRequired) {
|
|
54
|
+
throw new TypeError("a no-op migration cannot require a grammar upgrade");
|
|
55
|
+
}
|
|
56
|
+
const requiresVersionUpgrade = sourceGrammarVersion !== 3 && fractionRequired;
|
|
57
|
+
const targetGrammarVersion = requiresVersionUpgrade
|
|
58
|
+
? 3
|
|
59
|
+
: sourceGrammarVersion;
|
|
60
|
+
const qualifications = [];
|
|
61
|
+
if (requiresVersionUpgrade) {
|
|
62
|
+
qualifications.push("grammar_upgraded_for_exact_fraction");
|
|
63
|
+
}
|
|
64
|
+
else if (context.migrationChanged &&
|
|
65
|
+
sourceGrammarVersion === 3 &&
|
|
66
|
+
generatedTokens.length > 0 &&
|
|
67
|
+
!fractionRequired) {
|
|
68
|
+
qualifications.push("grammar_version_retained_on_inverse");
|
|
69
|
+
}
|
|
70
|
+
if (context.velocityDisposition === "replaced") {
|
|
71
|
+
qualifications.push("velocity_replaced");
|
|
72
|
+
}
|
|
73
|
+
else if (context.velocityDisposition === "inserted") {
|
|
74
|
+
qualifications.push("velocity_inserted");
|
|
75
|
+
}
|
|
76
|
+
const reversibility = !context.migrationChanged
|
|
77
|
+
? "not_applicable"
|
|
78
|
+
: qualifications.length > 0
|
|
79
|
+
? "values_exact_metadata_changed"
|
|
80
|
+
: "exact";
|
|
81
|
+
return Object.freeze({
|
|
82
|
+
sourceGrammarVersion,
|
|
83
|
+
targetGrammarVersion,
|
|
84
|
+
grammarDisposition: requiresVersionUpgrade
|
|
85
|
+
? "upgraded_for_exact_fraction"
|
|
86
|
+
: "retained",
|
|
87
|
+
requiresVersionUpgrade,
|
|
88
|
+
reversibility,
|
|
89
|
+
qualifications: Object.freeze(qualifications),
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=grammar-boundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grammar-boundary.js","sourceRoot":"","sources":["../../src/migration/grammar-boundary.ts"],"names":[],"mappings":"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"}
|