@tokensrc/codex 1.14.28 → 1.14.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +44 -0
- package/dist/client.js +29 -0
- package/dist/client.js.map +1 -1
- package/dist/command-directory.js +2 -1
- package/dist/command-directory.js.map +1 -1
- package/dist/commands.d.ts +2 -0
- package/dist/commands.js +105 -6
- package/dist/commands.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/managed-credential-v3-envelope.d.ts +1 -0
- package/dist/managed-credential-v3-envelope.js +1 -1
- package/dist/managed-credential-v3-envelope.js.map +1 -1
- package/dist/managed-credential-v3.d.ts +20 -0
- package/dist/managed-credential-v3.js +141 -7
- package/dist/managed-credential-v3.js.map +1 -1
- package/dist/private-file.js +14 -1
- package/dist/private-file.js.map +1 -1
- package/dist/profile.d.ts +1 -0
- package/dist/profile.js +2 -1
- package/dist/profile.js.map +1 -1
- package/dist/protocol.d.ts +66 -0
- package/dist/protocol.js +30 -1
- package/dist/protocol.js.map +1 -1
- package/dist/release-processes.d.ts +18 -0
- package/dist/release-processes.js +94 -0
- package/dist/release-processes.js.map +1 -0
- package/dist/request-bound-device-v6-flow.d.ts +10 -0
- package/dist/request-bound-device-v6-flow.js +41 -13
- package/dist/request-bound-device-v6-flow.js.map +1 -1
- package/dist/request-bound-device-v6-health.js +2 -2
- package/dist/request-bound-device-v6-health.js.map +1 -1
- package/dist/request-bound-device-v6-refresh.d.ts +12 -0
- package/dist/request-bound-device-v6-refresh.js +97 -0
- package/dist/request-bound-device-v6-refresh.js.map +1 -0
- package/dist/request-bound-device-v6-release.d.ts +77 -0
- package/dist/request-bound-device-v6-release.js +321 -0
- package/dist/request-bound-device-v6-release.js.map +1 -0
- package/dist/request-bound-device-v6-state.d.ts +3 -2
- package/dist/request-bound-device-v6-state.js +1 -1
- package/dist/request-bound-device-v6-state.js.map +1 -1
- package/dist/types.d.ts +1 -0
- 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);
|
package/dist/client.js.map
CHANGED
|
@@ -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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"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -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:
|
|
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,
|
|
@@ -560,6 +610,10 @@ async function selectedCredentials(deps, requested, options = {}, lossPrompt) {
|
|
|
560
610
|
throw new CodexServiceError("检测到当前 auth.json 的 Token Set 已变化,但新代际尚未被服务端确认;"
|
|
561
611
|
+ "为避免误用或错误归因,本次不会探测或启动 Codex,请稍后重试。", "codex_device_generation_report_required", generationReport.warningStatus ?? 409);
|
|
562
612
|
}
|
|
613
|
+
if (generationReport.credentialChangeReported) {
|
|
614
|
+
deps.errorOutput.write("检测到当前 auth.json 已更新,但 Token 身份仍属于当前受控 ChatGPT 账号;"
|
|
615
|
+
+ "已将这套 Token Set 登记为本设备的新受控代际,不会覆盖当前 auth.json。\n");
|
|
616
|
+
}
|
|
563
617
|
let health = await withSafeDiagnostic(deps, "v6.online_health.probe", () => probeCodexV6OnlineCredentialHealth({
|
|
564
618
|
env: deps.env,
|
|
565
619
|
fetch: deps.fetch
|
|
@@ -589,12 +643,15 @@ async function selectedCredentials(deps, requested, options = {}, lossPrompt) {
|
|
|
589
643
|
const replacementBinding = lossReport.replacementBinding;
|
|
590
644
|
const replacementRequest = (await client.getV6AccountRequest(replacementBinding.requestId)).request;
|
|
591
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,
|
|
592
648
|
client,
|
|
593
649
|
tenantId: deps.config.connection.tenantId,
|
|
594
650
|
env: deps.env,
|
|
595
651
|
target: { request: replacementRequest, binding: replacementBinding }
|
|
596
652
|
}));
|
|
597
653
|
binding = ensured.binding;
|
|
654
|
+
await refreshAndReportReclaimedCredentials(deps, client, ensured);
|
|
598
655
|
health = await withSafeDiagnostic(deps, "v6.online_health.loss_replacement_probe", () => probeCodexV6OnlineCredentialHealth({ env: deps.env, fetch: deps.fetch }));
|
|
599
656
|
if (health.status === "LOCAL_UNAVAILABLE") {
|
|
600
657
|
throw new CodexServiceError("新的设备 Token Set 已换发,但本地安装校验失败;为避免误用,本次不会启动 Codex。", "codex_device_replacement_install_failed", 409);
|
|
@@ -611,12 +668,15 @@ async function selectedCredentials(deps, requested, options = {}, lossPrompt) {
|
|
|
611
668
|
const replacementBinding = report.replacementBinding;
|
|
612
669
|
const request = (await client.getV6AccountRequest(replacementBinding.requestId)).request;
|
|
613
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,
|
|
614
673
|
client,
|
|
615
674
|
tenantId: deps.config.connection.tenantId,
|
|
616
675
|
env: deps.env,
|
|
617
676
|
target: { request, binding: replacementBinding }
|
|
618
677
|
}));
|
|
619
678
|
binding = ensured.binding;
|
|
679
|
+
await refreshAndReportReclaimedCredentials(deps, client, ensured);
|
|
620
680
|
health = await withSafeDiagnostic(deps, "v6.online_health.replacement_probe", () => probeCodexV6OnlineCredentialHealth({ env: deps.env, fetch: deps.fetch }));
|
|
621
681
|
if (!healthRejected()) {
|
|
622
682
|
deps.errorOutput.write(health.status === "HEALTHY"
|
|
@@ -814,8 +874,9 @@ function localCredentialConflict() {
|
|
|
814
874
|
}
|
|
815
875
|
async function launchWithSelectedCredentials(deps, selected, launch) {
|
|
816
876
|
if (requestBoundDeviceCredentialsEnabled(deps.config)) {
|
|
877
|
+
await assertNoPendingCodexV6Release(deps.env);
|
|
817
878
|
try {
|
|
818
|
-
return await launch();
|
|
879
|
+
return await withCodexV6ManagedLaunch(deps.env, () => launch());
|
|
819
880
|
}
|
|
820
881
|
finally {
|
|
821
882
|
const report = await reportCodexV6DeviceCredentials({
|
|
@@ -973,6 +1034,24 @@ export function registerCodexCommands(program, deps, options = {}) {
|
|
|
973
1034
|
deps.output.write(`Codex credential uploaded to token pool; status=${result.status}, placement=${result.placement}.\n`);
|
|
974
1035
|
});
|
|
975
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
|
+
});
|
|
976
1055
|
const requests = codex.command("request")
|
|
977
1056
|
.description("Inspect administrator-created requests and reconcile this device");
|
|
978
1057
|
serviceOptions(requests.command("list").description("List the current user's Codex account requests"))
|
|
@@ -1050,6 +1129,8 @@ export function registerCodexCommands(program, deps, options = {}) {
|
|
|
1050
1129
|
credentialModel: "REQUEST_BOUND_DEVICE_V6",
|
|
1051
1130
|
installationId: access.installationId,
|
|
1052
1131
|
...access.response,
|
|
1132
|
+
otherDeviceBindings: inventory.otherDeviceBindings,
|
|
1133
|
+
guidance: inventory.otherDeviceBindings.length ? formatOtherDeviceGuidance(inventory.installationId, inventory.otherDeviceBindings) : undefined,
|
|
1053
1134
|
candidates: inventory.candidates.map(({ request, binding, account }) => ({
|
|
1054
1135
|
request,
|
|
1055
1136
|
binding,
|
|
@@ -1061,10 +1142,14 @@ export function registerCodexCommands(program, deps, options = {}) {
|
|
|
1061
1142
|
return;
|
|
1062
1143
|
}
|
|
1063
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);
|
|
1064
1147
|
requireAvailableCodexV6DeviceAccess(access);
|
|
1065
1148
|
}
|
|
1149
|
+
if (inventory.otherDeviceBindings.length)
|
|
1150
|
+
deps.output.write(`${formatOtherDeviceGuidance(inventory.installationId, inventory.otherDeviceBindings)}\n`);
|
|
1066
1151
|
deps.output.write(renderCodexAccountDashboard(inventory.candidates.map(({ account }) => account), inventory.currentBindingId ?? access.response.binding?.id ?? undefined));
|
|
1067
|
-
deps.output.write(`设备凭据 ${rejected ? "已失效,需换发" : "可用"}\n`);
|
|
1152
|
+
deps.output.write(`设备凭据 ${rejected ? "已失效,需换发" : localHealth.status === "LOCAL_UNAVAILABLE" ? "本地未安装;请选择待领取账号" : "可用"}\n`);
|
|
1068
1153
|
if (healthReport?.reported)
|
|
1069
1154
|
deps.output.write(healthReport.replacementPending
|
|
1070
1155
|
? "失效状态已上报;同账号 Token Set 暂无库存,正在等待换发。\n"
|
|
@@ -1212,6 +1297,7 @@ export function registerCodexCommands(program, deps, options = {}) {
|
|
|
1212
1297
|
});
|
|
1213
1298
|
codex.command("reset").description("Reset selection and managed official credentials")
|
|
1214
1299
|
.action(async (_options, command) => {
|
|
1300
|
+
await assertNoPendingCodexV6Release(deps.env);
|
|
1215
1301
|
const selection = await loadCodexSelection(deps.config.persistence.configDirectory);
|
|
1216
1302
|
const cleanup = await cleanupLegacyCodexProvider(codexConfigPathForEnv(deps.env));
|
|
1217
1303
|
const auth = await resetManagedCodexFileCredentials(selection?.account.providerAccountId ?? selection?.account.accountId, deps.env);
|
|
@@ -1249,6 +1335,8 @@ export function registerCodexCommands(program, deps, options = {}) {
|
|
|
1249
1335
|
throw new Error("--interval must be positive.");
|
|
1250
1336
|
do {
|
|
1251
1337
|
await ensureCodexV6DeviceCredentials({
|
|
1338
|
+
releaseInteraction: { output: deps.errorOutput, ...deps.releaseInteraction },
|
|
1339
|
+
releaseSupported: deps.config.profile?.userBoundRefreshTokens?.requestDeviceRelease === true,
|
|
1252
1340
|
client: deps.clientFor(serviceConnection(opts)),
|
|
1253
1341
|
tenantId: deps.config.connection.tenantId,
|
|
1254
1342
|
env: deps.env
|
|
@@ -1554,6 +1642,17 @@ export function registerCodexCommands(program, deps, options = {}) {
|
|
|
1554
1642
|
deps.output.write(`设备已绑定:${result.binding.id} installation=${result.binding.installationId}`
|
|
1555
1643
|
+ ` token-set=${result.binding.credentialLineageId ?? "WAITING_FOR_TOKEN"}\n`);
|
|
1556
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
|
+
});
|
|
1557
1656
|
serviceOptions(adminRequests.command("replace-device-token <requestId> <bindingId>")
|
|
1558
1657
|
.description("Prepare an independent successor token set and switch only after device ACK")
|
|
1559
1658
|
.requiredOption("--version <number>", "当前请求版本")
|