perttool 0.2.0 → 0.4.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.
Files changed (259) hide show
  1. package/CHANGELOG.md +81 -1
  2. package/README.md +121 -28
  3. package/dist/analysis/temporal-deadline.d.ts +59 -0
  4. package/dist/analysis/temporal-deadline.d.ts.map +1 -0
  5. package/dist/analysis/temporal-deadline.js +387 -0
  6. package/dist/analysis/temporal-deadline.js.map +1 -0
  7. package/dist/analysis/temporal-precedence.d.ts +45 -0
  8. package/dist/analysis/temporal-precedence.d.ts.map +1 -0
  9. package/dist/analysis/temporal-precedence.js +123 -0
  10. package/dist/analysis/temporal-precedence.js.map +1 -0
  11. package/dist/analysis/temporal-resource.d.ts +66 -0
  12. package/dist/analysis/temporal-resource.d.ts.map +1 -0
  13. package/dist/analysis/temporal-resource.js +292 -0
  14. package/dist/analysis/temporal-resource.js.map +1 -0
  15. package/dist/application/check.d.ts +16 -0
  16. package/dist/application/check.d.ts.map +1 -1
  17. package/dist/application/check.js +51 -0
  18. package/dist/application/check.js.map +1 -1
  19. package/dist/application/contract4.d.ts +17 -0
  20. package/dist/application/contract4.d.ts.map +1 -0
  21. package/dist/application/contract4.js +27 -0
  22. package/dist/application/contract4.js.map +1 -0
  23. package/dist/application/contract5-governance.d.ts +8 -0
  24. package/dist/application/contract5-governance.d.ts.map +1 -0
  25. package/dist/application/contract5-governance.js +12 -0
  26. package/dist/application/contract5-governance.js.map +1 -0
  27. package/dist/application/init.d.ts +3 -11
  28. package/dist/application/init.d.ts.map +1 -1
  29. package/dist/application/init.js +16 -129
  30. package/dist/application/init.js.map +1 -1
  31. package/dist/application/mutate.d.ts +19 -0
  32. package/dist/application/mutate.d.ts.map +1 -1
  33. package/dist/application/mutate.js +34 -16
  34. package/dist/application/mutate.js.map +1 -1
  35. package/dist/application/next.d.ts +2 -0
  36. package/dist/application/next.d.ts.map +1 -1
  37. package/dist/application/next.js +7 -1
  38. package/dist/application/next.js.map +1 -1
  39. package/dist/application/project.d.ts +4 -22
  40. package/dist/application/project.d.ts.map +1 -1
  41. package/dist/application/project.js +3 -51
  42. package/dist/application/project.js.map +1 -1
  43. package/dist/application/target-check.d.ts +34 -0
  44. package/dist/application/target-check.d.ts.map +1 -0
  45. package/dist/application/target-check.js +90 -0
  46. package/dist/application/target-check.js.map +1 -0
  47. package/dist/application/target-governance-init.d.ts +36 -0
  48. package/dist/application/target-governance-init.d.ts.map +1 -0
  49. package/dist/application/target-governance-init.js +185 -0
  50. package/dist/application/target-governance-init.js.map +1 -0
  51. package/dist/application/target-governance-mutation.d.ts +20 -0
  52. package/dist/application/target-governance-mutation.d.ts.map +1 -0
  53. package/dist/application/target-governance-mutation.js +175 -0
  54. package/dist/application/target-governance-mutation.js.map +1 -0
  55. package/dist/application/target-governance-project.d.ts +34 -0
  56. package/dist/application/target-governance-project.d.ts.map +1 -0
  57. package/dist/application/target-governance-project.js +80 -0
  58. package/dist/application/target-governance-project.js.map +1 -0
  59. package/dist/application/target-governance-projection.d.ts +18 -0
  60. package/dist/application/target-governance-projection.d.ts.map +1 -0
  61. package/dist/application/target-governance-projection.js +248 -0
  62. package/dist/application/target-governance-projection.js.map +1 -0
  63. package/dist/application/target-governance-write.d.ts +17 -0
  64. package/dist/application/target-governance-write.d.ts.map +1 -0
  65. package/dist/application/target-governance-write.js +55 -0
  66. package/dist/application/target-governance-write.js.map +1 -0
  67. package/dist/application/target-grammar-boundary.d.ts +22 -0
  68. package/dist/application/target-grammar-boundary.d.ts.map +1 -0
  69. package/dist/application/target-grammar-boundary.js +91 -0
  70. package/dist/application/target-grammar-boundary.js.map +1 -0
  71. package/dist/application/target-mutate.d.ts +10 -0
  72. package/dist/application/target-mutate.d.ts.map +1 -0
  73. package/dist/application/target-mutate.js +81 -0
  74. package/dist/application/target-mutate.js.map +1 -0
  75. package/dist/application/target-project.d.ts +28 -0
  76. package/dist/application/target-project.d.ts.map +1 -0
  77. package/dist/application/target-project.js +60 -0
  78. package/dist/application/target-project.js.map +1 -0
  79. package/dist/application/target-temporal-analysis.d.ts +140 -0
  80. package/dist/application/target-temporal-analysis.d.ts.map +1 -0
  81. package/dist/application/target-temporal-analysis.js +414 -0
  82. package/dist/application/target-temporal-analysis.js.map +1 -0
  83. package/dist/application/target-temporal-input.d.ts +86 -0
  84. package/dist/application/target-temporal-input.d.ts.map +1 -0
  85. package/dist/application/target-temporal-input.js +240 -0
  86. package/dist/application/target-temporal-input.js.map +1 -0
  87. package/dist/application/target-unit-migration-candidate.d.ts +60 -0
  88. package/dist/application/target-unit-migration-candidate.d.ts.map +1 -0
  89. package/dist/application/target-unit-migration-candidate.js +294 -0
  90. package/dist/application/target-unit-migration-candidate.js.map +1 -0
  91. package/dist/application/target-unit-migration-request.d.ts +35 -0
  92. package/dist/application/target-unit-migration-request.d.ts.map +1 -0
  93. package/dist/application/target-unit-migration-request.js +70 -0
  94. package/dist/application/target-unit-migration-request.js.map +1 -0
  95. package/dist/application/target-unit-migration-result.d.ts +66 -0
  96. package/dist/application/target-unit-migration-result.d.ts.map +1 -0
  97. package/dist/application/target-unit-migration-result.js +86 -0
  98. package/dist/application/target-unit-migration-result.js.map +1 -0
  99. package/dist/application/unit-migration.d.ts +16 -0
  100. package/dist/application/unit-migration.d.ts.map +1 -0
  101. package/dist/application/unit-migration.js +11 -0
  102. package/dist/application/unit-migration.js.map +1 -0
  103. package/dist/cli.js +383 -132
  104. package/dist/cli.js.map +1 -1
  105. package/dist/command/discovery.d.ts +3 -3
  106. package/dist/command/discovery.d.ts.map +1 -1
  107. package/dist/command/discovery.js +149 -22
  108. package/dist/command/discovery.js.map +1 -1
  109. package/dist/command/registry.d.ts +8 -2
  110. package/dist/command/registry.d.ts.map +1 -1
  111. package/dist/command/registry.js +14 -1
  112. package/dist/command/registry.js.map +1 -1
  113. package/dist/command/target-governance-discovery.d.ts +31 -0
  114. package/dist/command/target-governance-discovery.d.ts.map +1 -0
  115. package/dist/command/target-governance-discovery.js +390 -0
  116. package/dist/command/target-governance-discovery.js.map +1 -0
  117. package/dist/command/target-governance-usage.d.ts +22 -0
  118. package/dist/command/target-governance-usage.d.ts.map +1 -0
  119. package/dist/command/target-governance-usage.js +116 -0
  120. package/dist/command/target-governance-usage.js.map +1 -0
  121. package/dist/command/usage.d.ts +2 -0
  122. package/dist/command/usage.d.ts.map +1 -1
  123. package/dist/command/usage.js +44 -26
  124. package/dist/command/usage.js.map +1 -1
  125. package/dist/conversion/mermaid-import.d.ts.map +1 -1
  126. package/dist/conversion/mermaid-import.js +3 -2
  127. package/dist/conversion/mermaid-import.js.map +1 -1
  128. package/dist/conversion/mermaid.d.ts.map +1 -1
  129. package/dist/conversion/mermaid.js +27 -0
  130. package/dist/conversion/mermaid.js.map +1 -1
  131. package/dist/formatter/source-formatter.d.ts +12 -0
  132. package/dist/formatter/source-formatter.d.ts.map +1 -1
  133. package/dist/formatter/source-formatter.js +59 -6
  134. package/dist/formatter/source-formatter.js.map +1 -1
  135. package/dist/formatter/target-source-formatter.d.ts +9 -0
  136. package/dist/formatter/target-source-formatter.d.ts.map +1 -0
  137. package/dist/formatter/target-source-formatter.js +52 -0
  138. package/dist/formatter/target-source-formatter.js.map +1 -0
  139. package/dist/governance/authority.d.ts +21 -0
  140. package/dist/governance/authority.d.ts.map +1 -0
  141. package/dist/governance/authority.js +206 -0
  142. package/dist/governance/authority.js.map +1 -0
  143. package/dist/governance/guidance.d.ts +2 -0
  144. package/dist/governance/guidance.d.ts.map +1 -0
  145. package/dist/governance/guidance.js +2 -0
  146. package/dist/governance/guidance.js.map +1 -0
  147. package/dist/governance/source.d.ts +37 -0
  148. package/dist/governance/source.d.ts.map +1 -0
  149. package/dist/governance/source.js +103 -0
  150. package/dist/governance/source.js.map +1 -0
  151. package/dist/governance/types.d.ts +41 -0
  152. package/dist/governance/types.d.ts.map +1 -0
  153. package/dist/governance/types.js +2 -0
  154. package/dist/governance/types.js.map +1 -0
  155. package/dist/help/guide.d.ts +8 -5
  156. package/dist/help/guide.d.ts.map +1 -1
  157. package/dist/help/guide.js +1 -1
  158. package/dist/help/guide.js.map +1 -1
  159. package/dist/help/registry.d.ts.map +1 -1
  160. package/dist/help/registry.js +124 -13
  161. package/dist/help/registry.js.map +1 -1
  162. package/dist/help/target-governance-guide.d.ts +10 -0
  163. package/dist/help/target-governance-guide.d.ts.map +1 -0
  164. package/dist/help/target-governance-guide.js +57 -0
  165. package/dist/help/target-governance-guide.js.map +1 -0
  166. package/dist/index.d.ts +25 -17
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/index.js +8 -8
  169. package/dist/index.js.map +1 -1
  170. package/dist/io/safe-write.d.ts +11 -0
  171. package/dist/io/safe-write.d.ts.map +1 -1
  172. package/dist/io/safe-write.js +40 -10
  173. package/dist/io/safe-write.js.map +1 -1
  174. package/dist/io/target-safe-write.d.ts +10 -0
  175. package/dist/io/target-safe-write.d.ts.map +1 -0
  176. package/dist/io/target-safe-write.js +51 -0
  177. package/dist/io/target-safe-write.js.map +1 -0
  178. package/dist/migration/conversion.d.ts +40 -0
  179. package/dist/migration/conversion.d.ts.map +1 -0
  180. package/dist/migration/conversion.js +106 -0
  181. package/dist/migration/conversion.js.map +1 -0
  182. package/dist/migration/grammar-boundary.d.ts +20 -0
  183. package/dist/migration/grammar-boundary.d.ts.map +1 -0
  184. package/dist/migration/grammar-boundary.js +95 -0
  185. package/dist/migration/grammar-boundary.js.map +1 -0
  186. package/dist/migration/request.d.ts +79 -0
  187. package/dist/migration/request.d.ts.map +1 -0
  188. package/dist/migration/request.js +308 -0
  189. package/dist/migration/request.js.map +1 -0
  190. package/dist/model/calendar-arithmetic.d.ts +46 -0
  191. package/dist/model/calendar-arithmetic.d.ts.map +1 -0
  192. package/dist/model/calendar-arithmetic.js +236 -0
  193. package/dist/model/calendar-arithmetic.js.map +1 -0
  194. package/dist/model/calendar.d.ts +22 -0
  195. package/dist/model/calendar.d.ts.map +1 -0
  196. package/dist/model/calendar.js +83 -0
  197. package/dist/model/calendar.js.map +1 -0
  198. package/dist/model/declaration-fields.d.ts +22 -0
  199. package/dist/model/declaration-fields.d.ts.map +1 -0
  200. package/dist/model/declaration-fields.js +72 -0
  201. package/dist/model/declaration-fields.js.map +1 -0
  202. package/dist/model/exact-duration-source.d.ts +10 -0
  203. package/dist/model/exact-duration-source.d.ts.map +1 -0
  204. package/dist/model/exact-duration-source.js +69 -0
  205. package/dist/model/exact-duration-source.js.map +1 -0
  206. package/dist/model/rational.d.ts +2 -2
  207. package/dist/model/rational.d.ts.map +1 -1
  208. package/dist/model/rational.js +3 -1
  209. package/dist/model/rational.js.map +1 -1
  210. package/dist/model/syntax.d.ts +9 -2
  211. package/dist/model/syntax.d.ts.map +1 -1
  212. package/dist/model/syntax.js +20 -4
  213. package/dist/model/syntax.js.map +1 -1
  214. package/dist/model/target-calendar.d.ts +25 -0
  215. package/dist/model/target-calendar.d.ts.map +1 -0
  216. package/dist/model/target-calendar.js +56 -0
  217. package/dist/model/target-calendar.js.map +1 -0
  218. package/dist/mutation/advance.d.ts +11 -0
  219. package/dist/mutation/advance.d.ts.map +1 -1
  220. package/dist/mutation/advance.js +37 -7
  221. package/dist/mutation/advance.js.map +1 -1
  222. package/dist/mutation/milestone.d.ts +10 -1
  223. package/dist/mutation/milestone.d.ts.map +1 -1
  224. package/dist/mutation/milestone.js +77 -21
  225. package/dist/mutation/milestone.js.map +1 -1
  226. package/dist/mutation/project.d.ts +11 -1
  227. package/dist/mutation/project.d.ts.map +1 -1
  228. package/dist/mutation/project.js +117 -11
  229. package/dist/mutation/project.js.map +1 -1
  230. package/dist/mutation/target-types.d.ts +59 -0
  231. package/dist/mutation/target-types.d.ts.map +1 -0
  232. package/dist/mutation/target-types.js +2 -0
  233. package/dist/mutation/target-types.js.map +1 -0
  234. package/dist/mutation/task.d.ts +12 -1
  235. package/dist/mutation/task.d.ts.map +1 -1
  236. package/dist/mutation/task.js +108 -49
  237. package/dist/mutation/task.js.map +1 -1
  238. package/dist/mutation/types.d.ts +16 -3
  239. package/dist/mutation/types.d.ts.map +1 -1
  240. package/dist/parser/document-parser.d.ts +21 -0
  241. package/dist/parser/document-parser.d.ts.map +1 -1
  242. package/dist/parser/document-parser.js +197 -38
  243. package/dist/parser/document-parser.js.map +1 -1
  244. package/dist/recommendation/override-types.d.ts +2 -2
  245. package/dist/recommendation/override.d.ts +2 -2
  246. package/dist/recommendation/override.d.ts.map +1 -1
  247. package/dist/recommendation/override.js +49 -12
  248. package/dist/recommendation/override.js.map +1 -1
  249. package/dist/semantic/target-validator.d.ts +46 -0
  250. package/dist/semantic/target-validator.d.ts.map +1 -0
  251. package/dist/semantic/target-validator.js +130 -0
  252. package/dist/semantic/target-validator.js.map +1 -0
  253. package/dist/semantic/validator.d.ts +3 -0
  254. package/dist/semantic/validator.d.ts.map +1 -1
  255. package/dist/semantic/validator.js +78 -5
  256. package/dist/semantic/validator.js.map +1 -1
  257. package/dist/version.d.ts +1 -1
  258. package/dist/version.js +1 -1
  259. package/package.json +1 -1
@@ -0,0 +1,35 @@
1
+ import type { Diagnostic } from "../model/diagnostics.js";
2
+ import type { DurationUnit } from "../model/units.js";
3
+ import { UNIT_MIGRATION_IDENTITY, type ExactMigrationVelocity, type UnitMigrationDurationField, type UnitMigrationPreservedTemporalField, type UnitMigrationRequest, type UnitMigrationUnavailableCause } from "../migration/request.js";
4
+ import type { MigrationGrammarVersion, MigrationVelocityDisposition } from "../migration/grammar-boundary.js";
5
+ import type { TargetGrammar3Capability, TargetGrammar4Capability } from "../parser/document-parser.js";
6
+ import { type TargetGrammar3ValidatedDocument, type TargetGrammar4ValidatedDocument, type TargetValidationOptions } from "../semantic/target-validator.js";
7
+ interface TargetUnitMigrationRequestPreparationBase {
8
+ readonly unitMigration: typeof UNIT_MIGRATION_IDENTITY;
9
+ readonly documentId: string | null;
10
+ readonly targetUnit: DurationUnit;
11
+ readonly changed: boolean;
12
+ readonly effectiveVelocity: ExactMigrationVelocity | null;
13
+ readonly velocityDisposition: MigrationVelocityDisposition | null;
14
+ readonly durationInventory: readonly UnitMigrationDurationField[];
15
+ readonly preservedTemporalFields: readonly UnitMigrationPreservedTemporalField[];
16
+ readonly unavailableCauses: readonly UnitMigrationUnavailableCause[];
17
+ readonly diagnostics: readonly Diagnostic[];
18
+ readonly diagnosticsTruncated: boolean;
19
+ }
20
+ export interface TargetUnitMigrationRequestSuccess extends TargetUnitMigrationRequestPreparationBase {
21
+ readonly ok: true;
22
+ readonly sourceGrammarVersion: MigrationGrammarVersion;
23
+ readonly sourceUnit: DurationUnit;
24
+ readonly validatedDocument: TargetGrammar3ValidatedDocument | TargetGrammar4ValidatedDocument;
25
+ }
26
+ export interface TargetUnitMigrationRequestFailure extends TargetUnitMigrationRequestPreparationBase {
27
+ readonly ok: false;
28
+ readonly sourceGrammarVersion: MigrationGrammarVersion | null;
29
+ readonly sourceUnit: DurationUnit | null;
30
+ readonly validatedDocument: null;
31
+ }
32
+ export type TargetUnitMigrationRequestPreparation = TargetUnitMigrationRequestSuccess | TargetUnitMigrationRequestFailure;
33
+ export declare function prepareTargetUnitMigrationRequest(text: string, request: UnitMigrationRequest, capability: TargetGrammar3Capability | TargetGrammar4Capability, options?: TargetValidationOptions): TargetUnitMigrationRequestPreparation;
34
+ export {};
35
+ //# sourceMappingURL=target-unit-migration-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-unit-migration-request.d.ts","sourceRoot":"","sources":["../../src/application/target-unit-migration-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAGL,uBAAuB,EAEvB,KAAK,sBAAsB,EAE3B,KAAK,0BAA0B,EAC/B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAGL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAEzC,UAAU,yCAAyC;IACjD,QAAQ,CAAC,aAAa,EAAE,OAAO,uBAAuB,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,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;IAClE,QAAQ,CAAC,uBAAuB,EAC9B,SAAS,mCAAmC,EAAE,CAAC;IACjD,QAAQ,CAAC,iBAAiB,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACrE,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,iCACf,SAAQ,yCAAyC;IACjD,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EACtB,+BAA+B,GAC/B,+BAA+B,CAAC;CACrC;AAED,MAAM,WAAW,iCACf,SAAQ,yCAAyC;IACjD,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC;CAClC;AAED,MAAM,MAAM,qCAAqC,GAC7C,iCAAiC,GACjC,iCAAiC,CAAC;AA6BtC,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,EAC7B,UAAU,EAAE,wBAAwB,GAAG,wBAAwB,EAC/D,OAAO,GAAE,uBAA4B,GACpC,qCAAqC,CAsDvC"}
@@ -0,0 +1,70 @@
1
+ import { normalizeUnitMigrationRequest, prepareUnitMigrationRequest, UNIT_MIGRATION_IDENTITY, unitMigrationCause, } from "../migration/request.js";
2
+ import { validateTargetGrammar3Document, validateTargetGrammar4Document, } from "../semantic/target-validator.js";
3
+ function invalidOriginal(request, documentId, diagnostics, diagnosticsTruncated) {
4
+ return Object.freeze({
5
+ ok: false,
6
+ unitMigration: UNIT_MIGRATION_IDENTITY,
7
+ documentId,
8
+ sourceGrammarVersion: null,
9
+ sourceUnit: null,
10
+ targetUnit: request.targetUnit,
11
+ changed: false,
12
+ effectiveVelocity: null,
13
+ velocityDisposition: null,
14
+ durationInventory: Object.freeze([]),
15
+ preservedTemporalFields: Object.freeze([]),
16
+ unavailableCauses: Object.freeze([
17
+ unitMigrationCause("invalid_original"),
18
+ ]),
19
+ diagnostics,
20
+ diagnosticsTruncated,
21
+ validatedDocument: null,
22
+ });
23
+ }
24
+ export function prepareTargetUnitMigrationRequest(text, request, capability, options = {}) {
25
+ const normalizedRequest = normalizeUnitMigrationRequest(request);
26
+ const checked = capability.grammarVersion === 4
27
+ ? validateTargetGrammar4Document(text, capability, options)
28
+ : validateTargetGrammar3Document(text, capability, options);
29
+ if (!checked.ok || checked.validatedDocument === null) {
30
+ return invalidOriginal(normalizedRequest, checked.documentId, checked.diagnostics, checked.diagnosticsTruncated);
31
+ }
32
+ const prepared = prepareUnitMigrationRequest(checked.validatedDocument, normalizedRequest);
33
+ if (!prepared.ok) {
34
+ return Object.freeze({
35
+ ok: false,
36
+ unitMigration: prepared.unitMigration,
37
+ documentId: checked.documentId,
38
+ sourceGrammarVersion: prepared.sourceGrammarVersion,
39
+ sourceUnit: prepared.sourceUnit,
40
+ targetUnit: prepared.targetUnit,
41
+ changed: prepared.changed,
42
+ effectiveVelocity: prepared.effectiveVelocity,
43
+ velocityDisposition: prepared.velocityDisposition,
44
+ durationInventory: prepared.durationInventory,
45
+ preservedTemporalFields: prepared.preservedTemporalFields,
46
+ unavailableCauses: prepared.unavailableCauses,
47
+ diagnostics: checked.diagnostics,
48
+ diagnosticsTruncated: checked.diagnosticsTruncated,
49
+ validatedDocument: null,
50
+ });
51
+ }
52
+ return Object.freeze({
53
+ ok: true,
54
+ unitMigration: prepared.unitMigration,
55
+ documentId: checked.documentId,
56
+ sourceGrammarVersion: prepared.sourceGrammarVersion,
57
+ sourceUnit: prepared.sourceUnit,
58
+ targetUnit: prepared.targetUnit,
59
+ changed: prepared.changed,
60
+ effectiveVelocity: prepared.effectiveVelocity,
61
+ velocityDisposition: prepared.velocityDisposition,
62
+ durationInventory: prepared.durationInventory,
63
+ preservedTemporalFields: prepared.preservedTemporalFields,
64
+ unavailableCauses: prepared.unavailableCauses,
65
+ diagnostics: checked.diagnostics,
66
+ diagnosticsTruncated: checked.diagnosticsTruncated,
67
+ validatedDocument: checked.validatedDocument,
68
+ });
69
+ }
70
+ //# sourceMappingURL=target-unit-migration-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-unit-migration-request.js","sourceRoot":"","sources":["../../src/application/target-unit-migration-request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { DocumentWriteResult } from "../io/safe-write.js";
2
+ import type { Diagnostic } from "../model/diagnostics.js";
3
+ import type { Rational } from "../model/rational.js";
4
+ import type { CalendarUnit, DurationUnit } from "../model/units.js";
5
+ import type { MigrationGrammarDisposition, MigrationGrammarVersion, MigrationQualification, MigrationReversibility, MigrationVelocityDisposition } from "../migration/grammar-boundary.js";
6
+ import type { UnitMigrationRequest, UnitMigrationUnavailableCause } from "../migration/request.js";
7
+ import type { TextEdit } from "../mutation/text-edits.js";
8
+ import type { TargetGrammar3Capability, TargetGrammar4Capability } from "../parser/document-parser.js";
9
+ import { type TargetUnitMigrationCandidateOptions } from "./target-unit-migration-candidate.js";
10
+ export declare const TARGET_UNIT_MIGRATION_RESULT_SCHEMA_VERSION: "Perttool.UnitMigrationResult.v2";
11
+ export interface TargetUnitMigrationExactValue extends Rational {
12
+ readonly unit: DurationUnit;
13
+ }
14
+ export interface TargetUnitMigrationEffectiveVelocity {
15
+ readonly points: TargetUnitMigrationExactValue & {
16
+ readonly unit: "point";
17
+ };
18
+ readonly period: TargetUnitMigrationExactValue & {
19
+ readonly unit: CalendarUnit;
20
+ };
21
+ }
22
+ export interface TargetUnitMigrationResultConvertedField {
23
+ readonly entityKind: "project" | "task";
24
+ readonly entityId: string;
25
+ readonly fieldPath: string;
26
+ readonly original: TargetUnitMigrationExactValue;
27
+ readonly converted: TargetUnitMigrationExactValue;
28
+ readonly canonicalToken: string;
29
+ }
30
+ export interface TargetUnitMigrationResultWrite {
31
+ readonly mode: "preview" | "in_place" | "out";
32
+ readonly target: string | null;
33
+ readonly written: boolean;
34
+ }
35
+ export interface TargetUnitMigrationResult {
36
+ readonly schemaVersion: typeof TARGET_UNIT_MIGRATION_RESULT_SCHEMA_VERSION;
37
+ readonly ok: boolean;
38
+ readonly unitMigration: {
39
+ readonly id: "perttool.unit-migration";
40
+ readonly version: 2;
41
+ };
42
+ readonly documentId: string | null;
43
+ readonly sourceGrammarVersion: MigrationGrammarVersion | null;
44
+ readonly targetGrammarVersion: MigrationGrammarVersion | null;
45
+ readonly grammarDisposition: MigrationGrammarDisposition | null;
46
+ readonly sourceUnit: DurationUnit | null;
47
+ readonly targetUnit: DurationUnit;
48
+ readonly effectiveVelocity: TargetUnitMigrationEffectiveVelocity | null;
49
+ readonly velocityDisposition: MigrationVelocityDisposition | null;
50
+ readonly changed: boolean;
51
+ readonly convertedFields: readonly TargetUnitMigrationResultConvertedField[];
52
+ readonly reversibility: MigrationReversibility;
53
+ readonly qualifications: readonly MigrationQualification[];
54
+ readonly unavailableCauses: readonly UnitMigrationUnavailableCause[];
55
+ readonly originalDigest: string;
56
+ readonly updatedDigest: string | null;
57
+ readonly updatedText: string | null;
58
+ readonly diff: string | null;
59
+ readonly edits: readonly TextEdit[];
60
+ readonly write: TargetUnitMigrationResultWrite;
61
+ readonly diagnostics: readonly Diagnostic[];
62
+ readonly diagnosticsTruncated: boolean;
63
+ }
64
+ export declare function planTargetUnitMigrationResult(text: string, request: UnitMigrationRequest, capability: TargetGrammar3Capability | TargetGrammar4Capability, options?: TargetUnitMigrationCandidateOptions): TargetUnitMigrationResult;
65
+ export declare function withTargetUnitMigrationWrite(result: TargetUnitMigrationResult, output: DocumentWriteResult): TargetUnitMigrationResult;
66
+ //# sourceMappingURL=target-unit-migration-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-unit-migration-result.d.ts","sourceRoot":"","sources":["../../src/application/target-unit-migration-result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { planTargetUnitMigrationCandidate, } from "./target-unit-migration-candidate.js";
2
+ export const TARGET_UNIT_MIGRATION_RESULT_SCHEMA_VERSION = "Perttool.UnitMigrationResult.v2";
3
+ const previewWrite = Object.freeze({
4
+ mode: "preview",
5
+ target: null,
6
+ written: false,
7
+ });
8
+ function exactValue(value, unit) {
9
+ return Object.freeze({
10
+ numerator: value.numerator,
11
+ denominator: value.denominator,
12
+ unit,
13
+ });
14
+ }
15
+ function effectiveVelocity(value) {
16
+ if (value === null)
17
+ return null;
18
+ return Object.freeze({
19
+ points: exactValue(value.points, "point"),
20
+ period: exactValue(value.period, value.periodUnit),
21
+ });
22
+ }
23
+ export function planTargetUnitMigrationResult(text, request, capability, options = {}) {
24
+ const candidate = planTargetUnitMigrationCandidate(text, request, capability, options);
25
+ return Object.freeze({
26
+ schemaVersion: TARGET_UNIT_MIGRATION_RESULT_SCHEMA_VERSION,
27
+ ok: candidate.ok,
28
+ unitMigration: candidate.unitMigration,
29
+ documentId: candidate.documentId,
30
+ sourceGrammarVersion: candidate.sourceGrammarVersion,
31
+ targetGrammarVersion: candidate.targetGrammarVersion,
32
+ grammarDisposition: candidate.grammarDisposition,
33
+ sourceUnit: candidate.sourceUnit,
34
+ targetUnit: candidate.targetUnit,
35
+ effectiveVelocity: effectiveVelocity(candidate.effectiveVelocity),
36
+ velocityDisposition: candidate.velocityDisposition,
37
+ changed: candidate.changed,
38
+ convertedFields: Object.freeze(candidate.convertedFields.map((field) => Object.freeze({
39
+ entityKind: field.entityKind,
40
+ entityId: field.entityId,
41
+ fieldPath: field.fieldPath,
42
+ original: exactValue(field.original, field.original.unit),
43
+ converted: exactValue(field.converted, field.converted.unit),
44
+ canonicalToken: field.canonicalToken,
45
+ }))),
46
+ reversibility: candidate.reversibility,
47
+ qualifications: Object.freeze([...candidate.qualifications]),
48
+ unavailableCauses: Object.freeze(candidate.unavailableCauses.map((cause) => Object.freeze({
49
+ cause: cause.cause,
50
+ diagnosticCode: cause.diagnosticCode,
51
+ fieldPaths: Object.freeze([...cause.fieldPaths]),
52
+ }))),
53
+ originalDigest: candidate.originalDigest,
54
+ updatedDigest: candidate.updatedDigest,
55
+ updatedText: candidate.updatedText,
56
+ diff: candidate.diff,
57
+ edits: Object.freeze([...candidate.edits]),
58
+ write: previewWrite,
59
+ diagnostics: Object.freeze([...candidate.diagnostics]),
60
+ diagnosticsTruncated: candidate.diagnosticsTruncated,
61
+ });
62
+ }
63
+ export function withTargetUnitMigrationWrite(result, output) {
64
+ if (!result.ok ||
65
+ result.updatedDigest === null ||
66
+ result.updatedText === null) {
67
+ throw new Error("cannot attach write state to a failed unit-migration result");
68
+ }
69
+ if (result.write.mode !== "preview" ||
70
+ result.write.target !== null ||
71
+ result.write.written ||
72
+ output.target.length === 0 ||
73
+ output.digest !== result.updatedDigest ||
74
+ (output.mode === "out" && !output.written)) {
75
+ throw new Error("unit-migration write state does not match the candidate");
76
+ }
77
+ return Object.freeze({
78
+ ...result,
79
+ write: Object.freeze({
80
+ mode: output.mode,
81
+ target: output.target,
82
+ written: output.written,
83
+ }),
84
+ });
85
+ }
86
+ //# sourceMappingURL=target-unit-migration-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-unit-migration-result.js","sourceRoot":"","sources":["../../src/application/target-unit-migration-result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { DocumentWriteResult } from "../io/safe-write.js";
2
+ import type { UnitMigrationRequest } from "../migration/request.js";
3
+ import { type TargetUnitMigrationResult, type TargetUnitMigrationResultConvertedField, type TargetUnitMigrationResultWrite, type TargetUnitMigrationEffectiveVelocity, type TargetUnitMigrationExactValue } from "./target-unit-migration-result.js";
4
+ import type { TargetUnitMigrationCandidateOptions } from "./target-unit-migration-candidate.js";
5
+ export type UnitMigrationResult = Omit<TargetUnitMigrationResult, "sourceGrammarVersion" | "targetGrammarVersion"> & {
6
+ readonly sourceGrammarVersion: 1 | 2 | 3 | 4 | null;
7
+ readonly targetGrammarVersion: 1 | 2 | 3 | 4 | null;
8
+ };
9
+ export type UnitMigrationConvertedField = TargetUnitMigrationResultConvertedField;
10
+ export type UnitMigrationWrite = TargetUnitMigrationResultWrite;
11
+ export type UnitMigrationEffectiveVelocity = TargetUnitMigrationEffectiveVelocity;
12
+ export type UnitMigrationExactValue = TargetUnitMigrationExactValue;
13
+ export type UnitMigrationOptions = TargetUnitMigrationCandidateOptions;
14
+ export declare function planUnitMigration(text: string, request: UnitMigrationRequest, options?: UnitMigrationOptions): UnitMigrationResult;
15
+ export declare function withUnitMigrationWrite(result: UnitMigrationResult, output: DocumentWriteResult): UnitMigrationResult;
16
+ //# sourceMappingURL=unit-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-migration.d.ts","sourceRoot":"","sources":["../../src/application/unit-migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAIpE,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,uCAAuC,EAC5C,KAAK,8BAA8B,EACnC,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EACnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,mCAAmC,EACpC,MAAM,sCAAsC,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,yBAAyB,EACzB,sBAAsB,GAAG,sBAAsB,CAChD,GAAG;IACF,QAAQ,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CACrD,CAAC;AACF,MAAM,MAAM,2BAA2B,GACrC,uCAAuC,CAAC;AAC1C,MAAM,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;AAChE,MAAM,MAAM,8BAA8B,GACxC,oCAAoC,CAAC;AACvC,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;AAEvE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAQrB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,GAC1B,mBAAmB,CAGrB"}
@@ -0,0 +1,11 @@
1
+ import { TARGET_GRAMMAR_4_CAPABILITY, } from "../parser/document-parser.js";
2
+ import { planTargetUnitMigrationResult, withTargetUnitMigrationWrite, } from "./target-unit-migration-result.js";
3
+ export function planUnitMigration(text, request, options = {}) {
4
+ const result = planTargetUnitMigrationResult(text, request, TARGET_GRAMMAR_4_CAPABILITY, options);
5
+ return result;
6
+ }
7
+ export function withUnitMigrationWrite(result, output) {
8
+ const written = withTargetUnitMigrationWrite(result, output);
9
+ return written;
10
+ }
11
+ //# sourceMappingURL=unit-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-migration.js","sourceRoot":"","sources":["../../src/application/unit-migration.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,GAM7B,MAAM,mCAAmC,CAAC;AAoB3C,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,OAA6B,EAC7B,OAAO,GAAyB,EAAE;IAElC,MAAM,MAAM,GAAG,6BAA6B,CAC1C,IAAI,EACJ,OAAO,EACP,2BAA2B,EAC3B,OAAO,CACR,CAAC;IACF,OAAO,MAA6B,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,OAAO,GAAG,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,OAA8B,CAAC;AACxC,CAAC"}