@agent-teams/engineering-foundation 0.13.1 → 0.15.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 (131) hide show
  1. package/dist/canonical-json.d.ts +12 -0
  2. package/dist/canonical-json.d.ts.map +1 -0
  3. package/dist/canonical-json.js +151 -0
  4. package/dist/canonical-json.js.map +1 -0
  5. package/dist/document-authoring/adapters/canonical-markdown.d.ts +14 -0
  6. package/dist/document-authoring/adapters/canonical-markdown.d.ts.map +1 -0
  7. package/dist/document-authoring/adapters/canonical-markdown.js +354 -0
  8. package/dist/document-authoring/adapters/canonical-markdown.js.map +1 -0
  9. package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile.d.ts +31 -0
  10. package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile.d.ts.map +1 -0
  11. package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile.js +47 -0
  12. package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile.js.map +1 -0
  13. package/dist/document-authoring/adapters/node/node-authoring-profile-reader.d.ts.map +1 -1
  14. package/dist/document-authoring/adapters/node/node-authoring-profile-reader.js +14 -36
  15. package/dist/document-authoring/adapters/node/node-authoring-profile-reader.js.map +1 -1
  16. package/dist/document-authoring/adapters/node/node-document-contract-validator.d.ts +7 -0
  17. package/dist/document-authoring/adapters/node/node-document-contract-validator.d.ts.map +1 -0
  18. package/dist/document-authoring/adapters/node/node-document-contract-validator.js +179 -0
  19. package/dist/document-authoring/adapters/node/node-document-contract-validator.js.map +1 -0
  20. package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.d.ts +10 -0
  21. package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.d.ts.map +1 -0
  22. package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.js +72 -0
  23. package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.js.map +1 -0
  24. package/dist/document-authoring/adapters/node/node-document-planning-state-reader.d.ts +10 -0
  25. package/dist/document-authoring/adapters/node/node-document-planning-state-reader.d.ts.map +1 -0
  26. package/dist/document-authoring/adapters/node/node-document-planning-state-reader.js +164 -0
  27. package/dist/document-authoring/adapters/node/node-document-planning-state-reader.js.map +1 -0
  28. package/dist/document-authoring/adapters/node/node-document-template-reader.d.ts +10 -0
  29. package/dist/document-authoring/adapters/node/node-document-template-reader.d.ts.map +1 -0
  30. package/dist/document-authoring/adapters/node/node-document-template-reader.js +32 -0
  31. package/dist/document-authoring/adapters/node/node-document-template-reader.js.map +1 -0
  32. package/dist/document-authoring/adapters/node/read-document-authority-file.d.ts.map +1 -1
  33. package/dist/document-authoring/adapters/node/read-document-authority-file.js +3 -13
  34. package/dist/document-authoring/adapters/node/read-document-authority-file.js.map +1 -1
  35. package/dist/document-authoring/application/model/document-planning.d.ts +171 -0
  36. package/dist/document-authoring/application/model/document-planning.d.ts.map +1 -0
  37. package/dist/document-authoring/application/model/document-planning.js +2 -0
  38. package/dist/document-authoring/application/model/document-planning.js.map +1 -0
  39. package/dist/document-authoring/application/policies/authoring-profile-semantics.d.ts +38 -0
  40. package/dist/document-authoring/application/policies/authoring-profile-semantics.d.ts.map +1 -0
  41. package/dist/document-authoring/application/policies/authoring-profile-semantics.js +122 -0
  42. package/dist/document-authoring/application/policies/authoring-profile-semantics.js.map +1 -0
  43. package/dist/document-authoring/application/policies/document-contract-digests.d.ts +20 -0
  44. package/dist/document-authoring/application/policies/document-contract-digests.d.ts.map +1 -0
  45. package/dist/document-authoring/application/policies/document-contract-digests.js +275 -0
  46. package/dist/document-authoring/application/policies/document-contract-digests.js.map +1 -0
  47. package/dist/document-authoring/application/policies/document-logical-preimage.d.ts +14 -0
  48. package/dist/document-authoring/application/policies/document-logical-preimage.d.ts.map +1 -0
  49. package/dist/document-authoring/application/policies/document-logical-preimage.js +61 -0
  50. package/dist/document-authoring/application/policies/document-logical-preimage.js.map +1 -0
  51. package/dist/document-authoring/application/policies/document-planning-policy-error.d.ts +6 -0
  52. package/dist/document-authoring/application/policies/document-planning-policy-error.d.ts.map +1 -0
  53. package/dist/document-authoring/application/policies/document-planning-policy-error.js +9 -0
  54. package/dist/document-authoring/application/policies/document-planning-policy-error.js.map +1 -0
  55. package/dist/document-authoring/application/policies/document-repository-path.d.ts +1 -0
  56. package/dist/document-authoring/application/policies/document-repository-path.d.ts.map +1 -1
  57. package/dist/document-authoring/application/policies/document-repository-path.js +21 -2
  58. package/dist/document-authoring/application/policies/document-repository-path.js.map +1 -1
  59. package/dist/document-authoring/application/policies/document-temporary-path.d.ts +7 -0
  60. package/dist/document-authoring/application/policies/document-temporary-path.d.ts.map +1 -0
  61. package/dist/document-authoring/application/policies/document-temporary-path.js +34 -0
  62. package/dist/document-authoring/application/policies/document-temporary-path.js.map +1 -0
  63. package/dist/document-authoring/application/policies/normalize-document-intent.d.ts +3 -0
  64. package/dist/document-authoring/application/policies/normalize-document-intent.d.ts.map +1 -0
  65. package/dist/document-authoring/application/policies/normalize-document-intent.js +104 -0
  66. package/dist/document-authoring/application/policies/normalize-document-intent.js.map +1 -0
  67. package/dist/document-authoring/application/policies/resolve-document-authoring.d.ts +13 -0
  68. package/dist/document-authoring/application/policies/resolve-document-authoring.d.ts.map +1 -0
  69. package/dist/document-authoring/application/policies/resolve-document-authoring.js +154 -0
  70. package/dist/document-authoring/application/policies/resolve-document-authoring.js.map +1 -0
  71. package/dist/document-authoring/application/ports/canonical-document-renderer.d.ts +29 -0
  72. package/dist/document-authoring/application/ports/canonical-document-renderer.d.ts.map +1 -0
  73. package/dist/document-authoring/application/ports/canonical-document-renderer.js +2 -0
  74. package/dist/document-authoring/application/ports/canonical-document-renderer.js.map +1 -0
  75. package/dist/document-authoring/application/ports/document-contract-validator.d.ts +6 -0
  76. package/dist/document-authoring/application/ports/document-contract-validator.d.ts.map +1 -0
  77. package/dist/document-authoring/application/ports/document-contract-validator.js +2 -0
  78. package/dist/document-authoring/application/ports/document-contract-validator.js.map +1 -0
  79. package/dist/document-authoring/application/ports/document-planning-profile-reader.d.ts +9 -0
  80. package/dist/document-authoring/application/ports/document-planning-profile-reader.d.ts.map +1 -0
  81. package/dist/document-authoring/application/ports/document-planning-profile-reader.js +2 -0
  82. package/dist/document-authoring/application/ports/document-planning-profile-reader.js.map +1 -0
  83. package/dist/document-authoring/application/ports/document-planning-state-reader.d.ts +9 -0
  84. package/dist/document-authoring/application/ports/document-planning-state-reader.d.ts.map +1 -0
  85. package/dist/document-authoring/application/ports/document-planning-state-reader.js +2 -0
  86. package/dist/document-authoring/application/ports/document-planning-state-reader.js.map +1 -0
  87. package/dist/document-authoring/application/ports/document-template-reader.d.ts +9 -0
  88. package/dist/document-authoring/application/ports/document-template-reader.d.ts.map +1 -0
  89. package/dist/document-authoring/application/ports/document-template-reader.js +2 -0
  90. package/dist/document-authoring/application/ports/document-template-reader.js.map +1 -0
  91. package/dist/document-authoring/application/ports/documentation-catalog-reader.d.ts +11 -0
  92. package/dist/document-authoring/application/ports/documentation-catalog-reader.d.ts.map +1 -0
  93. package/dist/document-authoring/application/ports/documentation-catalog-reader.js +2 -0
  94. package/dist/document-authoring/application/ports/documentation-catalog-reader.js.map +1 -0
  95. package/dist/document-authoring/application/use-cases/build-documentation-catalog.d.ts +2 -1
  96. package/dist/document-authoring/application/use-cases/build-documentation-catalog.d.ts.map +1 -1
  97. package/dist/document-authoring/application/use-cases/build-documentation-catalog.js.map +1 -1
  98. package/dist/document-authoring/application/use-cases/compile-document-plan.d.ts +6 -0
  99. package/dist/document-authoring/application/use-cases/compile-document-plan.d.ts.map +1 -0
  100. package/dist/document-authoring/application/use-cases/compile-document-plan.js +156 -0
  101. package/dist/document-authoring/application/use-cases/compile-document-plan.js.map +1 -0
  102. package/dist/document-authoring/application/use-cases/plan-documentation-document.d.ts +66 -0
  103. package/dist/document-authoring/application/use-cases/plan-documentation-document.d.ts.map +1 -0
  104. package/dist/document-authoring/application/use-cases/plan-documentation-document.js +276 -0
  105. package/dist/document-authoring/application/use-cases/plan-documentation-document.js.map +1 -0
  106. package/dist/document-authoring/document-planning-error.d.ts +6 -0
  107. package/dist/document-authoring/document-planning-error.d.ts.map +1 -0
  108. package/dist/document-authoring/document-planning-error.js +9 -0
  109. package/dist/document-authoring/document-planning-error.js.map +1 -0
  110. package/dist/document-authoring/index.d.ts +10 -0
  111. package/dist/document-authoring/index.d.ts.map +1 -1
  112. package/dist/document-authoring/index.js +72 -0
  113. package/dist/document-authoring/index.js.map +1 -1
  114. package/dist/transaction-coordination/adapters/node/document-temporary-identity.d.ts +4 -0
  115. package/dist/transaction-coordination/adapters/node/document-temporary-identity.d.ts.map +1 -0
  116. package/dist/transaction-coordination/adapters/node/document-temporary-identity.js +30 -0
  117. package/dist/transaction-coordination/adapters/node/document-temporary-identity.js.map +1 -0
  118. package/dist/transaction-coordination/adapters/node/legacy-document-envelope-v2.d.ts +5 -0
  119. package/dist/transaction-coordination/adapters/node/legacy-document-envelope-v2.d.ts.map +1 -0
  120. package/dist/transaction-coordination/adapters/node/legacy-document-envelope-v2.js +212 -0
  121. package/dist/transaction-coordination/adapters/node/legacy-document-envelope-v2.js.map +1 -0
  122. package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.d.ts.map +1 -1
  123. package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.js +47 -25
  124. package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.js.map +1 -1
  125. package/package.json +1 -1
  126. package/schemas/document-authoring-profile/v1.schema.json +64 -15
  127. package/schemas/document-command-envelope/v1.schema.json +1 -1
  128. package/schemas/document-intent/v1.schema.json +48 -6
  129. package/schemas/document-plan/v1.schema.json +20 -4
  130. package/schemas/document-receipt/v1.schema.json +1 -1
  131. package/schemas/foundation-transaction-envelope/v2.schema.json +21 -3
@@ -0,0 +1,212 @@
1
+ import { createHash } from "node:crypto";
2
+ const knownLegacyBuilds = new Map([
3
+ [
4
+ "0.13.0",
5
+ "sha256:f2790b0ad34abf94aa7b44f2d590c77dfcd1119b4a6cfb2dcb1fa4a80f40cc84"
6
+ ],
7
+ [
8
+ "0.13.1",
9
+ "sha256:39dd226ddd4cd861a2535cc59b2fe5c1a23f0e5b2c4be3190851b87f27ad3072"
10
+ ]
11
+ ]);
12
+ function isRecord(value) {
13
+ return typeof value === "object" && value !== null && !Array.isArray(value);
14
+ }
15
+ function legacyCanonicalJson(value) {
16
+ if (value === null || typeof value === "boolean") {
17
+ return JSON.stringify(value);
18
+ }
19
+ if (typeof value === "string") {
20
+ if (value.normalize("NFC") !== value) {
21
+ throw new Error("Legacy canonical JSON strings must use NFC.");
22
+ }
23
+ return JSON.stringify(value);
24
+ }
25
+ if (typeof value === "number") {
26
+ if (!Number.isFinite(value) || !Number.isSafeInteger(value)) {
27
+ throw new Error("Legacy canonical JSON numbers must be safe integers.");
28
+ }
29
+ return JSON.stringify(value);
30
+ }
31
+ if (Array.isArray(value)) {
32
+ const items = value;
33
+ return `[${items.map((item) => legacyCanonicalJson(item)).join(",")}]`;
34
+ }
35
+ const entries = Object.entries(value).toSorted(([left], [right]) => left < right ? -1 : left > right ? 1 : 0);
36
+ for (const [key] of entries) {
37
+ if (key.normalize("NFC") !== key) {
38
+ throw new Error("Legacy canonical JSON keys must use NFC.");
39
+ }
40
+ }
41
+ return `{${entries
42
+ .map(([key, item]) => `${JSON.stringify(key)}:${legacyCanonicalJson(item)}`)
43
+ .join(",")}}`;
44
+ }
45
+ function legacySha256Bytes(value) {
46
+ return `sha256:${createHash("sha256").update(value).digest("hex")}`;
47
+ }
48
+ function legacySha256Json(value) {
49
+ return legacySha256Bytes(Buffer.from(legacyCanonicalJson(value), "utf8"));
50
+ }
51
+ function assertKeys(value, required, optional, subject) {
52
+ const allowed = new Set([...required, ...optional]);
53
+ if (required.some((key) => !Object.hasOwn(value, key)) ||
54
+ Object.keys(value).some((key) => !allowed.has(key))) {
55
+ throw new Error(`${subject} does not have the released legacy shape.`);
56
+ }
57
+ }
58
+ function assertLegacyPlanShape(plan) {
59
+ assertKeys(plan, [
60
+ "authority",
61
+ "compiler",
62
+ "destination",
63
+ "destinationPrecondition",
64
+ "diagnostics",
65
+ "expectedParent",
66
+ "identityProjection",
67
+ "intent",
68
+ "intentDigest",
69
+ "output",
70
+ "planDigest",
71
+ "projectId",
72
+ "protocolVersion",
73
+ "referencedDocuments",
74
+ "requiredAdapterCapabilities",
75
+ "schemaVersion",
76
+ "selectedOwner"
77
+ ], [], "Legacy Document Plan");
78
+ const intent = plan["intent"];
79
+ const compiler = plan["compiler"];
80
+ const output = plan["output"];
81
+ if (!isRecord(intent) || !isRecord(compiler) || !isRecord(output)) {
82
+ throw new Error("Legacy Document Plan nested shape is invalid.");
83
+ }
84
+ assertKeys(intent, ["id", "owner", "schemaVersion", "summary", "title", "type"], ["additionalMetadata", "related"], "Legacy Document Intent");
85
+ if (plan["schemaVersion"] !== 1 ||
86
+ plan["protocolVersion"] !== 1 ||
87
+ compiler["id"] !== "@agent-teams/engineering-foundation" ||
88
+ output["mode"] !== "0644" ||
89
+ output["mediaType"] !== "text/markdown; charset=utf-8") {
90
+ throw new Error("Legacy Document Plan constants are invalid.");
91
+ }
92
+ const precondition = plan["destinationPrecondition"];
93
+ const expectedParent = plan["expectedParent"];
94
+ const requiredCapabilities = plan["requiredAdapterCapabilities"];
95
+ if (!isRecord(precondition) ||
96
+ !isRecord(expectedParent) ||
97
+ !Array.isArray(requiredCapabilities) ||
98
+ precondition["state"] !== "absent" ||
99
+ expectedParent["state"] !== "directory" ||
100
+ expectedParent["ancestry"] !== "real-directories" ||
101
+ requiredCapabilities.length !== 1 ||
102
+ requiredCapabilities[0] !== "create-file-no-replace/v1") {
103
+ throw new Error("Legacy Document Plan publication contract is invalid.");
104
+ }
105
+ assertKeys(precondition, ["state"], [], "Legacy destination precondition");
106
+ assertKeys(expectedParent, ["ancestry", "path", "state"], [], "Legacy expected parent");
107
+ }
108
+ function selectedFoundation(value) {
109
+ if (!isRecord(value) ||
110
+ value["schemaVersion"] !== 2 ||
111
+ value["operationKind"] !== "document-authoring" ||
112
+ value["payloadKind"] !== "document-authoring-journal/v1") {
113
+ return undefined;
114
+ }
115
+ const handler = value["recoveryHandler"];
116
+ const foundation = value["foundation"];
117
+ return isRecord(handler) &&
118
+ handler["id"] === "foundation.document-authoring" &&
119
+ handler["contractVersion"] === 1 &&
120
+ isRecord(foundation) &&
121
+ isKnownLegacyDocumentEnvelopeBuild(foundation)
122
+ ? foundation
123
+ : undefined;
124
+ }
125
+ /** Selects legacy semantics before any corrected schema or digest code runs. */
126
+ export function isKnownLegacyDocumentEnvelope(value) {
127
+ return selectedFoundation(value) !== undefined;
128
+ }
129
+ function isKnownLegacyDocumentEnvelopeBuild(foundation) {
130
+ const version = foundation["version"];
131
+ const buildIdentity = foundation["buildIdentity"];
132
+ return (typeof version === "string" &&
133
+ typeof buildIdentity === "string" &&
134
+ knownLegacyBuilds.get(version) === buildIdentity);
135
+ }
136
+ /** Replays the exact document hash semantics shipped by 0.13.0 and 0.13.1. */
137
+ export function assertLegacyDocumentEnvelope(envelope) {
138
+ assertKeys(envelope, [
139
+ "adapterContractVersion",
140
+ "envelopeDigest",
141
+ "foundation",
142
+ "journal",
143
+ "operationKind",
144
+ "payloadDigest",
145
+ "payloadKind",
146
+ "recoveryHandler",
147
+ "schemaVersion",
148
+ "state"
149
+ ], [], "Legacy Foundation envelope");
150
+ const foundation = envelope["foundation"];
151
+ const handler = envelope["recoveryHandler"];
152
+ const journal = envelope["journal"];
153
+ if (!isRecord(foundation) || !isRecord(handler) || !isRecord(journal)) {
154
+ throw new Error("Legacy Foundation envelope nested shape is invalid.");
155
+ }
156
+ assertKeys(foundation, ["buildIdentity", "version"], [], "Legacy Foundation identity");
157
+ assertKeys(handler, ["contractVersion", "id"], [], "Legacy recovery handler");
158
+ assertKeys(journal, ["destination", "plan", "schemaVersion"], ["ownedTemporary"], "Legacy document journal");
159
+ if (!isKnownLegacyDocumentEnvelopeBuild(foundation) ||
160
+ envelope["operationKind"] !== "document-authoring" ||
161
+ envelope["payloadKind"] !== "document-authoring-journal/v1" ||
162
+ envelope["adapterContractVersion"] !== 1 ||
163
+ handler["id"] !== "foundation.document-authoring" ||
164
+ handler["contractVersion"] !== 1 ||
165
+ journal["schemaVersion"] !== 1 ||
166
+ !["PREPARED", "PUBLISHING", "PUBLISHED"].includes(String(envelope["state"]))) {
167
+ throw new Error("Legacy Foundation envelope constants are invalid.");
168
+ }
169
+ const plan = journal["plan"];
170
+ const destination = journal["destination"];
171
+ if (!isRecord(plan) || !isRecord(destination)) {
172
+ throw new Error("Legacy Document Plan is invalid.");
173
+ }
174
+ assertKeys(destination, ["path", "state"], [], "Legacy journal destination");
175
+ const ownedTemporary = journal["ownedTemporary"];
176
+ if (ownedTemporary !== undefined) {
177
+ if (!isRecord(ownedTemporary)) {
178
+ throw new Error("Legacy owned temporary is invalid.");
179
+ }
180
+ assertKeys(ownedTemporary, ["digest", "path"], [], "Legacy owned temporary");
181
+ }
182
+ assertLegacyDocumentPlanDigests(plan);
183
+ if (envelope["payloadDigest"] !== legacySha256Json(journal)) {
184
+ throw new Error("Legacy transaction payload digest is invalid.");
185
+ }
186
+ const { envelopeDigest, ...body } = envelope;
187
+ if (envelopeDigest !== legacySha256Json(body)) {
188
+ throw new Error("Legacy transaction envelope digest is invalid.");
189
+ }
190
+ }
191
+ function assertLegacyDocumentPlanDigests(plan) {
192
+ assertLegacyPlanShape(plan);
193
+ const intent = plan["intent"];
194
+ const output = plan["output"];
195
+ if (plan["intentDigest"] !== legacySha256Json(intent)) {
196
+ throw new Error("Legacy Document Intent digest is invalid.");
197
+ }
198
+ if (typeof output["contentBase64"] !== "string") {
199
+ throw new Error("Legacy Document output is invalid.");
200
+ }
201
+ const outputBytes = Buffer.from(output["contentBase64"], "base64");
202
+ if (outputBytes.toString("base64") !== output["contentBase64"] ||
203
+ output["size"] !== outputBytes.byteLength ||
204
+ output["digest"] !== legacySha256Bytes(outputBytes)) {
205
+ throw new Error("Legacy Document output binding is invalid.");
206
+ }
207
+ const { planDigest, ...body } = plan;
208
+ if (planDigest !== legacySha256Json(body)) {
209
+ throw new Error("Legacy Document Plan digest is invalid.");
210
+ }
211
+ }
212
+ //# sourceMappingURL=legacy-document-envelope-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-document-envelope-v2.js","sourceRoot":"","sources":["../../../../src/transaction-coordination/adapters/node/legacy-document-envelope-v2.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-foundation-transaction-slot.d.ts","sourceRoot":"","sources":["../../../../src/transaction-coordination/adapters/node/node-foundation-transaction-slot.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAIV,2BAA2B,EAC5B,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AAuWxG,qBAAa,6BAA8B,YAAW,yBAAyB;;IAO7E,YAAY,OAAO,EAAE;QACnB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;QACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;KACnC,EAUA;IA6CK,OAAO,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAYpD;CACF"}
1
+ {"version":3,"file":"node-foundation-transaction-slot.d.ts","sourceRoot":"","sources":["../../../../src/transaction-coordination/adapters/node/node-foundation-transaction-slot.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAIV,2BAA2B,EAC5B,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AAgZxG,qBAAa,6BAA8B,YAAW,yBAAyB;;IAO7E,YAAY,OAAO,EAAE;QACnB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;QACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;KACnC,EAUA;IA6CK,OAAO,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAYpD;CACF"}
@@ -3,10 +3,15 @@ import { join } from "node:path";
3
3
  import { TextDecoder } from "node:util";
4
4
  import { FOUNDATION_TRANSACTION_FILE, FOUNDATION_TRANSACTION_TEMPORARY_FILE, FOUNDATION_LINK_STATE_FILE, FOUNDATION_REGISTRY_BACKUP, LOCAL_STATE_DIRECTORY } from "../../../foundation-state-contract.js";
5
5
  import { assertSchema } from "../../../schema-catalog.js";
6
- import { sha256Bytes, sha256Json } from "../../../scaffolding/kernel/canonical-json.js";
6
+ import { sha256Json as sha256DocumentJson } from "../../../canonical-json.js";
7
+ import { assertDocumentPlanDigests } from "../../../document-authoring/application/policies/document-contract-digests.js";
8
+ import { documentTemporaryPath } from "../../../document-authoring/application/policies/document-temporary-path.js";
7
9
  import { assertAuthorityScaffoldJournal } from "../../../scaffolding/kernel/authority-journal-validation.js";
10
+ import { sha256Json as sha256ScaffoldingJson } from "../../../scaffolding/kernel/canonical-json.js";
8
11
  import { parseStrictJson } from "../../../strict-json.js";
9
12
  import { readBoundedRegularFile } from "../../../repository-mutation/adapters/node/node-bounded-regular-file.js";
13
+ import { assertLegacyDocumentEnvelope, isKnownLegacyDocumentEnvelope } from "./legacy-document-envelope-v2.js";
14
+ import { classifyNodeTemporaryIdentity, unverifiableDocumentTemporaryStatus } from "./document-temporary-identity.js";
10
15
  const maximumTransactionBytes = 32 * 1024 * 1024;
11
16
  const maximumLinkStateBytes = 64 * 1024;
12
17
  const maximumStateDirectoryEntries = 1024;
@@ -154,47 +159,44 @@ async function inspectLocalModeEvidence(stateDirectory) {
154
159
  }
155
160
  }
156
161
  function assertEnvelopeDigests(envelope) {
162
+ const sha256EnvelopeJson = envelope["operationKind"] === "scaffolding"
163
+ ? sha256ScaffoldingJson
164
+ : sha256DocumentJson;
157
165
  const journal = envelope["journal"];
158
- if (envelope["payloadDigest"] !== sha256Json(journal)) {
166
+ if (envelope["payloadDigest"] !== sha256EnvelopeJson(journal)) {
159
167
  throw new Error("Foundation transaction payload digest is invalid.");
160
168
  }
161
169
  const { envelopeDigest, ...body } = envelope;
162
- if (envelopeDigest !== sha256Json(body)) {
170
+ if (envelopeDigest !== sha256EnvelopeJson(body)) {
163
171
  throw new Error("Foundation transaction envelope digest is invalid.");
164
172
  }
165
173
  }
166
- function assertDocumentPlanDigest(plan) {
167
- const { planDigest, ...body } = plan;
168
- if (planDigest !== sha256Json(body)) {
169
- throw new Error("Document Plan digest is invalid.");
170
- }
171
- }
172
- function assertDocumentTransactionBindings(journal, plan, envelopeState) {
173
- const intent = plan["intent"];
174
+ function assertDocumentTransactionBindings(journal, plan, envelopeState, legacyDigestSemantics) {
174
175
  const output = plan["output"];
175
176
  const destination = journal["destination"];
176
- if (!isRecord(intent) ||
177
- plan["intentDigest"] !== sha256Json(intent) ||
178
- !isRecord(output) ||
177
+ if (!isRecord(output) ||
179
178
  typeof output["contentBase64"] !== "string" ||
180
179
  !isRecord(destination) ||
181
180
  destination["path"] !== plan["destination"]) {
182
181
  throw new Error("Document transaction semantic binding is invalid.");
183
182
  }
184
- const outputBytes = Buffer.from(output["contentBase64"], "base64");
185
- if (outputBytes.toString("base64") !== output["contentBase64"] ||
186
- output["size"] !== outputBytes.byteLength ||
187
- output["digest"] !== sha256Bytes(outputBytes)) {
188
- throw new Error("Document transaction output binding is invalid.");
189
- }
190
183
  const ownedTemporary = journal["ownedTemporary"];
184
+ let temporaryIdentityAuthority = "legacy-or-absent";
191
185
  if (ownedTemporary !== undefined) {
186
+ const expectedTemporary = legacyDigestSemantics
187
+ ? `${String(plan["destination"])}.foundation-document.tmp`
188
+ : documentTemporaryPath(String(plan["destination"]), String(plan["planDigest"]));
192
189
  if (!isRecord(ownedTemporary) ||
193
190
  ownedTemporary["digest"] !== output["digest"] ||
194
191
  typeof ownedTemporary["path"] !== "string" ||
195
- ownedTemporary["path"] !== `${String(plan["destination"])}.foundation-document.tmp`) {
192
+ ownedTemporary["path"] !== expectedTemporary ||
193
+ (!legacyDigestSemantics &&
194
+ classifyNodeTemporaryIdentity(ownedTemporary["identity"]) === "invalid")) {
196
195
  throw new Error("Document transaction temporary binding is invalid.");
197
196
  }
197
+ if (!legacyDigestSemantics) {
198
+ temporaryIdentityAuthority = classifyNodeTemporaryIdentity(ownedTemporary["identity"]);
199
+ }
198
200
  }
199
201
  const precondition = plan["destinationPrecondition"];
200
202
  if (!isRecord(precondition)) {
@@ -209,6 +211,15 @@ function assertDocumentTransactionBindings(journal, plan, envelopeState) {
209
211
  if (expectedLifecycle === undefined || !expectedLifecycle.has(lifecycle)) {
210
212
  throw new Error("Document transaction lifecycle binding is invalid.");
211
213
  }
214
+ return temporaryIdentityAuthority;
215
+ }
216
+ function inspectDocumentTransactionBindings(options) {
217
+ if (!options.legacy) {
218
+ assertDocumentPlanDigests(options.plan);
219
+ }
220
+ return assertDocumentTransactionBindings(options.journal, options.plan, options.state, options.legacy) === "unverifiable"
221
+ ? unverifiableDocumentTemporaryStatus(options.foundation)
222
+ : undefined;
212
223
  }
213
224
  async function inspectParsedTransaction(value, installedVersion, installedBuildIdentity) {
214
225
  if (!isRecord(value) || typeof value["schemaVersion"] !== "number") {
@@ -232,8 +243,14 @@ async function inspectParsedTransaction(value, installedVersion, installedBuildI
232
243
  });
233
244
  }
234
245
  if (value["schemaVersion"] === 2) {
235
- await assertSchema("foundation-transaction-envelope/v2", value, "foundation-transaction-slot");
236
- assertEnvelopeDigests(value);
246
+ const legacyDocumentEnvelope = isKnownLegacyDocumentEnvelope(value);
247
+ if (legacyDocumentEnvelope) {
248
+ assertLegacyDocumentEnvelope(value);
249
+ }
250
+ else {
251
+ await assertSchema("foundation-transaction-envelope/v2", value, "foundation-transaction-slot");
252
+ assertEnvelopeDigests(value);
253
+ }
237
254
  const foundation = value["foundation"];
238
255
  const operationKind = value["operationKind"];
239
256
  const journal = value["journal"];
@@ -256,8 +273,13 @@ async function inspectParsedTransaction(value, installedVersion, installedBuildI
256
273
  throw new Error("Foundation transaction compiler binding is invalid.");
257
274
  }
258
275
  if (operationKind === "document-authoring") {
259
- assertDocumentPlanDigest(plan);
260
- assertDocumentTransactionBindings(journal, plan, value["state"]);
276
+ const documentStatus = inspectDocumentTransactionBindings({
277
+ foundation, journal, legacy: legacyDocumentEnvelope, plan,
278
+ state: value["state"]
279
+ });
280
+ if (documentStatus !== undefined) {
281
+ return documentStatus;
282
+ }
261
283
  }
262
284
  else {
263
285
  assertAuthorityScaffoldJournal(journal);
@@ -1 +1 @@
1
- {"version":3,"file":"node-foundation-transaction-slot.js","sourceRoot":"","sources":["../../../../src/transaction-coordination/adapters/node/node-foundation-transaction-slot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-foundation-transaction-slot.js","sourceRoot":"","sources":["../../../../src/transaction-coordination/adapters/node/node-foundation-transaction-slot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EACL,2BAA2B,EAC3B,qCAAqC,EACrC,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,+EAA+E,CAAC;AAC1H,OAAO,EAAE,qBAAqB,EAAE,MAAM,6EAA6E,CAAC;AAKpH,OAAO,EAAE,8BAA8B,EAAE,MAAM,6DAA6D,CAAC;AAC7G,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAQ1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yEAAyE,CAAC;AACjH,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,EACpC,MAAM,kCAAkC,CAAC;AAE1C,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACjD,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AACxC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAC1C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9E,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CACL,KAAK,YAAY,KAAK;QACtB,MAAM,IAAI,KAAK;QACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CACb,MAAsC,EACtC,OAAe;IAEf,OAAO;QACL,KAAK,EAAE,0BAA0B;QACjC,MAAM;QACN,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,iDAAiD;gBACvD,OAAO;aACR;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,sBAA8B;IACnD,OAAO;QACL,SAAS,EAAE,kBAAkB;QAC7B,sBAAsB;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,OAMhB;IACC,MAAM,WAAW,GAAsC,EAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC3D,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,yCAAyC;YAC/C,OAAO,EAAE,cAAc,OAAO,CAAC,iBAAiB,6BAA6B,OAAO,CAAC,aAAa,+BAA+B,OAAO,CAAC,gBAAgB,KAAK,OAAO,CAAC,sBAAsB,+BAA+B;SAC5N,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,aAAa,OAAO,CAAC,aAAa,8EAA8E;SAC1H,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAClD,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,aAAa,EAAE,YAAY;QAC3B,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;QACjC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,YAAY,GAAG;QACnB,YAAY;QACZ,cAAc;QACd,WAAW;QACX,UAAU;QACV,gBAAgB;QAChB,OAAO;QACP,oBAAoB;QACpB,mBAAmB;QACnB,qBAAqB;QACrB,eAAe;QACf,mBAAmB;KACpB,CAAC;IACF,IACE,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC;QAC5B,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,QAAQ;QACzC,OAAO,KAAK,CAAC,mBAAmB,CAAC,KAAK,QAAQ;QAC9C,OAAO,KAAK,CAAC,oBAAoB,CAAC,KAAK,QAAQ;QAC/C,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC,qBAAqB,CAAC,KAAK,QAAQ;QAChD,OAAO,KAAK,CAAC,gBAAgB,CAAC,KAAK,QAAQ;QAC3C,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS;QACtC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,QAAQ;QACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAClE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAwC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,cAAsB;IAEtB,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CACX,6BAA6B,EAC7B,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;QAClD,OAAO,MAAM,CACX,6BAA6B,EAC7B,wDAAwD,CACzD,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,IAAI,CACV,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,CAAC,GAAG,0BAA0B,GAAG,CAAC;QAClD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CACzB,EACD,CAAC;QACD,OAAO,MAAM,CACX,6BAA6B,EAC7B,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS;YACd,CAAC,CAAC,gBAAgB,CACd,uGAAuG,CACxG;YACH,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,IAAI,CAAC,cAAc,EAAE,0BAA0B,CAAC,EAChD,qBAAqB,CACtB,CAAC;QACF,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAC1B,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACjD,CAAC;QACF,IAAI,KAAK,KAAK,OAAO,IAAI,SAAS,EAAE,CAAC;YACnC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,gBAAgB,CACrB,+CAA+C,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,sCAAsC,CAC1I,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CACX,6BAA6B,EAC7B,uEAAuE,CACxE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAiC;IAC9D,MAAM,kBAAkB,GACtB,QAAQ,CAAC,eAAe,CAAC,KAAK,aAAa;QACzC,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,kBAAkB,CAAC;IACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,kBAAkB,CAAC,OAAoB,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;IAC7C,IAAI,cAAc,KAAK,kBAAkB,CAAC,IAAiB,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CACxC,OAAgC,EAChC,IAA6B,EAC7B,aAAsB,EACtB,qBAA8B;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,IACE,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjB,OAAO,MAAM,CAAC,eAAe,CAAC,KAAK,QAAQ;QAC3C,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtB,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,EAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,IAAI,0BAA0B,GAC5B,kBAAkB,CAAC;IACrB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,iBAAiB,GAAG,qBAAqB;YAC7C,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,0BAA0B;YAC1D,CAAC,CAAC,qBAAqB,CACnB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAC3B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAC3B,CAAC;QACN,IACE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACzB,cAAc,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC;YAC7C,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,QAAQ;YAC1C,cAAc,CAAC,MAAM,CAAC,KAAK,iBAAiB;YAC5C,CAAC,CAAC,qBAAqB;gBACrB,6BAA6B,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,SAAS,CAAC,EAC1E,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,0BAA0B,GAAG,6BAA6B,CACxD,cAAc,CAAC,UAAU,CAAC,CACM,CAAC;QACrC,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,EAAE,CAAC;IAC7H,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;QAChC,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC,CAAC;QAC3E,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnD,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;KACnD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9B,IAAI,iBAAiB,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,SAAS,kCAAkC,CAAC,OAM3C;IACC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,iCAAiC,CACtC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CACf,KAAK,cAAc;QAClB,CAAC,CAAC,mCAAmC,CAAC,OAAO,CAAC,UAAU,CAAC;QACzD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,KAAc,EACd,gBAAwB,EACxB,sBAA8B;IAE9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,eAAe,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnE,OAAO,MAAM,CACX,cAAc,EACd,+DAA+D,CAChE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,YAAY,CAChB,8BAA8B,EAC9B,KAAK,EACL,6BAA6B,CAC9B,CAAC;QACF,MAAM,OAAO,GAAG,KAA4C,CAAC;QAC7D,8BAA8B,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,OAAO,CAAC;YACb,aAAa,EAAE,aAAa;YAC5B,MAAM,EAAE,uBAAuB;YAC/B,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC;YACtC,gBAAgB;YAChB,sBAAsB;SACvB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,sBAAsB,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,sBAAsB,EAAE,CAAC;YAC3B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,CAChB,oCAAoC,EACpC,KAAK,EACL,6BAA6B,CAC9B,CAAC;YACF,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,IACE,CAAC,QAAQ,CAAC,UAAU,CAAC;YACrB,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,QAAQ;YACzC,OAAO,UAAU,CAAC,eAAe,CAAC,KAAK,QAAQ;YAC/C,CAAC,QAAQ,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EACtE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IACE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnB,QAAQ,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,SAAS,CAAC;YAC7C,CAAC,aAAa,KAAK,oBAAoB;gBACrC,QAAQ,CAAC,eAAe,CAAC,KAAK,UAAU,CAAC,eAAe,CAAC,CAAC,EAC5D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,aAAa,KAAK,oBAAoB,EAAE,CAAC;YAC3C,MAAM,cAAc,GAAG,kCAAkC,CAAC;gBACxD,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI;gBACzD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;aACtB,CAAC,CAAC;YACH,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,8BAA8B,CAC5B,OAA8C,CAC/C,CAAC;QACJ,CAAC;QACD,OAAO;YACL,KAAK,EAAE,0BAA0B;YACjC,MAAM,EAAE,8BAA8B;YACtC,aAAa,EAAE,aAAqD;YACpE,MAAM,EAAE,aAAa;YACrB,iBAAiB,EAAE,UAAU,CAAC,SAAS,CAAC;YACxC,uBAAuB,EAAE,UAAU,CAAC,eAAe,CAAC;YACpD,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,iDAAiD;oBACvD,OAAO,EAAE,cAAc,MAAM,CAAC,aAAa,CAAC,gCAAgC,UAAU,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,eAAe,CAAC,8EAA8E;iBAChN;aACF;SACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CACX,oBAAoB,EACpB,yCAAyC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,oCAAoC,CAC5G,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,6BAA6B;IAC/B,uBAAuB,CAAS;IAChC,iBAAiB,CAAS;IAC1B,eAAe,CAAS;IACxB,SAAS,CAAS;IAClB,cAAc,CAAS;IAEhC,YAAY,OAIX;QACC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;QACzE,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,IAAI,CACxB,cAAc,EACd,qCAAqC,CACtC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,OAAO,MAAM,CACX,kBAAkB,EAClB,mGAAmG,CACpG,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,sBAAsB,CACnC,IAAI,CAAC,SAAS,EACd,uBAAuB,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YAC5C,CAAC;YACD,OAAO,MAAM,CACX,cAAc,EACd,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,MAAM,CACX,eAAe,EACf,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/C,OAAO,MAAM,wBAAwB,CACnC,eAAe,CAAC,MAAM,CAAC,EACvB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,uBAAuB,CAC7B,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CACX,yBAAyB,EACzB,0FAA0F,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,wBAAwB,CAAC,IAAI,CAAC,eAAe,CAAC;YAC9C,IAAI,CAAC,2BAA2B,EAAE;SACnC,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI,WAAW,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC/D,OAAO,MAAM,CACX,uBAAuB,EACvB,6GAA6G,CAC9G,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;IAChE,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-teams/engineering-foundation",
3
- "version": "0.13.1",
3
+ "version": "0.15.0",
4
4
  "description": "Versioned engineering policy, tooling, and conformance for Agent Teams repositories.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -22,7 +22,7 @@
22
22
  "type": "string",
23
23
  "minLength": 1,
24
24
  "maxLength": 512,
25
- "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$"
25
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]{1,255}(?:/[A-Za-z0-9._@-]{1,255})*$"
26
26
  },
27
27
  "catalog": {
28
28
  "type": "object",
@@ -104,15 +104,7 @@
104
104
  "properties": {
105
105
  "type": { "$ref": "#/$defs/lowerId" },
106
106
  "initialStatus": { "$ref": "#/$defs/lowerId" },
107
- "identity": {
108
- "type": "object",
109
- "additionalProperties": false,
110
- "required": ["kind", "format"],
111
- "properties": {
112
- "kind": { "const": "explicit" },
113
- "format": { "enum": ["adr-four-digits", "open-decision-three-digits", "qualified"] }
114
- }
115
- },
107
+ "identity": { "$ref": "#/$defs/identity" },
116
108
  "placement": {
117
109
  "oneOf": [
118
110
  { "$ref": "#/$defs/collectionPlacement" },
@@ -137,6 +129,62 @@
137
129
  }
138
130
  }
139
131
  },
132
+ "identity": {
133
+ "oneOf": [
134
+ { "$ref": "#/$defs/adrIdentity" },
135
+ { "$ref": "#/$defs/openDecisionIdentity" },
136
+ { "$ref": "#/$defs/qualifiedIdentity" }
137
+ ]
138
+ },
139
+ "adrIdentity": {
140
+ "type": "object",
141
+ "additionalProperties": false,
142
+ "required": ["kind", "format"],
143
+ "properties": {
144
+ "kind": { "const": "explicit" },
145
+ "format": { "const": "adr-four-digits" }
146
+ }
147
+ },
148
+ "openDecisionIdentity": {
149
+ "type": "object",
150
+ "additionalProperties": false,
151
+ "required": ["kind", "format"],
152
+ "properties": {
153
+ "kind": { "const": "explicit" },
154
+ "format": { "const": "open-decision-three-digits" }
155
+ }
156
+ },
157
+ "qualifiedIdentity": {
158
+ "type": "object",
159
+ "additionalProperties": false,
160
+ "required": ["kind", "format", "grammar"],
161
+ "properties": {
162
+ "kind": { "const": "explicit" },
163
+ "format": { "const": "qualified" },
164
+ "grammar": { "$ref": "#/$defs/qualifiedIdentityGrammar" }
165
+ }
166
+ },
167
+ "qualifiedIdentityGrammar": {
168
+ "type": "object",
169
+ "additionalProperties": false,
170
+ "required": ["prefixSegments", "minSuffixSegments", "maxSuffixSegments"],
171
+ "properties": {
172
+ "prefixSegments": {
173
+ "type": "array",
174
+ "minItems": 1,
175
+ "maxItems": 8,
176
+ "items": { "$ref": "#/$defs/qualifiedIdentitySegment" }
177
+ },
178
+ "minSuffixSegments": { "type": "integer", "minimum": 1, "maximum": 16 },
179
+ "maxSuffixSegments": { "type": "integer", "minimum": 1, "maximum": 16 }
180
+ }
181
+ },
182
+ "qualifiedIdentitySegment": {
183
+ "type": "string",
184
+ "minLength": 1,
185
+ "maxLength": 80,
186
+ "pattern": "^[a-z][a-z0-9-]*$"
187
+ },
140
188
  "collectionPlacement": {
141
189
  "type": "object",
142
190
  "additionalProperties": false,
@@ -150,23 +198,24 @@
150
198
  "qualifiedLeafIndexPlacement": {
151
199
  "type": "object",
152
200
  "additionalProperties": false,
153
- "required": ["kind", "allowedRoots", "requiredSegmentsInOrder", "requiredBasename"],
201
+ "required": ["kind", "root", "requiredBasename"],
154
202
  "properties": {
155
203
  "kind": { "const": "qualified-leaf-index" },
156
- "allowedRoots": { "$ref": "#/$defs/pathList" },
157
- "requiredSegmentsInOrder": { "$ref": "#/$defs/pathSegmentList" },
204
+ "root": { "$ref": "#/$defs/repositoryPath" },
158
205
  "requiredBasename": { "const": "README.md" }
159
206
  }
160
207
  },
161
208
  "explicitPlacement": {
162
209
  "type": "object",
163
210
  "additionalProperties": false,
164
- "required": ["kind", "allowedRoots", "requiredSegmentsInOrder", "requiredBasename"],
211
+ "required": ["kind", "allowedRoots", "requiredSegmentsInOrder", "requiredBasename", "minimumSegmentsBeforeRequired", "minimumSegmentsAfterRequired"],
165
212
  "properties": {
166
213
  "kind": { "const": "explicit" },
167
214
  "allowedRoots": { "$ref": "#/$defs/pathList" },
168
215
  "requiredSegmentsInOrder": { "$ref": "#/$defs/pathSegmentList" },
169
- "requiredBasename": { "enum": ["README.md"] }
216
+ "requiredBasename": { "enum": ["README.md"] },
217
+ "minimumSegmentsBeforeRequired": { "type": "integer", "minimum": 0, "maximum": 16 },
218
+ "minimumSegmentsAfterRequired": { "type": "integer", "minimum": 0, "maximum": 16 }
170
219
  }
171
220
  },
172
221
  "pathList": {
@@ -34,7 +34,7 @@
34
34
  "type": "string",
35
35
  "minLength": 1,
36
36
  "maxLength": 512,
37
- "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$"
37
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]{1,255}(?:/[A-Za-z0-9._@-]{1,255})*$"
38
38
  },
39
39
  "documentDescriptor": {
40
40
  "type": "object",