perttool 0.5.5 → 0.7.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 (265) hide show
  1. package/CHANGELOG.md +71 -1
  2. package/README.md +128 -30
  3. package/dist/application/advance-history.d.ts +48 -0
  4. package/dist/application/advance-history.d.ts.map +1 -0
  5. package/dist/application/advance-history.js +263 -0
  6. package/dist/application/advance-history.js.map +1 -0
  7. package/dist/application/contract6-mutation.d.ts +3 -2
  8. package/dist/application/contract6-mutation.d.ts.map +1 -1
  9. package/dist/application/contract6-mutation.js +2 -1
  10. package/dist/application/contract6-mutation.js.map +1 -1
  11. package/dist/application/contract6-projection.d.ts +2 -1
  12. package/dist/application/contract6-projection.d.ts.map +1 -1
  13. package/dist/application/contract6-projection.js +31 -1
  14. package/dist/application/contract6-projection.js.map +1 -1
  15. package/dist/application/contract7-assurance.d.ts +57 -0
  16. package/dist/application/contract7-assurance.d.ts.map +1 -0
  17. package/dist/application/contract7-assurance.js +248 -0
  18. package/dist/application/contract7-assurance.js.map +1 -0
  19. package/dist/application/contract7-mermaid.d.ts +9 -0
  20. package/dist/application/contract7-mermaid.d.ts.map +1 -0
  21. package/dist/application/contract7-mermaid.js +73 -0
  22. package/dist/application/contract7-mermaid.js.map +1 -0
  23. package/dist/application/contract7-mutation.d.ts +21 -0
  24. package/dist/application/contract7-mutation.d.ts.map +1 -0
  25. package/dist/application/contract7-mutation.js +181 -0
  26. package/dist/application/contract7-mutation.js.map +1 -0
  27. package/dist/application/contract7-project.d.ts +10 -0
  28. package/dist/application/contract7-project.d.ts.map +1 -0
  29. package/dist/application/contract7-project.js +29 -0
  30. package/dist/application/contract7-project.js.map +1 -0
  31. package/dist/application/contract7-projection.d.ts +9 -0
  32. package/dist/application/contract7-projection.d.ts.map +1 -0
  33. package/dist/application/contract7-projection.js +100 -0
  34. package/dist/application/contract7-projection.js.map +1 -0
  35. package/dist/application/contract7-source.d.ts +24 -0
  36. package/dist/application/contract7-source.d.ts.map +1 -0
  37. package/dist/application/contract7-source.js +54 -0
  38. package/dist/application/contract7-source.js.map +1 -0
  39. package/dist/application/contract7-unit-migration.d.ts +13 -0
  40. package/dist/application/contract7-unit-migration.d.ts.map +1 -0
  41. package/dist/application/contract7-unit-migration.js +13 -0
  42. package/dist/application/contract7-unit-migration.js.map +1 -0
  43. package/dist/application/init.d.ts +1 -1
  44. package/dist/application/init.js +3 -3
  45. package/dist/application/mutate.d.ts +5 -1
  46. package/dist/application/mutate.d.ts.map +1 -1
  47. package/dist/application/mutate.js +2 -2
  48. package/dist/application/mutate.js.map +1 -1
  49. package/dist/application/target-actuals-analysis.d.ts +5 -4
  50. package/dist/application/target-actuals-analysis.d.ts.map +1 -1
  51. package/dist/application/target-actuals-analysis.js +18 -11
  52. package/dist/application/target-actuals-analysis.js.map +1 -1
  53. package/dist/application/target-actuals-mutation.d.ts +5 -3
  54. package/dist/application/target-actuals-mutation.d.ts.map +1 -1
  55. package/dist/application/target-actuals-mutation.js +16 -8
  56. package/dist/application/target-actuals-mutation.js.map +1 -1
  57. package/dist/application/target-actuals-write.d.ts +2 -1
  58. package/dist/application/target-actuals-write.d.ts.map +1 -1
  59. package/dist/application/target-actuals-write.js.map +1 -1
  60. package/dist/application/target-assurance-advance-history.d.ts +19 -0
  61. package/dist/application/target-assurance-advance-history.d.ts.map +1 -0
  62. package/dist/application/target-assurance-advance-history.js +61 -0
  63. package/dist/application/target-assurance-advance-history.js.map +1 -0
  64. package/dist/application/target-assurance-analysis.d.ts +34 -0
  65. package/dist/application/target-assurance-analysis.d.ts.map +1 -0
  66. package/dist/application/target-assurance-analysis.js +103 -0
  67. package/dist/application/target-assurance-analysis.js.map +1 -0
  68. package/dist/application/target-assurance-inspection.d.ts +38 -0
  69. package/dist/application/target-assurance-inspection.d.ts.map +1 -0
  70. package/dist/application/target-assurance-inspection.js +356 -0
  71. package/dist/application/target-assurance-inspection.js.map +1 -0
  72. package/dist/application/target-assurance-write.d.ts +22 -0
  73. package/dist/application/target-assurance-write.d.ts.map +1 -0
  74. package/dist/application/target-assurance-write.js +73 -0
  75. package/dist/application/target-assurance-write.js.map +1 -0
  76. package/dist/application/target-governance-init.d.ts +3 -3
  77. package/dist/application/target-governance-init.d.ts.map +1 -1
  78. package/dist/application/target-governance-init.js +14 -10
  79. package/dist/application/target-governance-init.js.map +1 -1
  80. package/dist/application/target-governance-project.d.ts +6 -4
  81. package/dist/application/target-governance-project.d.ts.map +1 -1
  82. package/dist/application/target-governance-project.js +18 -4
  83. package/dist/application/target-governance-project.js.map +1 -1
  84. package/dist/application/target-mutate.d.ts +7 -1
  85. package/dist/application/target-mutate.d.ts.map +1 -1
  86. package/dist/application/target-mutate.js +50 -3
  87. package/dist/application/target-mutate.js.map +1 -1
  88. package/dist/application/target-project-history.d.ts +4 -4
  89. package/dist/application/target-project-history.d.ts.map +1 -1
  90. package/dist/application/target-project-history.js +1 -1
  91. package/dist/application/target-project-history.js.map +1 -1
  92. package/dist/application/target-unit-migration-candidate.d.ts +29 -6
  93. package/dist/application/target-unit-migration-candidate.d.ts.map +1 -1
  94. package/dist/application/target-unit-migration-candidate.js +204 -3
  95. package/dist/application/target-unit-migration-candidate.js.map +1 -1
  96. package/dist/application/target-unit-migration-result.d.ts +2 -2
  97. package/dist/application/target-unit-migration-result.d.ts.map +1 -1
  98. package/dist/application/target-unit-migration-result.js +4 -2
  99. package/dist/application/target-unit-migration-result.js.map +1 -1
  100. package/dist/application/target-velocity-observation.d.ts +1 -1
  101. package/dist/application/target-velocity-observation.js +1 -1
  102. package/dist/assurance/advance.d.ts +45 -0
  103. package/dist/assurance/advance.d.ts.map +1 -0
  104. package/dist/assurance/advance.js +507 -0
  105. package/dist/assurance/advance.js.map +1 -0
  106. package/dist/assurance/authority.d.ts +86 -0
  107. package/dist/assurance/authority.d.ts.map +1 -0
  108. package/dist/assurance/authority.js +269 -0
  109. package/dist/assurance/authority.js.map +1 -0
  110. package/dist/assurance/canonical.d.ts +13 -0
  111. package/dist/assurance/canonical.d.ts.map +1 -0
  112. package/dist/assurance/canonical.js +320 -0
  113. package/dist/assurance/canonical.js.map +1 -0
  114. package/dist/assurance/compatibility.d.ts +62 -0
  115. package/dist/assurance/compatibility.d.ts.map +1 -0
  116. package/dist/assurance/compatibility.js +163 -0
  117. package/dist/assurance/compatibility.js.map +1 -0
  118. package/dist/assurance/evaluate.d.ts +4 -0
  119. package/dist/assurance/evaluate.d.ts.map +1 -0
  120. package/dist/assurance/evaluate.js +631 -0
  121. package/dist/assurance/evaluate.js.map +1 -0
  122. package/dist/assurance/governance.d.ts +42 -0
  123. package/dist/assurance/governance.d.ts.map +1 -0
  124. package/dist/assurance/governance.js +95 -0
  125. package/dist/assurance/governance.js.map +1 -0
  126. package/dist/assurance/mermaid.d.ts +40 -0
  127. package/dist/assurance/mermaid.d.ts.map +1 -0
  128. package/dist/assurance/mermaid.js +401 -0
  129. package/dist/assurance/mermaid.js.map +1 -0
  130. package/dist/assurance/mutation.d.ts +96 -0
  131. package/dist/assurance/mutation.d.ts.map +1 -0
  132. package/dist/assurance/mutation.js +757 -0
  133. package/dist/assurance/mutation.js.map +1 -0
  134. package/dist/assurance/source.d.ts +20 -0
  135. package/dist/assurance/source.d.ts.map +1 -0
  136. package/dist/assurance/source.js +313 -0
  137. package/dist/assurance/source.js.map +1 -0
  138. package/dist/assurance/types.d.ts +166 -0
  139. package/dist/assurance/types.d.ts.map +1 -0
  140. package/dist/assurance/types.js +3 -0
  141. package/dist/assurance/types.js.map +1 -0
  142. package/dist/cli.js +431 -72
  143. package/dist/cli.js.map +1 -1
  144. package/dist/command/actuals-discovery.d.ts.map +1 -1
  145. package/dist/command/actuals-discovery.js +50 -4
  146. package/dist/command/actuals-discovery.js.map +1 -1
  147. package/dist/command/assurance-discovery.d.ts +17 -0
  148. package/dist/command/assurance-discovery.d.ts.map +1 -0
  149. package/dist/command/assurance-discovery.js +287 -0
  150. package/dist/command/assurance-discovery.js.map +1 -0
  151. package/dist/command/assurance-usage.d.ts +20 -0
  152. package/dist/command/assurance-usage.d.ts.map +1 -0
  153. package/dist/command/assurance-usage.js +66 -0
  154. package/dist/command/assurance-usage.js.map +1 -0
  155. package/dist/conversion/mermaid.d.ts +2 -1
  156. package/dist/conversion/mermaid.d.ts.map +1 -1
  157. package/dist/conversion/mermaid.js +2 -2
  158. package/dist/conversion/mermaid.js.map +1 -1
  159. package/dist/formatter/source-formatter.d.ts +1 -1
  160. package/dist/formatter/source-formatter.d.ts.map +1 -1
  161. package/dist/formatter/source-formatter.js +56 -4
  162. package/dist/formatter/source-formatter.js.map +1 -1
  163. package/dist/formatter/target-source-formatter.d.ts +2 -1
  164. package/dist/formatter/target-source-formatter.d.ts.map +1 -1
  165. package/dist/formatter/target-source-formatter.js +18 -2
  166. package/dist/formatter/target-source-formatter.js.map +1 -1
  167. package/dist/help/assurance-guide.d.ts +10 -0
  168. package/dist/help/assurance-guide.d.ts.map +1 -0
  169. package/dist/help/assurance-guide.js +115 -0
  170. package/dist/help/assurance-guide.js.map +1 -0
  171. package/dist/help/guide.d.ts +1 -1
  172. package/dist/help/guide.d.ts.map +1 -1
  173. package/dist/help/registry.d.ts.map +1 -1
  174. package/dist/help/registry.js +11 -1
  175. package/dist/help/registry.js.map +1 -1
  176. package/dist/history/advance-history.d.ts +46 -0
  177. package/dist/history/advance-history.d.ts.map +1 -0
  178. package/dist/history/advance-history.js +425 -0
  179. package/dist/history/advance-history.js.map +1 -0
  180. package/dist/history/git-probe.d.ts +40 -0
  181. package/dist/history/git-probe.d.ts.map +1 -1
  182. package/dist/history/git-probe.js +330 -0
  183. package/dist/history/git-probe.js.map +1 -1
  184. package/dist/history/project-history.d.ts +14 -5
  185. package/dist/history/project-history.d.ts.map +1 -1
  186. package/dist/history/project-history.js +25 -18
  187. package/dist/history/project-history.js.map +1 -1
  188. package/dist/index.d.ts +31 -25
  189. package/dist/index.d.ts.map +1 -1
  190. package/dist/index.js +12 -14
  191. package/dist/index.js.map +1 -1
  192. package/dist/io/target-safe-write.d.ts +4 -1
  193. package/dist/io/target-safe-write.d.ts.map +1 -1
  194. package/dist/io/target-safe-write.js +19 -1
  195. package/dist/io/target-safe-write.js.map +1 -1
  196. package/dist/migration/grammar-boundary.d.ts +1 -1
  197. package/dist/migration/grammar-boundary.d.ts.map +1 -1
  198. package/dist/migration/grammar-boundary.js +7 -3
  199. package/dist/migration/grammar-boundary.js.map +1 -1
  200. package/dist/model/declaration-fields.d.ts +12 -0
  201. package/dist/model/declaration-fields.d.ts.map +1 -1
  202. package/dist/model/declaration-fields.js +45 -0
  203. package/dist/model/declaration-fields.js.map +1 -1
  204. package/dist/model/syntax.d.ts +17 -1
  205. package/dist/model/syntax.d.ts.map +1 -1
  206. package/dist/model/syntax.js.map +1 -1
  207. package/dist/mutation/actuals.js +1 -1
  208. package/dist/mutation/actuals.js.map +1 -1
  209. package/dist/mutation/advance-deletion.d.ts +14 -0
  210. package/dist/mutation/advance-deletion.d.ts.map +1 -0
  211. package/dist/mutation/advance-deletion.js +53 -0
  212. package/dist/mutation/advance-deletion.js.map +1 -0
  213. package/dist/mutation/advance.d.ts +18 -1
  214. package/dist/mutation/advance.d.ts.map +1 -1
  215. package/dist/mutation/advance.js +28 -25
  216. package/dist/mutation/advance.js.map +1 -1
  217. package/dist/mutation/project.d.ts +2 -1
  218. package/dist/mutation/project.d.ts.map +1 -1
  219. package/dist/mutation/project.js +21 -0
  220. package/dist/mutation/project.js.map +1 -1
  221. package/dist/parser/document-parser.d.ts +7 -0
  222. package/dist/parser/document-parser.d.ts.map +1 -1
  223. package/dist/parser/document-parser.js +227 -12
  224. package/dist/parser/document-parser.js.map +1 -1
  225. package/dist/recommendation/override-types.d.ts +2 -2
  226. package/dist/recommendation/override.d.ts +2 -2
  227. package/dist/recommendation/override.d.ts.map +1 -1
  228. package/dist/recommendation/override.js +13 -5
  229. package/dist/recommendation/override.js.map +1 -1
  230. package/dist/schema/registry.d.ts +1 -1
  231. package/dist/schema/registry.d.ts.map +1 -1
  232. package/dist/schema/registry.js +8 -6
  233. package/dist/schema/registry.js.map +1 -1
  234. package/dist/semantic/target-validator.d.ts +12 -1
  235. package/dist/semantic/target-validator.d.ts.map +1 -1
  236. package/dist/semantic/target-validator.js +47 -2
  237. package/dist/semantic/target-validator.js.map +1 -1
  238. package/dist/semantic/validator.d.ts +1 -0
  239. package/dist/semantic/validator.d.ts.map +1 -1
  240. package/dist/semantic/validator.js +304 -0
  241. package/dist/semantic/validator.js.map +1 -1
  242. package/dist/version.d.ts +1 -1
  243. package/dist/version.js +1 -1
  244. package/package.json +1 -1
  245. package/schemas/Perttool.AdvanceResult.v2.schema.json +334 -0
  246. package/schemas/Perttool.AgentGuidanceResult.v1.schema.json +1 -1
  247. package/schemas/{Perttool.AnalysisResult.v4.schema.json → Perttool.AnalysisResult.v5.schema.json} +10 -6
  248. package/schemas/{Perttool.CheckResult.v3.schema.json → Perttool.CheckResult.v4.schema.json} +14 -6
  249. package/schemas/Perttool.CliError.v1.schema.json +1 -1
  250. package/schemas/Perttool.CommandHelpResult.v1.schema.json +2 -2
  251. package/schemas/Perttool.Common.v1.schema.json +300 -4
  252. package/schemas/Perttool.ExportResult.v1.schema.json +1 -1
  253. package/schemas/Perttool.FormatResult.v1.schema.json +1 -1
  254. package/schemas/Perttool.GuideResult.v1.schema.json +1 -1
  255. package/schemas/Perttool.ImportResult.v1.schema.json +1 -1
  256. package/schemas/Perttool.InitResult.v1.schema.json +1 -1
  257. package/schemas/{Perttool.MutationResult.v3.schema.json → Perttool.MutationResult.v4.schema.json} +16 -5
  258. package/schemas/{Perttool.NextResult.v5.schema.json → Perttool.NextResult.v6.schema.json} +53 -8
  259. package/schemas/Perttool.OverrideDecision.v1.schema.json +1 -1
  260. package/schemas/Perttool.PlanAssuranceResult.v1.schema.json +77 -0
  261. package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +1 -1
  262. package/schemas/{Perttool.ProjectResult.v3.schema.json → Perttool.ProjectResult.v4.schema.json} +15 -7
  263. package/schemas/Perttool.SchemaResult.v1.schema.json +1 -1
  264. package/schemas/Perttool.UnitMigrationResult.v3.schema.json +5 -3
  265. package/schemas/Perttool.VelocityObservationResult.v1.schema.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { countDiagnostics, limitDiagnostics, normalizeMaxDiagnostics, sortDiagnostics, } from "../model/diagnostics.js";
2
2
  import { parseDeclaredCalendarValue, parseEventDateTimeValue, } from "../model/calendar.js";
3
- import { GRAMMAR_1_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_4_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_5_DECLARATION_FIELD_ORDER, } from "../model/declaration-fields.js";
3
+ import { GRAMMAR_1_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_4_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_5_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_6_DECLARATION_FIELD_ORDER, } from "../model/declaration-fields.js";
4
4
  export const TARGET_GRAMMAR_2_CAPABILITY = Object.freeze({
5
5
  id: "perttool.target-grammar-2-source",
6
6
  version: 1,
@@ -21,6 +21,11 @@ export const TARGET_GRAMMAR_5_CAPABILITY = Object.freeze({
21
21
  version: 1,
22
22
  grammarVersion: 5,
23
23
  });
24
+ export const TARGET_GRAMMAR_6_CAPABILITY = Object.freeze({
25
+ id: "perttool.target-grammar-6-assurance-source",
26
+ version: 1,
27
+ grammarVersion: 6,
28
+ });
24
29
  const identifierPattern = /^[A-Za-z][A-Za-z0-9_-]*$/;
25
30
  const declarationKinds = new Set([
26
31
  "project",
@@ -36,6 +41,10 @@ function allowedFieldsFromOrder(fieldOrder) {
36
41
  milestone: new Set(fieldOrder.milestone),
37
42
  task: new Set(fieldOrder.task),
38
43
  gate: new Set(fieldOrder.gate),
44
+ task_relation: new Set(fieldOrder.task_relation ?? []),
45
+ plan_seal: new Set(fieldOrder.plan_seal ?? []),
46
+ task_outcome: new Set(fieldOrder.task_outcome ?? []),
47
+ assurance_receipt: new Set(fieldOrder.assurance_receipt ?? []),
39
48
  work_event: new Set(fieldOrder.work_event ?? []),
40
49
  };
41
50
  }
@@ -43,6 +52,7 @@ const grammar1AllowedFields = allowedFieldsFromOrder(GRAMMAR_1_DECLARATION_FIELD
43
52
  const grammar2AllowedFields = allowedFieldsFromOrder(TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER);
44
53
  const grammar4AllowedFields = allowedFieldsFromOrder(TARGET_GRAMMAR_4_DECLARATION_FIELD_ORDER);
45
54
  const grammar5AllowedFields = allowedFieldsFromOrder(TARGET_GRAMMAR_5_DECLARATION_FIELD_ORDER);
55
+ const grammar6AllowedFields = allowedFieldsFromOrder(TARGET_GRAMMAR_6_DECLARATION_FIELD_ORDER);
46
56
  const grammar1Profile = {
47
57
  allowedFields: grammar1AllowedFields,
48
58
  typedCalendarValues: false,
@@ -50,6 +60,7 @@ const grammar1Profile = {
50
60
  governanceValues: false,
51
61
  workEvents: false,
52
62
  suspendedStatus: false,
63
+ assuranceRecords: false,
53
64
  };
54
65
  const grammar2Profile = {
55
66
  allowedFields: grammar2AllowedFields,
@@ -58,6 +69,7 @@ const grammar2Profile = {
58
69
  governanceValues: false,
59
70
  workEvents: false,
60
71
  suspendedStatus: false,
72
+ assuranceRecords: false,
61
73
  };
62
74
  const grammar3Profile = {
63
75
  allowedFields: grammar2AllowedFields,
@@ -66,6 +78,7 @@ const grammar3Profile = {
66
78
  governanceValues: false,
67
79
  workEvents: false,
68
80
  suspendedStatus: false,
81
+ assuranceRecords: false,
69
82
  };
70
83
  const grammar4Profile = {
71
84
  allowedFields: grammar4AllowedFields,
@@ -74,6 +87,7 @@ const grammar4Profile = {
74
87
  governanceValues: true,
75
88
  workEvents: false,
76
89
  suspendedStatus: false,
90
+ assuranceRecords: false,
77
91
  };
78
92
  const grammar5Profile = {
79
93
  allowedFields: grammar5AllowedFields,
@@ -82,6 +96,16 @@ const grammar5Profile = {
82
96
  governanceValues: true,
83
97
  workEvents: true,
84
98
  suspendedStatus: true,
99
+ assuranceRecords: false,
100
+ };
101
+ const grammar6Profile = {
102
+ allowedFields: grammar6AllowedFields,
103
+ typedCalendarValues: true,
104
+ exactFractionDurations: true,
105
+ governanceValues: true,
106
+ workEvents: true,
107
+ suspendedStatus: true,
108
+ assuranceRecords: true,
85
109
  };
86
110
  function splitLines(text) {
87
111
  if (text.length === 0)
@@ -364,20 +388,27 @@ function splitPrincipalItems(raw) {
364
388
  ? items
365
389
  : undefined;
366
390
  }
367
- function scalarFieldValue(name, rawValue, profile) {
391
+ function scalarFieldValue(declarationKind, name, rawValue, profile) {
368
392
  if (["title", "owner", "source"].includes(name)) {
369
393
  const value = parseString(rawValue);
370
394
  return value === undefined
371
395
  ? { value: rawValue, code: "PTDSL-006", topic: "syntax.string" }
372
396
  : { value };
373
397
  }
374
- if (["description", "blocked_reason", "reason"].includes(name)) {
398
+ if (["description", "blocked_reason", "reason", "summary"].includes(name)) {
375
399
  const value = parseString(rawValue);
376
400
  return value === undefined
377
401
  ? { value: rawValue, code: "PTDSL-006", topic: "syntax.text" }
378
402
  : { value };
379
403
  }
380
- if (["version", "capacity", "priority", "model"].includes(name)) {
404
+ if ([
405
+ "version",
406
+ "capacity",
407
+ "priority",
408
+ "model",
409
+ "plan_assurance_model",
410
+ "plan_assurance_hash_model",
411
+ ].includes(name)) {
381
412
  const value = parseInteger(rawValue);
382
413
  return value === undefined
383
414
  ? { value: rawValue, code: "PTDSL-012", topic: "syntax" }
@@ -422,7 +453,13 @@ function scalarFieldValue(name, rawValue, profile) {
422
453
  if (name === "task") {
423
454
  return identifierPattern.test(rawValue)
424
455
  ? { value: rawValue }
425
- : { value: rawValue, code: "PTDSL-004", topic: "syntax.work-event" };
456
+ : {
457
+ value: rawValue,
458
+ code: "PTDSL-004",
459
+ topic: declarationKind === "work_event"
460
+ ? "syntax.work-event"
461
+ : "syntax.plan-assurance",
462
+ };
426
463
  }
427
464
  if (name === "kind") {
428
465
  return ["start", "suspend", "resume", "finish"].includes(rawValue)
@@ -460,6 +497,15 @@ function scalarFieldValue(name, rawValue, profile) {
460
497
  ? { value: rawValue }
461
498
  : { value: rawValue, code: "PTDSL-012", topic: "syntax.milestone" };
462
499
  }
500
+ if (name === "status" && declarationKind === "task_outcome") {
501
+ return rawValue === "conformant" || rawValue === "changed"
502
+ ? { value: rawValue }
503
+ : {
504
+ value: rawValue,
505
+ code: "PTASSURE-101",
506
+ topic: "syntax.plan-assurance",
507
+ };
508
+ }
463
509
  if (name === "status") {
464
510
  const values = profile.suspendedStatus
465
511
  ? ["planned", "active", "blocked", "suspended", "done"]
@@ -468,6 +514,52 @@ function scalarFieldValue(name, rawValue, profile) {
468
514
  ? { value: rawValue }
469
515
  : { value: rawValue, code: "PTDSL-012", topic: "syntax.task" };
470
516
  }
517
+ if (name === "mode") {
518
+ return ["both", "execution_only", "planning_only"].includes(rawValue)
519
+ ? { value: rawValue }
520
+ : {
521
+ value: rawValue,
522
+ code: "PTASSURE-101",
523
+ topic: "syntax.plan-assurance",
524
+ };
525
+ }
526
+ if (name === "outcome") {
527
+ return rawValue === "conformant" || rawValue === "changed"
528
+ ? { value: rawValue }
529
+ : {
530
+ value: rawValue,
531
+ code: "PTASSURE-101",
532
+ topic: "syntax.plan-assurance",
533
+ };
534
+ }
535
+ if ([
536
+ "producer",
537
+ "source_milestone",
538
+ ].includes(name)) {
539
+ return identifierPattern.test(rawValue)
540
+ ? { value: rawValue }
541
+ : {
542
+ value: rawValue,
543
+ code: "PTDSL-004",
544
+ topic: "syntax.plan-assurance",
545
+ };
546
+ }
547
+ if ([
548
+ "accepted_contract",
549
+ "accepted_basis",
550
+ "against_basis",
551
+ "receipt_hash",
552
+ "producer_contract_hash",
553
+ "producer_assurance_hash",
554
+ ].includes(name)) {
555
+ return /^sha256:[0-9a-f]{64}$/.test(rawValue)
556
+ ? { value: rawValue }
557
+ : {
558
+ value: rawValue,
559
+ code: "PTASSURE-101",
560
+ topic: "syntax.plan-assurance",
561
+ };
562
+ }
471
563
  if (name === "tags") {
472
564
  const value = splitTagItems(rawValue);
473
565
  return value === undefined
@@ -614,6 +706,81 @@ function parseNestedRequirements(lines, startIndex, diagnostics, trivia) {
614
706
  }
615
707
  return { requirements, nextIndex: index, endSpan };
616
708
  }
709
+ function parseNestedAssuranceEntries(lines, startIndex, fieldName, diagnostics, trivia) {
710
+ const values = [];
711
+ let index = startIndex;
712
+ let endSpan = lineSpan(lines[startIndex - 1]);
713
+ while (index < lines.length) {
714
+ const line = lines[index];
715
+ const trimmed = line.text.trim();
716
+ if (trimmed === "" || trimmed.startsWith("#")) {
717
+ trivia.push({
718
+ kind: trimmed === "" ? "blank" : "comment",
719
+ text: line.text,
720
+ span: lineSpan(line),
721
+ });
722
+ endSpan = lineSpan(line);
723
+ index += 1;
724
+ continue;
725
+ }
726
+ const { indent, hasTab } = leadingIndent(line);
727
+ if (indent <= 2)
728
+ break;
729
+ if (hasTab || indent !== 4) {
730
+ diagnostics.push(diagnostic(hasTab ? "PTDSL-001" : "PTDSL-002", `The ${fieldName} block must be indented by 4 spaces`, span(line, 0, indent), "syntax.plan-assurance"));
731
+ index += 1;
732
+ if (indent > 4)
733
+ index = skipIndentedRegion(lines, index, 4);
734
+ continue;
735
+ }
736
+ const content = line.text.slice(4).trimEnd();
737
+ const inlineCommentStart = findInlineCommentStart(content);
738
+ if (inlineCommentStart !== undefined) {
739
+ diagnostics.push(inlineCommentDiagnostic(line, 4 + inlineCommentStart));
740
+ index += 1;
741
+ continue;
742
+ }
743
+ const match = fieldName === "accepted_inputs"
744
+ ? /^([A-Za-z][A-Za-z0-9_-]*) +(both|planning_only) +(sha256:[0-9a-f]{64})$/.exec(content)
745
+ : /^([A-Za-z][A-Za-z0-9_-]*) +(both|planning_only)$/.exec(content);
746
+ if (match === null) {
747
+ diagnostics.push(diagnostic("PTASSURE-101", fieldName === "accepted_inputs"
748
+ ? "An accepted input must use `TASK_ID both|planning_only sha256:<lower-hex-64>`"
749
+ : "An assurance consumer must use `TASK_ID both|planning_only`", lineSpan(line), "syntax.plan-assurance"));
750
+ index += 1;
751
+ continue;
752
+ }
753
+ const id = match[1];
754
+ const mode = match[2];
755
+ const idOffset = line.text.indexOf(id, 4);
756
+ const modeOffset = line.text.indexOf(mode, idOffset + id.length);
757
+ if (fieldName === "accepted_inputs") {
758
+ const assuranceHash = match[3];
759
+ const hashOffset = line.text.indexOf(assuranceHash, modeOffset + mode.length);
760
+ values.push({
761
+ predecessorTaskId: id,
762
+ relationMode: mode,
763
+ assuranceHash,
764
+ span: lineSpan(line),
765
+ predecessorSpan: span(line, idOffset, idOffset + id.length),
766
+ modeSpan: span(line, modeOffset, modeOffset + mode.length),
767
+ hashSpan: span(line, hashOffset, hashOffset + assuranceHash.length),
768
+ });
769
+ }
770
+ else {
771
+ values.push({
772
+ consumerTaskId: id,
773
+ relationMode: mode,
774
+ span: lineSpan(line),
775
+ consumerSpan: span(line, idOffset, idOffset + id.length),
776
+ modeSpan: span(line, modeOffset, modeOffset + mode.length),
777
+ });
778
+ }
779
+ endSpan = lineSpan(line);
780
+ index += 1;
781
+ }
782
+ return { value: values, nextIndex: index, endSpan };
783
+ }
617
784
  function parseBlockText(lines, startIndex, diagnostics) {
618
785
  const markerSpan = lineSpan(lines[startIndex - 1]);
619
786
  const blockLines = [];
@@ -695,6 +862,10 @@ function isKnownDeclarationHeader(text, profile) {
695
862
  const normalized = text.trimEnd();
696
863
  return (/^(?:project|resource|milestone) +[A-Za-z][A-Za-z0-9_-]*:$/.test(normalized) ||
697
864
  /^(?:task|gate) +[A-Za-z][A-Za-z0-9_-]* +[A-Za-z][A-Za-z0-9_-]* +-> +[A-Za-z][A-Za-z0-9_-]*:$/.test(normalized) ||
865
+ (profile.assuranceRecords &&
866
+ /^task_relation +[A-Za-z][A-Za-z0-9_-]* +[A-Za-z][A-Za-z0-9_-]* +-> +[A-Za-z][A-Za-z0-9_-]*:$/.test(normalized)) ||
867
+ (profile.assuranceRecords &&
868
+ /^(?:plan_seal|task_outcome|assurance_receipt) +[A-Za-z][A-Za-z0-9_-]*:$/.test(normalized)) ||
698
869
  (profile.workEvents &&
699
870
  /^work_event +[A-Za-z][A-Za-z0-9_-]*:$/.test(normalized)));
700
871
  }
@@ -723,7 +894,10 @@ function skipInvalidTopLevelRegion(lines, startIndex, trivia, profile) {
723
894
  }
724
895
  function parseDeclarationHeader(line, diagnostics, profile) {
725
896
  const normalized = line.text.trimEnd();
726
- const edge = /^(task|gate) +([A-Za-z][A-Za-z0-9_-]*) +([A-Za-z][A-Za-z0-9_-]*) +-> +([A-Za-z][A-Za-z0-9_-]*):$/.exec(normalized);
897
+ const edgePattern = profile.assuranceRecords
898
+ ? /^(task|gate|task_relation) +([A-Za-z][A-Za-z0-9_-]*) +([A-Za-z][A-Za-z0-9_-]*) +-> +([A-Za-z][A-Za-z0-9_-]*):$/
899
+ : /^(task|gate) +([A-Za-z][A-Za-z0-9_-]*) +([A-Za-z][A-Za-z0-9_-]*) +-> +([A-Za-z][A-Za-z0-9_-]*):$/;
900
+ const edge = edgePattern.exec(normalized);
727
901
  if (edge !== null) {
728
902
  const kind = edge[1];
729
903
  const id = edge[2];
@@ -745,9 +919,11 @@ function parseDeclarationHeader(line, diagnostics, profile) {
745
919
  arrowSpan: span(line, arrowStart, arrowStart + 2),
746
920
  };
747
921
  }
748
- const simplePattern = profile.workEvents
749
- ? /^(project|resource|milestone|work_event) +([A-Za-z][A-Za-z0-9_-]*):$/
750
- : /^(project|resource|milestone) +([A-Za-z][A-Za-z0-9_-]*):$/;
922
+ const simplePattern = profile.assuranceRecords
923
+ ? /^(project|resource|milestone|plan_seal|task_outcome|assurance_receipt|work_event) +([A-Za-z][A-Za-z0-9_-]*):$/
924
+ : profile.workEvents
925
+ ? /^(project|resource|milestone|work_event) +([A-Za-z][A-Za-z0-9_-]*):$/
926
+ : /^(project|resource|milestone) +([A-Za-z][A-Za-z0-9_-]*):$/;
751
927
  const simple = simplePattern.exec(normalized);
752
928
  if (simple !== null) {
753
929
  const kind = simple[1];
@@ -762,7 +938,14 @@ function parseDeclarationHeader(line, diagnostics, profile) {
762
938
  }
763
939
  const firstWord = line.text.trim().split(/\s+/, 1)[0] ?? "";
764
940
  const knownDeclarationKind = declarationKinds.has(firstWord) ||
765
- (profile.workEvents && firstWord === "work_event");
941
+ (profile.workEvents && firstWord === "work_event") ||
942
+ (profile.assuranceRecords &&
943
+ [
944
+ "task_relation",
945
+ "plan_seal",
946
+ "task_outcome",
947
+ "assurance_receipt",
948
+ ].includes(firstWord));
766
949
  diagnostics.push(diagnostic(knownDeclarationKind ? "PTDSL-004" : "PTDSL-003", "Invalid top-level declaration header", lineSpan(line), "syntax.top-level"));
767
950
  return undefined;
768
951
  }
@@ -840,7 +1023,10 @@ function parseDocumentWithProfile(text, options, profile) {
840
1023
  const blockMatch = /^([a-z_]+):$/.exec(content);
841
1024
  if (blockMatch !== null) {
842
1025
  const name = blockMatch[1];
843
- const isKnownBlock = name === "estimate" || name === "requires";
1026
+ const isKnownBlock = name === "estimate" ||
1027
+ name === "requires" ||
1028
+ (profile.assuranceRecords &&
1029
+ (name === "accepted_inputs" || name === "consumers"));
844
1030
  if (!isKnownBlock || !profile.allowedFields[header.kind].has(name)) {
845
1031
  diagnostics.push(diagnostic("PTDSL-005", `Unknown block field ${name} in ${header.kind}`, span(line, 2, 2 + name.length), `syntax.${header.kind}`, header.id));
846
1032
  index += 1;
@@ -862,6 +1048,19 @@ function parseDocumentWithProfile(text, options, profile) {
862
1048
  index = parsed.nextIndex;
863
1049
  continue;
864
1050
  }
1051
+ if (name === "accepted_inputs" || name === "consumers") {
1052
+ const parsed = parseNestedAssuranceEntries(lines, index + 1, name, diagnostics, trivia);
1053
+ fields.push({
1054
+ name,
1055
+ rawValue: "",
1056
+ value: parsed.value,
1057
+ span: joinSpan(lineSpan(line), parsed.endSpan),
1058
+ valueSpan: span(line, keywordStart, keywordStart + name.length),
1059
+ });
1060
+ declarationEnd = parsed.endSpan;
1061
+ index = parsed.nextIndex;
1062
+ continue;
1063
+ }
865
1064
  const parsed = parseNestedRequirements(lines, index + 1, diagnostics, trivia);
866
1065
  fields.push({
867
1066
  name,
@@ -915,7 +1114,7 @@ function parseDocumentWithProfile(text, options, profile) {
915
1114
  index = skipIndentedRegion(lines, index, 2);
916
1115
  continue;
917
1116
  }
918
- const parsed = scalarFieldValue(name, rawValue, profile);
1117
+ const parsed = scalarFieldValue(header.kind, name, rawValue, profile);
919
1118
  if (parsed.code !== undefined) {
920
1119
  diagnostics.push(diagnostic(parsed.code, `Invalid value for ${name}`, valueSpan, parsed.topic ?? "syntax", header.id));
921
1120
  }
@@ -988,6 +1187,16 @@ function parseGrammar5CapableDocument(text, options) {
988
1187
  ? parseDocumentWithProfile(text, options, grammar5Profile)
989
1188
  : grammar4;
990
1189
  }
1190
+ function parseGrammar6CapableDocument(text, options) {
1191
+ const grammar5 = parseGrammar5CapableDocument(text, options);
1192
+ const first = grammar5.document.declarations[0];
1193
+ const version = first?.kind === "project"
1194
+ ? first.fields.find((field) => field.name === "version")?.value
1195
+ : undefined;
1196
+ return version === 6
1197
+ ? parseDocumentWithProfile(text, options, grammar6Profile)
1198
+ : grammar5;
1199
+ }
991
1200
  export function parseTargetDocument(text, capability, options = {}) {
992
1201
  if (capability !== TARGET_GRAMMAR_2_CAPABILITY) {
993
1202
  throw new TypeError("The target Grammar 2 source capability is required");
@@ -1019,4 +1228,10 @@ export function parseTargetGrammar5Document(text, capability, options = {}) {
1019
1228
  }
1020
1229
  return parseGrammar5CapableDocument(text, options);
1021
1230
  }
1231
+ export function parseTargetGrammar6Document(text, capability, options = {}) {
1232
+ if (capability !== TARGET_GRAMMAR_6_CAPABILITY) {
1233
+ throw new TypeError("The target Grammar 6 assurance source capability is required");
1234
+ }
1235
+ return parseGrammar6CapableDocument(text, options);
1236
+ }
1022
1237
  //# sourceMappingURL=document-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-parser.js","sourceRoot":"","sources":["../../src/parser/document-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-parser.js","sourceRoot":"","sources":["../../src/parser/document-parser.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export interface OverrideActor {
14
14
  readonly authentication: "caller_asserted";
15
15
  }
16
16
  export interface OverrideRequest {
17
- readonly sourceSchemaVersion: "Perttool.NextResult.v5";
17
+ readonly sourceSchemaVersion: "Perttool.NextResult.v6";
18
18
  readonly sourceDigest: string;
19
19
  readonly sourceResultDecisionId: string;
20
20
  readonly selectedTaskIds: readonly string[];
@@ -26,7 +26,7 @@ export interface OverrideRequest {
26
26
  readonly acknowledgedNegativeFactReasonIds: readonly string[];
27
27
  }
28
28
  export interface OverrideDecisionSource {
29
- readonly schemaVersion: "Perttool.NextResult.v5";
29
+ readonly schemaVersion: "Perttool.NextResult.v6";
30
30
  readonly toolVersion: string;
31
31
  readonly sourceDigest: string;
32
32
  readonly recommendationInterfaceVersion: 1;
@@ -1,6 +1,6 @@
1
- import type { NextResultV5 } from "../application/contract6-actuals.js";
1
+ import type { Contract7NextResultV6 } from "../application/contract7-assurance.js";
2
2
  import type { HumanOverrideDecision, OverrideRequest, OverrideValidationResult } from "./override-types.js";
3
- export declare function validateOverride(source: NextResultV5, request: OverrideRequest): OverrideValidationResult;
3
+ export declare function validateOverride(source: Contract7NextResultV6, request: OverrideRequest): OverrideValidationResult;
4
4
  export declare function humanOverrideDecisionToJson(decision: HumanOverrideDecision): Readonly<Record<string, unknown>>;
5
5
  export declare function overrideValidationResultToJson(result: OverrideValidationResult): Readonly<Record<string, unknown>>;
6
6
  export declare function canonicalOverrideArtifact(result: OverrideValidationResult): string;
@@ -1 +1 @@
1
- {"version":3,"file":"override.d.ts","sourceRoot":"","sources":["../../src/recommendation/override.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAcxE,OAAO,KAAK,EACV,qBAAqB,EAKrB,eAAe,EAIf,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AA4gB7B,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,eAAe,GACvB,wBAAwB,CA+M1B;AAgOD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,qBAAqB,GAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAanC;AAuCD,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,wBAAwB,GAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAanC;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,wBAAwB,GAC/B,MAAM,CAER"}
1
+ {"version":3,"file":"override.d.ts","sourceRoot":"","sources":["../../src/recommendation/override.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,uCAAuC,CAAC;AAc/C,OAAO,KAAK,EACV,qBAAqB,EAKrB,eAAe,EAIf,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AA+hB7B,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,eAAe,GACvB,wBAAwB,CAmN1B;AAgOD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,qBAAqB,GAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAanC;AAuCD,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,wBAAwB,GAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAanC;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,wBAAwB,GAC/B,MAAM,CAER"}