@tokensrc/codex 1.14.6 → 1.14.8

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.
@@ -3,7 +3,7 @@ import { withOneShotCodexLogin } from "./enrollment-login.js";
3
3
  import { CodexServiceError } from "./errors.js";
4
4
  import { codexV3CredentialDigests, commitManagedCodexV3GenerationReport, installManagedCodexV3Credentials, markManagedCodexV3DeliveryAcknowledged, readManagedCodexV3State, withCurrentCodexFullCredentials, withManagedCodexV3CredentialObservation } from "./managed-credential-v3.js";
5
5
  import { createCodexV3DeliveryKeyPair, openCodexV3FullCredentialDelivery, sealCodexV3Enrollment, sealCodexV3GenerationReport } from "./managed-credential-v3-envelope.js";
6
- import { clearManagedCodexV3OperationJournal, openManagedCodexV3DeliveryJournalKey, readManagedCodexV3OperationJournal, replaceExpiredManagedCodexV3Delivery, replaceManagedCodexV3OperationWithDelivery, writeManagedCodexV3OperationJournal, writeManagedCodexV4DeliveryJournal } from "./managed-credential-v3-journal.js";
6
+ import { clearManagedCodexV3OperationJournal, clearManagedCodexV3ReportJournal, openManagedCodexV3DeliveryJournalKey, quarantineManagedCodexV3ReportJournal, readManagedCodexV3OperationJournal, readManagedCodexV3ReportJournal, replaceExpiredManagedCodexV3Delivery, replaceManagedCodexV3OperationWithDelivery, writeManagedCodexV3OperationJournal, writeManagedCodexV3ReportJournal, writeManagedCodexV4DeliveryJournal } from "./managed-credential-v3-journal.js";
7
7
  export async function executeCodexTokenPoolV4Delivery(input) {
8
8
  const newId = input.newId ?? randomUUID;
9
9
  const now = input.now ?? Date.now;
@@ -57,7 +57,7 @@ export async function executeCodexTokenPoolV4Delivery(input) {
57
57
  });
58
58
  }
59
59
  export async function executeManagedCodexV3Login(input) {
60
- const resumed = await resumePendingManagedCodexV3EnrollmentOperation(input);
60
+ const resumed = await reconcilePendingManagedCodexV3Operation(input);
61
61
  if (resumed)
62
62
  return resumed;
63
63
  const configuration = await input.client.getV3EnrollmentConfiguration();
@@ -88,7 +88,7 @@ export async function executeManagedCodexV3Login(input) {
88
88
  });
89
89
  }
90
90
  export async function executeManagedCodexV3Upload(input) {
91
- const resumed = await resumePendingManagedCodexV3EnrollmentOperation(input);
91
+ const resumed = await reconcilePendingManagedCodexV3Operation(input);
92
92
  if (resumed)
93
93
  return resumed;
94
94
  const configuration = await input.client.getV3EnrollmentConfiguration();
@@ -290,19 +290,28 @@ async function completeDeliveryJournal(input) {
290
290
  ackReplayed: ack.replayed
291
291
  };
292
292
  }
293
- async function resumePendingManagedCodexV3EnrollmentOperation(input) {
293
+ export async function reconcilePendingManagedCodexV3Operation(input) {
294
+ const initialJournal = await readManagedCodexV3OperationJournal(input.env);
295
+ const initialState = await readManagedCodexV3State(input.env);
296
+ if (!initialJournal) {
297
+ if (initialState?.tenantId === input.tenantId && initialState.phase === "INSTALLED_PENDING_ACK") {
298
+ throw new CodexServiceError("The pending v4 ACK has no actor-bound recovery journal; keep the local credentials and contact support.", "managed_codex_v4_state_conflict", 409);
299
+ }
300
+ return undefined;
301
+ }
302
+ if (initialJournal.tenantId !== input.tenantId) {
303
+ throw new CodexServiceError("Another tenant has a pending v3 credential operation.", "managed_codex_v3_state_conflict", 409);
304
+ }
305
+ const actorSubject = await input.client.getCurrentActorSubject();
306
+ if (initialJournal.subject !== actorSubject) {
307
+ throw new CodexServiceError("The pending Codex credential operation belongs to a different signed-in user; sign in as the original user to recover it.", "managed_codex_v4_state_conflict", 409);
308
+ }
294
309
  const ack = await resumePendingManagedCodexV3Ack(input);
295
310
  if (ack)
296
311
  return ack;
297
312
  const journal = await readManagedCodexV3OperationJournal(input.env);
298
313
  if (!journal)
299
314
  return undefined;
300
- if (journal.tenantId !== input.tenantId) {
301
- throw new CodexServiceError("Another tenant has a pending v3 credential operation.", "managed_codex_v3_state_conflict");
302
- }
303
- if (journal.kind === "REPORT") {
304
- throw new CodexServiceError("A v3 credential generation report must be reconciled before enrollment.", "managed_codex_v3_state_conflict");
305
- }
306
315
  return journal.kind === "ENROLLMENT"
307
316
  ? completeEnrollmentJournal({ ...input, journal })
308
317
  : completeDeliveryJournal({ ...input, journal, enrollmentReplayed: true });
@@ -346,6 +355,18 @@ async function resumePendingManagedCodexV3Ack(input) {
346
355
  if (state.phase !== "INSTALLED_PENDING_ACK")
347
356
  return undefined;
348
357
  if (Date.parse(state.ackExpiresAt) <= (input.now ?? Date.now)()) {
358
+ if (journal?.kind === "DELIVERY"
359
+ && journal.assignmentId === state.assignmentId
360
+ && journal.managedAccountId === state.managedAccountId
361
+ && journal.providerAccountId === state.providerAccountId
362
+ && journal.lineageId === state.lineageId
363
+ && journal.generationVersion === state.generationVersion
364
+ && journal.ackIdempotencyKey === state.ackIdempotencyKey) {
365
+ // The original encrypted delivery may also be expired. Returning control to
366
+ // the exact journal recovery path permits one CAS replacement without ever
367
+ // discarding the pending operation or claiming a second assignment.
368
+ return undefined;
369
+ }
349
370
  throw new CodexServiceError("The pending v3 delivery ACK has expired.", "full_credential_delivery_expired");
350
371
  }
351
372
  const ack = await acknowledgeWithRecovery(input.client, {
@@ -397,16 +418,16 @@ async function acknowledgeWithRecovery(client, expected) {
397
418
  throw error;
398
419
  let assignment;
399
420
  try {
400
- assignment = (await client.listV3CredentialAssignments()).items[0];
421
+ assignment = (await client.listV3CredentialAssignments()).items.find((item) => item.assignmentId === expected.assignmentId
422
+ && item.managedAccountId === expected.managedAccountId
423
+ && item.providerAccountId === expected.providerAccountId
424
+ && item.lineageId === expected.lineageId
425
+ && item.currentGenerationVersion === expected.generationVersion);
401
426
  }
402
427
  catch (inspectError) {
403
428
  throw new CodexServiceError("Codex v3 ACK outcome is unknown and assignment evidence is unavailable.", "managed_codex_v3_result_unknown", undefined, { cause: inspectError });
404
429
  }
405
- if (assignment && (assignment.assignmentId !== expected.assignmentId
406
- || assignment.managedAccountId !== expected.managedAccountId
407
- || assignment.providerAccountId !== expected.providerAccountId
408
- || assignment.lineageId !== expected.lineageId
409
- || assignment.currentGenerationVersion !== expected.generationVersion)) {
430
+ if (!assignment) {
410
431
  throw new CodexServiceError("Codex v3 ACK assignment evidence conflicts with local credentials.", "lineage_version_conflict");
411
432
  }
412
433
  try {
@@ -420,14 +441,30 @@ async function acknowledgeWithRecovery(client, expected) {
420
441
  export async function reportManagedCodexV3Credentials(input) {
421
442
  const newId = input.newId ?? randomUUID;
422
443
  const now = input.now ?? Date.now;
444
+ let activeReport;
423
445
  try {
424
- const pending = await readManagedCodexV3OperationJournal(input.env);
446
+ const authorityOperation = await readManagedCodexV3OperationJournal(input.env);
447
+ if (authorityOperation) {
448
+ throw new CodexServiceError("A v3 enrollment/delivery operation is pending.", "managed_codex_v3_state_conflict");
449
+ }
450
+ const pending = await readManagedCodexV3ReportJournal(input.env);
425
451
  if (pending) {
426
- if (pending.kind !== "REPORT" || pending.tenantId !== input.tenantId) {
427
- throw new CodexServiceError("A v3 enrollment/delivery operation is pending.", "managed_codex_v3_state_conflict");
452
+ if (pending.tenantId !== input.tenantId) {
453
+ throw new CodexServiceError("Another tenant has a deferred v3 credential report.", "managed_codex_v3_state_conflict");
454
+ }
455
+ const actorSubject = await input.client.getCurrentActorSubject();
456
+ if (pending.subject !== actorSubject) {
457
+ throw new CodexServiceError("The pending Codex credential report belongs to a different signed-in user; sign in as the original user to recover it.", "managed_codex_v4_state_conflict", 409);
458
+ }
459
+ const local = await readManagedCodexV3State(input.env);
460
+ if (local && local.lineageId !== pending.lineageId) {
461
+ await quarantineManagedCodexV3ReportJournal(pending, "local_lineage_replaced", new Date(now()).toISOString(), input.env);
462
+ }
463
+ else {
464
+ activeReport = pending;
465
+ const generationVersion = await completeReportJournal(input.client, pending, input.env);
466
+ return { reported: true, generationVersion };
428
467
  }
429
- const generationVersion = await completeReportJournal(input.client, pending, input.env);
430
- return { reported: true, generationVersion };
431
468
  }
432
469
  const configuration = await input.client.getV3EnrollmentConfiguration();
433
470
  const subject = await input.client.getCurrentActorSubject();
@@ -450,7 +487,7 @@ export async function reportManagedCodexV3Credentials(input) {
450
487
  });
451
488
  const digests = codexV3CredentialDigests(observation.credentials);
452
489
  const timestamp = new Date(now()).toISOString();
453
- const journal = await writeManagedCodexV3OperationJournal({
490
+ const journal = await writeManagedCodexV3ReportJournal({
454
491
  schemaVersion: 3,
455
492
  kind: "REPORT",
456
493
  tenantId: input.tenantId,
@@ -469,16 +506,24 @@ export async function reportManagedCodexV3Credentials(input) {
469
506
  createdAt: timestamp,
470
507
  updatedAt: timestamp
471
508
  }, input.env);
472
- if (journal.kind !== "REPORT")
473
- throw new Error("Unexpected v3 report journal.");
509
+ activeReport = journal;
474
510
  return completeReportJournal(input.client, journal, input.env);
475
511
  });
476
512
  return result === undefined ? { reported: false } : { reported: true, generationVersion: result };
477
513
  }
478
514
  catch (error) {
515
+ const code = errorCode(error);
516
+ if (activeReport && code === "invalid_encrypted_envelope") {
517
+ try {
518
+ await quarantineManagedCodexV3ReportJournal(activeReport, "invalid_encrypted_envelope", new Date(now()).toISOString(), input.env);
519
+ }
520
+ catch (quarantineError) {
521
+ return { reported: false, warningCode: errorCode(quarantineError) };
522
+ }
523
+ }
479
524
  // Transport silence is not credential invalidity. Leave the local generation
480
525
  // untouched so the next explicit observation can reconcile with the same server lineage.
481
- return { reported: false, warningCode: errorCode(error) };
526
+ return { reported: false, warningCode: code };
482
527
  }
483
528
  }
484
529
  async function completeReportJournal(client, journal, env) {
@@ -491,7 +536,7 @@ async function completeReportJournal(client, journal, env) {
491
536
  && state.accessTokenDigest === journal.accessTokenDigest
492
537
  && state.refreshTokenDigest === journal.refreshTokenDigest
493
538
  && state.idTokenDigest === journal.idTokenDigest) {
494
- await clearManagedCodexV3OperationJournal(journal, env);
539
+ await clearManagedCodexV3ReportJournal(journal, env);
495
540
  return state.generationVersion;
496
541
  }
497
542
  const reportInput = {
@@ -524,7 +569,7 @@ async function completeReportJournal(client, journal, env) {
524
569
  idTokenDigest: journal.idTokenDigest
525
570
  }
526
571
  }, env);
527
- await clearManagedCodexV3OperationJournal(journal, env);
572
+ await clearManagedCodexV3ReportJournal(journal, env);
528
573
  return response.report.generationVersion;
529
574
  }
530
575
  function requireReadyEnrollment(response) {
@@ -1 +1 @@
1
- {"version":3,"file":"managed-credential-v3-flow.js","sourceRoot":"","sources":["../src/managed-credential-v3-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managed-credential-v3-flow.js","sourceRoot":"","sources":["../src/managed-credential-v3-flow.ts"],"names":[],"mappings":"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"}
@@ -87,7 +87,7 @@ declare const ReportJournalSchema: z.ZodObject<{
87
87
  refreshTokenDigest: z.ZodString;
88
88
  idTokenDigest: z.ZodString;
89
89
  }, z.core.$strict>;
90
- declare const JournalSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
90
+ declare const OperationJournalSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
91
91
  schemaVersion: z.ZodLiteral<3>;
92
92
  tenantId: z.ZodString;
93
93
  subject: z.ZodString;
@@ -129,54 +129,15 @@ declare const JournalSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
129
129
  }, z.core.$strict>;
130
130
  privateKeyPkcs8: z.ZodString;
131
131
  ackIdempotencyKey: z.ZodString;
132
- }, z.core.$strict>, z.ZodObject<{
133
- schemaVersion: z.ZodLiteral<3>;
134
- tenantId: z.ZodString;
135
- subject: z.ZodString;
136
- clientRequestId: z.ZodString;
137
- idempotencyKey: z.ZodString;
138
- createdAt: z.ZodString;
139
- updatedAt: z.ZodString;
140
- kind: z.ZodLiteral<"REPORT">;
141
- lineageId: z.ZodString;
142
- expectedGenerationVersion: z.ZodNumber;
143
- rotationMode: z.ZodEnum<{
144
- RETAINED: "RETAINED";
145
- ROTATED: "ROTATED";
146
- }>;
147
- envelope: z.ZodObject<{
148
- version: z.ZodLiteral<1>;
149
- algorithm: z.ZodLiteral<"X25519-HKDF-SHA256-AES-256-GCM">;
150
- keyId: z.ZodString;
151
- ephemeralPublicKey: z.ZodString;
152
- salt: z.ZodString;
153
- nonce: z.ZodString;
154
- ciphertext: z.ZodString;
155
- authenticationTag: z.ZodString;
156
- }, z.core.$strict>;
157
- accessTokenHealth: z.ZodEnum<{
158
- EXPIRED: "EXPIRED";
159
- HEALTHY: "HEALTHY";
160
- REJECTED: "REJECTED";
161
- UNKNOWN: "UNKNOWN";
162
- }>;
163
- refreshTokenHealth: z.ZodEnum<{
164
- HEALTHY: "HEALTHY";
165
- REJECTED: "REJECTED";
166
- UNKNOWN: "UNKNOWN";
167
- }>;
168
- observedAt: z.ZodString;
169
- credentialExpiresAt: z.ZodString;
170
- accessTokenDigest: z.ZodString;
171
- refreshTokenDigest: z.ZodString;
172
- idTokenDigest: z.ZodString;
173
132
  }, z.core.$strict>], "kind">;
174
- export type ManagedCodexV3OperationJournal = z.infer<typeof JournalSchema>;
133
+ export type ManagedCodexV3OperationJournal = z.infer<typeof OperationJournalSchema>;
175
134
  export type ManagedCodexV3EnrollmentJournal = z.infer<typeof EnrollmentJournalSchema>;
176
135
  export type ManagedCodexV3DeliveryJournal = z.infer<typeof DeliveryJournalSchema>;
177
136
  export type ManagedCodexV3ReportJournal = z.infer<typeof ReportJournalSchema>;
178
137
  export declare function readManagedCodexV3OperationJournal(env?: NodeJS.ProcessEnv): Promise<ManagedCodexV3OperationJournal | undefined>;
138
+ export declare function readManagedCodexV3ReportJournal(env?: NodeJS.ProcessEnv): Promise<ManagedCodexV3ReportJournal | undefined>;
179
139
  export declare function writeManagedCodexV3OperationJournal(value: ManagedCodexV3OperationJournal, env?: NodeJS.ProcessEnv): Promise<ManagedCodexV3OperationJournal>;
140
+ export declare function writeManagedCodexV3ReportJournal(value: ManagedCodexV3ReportJournal, env?: NodeJS.ProcessEnv): Promise<ManagedCodexV3ReportJournal>;
180
141
  export declare function writeManagedCodexV4DeliveryJournal(input: {
181
142
  tenantId: string;
182
143
  subject: string;
@@ -213,4 +174,6 @@ export declare function clearManagedCodexV3OperationJournal(expected: {
213
174
  clientRequestId: string;
214
175
  idempotencyKey: string;
215
176
  }, env?: NodeJS.ProcessEnv): Promise<void>;
177
+ export declare function clearManagedCodexV3ReportJournal(expected: Pick<ManagedCodexV3ReportJournal, "clientRequestId" | "idempotencyKey">, env?: NodeJS.ProcessEnv): Promise<void>;
178
+ export declare function quarantineManagedCodexV3ReportJournal(expected: ManagedCodexV3ReportJournal, reason: "invalid_encrypted_envelope" | "local_lineage_replaced", quarantinedAt: string, env?: NodeJS.ProcessEnv): Promise<string>;
216
179
  export {};
@@ -1,4 +1,4 @@
1
- import { createPrivateKey } from "node:crypto";
1
+ import { createHash, createPrivateKey } from "node:crypto";
2
2
  import { homedir } from "node:os";
3
3
  import { join } from "node:path";
4
4
  import { z } from "zod";
@@ -51,30 +51,99 @@ const ReportJournalSchema = z.strictObject({
51
51
  refreshTokenDigest: Digest,
52
52
  idTokenDigest: Digest
53
53
  });
54
- const JournalSchema = z.discriminatedUnion("kind", [
54
+ const OperationJournalSchema = z.discriminatedUnion("kind", [
55
+ EnrollmentJournalSchema,
56
+ DeliveryJournalSchema
57
+ ]);
58
+ const LegacyJournalSchema = z.discriminatedUnion("kind", [
55
59
  EnrollmentJournalSchema,
56
60
  DeliveryJournalSchema,
57
61
  ReportJournalSchema
58
62
  ]);
59
- function path(env) {
63
+ function operationPath(env) {
60
64
  return join(env.CODEX_HOME?.trim() || join(homedir(), ".codex"), ".numa-managed-credential-v3-operation.json");
61
65
  }
62
- export async function readManagedCodexV3OperationJournal(env = process.env) {
63
- const raw = await readJsonIfExists(path(env));
66
+ function reportPath(env) {
67
+ return join(env.CODEX_HOME?.trim() || join(homedir(), ".codex"), ".numa-managed-credential-v3-report.json");
68
+ }
69
+ function coordinationPath(env) {
70
+ return join(env.CODEX_HOME?.trim() || join(homedir(), ".codex"), ".numa-managed-credential-v3-journal-coordination");
71
+ }
72
+ function withJournalCoordination(env, operation) {
73
+ return withPrivateFileLock(coordinationPath(env), operation);
74
+ }
75
+ async function readOperationRaw(env) {
76
+ const raw = await readJsonIfExists(operationPath(env));
64
77
  if (raw === undefined)
65
78
  return undefined;
66
- const parsed = JournalSchema.safeParse(raw);
79
+ const parsed = OperationJournalSchema.safeParse(raw);
67
80
  if (!parsed.success)
68
81
  throw Object.assign(new Error("The private v3 credential operation journal is invalid."), {
69
82
  code: "managed_codex_v3_journal_invalid"
70
83
  });
71
84
  return parsed.data;
72
85
  }
86
+ async function readReportRaw(env) {
87
+ const raw = await readJsonIfExists(reportPath(env));
88
+ if (raw === undefined)
89
+ return undefined;
90
+ const parsed = ReportJournalSchema.safeParse(raw);
91
+ if (!parsed.success)
92
+ throw Object.assign(new Error("The private v3 credential report journal is invalid."), {
93
+ code: "managed_codex_v3_report_journal_invalid"
94
+ });
95
+ return parsed.data;
96
+ }
97
+ /** Move a legacy REPORT out of the authority journal before enrollment/delivery. */
98
+ async function migrateLegacyReportJournal(env) {
99
+ const operation = operationPath(env);
100
+ await withPrivateFileLock(operation, async () => {
101
+ const raw = await readJsonIfExists(operation);
102
+ if (raw === undefined)
103
+ return;
104
+ const parsed = LegacyJournalSchema.safeParse(raw);
105
+ if (!parsed.success)
106
+ throw Object.assign(new Error("The private v3 credential operation journal is invalid."), {
107
+ code: "managed_codex_v3_journal_invalid"
108
+ });
109
+ if (parsed.data.kind !== "REPORT")
110
+ return;
111
+ const report = reportPath(env);
112
+ await withPrivateFileLock(report, async () => {
113
+ const current = await readReportRaw(env);
114
+ if (!current) {
115
+ await writePrivateJson(report, parsed.data);
116
+ }
117
+ else if (JSON.stringify(current) !== JSON.stringify(parsed.data)) {
118
+ const digest = createHash("sha256").update(JSON.stringify(parsed.data)).digest("hex");
119
+ const quarantine = `${report}.deferred-${digest}.json`;
120
+ const retained = await readJsonIfExists(quarantine);
121
+ if (retained === undefined)
122
+ await writePrivateJson(quarantine, parsed.data);
123
+ else if (JSON.stringify(retained) !== JSON.stringify(parsed.data)) {
124
+ throw Object.assign(new Error("The private v3 report quarantine changed unexpectedly."), {
125
+ code: "managed_codex_v3_state_conflict"
126
+ });
127
+ }
128
+ }
129
+ await removePrivateFileDurably(operation);
130
+ });
131
+ });
132
+ }
133
+ export async function readManagedCodexV3OperationJournal(env = process.env) {
134
+ await migrateLegacyReportJournal(env);
135
+ return readOperationRaw(env);
136
+ }
137
+ export async function readManagedCodexV3ReportJournal(env = process.env) {
138
+ await migrateLegacyReportJournal(env);
139
+ return readReportRaw(env);
140
+ }
73
141
  export async function writeManagedCodexV3OperationJournal(value, env = process.env) {
74
- const target = path(env);
75
- return withPrivateFileLock(target, async () => {
76
- const parsed = JournalSchema.parse(value);
77
- const current = await readManagedCodexV3OperationJournal(env);
142
+ await migrateLegacyReportJournal(env);
143
+ const target = operationPath(env);
144
+ return withJournalCoordination(env, () => withPrivateFileLock(target, async () => {
145
+ const parsed = OperationJournalSchema.parse(value);
146
+ const current = await readOperationRaw(env);
78
147
  if (current) {
79
148
  if (JSON.stringify(current) === JSON.stringify(parsed))
80
149
  return current;
@@ -84,13 +153,38 @@ export async function writeManagedCodexV3OperationJournal(value, env = process.e
84
153
  }
85
154
  await writePrivateJson(target, parsed);
86
155
  return parsed;
156
+ }));
157
+ }
158
+ export async function writeManagedCodexV3ReportJournal(value, env = process.env) {
159
+ await migrateLegacyReportJournal(env);
160
+ const target = reportPath(env);
161
+ return withJournalCoordination(env, async () => {
162
+ if (await readOperationRaw(env)) {
163
+ throw Object.assign(new Error("A v3 enrollment/delivery operation is pending."), {
164
+ code: "managed_codex_v3_state_conflict"
165
+ });
166
+ }
167
+ return withPrivateFileLock(target, async () => {
168
+ const parsed = ReportJournalSchema.parse(value);
169
+ const current = await readReportRaw(env);
170
+ if (current) {
171
+ if (JSON.stringify(current) === JSON.stringify(parsed))
172
+ return current;
173
+ throw Object.assign(new Error("Another v3 credential report is still deferred."), {
174
+ code: "managed_codex_v3_report_pending"
175
+ });
176
+ }
177
+ await writePrivateJson(target, parsed);
178
+ return parsed;
179
+ });
87
180
  });
88
181
  }
89
182
  export async function writeManagedCodexV4DeliveryJournal(input) {
90
183
  const env = input.env ?? process.env;
91
- const target = path(env);
92
- return withPrivateFileLock(target, async () => {
93
- const current = await readManagedCodexV3OperationJournal(env);
184
+ await migrateLegacyReportJournal(env);
185
+ const target = operationPath(env);
186
+ return withJournalCoordination(env, () => withPrivateFileLock(target, async () => {
187
+ const current = await readOperationRaw(env);
94
188
  if (current)
95
189
  throw Object.assign(new Error("Another v4 credential operation is already pending."), {
96
190
  code: "managed_codex_v4_state_conflict"
@@ -127,13 +221,14 @@ export async function writeManagedCodexV4DeliveryJournal(input) {
127
221
  finally {
128
222
  encoded.fill(0);
129
223
  }
130
- });
224
+ }));
131
225
  }
132
226
  export async function replaceManagedCodexV3OperationWithDelivery(input) {
133
227
  const env = input.env ?? process.env;
134
- const target = path(env);
228
+ await migrateLegacyReportJournal(env);
229
+ const target = operationPath(env);
135
230
  return withPrivateFileLock(target, async () => {
136
- const current = await readManagedCodexV3OperationJournal(env);
231
+ const current = await readOperationRaw(env);
137
232
  if (!current || current.kind !== "ENROLLMENT"
138
233
  || current.clientRequestId !== input.previous.clientRequestId
139
234
  || current.idempotencyKey !== input.previous.idempotencyKey) {
@@ -166,9 +261,10 @@ export async function replaceManagedCodexV3OperationWithDelivery(input) {
166
261
  }
167
262
  export async function replaceExpiredManagedCodexV3Delivery(input) {
168
263
  const env = input.env ?? process.env;
169
- const target = path(env);
264
+ await migrateLegacyReportJournal(env);
265
+ const target = operationPath(env);
170
266
  return withPrivateFileLock(target, async () => {
171
- const current = await readManagedCodexV3OperationJournal(env);
267
+ const current = await readOperationRaw(env);
172
268
  if (!current || current.kind !== "DELIVERY"
173
269
  || JSON.stringify(current) !== JSON.stringify(input.previous)) {
174
270
  throw Object.assign(new Error("The v3 delivery journal changed before renewal."), {
@@ -210,9 +306,10 @@ export function openManagedCodexV3DeliveryJournalKey(journal) {
210
306
  }
211
307
  }
212
308
  export async function clearManagedCodexV3OperationJournal(expected, env = process.env) {
213
- const target = path(env);
309
+ await migrateLegacyReportJournal(env);
310
+ const target = operationPath(env);
214
311
  await withPrivateFileLock(target, async () => {
215
- const current = await readManagedCodexV3OperationJournal(env);
312
+ const current = await readOperationRaw(env);
216
313
  if (!current)
217
314
  return;
218
315
  if (current.kind !== expected.kind || current.clientRequestId !== expected.clientRequestId
@@ -224,4 +321,53 @@ export async function clearManagedCodexV3OperationJournal(expected, env = proces
224
321
  await removePrivateFileDurably(target);
225
322
  });
226
323
  }
324
+ export async function clearManagedCodexV3ReportJournal(expected, env = process.env) {
325
+ await migrateLegacyReportJournal(env);
326
+ const target = reportPath(env);
327
+ await withPrivateFileLock(target, async () => {
328
+ const current = await readReportRaw(env);
329
+ if (!current)
330
+ return;
331
+ if (current.clientRequestId !== expected.clientRequestId
332
+ || current.idempotencyKey !== expected.idempotencyKey) {
333
+ throw Object.assign(new Error("The v3 report journal changed unexpectedly."), {
334
+ code: "managed_codex_v3_state_conflict"
335
+ });
336
+ }
337
+ await removePrivateFileDurably(target);
338
+ });
339
+ }
340
+ export async function quarantineManagedCodexV3ReportJournal(expected, reason, quarantinedAt, env = process.env) {
341
+ await migrateLegacyReportJournal(env);
342
+ const target = reportPath(env);
343
+ return withPrivateFileLock(target, async () => {
344
+ const current = await readReportRaw(env);
345
+ if (!current || JSON.stringify(current) !== JSON.stringify(expected)) {
346
+ throw Object.assign(new Error("The v3 report journal changed before quarantine."), {
347
+ code: "managed_codex_v3_state_conflict"
348
+ });
349
+ }
350
+ const digest = createHash("sha256").update(JSON.stringify(current)).digest("hex");
351
+ const quarantine = `${target}.quarantine-${digest}.json`;
352
+ const evidence = {
353
+ schemaVersion: 1,
354
+ reason,
355
+ quarantinedAt,
356
+ report: current
357
+ };
358
+ const retained = await readJsonIfExists(quarantine);
359
+ if (retained === undefined)
360
+ await writePrivateJson(quarantine, evidence);
361
+ else if (retained === null || typeof retained !== "object" || Array.isArray(retained)
362
+ || retained.schemaVersion !== 1
363
+ || retained.reason !== reason
364
+ || JSON.stringify(retained.report) !== JSON.stringify(current)) {
365
+ throw Object.assign(new Error("The v3 report quarantine changed unexpectedly."), {
366
+ code: "managed_codex_v3_state_conflict"
367
+ });
368
+ }
369
+ await removePrivateFileDurably(target);
370
+ return quarantine;
371
+ });
372
+ }
227
373
  //# sourceMappingURL=managed-credential-v3-journal.js.map