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
@@ -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,3 +1,5 @@
1
+ import type { Diagnostic } from "../model/diagnostics.js";
2
+ import type { DocumentNode } from "../model/syntax.js";
1
3
  import type { MutationOptions, MutationResult } from "./types.js";
2
4
  export type AdvanceRetentionReason = "partial_satisfaction";
3
5
  export interface AdvanceRetainedEdge {
@@ -22,5 +24,14 @@ export interface AdvanceDetails {
22
24
  export interface AdvanceResult extends MutationResult {
23
25
  readonly advance: AdvanceDetails | null;
24
26
  }
27
+ export interface AdvanceDocumentValidation {
28
+ readonly ok: boolean;
29
+ readonly document: DocumentNode;
30
+ readonly documentId: string | null;
31
+ readonly diagnostics: readonly Diagnostic[];
32
+ readonly diagnosticsTruncated: boolean;
33
+ }
34
+ export type AdvanceDocumentValidator = (text: string, maxDiagnostics: number) => AdvanceDocumentValidation;
35
+ export declare function planValidatedAdvance(text: string, validator: AdvanceDocumentValidator, options?: MutationOptions): AdvanceResult;
25
36
  export declare function planAdvance(text: string, options?: MutationOptions): AdvanceResult;
26
37
  //# sourceMappingURL=advance.d.ts.map
@@ -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":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAO1D,OAAO,KAAK,EAAmB,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AAY1F,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;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,KACnB,yBAAyB,CAAC;AA8S/B,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,wBAAwB,EACnC,OAAO,GAAE,eAAoB,GAC5B,aAAa,CA+Df;AAgBD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,eAAoB,GAC5B,aAAa,CAEf"}
@@ -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);
@@ -209,17 +226,17 @@ function verifyPostconditions(original, candidateText, candidate, plan) {
209
226
  throw new Error("advance postcondition failed: repeated advance is not empty");
210
227
  }
211
228
  }
212
- export function planAdvance(text, options = {}) {
229
+ export function planValidatedAdvance(text, validator, options = {}) {
213
230
  const maximum = normalizeMaxDiagnostics(options.maxDiagnostics);
214
231
  const originalDigest = digest(text);
215
- const original = checkDocument(text, { maxDiagnostics: maximum });
232
+ const original = validator(text, maximum);
216
233
  if (!original.ok) {
217
234
  return failure(originalDigest, original.documentId, original.diagnostics, maximum, original.diagnosticsTruncated);
218
235
  }
219
236
  const plan = buildAdvancePlan(text, original.document);
220
237
  const edits = normalizeTextEdits(text, plan.edits, "advance");
221
238
  const updatedText = applyTextEdits(text, edits);
222
- const candidate = checkDocument(updatedText, { maxDiagnostics: maximum });
239
+ const candidate = validator(updatedText, maximum);
223
240
  if (!candidate.ok) {
224
241
  return failure(originalDigest, original.documentId, candidate.diagnostics, maximum, candidate.diagnosticsTruncated);
225
242
  }
@@ -258,4 +275,17 @@ export function planAdvance(text, options = {}) {
258
275
  },
259
276
  };
260
277
  }
278
+ function validateActiveAdvanceDocument(text, maxDiagnostics) {
279
+ const checked = checkDocument(text, { maxDiagnostics });
280
+ return {
281
+ ok: checked.ok,
282
+ document: checked.document,
283
+ documentId: checked.documentId,
284
+ diagnostics: checked.diagnostics,
285
+ diagnosticsTruncated: checked.diagnosticsTruncated,
286
+ };
287
+ }
288
+ export function planAdvance(text, options = {}) {
289
+ return planValidatedAdvance(text, validateActiveAdvanceDocument, options);
290
+ }
261
291
  //# sourceMappingURL=advance.js.map
@@ -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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"}
@@ -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"}
@@ -1,9 +1,16 @@
1
+ import { GRAMMAR_1_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER, } from "../model/declaration-fields.js";
1
2
  import { EntityEditor, stringList } from "./entity-editor.js";
2
3
  import { mutationDiagnostic } from "./diagnostics.js";
3
4
  import { appendDeclarationEdit, deleteDeclarationEdit, majorLineEnding, serializeTags, serializeTextField, splitPhysicalLines } from "./source.js";
4
- const fieldOrder = ["title", "description", "state", "tags"];
5
+ export const ACTIVE_MILESTONE_MUTATION_PROFILE = Object.freeze({
6
+ fieldOrder: GRAMMAR_1_DECLARATION_FIELD_ORDER.milestone,
7
+ temporalFields: false,
8
+ });
9
+ export const TARGET_MILESTONE_MUTATION_PROFILE = Object.freeze({
10
+ fieldOrder: TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER.milestone,
11
+ temporalFields: true,
12
+ });
5
13
  const states = new Set(["planned", "reached"]);
6
- const clearableFields = new Set(["description", "state", "tags"]);
7
14
  function validStringArray(value) {
8
15
  return Array.isArray(value) && value.every((item) => typeof item === "string");
9
16
  }
@@ -28,12 +35,19 @@ function requestShapeError(value) {
28
35
  }
29
36
  return undefined;
30
37
  }
31
- function definitionError(value) {
38
+ function definitionError(value, profile) {
32
39
  if (value === null || typeof value !== "object" || Array.isArray(value)) {
33
40
  return "milestone definition is not an object";
34
41
  }
35
42
  const milestone = value;
36
- if (Object.keys(milestone).some((name) => !fieldOrder.includes(name))) {
43
+ const knownFields = new Set([
44
+ "title",
45
+ "description",
46
+ "state",
47
+ "tags",
48
+ ...(profile.temporalFields ? ["deadline"] : []),
49
+ ]);
50
+ if (Object.keys(milestone).some((name) => !knownFields.has(name))) {
37
51
  return "milestone definition contains unsupported fields";
38
52
  }
39
53
  if (typeof milestone["title"] !== "string")
@@ -47,21 +61,36 @@ function definitionError(value) {
47
61
  if (milestone["tags"] !== undefined && !validStringArray(milestone["tags"])) {
48
62
  return "milestone tags are not a string array";
49
63
  }
64
+ if (profile.temporalFields &&
65
+ milestone["deadline"] !== undefined &&
66
+ typeof milestone["deadline"] !== "string") {
67
+ return "milestone deadline is not a string";
68
+ }
50
69
  return undefined;
51
70
  }
52
- function serializeMilestone(mutation, lineEnding) {
71
+ function serializeMilestone(mutation, lineEnding, profile) {
53
72
  const definition = mutation.milestone;
73
+ const serialized = new Map([
74
+ ["title", ` title ${JSON.stringify(definition.title)}`],
75
+ ]);
76
+ if (definition.description !== undefined) {
77
+ serialized.set("description", serializeTextField("description", definition.description, lineEnding));
78
+ }
79
+ if (definition.state !== undefined) {
80
+ serialized.set("state", ` state ${definition.state}`);
81
+ }
82
+ if ("deadline" in definition && definition.deadline !== undefined) {
83
+ serialized.set("deadline", ` deadline ${definition.deadline}`);
84
+ }
85
+ if (definition.tags !== undefined) {
86
+ serialized.set("tags", ` tags ${serializeTags(definition.tags)}`);
87
+ }
54
88
  return [
55
89
  `milestone ${mutation.id}:`,
56
- ` title ${JSON.stringify(definition.title)}`,
57
- ...(definition.description === undefined
58
- ? []
59
- : [serializeTextField("description", definition.description, lineEnding)]),
60
- ...(definition.state === undefined ? [] : [` state ${definition.state}`]),
61
- ...(definition.tags === undefined ? [] : [` tags ${serializeTags(definition.tags)}`]),
90
+ ...profile.fieldOrder.flatMap((name) => serialized.has(name) ? [serialized.get(name)] : []),
62
91
  ].join(lineEnding);
63
92
  }
64
- function setRequestError(mutation) {
93
+ function setRequestError(mutation, profile) {
65
94
  const rawSet = mutation.set;
66
95
  const rawClear = mutation.clear;
67
96
  const rawAddTags = mutation.addTags;
@@ -89,7 +118,13 @@ function setRequestError(mutation) {
89
118
  removeTags.length === 0) {
90
119
  return "milestone.set requires at least one change specification";
91
120
  }
92
- if (Object.keys(set).some((name) => !["title", "description", "state"].includes(name))) {
121
+ const knownSetFields = new Set([
122
+ "title",
123
+ "description",
124
+ "state",
125
+ ...(profile.temporalFields ? ["deadline"] : []),
126
+ ]);
127
+ if (Object.keys(set).some((name) => !knownSetFields.has(name))) {
93
128
  return "milestone set contains unsupported fields";
94
129
  }
95
130
  if (set.title !== undefined && typeof set.title !== "string")
@@ -100,6 +135,17 @@ function setRequestError(mutation) {
100
135
  if (set.state !== undefined && !states.has(set.state)) {
101
136
  return "state must be planned or reached";
102
137
  }
138
+ if ("deadline" in set &&
139
+ set.deadline !== undefined &&
140
+ typeof set.deadline !== "string") {
141
+ return "deadline is not a string";
142
+ }
143
+ const clearableFields = new Set([
144
+ "description",
145
+ "state",
146
+ "tags",
147
+ ...(profile.temporalFields ? ["deadline"] : []),
148
+ ]);
103
149
  if (!Array.isArray(clear) || clear.some((name) => !clearableFields.has(name))) {
104
150
  return "clear contains unsupported fields";
105
151
  }
@@ -109,8 +155,12 @@ function setRequestError(mutation) {
109
155
  for (const [setName, clearName] of [
110
156
  ["description", "description"],
111
157
  ["state", "state"],
158
+ ...(profile.temporalFields
159
+ ? [["deadline", "deadline"]]
160
+ : []),
112
161
  ]) {
113
- if (set[setName] !== undefined && clearNames.has(clearName)) {
162
+ if (set[setName] !== undefined &&
163
+ clearNames.has(clearName)) {
114
164
  return `${clearName} cannot be specified in both set and clear`;
115
165
  }
116
166
  }
@@ -126,19 +176,23 @@ function setRequestError(mutation) {
126
176
  }
127
177
  return undefined;
128
178
  }
129
- function planSet(text, declaration, mutation) {
130
- const error = setRequestError(mutation);
179
+ function planSet(text, declaration, mutation, profile) {
180
+ const error = setRequestError(mutation, profile);
131
181
  if (error !== undefined) {
132
182
  return { edits: [], diagnostic: mutationDiagnostic("PTMUT-301", error, declaration) };
133
183
  }
134
- const editor = new EntityEditor(text, declaration, fieldOrder, mutation.clear ?? []);
184
+ const editor = new EntityEditor(text, declaration, profile.fieldOrder, mutation.clear ?? []);
135
185
  const set = mutation.set ?? {};
186
+ const targetSet = set;
136
187
  if (set.title !== undefined)
137
188
  editor.setScalar("title", JSON.stringify(set.title));
138
189
  if (set.description !== undefined)
139
190
  editor.setText("description", set.description);
140
191
  if (set.state !== undefined)
141
192
  editor.setScalar("state", set.state);
193
+ if (profile.temporalFields && targetSet.deadline !== undefined) {
194
+ editor.setScalar("deadline", targetSet.deadline);
195
+ }
142
196
  if (!(mutation.clear ?? []).includes("tags")) {
143
197
  const removed = new Set(mutation.removeTags ?? []);
144
198
  const tags = stringList(editor.fieldValue("tags")).filter((tag) => !removed.has(tag));
@@ -152,7 +206,7 @@ function planSet(text, declaration, mutation) {
152
206
  }
153
207
  return { edits: editor.finish() };
154
208
  }
155
- export function planMilestoneMutationEdits(text, document, mutation) {
209
+ export function planMilestoneMutationEdits(text, document, mutation, profile = ACTIVE_MILESTONE_MUTATION_PROFILE) {
156
210
  const requestError = requestShapeError(mutation);
157
211
  if (requestError !== undefined) {
158
212
  return { edits: [], diagnostic: mutationDiagnostic("PTMUT-301", requestError) };
@@ -165,13 +219,15 @@ export function planMilestoneMutationEdits(text, document, mutation) {
165
219
  diagnostic: mutationDiagnostic("PTMUT-304", `entity ID ${mutation.id} is already in use`, entity),
166
220
  };
167
221
  }
168
- const error = definitionError(mutation.milestone);
222
+ const error = definitionError(mutation.milestone, profile);
169
223
  if (error !== undefined) {
170
224
  return { edits: [], diagnostic: mutationDiagnostic("PTMUT-301", error) };
171
225
  }
172
226
  const lineEnding = majorLineEnding(text);
173
227
  return {
174
- edits: [appendDeclarationEdit(text, serializeMilestone(mutation, lineEnding), lineEnding)],
228
+ edits: [
229
+ appendDeclarationEdit(text, serializeMilestone(mutation, lineEnding, profile), lineEnding),
230
+ ],
175
231
  };
176
232
  }
177
233
  if (entity === undefined) {
@@ -189,6 +245,6 @@ export function planMilestoneMutationEdits(text, document, mutation) {
189
245
  if (mutation.kind === "milestone.remove") {
190
246
  return { edits: [deleteDeclarationEdit(entity, splitPhysicalLines(text))] };
191
247
  }
192
- return planSet(text, entity, mutation);
248
+ return planSet(text, entity, mutation, profile);
193
249
  }
194
250
  //# sourceMappingURL=milestone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone.js","sourceRoot":"","sources":["../../src/mutation/milestone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"milestone.js","sourceRoot":"","sources":["../../src/mutation/milestone.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
1
  import type { DocumentNode } from "../model/syntax.js";
2
2
  import { type MutationEditPlan } from "./diagnostics.js";
3
+ import type { TargetGovernanceSetProjectMutation } from "./target-types.js";
3
4
  import type { SetProjectMutation } from "./types.js";
4
- export declare function planProjectMutationEdits(text: string, document: DocumentNode, mutation: SetProjectMutation): MutationEditPlan;
5
+ export interface ProjectMutationProfile {
6
+ readonly exactDurations: boolean;
7
+ readonly governanceSource: boolean;
8
+ readonly fieldOrder: readonly string[];
9
+ }
10
+ export declare const ACTIVE_PROJECT_MUTATION_PROFILE: ProjectMutationProfile;
11
+ export declare const TARGET_GRAMMAR_2_PROJECT_MUTATION_PROFILE: ProjectMutationProfile;
12
+ export declare const TARGET_GRAMMAR_3_PROJECT_MUTATION_PROFILE: ProjectMutationProfile;
13
+ export declare const TARGET_GRAMMAR_4_PROJECT_MUTATION_PROFILE: ProjectMutationProfile;
14
+ export declare function planProjectMutationEdits(text: string, document: DocumentNode, mutation: SetProjectMutation | TargetGovernanceSetProjectMutation, profile?: ProjectMutationProfile): MutationEditPlan;
5
15
  //# sourceMappingURL=project.d.ts.map