codex-multi-auth 2.1.13-beta.1 → 2.1.13-beta.2

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 (48) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +415 -415
  3. package/assets/codex-multi-auth-icon.svg +39 -39
  4. package/assets/readme-hero.svg +31 -31
  5. package/config/README.md +29 -29
  6. package/config/codex-legacy.json +571 -571
  7. package/config/codex-modern.json +258 -258
  8. package/config/minimal-codex.json +15 -15
  9. package/config/schema/config.schema.json +20 -20
  10. package/dist/lib/config.d.ts +26 -0
  11. package/dist/lib/config.d.ts.map +1 -1
  12. package/dist/lib/config.js +42 -0
  13. package/dist/lib/config.js.map +1 -1
  14. package/dist/lib/context-overflow.js +10 -10
  15. package/dist/lib/oauth-success.html +125 -125
  16. package/dist/lib/prompts/codex-host-bridge.js +138 -138
  17. package/dist/lib/prompts/codex.js +79 -79
  18. package/dist/lib/runtime-rotation-proxy.d.ts +2 -0
  19. package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
  20. package/dist/lib/runtime-rotation-proxy.js +136 -8
  21. package/dist/lib/runtime-rotation-proxy.js.map +1 -1
  22. package/dist/lib/schemas.d.ts +2 -0
  23. package/dist/lib/schemas.d.ts.map +1 -1
  24. package/dist/lib/schemas.js +2 -0
  25. package/dist/lib/schemas.js.map +1 -1
  26. package/node_modules/@codex-ai/plugin/dist/index.d.ts +2 -2
  27. package/node_modules/@codex-ai/plugin/dist/index.js +2 -2
  28. package/node_modules/@codex-ai/plugin/dist/tool.d.ts +42 -42
  29. package/node_modules/@codex-ai/plugin/dist/tool.js +29 -29
  30. package/node_modules/@codex-ai/plugin/package.json +9 -9
  31. package/package.json +193 -193
  32. package/scripts/codex-app-launcher.js +653 -653
  33. package/scripts/codex-app-router.js +322 -322
  34. package/scripts/codex-bin-resolver.js +254 -254
  35. package/scripts/codex-multi-auth.js +59 -59
  36. package/scripts/codex-routing.js +56 -56
  37. package/scripts/codex.js +4275 -4275
  38. package/scripts/install-codex-auth-utils.js +206 -206
  39. package/scripts/postinstall.js +343 -343
  40. package/scripts/preuninstall.js +254 -254
  41. package/vendor/codex-ai-plugin/dist/index.d.ts +2 -2
  42. package/vendor/codex-ai-plugin/dist/index.js +2 -2
  43. package/vendor/codex-ai-plugin/dist/tool.d.ts +42 -42
  44. package/vendor/codex-ai-plugin/dist/tool.js +29 -29
  45. package/vendor/codex-ai-plugin/package.json +9 -9
  46. package/vendor/codex-ai-sdk/dist/index.d.ts +4 -4
  47. package/vendor/codex-ai-sdk/dist/index.js +2 -2
  48. package/vendor/codex-ai-sdk/package.json +8 -8
@@ -1,42 +1,42 @@
1
- export interface ToolContext {
2
- [key: string]: any;
3
- directory: string;
4
- worktree: string;
5
- ask: (request: any) => Promise<any> | any;
6
- }
7
-
8
- export interface ToolDefinition<TArgs = any, TResult = any> {
9
- description?: string;
10
- args?: Record<string, any>;
11
- parameters?: unknown;
12
- execute: (args: TArgs, context: ToolContext) => Promise<TResult> | TResult;
13
- [key: string]: any;
14
- }
15
-
16
- export interface SchemaNode {
17
- optional: () => SchemaNode;
18
- describe: (_text: string) => SchemaNode;
19
- min: (_value: number) => SchemaNode;
20
- max: (_value: number) => SchemaNode;
21
- default: (_value: unknown) => SchemaNode;
22
- int: () => SchemaNode;
23
- array: (_node?: unknown) => SchemaNode;
24
- [key: string]: any;
25
- }
26
-
27
- export interface ToolFactory {
28
- <TArgs = any, TResult = any>(definition: ToolDefinition<TArgs, TResult>): ToolDefinition<TArgs, TResult>;
29
- schema: {
30
- string: () => SchemaNode;
31
- number: () => SchemaNode;
32
- boolean: () => SchemaNode;
33
- object: (shape: Record<string, unknown>) => SchemaNode;
34
- enum: (values: readonly unknown[]) => SchemaNode;
35
- literal: (value: unknown) => SchemaNode;
36
- array: (node: unknown) => SchemaNode;
37
- any: () => SchemaNode;
38
- unknown: () => SchemaNode;
39
- };
40
- }
41
-
42
- export declare const tool: ToolFactory;
1
+ export interface ToolContext {
2
+ [key: string]: any;
3
+ directory: string;
4
+ worktree: string;
5
+ ask: (request: any) => Promise<any> | any;
6
+ }
7
+
8
+ export interface ToolDefinition<TArgs = any, TResult = any> {
9
+ description?: string;
10
+ args?: Record<string, any>;
11
+ parameters?: unknown;
12
+ execute: (args: TArgs, context: ToolContext) => Promise<TResult> | TResult;
13
+ [key: string]: any;
14
+ }
15
+
16
+ export interface SchemaNode {
17
+ optional: () => SchemaNode;
18
+ describe: (_text: string) => SchemaNode;
19
+ min: (_value: number) => SchemaNode;
20
+ max: (_value: number) => SchemaNode;
21
+ default: (_value: unknown) => SchemaNode;
22
+ int: () => SchemaNode;
23
+ array: (_node?: unknown) => SchemaNode;
24
+ [key: string]: any;
25
+ }
26
+
27
+ export interface ToolFactory {
28
+ <TArgs = any, TResult = any>(definition: ToolDefinition<TArgs, TResult>): ToolDefinition<TArgs, TResult>;
29
+ schema: {
30
+ string: () => SchemaNode;
31
+ number: () => SchemaNode;
32
+ boolean: () => SchemaNode;
33
+ object: (shape: Record<string, unknown>) => SchemaNode;
34
+ enum: (values: readonly unknown[]) => SchemaNode;
35
+ literal: (value: unknown) => SchemaNode;
36
+ array: (node: unknown) => SchemaNode;
37
+ any: () => SchemaNode;
38
+ unknown: () => SchemaNode;
39
+ };
40
+ }
41
+
42
+ export declare const tool: ToolFactory;
@@ -1,29 +1,29 @@
1
- const chain = {
2
- optional() { return this; },
3
- describe() { return this; },
4
- min() { return this; },
5
- max() { return this; },
6
- default() { return this; },
7
- int() { return this; },
8
- array() { return this; },
9
- };
10
-
11
- function node() {
12
- return Object.create(chain);
13
- }
14
-
15
- export function tool(definition) {
16
- return definition;
17
- }
18
-
19
- tool.schema = {
20
- string: () => node(),
21
- number: () => node(),
22
- boolean: () => node(),
23
- object: () => node(),
24
- enum: () => node(),
25
- literal: () => node(),
26
- array: () => node(),
27
- any: () => node(),
28
- unknown: () => node(),
29
- };
1
+ const chain = {
2
+ optional() { return this; },
3
+ describe() { return this; },
4
+ min() { return this; },
5
+ max() { return this; },
6
+ default() { return this; },
7
+ int() { return this; },
8
+ array() { return this; },
9
+ };
10
+
11
+ function node() {
12
+ return Object.create(chain);
13
+ }
14
+
15
+ export function tool(definition) {
16
+ return definition;
17
+ }
18
+
19
+ tool.schema = {
20
+ string: () => node(),
21
+ number: () => node(),
22
+ boolean: () => node(),
23
+ object: () => node(),
24
+ enum: () => node(),
25
+ literal: () => node(),
26
+ array: () => node(),
27
+ any: () => node(),
28
+ unknown: () => node(),
29
+ };
@@ -1,9 +1,9 @@
1
- {
2
- "name": "@codex-ai/plugin",
3
- "version": "1.2.10-codex.1",
4
- "type": "module",
5
- "exports": {
6
- ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" },
7
- "./tool": { "import": "./dist/tool.js", "types": "./dist/tool.d.ts" }
8
- }
9
- }
1
+ {
2
+ "name": "@codex-ai/plugin",
3
+ "version": "1.2.10-codex.1",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" },
7
+ "./tool": { "import": "./dist/tool.js", "types": "./dist/tool.d.ts" }
8
+ }
9
+ }
package/package.json CHANGED
@@ -1,193 +1,193 @@
1
- {
2
- "name": "codex-multi-auth",
3
- "version": "2.1.13-beta.1",
4
- "description": "Codex CLI multi-account OAuth manager with account switching, health checks, runtime rotation, diagnostics, and recovery tools for @openai/codex",
5
- "main": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./dist/index.d.ts",
10
- "import": "./dist/index.js",
11
- "default": "./dist/index.js"
12
- },
13
- "./auth": {
14
- "types": "./dist/lib/auth/index.d.ts",
15
- "import": "./dist/lib/auth/index.js",
16
- "default": "./dist/lib/auth/index.js"
17
- },
18
- "./storage": {
19
- "types": "./dist/lib/storage.d.ts",
20
- "import": "./dist/lib/storage.js",
21
- "default": "./dist/lib/storage.js"
22
- },
23
- "./config": {
24
- "types": "./dist/lib/config.d.ts",
25
- "import": "./dist/lib/config.js",
26
- "default": "./dist/lib/config.js"
27
- },
28
- "./request": {
29
- "types": "./dist/lib/request/index.d.ts",
30
- "import": "./dist/lib/request/index.js",
31
- "default": "./dist/lib/request/index.js"
32
- },
33
- "./cli": {
34
- "types": "./dist/lib/codex-cli/index.d.ts",
35
- "import": "./dist/lib/codex-cli/index.js",
36
- "default": "./dist/lib/codex-cli/index.js"
37
- },
38
- "./package.json": "./package.json"
39
- },
40
- "type": "module",
41
- "license": "MIT",
42
- "author": "ndycode",
43
- "repository": {
44
- "type": "git",
45
- "url": "git+https://github.com/ndycode/codex-multi-auth.git"
46
- },
47
- "keywords": [
48
- "openai",
49
- "codex",
50
- "codex-cli",
51
- "codex-auth",
52
- "codex-multi-account",
53
- "chatgpt",
54
- "oauth",
55
- "oauth2",
56
- "pkce",
57
- "multi-account",
58
- "account-switching",
59
- "oauth-manager",
60
- "runtime-rotation",
61
- "responses-api",
62
- "local-proxy",
63
- "quota-management",
64
- "diagnostics",
65
- "fault-tolerance",
66
- "terminal-ui",
67
- "cli-tool",
68
- "typescript",
69
- "nodejs",
70
- "developer-tools",
71
- "authentication",
72
- "account-health",
73
- "recovery-tools",
74
- "project-scoped-storage"
75
- ],
76
- "homepage": "https://github.com/ndycode/codex-multi-auth#readme",
77
- "bugs": {
78
- "url": "https://github.com/ndycode/codex-multi-auth/issues"
79
- },
80
- "scripts": {
81
- "build": "tsc && node scripts/copy-oauth-success.js",
82
- "typecheck": "tsc --noEmit",
83
- "typecheck:scripts": "tsc -p tsconfig.scripts.json",
84
- "lint": "npm run lint:ts && npm run lint:scripts",
85
- "lint:ts": "eslint . --ext .ts",
86
- "lint:scripts": "eslint scripts --ext .js,.mjs",
87
- "lint:fix": "npm run lint:ts:fix && npm run lint:scripts:fix",
88
- "lint:ts:fix": "eslint . --ext .ts --fix",
89
- "lint:scripts:fix": "eslint scripts --ext .js,.mjs --fix",
90
- "test": "vitest run --maxWorkers=1",
91
- "test:watch": "vitest",
92
- "test:ui": "vitest --ui",
93
- "test:model-matrix": "node scripts/test-model-matrix.js",
94
- "test:model-matrix:smoke": "node scripts/test-model-matrix.js --smoke",
95
- "test:model-matrix:report": "node scripts/test-model-matrix.js --smoke --report-json=.tmp/model-matrix-report.json",
96
- "clean:repo": "node scripts/repo-hygiene.js clean --mode aggressive",
97
- "clean:repo:check": "node scripts/repo-hygiene.js check",
98
- "pack:check": "npm run build && node scripts/check-pack-budget.mjs",
99
- "bench:edit-formats": "node scripts/benchmark-edit-formats.mjs --preset=codex-core",
100
- "bench:edit-formats:smoke": "node scripts/benchmark-edit-formats.mjs --smoke --preset=codex-core",
101
- "bench:edit-formats:render": "node scripts/benchmark-render-dashboard.mjs",
102
- "bench:runtime-path": "npm run build && node scripts/benchmark-runtime-path.mjs",
103
- "bench:runtime-path:quick": "node scripts/benchmark-runtime-path.mjs",
104
- "test:coverage": "vitest run --coverage --maxWorkers=1",
105
- "coverage": "npm run build && vitest run --coverage --maxWorkers=1",
106
- "audit:prod": "npm audit --omit=dev --audit-level=high",
107
- "audit:all": "npm audit --audit-level=high",
108
- "audit:dev:allowlist": "node scripts/audit-dev-allowlist.js",
109
- "audit:ci": "npm run audit:prod && npm run audit:dev:allowlist",
110
- "vendor:verify": "node scripts/verify-vendor-provenance.mjs",
111
- "vendor:update-manifest": "node scripts/update-vendor-provenance.mjs",
112
- "postinstall": "node scripts/postinstall.js",
113
- "prepublishOnly": "npm run build",
114
- "prepare": "husky"
115
- },
116
- "bin": {
117
- "codex-multi-auth-codex": "scripts/codex.js",
118
- "codex-multi-auth-app-launcher": "scripts/codex-app-launcher.js",
119
- "codex-multi-auth": "scripts/codex-multi-auth.js"
120
- },
121
- "files": [
122
- "dist/",
123
- "assets/",
124
- "config/",
125
- "scripts/codex.js",
126
- "scripts/codex-app-launcher.js",
127
- "scripts/codex-app-router.js",
128
- "scripts/codex-bin-resolver.js",
129
- "scripts/codex-multi-auth.js",
130
- "scripts/codex-routing.js",
131
- "scripts/install-codex-auth-utils.js",
132
- "scripts/postinstall.js",
133
- "scripts/preuninstall.js",
134
- "vendor/codex-ai-plugin/",
135
- "vendor/codex-ai-sdk/",
136
- "README.md",
137
- "LICENSE"
138
- ],
139
- "bundleDependencies": [
140
- "@codex-ai/plugin"
141
- ],
142
- "lint-staged": {
143
- "*.ts": [
144
- "eslint --max-warnings=0 --fix --no-warn-ignored"
145
- ],
146
- "scripts/**/*.{js,mjs}": [
147
- "eslint --max-warnings=0 --fix --no-warn-ignored"
148
- ]
149
- },
150
- "engines": {
151
- "node": ">=18.0.0"
152
- },
153
- "peerDependencies": {
154
- "typescript": "^5"
155
- },
156
- "devDependencies": {
157
- "@codex-ai/sdk": "file:vendor/codex-ai-sdk",
158
- "@fast-check/vitest": "^0.2.4",
159
- "@types/node": "^25.3.0",
160
- "@typescript-eslint/eslint-plugin": "^8.56.0",
161
- "@typescript-eslint/parser": "^8.56.0",
162
- "@vitest/coverage-v8": "^4.0.18",
163
- "@vitest/ui": "^4.0.18",
164
- "eslint": "^10.0.0",
165
- "fast-check": "^4.5.3",
166
- "husky": "^9.1.7",
167
- "lint-staged": "^16.2.7",
168
- "typescript": "^5.9.3",
169
- "typescript-language-server": "^5.1.3",
170
- "vitest": "^4.0.18"
171
- },
172
- "dependencies": {
173
- "@codex-ai/plugin": "file:vendor/codex-ai-plugin",
174
- "@openauthjs/openauth": "^0.4.3",
175
- "hono": "4.12.18",
176
- "undici": "6.25.0",
177
- "zod": "4.4.3"
178
- },
179
- "overrides": {
180
- "hono": "4.12.18",
181
- "flatted": "3.4.2",
182
- "minimatch": "10.2.4",
183
- "picomatch": "4.0.4",
184
- "rollup": "4.59.0",
185
- "vite": "^7.3.2",
186
- "micromatch": {
187
- "picomatch": "2.3.2"
188
- },
189
- "@typescript-eslint/typescript-estree": {
190
- "minimatch": "9.0.9"
191
- }
192
- }
193
- }
1
+ {
2
+ "name": "codex-multi-auth",
3
+ "version": "2.1.13-beta.2",
4
+ "description": "Codex CLI multi-account OAuth manager with account switching, health checks, runtime rotation, diagnostics, and recovery tools for @openai/codex",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./auth": {
14
+ "types": "./dist/lib/auth/index.d.ts",
15
+ "import": "./dist/lib/auth/index.js",
16
+ "default": "./dist/lib/auth/index.js"
17
+ },
18
+ "./storage": {
19
+ "types": "./dist/lib/storage.d.ts",
20
+ "import": "./dist/lib/storage.js",
21
+ "default": "./dist/lib/storage.js"
22
+ },
23
+ "./config": {
24
+ "types": "./dist/lib/config.d.ts",
25
+ "import": "./dist/lib/config.js",
26
+ "default": "./dist/lib/config.js"
27
+ },
28
+ "./request": {
29
+ "types": "./dist/lib/request/index.d.ts",
30
+ "import": "./dist/lib/request/index.js",
31
+ "default": "./dist/lib/request/index.js"
32
+ },
33
+ "./cli": {
34
+ "types": "./dist/lib/codex-cli/index.d.ts",
35
+ "import": "./dist/lib/codex-cli/index.js",
36
+ "default": "./dist/lib/codex-cli/index.js"
37
+ },
38
+ "./package.json": "./package.json"
39
+ },
40
+ "type": "module",
41
+ "license": "MIT",
42
+ "author": "ndycode",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/ndycode/codex-multi-auth.git"
46
+ },
47
+ "keywords": [
48
+ "openai",
49
+ "codex",
50
+ "codex-cli",
51
+ "codex-auth",
52
+ "codex-multi-account",
53
+ "chatgpt",
54
+ "oauth",
55
+ "oauth2",
56
+ "pkce",
57
+ "multi-account",
58
+ "account-switching",
59
+ "oauth-manager",
60
+ "runtime-rotation",
61
+ "responses-api",
62
+ "local-proxy",
63
+ "quota-management",
64
+ "diagnostics",
65
+ "fault-tolerance",
66
+ "terminal-ui",
67
+ "cli-tool",
68
+ "typescript",
69
+ "nodejs",
70
+ "developer-tools",
71
+ "authentication",
72
+ "account-health",
73
+ "recovery-tools",
74
+ "project-scoped-storage"
75
+ ],
76
+ "homepage": "https://github.com/ndycode/codex-multi-auth#readme",
77
+ "bugs": {
78
+ "url": "https://github.com/ndycode/codex-multi-auth/issues"
79
+ },
80
+ "scripts": {
81
+ "build": "tsc && node scripts/copy-oauth-success.js",
82
+ "typecheck": "tsc --noEmit",
83
+ "typecheck:scripts": "tsc -p tsconfig.scripts.json",
84
+ "lint": "npm run lint:ts && npm run lint:scripts",
85
+ "lint:ts": "eslint . --ext .ts",
86
+ "lint:scripts": "eslint scripts --ext .js,.mjs",
87
+ "lint:fix": "npm run lint:ts:fix && npm run lint:scripts:fix",
88
+ "lint:ts:fix": "eslint . --ext .ts --fix",
89
+ "lint:scripts:fix": "eslint scripts --ext .js,.mjs --fix",
90
+ "test": "vitest run --maxWorkers=1",
91
+ "test:watch": "vitest",
92
+ "test:ui": "vitest --ui",
93
+ "test:model-matrix": "node scripts/test-model-matrix.js",
94
+ "test:model-matrix:smoke": "node scripts/test-model-matrix.js --smoke",
95
+ "test:model-matrix:report": "node scripts/test-model-matrix.js --smoke --report-json=.tmp/model-matrix-report.json",
96
+ "clean:repo": "node scripts/repo-hygiene.js clean --mode aggressive",
97
+ "clean:repo:check": "node scripts/repo-hygiene.js check",
98
+ "pack:check": "npm run build && node scripts/check-pack-budget.mjs",
99
+ "bench:edit-formats": "node scripts/benchmark-edit-formats.mjs --preset=codex-core",
100
+ "bench:edit-formats:smoke": "node scripts/benchmark-edit-formats.mjs --smoke --preset=codex-core",
101
+ "bench:edit-formats:render": "node scripts/benchmark-render-dashboard.mjs",
102
+ "bench:runtime-path": "npm run build && node scripts/benchmark-runtime-path.mjs",
103
+ "bench:runtime-path:quick": "node scripts/benchmark-runtime-path.mjs",
104
+ "test:coverage": "vitest run --coverage --maxWorkers=1",
105
+ "coverage": "npm run build && vitest run --coverage --maxWorkers=1",
106
+ "audit:prod": "npm audit --omit=dev --audit-level=high",
107
+ "audit:all": "npm audit --audit-level=high",
108
+ "audit:dev:allowlist": "node scripts/audit-dev-allowlist.js",
109
+ "audit:ci": "npm run audit:prod && npm run audit:dev:allowlist",
110
+ "vendor:verify": "node scripts/verify-vendor-provenance.mjs",
111
+ "vendor:update-manifest": "node scripts/update-vendor-provenance.mjs",
112
+ "postinstall": "node scripts/postinstall.js",
113
+ "prepublishOnly": "npm run build",
114
+ "prepare": "husky"
115
+ },
116
+ "bin": {
117
+ "codex-multi-auth-codex": "scripts/codex.js",
118
+ "codex-multi-auth-app-launcher": "scripts/codex-app-launcher.js",
119
+ "codex-multi-auth": "scripts/codex-multi-auth.js"
120
+ },
121
+ "files": [
122
+ "dist/",
123
+ "assets/",
124
+ "config/",
125
+ "scripts/codex.js",
126
+ "scripts/codex-app-launcher.js",
127
+ "scripts/codex-app-router.js",
128
+ "scripts/codex-bin-resolver.js",
129
+ "scripts/codex-multi-auth.js",
130
+ "scripts/codex-routing.js",
131
+ "scripts/install-codex-auth-utils.js",
132
+ "scripts/postinstall.js",
133
+ "scripts/preuninstall.js",
134
+ "vendor/codex-ai-plugin/",
135
+ "vendor/codex-ai-sdk/",
136
+ "README.md",
137
+ "LICENSE"
138
+ ],
139
+ "bundleDependencies": [
140
+ "@codex-ai/plugin"
141
+ ],
142
+ "lint-staged": {
143
+ "*.ts": [
144
+ "eslint --max-warnings=0 --fix --no-warn-ignored"
145
+ ],
146
+ "scripts/**/*.{js,mjs}": [
147
+ "eslint --max-warnings=0 --fix --no-warn-ignored"
148
+ ]
149
+ },
150
+ "engines": {
151
+ "node": ">=18.0.0"
152
+ },
153
+ "peerDependencies": {
154
+ "typescript": "^5"
155
+ },
156
+ "devDependencies": {
157
+ "@codex-ai/sdk": "file:vendor/codex-ai-sdk",
158
+ "@fast-check/vitest": "^0.2.4",
159
+ "@types/node": "^25.3.0",
160
+ "@typescript-eslint/eslint-plugin": "^8.56.0",
161
+ "@typescript-eslint/parser": "^8.56.0",
162
+ "@vitest/coverage-v8": "^4.0.18",
163
+ "@vitest/ui": "^4.0.18",
164
+ "eslint": "^10.0.0",
165
+ "fast-check": "^4.5.3",
166
+ "husky": "^9.1.7",
167
+ "lint-staged": "^16.2.7",
168
+ "typescript": "^5.9.3",
169
+ "typescript-language-server": "^5.1.3",
170
+ "vitest": "^4.0.18"
171
+ },
172
+ "dependencies": {
173
+ "@codex-ai/plugin": "file:vendor/codex-ai-plugin",
174
+ "@openauthjs/openauth": "^0.4.3",
175
+ "hono": "4.12.18",
176
+ "undici": "6.25.0",
177
+ "zod": "4.4.3"
178
+ },
179
+ "overrides": {
180
+ "hono": "4.12.18",
181
+ "flatted": "3.4.2",
182
+ "minimatch": "10.2.4",
183
+ "picomatch": "4.0.4",
184
+ "rollup": "4.59.0",
185
+ "vite": "^7.3.2",
186
+ "micromatch": {
187
+ "picomatch": "2.3.2"
188
+ },
189
+ "@typescript-eslint/typescript-estree": {
190
+ "minimatch": "9.0.9"
191
+ }
192
+ }
193
+ }