perttool 0.1.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.
Files changed (213) hide show
  1. package/CHANGELOG.md +112 -33
  2. package/README.md +206 -111
  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/analyze.js +5 -5
  16. package/dist/application/analyze.js.map +1 -1
  17. package/dist/application/check.d.ts +16 -0
  18. package/dist/application/check.d.ts.map +1 -1
  19. package/dist/application/check.js +51 -0
  20. package/dist/application/check.js.map +1 -1
  21. package/dist/application/contract4.d.ts +17 -0
  22. package/dist/application/contract4.d.ts.map +1 -0
  23. package/dist/application/contract4.js +27 -0
  24. package/dist/application/contract4.js.map +1 -0
  25. package/dist/application/init.d.ts +43 -0
  26. package/dist/application/init.d.ts.map +1 -0
  27. package/dist/application/init.js +226 -0
  28. package/dist/application/init.js.map +1 -0
  29. package/dist/application/mutate.d.ts +19 -0
  30. package/dist/application/mutate.d.ts.map +1 -1
  31. package/dist/application/mutate.js +47 -25
  32. package/dist/application/mutate.js.map +1 -1
  33. package/dist/application/next.d.ts +2 -0
  34. package/dist/application/next.d.ts.map +1 -1
  35. package/dist/application/next.js +7 -1
  36. package/dist/application/next.js.map +1 -1
  37. package/dist/application/project.d.ts +3 -1
  38. package/dist/application/project.d.ts.map +1 -1
  39. package/dist/application/project.js +2 -1
  40. package/dist/application/project.js.map +1 -1
  41. package/dist/application/target-check.d.ts +34 -0
  42. package/dist/application/target-check.d.ts.map +1 -0
  43. package/dist/application/target-check.js +90 -0
  44. package/dist/application/target-check.js.map +1 -0
  45. package/dist/application/target-grammar-boundary.d.ts +22 -0
  46. package/dist/application/target-grammar-boundary.d.ts.map +1 -0
  47. package/dist/application/target-grammar-boundary.js +91 -0
  48. package/dist/application/target-grammar-boundary.js.map +1 -0
  49. package/dist/application/target-mutate.d.ts +8 -0
  50. package/dist/application/target-mutate.d.ts.map +1 -0
  51. package/dist/application/target-mutate.js +56 -0
  52. package/dist/application/target-mutate.js.map +1 -0
  53. package/dist/application/target-project.d.ts +28 -0
  54. package/dist/application/target-project.d.ts.map +1 -0
  55. package/dist/application/target-project.js +60 -0
  56. package/dist/application/target-project.js.map +1 -0
  57. package/dist/application/target-temporal-analysis.d.ts +138 -0
  58. package/dist/application/target-temporal-analysis.d.ts.map +1 -0
  59. package/dist/application/target-temporal-analysis.js +409 -0
  60. package/dist/application/target-temporal-analysis.js.map +1 -0
  61. package/dist/application/target-temporal-input.d.ts +86 -0
  62. package/dist/application/target-temporal-input.d.ts.map +1 -0
  63. package/dist/application/target-temporal-input.js +238 -0
  64. package/dist/application/target-temporal-input.js.map +1 -0
  65. package/dist/application/target-unit-migration-candidate.d.ts +60 -0
  66. package/dist/application/target-unit-migration-candidate.d.ts.map +1 -0
  67. package/dist/application/target-unit-migration-candidate.js +290 -0
  68. package/dist/application/target-unit-migration-candidate.js.map +1 -0
  69. package/dist/application/target-unit-migration-request.d.ts +35 -0
  70. package/dist/application/target-unit-migration-request.d.ts.map +1 -0
  71. package/dist/application/target-unit-migration-request.js +68 -0
  72. package/dist/application/target-unit-migration-request.js.map +1 -0
  73. package/dist/application/target-unit-migration-result.d.ts +66 -0
  74. package/dist/application/target-unit-migration-result.d.ts.map +1 -0
  75. package/dist/application/target-unit-migration-result.js +86 -0
  76. package/dist/application/target-unit-migration-result.js.map +1 -0
  77. package/dist/application/unit-migration.d.ts +13 -0
  78. package/dist/application/unit-migration.d.ts.map +1 -0
  79. package/dist/application/unit-migration.js +9 -0
  80. package/dist/application/unit-migration.js.map +1 -0
  81. package/dist/cli.js +494 -383
  82. package/dist/cli.js.map +1 -1
  83. package/dist/command/discovery.d.ts +30 -0
  84. package/dist/command/discovery.d.ts.map +1 -0
  85. package/dist/command/discovery.js +752 -0
  86. package/dist/command/discovery.js.map +1 -0
  87. package/dist/command/registry.d.ts +84 -0
  88. package/dist/command/registry.d.ts.map +1 -0
  89. package/dist/command/registry.js +964 -0
  90. package/dist/command/registry.js.map +1 -0
  91. package/dist/command/usage.d.ts +42 -0
  92. package/dist/command/usage.d.ts.map +1 -0
  93. package/dist/command/usage.js +337 -0
  94. package/dist/command/usage.js.map +1 -0
  95. package/dist/conversion/mermaid-import.js +56 -56
  96. package/dist/conversion/mermaid-import.js.map +1 -1
  97. package/dist/conversion/mermaid.js +1 -1
  98. package/dist/conversion/mermaid.js.map +1 -1
  99. package/dist/formatter/source-formatter.d.ts +12 -0
  100. package/dist/formatter/source-formatter.d.ts.map +1 -1
  101. package/dist/formatter/source-formatter.js +48 -6
  102. package/dist/formatter/source-formatter.js.map +1 -1
  103. package/dist/formatter/target-source-formatter.d.ts +8 -0
  104. package/dist/formatter/target-source-formatter.d.ts.map +1 -0
  105. package/dist/formatter/target-source-formatter.js +36 -0
  106. package/dist/formatter/target-source-formatter.js.map +1 -0
  107. package/dist/help/guide.d.ts +12 -0
  108. package/dist/help/guide.d.ts.map +1 -0
  109. package/dist/help/guide.js +103 -0
  110. package/dist/help/guide.js.map +1 -0
  111. package/dist/help/registry.d.ts +0 -6
  112. package/dist/help/registry.d.ts.map +1 -1
  113. package/dist/help/registry.js +186 -86
  114. package/dist/help/registry.js.map +1 -1
  115. package/dist/index.d.ts +20 -7
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +8 -3
  118. package/dist/index.js.map +1 -1
  119. package/dist/io/safe-write.d.ts +7 -0
  120. package/dist/io/safe-write.d.ts.map +1 -1
  121. package/dist/io/safe-write.js +36 -27
  122. package/dist/io/safe-write.js.map +1 -1
  123. package/dist/io/target-safe-write.d.ts +7 -0
  124. package/dist/io/target-safe-write.d.ts.map +1 -0
  125. package/dist/io/target-safe-write.js +33 -0
  126. package/dist/io/target-safe-write.js.map +1 -0
  127. package/dist/migration/conversion.d.ts +40 -0
  128. package/dist/migration/conversion.d.ts.map +1 -0
  129. package/dist/migration/conversion.js +106 -0
  130. package/dist/migration/conversion.js.map +1 -0
  131. package/dist/migration/grammar-boundary.d.ts +20 -0
  132. package/dist/migration/grammar-boundary.d.ts.map +1 -0
  133. package/dist/migration/grammar-boundary.js +92 -0
  134. package/dist/migration/grammar-boundary.js.map +1 -0
  135. package/dist/migration/request.d.ts +79 -0
  136. package/dist/migration/request.d.ts.map +1 -0
  137. package/dist/migration/request.js +308 -0
  138. package/dist/migration/request.js.map +1 -0
  139. package/dist/model/calendar-arithmetic.d.ts +46 -0
  140. package/dist/model/calendar-arithmetic.d.ts.map +1 -0
  141. package/dist/model/calendar-arithmetic.js +236 -0
  142. package/dist/model/calendar-arithmetic.js.map +1 -0
  143. package/dist/model/calendar.d.ts +22 -0
  144. package/dist/model/calendar.d.ts.map +1 -0
  145. package/dist/model/calendar.js +83 -0
  146. package/dist/model/calendar.js.map +1 -0
  147. package/dist/model/declaration-fields.d.ts +15 -0
  148. package/dist/model/declaration-fields.d.ts.map +1 -0
  149. package/dist/model/declaration-fields.js +54 -0
  150. package/dist/model/declaration-fields.js.map +1 -0
  151. package/dist/model/exact-duration-source.d.ts +10 -0
  152. package/dist/model/exact-duration-source.d.ts.map +1 -0
  153. package/dist/model/exact-duration-source.js +69 -0
  154. package/dist/model/exact-duration-source.js.map +1 -0
  155. package/dist/model/rational.d.ts +2 -2
  156. package/dist/model/rational.d.ts.map +1 -1
  157. package/dist/model/rational.js +3 -1
  158. package/dist/model/rational.js.map +1 -1
  159. package/dist/model/syntax.d.ts +9 -2
  160. package/dist/model/syntax.d.ts.map +1 -1
  161. package/dist/model/syntax.js +20 -4
  162. package/dist/model/syntax.js.map +1 -1
  163. package/dist/model/target-calendar.d.ts +25 -0
  164. package/dist/model/target-calendar.d.ts.map +1 -0
  165. package/dist/model/target-calendar.js +56 -0
  166. package/dist/model/target-calendar.js.map +1 -0
  167. package/dist/mutation/advance.d.ts.map +1 -1
  168. package/dist/mutation/advance.js +21 -4
  169. package/dist/mutation/advance.js.map +1 -1
  170. package/dist/mutation/gate.d.ts +5 -0
  171. package/dist/mutation/gate.d.ts.map +1 -0
  172. package/dist/mutation/gate.js +156 -0
  173. package/dist/mutation/gate.js.map +1 -0
  174. package/dist/mutation/milestone.d.ts +10 -1
  175. package/dist/mutation/milestone.d.ts.map +1 -1
  176. package/dist/mutation/milestone.js +104 -48
  177. package/dist/mutation/milestone.js.map +1 -1
  178. package/dist/mutation/project.d.ts +7 -1
  179. package/dist/mutation/project.d.ts.map +1 -1
  180. package/dist/mutation/project.js +32 -19
  181. package/dist/mutation/project.js.map +1 -1
  182. package/dist/mutation/resource.js +22 -22
  183. package/dist/mutation/resource.js.map +1 -1
  184. package/dist/mutation/target-types.d.ts +42 -0
  185. package/dist/mutation/target-types.d.ts.map +1 -0
  186. package/dist/mutation/target-types.js +2 -0
  187. package/dist/mutation/target-types.js.map +1 -0
  188. package/dist/mutation/task.d.ts +12 -1
  189. package/dist/mutation/task.d.ts.map +1 -1
  190. package/dist/mutation/task.js +148 -89
  191. package/dist/mutation/task.js.map +1 -1
  192. package/dist/mutation/types.d.ts +34 -3
  193. package/dist/mutation/types.d.ts.map +1 -1
  194. package/dist/parser/document-parser.d.ts +14 -0
  195. package/dist/parser/document-parser.d.ts.map +1 -1
  196. package/dist/parser/document-parser.js +159 -55
  197. package/dist/parser/document-parser.js.map +1 -1
  198. package/dist/recommendation/override-types.d.ts +2 -2
  199. package/dist/recommendation/override.d.ts +2 -2
  200. package/dist/recommendation/override.d.ts.map +1 -1
  201. package/dist/recommendation/override.js +49 -12
  202. package/dist/recommendation/override.js.map +1 -1
  203. package/dist/semantic/target-validator.d.ts +36 -0
  204. package/dist/semantic/target-validator.d.ts.map +1 -0
  205. package/dist/semantic/target-validator.js +87 -0
  206. package/dist/semantic/target-validator.js.map +1 -0
  207. package/dist/semantic/validator.d.ts +2 -0
  208. package/dist/semantic/validator.d.ts.map +1 -1
  209. package/dist/semantic/validator.js +90 -45
  210. package/dist/semantic/validator.js.map +1 -1
  211. package/dist/version.d.ts +1 -1
  212. package/dist/version.js +1 -1
  213. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"rational.js","sourceRoot":"","sources":["../../src/model/rational.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rational.js","sourceRoot":"","sources":["../../src/model/rational.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,13 @@ export interface DurationValue {
6
6
  readonly scale: number;
7
7
  readonly suffix: "d" | "h" | "p";
8
8
  }
9
+ export interface DurationFractionValue {
10
+ readonly text: string;
11
+ readonly numerator: bigint;
12
+ readonly denominator: bigint;
13
+ readonly suffix: "d" | "h" | "p";
14
+ }
15
+ export type ExactDurationValue = DurationValue | DurationFractionValue;
9
16
  export interface VelocityValue {
10
17
  readonly text: string;
11
18
  readonly points: DurationValue & {
@@ -62,6 +69,6 @@ export interface ParseResult {
62
69
  }
63
70
  export declare function fieldsNamed(declaration: DeclarationNode, name: string): readonly FieldNode[];
64
71
  export declare function fieldNamed(declaration: DeclarationNode, name: string): FieldNode | undefined;
65
- export declare function compareDurations(left: DurationValue, right: DurationValue): number;
66
- export declare function isZeroDuration(value: DurationValue): boolean;
72
+ export declare function compareDurations(left: ExactDurationValue, right: ExactDurationValue): number;
73
+ export declare function isZeroDuration(value: ExactDurationValue): boolean;
67
74
  //# sourceMappingURL=syntax.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syntax.d.ts","sourceRoot":"","sources":["../../src/model/syntax.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syntax.d.ts","sourceRoot":"","sources":["../../src/model/syntax.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,27 @@ export function fieldNamed(declaration, name) {
5
5
  return fieldsNamed(declaration, name)[0];
6
6
  }
7
7
  export function compareDurations(left, right) {
8
- const leftScaled = left.digits * 10n ** BigInt(right.scale);
9
- const rightScaled = right.digits * 10n ** BigInt(left.scale);
10
- return leftScaled < rightScaled ? -1 : leftScaled > rightScaled ? 1 : 0;
8
+ const leftRatio = durationRatio(left);
9
+ const rightRatio = durationRatio(right);
10
+ const leftScaled = leftRatio.numerator * rightRatio.denominator;
11
+ const rightScaled = rightRatio.numerator * leftRatio.denominator;
12
+ return leftScaled < rightScaled
13
+ ? -1
14
+ : leftScaled > rightScaled
15
+ ? 1
16
+ : 0;
11
17
  }
12
18
  export function isZeroDuration(value) {
13
- return value.digits === 0n;
19
+ return "numerator" in value
20
+ ? value.numerator === 0n
21
+ : value.digits === 0n;
22
+ }
23
+ function durationRatio(value) {
24
+ return "numerator" in value
25
+ ? { numerator: value.numerator, denominator: value.denominator }
26
+ : {
27
+ numerator: value.digits,
28
+ denominator: 10n ** BigInt(value.scale),
29
+ };
14
30
  }
15
31
  //# sourceMappingURL=syntax.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syntax.js","sourceRoot":"","sources":["../../src/model/syntax.ts"],"names":[],"mappings":"AAyEA,MAAM,UAAU,WAAW,CACzB,WAA4B,EAC5B,IAAY;IAEZ,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,WAA4B,EAC5B,IAAY;IAEZ,OAAO,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAAmB,EACnB,KAAoB;IAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,OAAO,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,OAAO,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"syntax.js","sourceRoot":"","sources":["../../src/model/syntax.ts"],"names":[],"mappings":"AAkFA,MAAM,UAAU,WAAW,CACzB,WAA4B,EAC5B,IAAY;IAEZ,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,WAA4B,EAC5B,IAAY;IAEZ,OAAO,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAAwB,EACxB,KAAyB;IAEzB,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC;IAChE,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC;IACjE,OAAO,UAAU,GAAG,WAAW;QAC7B,CAAC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,UAAU,GAAG,WAAW;YACxB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;AACV,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAyB;IACtD,OAAO,WAAW,IAAI,KAAK;QACzB,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,EAAE;QACxB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa,CACpB,KAAyB;IAEzB,OAAO,WAAW,IAAI,KAAK;QACzB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;QAChE,CAAC,CAAC;YACE,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,WAAW,EAAE,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;SACxC,CAAC;AACR,CAAC"}
@@ -0,0 +1,25 @@
1
+ export interface TargetExactFraction {
2
+ readonly numerator: string;
3
+ readonly denominator: string;
4
+ }
5
+ export interface TargetCalendarDate {
6
+ readonly kind: "date";
7
+ readonly sourceText: string | null;
8
+ readonly year: number;
9
+ readonly month: number;
10
+ readonly day: number;
11
+ }
12
+ export interface TargetCalendarDateTime {
13
+ readonly kind: "date_time";
14
+ readonly sourceText: string | null;
15
+ readonly year: number;
16
+ readonly month: number;
17
+ readonly day: number;
18
+ readonly hour: number;
19
+ readonly minute: number;
20
+ readonly second: TargetExactFraction;
21
+ readonly offsetMinutes: number;
22
+ }
23
+ export type TargetCalendarValue = TargetCalendarDate | TargetCalendarDateTime;
24
+ export declare function projectDeclaredCalendarValue(value: unknown): TargetCalendarValue | null;
25
+ //# sourceMappingURL=target-calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-calendar.d.ts","sourceRoot":"","sources":["../../src/model/target-calendar.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,mBAAmB,GAC3B,kBAAkB,GAClB,sBAAsB,CAAC;AA4B3B,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,mBAAmB,GAAG,IAAI,CA8B5B"}
@@ -0,0 +1,56 @@
1
+ import { parseDeclaredCalendarValue, } from "./calendar.js";
2
+ function isDeclaredCalendarValue(value) {
3
+ if (value === null || typeof value !== "object")
4
+ return false;
5
+ const candidate = value;
6
+ const hasDate = (typeof candidate["sourceText"] === "string" &&
7
+ Number.isInteger(candidate["year"]) &&
8
+ Number.isInteger(candidate["month"]) &&
9
+ Number.isInteger(candidate["day"]));
10
+ if (candidate["kind"] === "date")
11
+ return hasDate;
12
+ if (candidate["kind"] !== "date_time")
13
+ return false;
14
+ const second = candidate["second"];
15
+ return (hasDate &&
16
+ Number.isInteger(candidate["hour"]) &&
17
+ Number.isInteger(candidate["minute"]) &&
18
+ Number.isInteger(candidate["offsetMinutes"]) &&
19
+ second !== null &&
20
+ typeof second === "object" &&
21
+ typeof second["numerator"] === "bigint" &&
22
+ typeof second["denominator"] === "bigint");
23
+ }
24
+ export function projectDeclaredCalendarValue(value) {
25
+ const declared = typeof value === "string"
26
+ ? parseDeclaredCalendarValue(value)
27
+ : isDeclaredCalendarValue(value)
28
+ ? value
29
+ : undefined;
30
+ if (declared === undefined)
31
+ return null;
32
+ if (declared.kind === "date") {
33
+ return {
34
+ kind: "date",
35
+ sourceText: declared.sourceText,
36
+ year: declared.year,
37
+ month: declared.month,
38
+ day: declared.day,
39
+ };
40
+ }
41
+ return {
42
+ kind: "date_time",
43
+ sourceText: declared.sourceText,
44
+ year: declared.year,
45
+ month: declared.month,
46
+ day: declared.day,
47
+ hour: declared.hour,
48
+ minute: declared.minute,
49
+ second: {
50
+ numerator: declared.second.numerator.toString(),
51
+ denominator: declared.second.denominator.toString(),
52
+ },
53
+ offsetMinutes: declared.offsetMinutes,
54
+ };
55
+ }
56
+ //# sourceMappingURL=target-calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-calendar.js","sourceRoot":"","sources":["../../src/model/target-calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAE3B,MAAM,eAAe,CAAC;AA+BvB,SAAS,uBAAuB,CAC9B,KAAc;IAEd,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,SAAS,GAAG,KAA0C,CAAC;IAC7D,MAAM,OAAO,GAAG,CACd,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,QAAQ;QAC3C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACnC,CAAC;IACF,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IACjD,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,CACL,OAAO;QACP,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,KAAK,IAAI;QACf,OAAO,MAAM,KAAK,QAAQ;QAC1B,OAAQ,MAA4C,CAAC,WAAW,CAAC,KAAK,QAAQ;QAC9E,OAAQ,MAA4C,CAAC,aAAa,CAAC,KAAK,QAAQ,CACjF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAc;IAEd,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ;QACxC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,GAAG,EAAE,QAAQ,CAAC,GAAG;SAClB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE;YACN,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC/C,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;SACpD;QACD,aAAa,EAAE,QAAQ,CAAC,aAAa;KACtC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"advance.d.ts","sourceRoot":"","sources":["../../src/mutation/advance.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIlE,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrD,QAAQ,CAAC,sBAAsB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CACzC;AAoRD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,eAAoB,GAC5B,aAAa,CA+Df"}
1
+ {"version":3,"file":"advance.d.ts","sourceRoot":"","sources":["../../src/mutation/advance.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIlE,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrD,QAAQ,CAAC,sBAAsB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CACzC;AA8SD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,eAAoB,GAC5B,aAAa,CA+Df"}
@@ -5,7 +5,7 @@ import { compareStableStrings, limitDiagnostics, normalizeMaxDiagnostics, sortDi
5
5
  import { fieldNamed } from "../model/syntax.js";
6
6
  import { checkDocument } from "../application/check.js";
7
7
  import { EntityEditor } from "./entity-editor.js";
8
- import { deleteDeclarationEdit, splitPhysicalLines } from "./source.js";
8
+ import { deleteDeclarationEdit, lineIndexAt, splitPhysicalLines, } from "./source.js";
9
9
  import { applyTextEdits, normalizeTextEdits } from "./text-edits.js";
10
10
  const milestoneFieldOrder = ["title", "description", "state", "tags"];
11
11
  function digest(text) {
@@ -70,6 +70,22 @@ function classifiedTaskIds(document, reached) {
70
70
  ids.sort(compareStableStrings);
71
71
  return groups;
72
72
  }
73
+ function advanceDeletionEdit(text, declaration, lines, isLastDeclaration) {
74
+ const edit = deleteDeclarationEdit(declaration, lines);
75
+ if (!isLastDeclaration)
76
+ return edit;
77
+ let startOffset = edit.startOffset;
78
+ let lineIndex = lineIndexAt(lines, startOffset);
79
+ while (lineIndex > 0 && lines[lineIndex - 1].text.trim() === "") {
80
+ lineIndex -= 1;
81
+ startOffset = lines[lineIndex].start;
82
+ }
83
+ return {
84
+ startOffset,
85
+ endOffset: text.length,
86
+ replacement: "",
87
+ };
88
+ }
73
89
  function buildAdvancePlan(text, document) {
74
90
  const project = document.declarations.find(({ kind }) => kind === "project");
75
91
  if (project === undefined)
@@ -95,10 +111,11 @@ function buildAdvancePlan(text, document) {
95
111
  reached.has(milestone.id) &&
96
112
  fieldNamed(milestone, "state")?.value !== "reached");
97
113
  const lines = splitPhysicalLines(text);
114
+ const lastDeclaration = document.declarations.at(-1);
98
115
  const edits = [
99
- ...removedTasks.map((declaration) => deleteDeclarationEdit(declaration, lines)),
100
- ...removedGates.map((declaration) => deleteDeclarationEdit(declaration, lines)),
101
- ...removedMilestones.map((declaration) => deleteDeclarationEdit(declaration, lines)),
116
+ ...removedTasks.map((declaration) => advanceDeletionEdit(text, declaration, lines, declaration === lastDeclaration)),
117
+ ...removedGates.map((declaration) => advanceDeletionEdit(text, declaration, lines, declaration === lastDeclaration)),
118
+ ...removedMilestones.map((declaration) => advanceDeletionEdit(text, declaration, lines, declaration === lastDeclaration)),
102
119
  ];
103
120
  for (const milestone of stateChangedMilestones) {
104
121
  const editor = new EntityEditor(text, milestone, milestoneFieldOrder);
@@ -1 +1 @@
1
- {"version":3,"file":"advance.js","sourceRoot":"","sources":["../../src/mutation/advance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advance.js","sourceRoot":"","sources":["../../src/mutation/advance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { DocumentNode } from "../model/syntax.js";
2
+ import { type MutationEditPlan } from "./diagnostics.js";
3
+ import type { GateMutation } from "./types.js";
4
+ export declare function planGateMutationEdits(text: string, document: DocumentNode, mutation: GateMutation): MutationEditPlan;
5
+ //# sourceMappingURL=gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/mutation/gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAQ7E,OAAO,KAAK,EAGV,YAAY,EAEb,MAAM,YAAY,CAAC;AAsHpB,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,GACrB,gBAAgB,CA4DlB"}
@@ -0,0 +1,156 @@
1
+ import { EntityEditor } from "./entity-editor.js";
2
+ import { mutationDiagnostic } from "./diagnostics.js";
3
+ import { appendDeclarationEdit, deleteDeclarationEdit, majorLineEnding, serializeTextField, splitPhysicalLines, } from "./source.js";
4
+ const fieldOrder = ["reason"];
5
+ function requestShapeError(value) {
6
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
7
+ return "gate mutation request is not an object";
8
+ }
9
+ const request = value;
10
+ const kind = request["kind"];
11
+ if (kind !== "gate.add" && kind !== "gate.set" && kind !== "gate.remove") {
12
+ return "gate mutation kind is unsupported";
13
+ }
14
+ if (typeof request["id"] !== "string")
15
+ return "gate id is not a string";
16
+ const fieldsByKind = {
17
+ "gate.add": new Set(["kind", "id", "from", "to", "gate"]),
18
+ "gate.set": new Set(["kind", "id", "from", "to", "set"]),
19
+ "gate.remove": new Set(["kind", "id"]),
20
+ };
21
+ if (Object.keys(request).some((name) => !fieldsByKind[kind].has(name))) {
22
+ return `${kind} request contains unsupported fields`;
23
+ }
24
+ return undefined;
25
+ }
26
+ function definitionError(mutation) {
27
+ if (typeof mutation.from !== "string")
28
+ return "gate from is not a string";
29
+ if (typeof mutation.to !== "string")
30
+ return "gate to is not a string";
31
+ const value = mutation.gate;
32
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
33
+ return "gate definition is not an object";
34
+ }
35
+ const gate = value;
36
+ if (Object.keys(gate).some((name) => name !== "reason")) {
37
+ return "gate definition contains unsupported fields";
38
+ }
39
+ if (typeof gate["reason"] !== "string")
40
+ return "gate reason is not a string";
41
+ return undefined;
42
+ }
43
+ function setRequestError(mutation) {
44
+ const rawSet = mutation.set;
45
+ if (rawSet !== undefined
46
+ && (rawSet === null || typeof rawSet !== "object" || Array.isArray(rawSet))) {
47
+ return "gate set is not an object";
48
+ }
49
+ const set = (rawSet ?? {});
50
+ if (mutation.from === undefined
51
+ && mutation.to === undefined
52
+ && set.reason === undefined) {
53
+ return "gate.set requires at least one change specification";
54
+ }
55
+ if (mutation.from !== undefined && typeof mutation.from !== "string") {
56
+ return "from is not a string";
57
+ }
58
+ if (mutation.to !== undefined && typeof mutation.to !== "string") {
59
+ return "to is not a string";
60
+ }
61
+ if (Object.keys(set).some((name) => name !== "reason")) {
62
+ return "gate set contains unsupported fields";
63
+ }
64
+ if (set.reason !== undefined && typeof set.reason !== "string") {
65
+ return "reason is not a string";
66
+ }
67
+ return undefined;
68
+ }
69
+ function serializeGate(mutation, lineEnding) {
70
+ return [
71
+ `gate ${mutation.id} ${mutation.from} -> ${mutation.to}:`,
72
+ serializeTextField("reason", mutation.gate.reason, lineEnding),
73
+ ].join(lineEnding);
74
+ }
75
+ function planSet(text, declaration, mutation) {
76
+ const error = setRequestError(mutation);
77
+ if (error !== undefined) {
78
+ return {
79
+ edits: [],
80
+ diagnostic: mutationDiagnostic("PTMUT-301", error, declaration),
81
+ };
82
+ }
83
+ if (declaration.fromSpan === undefined || declaration.toSpan === undefined) {
84
+ throw new Error("gate endpoint span invariant failed");
85
+ }
86
+ const editor = new EntityEditor(text, declaration, fieldOrder);
87
+ if (mutation.set?.reason !== undefined) {
88
+ editor.setText("reason", mutation.set.reason);
89
+ }
90
+ const edits = [...editor.finish()];
91
+ if (mutation.from !== undefined) {
92
+ edits.push({
93
+ startOffset: declaration.fromSpan.start.offset,
94
+ endOffset: declaration.fromSpan.end.offset,
95
+ replacement: mutation.from,
96
+ });
97
+ }
98
+ if (mutation.to !== undefined) {
99
+ edits.push({
100
+ startOffset: declaration.toSpan.start.offset,
101
+ endOffset: declaration.toSpan.end.offset,
102
+ replacement: mutation.to,
103
+ });
104
+ }
105
+ return { edits };
106
+ }
107
+ export function planGateMutationEdits(text, document, mutation) {
108
+ const requestError = requestShapeError(mutation);
109
+ if (requestError !== undefined) {
110
+ return {
111
+ edits: [],
112
+ diagnostic: mutationDiagnostic("PTMUT-301", requestError),
113
+ };
114
+ }
115
+ const entity = document.declarations.find(({ id }) => id === mutation.id);
116
+ if (mutation.kind === "gate.add") {
117
+ if (entity !== undefined) {
118
+ return {
119
+ edits: [],
120
+ diagnostic: mutationDiagnostic("PTMUT-304", `entity ID ${mutation.id} is already in use`, entity),
121
+ };
122
+ }
123
+ const error = definitionError(mutation);
124
+ if (error !== undefined) {
125
+ return {
126
+ edits: [],
127
+ diagnostic: mutationDiagnostic("PTMUT-301", error),
128
+ };
129
+ }
130
+ const lineEnding = majorLineEnding(text);
131
+ return {
132
+ edits: [
133
+ appendDeclarationEdit(text, serializeGate(mutation, lineEnding), lineEnding),
134
+ ],
135
+ };
136
+ }
137
+ if (entity === undefined) {
138
+ return {
139
+ edits: [],
140
+ diagnostic: mutationDiagnostic("PTMUT-302", `gate ${mutation.id} does not exist`),
141
+ };
142
+ }
143
+ if (entity.kind !== "gate") {
144
+ return {
145
+ edits: [],
146
+ diagnostic: mutationDiagnostic("PTMUT-303", `entity ${mutation.id} is not a gate`, entity),
147
+ };
148
+ }
149
+ if (mutation.kind === "gate.remove") {
150
+ return {
151
+ edits: [deleteDeclarationEdit(entity, splitPhysicalLines(text))],
152
+ };
153
+ }
154
+ return planSet(text, entity, mutation);
155
+ }
156
+ //# sourceMappingURL=gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/mutation/gate.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,14 @@
1
1
  import type { DocumentNode } from "../model/syntax.js";
2
2
  import { type MutationEditPlan } from "./diagnostics.js";
3
3
  import type { MilestoneMutation } from "./types.js";
4
- export declare function planMilestoneMutationEdits(text: string, document: DocumentNode, mutation: MilestoneMutation): MutationEditPlan;
4
+ import type { TargetMilestoneMutation } from "./target-types.js";
5
+ export interface MilestoneMutationProfile {
6
+ readonly fieldOrder: readonly string[];
7
+ readonly temporalFields: boolean;
8
+ }
9
+ export declare const ACTIVE_MILESTONE_MUTATION_PROFILE: MilestoneMutationProfile;
10
+ export declare const TARGET_MILESTONE_MUTATION_PROFILE: MilestoneMutationProfile;
11
+ type SupportedMilestoneMutation = MilestoneMutation | TargetMilestoneMutation;
12
+ export declare function planMilestoneMutationEdits(text: string, document: DocumentNode, mutation: SupportedMilestoneMutation, profile?: MilestoneMutationProfile): MutationEditPlan;
13
+ export {};
5
14
  //# sourceMappingURL=milestone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone.d.ts","sourceRoot":"","sources":["../../src/mutation/milestone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAIV,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAkKpB,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,iBAAiB,GAC1B,gBAAgB,CA8ClB"}
1
+ {"version":3,"file":"milestone.d.ts","sourceRoot":"","sources":["../../src/mutation/milestone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMxE,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAIV,iBAAiB,EAElB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAGV,uBAAuB,EAExB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,iCAAiC,EAAE,wBAI5C,CAAC;AAEL,eAAO,MAAM,iCAAiC,EAAE,wBAI5C,CAAC;AAEL,KAAK,0BAA0B,GAAG,iBAAiB,GAAG,uBAAuB,CAAC;AA2O9E,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,0BAA0B,EACpC,OAAO,GAAE,wBAA4D,GACpE,gBAAgB,CAoDlB"}