@agent-teams/engineering-foundation 0.8.0 → 0.9.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/capabilities/contract-protobuf-evolution/adapters/outbound/qualification/filesystem-buf-breaking-qualification-evidence.js +1 -1
  2. package/dist/capabilities/contract-protobuf-evolution/application/model/buf-breaking-qualification.d.ts +2 -2
  3. package/dist/capabilities/contract-protobuf-evolution/application/model/buf-breaking-qualification.js +2 -2
  4. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts +4 -4
  5. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts.map +1 -1
  6. package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts +1 -1
  7. package/dist/capabilities/contract-protobuf-evolution/contract/config.js +4 -4
  8. package/dist/capabilities/contract-protobuf-evolution/contract/config.js.map +1 -1
  9. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -1
  10. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +1 -14
  11. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -1
  12. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts +4 -4
  13. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts.map +1 -1
  14. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js +34 -46
  15. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js.map +1 -1
  16. package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts +18 -75
  17. package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts.map +1 -1
  18. package/dist/capabilities/public-api-compatibility/application/model/public-api.js +7 -29
  19. package/dist/capabilities/public-api-compatibility/application/model/public-api.js.map +1 -1
  20. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts +1 -5
  21. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts.map +1 -1
  22. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js +1 -8
  23. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js.map +1 -1
  24. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.d.ts.map +1 -1
  25. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js +5 -38
  26. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js.map +1 -1
  27. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.d.ts +1 -1
  28. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js +2 -2
  29. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js.map +1 -1
  30. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts.map +1 -1
  31. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js +0 -1
  32. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js.map +1 -1
  33. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts.map +1 -1
  34. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js +0 -38
  35. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js.map +1 -1
  36. package/dist/capabilities/public-api-compatibility/contract/config.d.ts +1 -1
  37. package/dist/capabilities/public-api-compatibility/contract/config.d.ts.map +1 -1
  38. package/dist/capabilities/public-api-compatibility/contract/config.js +32 -106
  39. package/dist/capabilities/public-api-compatibility/contract/config.js.map +1 -1
  40. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.js +1 -1
  41. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.js.map +1 -1
  42. package/dist/scaffolding/adapters/node/filesystem-journal-state.js +1 -1
  43. package/dist/scaffolding/adapters/node/filesystem-journal.js +3 -3
  44. package/dist/scaffolding/adapters/node/filesystem-journal.js.map +1 -1
  45. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts +4 -11
  46. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts.map +1 -1
  47. package/dist/scaffolding/adapters/node/filesystem-operation-state.js +0 -24
  48. package/dist/scaffolding/adapters/node/filesystem-operation-state.js.map +1 -1
  49. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts +1 -1
  50. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -1
  51. package/dist/scaffolding/adapters/node/node-authority-input-loader.js +7 -7
  52. package/dist/scaffolding/adapters/node/node-authority-input-loader.js.map +1 -1
  53. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.js +1 -1
  54. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.js.map +1 -1
  55. package/dist/scaffolding/contract/receipt-authority-types.d.ts +2 -2
  56. package/dist/scaffolding/contract/scaffold-contract.d.ts +8 -8
  57. package/dist/scaffolding/contract/types.d.ts +9 -214
  58. package/dist/scaffolding/contract/types.d.ts.map +1 -1
  59. package/dist/scaffolding/definitions/registry.d.ts +0 -1
  60. package/dist/scaffolding/definitions/registry.d.ts.map +1 -1
  61. package/dist/scaffolding/definitions/registry.js +0 -3
  62. package/dist/scaffolding/definitions/registry.js.map +1 -1
  63. package/dist/scaffolding/kernel/authority-compiler.js +2 -2
  64. package/dist/scaffolding/kernel/authority-receipt.js +3 -3
  65. package/dist/scaffolding/kernel/plan-validation.js +1 -1
  66. package/dist/schema-catalog.js +3 -3
  67. package/dist/schema-catalog.js.map +1 -1
  68. package/dist/schema-ids.d.ts +2 -5
  69. package/dist/schema-ids.d.ts.map +1 -1
  70. package/dist/schema-ids.js +4 -15
  71. package/dist/schema-ids.js.map +1 -1
  72. package/package.json +8 -13
  73. package/schemas/contract-protobuf-breaking-qualification/v1.schema.json +5 -1
  74. package/schemas/contract-protobuf-evolution/v1.schema.json +47 -15
  75. package/schemas/package-public-api-baseline/v1.schema.json +49 -12
  76. package/schemas/package-public-api-compatibility/v1.schema.json +46 -5
  77. package/schemas/{scaffold-authority-evidence.schema.json → scaffold-authority-evidence/v1.schema.json} +1 -1
  78. package/schemas/{scaffold-intent.schema.json → scaffold-intent/v1.schema.json} +1 -1
  79. package/schemas/{scaffold-plan.schema.json → scaffold-plan/v1.schema.json} +3 -3
  80. package/schemas/{scaffold-receipt.schema.json → scaffold-receipt/v1.schema.json} +3 -3
  81. package/schemas/{scaffold-recovery-journal.schema.json → scaffold-recovery-journal/v1.schema.json} +3 -3
  82. package/schemas/{scaffold-target-catalog.schema.json → scaffold-target-catalog/v1.schema.json} +2 -2
  83. package/schemas/{scaffolding-config.schema.json → scaffolding-config/v1.schema.json} +2 -2
  84. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts +0 -9
  85. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts.map +0 -1
  86. package/dist/scaffolding/adapters/memory/memory-workspace.js +0 -93
  87. package/dist/scaffolding/adapters/memory/memory-workspace.js.map +0 -1
  88. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.d.ts +0 -6
  89. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.d.ts.map +0 -1
  90. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.js +0 -80
  91. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.js.map +0 -1
  92. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts +0 -14
  93. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts.map +0 -1
  94. package/dist/scaffolding/adapters/node/filesystem-workspace.js +0 -207
  95. package/dist/scaffolding/adapters/node/filesystem-workspace.js.map +0 -1
  96. package/dist/scaffolding/adapters/node/node-input-loader.d.ts +0 -17
  97. package/dist/scaffolding/adapters/node/node-input-loader.d.ts.map +0 -1
  98. package/dist/scaffolding/adapters/node/node-input-loader.js +0 -107
  99. package/dist/scaffolding/adapters/node/node-input-loader.js.map +0 -1
  100. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts +0 -4
  101. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts.map +0 -1
  102. package/dist/scaffolding/adapters/node/node-receipt-validator.js +0 -10
  103. package/dist/scaffolding/adapters/node/node-receipt-validator.js.map +0 -1
  104. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.d.ts +0 -3
  105. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.d.ts.map +0 -1
  106. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.js +0 -18
  107. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.js.map +0 -1
  108. package/dist/scaffolding/internal-rendering-regression-api.d.ts +0 -8
  109. package/dist/scaffolding/internal-rendering-regression-api.d.ts.map +0 -1
  110. package/dist/scaffolding/internal-rendering-regression-api.js +0 -8
  111. package/dist/scaffolding/internal-rendering-regression-api.js.map +0 -1
  112. package/dist/scaffolding/kernel/receipt.d.ts +0 -35
  113. package/dist/scaffolding/kernel/receipt.d.ts.map +0 -1
  114. package/dist/scaffolding/kernel/receipt.js +0 -206
  115. package/dist/scaffolding/kernel/receipt.js.map +0 -1
  116. package/dist/scaffolding/kernel/rendering-plan-compiler.d.ts +0 -4
  117. package/dist/scaffolding/kernel/rendering-plan-compiler.d.ts.map +0 -1
  118. package/dist/scaffolding/kernel/rendering-plan-compiler.js +0 -43
  119. package/dist/scaffolding/kernel/rendering-plan-compiler.js.map +0 -1
  120. package/dist/scaffolding/kernel/rendering-plan-validation.d.ts +0 -3
  121. package/dist/scaffolding/kernel/rendering-plan-validation.d.ts.map +0 -1
  122. package/dist/scaffolding/kernel/rendering-plan-validation.js +0 -10
  123. package/dist/scaffolding/kernel/rendering-plan-validation.js.map +0 -1
  124. package/dist/scaffolding/service.d.ts +0 -8
  125. package/dist/scaffolding/service.d.ts.map +0 -1
  126. package/dist/scaffolding/service.js +0 -16
  127. package/dist/scaffolding/service.js.map +0 -1
  128. package/schemas/contract-protobuf-breaking-qualification/v2.schema.json +0 -93
  129. package/schemas/contract-protobuf-evolution/v2.schema.json +0 -147
  130. package/schemas/package-public-api-baseline/v2.schema.json +0 -62
  131. package/schemas/package-public-api-compatibility/v2.schema.json +0 -113
@@ -1,206 +0,0 @@
1
- import { ScaffoldError } from "../scaffold-error.js";
2
- import { sha256Json } from "./canonical-json.js";
3
- import { assertScaffoldPlanDigest } from "./rendering-plan-validation.js";
4
- const SHA_256_DIGEST_PATTERN = /^sha256:[0-9a-f]{64}$/u;
5
- function invalidReceipt(message) {
6
- throw new ScaffoldError("SCAFFOLD_RECEIPT_INVALID", message);
7
- }
8
- function isSha256Digest(value) {
9
- return value !== undefined && SHA_256_DIGEST_PATTERN.test(value);
10
- }
11
- function hasObservedPostImage(outcome) {
12
- return (outcome === "already-satisfied" ||
13
- outcome === "applied" ||
14
- outcome === "recovered");
15
- }
16
- function assertOperationOutcomes(receipt, allowed, required) {
17
- if (receipt.operations.some((operation) => !allowed.includes(operation.outcome))) {
18
- invalidReceipt("Scaffolding Receipt operation outcome is incompatible with its Receipt outcome.");
19
- }
20
- if (required !== undefined &&
21
- !receipt.operations.some((operation) => operation.outcome === required)) {
22
- invalidReceipt("Scaffolding Receipt does not contain the required operation evidence.");
23
- }
24
- }
25
- function assertReceiptVersionContract(receipt) {
26
- if (receipt.schemaVersion !== 1 || receipt.protocolVersion !== 1) {
27
- invalidReceipt("Scaffolding Receipt does not use protocol v1.");
28
- }
29
- }
30
- function assertReceiptDigestShape(receipt) {
31
- if (!isSha256Digest(receipt.planDigest)) {
32
- invalidReceipt("Scaffolding Receipt Plan digest is invalid.");
33
- }
34
- }
35
- function assertAdapterAndCommitContract(receipt) {
36
- if (receipt.adapter.contractVersion !== 1) {
37
- invalidReceipt("Scaffolding Receipt adapter contract version is not supported.");
38
- }
39
- const expectedAtomicity = receipt.adapter.id === "foundation.filesystem/v1"
40
- ? "journaled-recoverable"
41
- : receipt.adapter.id === "foundation.memory/v1"
42
- ? "memory-atomic"
43
- : invalidReceipt("Scaffolding Receipt adapter is not supported by protocol v1.");
44
- const filesystemAdapter = receipt.adapter.id === "foundation.filesystem/v1";
45
- if (receipt.commit.atomicity !== expectedAtomicity) {
46
- invalidReceipt("Scaffolding Receipt adapter and commit atomicity are incompatible.");
47
- }
48
- const expectedCommitState = (() => {
49
- switch (receipt.outcome) {
50
- case "applied":
51
- case "already-applied":
52
- return "committed";
53
- case "failed-recovered":
54
- return "recovered";
55
- case "recovery-required":
56
- return "recovery-required";
57
- case "rejected":
58
- return "rejected";
59
- default:
60
- return invalidReceipt("Scaffolding Receipt outcome is not supported by protocol v1.");
61
- }
62
- })();
63
- if (receipt.commit.state !== expectedCommitState) {
64
- invalidReceipt("Scaffolding Receipt outcome and commit state are incompatible.");
65
- }
66
- if (!filesystemAdapter &&
67
- (receipt.outcome === "failed-recovered" ||
68
- receipt.outcome === "recovery-required")) {
69
- invalidReceipt("Scaffolding Receipt outcome requires a journaled filesystem adapter.");
70
- }
71
- }
72
- function assertReceiptOperationEvidence(receipt) {
73
- const operationIds = new Set();
74
- const operationPaths = new Set();
75
- for (const operation of receipt.operations) {
76
- if (operationIds.has(operation.operationId) ||
77
- operationPaths.has(operation.path)) {
78
- invalidReceipt(`Scaffolding Receipt operation evidence is duplicated: ${operation.operationId}.`);
79
- }
80
- operationIds.add(operation.operationId);
81
- operationPaths.add(operation.path);
82
- if (hasObservedPostImage(operation.outcome)) {
83
- if (!isSha256Digest(operation.resultDigest)) {
84
- invalidReceipt(`Scaffolding Receipt operation lacks a result digest: ${operation.operationId}.`);
85
- }
86
- }
87
- else if (operation.resultDigest !== undefined) {
88
- invalidReceipt(`Scaffolding Receipt operation claims an unobserved result: ${operation.operationId}.`);
89
- }
90
- }
91
- }
92
- function assertReceiptOutcomeEvidence(receipt) {
93
- switch (receipt.outcome) {
94
- case "applied":
95
- if (receipt.operations.length === 0) {
96
- invalidReceipt("An applied Scaffolding Receipt requires operation evidence.");
97
- }
98
- assertOperationOutcomes(receipt, ["already-satisfied", "applied"], "applied");
99
- break;
100
- case "already-applied":
101
- if (receipt.operations.length === 0) {
102
- invalidReceipt("An already-applied Scaffolding Receipt requires operation evidence.");
103
- }
104
- assertOperationOutcomes(receipt, ["already-satisfied"]);
105
- break;
106
- case "failed-recovered":
107
- if (receipt.operations.length === 0) {
108
- invalidReceipt("A failed-recovered Scaffolding Receipt requires operation evidence.");
109
- }
110
- assertOperationOutcomes(receipt, ["already-satisfied", "recovered"]);
111
- break;
112
- case "recovery-required":
113
- assertOperationOutcomes(receipt, [
114
- "already-satisfied",
115
- "conflict",
116
- "not-applied"
117
- ]);
118
- if (!receipt.operations.some((operation) => operation.outcome === "conflict" ||
119
- operation.outcome === "not-applied")) {
120
- invalidReceipt("A recovery-required Scaffolding Receipt requires unresolved operation evidence.");
121
- }
122
- break;
123
- case "rejected":
124
- assertOperationOutcomes(receipt, [
125
- "already-satisfied",
126
- "conflict",
127
- "not-applied"
128
- ]);
129
- break;
130
- default:
131
- invalidReceipt("Scaffolding Receipt outcome is not supported by protocol v1.");
132
- }
133
- }
134
- function assertReceiptContract(receipt) {
135
- assertReceiptVersionContract(receipt);
136
- assertReceiptDigestShape(receipt);
137
- assertAdapterAndCommitContract(receipt);
138
- assertReceiptOperationEvidence(receipt);
139
- assertReceiptOutcomeEvidence(receipt);
140
- }
141
- function assertPlanEvidence(receipt, plan) {
142
- assertScaffoldPlanDigest(plan);
143
- if (receipt.planDigest !== plan.planDigest) {
144
- invalidReceipt("Scaffolding Receipt references a different Plan digest.");
145
- }
146
- const planOperations = new Map(plan.operations.map((operation) => [operation.id, operation]));
147
- for (const operation of receipt.operations) {
148
- const planned = planOperations.get(operation.operationId);
149
- if (planned === undefined || planned.path !== operation.path) {
150
- invalidReceipt(`Scaffolding Receipt operation does not match its Plan evidence: ${operation.operationId}.`);
151
- }
152
- if (hasObservedPostImage(operation.outcome) &&
153
- operation.resultDigest !== planned.after.digest) {
154
- invalidReceipt(`Scaffolding Receipt result digest does not match its Plan evidence: ${operation.operationId}.`);
155
- }
156
- }
157
- if ((receipt.outcome === "applied" ||
158
- receipt.outcome === "already-applied" ||
159
- receipt.outcome === "failed-recovered") &&
160
- receipt.operations.length !== plan.operations.length) {
161
- invalidReceipt("A completed Scaffolding Receipt must provide evidence for every Plan operation.");
162
- }
163
- }
164
- function assertScaffoldReceiptCandidateDigest(receipt, plan) {
165
- assertReceiptContract(receipt);
166
- const { receiptDigest: _receiptDigest, ...body } = receipt;
167
- const expected = sha256Json(body);
168
- if (receipt.receiptDigest !== expected) {
169
- invalidReceipt("Scaffolding Receipt digest does not match its canonical content.");
170
- }
171
- if (plan !== undefined) {
172
- assertPlanEvidence(receipt, plan);
173
- }
174
- }
175
- /**
176
- * Verifies digest and semantic evidence for a schema-validated Receipt.
177
- * Use `validateScaffoldReceipt` when the value comes from an untrusted source.
178
- */
179
- export function assertScaffoldReceiptDigest(receipt, plan) {
180
- assertScaffoldReceiptCandidateDigest(receipt, plan);
181
- }
182
- export function createScaffoldReceipt(options) {
183
- const body = {
184
- schemaVersion: 1,
185
- protocolVersion: 1,
186
- planDigest: options.plan.planDigest,
187
- adapter: Object.freeze({
188
- id: options.adapterId,
189
- contractVersion: 1
190
- }),
191
- outcome: options.outcome,
192
- commit: Object.freeze({
193
- state: options.commitState,
194
- atomicity: options.atomicity
195
- }),
196
- operations: Object.freeze([...options.operations]),
197
- diagnostics: Object.freeze([...(options.diagnostics ?? [])])
198
- };
199
- const receipt = {
200
- ...body,
201
- receiptDigest: sha256Json(body)
202
- };
203
- assertScaffoldReceiptCandidateDigest(receipt, options.plan);
204
- return Object.freeze(receipt);
205
- }
206
- //# sourceMappingURL=receipt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/scaffolding/kernel/receipt.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { ScaffoldCompilationInput, ScaffoldPlanV1 } from "../contract/types.js";
2
- import type { ScaffoldDefinitionRegistry } from "./definition-registry.js";
3
- export declare function compileScaffoldPlan(input: ScaffoldCompilationInput, registry: ScaffoldDefinitionRegistry): ScaffoldPlanV1;
4
- //# sourceMappingURL=rendering-plan-compiler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rendering-plan-compiler.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/kernel/rendering-plan-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EACxB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAM3E,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,EAC/B,QAAQ,EAAE,0BAA0B,GACnC,cAAc,CA2ChB"}
@@ -1,43 +0,0 @@
1
- import { sha256Json } from "./canonical-json.js";
2
- import { compileScaffoldRendering, resolveScaffoldRenderingSelection } from "./compiler.js";
3
- function compareStrings(left, right) {
4
- return left < right ? -1 : left > right ? 1 : 0;
5
- }
6
- export function compileScaffoldPlan(input, registry) {
7
- const { composition, target } = resolveScaffoldRenderingSelection({
8
- compositions: input.config.compositions,
9
- targets: input.catalog.packages,
10
- authorityReadPaths: input.authorityReadSet.map(({ path }) => path),
11
- intent: input.intent
12
- });
13
- const rendering = compileScaffoldRendering({
14
- foundationVersion: input.foundationVersion,
15
- intent: input.intent,
16
- composition,
17
- target
18
- }, registry);
19
- const authoritySnapshotDigest = sha256Json({
20
- configPath: input.configPath,
21
- projectId: input.config.projectId,
22
- composition,
23
- target,
24
- readSet: input.authorityReadSet
25
- });
26
- const planBody = {
27
- schemaVersion: 1,
28
- protocolVersion: 1,
29
- ...rendering,
30
- projectId: input.config.projectId,
31
- authority: Object.freeze({
32
- configPath: input.configPath,
33
- targetCatalogPath: input.config.targetCatalogPath
34
- }),
35
- authoritySnapshotDigest,
36
- target,
37
- readSet: Object.freeze([...input.authorityReadSet].toSorted((left, right) => compareStrings(left.path, right.path))),
38
- requiredAdapterCapabilities: ["materialize-file/v1"]
39
- };
40
- const planDigest = sha256Json(planBody);
41
- return Object.freeze({ ...planBody, planDigest });
42
- }
43
- //# sourceMappingURL=rendering-plan-compiler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rendering-plan-compiler.js","sourceRoot":"","sources":["../../../src/scaffolding/kernel/rendering-plan-compiler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,wBAAwB,EACxB,iCAAiC,EAClC,MAAM,eAAe,CAAC;AAGvB,SAAS,cAAc,CAAC,IAAY,EAAE,KAAa;IACjD,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAA+B,EAC/B,QAAoC;IAEpC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,iCAAiC,CAAC;QAChE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY;QACvC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;QAC/B,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;QAClE,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,wBAAwB,CACxC;QACE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW;QACX,MAAM;KACP,EACD,QAAQ,CACT,CAAC;IACF,MAAM,uBAAuB,GAAG,UAAU,CAAC;QACzC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QACjC,WAAW;QACX,MAAM;QACN,OAAO,EAAE,KAAK,CAAC,gBAAgB;KACR,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG;QACf,aAAa,EAAE,CAAU;QACzB,eAAe,EAAE,CAAU;QAC3B,GAAG,SAAS;QACZ,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QACjC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACvB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB;SAClD,CAAC;QACF,uBAAuB;QACvB,MAAM;QACN,OAAO,EAAE,MAAM,CAAC,MAAM,CACpB,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnD,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CACtC,CACF;QACD,2BAA2B,EAAE,CAAC,qBAAqB,CAAU;KAC9D,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAAC,QAAgC,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { ScaffoldPlanV1 } from "../contract/types.js";
2
- export declare function assertScaffoldPlanDigest(plan: ScaffoldPlanV1): void;
3
- //# sourceMappingURL=rendering-plan-validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rendering-plan-validation.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/kernel/rendering-plan-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAYnE"}
@@ -1,10 +0,0 @@
1
- import { ScaffoldError } from "../scaffold-error.js";
2
- import { assertScaffoldPlanContent } from "./plan-content-validation.js";
3
- export function assertScaffoldPlanDigest(plan) {
4
- const candidate = plan;
5
- if (candidate.schemaVersion !== 1 || candidate.protocolVersion !== 1) {
6
- throw new ScaffoldError("SCAFFOLD_PLAN_INVALID", "Rendering regression Plan uses an unsupported protocol.");
7
- }
8
- assertScaffoldPlanContent(plan);
9
- }
10
- //# sourceMappingURL=rendering-plan-validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rendering-plan-validation.js","sourceRoot":"","sources":["../../../src/scaffolding/kernel/rendering-plan-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,MAAM,SAAS,GAAG,IAGjB,CAAC;IACF,IAAI,SAAS,CAAC,aAAa,KAAK,CAAC,IAAI,SAAS,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,aAAa,CACrB,uBAAuB,EACvB,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { ScaffoldPlanV1 } from "./contract/types.js";
2
- /** Retains the released 0.5 rendering planner for regression evidence only. */
3
- export declare function planScaffoldFromFile(options: {
4
- readonly consumerRoot: string;
5
- readonly intentPath: string;
6
- readonly configPath?: string;
7
- }): Promise<ScaffoldPlanV1>;
8
- //# sourceMappingURL=service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/scaffolding/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,+EAA+E;AAC/E,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,OAAO,CAAC,cAAc,CAAC,CAW1B"}
@@ -1,16 +0,0 @@
1
- import { loadScaffoldCompilationInput } from "./adapters/node/node-input-loader.js";
2
- import { installedFoundationVersion } from "./adapters/node/installed-foundation-version.js";
3
- import { createRenderingRegressionRegistry } from "./definitions/registry.js";
4
- import { compileScaffoldPlan } from "./kernel/rendering-plan-compiler.js";
5
- import { DEFAULT_SCAFFOLDING_CONFIG_PATH } from "./scaffold-defaults.js";
6
- /** Retains the released 0.5 rendering planner for regression evidence only. */
7
- export async function planScaffoldFromFile(options) {
8
- const input = await loadScaffoldCompilationInput({
9
- consumerRoot: options.consumerRoot,
10
- configPath: options.configPath ?? DEFAULT_SCAFFOLDING_CONFIG_PATH,
11
- intentPath: options.intentPath,
12
- foundationVersion: await installedFoundationVersion()
13
- });
14
- return compileScaffoldPlan(input, createRenderingRegressionRegistry());
15
- }
16
- //# sourceMappingURL=service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/scaffolding/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAE7F,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAI1C;IACC,MAAM,KAAK,GAAG,MAAM,4BAA4B,CAAC;QAC/C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,+BAA+B;QACjE,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,iBAAiB,EAAE,MAAM,0BAA0B,EAAE;KACtD,CAAC,CAAC;IACH,OAAO,mBAAmB,CACxB,KAAK,EACL,iCAAiC,EAAE,CACpC,CAAC;AACJ,CAAC"}
@@ -1,93 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://schemas.agent-teams.ai/engineering-foundation/contract-protobuf-breaking-qualification/v2",
4
- "title": "Hardened Buf FILE breaking qualification evidence",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "producerId",
10
- "producerVersion",
11
- "policy",
12
- "contractId",
13
- "bufVersion",
14
- "modulePath",
15
- "bufConfigPath",
16
- "evidencePath",
17
- "bufConfigDigest",
18
- "baselineDescriptorImagePath",
19
- "baselineDescriptorImageDigest",
20
- "candidateDescriptorImageDigest",
21
- "breakingPolicyConfigDigest",
22
- "invocationDigest",
23
- "result",
24
- "evidenceDigest"
25
- ],
26
- "properties": {
27
- "schemaVersion": { "const": 2 },
28
- "producerId": { "const": "agent-teams-foundation.buf-breaking-qualification" },
29
- "producerVersion": { "const": 2 },
30
- "policy": { "const": "FILE" },
31
- "contractId": { "type": "string", "pattern": "^[a-z][a-z0-9.-]{1,119}$" },
32
- "bufVersion": { "type": "string", "minLength": 1, "maxLength": 80 },
33
- "modulePath": { "$ref": "#/$defs/repositoryPath" },
34
- "bufConfigPath": { "$ref": "#/$defs/repositoryPath" },
35
- "evidencePath": { "$ref": "#/$defs/repositoryPath" },
36
- "bufConfigDigest": { "$ref": "#/$defs/digest" },
37
- "baselineDescriptorImagePath": { "$ref": "#/$defs/repositoryPath" },
38
- "baselineDescriptorImageDigest": { "$ref": "#/$defs/digest" },
39
- "candidateDescriptorImageDigest": { "$ref": "#/$defs/digest" },
40
- "breakingPolicyConfigDigest": { "$ref": "#/$defs/digest" },
41
- "invocationDigest": { "$ref": "#/$defs/digest" },
42
- "result": {
43
- "type": "object",
44
- "additionalProperties": false,
45
- "required": ["status", "findings", "findingSetDigest", "rawOutputDigest"],
46
- "properties": {
47
- "status": { "enum": ["compatible", "breaking"] },
48
- "findings": {
49
- "type": "array",
50
- "maxItems": 10000,
51
- "items": { "$ref": "#/$defs/finding" }
52
- },
53
- "findingSetDigest": { "$ref": "#/$defs/digest" },
54
- "rawOutputDigest": { "$ref": "#/$defs/digest" }
55
- }
56
- },
57
- "evidenceDigest": { "$ref": "#/$defs/digest" }
58
- },
59
- "$defs": {
60
- "digest": {
61
- "type": "string",
62
- "pattern": "^sha256:[a-f0-9]{64}$"
63
- },
64
- "repositoryPath": {
65
- "type": "string",
66
- "minLength": 1,
67
- "maxLength": 300,
68
- "pattern": "^(?!/)(?!.*\\\\)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*//)[^\\u0000]+$"
69
- },
70
- "finding": {
71
- "type": "object",
72
- "additionalProperties": false,
73
- "required": [
74
- "path",
75
- "startLine",
76
- "startColumn",
77
- "endLine",
78
- "endColumn",
79
- "type",
80
- "message"
81
- ],
82
- "properties": {
83
- "path": { "type": "string", "minLength": 1, "maxLength": 500 },
84
- "startLine": { "type": "integer", "minimum": 1 },
85
- "startColumn": { "type": "integer", "minimum": 1 },
86
- "endLine": { "type": "integer", "minimum": 1 },
87
- "endColumn": { "type": "integer", "minimum": 1 },
88
- "type": { "type": "string", "minLength": 1, "maxLength": 240 },
89
- "message": { "type": "string", "minLength": 1, "maxLength": 4000 }
90
- }
91
- }
92
- }
93
- }
@@ -1,147 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://schemas.agent-teams.ai/engineering-foundation/contract-protobuf-evolution/v2",
4
- "title": "Protobuf contract evolution with qualified Buf FILE evidence",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "releasedBaselinePath",
10
- "approvedBreakingChanges",
11
- "qualification",
12
- "current"
13
- ],
14
- "properties": {
15
- "schemaVersion": { "const": 2 },
16
- "releasedBaselinePath": { "$ref": "#/$defs/releasedBaselinePath" },
17
- "acceptedDecisionBaselinePath": { "$ref": "#/$defs/acceptedDecisionBaselinePath" },
18
- "governanceConfigPath": { "$ref": "#/$defs/governanceConfigPath" },
19
- "approvedBreakingChanges": {
20
- "type": "array",
21
- "maxItems": 100,
22
- "items": { "$ref": "#/$defs/breakingApproval" }
23
- },
24
- "qualification": { "$ref": "#/$defs/qualification" },
25
- "current": { "$ref": "#/$defs/current" }
26
- },
27
- "$defs": {
28
- "digest": {
29
- "type": "string",
30
- "pattern": "^sha256:[a-f0-9]{64}$"
31
- },
32
- "contractId": {
33
- "type": "string",
34
- "pattern": "^[a-z][a-z0-9.-]{1,119}$"
35
- },
36
- "repositoryPath": {
37
- "type": "string",
38
- "minLength": 1,
39
- "maxLength": 300,
40
- "pattern": "^(?!/)(?!.*\\\\)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*//)[^\\u0000]+$"
41
- },
42
- "releasedBaselinePath": {
43
- "type": "string",
44
- "minLength": 1,
45
- "maxLength": 300,
46
- "pattern": "^architecture/contracts/(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*//)[^\\u0000]+\\.(?:json|ya?ml)$"
47
- },
48
- "acceptedDecisionBaselinePath": {
49
- "const": "architecture/decisions/accepted-decisions.json"
50
- },
51
- "governanceConfigPath": {
52
- "type": "string",
53
- "minLength": 1,
54
- "maxLength": 300,
55
- "pattern": "^(?!/)(?!.*\\\\)(?!.*(?:^|/)\\.\\.(?:/|$)).+\\.ya?ml$"
56
- },
57
- "breakingApproval": {
58
- "type": "object",
59
- "additionalProperties": false,
60
- "required": ["decisionId", "fingerprint"],
61
- "properties": {
62
- "decisionId": { "type": "string", "pattern": "^ADR-[0-9]{4}$" },
63
- "fingerprint": { "$ref": "#/$defs/digest" }
64
- }
65
- },
66
- "generator": {
67
- "type": "object",
68
- "additionalProperties": false,
69
- "required": ["name", "version"],
70
- "properties": {
71
- "name": { "type": "string", "minLength": 1, "maxLength": 240 },
72
- "version": { "type": "string", "minLength": 1, "maxLength": 240 }
73
- }
74
- },
75
- "qualification": {
76
- "type": "object",
77
- "additionalProperties": false,
78
- "required": [
79
- "modulePath",
80
- "bufConfigPath",
81
- "releasedDescriptorImagePath",
82
- "evidencePath"
83
- ],
84
- "properties": {
85
- "modulePath": { "$ref": "#/$defs/repositoryPath" },
86
- "bufConfigPath": {
87
- "allOf": [
88
- { "$ref": "#/$defs/repositoryPath" },
89
- { "type": "string", "pattern": "\\.ya?ml$" }
90
- ]
91
- },
92
- "releasedDescriptorImagePath": {
93
- "allOf": [
94
- { "$ref": "#/$defs/repositoryPath" },
95
- { "type": "string", "pattern": "^architecture/contracts/.+\\.binpb$" }
96
- ]
97
- },
98
- "evidencePath": {
99
- "allOf": [
100
- { "$ref": "#/$defs/repositoryPath" },
101
- { "type": "string", "pattern": "^architecture/evidence/protobuf/.+\\.json$" }
102
- ]
103
- }
104
- }
105
- },
106
- "current": {
107
- "type": "object",
108
- "additionalProperties": false,
109
- "required": [
110
- "schemaVersion",
111
- "contractId",
112
- "publicContractVersion",
113
- "bufVersion",
114
- "bufConfigDigest",
115
- "descriptorImageDigest",
116
- "generatorVersions",
117
- "generationDrift"
118
- ],
119
- "properties": {
120
- "schemaVersion": { "const": 2 },
121
- "contractId": { "$ref": "#/$defs/contractId" },
122
- "publicContractVersion": { "$ref": "#/$defs/semver" },
123
- "bufVersion": { "type": "string", "minLength": 1, "maxLength": 80 },
124
- "bufConfigDigest": { "$ref": "#/$defs/digest" },
125
- "descriptorImageDigest": { "$ref": "#/$defs/digest" },
126
- "generatorVersions": {
127
- "type": "array",
128
- "maxItems": 100,
129
- "items": { "$ref": "#/$defs/generator" }
130
- },
131
- "generationDrift": {
132
- "type": "object",
133
- "additionalProperties": false,
134
- "required": ["expectedGeneratedOutputDigest", "observedGeneratedOutputDigest"],
135
- "properties": {
136
- "expectedGeneratedOutputDigest": { "$ref": "#/$defs/digest" },
137
- "observedGeneratedOutputDigest": { "$ref": "#/$defs/digest" }
138
- }
139
- }
140
- }
141
- },
142
- "semver": {
143
- "type": "string",
144
- "pattern": "^(?:0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-(?:(?:0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(?:\\.(?:0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$"
145
- }
146
- }
147
- }
@@ -1,62 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://schemas.agent-teams.ai/engineering-foundation/package-public-api-baseline/v2",
4
- "title": "Released multi-entrypoint public API baseline",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "packageName",
10
- "packageVersion",
11
- "extractorVersion",
12
- "entrypoints"
13
- ],
14
- "properties": {
15
- "schemaVersion": { "const": 2 },
16
- "packageName": { "type": "string", "minLength": 1, "maxLength": 214 },
17
- "packageVersion": {
18
- "type": "string",
19
- "pattern": "^(?:0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-(?:(?:0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(?:\\.(?:0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$"
20
- },
21
- "extractorVersion": { "type": "string", "minLength": 1, "maxLength": 40 },
22
- "entrypoints": {
23
- "type": "array",
24
- "minItems": 1,
25
- "maxItems": 100,
26
- "items": { "$ref": "#/$defs/entrypoint" }
27
- }
28
- },
29
- "$defs": {
30
- "exportPath": {
31
- "type": "string",
32
- "minLength": 1,
33
- "maxLength": 300,
34
- "pattern": "^(?:\\.|\\./[^\\\\/].*)$"
35
- },
36
- "item": {
37
- "type": "object",
38
- "additionalProperties": false,
39
- "required": ["canonicalReference", "kind", "parentKind", "signature"],
40
- "properties": {
41
- "canonicalReference": { "type": "string", "minLength": 1, "maxLength": 1000 },
42
- "kind": { "type": "string", "minLength": 1, "maxLength": 80 },
43
- "parentReference": { "type": "string", "minLength": 1, "maxLength": 1000 },
44
- "parentKind": { "type": "string", "minLength": 1, "maxLength": 80 },
45
- "signature": { "type": "string", "maxLength": 10000 }
46
- }
47
- },
48
- "entrypoint": {
49
- "type": "object",
50
- "additionalProperties": false,
51
- "required": ["exportPath", "items"],
52
- "properties": {
53
- "exportPath": { "$ref": "#/$defs/exportPath" },
54
- "items": {
55
- "type": "array",
56
- "maxItems": 100000,
57
- "items": { "$ref": "#/$defs/item" }
58
- }
59
- }
60
- }
61
- }
62
- }