@agent-teams/docs-protocol-agent-teams 0.0.0 → 0.1.1
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.
- package/CHANGELOG.md +50 -0
- package/README.md +27 -2
- package/assets/catalog.json +1 -1
- package/assets/history/sha256-8711dbd6109740857c69462d218071818317a62949f08ecf8abdc6d6b736321f/caller.yml +14 -0
- package/assets/history/sha256-f8da49344c3b0e9f31235de2826b1b9b392afb84515ace6af4fb5fe580e3a714/caller.yml +14 -0
- package/assets/transition-catalog.json +1 -1
- package/dist/composition/qualification-cli.d.ts.map +1 -1
- package/dist/composition/qualification-cli.js +19 -3
- package/dist/composition/qualification-cli.js.map +1 -1
- package/dist/consumer-integration/adapters/cohort-v2-authority-validator.d.ts +5 -0
- package/dist/consumer-integration/adapters/cohort-v2-authority-validator.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/cohort-v2-authority-validator.js +361 -0
- package/dist/consumer-integration/adapters/cohort-v2-authority-validator.js.map +1 -0
- package/dist/consumer-integration/adapters/consumer-integration-schema-validator.d.ts +1 -0
- package/dist/consumer-integration/adapters/consumer-integration-schema-validator.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/consumer-integration-schema-validator.js +22 -4
- package/dist/consumer-integration/adapters/consumer-integration-schema-validator.js.map +1 -1
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.d.ts +40 -1
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.js +227 -0
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.js.map +1 -1
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.d.ts +17 -5
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.js +123 -16
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.js.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.d.ts +2 -1
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.js +55 -16
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.js.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-restoration-evidence.d.ts +38 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-evidence.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-evidence.js +177 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-evidence.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-finalization.d.ts +10 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-finalization.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-finalization.js +95 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-finalization.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-lock.d.ts +3 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-lock.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-lock.js +104 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-lock.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-scope.d.ts +9 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-scope.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-scope.js +71 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-scope.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-selection.d.ts +9 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-selection.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-selection.js +35 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-selection.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration.d.ts +12 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration.js +102 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.d.ts +33 -5
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.js +111 -106
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.js.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.d.ts +20 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.js +89 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-target.d.ts +11 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-target.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-target.js +60 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-target.js.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.d.ts +1 -1
- package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.js +2 -3
- package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.js.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.d.ts +19 -0
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.js +184 -44
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.js.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.d.ts +4 -0
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.js +64 -0
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.js.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.d.ts +19 -2
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.js +65 -18
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.js.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.d.ts +13 -0
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.js +37 -0
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.js.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.d.ts +7 -0
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.js +12 -3
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.js.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.d.ts +3 -0
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.js +11 -0
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.js.map +1 -0
- package/dist/consumer-integration/application/model/consumer-restoration.d.ts +76 -0
- package/dist/consumer-integration/application/model/consumer-restoration.d.ts.map +1 -0
- package/dist/consumer-integration/application/model/consumer-restoration.js +2 -0
- package/dist/consumer-integration/application/model/consumer-restoration.js.map +1 -0
- package/dist/consumer-integration/application/policies/consumer-integration-assets.d.ts +19 -3
- package/dist/consumer-integration/application/policies/consumer-integration-assets.d.ts.map +1 -1
- package/dist/consumer-integration/application/policies/consumer-integration-assets.js +38 -4
- package/dist/consumer-integration/application/policies/consumer-integration-assets.js.map +1 -1
- package/dist/consumer-integration/application/policies/consumer-integration-desired-state.d.ts +3 -1
- package/dist/consumer-integration/application/policies/consumer-integration-desired-state.d.ts.map +1 -1
- package/dist/consumer-integration/application/policies/consumer-integration-desired-state.js +87 -0
- package/dist/consumer-integration/application/policies/consumer-integration-desired-state.js.map +1 -1
- package/dist/consumer-integration/application/policies/consumer-restoration-proof.d.ts +12 -0
- package/dist/consumer-integration/application/policies/consumer-restoration-proof.d.ts.map +1 -0
- package/dist/consumer-integration/application/policies/consumer-restoration-proof.js +123 -0
- package/dist/consumer-integration/application/policies/consumer-restoration-proof.js.map +1 -0
- package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.d.ts +13 -0
- package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.d.ts.map +1 -0
- package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.js +38 -0
- package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.js.map +1 -0
- package/dist/consumer-integration/application/ports/consumer-integration-lifecycle.d.ts +3 -2
- package/dist/consumer-integration/application/ports/consumer-integration-lifecycle.d.ts.map +1 -1
- package/dist/consumer-integration/application/ports/consumer-integration-planners.d.ts +4 -4
- package/dist/consumer-integration/application/ports/consumer-integration-planners.d.ts.map +1 -1
- package/dist/consumer-integration/application/ports/consumer-restoration.d.ts +24 -0
- package/dist/consumer-integration/application/ports/consumer-restoration.d.ts.map +1 -0
- package/dist/consumer-integration/application/ports/consumer-restoration.js +2 -0
- package/dist/consumer-integration/application/ports/consumer-restoration.js.map +1 -0
- package/dist/consumer-integration/application/ports/consumer-upgrade.d.ts +44 -6
- package/dist/consumer-integration/application/ports/consumer-upgrade.d.ts.map +1 -1
- package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.d.ts +39 -0
- package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.d.ts.map +1 -0
- package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.js +284 -0
- package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.js.map +1 -0
- package/dist/consumer-integration/application/use-cases/plan-consumer-integration.d.ts +2 -2
- package/dist/consumer-integration/application/use-cases/plan-consumer-integration.d.ts.map +1 -1
- package/dist/consumer-integration/application/use-cases/plan-consumer-integration.js +23 -153
- package/dist/consumer-integration/application/use-cases/plan-consumer-integration.js.map +1 -1
- package/dist/consumer-integration/application/use-cases/run-consumer-integration.d.ts.map +1 -1
- package/dist/consumer-integration/application/use-cases/run-consumer-integration.js +10 -6
- package/dist/consumer-integration/application/use-cases/run-consumer-integration.js.map +1 -1
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.d.ts +11 -3
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.d.ts.map +1 -1
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.js +188 -39
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.js.map +1 -1
- package/dist/consumer-integration/composition/consumer-integration-cli.d.ts.map +1 -1
- package/dist/consumer-integration/composition/consumer-integration-cli.js +85 -15
- package/dist/consumer-integration/composition/consumer-integration-cli.js.map +1 -1
- package/dist/consumer-integration/composition/consumer-integration-planner.d.ts +6 -2
- package/dist/consumer-integration/composition/consumer-integration-planner.d.ts.map +1 -1
- package/dist/consumer-integration/composition/consumer-integration-planner.js +40 -3
- package/dist/consumer-integration/composition/consumer-integration-planner.js.map +1 -1
- package/dist/consumer-integration/composition/node-consumer-integration.d.ts +12 -0
- package/dist/consumer-integration/composition/node-consumer-integration.d.ts.map +1 -1
- package/dist/consumer-integration/composition/node-consumer-integration.js +17 -1
- package/dist/consumer-integration/composition/node-consumer-integration.js.map +1 -1
- package/dist/consumer-integration/composition/qualification-v3-boundary.d.ts +20 -0
- package/dist/consumer-integration/composition/qualification-v3-boundary.d.ts.map +1 -0
- package/dist/consumer-integration/composition/qualification-v3-boundary.js +29 -0
- package/dist/consumer-integration/composition/qualification-v3-boundary.js.map +1 -0
- package/dist/consumer-integration/domain/model.d.ts +61 -0
- package/dist/consumer-integration/domain/model.d.ts.map +1 -1
- package/dist/consumer-integration/generated/canonical-assets.d.ts +3 -2
- package/dist/consumer-integration/generated/canonical-assets.d.ts.map +1 -1
- package/dist/consumer-integration/generated/canonical-assets.js +3 -2
- package/dist/consumer-integration/generated/canonical-assets.js.map +1 -1
- package/dist/consumer-integration/index.d.ts +3 -1
- package/dist/consumer-integration/index.d.ts.map +1 -1
- package/dist/consumer-integration/index.js +1 -0
- package/dist/consumer-integration/index.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/qualification/index.d.ts +6 -0
- package/dist/qualification/index.d.ts.map +1 -1
- package/dist/qualification/index.js +3 -0
- package/dist/qualification/index.js.map +1 -1
- package/dist/qualification/qualification-v3-authority.d.ts +14 -0
- package/dist/qualification/qualification-v3-authority.d.ts.map +1 -0
- package/dist/qualification/qualification-v3-authority.js +5 -0
- package/dist/qualification/qualification-v3-authority.js.map +1 -0
- package/dist/qualification/qualification-v3-observer.d.ts +7 -0
- package/dist/qualification/qualification-v3-observer.d.ts.map +1 -0
- package/dist/qualification/qualification-v3-observer.js +22 -0
- package/dist/qualification/qualification-v3-observer.js.map +1 -0
- package/dist/qualification/qualification-v3-runner.d.ts +7 -0
- package/dist/qualification/qualification-v3-runner.d.ts.map +1 -0
- package/dist/qualification/qualification-v3-runner.js +95 -0
- package/dist/qualification/qualification-v3-runner.js.map +1 -0
- package/dist/qualification/v3-contract.d.ts +58 -0
- package/dist/qualification/v3-contract.d.ts.map +1 -0
- package/dist/qualification/v3-contract.js +2 -0
- package/dist/qualification/v3-contract.js.map +1 -0
- package/package.json +3 -3
- package/schemas/docs-consumer-integration-profile/v3.schema.json +68 -0
- package/schemas/docs-consumer-managed-state/v2.schema.json +120 -0
- package/schemas/docs-consumer-restoration-execution/v1.schema.json +124 -0
- package/schemas/docs-consumer-upgrade-execution/v1.schema.json +39 -3
- package/schemas/docs-protocol-qualification-receipt/v3.schema.json +118 -0
- package/schemas/qualified-docs-cohort/v2.schema.json +149 -0
- package/skills/docs/SKILL.md +8 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import { GENERATED_CALLER_WORKFLOW_TEMPLATE, GENERATED_DOCS_SKILL, GENERATED_DOCS_SKILL_V2, GENERATED_TRANSITION_CATALOG } from "../../generated/canonical-assets.js";
|
|
2
|
+
import { GENERATED_CALLER_WORKFLOW_TEMPLATE, GENERATED_DOCS_SKILL, GENERATED_DOCS_SKILL_V2, GENERATED_PRIOR_DOCS_SKILL_V2, GENERATED_TRANSITION_CATALOG } from "../../generated/canonical-assets.js";
|
|
3
3
|
const CATALOG_SOURCE = Object.freeze({
|
|
4
4
|
skill: GENERATED_DOCS_SKILL_V2,
|
|
5
5
|
callerWorkflowTemplate: GENERATED_CALLER_WORKFLOW_TEMPLATE
|
|
@@ -10,7 +10,7 @@ export const CANONICAL_DOCS_SKILL_V2 = CATALOG_SOURCE.skill;
|
|
|
10
10
|
export const CANONICAL_CALLER_WORKFLOW_TEMPLATE = CATALOG_SOURCE.callerWorkflowTemplate;
|
|
11
11
|
export const BOOTSTRAP_KNOWN_PRIOR_DOCS_SKILLS = Object.freeze([
|
|
12
12
|
Buffer.from(CANONICAL_DOCS_SKILL, "utf8"),
|
|
13
|
-
Buffer.from(
|
|
13
|
+
Buffer.from(GENERATED_PRIOR_DOCS_SKILL_V2
|
|
14
14
|
.replace("--type TYPE --id ID --title TITLE --owner OWNER --summary SUMMARY --dry-run", "--type TYPE --id ID --dry-run")
|
|
15
15
|
.replace("--type TYPE --id ID --title TITLE --owner OWNER --summary SUMMARY --apply", "--type TYPE --id ID --apply")
|
|
16
16
|
.replace("- For edits, preserve canonical frontmatter and sidecar ownership; use the repository's governed review flow rather than bypassing the create-only writer.\n", "")
|
|
@@ -104,7 +104,7 @@ export function canonicalConsumerIntegrationJson(value) {
|
|
|
104
104
|
if (Array.isArray(value)) {
|
|
105
105
|
return `[${value.map(canonicalConsumerIntegrationJson).join(",")}]`;
|
|
106
106
|
}
|
|
107
|
-
if (typeof value !== "object"
|
|
107
|
+
if (typeof value !== "object") {
|
|
108
108
|
throw new TypeError("Managed state contains a non-JSON value.");
|
|
109
109
|
}
|
|
110
110
|
return `{${Object.entries(value)
|
|
@@ -113,6 +113,9 @@ export function canonicalConsumerIntegrationJson(value) {
|
|
|
113
113
|
.join(",")}}`;
|
|
114
114
|
}
|
|
115
115
|
export function canonicalManagedState(desired, assets) {
|
|
116
|
+
if (desired.schemaVersion === 3) {
|
|
117
|
+
return canonicalManagedStateV2(desired, assets);
|
|
118
|
+
}
|
|
116
119
|
const body = {
|
|
117
120
|
schemaVersion: 1,
|
|
118
121
|
cohortId: desired.cohort.cohortId,
|
|
@@ -140,9 +143,40 @@ export function canonicalManagedState(desired, assets) {
|
|
|
140
143
|
}), "utf8"));
|
|
141
144
|
return `${canonicalConsumerIntegrationJson({ ...body, stateDigest })}\n`;
|
|
142
145
|
}
|
|
146
|
+
function canonicalManagedStateV2(desired, assets) {
|
|
147
|
+
const body = {
|
|
148
|
+
schemaVersion: 2,
|
|
149
|
+
cohortId: desired.cohort.cohortId,
|
|
150
|
+
cohortAuthority: {
|
|
151
|
+
channel: desired.cohort.channel,
|
|
152
|
+
recordDigest: desired.cohort.recordDigest,
|
|
153
|
+
qualificationEventDigest: desired.cohort.qualificationEventDigest,
|
|
154
|
+
eligibleAfter: desired.cohort.eligibleAfter,
|
|
155
|
+
upgradeFrom: desired.cohort.upgradeFrom,
|
|
156
|
+
rollbackTo: desired.cohort.rollbackTo
|
|
157
|
+
},
|
|
158
|
+
repository: desired.repository,
|
|
159
|
+
packages: desired.cohort.packages,
|
|
160
|
+
schemas: desired.cohort.schemas,
|
|
161
|
+
runtime: desired.cohort.runtime,
|
|
162
|
+
profilePath: desired.profilePath,
|
|
163
|
+
skillPath: desired.skillPath,
|
|
164
|
+
callerWorkflowPath: desired.callerWorkflowPath,
|
|
165
|
+
managedStatePath: desired.managedStatePath,
|
|
166
|
+
assets
|
|
167
|
+
};
|
|
168
|
+
const stateDigest = digestBytes(Buffer.from(canonicalConsumerIntegrationJson({
|
|
169
|
+
domain: "agent-teams.docs-protocol.managed-state/v2",
|
|
170
|
+
body
|
|
171
|
+
}), "utf8"));
|
|
172
|
+
return `${canonicalConsumerIntegrationJson({ ...body, stateDigest })}\n`;
|
|
173
|
+
}
|
|
143
174
|
export function describeCanonicalConsumerAssets(cohort) {
|
|
144
175
|
const skillDigest = digestBytes(Buffer.from(CANONICAL_DOCS_SKILL_V2, "utf8"));
|
|
145
|
-
const
|
|
176
|
+
const callerWorkflow = cohort.schemaVersion === 1
|
|
177
|
+
? canonicalCallerWorkflow(cohort)
|
|
178
|
+
: canonicalCallerWorkflow(cohort);
|
|
179
|
+
const callerWorkflowDigest = digestBytes(Buffer.from(callerWorkflow, "utf8"));
|
|
146
180
|
const assetCatalogDigest = digestBytes(Buffer.from(CANONICAL_ASSET_CATALOG, "utf8"));
|
|
147
181
|
return Object.freeze({
|
|
148
182
|
skillDigest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer-integration-assets.js","sourceRoot":"","sources":["../../../../src/consumer-integration/application/policies/consumer-integration-assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"consumer-integration-assets.js","sourceRoot":"","sources":["../../../../src/consumer-integration/application/policies/consumer-integration-assets.ts"],"names":[],"mappings":"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"}
|
package/dist/consumer-integration/application/policies/consumer-integration-desired-state.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { ConsumerIntegrationDesiredStateV1, QualifiedDocsCohortBindingV1 } from "../../domain/model.js";
|
|
1
|
+
import type { ConsumerIntegrationDesiredStateV3, ConsumerIntegrationDesiredStateV1, QualifiedDocsCohortBindingV1, QualifiedDocsCohortBindingV2 } from "../../domain/model.js";
|
|
2
2
|
export declare function assertQualifiedDocsCohortBindingV1(cohort: QualifiedDocsCohortBindingV1): void;
|
|
3
|
+
export declare function assertQualifiedDocsCohortBindingV2(cohort: QualifiedDocsCohortBindingV2): void;
|
|
3
4
|
export declare function assertConsumerIntegrationDesiredStateV1(desired: ConsumerIntegrationDesiredStateV1): void;
|
|
5
|
+
export declare function assertConsumerIntegrationDesiredStateV3(desired: ConsumerIntegrationDesiredStateV3): void;
|
|
4
6
|
//# sourceMappingURL=consumer-integration-desired-state.d.ts.map
|
package/dist/consumer-integration/application/policies/consumer-integration-desired-state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer-integration-desired-state.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/policies/consumer-integration-desired-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iCAAiC,EACjC,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"consumer-integration-desired-state.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/policies/consumer-integration-desired-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iCAAiC,EACjC,iCAAiC,EACjC,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAuG/B,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,4BAA4B,GACnC,IAAI,CAgCN;AAiCD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,4BAA4B,GACnC,IAAI,CA4BN;AAED,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,iCAAiC,GACzC,IAAI,CAwBN;AAED,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,iCAAiC,GACzC,IAAI,CA4BN"}
|
package/dist/consumer-integration/application/policies/consumer-integration-desired-state.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { QUALIFIED_DOCS_COHORT_V2_PACKAGES } from "./qualified-docs-cohort-v2.js";
|
|
1
2
|
const COHORT_ID = /^[a-z0-9]+(?:[._-][a-z0-9]+)*$/u;
|
|
2
3
|
const INTEGRITY = /^sha512-[A-Za-z0-9+/]{86}==$/u;
|
|
3
4
|
const NONZERO_SHA = /^(?!0{40}$)[0-9a-f]{40}$/u;
|
|
@@ -125,6 +126,63 @@ export function assertQualifiedDocsCohortBindingV1(cohort) {
|
|
|
125
126
|
throw new TypeError("Qualified Docs Cohort binding is invalid or unsupported.");
|
|
126
127
|
}
|
|
127
128
|
}
|
|
129
|
+
function hasValidCohortAuthorityV2(cohort) {
|
|
130
|
+
const upgradeSet = new Set(cohort.upgradeFrom);
|
|
131
|
+
return cohort.schemaVersion === 2 &&
|
|
132
|
+
(cohort.channel === "rc" || cohort.channel === "stable") &&
|
|
133
|
+
COHORT_ID.test(cohort.cohortId) &&
|
|
134
|
+
NONZERO_SHA256.test(cohort.recordDigest) &&
|
|
135
|
+
NONZERO_SHA256.test(cohort.qualificationEventDigest) &&
|
|
136
|
+
isCanonicalUtcSeconds(cohort.eligibleAfter) &&
|
|
137
|
+
cohort.upgradeFrom.length <= 32 && cohort.rollbackTo.length <= 32 &&
|
|
138
|
+
hasUniqueEntries(cohort.upgradeFrom) && hasUniqueEntries(cohort.rollbackTo) &&
|
|
139
|
+
cohort.upgradeFrom.every((entry) => COHORT_ID.test(entry) && entry !== cohort.cohortId) &&
|
|
140
|
+
cohort.rollbackTo.every((entry) => COHORT_ID.test(entry) &&
|
|
141
|
+
entry !== cohort.cohortId && upgradeSet.has(entry));
|
|
142
|
+
}
|
|
143
|
+
function hasValidCohortAssetsV2(cohort) {
|
|
144
|
+
return NONZERO_SHA256.test(cohort.assets.skillDigest) &&
|
|
145
|
+
NONZERO_SHA256.test(cohort.assets.callerWorkflowDigest) &&
|
|
146
|
+
NONZERO_SHA256.test(cohort.assets.assetCatalogDigest) &&
|
|
147
|
+
NONZERO_SHA256.test(cohort.assets.transitionCatalogDigest);
|
|
148
|
+
}
|
|
149
|
+
function hasValidCohortSchemasAndRuntimeV2(cohort) {
|
|
150
|
+
return cohort.schemas.consumerIntegration === 3 &&
|
|
151
|
+
cohort.schemas.managedState === 2 &&
|
|
152
|
+
cohort.schemas.docsProtocol === 1 &&
|
|
153
|
+
cohort.runtime.node === ">=24.18.0 <25" &&
|
|
154
|
+
cohort.runtime.pnpm === ">=11.17.0 <12" &&
|
|
155
|
+
NONZERO_SHA256.test(cohort.runtime.runtimeClosureDigest);
|
|
156
|
+
}
|
|
157
|
+
export function assertQualifiedDocsCohortBindingV2(cohort) {
|
|
158
|
+
assertPlainBoundedJson(cohort);
|
|
159
|
+
const packageKeys = QUALIFIED_DOCS_COHORT_V2_PACKAGES.map(({ key }) => key);
|
|
160
|
+
const packageCoordinatesValid = QUALIFIED_DOCS_COHORT_V2_PACKAGES.every(({ key }) => {
|
|
161
|
+
const coordinate = cohort.packages[key];
|
|
162
|
+
return hasExactKeys(coordinate, ["version", "integrity"]) &&
|
|
163
|
+
SEMVER.test(coordinate.version) && INTEGRITY.test(coordinate.integrity);
|
|
164
|
+
});
|
|
165
|
+
const valid = hasExactKeys(cohort, [
|
|
166
|
+
"schemaVersion", "cohortId", "channel", "recordDigest", "qualificationEventDigest",
|
|
167
|
+
"eligibleAfter", "upgradeFrom", "rollbackTo", "packages", "workflow", "assets",
|
|
168
|
+
"schemas", "runtime"
|
|
169
|
+
]) &&
|
|
170
|
+
hasExactKeys(cohort.packages, packageKeys) &&
|
|
171
|
+
packageCoordinatesValid &&
|
|
172
|
+
hasExactKeys(cohort.workflow, ["repository", "path", "revision", "blobSha"]) &&
|
|
173
|
+
hasExactKeys(cohort.assets, [
|
|
174
|
+
"skillDigest", "callerWorkflowDigest", "assetCatalogDigest", "transitionCatalogDigest"
|
|
175
|
+
]) &&
|
|
176
|
+
hasExactKeys(cohort.schemas, ["consumerIntegration", "managedState", "docsProtocol"]) &&
|
|
177
|
+
hasExactKeys(cohort.runtime, ["node", "pnpm", "runtimeClosureDigest"]) &&
|
|
178
|
+
hasValidCohortAuthorityV2(cohort) &&
|
|
179
|
+
hasValidWorkflow(cohort) &&
|
|
180
|
+
hasValidCohortAssetsV2(cohort) &&
|
|
181
|
+
hasValidCohortSchemasAndRuntimeV2(cohort);
|
|
182
|
+
if (!valid) {
|
|
183
|
+
throw new TypeError("Qualified Docs Cohort v2 binding is invalid or unsupported.");
|
|
184
|
+
}
|
|
185
|
+
}
|
|
128
186
|
export function assertConsumerIntegrationDesiredStateV1(desired) {
|
|
129
187
|
assertPlainBoundedJson(desired);
|
|
130
188
|
assertQualifiedDocsCohortBindingV1(desired.cohort);
|
|
@@ -150,4 +208,33 @@ export function assertConsumerIntegrationDesiredStateV1(desired) {
|
|
|
150
208
|
throw new TypeError("Consumer integration desired state is invalid or unsupported.");
|
|
151
209
|
}
|
|
152
210
|
}
|
|
211
|
+
export function assertConsumerIntegrationDesiredStateV3(desired) {
|
|
212
|
+
assertPlainBoundedJson(desired);
|
|
213
|
+
assertQualifiedDocsCohortBindingV2(desired.cohort);
|
|
214
|
+
const valid = hasExactKeys(desired, [
|
|
215
|
+
"schemaVersion", "repository", "integrationRoot", "packageManager", "profilePath",
|
|
216
|
+
"skillPath", "callerWorkflowPath", "managedStatePath", "qualification", "cohort",
|
|
217
|
+
...(desired.governedDocsRoots === undefined ? [] : ["governedDocsRoots"])
|
|
218
|
+
]) &&
|
|
219
|
+
hasExactKeys(desired.repository, ["provider", "id", "nameWithOwner"]) &&
|
|
220
|
+
hasExactKeys(desired.qualification, ["contractPath", "gateCommand"]) &&
|
|
221
|
+
desired.schemaVersion === 3 &&
|
|
222
|
+
desired.integrationRoot === "." &&
|
|
223
|
+
desired.packageManager === "pnpm" &&
|
|
224
|
+
desired.profilePath === PROFILE_PATH &&
|
|
225
|
+
desired.skillPath === SKILL_PATH &&
|
|
226
|
+
desired.callerWorkflowPath === CALLER_WORKFLOW_PATH &&
|
|
227
|
+
desired.managedStatePath === MANAGED_STATE_PATH &&
|
|
228
|
+
desired.qualification.contractPath ===
|
|
229
|
+
"architecture/foundation/docs-protocol-qualification.json" &&
|
|
230
|
+
desired.qualification.gateCommand === "pnpm docs:protocol:check" &&
|
|
231
|
+
desired.repository.provider === "github" &&
|
|
232
|
+
REPOSITORY_ID.test(desired.repository.id) &&
|
|
233
|
+
REPOSITORY.test(desired.repository.nameWithOwner) &&
|
|
234
|
+
hasValidGovernedRoots(desired.governedDocsRoots) &&
|
|
235
|
+
desired.cohort.schemaVersion === 2;
|
|
236
|
+
if (!valid) {
|
|
237
|
+
throw new TypeError("Consumer integration desired state v3 is invalid or unsupported.");
|
|
238
|
+
}
|
|
239
|
+
}
|
|
153
240
|
//# sourceMappingURL=consumer-integration-desired-state.js.map
|
package/dist/consumer-integration/application/policies/consumer-integration-desired-state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer-integration-desired-state.js","sourceRoot":"","sources":["../../../../src/consumer-integration/application/policies/consumer-integration-desired-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consumer-integration-desired-state.js","sourceRoot":"","sources":["../../../../src/consumer-integration/application/policies/consumer-integration-desired-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type KnownFileTransactionPlanV1, type KnownFileTransactionReceiptV1 } from "@agent-teams/repository-mutation";
|
|
2
|
+
import type { ConsumerRestorationPreparation, ConsumerRestorationProof } from "../model/consumer-restoration.js";
|
|
3
|
+
export declare const MAXIMUM_RESTORATION_PROOF_BYTES: number;
|
|
4
|
+
export declare const restorationJson: (value: unknown) => string;
|
|
5
|
+
export declare function requireRestoration(condition: unknown, message: string): asserts condition;
|
|
6
|
+
export declare function exactRestorationKeys(value: unknown, keys: readonly string[]): Record<string, unknown>;
|
|
7
|
+
export declare function assertFullyReplacedReceipt(plan: KnownFileTransactionPlanV1, receipt: KnownFileTransactionReceiptV1): void;
|
|
8
|
+
export declare function inverseRestorationPlan(plan: KnownFileTransactionPlanV1): KnownFileTransactionPlanV1;
|
|
9
|
+
export declare function assertObservedRestorationReceipt(plan: KnownFileTransactionPlanV1, receipt: KnownFileTransactionReceiptV1): void;
|
|
10
|
+
export declare function parseConsumerRestorationPreparation(bytes: Uint8Array, expect: string): ConsumerRestorationPreparation;
|
|
11
|
+
export declare function parseConsumerRestorationProof(bytes: Uint8Array, expect: string): ConsumerRestorationProof;
|
|
12
|
+
//# sourceMappingURL=consumer-restoration-proof.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumer-restoration-proof.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/policies/consumer-restoration-proof.ts"],"names":[],"mappings":"AAAA,OAAO,EAGoB,KAAK,0BAA0B,EACxD,KAAK,6BAA6B,EACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAA6B,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAK5I,eAAO,MAAM,+BAA+B,QAAmB,CAAC;AAChE,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,MAAoD,CAAC;AAEtG,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAEzF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKrG;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,6BAA6B,GACvE,IAAI,CAeN;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,0BAA0B,CAmBnG;AAwDD,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,6BAA6B,GAAG,IAAI,CAY/H;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,8BAA8B,CAErH;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,wBAAwB,CAWzG"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { assertKnownFileTransactionPlan, canonicalJson, compileKnownFileTransactionPlan, parseStrictJson, sha256Bytes, sha256Json } from "@agent-teams/repository-mutation";
|
|
2
|
+
import { assertQualifiedDocsCohortBindingV1, assertQualifiedDocsCohortBindingV2 } from "./consumer-integration-desired-state.js";
|
|
3
|
+
export const MAXIMUM_RESTORATION_PROOF_BYTES = 24 * 1024 * 1024;
|
|
4
|
+
export const restorationJson = (value) => canonicalJson(value);
|
|
5
|
+
export function requireRestoration(condition, message) {
|
|
6
|
+
if (condition !== true) {
|
|
7
|
+
throw new TypeError(`Managed restoration: ${message}`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export function exactRestorationKeys(value, keys) {
|
|
11
|
+
requireRestoration(value !== null && typeof value === "object" && !Array.isArray(value) &&
|
|
12
|
+
Object.getPrototypeOf(value) === Object.prototype &&
|
|
13
|
+
Object.keys(value).toSorted().join("\0") === [...keys].toSorted().join("\0"), "invalid closed record.");
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
export function assertFullyReplacedReceipt(plan, receipt) {
|
|
17
|
+
const body = {
|
|
18
|
+
schemaVersion: 1,
|
|
19
|
+
protocol: plan.protocol,
|
|
20
|
+
planDigest: plan.planDigest,
|
|
21
|
+
outcome: "applied",
|
|
22
|
+
operations: plan.operations.map(({ path, postimage }) => ({
|
|
23
|
+
path, outcome: "replaced", resultDigest: postimage.digest
|
|
24
|
+
}))
|
|
25
|
+
};
|
|
26
|
+
const expected = { ...body, receiptDigest: sha256Json({
|
|
27
|
+
domain: "agent-teams.repository-mutation.known-file-receipt/v1", body
|
|
28
|
+
}) };
|
|
29
|
+
requireRestoration(restorationJson(expected) === restorationJson(receipt), "receipt must bind every exact replacement and its result digest.");
|
|
30
|
+
}
|
|
31
|
+
export function inverseRestorationPlan(plan) {
|
|
32
|
+
assertKnownFileTransactionPlan(plan);
|
|
33
|
+
requireRestoration(plan.operations.length > 0 && plan.operations.length <= 8, "the original replacement set must be nonempty and bounded.");
|
|
34
|
+
return compileKnownFileTransactionPlan({ operations: plan.operations.map((operation) => {
|
|
35
|
+
requireRestoration(operation.precondition.state === "known-file" &&
|
|
36
|
+
operation.precondition.acceptedPreimages.length === 1, "only one recorded preimage per replacement is supported.");
|
|
37
|
+
const preimage = operation.precondition.acceptedPreimages[0];
|
|
38
|
+
requireRestoration(preimage.digest !== operation.postimage.digest, "unchanged or ambiguously owned replacements are forbidden.");
|
|
39
|
+
return {
|
|
40
|
+
path: operation.path,
|
|
41
|
+
precondition: { state: "known-file", acceptedPreimages: [{
|
|
42
|
+
bytes: Buffer.from(operation.postimage.contentBase64, "base64"), mode: operation.postimage.mode
|
|
43
|
+
}] },
|
|
44
|
+
postimage: { bytes: Buffer.from(preimage.contentBase64, "base64"), mode: preimage.mode }
|
|
45
|
+
};
|
|
46
|
+
}) });
|
|
47
|
+
}
|
|
48
|
+
function assertRestorationArtifactShapes(proof) {
|
|
49
|
+
for (const [artifact, name] of [
|
|
50
|
+
[proof.controller, "@agent-teams/docs-protocol-agent-teams"],
|
|
51
|
+
[proof.kernel, "@agent-teams/repository-mutation"]
|
|
52
|
+
]) {
|
|
53
|
+
exactRestorationKeys(artifact, ["name", "version", "buildIdentity"]);
|
|
54
|
+
requireRestoration(artifact.name === name && typeof artifact.version === "string" && typeof artifact.buildIdentity === "string" &&
|
|
55
|
+
/^[0-9]+\.[0-9]+\.[0-9]+(?:-[0-9A-Za-z.-]+)?$/u.test(artifact.version) &&
|
|
56
|
+
/^sha256:[0-9a-f]{64}$/u.test(artifact.buildIdentity), "invalid artifact identity.");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function assertRestorationIdentities(proof) {
|
|
60
|
+
exactRestorationKeys(proof.consumer, ["root", "device", "inode", "birthtimeNs", "repository"]);
|
|
61
|
+
const repository = exactRestorationKeys(proof.consumer.repository, ["provider", "id", "nameWithOwner"]);
|
|
62
|
+
requireRestoration(typeof proof.consumer.root === "string" && proof.consumer.root.length <= 4096 &&
|
|
63
|
+
!proof.consumer.root.includes("\0") &&
|
|
64
|
+
[proof.consumer.device, proof.consumer.inode, proof.consumer.birthtimeNs].every((value) => typeof value === "string" && /^[0-9]+$/u.test(value)) && repository["provider"] === "github" && typeof proof.consumer.repository.id === "string" && typeof proof.consumer.repository.nameWithOwner === "string" &&
|
|
65
|
+
/^[1-9][0-9]*$/u.test(proof.consumer.repository.id) &&
|
|
66
|
+
/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u.test(proof.consumer.repository.nameWithOwner), "invalid consumer identity.");
|
|
67
|
+
requireRestoration(typeof proof.sourceRevision === "string" && typeof proof.sourceTree === "string" && typeof proof.sourceInventoryDigest === "string" && /^(?!0{40}$)[0-9a-f]{40}$/u.test(proof.sourceRevision) &&
|
|
68
|
+
/^(?!0{40}$)[0-9a-f]{40}$/u.test(proof.sourceTree) &&
|
|
69
|
+
/^sha256:[0-9a-f]{64}$/u.test(proof.sourceInventoryDigest), "invalid source Git/inventory identity.");
|
|
70
|
+
assertRestorationArtifactShapes(proof);
|
|
71
|
+
}
|
|
72
|
+
const intentKeys = [
|
|
73
|
+
"schemaVersion", "protocol", "sourceGeneration", "targetGeneration", "consumer",
|
|
74
|
+
"sourceRevision", "sourceTree", "sourceInventoryDigest", "sourceCohort", "targetCohort",
|
|
75
|
+
"controller", "kernel", "plan", "initialProofPath"
|
|
76
|
+
];
|
|
77
|
+
function parseSelected(bytes, expect, final) {
|
|
78
|
+
requireRestoration(bytes.byteLength > 0 && bytes.byteLength <= MAXIMUM_RESTORATION_PROOF_BYTES &&
|
|
79
|
+
/^sha256:[0-9a-f]{64}$/u.test(expect) && sha256Bytes(bytes) === expect, "proof bytes differ from the separately retained selection digest.");
|
|
80
|
+
const parsed = parseStrictJson(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
|
|
81
|
+
const wire = exactRestorationKeys(parsed, final ? [...intentKeys, "receipt", "originalReceipt", "activation", "preparationDigest", "proofPath"] : intentKeys);
|
|
82
|
+
requireRestoration(wire["schemaVersion"] === 1 && wire["sourceGeneration"] === 1 && wire["targetGeneration"] === 2 &&
|
|
83
|
+
wire["protocol"] === (final ? "agent-teams.managed-v1-restoration/v1" : "agent-teams.managed-v1-restoration-preparation/v1"), "unsupported evidence generation.");
|
|
84
|
+
const proof = parsed;
|
|
85
|
+
assertRestorationIdentities(proof);
|
|
86
|
+
assertQualifiedDocsCohortBindingV1(proof.sourceCohort);
|
|
87
|
+
assertQualifiedDocsCohortBindingV2(proof.targetCohort);
|
|
88
|
+
inverseRestorationPlan(proof.plan);
|
|
89
|
+
requireRestoration(typeof proof.initialProofPath === "string" && proof.initialProofPath.startsWith("/") &&
|
|
90
|
+
proof.initialProofPath.length <= 4096, "invalid initial proof destination.");
|
|
91
|
+
requireRestoration(`${restorationJson(proof)}\n` === Buffer.from(bytes).toString("utf8"), "proof must be canonical, duplicate-free inert JSON.");
|
|
92
|
+
return proof;
|
|
93
|
+
}
|
|
94
|
+
export function assertObservedRestorationReceipt(plan, receipt) {
|
|
95
|
+
requireRestoration(receipt !== null && typeof receipt === "object" && Array.isArray(receipt.operations) &&
|
|
96
|
+
receipt.operations.length === plan.operations.length, "receipt must classify every selected operation.");
|
|
97
|
+
const operations = plan.operations.map(({ path, postimage }, index) => {
|
|
98
|
+
const observed = receipt.operations[index];
|
|
99
|
+
requireRestoration(observed?.outcome === "replaced" || observed?.outcome === "already-satisfied", "invalid observed receipt outcome.");
|
|
100
|
+
return { path, outcome: observed.outcome, resultDigest: postimage.digest };
|
|
101
|
+
});
|
|
102
|
+
const body = { schemaVersion: 1, protocol: plan.protocol, planDigest: plan.planDigest,
|
|
103
|
+
outcome: operations.some(({ outcome }) => outcome === "replaced") ? "applied" : "already-satisfied", operations };
|
|
104
|
+
const expected = { ...body, receiptDigest: sha256Json({ domain: "agent-teams.repository-mutation.known-file-receipt/v1", body }) };
|
|
105
|
+
requireRestoration(restorationJson(receipt) === restorationJson(expected), "receipt does not bind the honest selected operation outcomes.");
|
|
106
|
+
}
|
|
107
|
+
export function parseConsumerRestorationPreparation(bytes, expect) {
|
|
108
|
+
return parseSelected(bytes, expect, false);
|
|
109
|
+
}
|
|
110
|
+
export function parseConsumerRestorationProof(bytes, expect) {
|
|
111
|
+
const proof = parseSelected(bytes, expect, true);
|
|
112
|
+
requireRestoration(proof.activation === "verified-current-v2" && /^sha256:[0-9a-f]{64}$/u.test(proof.preparationDigest) &&
|
|
113
|
+
typeof proof.proofPath === "string" && proof.proofPath.startsWith("/") && proof.proofPath.length <= 4096, "unsupported final activation or selection evidence.");
|
|
114
|
+
assertObservedRestorationReceipt(proof.plan, proof.receipt);
|
|
115
|
+
if (proof.originalReceipt !== null) {
|
|
116
|
+
assertFullyReplacedReceipt(proof.plan, proof.originalReceipt);
|
|
117
|
+
}
|
|
118
|
+
const { receipt: _receipt, originalReceipt: _original, activation: _activation, preparationDigest, proofPath: _path, ...intent } = proof;
|
|
119
|
+
const preparation = { ...intent, protocol: "agent-teams.managed-v1-restoration-preparation/v1" };
|
|
120
|
+
parseConsumerRestorationPreparation(Buffer.from(`${restorationJson(preparation)}\n`), preparationDigest);
|
|
121
|
+
return proof;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=consumer-restoration-proof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumer-restoration-proof.js","sourceRoot":"","sources":["../../../../src/consumer-integration/application/policies/consumer-restoration-proof.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { QualifiedDocsCohortBindingV2, QualifiedDocsPackageCoordinateV2 } from "../../domain/model.js";
|
|
2
|
+
type QualifiedDocsCohortV2PackageKey = keyof QualifiedDocsCohortBindingV2["packages"];
|
|
3
|
+
export interface QualifiedDocsCohortV2PackageDescriptor {
|
|
4
|
+
readonly key: QualifiedDocsCohortV2PackageKey;
|
|
5
|
+
readonly name: `@agent-teams/${string}`;
|
|
6
|
+
readonly direct: boolean;
|
|
7
|
+
}
|
|
8
|
+
/** The sole mapping from Cohort v2 keys to public npm package identities. */
|
|
9
|
+
export declare const QUALIFIED_DOCS_COHORT_V2_PACKAGES: readonly QualifiedDocsCohortV2PackageDescriptor[];
|
|
10
|
+
export declare function qualifiedDocsCohortV2PackageEntries(cohort: QualifiedDocsCohortBindingV2): readonly (QualifiedDocsCohortV2PackageDescriptor & QualifiedDocsPackageCoordinateV2)[];
|
|
11
|
+
export declare function qualifiedDocsCohortV2DirectPackageEntries(cohort: QualifiedDocsCohortBindingV2): readonly (QualifiedDocsCohortV2PackageDescriptor & QualifiedDocsPackageCoordinateV2)[];
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=qualified-docs-cohort-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qualified-docs-cohort-v2.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/policies/qualified-docs-cohort-v2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,gCAAgC,EACjC,MAAM,uBAAuB,CAAC;AAE/B,KAAK,+BAA+B,GAAG,MAAM,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAEtF,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,GAAG,EAAE,+BAA+B,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,6EAA6E;AAC7E,eAAO,MAAM,iCAAiC,EAAE,SAAS,sCAAsC,EA2B3F,CAAC;AAEL,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,4BAA4B,GACnC,SAAS,CAAC,sCAAsC,GAAG,gCAAgC,CAAC,EAAE,CAKxF;AAED,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,4BAA4B,GACnC,SAAS,CAAC,sCAAsC,GAAG,gCAAgC,CAAC,EAAE,CAExF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** The sole mapping from Cohort v2 keys to public npm package identities. */
|
|
2
|
+
export const QUALIFIED_DOCS_COHORT_V2_PACKAGES = Object.freeze([
|
|
3
|
+
Object.freeze({
|
|
4
|
+
key: "repositoryMutation",
|
|
5
|
+
name: "@agent-teams/repository-mutation",
|
|
6
|
+
direct: false
|
|
7
|
+
}),
|
|
8
|
+
Object.freeze({
|
|
9
|
+
key: "documentAuthoring",
|
|
10
|
+
name: "@agent-teams/document-authoring",
|
|
11
|
+
direct: false
|
|
12
|
+
}),
|
|
13
|
+
Object.freeze({
|
|
14
|
+
key: "docsProtocol",
|
|
15
|
+
name: "@agent-teams/docs-protocol",
|
|
16
|
+
direct: true
|
|
17
|
+
}),
|
|
18
|
+
Object.freeze({
|
|
19
|
+
key: "docsProtocolAgentTeams",
|
|
20
|
+
name: "@agent-teams/docs-protocol-agent-teams",
|
|
21
|
+
direct: true
|
|
22
|
+
}),
|
|
23
|
+
Object.freeze({
|
|
24
|
+
key: "engineeringFoundation",
|
|
25
|
+
name: "@agent-teams/engineering-foundation",
|
|
26
|
+
direct: true
|
|
27
|
+
})
|
|
28
|
+
]);
|
|
29
|
+
export function qualifiedDocsCohortV2PackageEntries(cohort) {
|
|
30
|
+
return QUALIFIED_DOCS_COHORT_V2_PACKAGES.map((descriptor) => Object.freeze({
|
|
31
|
+
...descriptor,
|
|
32
|
+
...cohort.packages[descriptor.key]
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
export function qualifiedDocsCohortV2DirectPackageEntries(cohort) {
|
|
36
|
+
return qualifiedDocsCohortV2PackageEntries(cohort).filter(({ direct }) => direct);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=qualified-docs-cohort-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qualified-docs-cohort-v2.js","sourceRoot":"","sources":["../../../../src/consumer-integration/application/policies/qualified-docs-cohort-v2.ts"],"names":[],"mappings":"AAaA,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAC5C,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,CAAC,MAAM,CAAC;QACZ,GAAG,EAAE,oBAAoB;QACzB,IAAI,EAAE,kCAAkC;QACxC,MAAM,EAAE,KAAK;KACd,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,KAAK;KACd,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,GAAG,EAAE,cAAc;QACnB,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE,IAAI;KACb,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,GAAG,EAAE,wBAAwB;QAC7B,IAAI,EAAE,wCAAwC;QAC9C,MAAM,EAAE,IAAI;KACb,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,GAAG,EAAE,uBAAuB;QAC5B,IAAI,EAAE,qCAAqC;QAC3C,MAAM,EAAE,IAAI;KACb,CAAC;CACH,CAAC,CAAC;AAEL,MAAM,UAAU,mCAAmC,CACjD,MAAoC;IAEpC,OAAO,iCAAiC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QACzE,GAAG,UAAU;QACb,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;KACnC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,MAAoC;IAEpC,OAAO,mCAAmC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { KnownFileTransactionBarrierInspection, KnownFileTransactionPlanV1, KnownFileTransactionReceiptV1 } from "@agent-teams/repository-mutation";
|
|
2
2
|
import type { ConsumerAssetCatalogV1 } from "../policies/consumer-integration-assets.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { ConsumerIntegrationDesiredState, ConsumerIntegrationSnapshot } from "../../domain/model.js";
|
|
4
4
|
interface ConsumerIntegrationInput {
|
|
5
|
-
readonly desired:
|
|
5
|
+
readonly desired: ConsumerIntegrationDesiredState;
|
|
6
|
+
readonly repositoryHead?: string;
|
|
6
7
|
readonly root: string;
|
|
7
8
|
readonly snapshot: ConsumerIntegrationSnapshot;
|
|
8
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer-integration-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/ports/consumer-integration-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qCAAqC,EACrC,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"consumer-integration-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/ports/consumer-integration-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qCAAqC,EACrC,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EACV,+BAA+B,EAC/B,2BAA2B,EAC5B,MAAM,uBAAuB,CAAC;AAE/B,UAAU,wBAAwB;IAChC,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC;IAClD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;CAChD;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,CAAC,OAAO,EAAE;QACZ,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KAC1C,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,kCAAkC;IACjD,OAAO,CAAC,OAAO,EAAE;QACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;IACnD,KAAK,CAAC,OAAO,EAAE;QACb,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;KAC3C,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,OAAO,EAAE;QACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;CAC5C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConsumerIntegrationDigest, ConsumerIntegrationFileObservation, ConsumerIntegrationIssue, QualifiedDocsCohortBindingV1 } from "../../domain/model.js";
|
|
1
|
+
import type { ConsumerIntegrationDigest, ConsumerIntegrationFileObservation, ConsumerIntegrationIssue, QualifiedDocsCohortBindingV1, QualifiedDocsCohortBindingV2 } from "../../domain/model.js";
|
|
2
2
|
export interface AgentsRoutePlanV1 {
|
|
3
3
|
readonly state: "absent" | "conflict" | "exact-current" | "known-prior";
|
|
4
4
|
readonly currentDigest: ConsumerIntegrationDigest;
|
|
@@ -20,16 +20,16 @@ export interface AgentsRoutePlannerV1 {
|
|
|
20
20
|
readonly knownPriorRouteDigest?: ConsumerIntegrationDigest;
|
|
21
21
|
}): AgentsRoutePlanV1;
|
|
22
22
|
}
|
|
23
|
-
export interface
|
|
23
|
+
export interface PnpmManifestPlanner {
|
|
24
24
|
plan(input: {
|
|
25
25
|
readonly observation: ConsumerIntegrationFileObservation;
|
|
26
26
|
readonly profilePath: string;
|
|
27
|
-
readonly cohort: QualifiedDocsCohortBindingV1;
|
|
27
|
+
readonly cohort: QualifiedDocsCohortBindingV1 | QualifiedDocsCohortBindingV2;
|
|
28
28
|
readonly knownPriorScriptsDigest?: ConsumerIntegrationDigest;
|
|
29
29
|
}): PnpmManifestPlanV1;
|
|
30
30
|
}
|
|
31
31
|
export interface ConsumerIntegrationPlanningPorts {
|
|
32
32
|
readonly agentsRoute: AgentsRoutePlannerV1;
|
|
33
|
-
readonly packageManifest:
|
|
33
|
+
readonly packageManifest: PnpmManifestPlanner;
|
|
34
34
|
}
|
|
35
35
|
//# sourceMappingURL=consumer-integration-planners.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer-integration-planners.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/ports/consumer-integration-planners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,kCAAkC,EAClC,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,eAAe,GAAG,aAAa,CAAC;IACxE,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC;IAClD,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,GAAG,aAAa,CAAC;IAC7D,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC;IAClD,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,KAAK,EAAE;QACV,QAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC;QACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;KAC5D,GAAG,iBAAiB,CAAC;CACvB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"consumer-integration-planners.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/ports/consumer-integration-planners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,kCAAkC,EAClC,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,eAAe,GAAG,aAAa,CAAC;IACxE,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC;IAClD,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,GAAG,aAAa,CAAC;IAC7D,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC;IAClD,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,KAAK,EAAE;QACV,QAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC;QACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;KAC5D,GAAG,iBAAiB,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,KAAK,EAAE;QACV,QAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC;QACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,GAAG,4BAA4B,CAAC;QAC7E,QAAQ,CAAC,uBAAuB,CAAC,EAAE,yBAAyB,CAAC;KAC9D,GAAG,kBAAkB,CAAC;CACxB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;CAC/C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { KnownFileTransactionPlanV1 } from "@agent-teams/repository-mutation";
|
|
2
|
+
import type { ConsumerIntegrationDesiredStateV1, ConsumerUpgradeAuthorityV1, ConsumerUpgradeAuthorityV2, QualifiedDocsCohortBindingV1, QualifiedDocsCohortBindingV2 } from "../../domain/model.js";
|
|
3
|
+
import type { RetainedConsumerRestoration } from "../model/consumer-restoration.js";
|
|
4
|
+
export interface ConsumerRestorationAuthorityReader {
|
|
5
|
+
readRestoration(options: {
|
|
6
|
+
readonly source: QualifiedDocsCohortBindingV2;
|
|
7
|
+
readonly origin: QualifiedDocsCohortBindingV1;
|
|
8
|
+
readonly repository: ConsumerIntegrationDesiredStateV1["repository"];
|
|
9
|
+
}): Promise<{
|
|
10
|
+
readonly source: ConsumerUpgradeAuthorityV1 | ConsumerUpgradeAuthorityV2;
|
|
11
|
+
readonly target: ConsumerUpgradeAuthorityV1 | ConsumerUpgradeAuthorityV2;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
export interface ConsumerRestorationRecorder {
|
|
15
|
+
prepare(options: {
|
|
16
|
+
readonly consumerRoot: string;
|
|
17
|
+
readonly sourceRevision: string;
|
|
18
|
+
readonly current: ConsumerIntegrationDesiredStateV1;
|
|
19
|
+
readonly target: QualifiedDocsCohortBindingV2;
|
|
20
|
+
readonly plan: KnownFileTransactionPlanV1;
|
|
21
|
+
readonly proofPath: string;
|
|
22
|
+
}): Promise<RetainedConsumerRestoration>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=consumer-restoration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumer-restoration.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/ports/consumer-restoration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,KAAK,EACV,iCAAiC,EAAE,0BAA0B,EAAE,0BAA0B,EACzF,4BAA4B,EAAE,4BAA4B,EAC3D,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAEpF,MAAM,WAAW,kCAAkC;IACjD,eAAe,CAAC,OAAO,EAAE;QACvB,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;QAC9C,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;QAC9C,QAAQ,CAAC,UAAU,EAAE,iCAAiC,CAAC,YAAY,CAAC,CAAC;KACtE,GAAG,OAAO,CAAC;QACV,QAAQ,CAAC,MAAM,EAAE,0BAA0B,GAAG,0BAA0B,CAAC;QACzE,QAAQ,CAAC,MAAM,EAAE,0BAA0B,GAAG,0BAA0B,CAAC;KAC1E,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,OAAO,EAAE;QACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,OAAO,EAAE,iCAAiC,CAAC;QACpD,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;QAC9C,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;QAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumer-restoration.js","sourceRoot":"","sources":["../../../../src/consumer-integration/application/ports/consumer-restoration.ts"],"names":[],"mappings":""}
|