@tokensrc/codex 1.14.29 → 1.14.31

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 (41) hide show
  1. package/dist/client.d.ts +44 -0
  2. package/dist/client.js +29 -0
  3. package/dist/client.js.map +1 -1
  4. package/dist/command-directory.js +2 -1
  5. package/dist/command-directory.js.map +1 -1
  6. package/dist/commands.d.ts +2 -0
  7. package/dist/commands.js +101 -6
  8. package/dist/commands.js.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/managed-credential-v3-envelope.d.ts +1 -0
  12. package/dist/managed-credential-v3-envelope.js +1 -1
  13. package/dist/managed-credential-v3-envelope.js.map +1 -1
  14. package/dist/managed-credential-v3.d.ts +17 -0
  15. package/dist/managed-credential-v3.js +56 -0
  16. package/dist/managed-credential-v3.js.map +1 -1
  17. package/dist/private-file.js +14 -1
  18. package/dist/private-file.js.map +1 -1
  19. package/dist/profile.d.ts +1 -0
  20. package/dist/profile.js +2 -1
  21. package/dist/profile.js.map +1 -1
  22. package/dist/protocol.d.ts +66 -0
  23. package/dist/protocol.js +30 -1
  24. package/dist/protocol.js.map +1 -1
  25. package/dist/release-processes.d.ts +18 -0
  26. package/dist/release-processes.js +94 -0
  27. package/dist/release-processes.js.map +1 -0
  28. package/dist/request-bound-device-v6-flow.d.ts +9 -0
  29. package/dist/request-bound-device-v6-flow.js +33 -10
  30. package/dist/request-bound-device-v6-flow.js.map +1 -1
  31. package/dist/request-bound-device-v6-refresh.d.ts +12 -0
  32. package/dist/request-bound-device-v6-refresh.js +97 -0
  33. package/dist/request-bound-device-v6-refresh.js.map +1 -0
  34. package/dist/request-bound-device-v6-release.d.ts +77 -0
  35. package/dist/request-bound-device-v6-release.js +321 -0
  36. package/dist/request-bound-device-v6-release.js.map +1 -0
  37. package/dist/request-bound-device-v6-state.d.ts +3 -2
  38. package/dist/request-bound-device-v6-state.js +1 -1
  39. package/dist/request-bound-device-v6-state.js.map +1 -1
  40. package/dist/types.d.ts +1 -0
  41. package/package.json +2 -2
package/dist/client.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type CodexV6DeviceReleaseInput } from "./protocol.js";
1
2
  import type { CodexAuthController } from "./oidc.js";
2
3
  import { type CodexAdminAccountListResponse, type CodexAdminAccountRenewalInput, type CodexAdminAccountRenewalResponse, type CodexAdminAssignmentDeleteResponse, type CodexAdminAssignmentListResponse, type CodexAdminAssignmentMutationResponse, type CodexAccountListResponse, type CodexCredentialVersionListResponse, type CodexImportResult, type CodexLoginCredentialsResponse, type CodexManualRefreshResponse, type CodexUploadBatch, type CodexV3CredentialAssignmentListResponse, type CodexV3EnrollmentConfiguration, type CodexV3EnrollmentInput, type CodexV3EnrollmentResponse, type CodexV3FullCredentialDeliveryAckInput, type CodexV3FullCredentialDeliveryAckResponse, type CodexV3FullCredentialDeliveryRequest, type CodexV3FullCredentialDeliveryResponse, type CodexV3GenerationReportInput, type CodexV3GenerationReportResponse, type CodexV4AccessObservationInput, type CodexV4AccessObservationResponse, type CodexV5AcknowledgeDeviceSessionInput, type CodexV5AcknowledgeDeviceSessionResponse, type CodexV5CreateDeviceSessionInput, type CodexV5CreateDeviceSessionResponse, type CodexV5GenerationReportInput, type CodexV5GenerationReportResponse, type CodexV5HeartbeatDeviceSessionInput, type CodexV5HeartbeatDeviceSessionResponse, type CodexV5ReleaseDeviceSessionInput, type CodexV5ReleaseDeviceSessionResponse, type CodexV6AccountRequestListResponse, type CodexV6AdminAccountRequestListQuery, type CodexV6AccountRequestResponse, type CodexV6AdminReviewAccountRequestInput, type CodexV6AdminReplacementCandidateListResponse, type CodexV6AdminReplacementCandidateQuery, type CodexV6AcknowledgeFullCredentialDeliveryInput, type CodexV6AcknowledgeFullCredentialDeliveryResponse, type CodexV6AdminCreateDeviceBindingInput, type CodexV6AdminCreateDeviceBindingResponse, type CodexV6AdminReplaceDeviceTokenInput, type CodexV6AdminReplaceDeviceTokenResponse, type CodexV6DeviceBindingListResponse, type CodexV6FullCredentialDeliveryInput, type CodexV6FullCredentialDeliveryResponse, type CodexV6GenerationReportInput, type CodexV6GenerationReportResponse, type CodexV6CredentialHealthReportInput, type CodexV6CredentialHealthReportResponse, type CodexV6ReconcileDeviceAccessInput, type CodexV6ReconcileDeviceAccessResponse, type CodexTokenPoolV4AssignmentTarget, type CodexTokenPoolV4DirectoryResolveResponse, type CodexTokenPoolV4EnrollmentConfiguration, type CodexTokenPoolV4UploadInput, type CodexTokenPoolV4UploadResponse } from "./protocol.js";
3
4
  import type { ResolvedCodexConfig } from "./types.js";
@@ -49,6 +50,49 @@ export declare class CodexServiceClient {
49
50
  createV6FullCredentialDelivery(bindingId: string, input: CodexV6FullCredentialDeliveryInput, idempotencyKey: string): Promise<CodexV6FullCredentialDeliveryResponse>;
50
51
  resolveV6FullCredentialDelivery(bindingId: string, clientRequestId: string, installationId: string): Promise<CodexV6FullCredentialDeliveryResponse>;
51
52
  private requireV6FullDelivery;
53
+ prepareV6DeviceRelease(bindingId: string, input: CodexV6DeviceReleaseInput, key: string): Promise<{
54
+ schemaVersion: 6;
55
+ replayed: boolean;
56
+ release: {
57
+ id: string;
58
+ clientRequestId: string;
59
+ bindingId: string;
60
+ installationId: string;
61
+ credentialLineageId: string;
62
+ generationVersion: number;
63
+ status: "PREPARED" | "RELEASED";
64
+ preparedAt: string;
65
+ releasedAt: string | null;
66
+ };
67
+ }>;
68
+ acknowledgeV6DeviceRelease(bindingId: string, releaseId: string, input: CodexV6DeviceReleaseInput & {
69
+ localCleanupCompleted: true;
70
+ }, key: string): Promise<{
71
+ schemaVersion: 6;
72
+ replayed: boolean;
73
+ release: {
74
+ id: string;
75
+ clientRequestId: string;
76
+ bindingId: string;
77
+ installationId: string;
78
+ credentialLineageId: string;
79
+ generationVersion: number;
80
+ status: "PREPARED" | "RELEASED";
81
+ preparedAt: string;
82
+ releasedAt: string | null;
83
+ };
84
+ }>;
85
+ private v6DeviceReleaseRequest;
86
+ returnV6DeviceTokenToPool(bindingId: string, input: {
87
+ schemaVersion: 6;
88
+ clientRequestId: string;
89
+ }, key: string): Promise<{
90
+ schemaVersion: 6;
91
+ bindingId: string;
92
+ poolEntryId: string;
93
+ status: "UNASSIGNED";
94
+ replayed: boolean;
95
+ }>;
52
96
  acknowledgeV6FullCredentialDelivery(deliveryId: string, input: CodexV6AcknowledgeFullCredentialDeliveryInput, idempotencyKey: string): Promise<CodexV6AcknowledgeFullCredentialDeliveryResponse>;
53
97
  reportV6Generation(bindingId: string, input: CodexV6GenerationReportInput, idempotencyKey: string): Promise<CodexV6GenerationReportResponse>;
54
98
  resolveV6GenerationReport(bindingId: string, expected: Pick<CodexV6GenerationReportInput, "clientRequestId" | "bindingId" | "installationId" | "expectedGenerationVersion" | "rotationMode" | "accessTokenHealth" | "refreshTokenHealth" | "observedAt">): Promise<CodexV6GenerationReportResponse>;
package/dist/client.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { CodexV6DeviceReleaseInputSchema, CodexV6DeviceReleaseAckInputSchema, CodexV6DeviceReleaseResponseSchema, CodexV6ReturnToPoolInputSchema, CodexV6ReturnToPoolResponseSchema } from "./protocol.js";
1
2
  import { CodexAuthError, CodexLoginRequiredError, CodexServiceError } from "./errors.js";
2
3
  import { CODEX_ACCOUNTS_IMPORT_PATH, CODEX_ACCOUNTS_LIST_PATH, CODEX_ADMIN_ACCOUNTS_PATH, CODEX_ADMIN_ASSIGNMENTS_PATH, CodexAdminAssignmentDeleteResponseSchema, CodexAdminAssignmentListResponseSchema, CodexAdminAssignmentMutationResponseSchema, CodexAdminAccountListResponseSchema, CodexAdminAccountRenewalInputSchema, CodexAdminAccountRenewalResponseSchema, CodexAccountListResponseSchema, CodexCredentialVersionListResponseSchema, CodexEnrollmentMutationInputSchema, CodexImportResultSchema, CodexLoginCredentialsResponseSchema, CodexManualRefreshResponseSchema, CODEX_V3_CREDENTIAL_ASSIGNMENTS_PATH, CODEX_V3_ENROLLMENT_CONFIGURATION_PATH, CODEX_V3_ENROLLMENTS_PATH, CodexV3CredentialAssignmentListResponseSchema, CodexV3EnrollmentConfigurationSchema, CodexV3EnrollmentInputSchema, CodexV3EnrollmentResponseSchema, CodexV3FullCredentialDeliveryAckInputSchema, CodexV3FullCredentialDeliveryAckResponseSchema, CodexV3FullCredentialDeliveryRequestSchema, CodexV3FullCredentialDeliveryResponseSchema, CodexV3GenerationReportInputSchema, CodexV3GenerationReportResponseSchema, CodexV4AccessObservationInputSchema, CodexV4AccessObservationResponseSchema, CodexV5AcknowledgeDeviceSessionInputSchema, CodexV5AcknowledgeDeviceSessionResponseSchema, CodexV5CreateDeviceSessionInputSchema, CodexV5CreateDeviceSessionResponseSchema, CodexV5GenerationReportInputSchema, CodexV5GenerationReportResponseSchema, CodexV5HeartbeatDeviceSessionInputSchema, CodexV5HeartbeatDeviceSessionResponseSchema, CodexV5ReleaseDeviceSessionInputSchema, CodexV5ReleaseDeviceSessionResponseSchema, CODEX_V6_ACCOUNT_REQUESTS_PATH, CODEX_V6_DEVICE_ACCESS_RECONCILIATIONS_PATH, CodexV6AccountRequestListResponseSchema, CodexV6AccountRequestResponseSchema, CodexV6AdminReviewAccountRequestInputSchema, CodexV6AdminReplacementCandidateListResponseSchema, CodexV6AcknowledgeFullCredentialDeliveryInputSchema, CodexV6AcknowledgeFullCredentialDeliveryResponseSchema, CodexV6AdminCreateDeviceBindingInputSchema, CodexV6AdminCreateDeviceBindingResponseSchema, CodexV6AdminReplaceDeviceTokenInputSchema, CodexV6AdminReplaceDeviceTokenResponseSchema, CodexV6DeviceBindingListResponseSchema, CodexV6FullCredentialDeliveryInputSchema, CodexV6FullCredentialDeliveryResponseSchema, CodexV6GenerationReportInputSchema, CodexV6GenerationReportResponseSchema, CodexV6CredentialHealthReportInputSchema, CodexV6CredentialHealthReportResponseSchema, CodexV6ReconcileDeviceAccessInputSchema, CodexV6ReconcileDeviceAccessResponseSchema, CODEX_TOKEN_POOL_V4_ENROLLMENT_CONFIGURATION_PATH, CODEX_TOKEN_POOL_V4_UPLOADS_PATH, CodexTokenPoolV4DirectoryResolveResponseSchema, CodexTokenPoolV4EnrollmentConfigurationSchema, CodexTokenPoolV4IdempotencyKeySchema, CodexTokenPoolV4UploadInputSchema, CodexTokenPoolV4UploadResponseSchema, codexAccountLoginCredentialsPath, codexAdminAssignmentPath, codexAdminCredentialVersionsPath, codexAdminRenewPath, codexAdminRefreshPath, codexV3AssignmentFullCredentialDeliveriesPath, codexV3AssignmentFullCredentialDeliveryResolvePath, codexV3EnrollmentResolvePath, codexV3FullCredentialDeliveryAckPath, codexV3LineageGenerationReportResolvePath, codexV3LineageGenerationReportsPath, codexV4LineageAccessObservationPath, codexV5AssignmentDeviceSessionResolvePath, codexV5AssignmentDeviceSessionsPath, codexV5DeviceSessionActionPath, codexV5LineageGenerationReportsPath, codexV6AccountRequestDeviceBindingsPath, codexV6AccountRequestPath, codexV6AdminAccountRequestDeviceBindingsPath, codexV6AdminAccountRequestPath, codexV6AdminAccountRequestsPath, codexV6AdminAccountRequestReviewPath, codexV6AdminDeviceBindingReplacementPath, codexV6AdminReplacementCandidatesPath, codexV6BindingGenerationReportResolvePath, codexV6BindingGenerationReportsPath, codexV6BindingHealthReportsPath, codexV6DeviceBindingFullCredentialDeliveriesPath, codexV6DeviceBindingFullCredentialDeliveryResolvePath, codexV6FullCredentialDeliveryAckPath, codexTokenPoolV4DirectoryResolvePath, codexTokenPoolV4UploadResolvePath } from "./protocol.js";
3
4
  export function normalizeCodexServiceUrl(rawUrl, allowInsecureHttp = false) {
@@ -445,6 +446,34 @@ export class CodexServiceClient {
445
446
  }
446
447
  return parsed.data;
447
448
  }
449
+ async prepareV6DeviceRelease(bindingId, input, key) {
450
+ return this.v6DeviceReleaseRequest(bindingId, "prepare", input, key);
451
+ }
452
+ async acknowledgeV6DeviceRelease(bindingId, releaseId, input, key) {
453
+ return this.v6DeviceReleaseRequest(bindingId, `${encodeURIComponent(releaseId)}/ack`, input, key, releaseId);
454
+ }
455
+ async v6DeviceReleaseRequest(bindingId, suffix, input, key, expectedReleaseId) {
456
+ const body = suffix === "prepare" ? CodexV6DeviceReleaseInputSchema.parse(input)
457
+ : CodexV6DeviceReleaseAckInputSchema.parse(input);
458
+ const parsed = CodexV6DeviceReleaseResponseSchema.parse(await this.request(`/v6/codex/device-bindings/${encodeURIComponent(bindingId)}/releases/${suffix}`, { method: "POST", body, headers: { "Idempotency-Key": CodexTokenPoolV4IdempotencyKeySchema.parse(key) } }));
459
+ const release = parsed.release;
460
+ if (release.bindingId !== bindingId || release.installationId !== body.installationId
461
+ || release.clientRequestId !== body.clientRequestId
462
+ || release.credentialLineageId !== body.credentialLineageId
463
+ || release.generationVersion !== body.generationVersion
464
+ || expectedReleaseId !== undefined && release.id !== expectedReleaseId
465
+ || suffix !== "prepare" && release.status !== "RELEASED") {
466
+ throw new CodexServiceError("Device release response does not match the cleanup operation.", "invalid_codex_service_response");
467
+ }
468
+ return parsed;
469
+ }
470
+ async returnV6DeviceTokenToPool(bindingId, input, key) {
471
+ const result = CodexV6ReturnToPoolResponseSchema.parse(await this.request(`/v6/admin/codex/device-bindings/${encodeURIComponent(bindingId)}/return-to-pool`, { method: "POST", body: CodexV6ReturnToPoolInputSchema.parse(input),
472
+ headers: { "Idempotency-Key": CodexTokenPoolV4IdempotencyKeySchema.parse(key) } }));
473
+ if (result.bindingId !== bindingId)
474
+ throw new CodexServiceError("Return-to-pool response belongs to another binding.", "invalid_codex_service_response");
475
+ return result;
476
+ }
448
477
  async acknowledgeV6FullCredentialDelivery(deliveryId, input, idempotencyKey) {
449
478
  const body = CodexV6AcknowledgeFullCredentialDeliveryInputSchema.parse(input);
450
479
  const key = CodexTokenPoolV4IdempotencyKeySchema.parse(idempotencyKey);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ const definitions = [
3
3
  { name: "login", description: "Enroll one complete official Codex token set", command: "codex login", summary: "默认加入未绑定凭据池;v6 只允许入池,旧能力租户仍可按用户名/subject 直接分配", access: "authenticated", examples: ["numa codex login", "numa codex login --device-auth"], nestedOnly: true },
4
4
  { name: "logout", description: "Remove the standalone OIDC token cache", command: "logout", summary: "退出独立 Codex CLI", access: "public", examples: ["tokensrc-codex logout"], standaloneOnly: true },
5
5
  { name: "list", description: "List available Codex accounts", command: "codex list [-u|--server <url>]", summary: "列出服务端 Codex 账号元数据,不传输 refresh token", access: "authenticated", examples: ["numa codex list --server https://platform.example/api"] },
6
+ { name: "release", description: "Release this device's managed Token Set", command: "codex release", summary: "手动退出会话、清理受管凭据并登记释放;保留原用户和设备领取资格", access: "authenticated", examples: ["numa codex release", "numa codex use binding_xxx"] },
6
7
  { name: "request", description: "Inspect administrator-created requests and reconcile this device", command: "codex request <list|show|bindings|reconcile>", summary: "查看管理员创建的 ChatGPT/Codex Request,并为本机领取独立完整 Token set", access: "authenticated", examples: ["numa codex request list", "numa codex request reconcile", "numa codex request bindings req_xxx"] },
7
8
  { name: "upload", description: "Upload the legacy v1 local account pool", command: "codex upload [-u|--server <url>]", summary: "仅用于 v1 兼容账号批量导入;新账号统一运行 numa codex login 进入 v4 RT 池", access: "authenticated", examples: ["numa codex upload --storage ~/.codex/multi-auth/openai-codex-accounts.json"] },
8
9
  { name: "use", description: "Select an account and install official Codex credentials", command: "codex use [account]", summary: "选择服务端账号并写入官方 ChatGPT auth.json", access: "authenticated", examples: ["numa codex use acct_xxx"] },
@@ -10,7 +11,7 @@ const definitions = [
10
11
  { name: "app", description: "Launch the official Codex desktop app", command: "codex app [workspace] [-s|--select-account|-a|--account <id>] [-u|--server <url>]", summary: "准备官方 ChatGPT 登录并启动现有 macOS/Windows Codex 桌面 App;不安装或改动App版本", access: "authenticated", examples: ["numa codex app . -s", "numa codex app . --account acct_xxx"] },
11
12
  { name: "shortcut", description: "Install or remove launcher shortcuts", command: "codex shortcut [install|remove] [-t|--target run|app|both] [-s|--select-account] [--no-cli-wrapper]", summary: "安装或删除macOS/Windows/Linux的原子自更新Numa launcher、Codex快捷命令与桌面入口", access: "public", examples: ["numa codex shortcut install", "numa codex shortcut install --target app --workspace .", "numa codex shortcut remove"] },
12
13
  { name: "auth-agent", description: "Continuously renew official Codex credentials", command: "codex auth-agent [account]", summary: "前台刷新短效 token 到官方 Codex 登录并输出完整状态日志", access: "authenticated", examples: ["numa codex auth-agent acct_xxx --replace-login", "numa codex auth-agent --replace-login --once"] },
13
- { name: "admin", description: "Manage server-side Codex requests, accounts, and assignments", command: "codex admin <requests|accounts|assignments>", summary: "管理员审批申请、为设备分配独立 Token set,并在账号到期前无中断替换", access: "authenticated", examples: ["numa codex admin requests list", "numa codex admin requests replacement-candidates --within 30", "numa codex admin requests review req_xxx --decision APPROVE --reason \"已核准\" --version 1", "numa codex admin requests bind-device req_xxx --installation inst_xxx --device-label \"MacBook\" --version 2 --pool-entry pool_xxx", "numa codex admin requests replace-device-token req_xxx binding_xxx --version 3 --reason SUBSCRIPTION_EXPIRING --replace-before 2026-10-01T00:00:00+08:00 --pool-entry pool_new", "numa codex admin accounts list"] },
14
+ { name: "admin", description: "Manage server-side Codex requests, accounts, and assignments", command: "codex admin <requests|accounts|assignments>", summary: "管理员审批申请、为设备分配独立 Token set,并在账号到期前无中断替换", access: "authenticated", examples: ["numa codex admin requests list", "numa codex admin requests replacement-candidates --within 30", "numa codex admin requests review req_xxx --decision APPROVE --reason \"已核准\" --version 1", "numa codex admin requests bind-device req_xxx --installation inst_xxx --device-label \"MacBook\" --version 2 --pool-entry pool_xxx", "numa codex admin requests replace-device-token req_xxx binding_xxx --version 3 --reason SUBSCRIPTION_EXPIRING --replace-before 2026-10-01T00:00:00+08:00 --pool-entry pool_new", "numa codex admin requests return-to-pool binding_xxx --idempotency-key release-pool-operation-01", "numa codex admin accounts list"] },
14
15
  { name: "status", description: "Show selection, desktop app, and official credential status", command: "codex status", summary: "查看当前账号选择、ChatGPT Desktop 版本与官方 auth.json 状态", access: "public", examples: ["numa codex status --json"] },
15
16
  { name: "reset", description: "Reset selection and managed credentials", command: "codex reset", summary: "重置本地账号选择和登录,并清理废弃的 provider 残留", access: "public", examples: ["numa codex reset"] }
16
17
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"command-directory.js","sourceRoot":"","sources":["../src/command-directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-directory.js","sourceRoot":"","sources":["../src/command-directory.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type CodexReleaseInteraction } from "./request-bound-device-v6-release.js";
1
2
  import type { Command } from "commander";
2
3
  import { type CodexServiceClient } from "./client.js";
3
4
  import type { CodexStatusLoader } from "./console-status.js";
@@ -23,6 +24,7 @@ export interface CodexCommandDependencies {
23
24
  errorOutput: NodeJS.WritableStream;
24
25
  env: NodeJS.ProcessEnv;
25
26
  safeStartupDiagnostics?: boolean;
27
+ releaseInteraction?: CodexReleaseInteraction;
26
28
  confirmV6CredentialReplacement(input: CodexV6CredentialLossPrompt): Promise<boolean>;
27
29
  jsonEnabled?: (command: Command) => boolean | Promise<boolean>;
28
30
  }
package/dist/commands.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { refreshReclaimedCodexV6Credentials } from "./request-bound-device-v6-refresh.js";
2
+ import { assertNoPendingCodexV6Release, releaseCodexV6DeviceCredentials, withCodexV6ManagedLaunch } from "./request-bound-device-v6-release.js";
1
3
  import { createHash, randomUUID } from "node:crypto";
2
4
  import { hostname } from "node:os";
3
5
  import { join } from "node:path";
@@ -265,6 +267,7 @@ async function loadV6DeviceCandidates(deps, options = {}, onlineHealth) {
265
267
  const allBindings = bindingLists.flatMap(({ bindings }) => bindings);
266
268
  const replaced = new Set(allBindings
267
269
  .filter((binding) => binding.predecessorBindingId !== null
270
+ && !binding.releasedAt
268
271
  && ["READY", "ACTIVE"].includes(binding.status))
269
272
  .map((binding) => binding.predecessorBindingId));
270
273
  const now = Date.now();
@@ -272,7 +275,7 @@ async function loadV6DeviceCandidates(deps, options = {}, onlineHealth) {
272
275
  for (const { request, bindings } of bindingLists) {
273
276
  for (const binding of bindings) {
274
277
  if (binding.installationId !== installationId
275
- || replaced.has(binding.id)
278
+ || replaced.has(binding.id) && !(binding.status === "READY" && binding.reclaimable === true)
276
279
  || !["READY", "ACTIVE", "REPLACEMENT_PENDING", "NEEDS_REAUTH"].includes(binding.status)
277
280
  || binding.managedAccountId === null || binding.providerAccountId === null
278
281
  || binding.credentialLineageId === null)
@@ -291,8 +294,9 @@ async function loadV6DeviceCandidates(deps, options = {}, onlineHealth) {
291
294
  const requestUsable = request.status === "APPROVED"
292
295
  && ["AVAILABLE", "PARTIALLY_AVAILABLE"].includes(request.availability)
293
296
  && request.validUntil !== null && Date.parse(request.validUntil) > now;
297
+ const reclaimable = binding.status === "READY" && binding.reclaimable === true;
294
298
  const available = requestUsable
295
- && !credentialExpired && !serverRejected && !currentRejected;
299
+ && (!credentialExpired || reclaimable) && !serverRejected && !currentRejected;
296
300
  candidates.push({
297
301
  request,
298
302
  binding,
@@ -319,9 +323,30 @@ async function loadV6DeviceCandidates(deps, options = {}, onlineHealth) {
319
323
  return {
320
324
  installationId,
321
325
  candidates,
326
+ otherDeviceBindings: allBindings.filter((binding) => binding.installationId !== installationId
327
+ && !binding.installationId.startsWith("admin-pending:")
328
+ && binding.status !== "RETIRED").map((binding) => ({ ...binding,
329
+ accountLabel: directory.accounts.find((account) => account.id === binding.managedAccountId
330
+ || account.accountId === binding.providerAccountId)?.label ?? binding.providerAccountId ?? binding.id })),
322
331
  ...(localBinding ? { currentBindingId: localBinding.bindingId } : {})
323
332
  };
324
333
  }
334
+ function formatOtherDeviceGuidance(installationId, bindings) {
335
+ const clean = (value) => value.replace(/[\x00-\x1f\x7f]/gu, " ");
336
+ const states = { ACTIVE: "使用中", READY: "待领取,仅限该设备",
337
+ REPLACEMENT_PENDING: "使用中,等待换发", NEEDS_REAUTH: "需要重新授权", PENDING_TOKEN: "等待分配",
338
+ RETIREMENT_PENDING: "正在退役" };
339
+ const nextStep = (binding) => binding.releasedAt
340
+ ? "迁移:联系管理员解绑并回池,再重新分配。"
341
+ : "迁移:先在原设备运行 numa codex release,再联系管理员解绑并回池、重新分配。";
342
+ return (bindings.length ? "你已有账号,但其 Token Set 已绑定其他设备。\n"
343
+ + bindings.map((binding) => `${clean(binding.accountLabel ?? binding.providerAccountId ?? binding.id)} ${clean(binding.deviceLabel)}`
344
+ + ` (${clean(binding.installationId)}) ${states[binding.status] ?? binding.status}\n${nextStep(binding)}`).join("\n")
345
+ : "当前设备没有可领取或可用的独立 Token Set。")
346
+ + `\n当前设备:${clean(installationId)}\n`
347
+ + "已释放的 Token Set 仍仅限原设备领取。\n"
348
+ + "同时使用多台设备:请联系管理员为当前设备分配另一套独立 Token Set。";
349
+ }
325
350
  async function selectV6DeviceCandidate(deps, requested, options = {}) {
326
351
  const inventory = await loadV6DeviceCandidates(deps, options);
327
352
  let resolvedRequest = requested;
@@ -343,7 +368,7 @@ async function selectV6DeviceCandidate(deps, requested, options = {}) {
343
368
  requested: resolvedRequest,
344
369
  selectedAccountId: inventory.currentBindingId,
345
370
  nonInteractiveCommand: "numa codex use",
346
- noAvailableMessage: "当前设备没有可领取或可用的独立 Token Set。",
371
+ noAvailableMessage: formatOtherDeviceGuidance(inventory.installationId, inventory.otherDeviceBindings),
347
372
  output: deps.errorOutput
348
373
  });
349
374
  const candidate = inventory.candidates.find(({ binding }) => binding.id === chosen.id);
@@ -534,6 +559,18 @@ async function installCredentials(deps, selection, service, allowV4Replacement =
534
559
  }, Date.now(), deps.env);
535
560
  return { expiresAt: response.expiresAt, selection };
536
561
  }
562
+ async function refreshAndReportReclaimedCredentials(deps, client, ensured) {
563
+ const refreshed = await refreshReclaimedCodexV6Credentials({ env: deps.env,
564
+ tenantId: deps.config.connection.tenantId, binding: ensured.binding, fetchImpl: deps.fetch });
565
+ if (!refreshed.refreshed)
566
+ return;
567
+ if (refreshed.credentialExpiresAt)
568
+ ensured.credentialExpiresAt = refreshed.credentialExpiresAt;
569
+ const reported = await reportCodexV6DeviceCredentials({ client, env: deps.env,
570
+ tenantId: deps.config.connection.tenantId });
571
+ if (!reported.reported || reported.pendingCredentialChange)
572
+ throw new CodexServiceError("领回凭据已刷新,但新完整凭据尚未确认同步;请重试后再启动 Codex。", "codex_device_generation_report_pending", 409);
573
+ }
537
574
  async function selectedCredentials(deps, requested, options = {}, lossPrompt) {
538
575
  if (requestBoundDeviceCredentialsEnabled(deps.config)) {
539
576
  const client = deps.clientFor(serviceConnection(options));
@@ -541,16 +578,29 @@ async function selectedCredentials(deps, requested, options = {}, lossPrompt) {
541
578
  ? await selectV6DeviceCandidate(deps, requested, options)
542
579
  : undefined;
543
580
  let ensured = await withSafeDiagnostic(deps, "v6.device_credentials.ensure", () => ensureCodexV6DeviceCredentials({
581
+ releaseInteraction: { output: deps.errorOutput, ...deps.releaseInteraction },
582
+ releaseSupported: deps.config.profile?.userBoundRefreshTokens?.requestDeviceRelease === true,
544
583
  client,
545
584
  tenantId: deps.config.connection.tenantId,
546
585
  env: deps.env,
547
586
  ...(candidate ? { target: { request: candidate.request, binding: candidate.binding } } : {})
548
- }));
587
+ })).catch(async (error) => {
588
+ if (error.code === "codex_device_binding_required") {
589
+ const inventory = await loadV6DeviceCandidates(deps, options);
590
+ throw new CodexServiceError(formatOtherDeviceGuidance(inventory.installationId, inventory.otherDeviceBindings), "codex_device_binding_required", 409);
591
+ }
592
+ throw error;
593
+ });
549
594
  if (ensured.replacementDeferredWarningCode) {
550
595
  deps.errorOutput.write(`新设备 Token Set 暂时无法交付 (${ensured.replacementDeferredWarningCode});`
551
596
  + "本次继续使用尚有效的旧 Token Set,稍后会自动重试。\n");
552
597
  }
553
598
  let binding = ensured.binding;
599
+ const refreshed = await refreshReclaimedCodexV6Credentials({
600
+ env: deps.env, tenantId: deps.config.connection.tenantId, binding, fetchImpl: deps.fetch
601
+ });
602
+ if (refreshed.credentialExpiresAt)
603
+ ensured.credentialExpiresAt = refreshed.credentialExpiresAt;
554
604
  const generationReport = await withSafeDiagnostic(deps, "v6.device_credentials.report", () => reportCodexV6DeviceCredentials({
555
605
  client,
556
606
  tenantId: deps.config.connection.tenantId,
@@ -593,12 +643,15 @@ async function selectedCredentials(deps, requested, options = {}, lossPrompt) {
593
643
  const replacementBinding = lossReport.replacementBinding;
594
644
  const replacementRequest = (await client.getV6AccountRequest(replacementBinding.requestId)).request;
595
645
  ensured = await withSafeDiagnostic(deps, "v6.device_credentials.loss_replace", () => ensureCodexV6DeviceCredentials({
646
+ releaseInteraction: { output: deps.errorOutput, ...deps.releaseInteraction },
647
+ releaseSupported: deps.config.profile?.userBoundRefreshTokens?.requestDeviceRelease === true,
596
648
  client,
597
649
  tenantId: deps.config.connection.tenantId,
598
650
  env: deps.env,
599
651
  target: { request: replacementRequest, binding: replacementBinding }
600
652
  }));
601
653
  binding = ensured.binding;
654
+ await refreshAndReportReclaimedCredentials(deps, client, ensured);
602
655
  health = await withSafeDiagnostic(deps, "v6.online_health.loss_replacement_probe", () => probeCodexV6OnlineCredentialHealth({ env: deps.env, fetch: deps.fetch }));
603
656
  if (health.status === "LOCAL_UNAVAILABLE") {
604
657
  throw new CodexServiceError("新的设备 Token Set 已换发,但本地安装校验失败;为避免误用,本次不会启动 Codex。", "codex_device_replacement_install_failed", 409);
@@ -615,12 +668,15 @@ async function selectedCredentials(deps, requested, options = {}, lossPrompt) {
615
668
  const replacementBinding = report.replacementBinding;
616
669
  const request = (await client.getV6AccountRequest(replacementBinding.requestId)).request;
617
670
  ensured = await withSafeDiagnostic(deps, "v6.device_credentials.replace", () => ensureCodexV6DeviceCredentials({
671
+ releaseInteraction: { output: deps.errorOutput, ...deps.releaseInteraction },
672
+ releaseSupported: deps.config.profile?.userBoundRefreshTokens?.requestDeviceRelease === true,
618
673
  client,
619
674
  tenantId: deps.config.connection.tenantId,
620
675
  env: deps.env,
621
676
  target: { request, binding: replacementBinding }
622
677
  }));
623
678
  binding = ensured.binding;
679
+ await refreshAndReportReclaimedCredentials(deps, client, ensured);
624
680
  health = await withSafeDiagnostic(deps, "v6.online_health.replacement_probe", () => probeCodexV6OnlineCredentialHealth({ env: deps.env, fetch: deps.fetch }));
625
681
  if (!healthRejected()) {
626
682
  deps.errorOutput.write(health.status === "HEALTHY"
@@ -818,8 +874,9 @@ function localCredentialConflict() {
818
874
  }
819
875
  async function launchWithSelectedCredentials(deps, selected, launch) {
820
876
  if (requestBoundDeviceCredentialsEnabled(deps.config)) {
877
+ await assertNoPendingCodexV6Release(deps.env);
821
878
  try {
822
- return await launch();
879
+ return await withCodexV6ManagedLaunch(deps.env, () => launch());
823
880
  }
824
881
  finally {
825
882
  const report = await reportCodexV6DeviceCredentials({
@@ -977,6 +1034,24 @@ export function registerCodexCommands(program, deps, options = {}) {
977
1034
  deps.output.write(`Codex credential uploaded to token pool; status=${result.status}, placement=${result.placement}.\n`);
978
1035
  });
979
1036
  }
1037
+ serviceOptions(codex.command("release")
1038
+ .description("退出并清理本设备受管凭据,保留原用户和设备的再次领取资格"))
1039
+ .action(async (opts, command) => {
1040
+ assertRequestBoundDeviceCredentialsEnabled(deps.config);
1041
+ const result = await releaseCodexV6DeviceCredentials({
1042
+ client: deps.clientFor(serviceConnection(opts)), tenantId: deps.config.connection.tenantId,
1043
+ env: deps.env, interaction: { output: deps.errorOutput, ...deps.releaseInteraction },
1044
+ capabilityEnabled: deps.config.profile?.userBoundRefreshTokens?.requestDeviceRelease === true
1045
+ });
1046
+ await clearCodexSelection(deps.config.persistence.configDirectory);
1047
+ const output = { bindingId: result.bindingId, installationId: result.installationId,
1048
+ status: "READY", releaseId: result.releaseId };
1049
+ if (await json(command, deps))
1050
+ print(deps.output, success(output));
1051
+ else
1052
+ deps.output.write(`本设备受管凭据已释放,Token Set 待领取(仅限本用户的本设备)。\n`
1053
+ + `重新领取:numa codex use ${result.bindingId}\n`);
1054
+ });
980
1055
  const requests = codex.command("request")
981
1056
  .description("Inspect administrator-created requests and reconcile this device");
982
1057
  serviceOptions(requests.command("list").description("List the current user's Codex account requests"))
@@ -1054,6 +1129,8 @@ export function registerCodexCommands(program, deps, options = {}) {
1054
1129
  credentialModel: "REQUEST_BOUND_DEVICE_V6",
1055
1130
  installationId: access.installationId,
1056
1131
  ...access.response,
1132
+ otherDeviceBindings: inventory.otherDeviceBindings,
1133
+ guidance: inventory.otherDeviceBindings.length ? formatOtherDeviceGuidance(inventory.installationId, inventory.otherDeviceBindings) : undefined,
1057
1134
  candidates: inventory.candidates.map(({ request, binding, account }) => ({
1058
1135
  request,
1059
1136
  binding,
@@ -1065,10 +1142,14 @@ export function registerCodexCommands(program, deps, options = {}) {
1065
1142
  return;
1066
1143
  }
1067
1144
  if (inventory.candidates.length === 0 && access.response.accessStatus !== "AVAILABLE") {
1145
+ if (access.response.accessStatus === "DEVICE_BINDING_REQUIRED")
1146
+ throw new CodexServiceError(formatOtherDeviceGuidance(inventory.installationId, inventory.otherDeviceBindings), "codex_device_binding_required", 409);
1068
1147
  requireAvailableCodexV6DeviceAccess(access);
1069
1148
  }
1149
+ if (inventory.otherDeviceBindings.length)
1150
+ deps.output.write(`${formatOtherDeviceGuidance(inventory.installationId, inventory.otherDeviceBindings)}\n`);
1070
1151
  deps.output.write(renderCodexAccountDashboard(inventory.candidates.map(({ account }) => account), inventory.currentBindingId ?? access.response.binding?.id ?? undefined));
1071
- deps.output.write(`设备凭据 ${rejected ? "已失效,需换发" : "可用"}\n`);
1152
+ deps.output.write(`设备凭据 ${rejected ? "已失效,需换发" : localHealth.status === "LOCAL_UNAVAILABLE" ? "本地未安装;请选择待领取账号" : "可用"}\n`);
1072
1153
  if (healthReport?.reported)
1073
1154
  deps.output.write(healthReport.replacementPending
1074
1155
  ? "失效状态已上报;同账号 Token Set 暂无库存,正在等待换发。\n"
@@ -1216,6 +1297,7 @@ export function registerCodexCommands(program, deps, options = {}) {
1216
1297
  });
1217
1298
  codex.command("reset").description("Reset selection and managed official credentials")
1218
1299
  .action(async (_options, command) => {
1300
+ await assertNoPendingCodexV6Release(deps.env);
1219
1301
  const selection = await loadCodexSelection(deps.config.persistence.configDirectory);
1220
1302
  const cleanup = await cleanupLegacyCodexProvider(codexConfigPathForEnv(deps.env));
1221
1303
  const auth = await resetManagedCodexFileCredentials(selection?.account.providerAccountId ?? selection?.account.accountId, deps.env);
@@ -1253,6 +1335,8 @@ export function registerCodexCommands(program, deps, options = {}) {
1253
1335
  throw new Error("--interval must be positive.");
1254
1336
  do {
1255
1337
  await ensureCodexV6DeviceCredentials({
1338
+ releaseInteraction: { output: deps.errorOutput, ...deps.releaseInteraction },
1339
+ releaseSupported: deps.config.profile?.userBoundRefreshTokens?.requestDeviceRelease === true,
1256
1340
  client: deps.clientFor(serviceConnection(opts)),
1257
1341
  tenantId: deps.config.connection.tenantId,
1258
1342
  env: deps.env
@@ -1558,6 +1642,17 @@ export function registerCodexCommands(program, deps, options = {}) {
1558
1642
  deps.output.write(`设备已绑定:${result.binding.id} installation=${result.binding.installationId}`
1559
1643
  + ` token-set=${result.binding.credentialLineageId ?? "WAITING_FOR_TOKEN"}\n`);
1560
1644
  });
1645
+ serviceOptions(adminRequests.command("return-to-pool <bindingId>")
1646
+ .description("将设备已释放的 Token Set 解除用户和设备绑定,作为普通 Token Set 回池")
1647
+ .requiredOption("--idempotency-key <key>", "此回池操作的稳定幂等键,重试复用同一键"))
1648
+ .action(async (bindingId, opts, command) => {
1649
+ assertRequestBoundDeviceCredentialsEnabled(deps.config);
1650
+ const result = await deps.clientFor(serviceConnection(opts)).returnV6DeviceTokenToPool(bindingId, { schemaVersion: 6, clientRequestId: opts.idempotencyKey }, opts.idempotencyKey);
1651
+ if (await json(command, deps))
1652
+ print(deps.output, success(result));
1653
+ else
1654
+ deps.output.write(`Token Set 已解绑并回池:${result.poolEntryId}(UNASSIGNED)。\n`);
1655
+ });
1561
1656
  serviceOptions(adminRequests.command("replace-device-token <requestId> <bindingId>")
1562
1657
  .description("Prepare an independent successor token set and switch only after device ACK")
1563
1658
  .requiredOption("--version <number>", "当前请求版本")