perttool 0.10.5 → 0.11.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 (241) hide show
  1. package/CHANGELOG.md +52 -1
  2. package/README.md +274 -606
  3. package/dist/application/cli-facade.d.ts +4 -10
  4. package/dist/application/cli-facade.d.ts.map +1 -1
  5. package/dist/application/cli-facade.js +1 -1
  6. package/dist/application/cli-facade.js.map +1 -1
  7. package/dist/application/contract10-candidate.d.ts +33 -0
  8. package/dist/application/contract10-candidate.d.ts.map +1 -0
  9. package/dist/application/contract10-candidate.js +38 -0
  10. package/dist/application/contract10-candidate.js.map +1 -0
  11. package/dist/application/contract10-planning-history.d.ts +4 -0
  12. package/dist/application/contract10-planning-history.d.ts.map +1 -0
  13. package/dist/application/contract10-planning-history.js +28 -0
  14. package/dist/application/contract10-planning-history.js.map +1 -0
  15. package/dist/application/contract10-planning.d.ts +61 -0
  16. package/dist/application/contract10-planning.d.ts.map +1 -0
  17. package/dist/application/contract10-planning.js +165 -0
  18. package/dist/application/contract10-planning.js.map +1 -0
  19. package/dist/application/contract10-runtime.d.ts +185 -0
  20. package/dist/application/contract10-runtime.d.ts.map +1 -0
  21. package/dist/application/contract10-runtime.js +236 -0
  22. package/dist/application/contract10-runtime.js.map +1 -0
  23. package/dist/application/contract8-milestone-acceptance.d.ts +6 -22
  24. package/dist/application/contract8-milestone-acceptance.d.ts.map +1 -1
  25. package/dist/application/contract8-milestone-acceptance.js +21 -99
  26. package/dist/application/contract8-milestone-acceptance.js.map +1 -1
  27. package/dist/application/contract8-milestone-read.d.ts +25 -0
  28. package/dist/application/contract8-milestone-read.d.ts.map +1 -0
  29. package/dist/application/contract8-milestone-read.js +111 -0
  30. package/dist/application/contract8-milestone-read.js.map +1 -0
  31. package/dist/application/contract9-assurance-evaluate.d.ts +3 -0
  32. package/dist/application/contract9-assurance-evaluate.d.ts.map +1 -0
  33. package/dist/application/contract9-assurance-evaluate.js +75 -0
  34. package/dist/application/contract9-assurance-evaluate.js.map +1 -0
  35. package/dist/application/contract9-assurance.d.ts +1 -2
  36. package/dist/application/contract9-assurance.d.ts.map +1 -1
  37. package/dist/application/contract9-assurance.js +2 -56
  38. package/dist/application/contract9-assurance.js.map +1 -1
  39. package/dist/application/contract9-candidate.d.ts +8 -0
  40. package/dist/application/contract9-candidate.d.ts.map +1 -1
  41. package/dist/application/contract9-candidate.js +36 -11
  42. package/dist/application/contract9-candidate.js.map +1 -1
  43. package/dist/application/contract9-mixed-mutation.d.ts +3 -0
  44. package/dist/application/contract9-mixed-mutation.d.ts.map +1 -1
  45. package/dist/application/contract9-mixed-mutation.js +5 -4
  46. package/dist/application/contract9-mixed-mutation.js.map +1 -1
  47. package/dist/application/contract9-temporal.js +1 -1
  48. package/dist/application/contract9-temporal.js.map +1 -1
  49. package/dist/application/target-actuals-analysis.d.ts.map +1 -1
  50. package/dist/application/target-actuals-analysis.js +10 -6
  51. package/dist/application/target-actuals-analysis.js.map +1 -1
  52. package/dist/application/target-temporal-analysis.d.ts +1 -0
  53. package/dist/application/target-temporal-analysis.d.ts.map +1 -1
  54. package/dist/application/target-temporal-analysis.js +5 -1
  55. package/dist/application/target-temporal-analysis.js.map +1 -1
  56. package/dist/cli.js +761 -87
  57. package/dist/cli.js.map +1 -1
  58. package/dist/command/contract10-discovery.d.ts +17 -0
  59. package/dist/command/contract10-discovery.d.ts.map +1 -0
  60. package/dist/command/contract10-discovery.js +304 -0
  61. package/dist/command/contract10-discovery.js.map +1 -0
  62. package/dist/command/contract10-usage.d.ts +24 -0
  63. package/dist/command/contract10-usage.d.ts.map +1 -0
  64. package/dist/command/contract10-usage.js +49 -0
  65. package/dist/command/contract10-usage.js.map +1 -0
  66. package/dist/core/index.d.ts +11 -2
  67. package/dist/core/index.d.ts.map +1 -1
  68. package/dist/core/index.js +3 -1
  69. package/dist/core/index.js.map +1 -1
  70. package/dist/help/assurance-guide.js +1 -1
  71. package/dist/help/assurance-guide.js.map +1 -1
  72. package/dist/help/contract10-guide.d.ts +10 -0
  73. package/dist/help/contract10-guide.d.ts.map +1 -0
  74. package/dist/help/contract10-guide.js +244 -0
  75. package/dist/help/contract10-guide.js.map +1 -0
  76. package/dist/index.d.ts +18 -8
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +8 -5
  79. package/dist/index.js.map +1 -1
  80. package/dist/milestone-acceptance/advance.d.ts +9 -0
  81. package/dist/milestone-acceptance/advance.d.ts.map +1 -1
  82. package/dist/milestone-acceptance/advance.js +29 -2
  83. package/dist/milestone-acceptance/advance.js.map +1 -1
  84. package/dist/milestone-acceptance/mutation.d.ts +2 -0
  85. package/dist/milestone-acceptance/mutation.d.ts.map +1 -1
  86. package/dist/milestone-acceptance/mutation.js +60 -20
  87. package/dist/milestone-acceptance/mutation.js.map +1 -1
  88. package/dist/model/source-result.d.ts +12 -0
  89. package/dist/model/source-result.d.ts.map +1 -0
  90. package/dist/model/source-result.js +16 -0
  91. package/dist/model/source-result.js.map +1 -0
  92. package/dist/mutation/advance-deletion.d.ts +1 -0
  93. package/dist/mutation/advance-deletion.d.ts.map +1 -1
  94. package/dist/mutation/advance-deletion.js +4 -1
  95. package/dist/mutation/advance-deletion.js.map +1 -1
  96. package/dist/mutation/validated-source.d.ts +30 -0
  97. package/dist/mutation/validated-source.d.ts.map +1 -0
  98. package/dist/mutation/validated-source.js +58 -0
  99. package/dist/mutation/validated-source.js.map +1 -0
  100. package/dist/node/planning-token-store.d.ts +3 -0
  101. package/dist/node/planning-token-store.d.ts.map +1 -0
  102. package/dist/node/planning-token-store.js +90 -0
  103. package/dist/node/planning-token-store.js.map +1 -0
  104. package/dist/parser/document-parser.d.ts +1 -0
  105. package/dist/parser/document-parser.d.ts.map +1 -1
  106. package/dist/parser/document-parser.js +1 -1
  107. package/dist/parser/document-parser.js.map +1 -1
  108. package/dist/perttool-vscode-private-0.0.0-d1578b9.vsix +0 -0
  109. package/dist/planning-pool/advance.d.ts +10 -0
  110. package/dist/planning-pool/advance.d.ts.map +1 -0
  111. package/dist/planning-pool/advance.js +158 -0
  112. package/dist/planning-pool/advance.js.map +1 -0
  113. package/dist/planning-pool/format.d.ts +12 -0
  114. package/dist/planning-pool/format.d.ts.map +1 -0
  115. package/dist/planning-pool/format.js +199 -0
  116. package/dist/planning-pool/format.js.map +1 -0
  117. package/dist/planning-pool/history-guard.d.ts +19 -0
  118. package/dist/planning-pool/history-guard.d.ts.map +1 -0
  119. package/dist/planning-pool/history-guard.js +123 -0
  120. package/dist/planning-pool/history-guard.js.map +1 -0
  121. package/dist/planning-pool/history-types.d.ts +174 -0
  122. package/dist/planning-pool/history-types.d.ts.map +1 -0
  123. package/dist/planning-pool/history-types.js +2 -0
  124. package/dist/planning-pool/history-types.js.map +1 -0
  125. package/dist/planning-pool/history.d.ts +11 -0
  126. package/dist/planning-pool/history.d.ts.map +1 -0
  127. package/dist/planning-pool/history.js +977 -0
  128. package/dist/planning-pool/history.js.map +1 -0
  129. package/dist/planning-pool/human.d.ts +9 -0
  130. package/dist/planning-pool/human.d.ts.map +1 -0
  131. package/dist/planning-pool/human.js +305 -0
  132. package/dist/planning-pool/human.js.map +1 -0
  133. package/dist/planning-pool/intent-types.d.ts +76 -0
  134. package/dist/planning-pool/intent-types.d.ts.map +1 -0
  135. package/dist/planning-pool/intent-types.js +2 -0
  136. package/dist/planning-pool/intent-types.js.map +1 -0
  137. package/dist/planning-pool/intent.d.ts +7 -0
  138. package/dist/planning-pool/intent.d.ts.map +1 -0
  139. package/dist/planning-pool/intent.js +590 -0
  140. package/dist/planning-pool/intent.js.map +1 -0
  141. package/dist/planning-pool/observation-types.d.ts +143 -0
  142. package/dist/planning-pool/observation-types.d.ts.map +1 -0
  143. package/dist/planning-pool/observation-types.js +2 -0
  144. package/dist/planning-pool/observation-types.js.map +1 -0
  145. package/dist/planning-pool/observation.d.ts +8 -0
  146. package/dist/planning-pool/observation.d.ts.map +1 -0
  147. package/dist/planning-pool/observation.js +582 -0
  148. package/dist/planning-pool/observation.js.map +1 -0
  149. package/dist/planning-pool/projection.d.ts +28 -0
  150. package/dist/planning-pool/projection.d.ts.map +1 -0
  151. package/dist/planning-pool/projection.js +148 -0
  152. package/dist/planning-pool/projection.js.map +1 -0
  153. package/dist/planning-pool/public-core.d.ts +32 -0
  154. package/dist/planning-pool/public-core.d.ts.map +1 -0
  155. package/dist/planning-pool/public-core.js +122 -0
  156. package/dist/planning-pool/public-core.js.map +1 -0
  157. package/dist/planning-pool/reshape-normalize.d.ts +15 -0
  158. package/dist/planning-pool/reshape-normalize.d.ts.map +1 -0
  159. package/dist/planning-pool/reshape-normalize.js +688 -0
  160. package/dist/planning-pool/reshape-normalize.js.map +1 -0
  161. package/dist/planning-pool/reshape-token.d.ts +20 -0
  162. package/dist/planning-pool/reshape-token.d.ts.map +1 -0
  163. package/dist/planning-pool/reshape-token.js +193 -0
  164. package/dist/planning-pool/reshape-token.js.map +1 -0
  165. package/dist/planning-pool/reshape-types.d.ts +183 -0
  166. package/dist/planning-pool/reshape-types.d.ts.map +1 -0
  167. package/dist/planning-pool/reshape-types.js +2 -0
  168. package/dist/planning-pool/reshape-types.js.map +1 -0
  169. package/dist/planning-pool/reshape.d.ts +13 -0
  170. package/dist/planning-pool/reshape.d.ts.map +1 -0
  171. package/dist/planning-pool/reshape.js +1434 -0
  172. package/dist/planning-pool/reshape.js.map +1 -0
  173. package/dist/planning-pool/source-lexical.d.ts +30 -0
  174. package/dist/planning-pool/source-lexical.d.ts.map +1 -0
  175. package/dist/planning-pool/source-lexical.js +158 -0
  176. package/dist/planning-pool/source-lexical.js.map +1 -0
  177. package/dist/planning-pool/source-types.d.ts +169 -0
  178. package/dist/planning-pool/source-types.d.ts.map +1 -0
  179. package/dist/planning-pool/source-types.js +2 -0
  180. package/dist/planning-pool/source-types.js.map +1 -0
  181. package/dist/planning-pool/source-values.d.ts +16 -0
  182. package/dist/planning-pool/source-values.d.ts.map +1 -0
  183. package/dist/planning-pool/source-values.js +120 -0
  184. package/dist/planning-pool/source-values.js.map +1 -0
  185. package/dist/planning-pool/source.d.ts +18 -0
  186. package/dist/planning-pool/source.d.ts.map +1 -0
  187. package/dist/planning-pool/source.js +811 -0
  188. package/dist/planning-pool/source.js.map +1 -0
  189. package/dist/planning-pool/window-types.d.ts +133 -0
  190. package/dist/planning-pool/window-types.d.ts.map +1 -0
  191. package/dist/planning-pool/window-types.js +2 -0
  192. package/dist/planning-pool/window-types.js.map +1 -0
  193. package/dist/planning-pool/window.d.ts +6 -0
  194. package/dist/planning-pool/window.d.ts.map +1 -0
  195. package/dist/planning-pool/window.js +625 -0
  196. package/dist/planning-pool/window.js.map +1 -0
  197. package/dist/schema/registry.d.ts +1 -1
  198. package/dist/schema/registry.d.ts.map +1 -1
  199. package/dist/schema/registry.js +17 -3
  200. package/dist/schema/registry.js.map +1 -1
  201. package/dist/temporal-schedule/format.d.ts.map +1 -1
  202. package/dist/temporal-schedule/format.js +4 -54
  203. package/dist/temporal-schedule/format.js.map +1 -1
  204. package/dist/temporal-schedule/source-lexical.d.ts +9 -0
  205. package/dist/temporal-schedule/source-lexical.d.ts.map +1 -1
  206. package/dist/temporal-schedule/source-lexical.js +21 -10
  207. package/dist/temporal-schedule/source-lexical.js.map +1 -1
  208. package/dist/temporal-schedule/source.d.ts.map +1 -1
  209. package/dist/temporal-schedule/source.js +3 -13
  210. package/dist/temporal-schedule/source.js.map +1 -1
  211. package/dist/version.d.ts +1 -1
  212. package/dist/version.js +1 -1
  213. package/package.json +1 -1
  214. package/schemas/{Perttool.AdvanceResult.v3.schema.json → Perttool.AdvanceResult.v4.schema.json} +42 -4
  215. package/schemas/Perttool.AgentGuidanceResult.v1.schema.json +1 -1
  216. package/schemas/Perttool.AnalysisResult.v7.schema.json +1 -1
  217. package/schemas/Perttool.CheckResult.v6.schema.json +1 -1
  218. package/schemas/Perttool.CliError.v1.schema.json +1 -1
  219. package/schemas/Perttool.CommandHelpResult.v1.schema.json +2 -2
  220. package/schemas/Perttool.ExportResult.v1.schema.json +1 -1
  221. package/schemas/Perttool.FormatResult.v1.schema.json +1 -1
  222. package/schemas/Perttool.GuideResult.v1.schema.json +1 -1
  223. package/schemas/Perttool.HistoricalGraphResult.v1.schema.json +1 -1
  224. package/schemas/Perttool.ImportResult.v1.schema.json +1 -1
  225. package/schemas/Perttool.InitResult.v1.schema.json +1 -1
  226. package/schemas/Perttool.MilestoneAcceptanceMigrationResult.v1.schema.json +1 -1
  227. package/schemas/Perttool.MilestoneAcceptanceResult.v1.schema.json +1 -1
  228. package/schemas/Perttool.MutationResult.v6.schema.json +1 -1
  229. package/schemas/Perttool.NextResult.v8.schema.json +7 -4
  230. package/schemas/Perttool.PlanAssuranceResult.v2.schema.json +1 -1
  231. package/schemas/Perttool.PlanningMutationResult.v1.schema.json +567 -0
  232. package/schemas/Perttool.PlanningObservationRequest.v1.schema.json +6 -0
  233. package/schemas/Perttool.PlanningPoolResult.v1.schema.json +469 -0
  234. package/schemas/Perttool.PlanningReshapePreflightResult.v1.schema.json +906 -0
  235. package/schemas/Perttool.PlanningReshapeRequest.v1.schema.json +19 -0
  236. package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +1 -1
  237. package/schemas/Perttool.ProjectResult.v5.schema.json +1 -1
  238. package/schemas/Perttool.SchemaResult.v1.schema.json +1 -1
  239. package/schemas/{Perttool.UnitMigrationResult.v4.schema.json → Perttool.UnitMigrationResult.v5.schema.json} +42 -17
  240. package/schemas/Perttool.VelocityObservationResult.v1.schema.json +1 -1
  241. package/schemas/Perttool.WindowMutationRequest.v1.schema.json +6 -0
@@ -1,44 +1,69 @@
1
1
  import { evaluateGovernanceAuthority, governanceDecisionDiagnostics, normalizeGovernanceRequest } from "../governance/authority.js";
2
+ import { governanceMetadataFromDocument } from "../governance/source.js";
2
3
  import { sha256DigestUtf8 } from "../model/sha256.js";
4
+ import { TARGET_GRAMMAR_6_CAPABILITY } from "../parser/document-parser.js";
5
+ import { validateTargetGrammar6Document } from "../semantic/target-validator.js";
3
6
  import { replaceValidatedDocumentFile } from "../io/safe-write.js";
7
+ import { applyTextEdits, normalizeTextEdits, } from "../mutation/text-edits.js";
4
8
  import { evaluateMilestoneAcceptance } from "./evaluate.js";
5
- import { MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY, milestoneCriterionSetCommitment, normalizeCallerAssertedUtcZ, parseMilestoneAcceptanceSource, } from "./source.js";
9
+ import { MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY, milestoneAcceptanceBaseText, milestoneCriterionSetCommitment, normalizeCallerAssertedUtcZ, parseMilestoneAcceptanceSource, } from "./source.js";
6
10
  const idPattern = /^[A-Za-z][A-Za-z0-9_-]*$/u;
7
11
  function governanceMetadata(text) {
8
- const owner = /^ dag_owner ([A-Za-z][A-Za-z0-9_-]*)$/mu.exec(text)?.[1] ?? "user";
9
- const delegates = /^ dag_delegates(?: ([A-Za-z][A-Za-z0-9_-]*(?: [A-Za-z][A-Za-z0-9_-]*)*))?$/mu.exec(text)?.[1]?.split(" ") ?? [];
10
- return { owner, delegates: new Set(delegates) };
12
+ const validated = validateTargetGrammar6Document(milestoneAcceptanceBaseText(text), TARGET_GRAMMAR_6_CAPABILITY).validatedDocument;
13
+ return validated === null
14
+ ? null
15
+ : governanceMetadataFromDocument(validated.document);
11
16
  }
12
17
  function decision(text, digest, input) {
13
18
  const normalized = normalizeGovernanceRequest(input);
14
19
  if (!normalized.ok)
15
20
  return { value: null, diagnostics: Object.freeze(normalized.diagnostics.map(({ code }) => code)) };
16
21
  const metadata = governanceMetadata(text);
22
+ if (metadata === null) {
23
+ return { value: null, diagnostics: Object.freeze(["PTMAC-103"]) };
24
+ }
17
25
  const value = evaluateGovernanceAuthority({
18
26
  originalDigest: digest,
19
- effective: {
20
- goalOwner: "user", goalDelegates: new Set(),
21
- dagOwner: metadata.owner, dagDelegates: metadata.delegates,
22
- },
27
+ effective: metadata.effective,
23
28
  }, ["dag"], normalized.request);
24
29
  return { value, diagnostics: Object.freeze(governanceDecisionDiagnostics(value).map(({ code }) => code)) };
25
30
  }
26
31
  function failure(operation, text, diagnostics, governance = null) {
27
- return Object.freeze({ modelVersion: 1, operation, ok: false, changed: false, replayed: false, originalDigest: sha256DigestUtf8(text), updatedDigest: null, updatedText: null, governance, evaluation: null, diagnostics: Object.freeze([...diagnostics]) });
32
+ return Object.freeze({ modelVersion: 1, operation, ok: false, changed: false, replayed: false, originalDigest: sha256DigestUtf8(text), updatedDigest: null, updatedText: null, edits: Object.freeze([]), governance, evaluation: null, diagnostics: Object.freeze([...diagnostics]) });
28
33
  }
29
34
  function insertAtEnd(text, block) {
30
35
  return `${text}${text.endsWith("\n") ? "" : "\n"}${text.endsWith("\n\n") ? "" : "\n"}${block}`;
31
36
  }
32
- function removeSpans(text, spans) {
33
- let result = text;
34
- for (const span of [...spans].sort((a, b) => b.start.offset - a.start.offset)) {
37
+ function removalEdits(text, spans) {
38
+ const sorted = spans.map((span) => {
35
39
  let start = span.start.offset;
36
- let end = span.end.offset;
37
40
  if (start > 0 && text.slice(Math.max(0, start - 1), start) === "\n" && text.slice(Math.max(0, start - 2), start) === "\n\n")
38
41
  start -= 1;
39
- result = result.slice(0, start) + result.slice(end);
42
+ return Object.freeze({ startOffset: start, endOffset: span.end.offset, replacement: "" });
43
+ }).sort((left, right) => left.startOffset - right.startOffset || left.endOffset - right.endOffset);
44
+ const merged = [];
45
+ for (const edit of sorted) {
46
+ const previous = merged.at(-1);
47
+ if (previous === undefined || edit.startOffset > previous.endOffset) {
48
+ merged.push(edit);
49
+ }
50
+ else {
51
+ merged[merged.length - 1] = Object.freeze({
52
+ startOffset: previous.startOffset,
53
+ endOffset: Math.max(previous.endOffset, edit.endOffset),
54
+ replacement: "",
55
+ });
56
+ }
40
57
  }
41
- return result;
58
+ return normalizeTextEdits(text, merged, "milestone acceptance removal");
59
+ }
60
+ function appendEdit(text, block) {
61
+ const candidate = insertAtEnd(text, block);
62
+ return Object.freeze({
63
+ startOffset: text.length,
64
+ endOffset: text.length,
65
+ replacement: candidate.slice(text.length),
66
+ });
42
67
  }
43
68
  function criterionCommitment(input, criterion) {
44
69
  return sha256DigestUtf8(JSON.stringify(["Perttool.MilestoneCriterion.v1", input.milestoneId, input.revisionId, criterion.criterionId, criterion.required, criterion.evidenceKind, criterion.description]));
@@ -48,17 +73,24 @@ function replacementBlock(input) {
48
73
  const commitment = milestoneCriterionSetCommitment(input.milestoneId, input.revisionId, criteria);
49
74
  return `milestone_criterion_set ${input.setId}:\n milestone ${input.milestoneId}\n revision ${input.revisionId}\n commitment ${commitment}\n${criteria.map((criterion) => ` criterion ${criterion.criterionId} ${criterion.required ? "required" : "optional"} ${criterion.evidenceKind} ${JSON.stringify(criterion.description)}\n`).join("")}`;
50
75
  }
51
- function finalResult(operation, text, candidate, governance, replayed = false) {
76
+ function finalResult(operation, text, candidate, governance, replayed = false, edits = Object.freeze([])) {
52
77
  const parsed = parseMilestoneAcceptanceSource(candidate, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY);
53
78
  if (!parsed.ok)
54
79
  return failure(operation, text, parsed.diagnostics.map(({ code }) => code), governance);
80
+ const normalizedEdits = normalizeTextEdits(text, edits, "milestone acceptance mutation");
81
+ if (applyTextEdits(text, normalizedEdits) !== candidate) {
82
+ return failure(operation, text, ["invalid_mutation_edits"], governance);
83
+ }
84
+ const effectiveEdits = candidate === text
85
+ ? Object.freeze([])
86
+ : Object.freeze(normalizedEdits);
55
87
  const milestoneIds = [...candidate.matchAll(/^milestone ([A-Za-z][A-Za-z0-9_-]*):$/gmu)].map((match) => match[1]);
56
88
  const evaluation = evaluateMilestoneAcceptance({ source: parsed, milestoneIds, closureReachedMilestoneIds: new Set() });
57
89
  if (!evaluation.ok)
58
90
  return failure(operation, text, evaluation.diagnostics.map(({ code }) => code), governance);
59
91
  const diagnostics = governanceDecisionDiagnostics(governance).map(({ code }) => code);
60
92
  const denied = diagnostics.includes("PTGOV-101");
61
- return Object.freeze({ modelVersion: 1, operation, ok: !denied, changed: candidate !== text, replayed, originalDigest: sha256DigestUtf8(text), updatedDigest: sha256DigestUtf8(candidate), updatedText: candidate, governance, evaluation, diagnostics: Object.freeze(diagnostics) });
93
+ return Object.freeze({ modelVersion: 1, operation, ok: !denied, changed: candidate !== text, replayed, originalDigest: sha256DigestUtf8(text), updatedDigest: sha256DigestUtf8(candidate), updatedText: candidate, edits: effectiveEdits, governance, evaluation, diagnostics: Object.freeze(diagnostics) });
62
94
  }
63
95
  export function planCriterionSetReplacement(text, input, options = {}) {
64
96
  const parsed = parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY);
@@ -73,8 +105,15 @@ export function planCriterionSetReplacement(text, input, options = {}) {
73
105
  const ownedSets = parsed.records.filter((record) => record.kind === "milestone_criterion_set" && record.milestoneId === input.milestoneId);
74
106
  const ownedIds = new Set(ownedSets.map(({ id }) => id));
75
107
  const owned = parsed.records.filter((record) => ownedIds.has(record.kind === "milestone_acceptance_receipt" ? record.setId : record.id));
76
- const candidate = insertAtEnd(removeSpans(text, owned.map(({ span }) => span)), replacementBlock(input));
77
- return finalResult("replace", text, candidate, governed.value);
108
+ const removals = removalEdits(text, owned.map(({ span }) => span));
109
+ const retained = applyTextEdits(text, removals);
110
+ const append = appendEdit(retained, replacementBlock(input));
111
+ const edits = normalizeTextEdits(text, [
112
+ ...removals,
113
+ Object.freeze({ ...append, startOffset: text.length, endOffset: text.length }),
114
+ ], "milestone criterion replacement");
115
+ const candidate = applyTextEdits(text, edits);
116
+ return finalResult("replace", text, candidate, governed.value, false, edits);
78
117
  }
79
118
  function receiptBlock(set, criterion, input) {
80
119
  const time = input.occurredAt === undefined ? null : normalizeCallerAssertedUtcZ(input.occurredAt);
@@ -118,7 +157,8 @@ export function planAcceptanceReceiptMutation(text, input, options = {}) {
118
157
  const governed = decision(text, sha256DigestUtf8(text), options.governance);
119
158
  if (governed.value === null)
120
159
  return failure(input.action, text, governed.diagnostics);
121
- return finalResult(input.action, text, insertAtEnd(text, block), governed.value);
160
+ const edit = appendEdit(text, block);
161
+ return finalResult(input.action, text, applyTextEdits(text, [edit]), governed.value, false, [edit]);
122
162
  }
123
163
  export function showMilestoneAcceptance(text, closureReachedMilestoneIds) {
124
164
  const source = parseMilestoneAcceptanceSource(text, MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY);
@@ -1 +1 @@
1
- {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/milestone-acceptance/mutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/milestone-acceptance/mutation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type Diagnostic, type DiagnosticCounts } from "./diagnostics.js";
2
+ export interface SourceValidationResult<Model, SourceDiagnostic> {
3
+ readonly ok: boolean;
4
+ readonly grammarVersion: number | null;
5
+ readonly documentId: string | null;
6
+ readonly model: Model | null;
7
+ readonly diagnostics: readonly SourceDiagnostic[];
8
+ readonly diagnosticCounts: DiagnosticCounts;
9
+ readonly diagnosticsTruncated: boolean;
10
+ }
11
+ export declare function sourceValidationResult<Model, SourceDiagnostic>(grammarVersion: number | null, documentId: string | null, model: Model | null, diagnostics: readonly Diagnostic[], maximum: number, inheritedTruncation?: boolean): SourceValidationResult<Model, SourceDiagnostic>;
12
+ //# sourceMappingURL=source-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-result.d.ts","sourceRoot":"","sources":["../../src/model/source-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,sBAAsB,CAAC,KAAK,EAAE,gBAAgB;IAC7D,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CACxC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAC5D,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,OAAO,EAAE,MAAM,EACf,mBAAmB,UAAQ,GAC1B,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAajD"}
@@ -0,0 +1,16 @@
1
+ import { countDiagnostics, limitDiagnostics, sortDiagnostics, } from "./diagnostics.js";
2
+ export function sourceValidationResult(grammarVersion, documentId, model, diagnostics, maximum, inheritedTruncation = false) {
3
+ const sorted = sortDiagnostics(diagnostics);
4
+ const limited = limitDiagnostics(sorted, maximum);
5
+ const counts = countDiagnostics(sorted);
6
+ return Object.freeze({
7
+ ok: counts.errors === 0,
8
+ grammarVersion,
9
+ documentId,
10
+ model: counts.errors === 0 ? model : null,
11
+ diagnostics: Object.freeze(limited.diagnostics),
12
+ diagnosticCounts: Object.freeze(counts),
13
+ diagnosticsTruncated: inheritedTruncation || limited.truncated,
14
+ });
15
+ }
16
+ //# sourceMappingURL=source-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-result.js","sourceRoot":"","sources":["../../src/model/source-result.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAGhB,MAAM,kBAAkB,CAAC;AAY1B,MAAM,UAAU,sBAAsB,CACpC,cAA6B,EAC7B,UAAyB,EACzB,KAAmB,EACnB,WAAkC,EAClC,OAAe,EACf,mBAAmB,GAAG,KAAK;IAE3B,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QACvB,cAAc;QACd,UAAU;QACV,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACzC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAA2C;QACzF,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,oBAAoB,EAAE,mBAAmB,IAAI,OAAO,CAAC,SAAS;KAC/D,CAAC,CAAC;AACL,CAAC"}
@@ -4,6 +4,7 @@ export interface AdvanceDeclarationDeletion {
4
4
  readonly declaration: DeclarationNode<TargetDeclarationKind>;
5
5
  readonly edit: TextEdit;
6
6
  }
7
+ export declare function advanceOwnedTerminalSeparatorStartOffset(text: string, ordinaryStart: number): number;
7
8
  export declare function advanceOwnedTerminalSeparatorStart(text: string, declaration: DeclarationNode<TargetDeclarationKind>): number;
8
9
  /**
9
10
  * Plans declaration removals with the narrow terminal-separator ownership
@@ -1 +1 @@
1
- {"version":3,"file":"advance-deletion.d.ts","sourceRoot":"","sources":["../../src/mutation/advance-deletion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAeD,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,eAAe,CAAC,qBAAqB,CAAC,GAClD,MAAM,CAIR;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,YAAY,CAAC,qBAAqB,CAAC,EAC7C,MAAM,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,qBAAqB,CAAC,KAAK,OAAO,GACvE,SAAS,0BAA0B,EAAE,CA0CvC"}
1
+ {"version":3,"file":"advance-deletion.d.ts","sourceRoot":"","sources":["../../src/mutation/advance-deletion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAeD,wBAAgB,wCAAwC,CACtD,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,MAAM,CAER;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,eAAe,CAAC,qBAAqB,CAAC,GAClD,MAAM,CAOR;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,YAAY,CAAC,qBAAqB,CAAC,EAC7C,MAAM,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,qBAAqB,CAAC,KAAK,OAAO,GACvE,SAAS,0BAA0B,EAAE,CA0CvC"}
@@ -8,10 +8,13 @@ function terminalSeparatorStart(lines, ordinaryStart) {
8
8
  }
9
9
  return startOffset;
10
10
  }
11
+ export function advanceOwnedTerminalSeparatorStartOffset(text, ordinaryStart) {
12
+ return terminalSeparatorStart(splitPhysicalLines(text), ordinaryStart);
13
+ }
11
14
  export function advanceOwnedTerminalSeparatorStart(text, declaration) {
12
15
  const lines = splitPhysicalLines(text);
13
16
  const ordinary = deleteDeclarationEdit(declaration, lines);
14
- return terminalSeparatorStart(lines, ordinary.startOffset);
17
+ return advanceOwnedTerminalSeparatorStartOffset(text, ordinary.startOffset);
15
18
  }
16
19
  /**
17
20
  * Plans declaration removals with the narrow terminal-separator ownership
@@ -1 +1 @@
1
- {"version":3,"file":"advance-deletion.js","sourceRoot":"","sources":["../../src/mutation/advance-deletion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advance-deletion.js","sourceRoot":"","sources":["../../src/mutation/advance-deletion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { type TextEdit } from "./text-edits.js";
2
+ interface ValidatedSource<Model, SourceDiagnostic> {
3
+ readonly ok: boolean;
4
+ readonly documentId: string | null;
5
+ readonly model: Model | null;
6
+ readonly diagnostics: readonly SourceDiagnostic[];
7
+ readonly diagnosticsTruncated: boolean;
8
+ }
9
+ export interface ValidatedSourceFormatResult<SourceDiagnostic> {
10
+ readonly ok: boolean;
11
+ readonly documentId: string | null;
12
+ readonly changed: boolean;
13
+ readonly formattedText: string | null;
14
+ readonly edits: readonly TextEdit[];
15
+ readonly diagnostics: readonly SourceDiagnostic[];
16
+ readonly diagnosticsTruncated: boolean;
17
+ }
18
+ export interface ValidatedSourceMutationResult<SourceDiagnostic> {
19
+ readonly ok: boolean;
20
+ readonly documentId: string | null;
21
+ readonly changed: boolean;
22
+ readonly updatedText: string | null;
23
+ readonly edits: readonly TextEdit[];
24
+ readonly diagnostics: readonly SourceDiagnostic[];
25
+ readonly diagnosticsTruncated: boolean;
26
+ }
27
+ export declare function formatValidatedSource<Model, SourceDiagnostic>(text: string, parse: (candidate: string) => ValidatedSource<Model, SourceDiagnostic>, ownedEdits: (model: Model) => readonly TextEdit[], label: string, invalidCandidateMessage: string): ValidatedSourceFormatResult<SourceDiagnostic>;
28
+ export declare function planValidatedSourceMutation<Model, SourceDiagnostic>(text: string, requestedEdits: readonly TextEdit[], parse: (candidate: string) => ValidatedSource<Model, SourceDiagnostic>, label: string): ValidatedSourceMutationResult<SourceDiagnostic>;
29
+ export {};
30
+ //# sourceMappingURL=validated-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validated-source.d.ts","sourceRoot":"","sources":["../../src/mutation/validated-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAC;AAEzB,UAAU,eAAe,CAAC,KAAK,EAAE,gBAAgB;IAC/C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,2BAA2B,CAAC,gBAAgB;IAC3D,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,6BAA6B,CAAC,gBAAgB;IAC7D,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CACxC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,EAC3D,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,EACtE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,QAAQ,EAAE,EACjD,KAAK,EAAE,MAAM,EACb,uBAAuB,EAAE,MAAM,GAC9B,2BAA2B,CAAC,gBAAgB,CAAC,CA4B/C;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,EACjE,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,SAAS,QAAQ,EAAE,EACnC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,EACtE,KAAK,EAAE,MAAM,GACZ,6BAA6B,CAAC,gBAAgB,CAAC,CA0BjD"}
@@ -0,0 +1,58 @@
1
+ import { applyTextEdits, normalizeTextEdits, } from "./text-edits.js";
2
+ export function formatValidatedSource(text, parse, ownedEdits, label, invalidCandidateMessage) {
3
+ const checked = parse(text);
4
+ if (!checked.ok || checked.model === null) {
5
+ return Object.freeze({
6
+ ok: false,
7
+ documentId: checked.documentId,
8
+ changed: false,
9
+ formattedText: null,
10
+ edits: Object.freeze([]),
11
+ diagnostics: checked.diagnostics,
12
+ diagnosticsTruncated: checked.diagnosticsTruncated,
13
+ });
14
+ }
15
+ const edits = normalizeTextEdits(text, ownedEdits(checked.model), label);
16
+ const formattedText = applyTextEdits(text, edits);
17
+ const repeated = parse(formattedText);
18
+ if (!repeated.ok || repeated.model === null) {
19
+ throw new Error(invalidCandidateMessage);
20
+ }
21
+ return Object.freeze({
22
+ ok: true,
23
+ documentId: checked.documentId,
24
+ changed: formattedText !== text,
25
+ formattedText,
26
+ edits: Object.freeze(edits),
27
+ diagnostics: checked.diagnostics,
28
+ diagnosticsTruncated: checked.diagnosticsTruncated,
29
+ });
30
+ }
31
+ export function planValidatedSourceMutation(text, requestedEdits, parse, label) {
32
+ const original = parse(text);
33
+ if (!original.ok || original.model === null) {
34
+ return Object.freeze({
35
+ ok: false,
36
+ documentId: original.documentId,
37
+ changed: false,
38
+ updatedText: null,
39
+ edits: Object.freeze([]),
40
+ diagnostics: original.diagnostics,
41
+ diagnosticsTruncated: original.diagnosticsTruncated,
42
+ });
43
+ }
44
+ const edits = normalizeTextEdits(text, requestedEdits, label);
45
+ const candidate = applyTextEdits(text, edits);
46
+ const checked = parse(candidate);
47
+ const valid = checked.ok && checked.model !== null;
48
+ return Object.freeze({
49
+ ok: valid,
50
+ documentId: checked.documentId,
51
+ changed: candidate !== text,
52
+ updatedText: valid ? candidate : null,
53
+ edits: valid ? Object.freeze(edits) : Object.freeze([]),
54
+ diagnostics: checked.diagnostics,
55
+ diagnosticsTruncated: checked.diagnosticsTruncated,
56
+ });
57
+ }
58
+ //# sourceMappingURL=validated-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validated-source.js","sourceRoot":"","sources":["../../src/mutation/validated-source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { PlanningReshapeTokenRegistry } from "../planning-pool/reshape-token.js";
2
+ export declare function withPlanningReshapeTokenRegistry<T>(operation: (registry: PlanningReshapeTokenRegistry) => T | Promise<T>): Promise<T>;
3
+ //# sourceMappingURL=planning-token-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning-token-store.d.ts","sourceRoot":"","sources":["../../src/node/planning-token-store.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,4BAA4B,EAE7B,MAAM,mCAAmC,CAAC;AAgE3C,wBAAsB,gCAAgC,CAAC,CAAC,EACtD,SAAS,EAAE,CAAC,QAAQ,EAAE,4BAA4B,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACpE,OAAO,CAAC,CAAC,CAAC,CAyBZ"}
@@ -0,0 +1,90 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { mkdir, open, readFile, rename, stat, unlink, } from "node:fs/promises";
3
+ import { tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ import { PlanningReshapeTokenRegistry, PLANNING_RESHAPE_TOKEN_LIFETIME_MS, } from "../planning-pool/reshape-token.js";
6
+ const directory = join(tmpdir(), "perttool-planning-reshape-v1");
7
+ const userIdentity = typeof process.getuid === "function"
8
+ ? String(process.getuid())
9
+ : "default";
10
+ const registryPath = join(directory, `registry-${userIdentity}.json`);
11
+ const lockPath = join(directory, `registry-${userIdentity}.lock`);
12
+ function stored(value) {
13
+ return typeof value === "object" && value !== null && !Array.isArray(value) &&
14
+ value["model_version"] === 1 &&
15
+ Array.isArray(value["snapshots"]);
16
+ }
17
+ async function snapshots() {
18
+ let bytes;
19
+ try {
20
+ bytes = await readFile(registryPath, "utf8");
21
+ }
22
+ catch (error) {
23
+ if (typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT") {
24
+ return Object.freeze([]);
25
+ }
26
+ throw error;
27
+ }
28
+ const parsed = JSON.parse(bytes);
29
+ if (!stored(parsed))
30
+ throw new Error("planning reshape token registry is invalid");
31
+ return Object.freeze([...parsed.snapshots]);
32
+ }
33
+ async function save(registry) {
34
+ const target = `${registryPath}.${randomUUID()}.tmp`;
35
+ const handle = await open(target, "wx", 0o600);
36
+ try {
37
+ await handle.writeFile(`${JSON.stringify({
38
+ model_version: 1,
39
+ snapshots: registry.snapshots(),
40
+ })}\n`, "utf8");
41
+ await handle.sync();
42
+ }
43
+ finally {
44
+ await handle.close();
45
+ }
46
+ await rename(target, registryPath);
47
+ }
48
+ async function removeExpiredLock() {
49
+ try {
50
+ const metadata = await stat(lockPath);
51
+ if (Date.now() - metadata.mtimeMs > PLANNING_RESHAPE_TOKEN_LIFETIME_MS) {
52
+ await unlink(lockPath);
53
+ }
54
+ }
55
+ catch (error) {
56
+ if (!(typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT")) {
57
+ throw error;
58
+ }
59
+ }
60
+ }
61
+ export async function withPlanningReshapeTokenRegistry(operation) {
62
+ await mkdir(directory, { recursive: true, mode: 0o700 });
63
+ await removeExpiredLock();
64
+ let lock;
65
+ try {
66
+ lock = await open(lockPath, "wx", 0o600);
67
+ }
68
+ catch (error) {
69
+ if (typeof error === "object" && error !== null && "code" in error && error.code === "EEXIST") {
70
+ throw new Error("planning reshape token registry is busy");
71
+ }
72
+ throw error;
73
+ }
74
+ try {
75
+ const registry = new PlanningReshapeTokenRegistry({
76
+ snapshots: await snapshots(),
77
+ });
78
+ try {
79
+ return await operation(registry);
80
+ }
81
+ finally {
82
+ await save(registry);
83
+ }
84
+ }
85
+ finally {
86
+ await lock.close();
87
+ await unlink(lockPath).catch(() => undefined);
88
+ }
89
+ }
90
+ //# sourceMappingURL=planning-token-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning-token-store.js","sourceRoot":"","sources":["../../src/node/planning-token-store.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export interface TargetGrammar6Capability {
32
32
  readonly grammarVersion: 6;
33
33
  }
34
34
  export declare const TARGET_GRAMMAR_6_CAPABILITY: TargetGrammar6Capability;
35
+ export declare function splitTagItems(raw: string): readonly string[] | undefined;
35
36
  export declare function parseDocument(text: string, options?: ParseOptions): ParseResult;
36
37
  export declare function parseTargetDocument(text: string, capability: TargetGrammar2Capability, options?: ParseOptions): ParseResult;
37
38
  export declare function parseTargetGrammar3Document(text: string, capability: TargetGrammar3Capability, options?: ParseOptions): ParseResult;
@@ -1 +1 @@
1
- {"version":3,"file":"document-parser.d.ts","sourceRoot":"","sources":["../../src/parser/document-parser.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAWV,WAAW,EAEX,qBAAqB,EAGtB,MAAM,oBAAoB,CAAC;AAY5B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,kCAAkC,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,kCAAkC,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,6CAA6C,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,0CAA0C,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,4CAA4C,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAg4CL,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,GACzB,WAAW,CAEb;AAqED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAgBb;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAKb;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAKb;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAAC,qBAAqB,CAAC,CAOpC;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAAC,qBAAqB,CAAC,CAOpC"}
1
+ {"version":3,"file":"document-parser.d.ts","sourceRoot":"","sources":["../../src/parser/document-parser.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAWV,WAAW,EAEX,qBAAqB,EAGtB,MAAM,oBAAoB,CAAC;AAY5B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,kCAAkC,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,kCAAkC,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,6CAA6C,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,0CAA0C,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,4CAA4C,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAqWL,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CA4BxE;AA+/BD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,GACzB,WAAW,CAEb;AAqED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAgBb;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAKb;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAKb;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAAC,qBAAqB,CAAC,CAOpC;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAAC,qBAAqB,CAAC,CAOpC"}
@@ -324,7 +324,7 @@ function findInlineCommentStart(text) {
324
324
  function inlineCommentDiagnostic(line, start, entityId) {
325
325
  return diagnostic("PTDSL-011", "Inline comments are not allowed", span(line, start, line.text.length), "syntax.comments", entityId);
326
326
  }
327
- function splitTagItems(raw) {
327
+ export function splitTagItems(raw) {
328
328
  if (!raw.startsWith("[") || !raw.endsWith("]"))
329
329
  return undefined;
330
330
  const body = raw.slice(1, -1).trim();