codex-workflow-v2 2.0.0-beta.2 → 2.0.0-beta.4

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 (128) hide show
  1. package/README.md +35 -2
  2. package/dist/src/alpha6/adoption.js +13 -3
  3. package/dist/src/alpha6/adoption.js.map +1 -1
  4. package/dist/src/alpha6/handoff.d.ts +21 -0
  5. package/dist/src/alpha6/handoff.js +100 -19
  6. package/dist/src/alpha6/handoff.js.map +1 -1
  7. package/dist/src/alpha6/milestone.d.ts +2 -0
  8. package/dist/src/alpha6/milestone.js +15 -0
  9. package/dist/src/alpha6/milestone.js.map +1 -1
  10. package/dist/src/alpha6/plan-risk.d.ts +1 -0
  11. package/dist/src/alpha6/plan-risk.js +6 -0
  12. package/dist/src/alpha6/plan-risk.js.map +1 -1
  13. package/dist/src/cli.js +188 -65
  14. package/dist/src/cli.js.map +1 -1
  15. package/dist/src/contracts.d.ts +111 -5
  16. package/dist/src/contracts.js +1 -1
  17. package/dist/src/credential-output.d.ts +10 -0
  18. package/dist/src/credential-output.js +73 -0
  19. package/dist/src/credential-output.js.map +1 -0
  20. package/dist/src/errors.d.ts +1 -1
  21. package/dist/src/errors.js.map +1 -1
  22. package/dist/src/index.d.ts +1 -1
  23. package/dist/src/index.js +1 -1
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/lifecycle/canonical-hash.d.ts +6 -0
  26. package/dist/src/lifecycle/canonical-hash.js +24 -0
  27. package/dist/src/lifecycle/canonical-hash.js.map +1 -0
  28. package/dist/src/lifecycle/catalog.d.ts +26 -0
  29. package/dist/src/lifecycle/catalog.js +208 -0
  30. package/dist/src/lifecycle/catalog.js.map +1 -0
  31. package/dist/src/lifecycle/compiler-inspection.d.ts +48 -0
  32. package/dist/src/lifecycle/compiler-inspection.js +29 -0
  33. package/dist/src/lifecycle/compiler-inspection.js.map +1 -0
  34. package/dist/src/lifecycle/core-static-readiness.d.ts +6 -0
  35. package/dist/src/lifecycle/core-static-readiness.js +130 -0
  36. package/dist/src/lifecycle/core-static-readiness.js.map +1 -0
  37. package/dist/src/lifecycle/corrective-replan-authority.d.ts +53 -0
  38. package/dist/src/lifecycle/corrective-replan-authority.js +139 -0
  39. package/dist/src/lifecycle/corrective-replan-authority.js.map +1 -0
  40. package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +21 -0
  41. package/dist/src/lifecycle/corrective-replan-binding-manifest.js +35 -0
  42. package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -0
  43. package/dist/src/lifecycle/corrective-replan-credential-core.d.ts +86 -0
  44. package/dist/src/lifecycle/corrective-replan-credential-core.js +534 -0
  45. package/dist/src/lifecycle/corrective-replan-credential-core.js.map +1 -0
  46. package/dist/src/lifecycle/corrective-replan-credential-schema.d.ts +17 -0
  47. package/dist/src/lifecycle/corrective-replan-credential-schema.js +44 -0
  48. package/dist/src/lifecycle/corrective-replan-credential-schema.js.map +1 -0
  49. package/dist/src/lifecycle/corrective-replan-credentials.d.ts +47 -0
  50. package/dist/src/lifecycle/corrective-replan-credentials.js +103 -0
  51. package/dist/src/lifecycle/corrective-replan-credentials.js.map +1 -0
  52. package/dist/src/lifecycle/corrective-replan.d.ts +64 -0
  53. package/dist/src/lifecycle/corrective-replan.js +548 -0
  54. package/dist/src/lifecycle/corrective-replan.js.map +1 -0
  55. package/dist/src/lifecycle/evaluator.d.ts +2 -0
  56. package/dist/src/lifecycle/evaluator.js +35 -0
  57. package/dist/src/lifecycle/evaluator.js.map +1 -0
  58. package/dist/src/lifecycle/fingerprint.d.ts +31 -0
  59. package/dist/src/lifecycle/fingerprint.js +388 -0
  60. package/dist/src/lifecycle/fingerprint.js.map +1 -0
  61. package/dist/src/lifecycle/immutable.d.ts +1 -0
  62. package/dist/src/lifecycle/immutable.js +10 -0
  63. package/dist/src/lifecycle/immutable.js.map +1 -0
  64. package/dist/src/lifecycle/implementation-table.d.ts +29 -0
  65. package/dist/src/lifecycle/implementation-table.js +87 -0
  66. package/dist/src/lifecycle/implementation-table.js.map +1 -0
  67. package/dist/src/lifecycle/index.d.ts +4 -0
  68. package/dist/src/lifecycle/index.js +5 -0
  69. package/dist/src/lifecycle/index.js.map +1 -0
  70. package/dist/src/lifecycle/schema-artifact.d.ts +12 -0
  71. package/dist/src/lifecycle/schema-artifact.js +214 -0
  72. package/dist/src/lifecycle/schema-artifact.js.map +1 -0
  73. package/dist/src/lifecycle/semantic-registry.d.ts +6 -0
  74. package/dist/src/lifecycle/semantic-registry.js +489 -0
  75. package/dist/src/lifecycle/semantic-registry.js.map +1 -0
  76. package/dist/src/lifecycle/types.d.ts +718 -0
  77. package/dist/src/lifecycle/types.js +4 -0
  78. package/dist/src/lifecycle/types.js.map +1 -0
  79. package/dist/src/observation.d.ts +20 -0
  80. package/dist/src/observation.js +171 -0
  81. package/dist/src/observation.js.map +1 -0
  82. package/dist/src/state/corrective-replan-executor.d.ts +64 -0
  83. package/dist/src/state/corrective-replan-executor.js +598 -0
  84. package/dist/src/state/corrective-replan-executor.js.map +1 -0
  85. package/dist/src/state/corrective-replan-public-schema.d.ts +3 -0
  86. package/dist/src/state/corrective-replan-public-schema.js +43 -0
  87. package/dist/src/state/corrective-replan-public-schema.js.map +1 -0
  88. package/dist/src/state/corrective-replan-public.d.ts +95 -0
  89. package/dist/src/state/corrective-replan-public.js +618 -0
  90. package/dist/src/state/corrective-replan-public.js.map +1 -0
  91. package/dist/src/state/corrective-replan-transaction.d.ts +158 -0
  92. package/dist/src/state/corrective-replan-transaction.js +723 -0
  93. package/dist/src/state/corrective-replan-transaction.js.map +1 -0
  94. package/dist/src/state/corrective-yield-executor.d.ts +31 -0
  95. package/dist/src/state/corrective-yield-executor.js +236 -0
  96. package/dist/src/state/corrective-yield-executor.js.map +1 -0
  97. package/dist/src/state/corrective-yield-transaction.d.ts +97 -0
  98. package/dist/src/state/corrective-yield-transaction.js +591 -0
  99. package/dist/src/state/corrective-yield-transaction.js.map +1 -0
  100. package/dist/src/state/lock.d.ts +75 -3
  101. package/dist/src/state/lock.js +582 -30
  102. package/dist/src/state/lock.js.map +1 -1
  103. package/dist/src/state/store.d.ts +3 -0
  104. package/dist/src/state/store.js +65 -12
  105. package/dist/src/state/store.js.map +1 -1
  106. package/dist/src/transition-core.d.ts +67 -0
  107. package/dist/src/transition-core.js +318 -0
  108. package/dist/src/transition-core.js.map +1 -0
  109. package/dist/src/version.d.ts +1 -1
  110. package/dist/src/version.js +1 -1
  111. package/dist/src/workflow.d.ts +34 -22
  112. package/dist/src/workflow.js +486 -141
  113. package/dist/src/workflow.js.map +1 -1
  114. package/docs/lifecycle/state-machine-stabilization.md +641 -0
  115. package/docs/release.md +4 -2
  116. package/docs/updating-existing-project.md +9 -0
  117. package/package.json +4 -1
  118. package/schemas/adoption-posture-event.schema.json +1 -1
  119. package/schemas/context-envelope.schema.json +1 -1
  120. package/schemas/corrective-replan-credentials.private.schema.json +98 -0
  121. package/schemas/corrective-replan-execution-event.private.schema.json +53 -0
  122. package/schemas/corrective-replan-public.schema.json +142 -0
  123. package/schemas/corrective-replan-task-transaction.private.schema.json +151 -0
  124. package/schemas/corrective-yield-task-transaction.private.schema.json +98 -0
  125. package/schemas/remediation-event.schema.json +11 -1
  126. package/schemas/task-handoff-event.schema.json +1 -1
  127. package/schemas/transition-definition.schema.json +2609 -0
  128. package/schemas/transition-payloads.schema.json +140 -0
@@ -0,0 +1,534 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { types as utilTypes } from 'node:util';
3
+ import { correctiveReplanBindingManifest } from './corrective-replan-binding-manifest.js';
4
+ import { installedAuthoritySemanticBindings } from './corrective-replan-authority.js';
5
+ import { correctiveReplanCredentialSchemaValidators } from './corrective-replan-credential-schema.js';
6
+ import { hashCanonical } from './fingerprint.js';
7
+ import { deepFreeze } from './immutable.js';
8
+ import { LIFECYCLE_EPOCH } from './types.js';
9
+ const kernels = new WeakMap();
10
+ const TTL = 900_000;
11
+ const MAX_SAFE = Number.MAX_SAFE_INTEGER;
12
+ const MALFORMED = Symbol('malformed');
13
+ const LIMIT = Symbol('limit');
14
+ export function createCorrectiveReplanCredentialKernel(ports) {
15
+ if (!exactKeys(ports, ['snapshotSource', 'coreClock', 'idSource', 'challengeCodeSource', 'validationEventTailSource']))
16
+ throw new TypeError('Invalid corrective replan Core ports.');
17
+ const captured = deepFreeze({
18
+ readSnapshot: ports.snapshotSource.readCorrectiveReplanSnapshot.bind(ports.snapshotSource),
19
+ now: ports.coreClock.nowMs.bind(ports.coreClock), nextId: ports.idSource.nextId.bind(ports.idSource),
20
+ issueCode: ports.challengeCodeSource.issueConfirmationCode.bind(ports.challengeCodeSource),
21
+ readTail: ports.validationEventTailSource.readPlanValidationTail.bind(ports.validationEventTailSource),
22
+ });
23
+ const issuer = Object.freeze(Object.create(null));
24
+ kernels.set(issuer, { ports: captured, plans: new WeakMap(), challenges: new WeakMap(), confirmations: new WeakMap(),
25
+ receipts: new WeakMap(), events: new WeakMap(), preparations: new Map(), preparationGeneration: { value: 0 },
26
+ challenged: new WeakSet(), confirmed: new WeakSet(), receipted: new WeakSet(), evented: new WeakSet() });
27
+ return deepFreeze({
28
+ issuePlanValidation: (input) => totalResult(() => issuePlanValidation(issuer, input)),
29
+ issueHumanChallenge: (input) => totalResult(() => issueHumanChallenge(issuer, input)),
30
+ confirmHuman: (input) => totalResult(() => confirmHuman(issuer, input)),
31
+ issueReceipt: (input) => totalResult(() => issueReceipt(issuer, input)),
32
+ verifyReceipt: (input) => totalVerification(() => verifyReceipt(issuer, input)),
33
+ materializeStoredEvent: (input) => totalResult(() => materializeStoredEvent(issuer, input)),
34
+ verifyStoredEvent: (input) => totalVerification(() => verifyStoredEvent(issuer, input)),
35
+ });
36
+ }
37
+ const issuePlanValidation = (issuer, input) => {
38
+ const kernel = kernels.get(object(issuer));
39
+ if (!kernel)
40
+ return rejected('credential.provenance.invalid', '/', 'provenance');
41
+ const owned = copyOwnedJson(input);
42
+ if (owned === LIMIT)
43
+ return rejected('credential.operation.limit-exceeded', '/', 'schema');
44
+ if (owned === MALFORMED || !exactKeys(owned, ['taskId', 'draft']))
45
+ return rejected('credential.operation.malformed', '/', 'schema');
46
+ const envelope = owned;
47
+ if (!canonicalId(envelope.taskId) || !exactDraft(envelope.draft))
48
+ return rejected('credential.plan-validation.input-invalid', '/draft', 'schema');
49
+ const now = safeTime(kernel.ports.now());
50
+ if (now === null)
51
+ return rejected('credential.time.invalid', '/coreClock', 'time');
52
+ const loaded = loadCanonicalSnapshot(kernel, envelope.taskId);
53
+ if ('issueId' in loaded)
54
+ return rejected(loaded.issueId, loaded.path, loaded.reasonClass);
55
+ const { snapshot, snapshotBindingHash } = loaded;
56
+ const base = record(snapshot.baseValues);
57
+ const expected = record(snapshot.validationExpectation);
58
+ const draft = record(envelope.draft);
59
+ for (const key of ['requirements', 'acceptance', 'architecture'])
60
+ if (!same(draft[key], expected[key]))
61
+ return rejected('credential.plan-validation.snapshot-mismatch', `/draft/${key}`, 'binding');
62
+ const validatorContext = record(draft.validatorContext);
63
+ const plannerContextHash = get(expected, '/plannerContext/contextHash');
64
+ if (validatorContext.contextHash === plannerContextHash)
65
+ return rejected('credential.plan-validation.context-invalid', '/draft/validatorContext', 'binding');
66
+ if (base.planAuthorIdentityHash === base.planValidatorIdentityHash)
67
+ return rejected('credential.plan-validation.sod-invalid', '/snapshot/baseValues/planValidatorIdentityHash', 'sod');
68
+ const findings = array(draft.findings);
69
+ const dispositions = array(draft.dispositions);
70
+ if (!keyedBijection(findings, dispositions))
71
+ return rejected('credential.plan-validation.findings-invalid', '/draft/findings', 'binding');
72
+ const plannerCaptured = safeTime(get(expected, '/plannerContext/capturedAtMs'));
73
+ if (plannerCaptured === null || plannerCaptured > now)
74
+ return rejected('credential.plan-validation.context-time-invalid', '/snapshot/validationExpectation/plannerContext/capturedAtMs', 'time');
75
+ const preparationKey = hashCanonical({ family: 'corrective-replan', snapshotBindingHash, transitionId: base.transitionId,
76
+ taskId: base.taskId, revision: base.revision, candidatePlanHash: base.candidatePlanHash, candidateStepSetHash: base.candidateStepSetHash });
77
+ const previous = kernel.preparations.get(preparationKey);
78
+ if (previous && now < previous.expiresAtMs)
79
+ return rejected('credential.preparation.duplicate', '/taskId', 'provenance');
80
+ if (previous)
81
+ kernel.preparations.delete(preparationKey);
82
+ const generation = ++kernel.preparationGeneration.value;
83
+ kernel.preparations.set(preparationKey, { generation, status: 'reserved', expiresAtMs: now + TTL });
84
+ let committed = false;
85
+ try {
86
+ const sortedFindings = sortRows(findings);
87
+ const sortedDispositions = sortRows(dispositions);
88
+ const freshContext = { sourceSnapshotHash: snapshotBindingHash, plannerContextHash, validatorContextHash: validatorContext.contextHash, passed: true };
89
+ const validation = { domain: 'codex-workflow/plan-validation/v1', source: expected.source, candidate: expected.candidate,
90
+ requirements: draft.requirements, acceptance: draft.acceptance, architecture: draft.architecture,
91
+ planAuthor: expected.planAuthor, plannerContext: expected.plannerContext, validator: expected.validator,
92
+ validatorContext: { contextHash: validatorContext.contextHash, capturedAtMs: now }, freshContext,
93
+ passed: true, findings: sortedFindings, dispositions: sortedDispositions, validatedAtMs: now, expiresAtMs: now + TTL };
94
+ const planValidationHash = hashCanonical(validation);
95
+ const values = { ...clone(base), planValidationHash };
96
+ if (!canonicalManifestValues(values, true))
97
+ return rejected('credential.binding.values-invalid', '/binding/values', 'binding');
98
+ const capability = { id: 'capability.task.corrective-replan', version: 1,
99
+ issuer: { kind: 'human', identityHash: values.humanPrincipalIdentityHash }, source: 'human-confirmation',
100
+ scope: { transitionId: values.transitionId, taskId: values.taskId, candidatePlanHash: values.candidatePlanHash,
101
+ manifestSha256: correctiveReplanBindingManifest.manifestSha256 }, delegation: 'forbidden' };
102
+ const bindingBase = { schemaVersion: 1, manifestRef: { id: correctiveReplanBindingManifest.id, version: 1 },
103
+ manifestSha256: correctiveReplanBindingManifest.manifestSha256, values, capability };
104
+ const binding = { ...bindingBase, bindingSha256: hashCanonical(bindingBase) };
105
+ if (!schema('schema.corrective-replan-binding', binding))
106
+ return rejected('credential.binding.invalid', '/binding', 'schema');
107
+ const attestationBase = { schemaVersion: 1, attestationId: safeId(kernel.ports.nextId('plan-validation-attestation')),
108
+ bindingSha256: binding.bindingSha256, source: validation.source, candidate: validation.candidate,
109
+ requirements: validation.requirements, acceptance: validation.acceptance, architecture: validation.architecture,
110
+ planAuthor: validation.planAuthor, plannerContext: validation.plannerContext, validator: validation.validator,
111
+ validatorContext: validation.validatorContext, freshContext, passed: true,
112
+ findings: sortedFindings, dispositions: sortedDispositions, validatedAtMs: now, expiresAtMs: now + TTL };
113
+ if (!attestationBase.attestationId)
114
+ return rejected('credential.id.invalid', '/idSource', 'integrity');
115
+ const attestation = { ...attestationBase, attestationHash: hashCanonical(attestationBase) };
116
+ if (!schema('schema.corrective-replan-plan-validation-attestation', attestation))
117
+ return rejected('credential.plan-validation.invalid', '/attestation', 'schema');
118
+ const handle = opaque();
119
+ const recordValue = deepFreeze({ preparationKey, generation, snapshot, snapshotBindingHash, binding, attestation });
120
+ kernel.plans.set(handle, recordValue);
121
+ kernel.preparations.set(preparationKey, { generation, status: 'active', expiresAtMs: now + TTL });
122
+ committed = true;
123
+ return accepted({ handle: handle, binding, attestation });
124
+ }
125
+ finally {
126
+ if (!committed && kernel.preparations.get(preparationKey)?.generation === generation)
127
+ kernel.preparations.delete(preparationKey);
128
+ }
129
+ };
130
+ const issueHumanChallenge = (issuer, input) => {
131
+ const kernel = kernels.get(object(issuer));
132
+ if (!kernel)
133
+ return rejected('credential.provenance.invalid', '/', 'provenance');
134
+ if (!exactKeys(input, ['planValidation']))
135
+ return rejected('credential.envelope.invalid', '/', 'schema');
136
+ const handle = object(input.planValidation);
137
+ const plan = kernel.plans.get(handle);
138
+ if (!plan)
139
+ return rejected('credential.provenance.invalid', '/planValidation', 'provenance');
140
+ if (!activePreparation(kernel, plan))
141
+ return rejected('credential.preparation.superseded', '/planValidation', 'provenance');
142
+ if (kernel.challenged.has(handle))
143
+ return rejected('credential.provenance.invalid', '/planValidation', 'provenance');
144
+ const now = safeTime(kernel.ports.now());
145
+ if (now === null)
146
+ return rejected('credential.time.invalid', '/coreClock', 'time');
147
+ if (now < number(plan.attestation.validatedAtMs))
148
+ return rejected('credential.challenge.time-invalid', '/coreClock', 'time');
149
+ const expiresAtMs = Math.min(now + TTL, number(plan.attestation.expiresAtMs));
150
+ if (now >= expiresAtMs)
151
+ return rejected('credential.challenge.expired', '/planValidation', 'time');
152
+ const challengeId = safeId(kernel.ports.nextId('human-challenge'));
153
+ if (!challengeId)
154
+ return rejected('credential.challenge.source-invalid', '/idSource', 'integrity');
155
+ const code = kernel.ports.issueCode();
156
+ if (typeof code !== 'string' || !/^[0-9]{6}$/.test(code))
157
+ return rejected('credential.challenge.source-invalid', '/challengeCodeSource', 'integrity');
158
+ const core = { schemaVersion: 1, challengeId, owner: 'workflow-core', bindingSha256: plan.binding.bindingSha256,
159
+ codeSha256: sha(code), issuedAtMs: now, expiresAtMs };
160
+ const challenge = deepFreeze({ ...core, challengeHash: hashCanonical(core) });
161
+ const challengeHandle = opaque();
162
+ kernel.challenges.set(challengeHandle, deepFreeze({ plan, challenge }));
163
+ kernel.challenged.add(handle);
164
+ return accepted({ handle: challengeHandle,
165
+ delivery: { kind: 'corrective-replan-human-challenge-delivery', version: 1, challengeId, confirmationCode: code, expiresAtMs } });
166
+ };
167
+ const confirmHuman = (issuer, input) => {
168
+ const kernel = kernels.get(object(issuer));
169
+ if (!kernel)
170
+ return rejected('credential.provenance.invalid', '/', 'provenance');
171
+ if (!exactKeys(input, ['challenge', 'confirmation']))
172
+ return rejected('credential.envelope.invalid', '/', 'schema');
173
+ const confirmation = input.confirmation;
174
+ if (!schema('schema.corrective-replan-human-confirmation-input', confirmation))
175
+ return rejected('credential.confirmation.input-invalid', '/confirmation', 'schema');
176
+ const challengeHandle = object(input.challenge);
177
+ const challenge = kernel.challenges.get(challengeHandle);
178
+ if (!challenge)
179
+ return rejected('credential.provenance.invalid', '/challenge', 'provenance');
180
+ if (!activePreparation(kernel, challenge.plan))
181
+ return rejected('credential.preparation.superseded', '/challenge', 'provenance');
182
+ if (kernel.confirmed.has(challengeHandle))
183
+ return rejected('credential.provenance.invalid', '/challenge', 'provenance');
184
+ const candidate = confirmation;
185
+ const now = safeTime(kernel.ports.now());
186
+ if (now === null)
187
+ return rejected('credential.time.invalid', '/coreClock', 'time');
188
+ const validatedAt = number(challenge.plan.attestation.validatedAtMs);
189
+ const issuedAt = number(challenge.challenge.issuedAtMs);
190
+ const expiresAt = number(challenge.challenge.expiresAtMs);
191
+ if (now >= expiresAt)
192
+ return rejected('credential.confirmation.expired', '/coreClock', 'time');
193
+ if (now < validatedAt || now < issuedAt)
194
+ return rejected('credential.confirmation.time-invalid', '/coreClock', 'time');
195
+ if (candidate.challengeId !== challenge.challenge.challengeId || sha(string(candidate.confirmationCode)) !== challenge.challenge.codeSha256)
196
+ return rejected('credential.confirmation.invalid', '/confirmation/confirmationCode', 'integrity');
197
+ const projection = { challengeId: challenge.challenge.challengeId, challengeHash: challenge.challenge.challengeHash,
198
+ bindingSha256: challenge.plan.binding.bindingSha256,
199
+ humanPrincipalIdentityHash: get(challenge.plan.binding, '/values/humanPrincipalIdentityHash'), confirmedAtMs: now };
200
+ const handle = opaque();
201
+ kernel.confirmations.set(handle, deepFreeze({ challenge, projection }));
202
+ kernel.confirmed.add(challengeHandle);
203
+ return accepted({ handle: handle, projection });
204
+ };
205
+ const issueReceipt = (issuer, input) => {
206
+ const kernel = kernels.get(object(issuer));
207
+ if (!kernel)
208
+ return rejected('credential.provenance.invalid', '/', 'provenance');
209
+ if (!exactKeys(input, ['planValidation', 'confirmation']))
210
+ return rejected('credential.envelope.invalid', '/', 'schema');
211
+ const plan = kernel.plans.get(object(input.planValidation));
212
+ const confirmationHandle = object(input.confirmation);
213
+ const confirmation = kernel.confirmations.get(confirmationHandle);
214
+ if (!plan || !confirmation || confirmation.challenge.plan !== plan)
215
+ return rejected('credential.provenance.invalid', '/', 'provenance');
216
+ if (!activePreparation(kernel, plan))
217
+ return rejected('credential.preparation.superseded', '/planValidation', 'provenance');
218
+ if (kernel.receipted.has(confirmationHandle))
219
+ return rejected('credential.provenance.invalid', '/', 'provenance');
220
+ const freshness = receiptFreshnessIssue(kernel, plan);
221
+ if (freshness)
222
+ return rejected(freshness.issueId, freshness.path, freshness.reasonClass);
223
+ const now = safeTime(kernel.ports.now());
224
+ if (now === null)
225
+ return rejected('credential.time.invalid', '/coreClock', 'time');
226
+ const confirmedAt = number(confirmation.projection.confirmedAtMs);
227
+ const validatedAt = number(plan.attestation.validatedAtMs);
228
+ const expiresAtMs = Math.min(number(plan.attestation.expiresAtMs), number(confirmation.challenge.challenge.expiresAtMs));
229
+ if (validatedAt > confirmedAt || confirmedAt > now || now >= expiresAtMs)
230
+ return rejected('credential.receipt.time-invalid', '/coreClock', 'time');
231
+ const values = record(plan.binding.values);
232
+ const author = values.planAuthorIdentityHash;
233
+ if (!authorityPassed('authority-role-evaluator.corrective-replan.eligible-role', {
234
+ actorIdentityHash: values.actorIdentityHash, actorRole: values.actorRole,
235
+ eligibleRoles: ['delivery-coordinator', 'technical-planner'],
236
+ }))
237
+ return rejected('credential.receipt.role-invalid', '/binding/values/actorRole', 'authority');
238
+ if (!authorityPassed('identity-comparator.corrective-replan.author-validator', {
239
+ leftIdentityHash: author, rightIdentityHash: values.planValidatorIdentityHash,
240
+ }) || !authorityPassed('identity-comparator.corrective-replan.author-risk-auditor', {
241
+ leftIdentityHash: author, rightIdentityHash: values.riskAuditorIdentityHash,
242
+ }) || !authorityPassed('identity-comparator.corrective-replan.author-human-principal', {
243
+ leftIdentityHash: author, rightIdentityHash: values.humanPrincipalIdentityHash,
244
+ }))
245
+ return rejected('credential.receipt.sod-invalid', '/binding/values', 'sod');
246
+ const snapshotGrant = record(plan.snapshot.priorPlanAuthorization);
247
+ const receiptId = safeId(kernel.ports.nextId('receipt'));
248
+ if (!receiptId || snapshotGrant.requiredDisposition !== 'superseded')
249
+ return rejected('credential.receipt.source-invalid', '/snapshot/priorPlanAuthorization', 'authority');
250
+ const validation = { attestationId: plan.attestation.attestationId, attestationHash: plan.attestation.attestationHash,
251
+ planValidationHash: values.planValidationHash, snapshotBindingHash: plan.snapshotBindingHash, planAuthorIdentityHash: values.planAuthorIdentityHash,
252
+ planValidatorIdentityHash: values.planValidatorIdentityHash, findingsHash: hashCanonical(plan.attestation.findings),
253
+ dispositionsHash: hashCanonical(plan.attestation.dispositions), validatedAtMs: plan.attestation.validatedAtMs,
254
+ expiresAtMs: plan.attestation.expiresAtMs };
255
+ const base = { schemaVersion: 1, receiptId, domain: 'codex-workflow/corrective-replan-receipt/v1',
256
+ binding: plan.binding, validation, audit: { riskAuditHash: values.riskAuditHash, riskAuditorIdentityHash: values.riskAuditorIdentityHash },
257
+ human: { challengeId: confirmation.projection.challengeId, challengeHash: confirmation.projection.challengeHash,
258
+ humanPrincipalIdentityHash: confirmation.projection.humanPrincipalIdentityHash, confirmedAtMs: confirmation.projection.confirmedAtMs },
259
+ supersession: { priorGrantHash: snapshotGrant.grantHash, disposition: 'superseded' },
260
+ issuedAtMs: now, expiresAtMs };
261
+ const withDomain = { ...base, domainHash: hashCanonical(base) };
262
+ const receipt = deepFreeze({ ...withDomain, receiptHash: hashCanonical(withDomain) });
263
+ if (!schema('schema.corrective-replan-receipt', receipt))
264
+ return rejected('credential.receipt.invalid', '/receipt', 'schema');
265
+ const handle = opaque();
266
+ kernel.receipts.set(handle, deepFreeze({ plan, confirmation, receipt }));
267
+ kernel.receipted.add(confirmationHandle);
268
+ return accepted({ handle: handle, receipt });
269
+ };
270
+ const verifyReceipt = (issuer, input) => {
271
+ const kernel = kernels.get(object(issuer));
272
+ if (!kernel)
273
+ return verificationRejected('credential.provenance.invalid', '/', 'provenance');
274
+ if (!exactKeys(input, ['receipt', 'candidate']))
275
+ return verificationRejected('credential.envelope.invalid', '/', 'schema');
276
+ const recordValue = kernel.receipts.get(object(input.receipt));
277
+ if (!recordValue)
278
+ return verificationRejected('credential.provenance.invalid', '/receipt', 'provenance');
279
+ const candidate = input.candidate;
280
+ if (!schema('schema.corrective-replan-receipt', candidate))
281
+ return verificationRejected('credential.receipt.invalid', '/candidate', 'schema');
282
+ if (!same(candidate, recordValue.receipt))
283
+ return verificationRejected('credential.receipt.mismatch', '/candidate', 'integrity');
284
+ const freshness = receiptFreshnessIssue(kernel, recordValue.plan);
285
+ if (freshness)
286
+ return verificationRejected(freshness.issueId, freshness.path, freshness.reasonClass);
287
+ const now = safeTime(kernel.ports.now());
288
+ if (now === null)
289
+ return verificationRejected('credential.time.invalid', '/coreClock', 'time');
290
+ if (now < number(recordValue.receipt.issuedAtMs))
291
+ return verificationRejected('credential.receipt.time-invalid', '/coreClock', 'time');
292
+ if (now >= number(recordValue.receipt.expiresAtMs))
293
+ return verificationRejected('credential.receipt.expired', '/coreClock', 'time');
294
+ return verified(recordValue.receipt);
295
+ };
296
+ const materializeStoredEvent = (issuer, input) => {
297
+ const kernel = kernels.get(object(issuer));
298
+ if (!kernel)
299
+ return rejected('credential.provenance.invalid', '/', 'provenance');
300
+ if (!exactKeys(input, ['receipt']))
301
+ return rejected('credential.envelope.invalid', '/', 'schema');
302
+ const handle = object(input.receipt);
303
+ const receipt = kernel.receipts.get(handle);
304
+ if (!receipt || kernel.evented.has(handle))
305
+ return rejected('credential.provenance.invalid', '/receipt', 'provenance');
306
+ const now = safeTime(kernel.ports.now());
307
+ if (now === null)
308
+ return rejected('credential.time.invalid', '/coreClock', 'time');
309
+ if (now < number(receipt.receipt.issuedAtMs))
310
+ return rejected('credential.event.time-invalid', '/coreClock', 'time');
311
+ const freshness = receiptFreshnessIssue(kernel, receipt.plan);
312
+ if (freshness)
313
+ return rejected(freshness.issueId, freshness.path, freshness.reasonClass);
314
+ if (now >= number(receipt.receipt.expiresAtMs))
315
+ return rejected('credential.receipt.expired', '/coreClock', 'time');
316
+ const tail = kernel.ports.readTail(string(get(receipt.receipt, '/binding/values/taskId')));
317
+ const previousEventHash = tail === null ? null : exactKeys(tail, ['eventHash']) ? tail.eventHash : undefined;
318
+ const eventId = safeId(kernel.ports.nextId('plan-validation-event'));
319
+ if (!(previousEventHash === null || hex(previousEventHash)) || !eventId)
320
+ return rejected('credential.event.source-invalid', '/validationEventTailSource', 'integrity');
321
+ const base = { schemaVersion: 1, eventId, previousEventHash, taskId: get(receipt.receipt, '/binding/values/taskId'),
322
+ candidatePlanHash: get(receipt.receipt, '/binding/values/candidatePlanHash'), attestationId: get(receipt.receipt, '/validation/attestationId'),
323
+ attestationHash: get(receipt.receipt, '/validation/attestationHash'), receiptId: receipt.receipt.receiptId,
324
+ receiptHash: receipt.receipt.receiptHash, receiptDomainHash: receipt.receipt.domainHash,
325
+ challengeId: receipt.confirmation.projection.challengeId, challengeHash: receipt.confirmation.projection.challengeHash,
326
+ recordedAt: new Date(now).toISOString(), recordedAtMs: now };
327
+ const event = deepFreeze({ ...base, eventHash: hashCanonical(base) });
328
+ if (!schema('schema.corrective-replan-stored-plan-validation-event', event))
329
+ return rejected('credential.event.invalid', '/event', 'schema');
330
+ const eventHandle = opaque();
331
+ kernel.events.set(eventHandle, deepFreeze({ receipt, event }));
332
+ kernel.evented.add(handle);
333
+ return accepted({ handle: eventHandle, event });
334
+ };
335
+ const verifyStoredEvent = (issuer, input) => {
336
+ const kernel = kernels.get(object(issuer));
337
+ if (!kernel)
338
+ return verificationRejected('credential.provenance.invalid', '/', 'provenance');
339
+ if (!exactKeys(input, ['event', 'candidate']))
340
+ return verificationRejected('credential.envelope.invalid', '/', 'schema');
341
+ const recordValue = kernel.events.get(object(input.event));
342
+ if (!recordValue)
343
+ return verificationRejected('credential.provenance.invalid', '/event', 'provenance');
344
+ const candidate = input.candidate;
345
+ if (!schema('schema.corrective-replan-stored-plan-validation-event', candidate))
346
+ return verificationRejected('credential.event.invalid', '/candidate', 'schema');
347
+ if (!same(candidate, recordValue.event))
348
+ return verificationRejected('credential.event.mismatch', '/candidate', 'integrity');
349
+ return verified(recordValue.event);
350
+ };
351
+ const functions = [issuePlanValidation, issueHumanChallenge, confirmHuman, issueReceipt, verifyReceipt, materializeStoredEvent, verifyStoredEvent];
352
+ const ids = ['credential-materializer.corrective-replan.plan-validation-attestation', 'credential-materializer.corrective-replan.expected-human-challenge',
353
+ 'credential-verifier.corrective-replan.human-confirmation', 'credential-materializer.corrective-replan.receipt',
354
+ 'credential-verifier.corrective-replan.receipt', 'credential-materializer.corrective-replan.stored-plan-validation-event',
355
+ 'credential-verifier.corrective-replan.stored-plan-validation-event'];
356
+ export const correctiveReplanCredentialFunctionBindings = deepFreeze(ids.map((id, index) => ({ id, version: 1,
357
+ kind: id.includes('materializer') ? 'materializer' : 'verifier', implementationId: `implementation.${id}`,
358
+ implementationVersion: 1, wiring: 'invoked', callable: functions[index] })));
359
+ function loadCanonicalSnapshot(kernel, taskId) {
360
+ const source = kernel.ports.readSnapshot(taskId);
361
+ if (!isRecord(source))
362
+ return issue('credential.snapshot.missing', '/taskId', 'binding');
363
+ if (source.bindingManifest !== correctiveReplanBindingManifest)
364
+ return issue('credential.snapshot.manifest-invalid', '/snapshot/bindingManifest', 'binding');
365
+ const invalid = snapshotIssue(source, taskId);
366
+ if (invalid)
367
+ return invalid;
368
+ const snapshot = deepFreeze({ ...clone(source), bindingManifest: correctiveReplanBindingManifest });
369
+ return { snapshot, snapshotBindingHash: hashCanonical(snapshot) };
370
+ }
371
+ function receiptFreshnessIssue(kernel, plan) {
372
+ const loaded = loadCanonicalSnapshot(kernel, string(get(plan.binding, '/values/taskId')));
373
+ if ('issueId' in loaded)
374
+ return issue('credential.receipt.snapshot-stale', '/snapshotBindingHash', 'binding');
375
+ if (!same(loaded.snapshot.priorPlanAuthorization, plan.snapshot.priorPlanAuthorization))
376
+ return issue('credential.receipt.grant-stale', '/snapshot/priorPlanAuthorization/grantHash', 'authority');
377
+ return loaded.snapshotBindingHash === plan.snapshotBindingHash ? null : issue('credential.receipt.snapshot-stale', '/snapshotBindingHash', 'binding');
378
+ }
379
+ function snapshotIssue(snapshot, taskId) {
380
+ if (!exactKeys(snapshot, ['snapshotVersion', 'bindingManifest', 'baseValues', 'validationExpectation', 'priorPlanAuthorization']) || snapshot.snapshotVersion !== 1)
381
+ return issue('credential.snapshot.invalid', '/snapshot', 'schema');
382
+ const base = record(snapshot.baseValues);
383
+ const expected = record(snapshot.validationExpectation);
384
+ if (base.taskId !== taskId || base.transitionId !== 'task.plan.corrective-replan' || base.capabilityId !== 'capability.task.corrective-replan'
385
+ || base.capabilityVersion !== 1 || base.lifecycleEpoch !== LIFECYCLE_EPOCH || !canonicalManifestValues(base, false))
386
+ return issue('credential.snapshot.values-invalid', '/snapshot/baseValues', 'binding');
387
+ if (!validExpectation(expected) || !exactKeys(snapshot.priorPlanAuthorization, ['grantHash', 'requiredDisposition'])
388
+ || !hex(record(snapshot.priorPlanAuthorization).grantHash) || record(snapshot.priorPlanAuthorization).requiredDisposition !== 'superseded')
389
+ return issue('credential.snapshot.invalid', '/snapshot/validationExpectation', 'schema');
390
+ const pairs = [['taskId', 'taskId'], ['revision', 'revision'], ['currentPlanHash', 'currentPlanHash'],
391
+ ['briefHash', 'briefHash'], ['knowledgeRevision', 'knowledgeRevision'], ['knowledgeHash', 'knowledgeHash'], ['gitHead', 'gitHead'],
392
+ ['guardedStepId', 'guardedStepId'], ['correctiveDecisionHash', 'correctiveDecisionHash'], ['remediationTailHash', 'remediationTailHash']];
393
+ if (pairs.some(([sourceKey, baseKey]) => get(expected, `/source/${sourceKey}`) !== base[baseKey])
394
+ || get(expected, '/candidate/planHash') !== base.candidatePlanHash || get(expected, '/candidate/stepSetHash') !== base.candidateStepSetHash
395
+ || get(expected, '/planAuthor/identityHash') !== base.planAuthorIdentityHash || get(expected, '/validator/identityHash') !== base.planValidatorIdentityHash)
396
+ return issue('credential.snapshot.cross-link-invalid', '/snapshot/validationExpectation', 'binding');
397
+ return null;
398
+ }
399
+ function canonicalManifestValues(values, includePlanValidationHash) {
400
+ const rows = correctiveReplanBindingManifest.rows
401
+ .filter((row) => includePlanValidationHash || row.bindingId !== 'planValidationHash');
402
+ if (Object.keys(values).sort().join('\0') !== rows.map((row) => string(row.bindingId)).sort().join('\0'))
403
+ return false;
404
+ return rows.every((row) => {
405
+ const id = string(row.bindingId);
406
+ const value = values[id];
407
+ switch (row.canonicalization) {
408
+ case 'lowercase-hex': return hex(value);
409
+ case 'safe-nonnegative-integer': return safeTime(value) !== null;
410
+ case 'nfc-trim': return canonicalId(value);
411
+ case 'lowercase-git-oid': return typeof value === 'string' && /^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(value);
412
+ case 'registered-enum': return value === 'delivery-coordinator' || value === 'technical-planner';
413
+ case 'exact': return value === (id === 'transitionId' ? 'task.plan.corrective-replan' : 'capability.task.corrective-replan');
414
+ default: return false;
415
+ }
416
+ });
417
+ }
418
+ function validExpectation(value) {
419
+ return exactKeys(value, ['source', 'candidate', 'requirements', 'acceptance', 'architecture', 'planAuthor', 'plannerContext', 'validator'])
420
+ && exactKeys(value.source, ['taskId', 'revision', 'currentPlanHash', 'briefHash', 'knowledgeRevision', 'knowledgeHash', 'gitHead', 'guardedStepId', 'correctiveDecisionHash', 'remediationTailHash'])
421
+ && exactKeys(value.candidate, ['planHash', 'stepSetHash']) && validCoverage(value.requirements) && validCoverage(value.acceptance)
422
+ && validArchitecture(value.architecture) && validIdentity(value.planAuthor) && validIdentity(value.validator)
423
+ && validContext(value.plannerContext, true);
424
+ }
425
+ function exactDraft(value) {
426
+ if (!exactKeys(value, ['schemaVersion', 'requirements', 'acceptance', 'architecture', 'validatorContext', 'passed', 'findings', 'dispositions']))
427
+ return false;
428
+ const draft = value;
429
+ const findings = array(draft.findings);
430
+ const dispositions = array(draft.dispositions);
431
+ return draft.schemaVersion === 1 && draft.passed === true && validCoverage(draft.requirements) && validCoverage(draft.acceptance)
432
+ && validArchitecture(draft.architecture) && validContext(draft.validatorContext, false) && findings.length <= 128 && dispositions.length <= 128
433
+ && findings.every(validFinding) && dispositions.every(validDisposition);
434
+ }
435
+ function validCoverage(value) { return exactKeys(value, ['sourceHash', 'coverageHash', 'passed']) && hex(value.sourceHash) && hex(value.coverageHash) && value.passed === true; }
436
+ function validArchitecture(value) { return exactKeys(value, ['sourceHash', 'compatibilityHash', 'passed']) && hex(value.sourceHash) && hex(value.compatibilityHash) && value.passed === true; }
437
+ function validIdentity(value) { return exactKeys(value, ['identityHash']) && hex(value.identityHash); }
438
+ function validContext(value, captured) { return exactKeys(value, captured ? ['contextHash', 'capturedAtMs'] : ['contextHash']) && hex(value.contextHash) && (!captured || safeTime(value.capturedAtMs) !== null); }
439
+ function validFinding(value) { return exactKeys(value, ['findingId', 'severity', 'requirementRef', 'evidenceHash']) && canonicalId(value.findingId) && canonicalId(value.requirementRef) && ['low', 'medium', 'high'].includes(string(value.severity)) && hex(value.evidenceHash); }
440
+ function validDisposition(value) { return exactKeys(value, ['findingId', 'decision', 'evidenceHash']) && canonicalId(value.findingId) && ['resolved', 'accepted-documented-limitation'].includes(string(value.decision)) && hex(value.evidenceHash); }
441
+ function keyedBijection(findings, dispositions) {
442
+ const findingIds = findings.map((entry) => string(record(entry).findingId));
443
+ const dispositionIds = dispositions.map((entry) => string(record(entry).findingId));
444
+ return findingIds.length === dispositions.length
445
+ && findingIds.every(Boolean) && new Set(findingIds).size === findingIds.length && new Set(dispositionIds).size === dispositionIds.length
446
+ && [...findingIds].sort().join('\0') === [...dispositionIds].sort().join('\0');
447
+ }
448
+ function sortRows(rows) { return rows.map(clone).sort((a, b) => { const left = string(record(a).findingId); const right = string(record(b).findingId); return left < right ? -1 : left > right ? 1 : 0; }); }
449
+ function schema(id, value) { return correctiveReplanCredentialSchemaValidators.find((entry) => entry.id === id)?.callable(value) === true; }
450
+ function accepted(value) { return deepFreeze({ ok: true, value: deepFreeze(value), issues: [] }); }
451
+ function rejected(issueId, path, reasonClass) { const issues = [issue(issueId, path, reasonClass)]; return deepFreeze({ ok: false, value: null, issues, reportHash: hashCanonical(issues) }); }
452
+ function verified(projection) { const content = { valid: true, projection: deepFreeze(projection), issues: [] }; return deepFreeze({ ...content, reportHash: hashCanonical(content) }); }
453
+ function verificationRejected(issueId, path, reasonClass) { const issues = [issue(issueId, path, reasonClass)]; return deepFreeze({ valid: false, projection: null, issues, reportHash: hashCanonical(issues) }); }
454
+ function issue(issueId, path, reasonClass) { return { issueId, path, reasonClass }; }
455
+ function totalResult(invoke) { try {
456
+ return invoke();
457
+ }
458
+ catch {
459
+ return rejected('credential.operation.malformed', '/', 'schema');
460
+ } }
461
+ function totalVerification(invoke) { try {
462
+ return invoke();
463
+ }
464
+ catch {
465
+ return verificationRejected('credential.operation.malformed', '/', 'schema');
466
+ } }
467
+ function activePreparation(kernel, plan) { const current = kernel.preparations.get(plan.preparationKey); return current?.status === 'active' && current.generation === plan.generation; }
468
+ function exactKeys(value, keys) { return isRecord(value) && Object.keys(value).sort().join('\0') === [...keys].sort().join('\0'); }
469
+ function isRecord(value) { return value !== null && typeof value === 'object' && !Array.isArray(value); }
470
+ function copyOwnedJson(value, budget = { nodes: 0, bytes: 0, active: new Set() }, depth = 0) {
471
+ if (++budget.nodes > 4096 || (budget.bytes += 8) > 262_144 || depth > 32)
472
+ return LIMIT;
473
+ if (typeof value === 'string') {
474
+ budget.bytes += Buffer.byteLength(value, 'utf8');
475
+ return budget.bytes > 262_144 ? LIMIT : value;
476
+ }
477
+ if (value === null || typeof value === 'boolean')
478
+ return value;
479
+ if (typeof value === 'number')
480
+ return Number.isSafeInteger(value) ? value : MALFORMED;
481
+ if (typeof value !== 'object' || utilTypes.isProxy(value) || budget.active.has(value))
482
+ return MALFORMED;
483
+ const arrayValue = Array.isArray(value);
484
+ const prototype = Object.getPrototypeOf(value);
485
+ if (prototype !== (arrayValue ? Array.prototype : Object.prototype) && prototype !== null)
486
+ return MALFORMED;
487
+ const keys = Reflect.ownKeys(value);
488
+ if (keys.some((key) => typeof key !== 'string'))
489
+ return MALFORMED;
490
+ const names = keys.filter((key) => !arrayValue || key !== 'length');
491
+ const descriptors = Object.getOwnPropertyDescriptors(value);
492
+ if (arrayValue && (names.length !== value.length || names.some((key, index) => key !== String(index))))
493
+ return MALFORMED;
494
+ const result = arrayValue ? [] : Object.create(null);
495
+ budget.active.add(value);
496
+ for (const key of names) {
497
+ const descriptor = descriptors[key];
498
+ budget.bytes += Buffer.byteLength(key, 'utf8');
499
+ if (budget.bytes > 262_144)
500
+ return LIMIT;
501
+ if (!descriptor?.enumerable || !('value' in descriptor))
502
+ return MALFORMED;
503
+ const child = copyOwnedJson(descriptor.value, budget, depth + 1);
504
+ if (child === LIMIT || child === MALFORMED)
505
+ return child;
506
+ result[key] = child;
507
+ }
508
+ budget.active.delete(value);
509
+ return result;
510
+ }
511
+ function record(value) { return isRecord(value) ? value : {}; }
512
+ function object(value) { return value !== null && typeof value === 'object' ? value : Object.freeze(Object.create(null)); }
513
+ function opaque() { return Object.freeze(Object.create(null)); }
514
+ function array(value) { return Array.isArray(value) ? value : []; }
515
+ function string(value) { return typeof value === 'string' ? value : ''; }
516
+ function number(value) { return typeof value === 'number' ? value : Number.NaN; }
517
+ function safeTime(value) { return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0 && value <= MAX_SAFE ? value : null; }
518
+ function safeId(value) { return canonicalId(value) ? value : ''; }
519
+ function canonicalId(value) { return typeof value === 'string' && value.length > 0 && value.length <= 256 && value === value.trim() && value === value.normalize('NFC'); }
520
+ function hex(value) { return typeof value === 'string' && /^[a-f0-9]{64}$/.test(value); }
521
+ function get(value, path) { return path.split('/').filter(Boolean).reduce((cursor, key) => isRecord(cursor) ? cursor[key] : undefined, value); }
522
+ function same(left, right) { try {
523
+ return hashCanonical(left) === hashCanonical(right);
524
+ }
525
+ catch {
526
+ return false;
527
+ } }
528
+ function authorityPassed(id, input) {
529
+ const binding = installedAuthoritySemanticBindings.find((entry) => entry.id === id);
530
+ return binding !== undefined && record(binding.callable(input)).passed === true;
531
+ }
532
+ function clone(value) { return structuredClone(value); }
533
+ function sha(value) { return createHash('sha256').update(value).digest('hex'); }
534
+ //# sourceMappingURL=corrective-replan-credential-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corrective-replan-credential-core.js","sourceRoot":"","sources":["../../../src/lifecycle/corrective-replan-credential-core.ts"],"names":[],"mappings":"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"}