@tnnevol/dsh-codex-auth 0.1.5-rc.2 → 0.1.7-rc.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.
package/README.md CHANGED
@@ -4,10 +4,10 @@ DSH 的 ChatGPT / Codex 登录、模型目录和账号用量插件。
4
4
 
5
5
  ## 安装
6
6
 
7
- 插件发布在 npm,要求 DSH `0.1.5-rc.2` 。安装命令:
7
+ 插件发布在 npm,要求 DSH `0.1.7-rc.2` 。安装命令:
8
8
 
9
9
  ```sh
10
- dsh plugin --profile web add @tnnevol/dsh-codex-auth@0.1.5-rc.2
10
+ dsh plugin --profile web add @tnnevol/dsh-codex-auth@0.1.7-rc.2
11
11
  ```
12
12
 
13
13
  装完重启 Web profile 即可。如果提示 `cannot resolve profile bundle`,重新跑一次上面的安装命令,别只在 `package.json` 里手动补 bundle。
@@ -19,4 +19,4 @@ dsh plugin --profile web add @tnnevol/dsh-codex-auth@0.1.5-rc.2
19
19
  - 对话输入区右侧显示当前 Codex 模型的用量状态,可展开看剩余额度和重置时间
20
20
  - 读取并在模型选择器里展示 Codex 模型目录
21
21
 
22
- 更完整的说明见线上文档:<https://fnapps-doc.tnnevol.cn/plugins/dsh-codex-auth>
22
+ 更完整的说明见线上文档:<https://fndsh-doc.tnnevol.cn/plugins/dsh-codex-auth>
@@ -4,24 +4,32 @@
4
4
  "node": "^22.19.0 || >=24.0.0"
5
5
  },
6
6
  "dshPluginApi": {
7
- "version": "0.1.5-rc.2",
7
+ "version": "0.1.7-rc.2",
8
8
  "packages": [
9
+ "@deepseek-ai/dsh-agent-default-model",
10
+ "@deepseek-ai/dsh-api-remotes",
11
+ "@deepseek-ai/dsh-api-session-controller",
9
12
  "@deepseek-ai/dsh-atomic-write",
10
13
  "@deepseek-ai/dsh-attachment",
14
+ "@deepseek-ai/dsh-client-connection",
15
+ "@deepseek-ai/dsh-client-locale",
16
+ "@deepseek-ai/dsh-client-ui-conversation",
17
+ "@deepseek-ai/dsh-client-ui-primitives",
18
+ "@deepseek-ai/dsh-client-ui-renderer",
11
19
  "@deepseek-ai/dsh-client-ui-session",
20
+ "@deepseek-ai/dsh-client-ui-settings",
21
+ "@deepseek-ai/dsh-client-ui-settings-plugins",
22
+ "@deepseek-ai/dsh-client-ui-slots",
12
23
  "@deepseek-ai/dsh-credentials",
13
24
  "@deepseek-ai/dsh-home-paths",
14
25
  "@deepseek-ai/dsh-host-webserver",
15
- "@deepseek-ai/dsh-invariants",
16
- "@deepseek-ai/dsh-launch-environment",
17
26
  "@deepseek-ai/dsh-llm",
18
27
  "@deepseek-ai/dsh-llm-pi-ai",
19
- "@deepseek-ai/dsh-settings",
20
- "@deepseek-ai/dsh-timeout"
28
+ "@deepseek-ai/dsh-settings"
21
29
  ]
22
30
  },
23
31
  "piAi": {
24
32
  "package": "@earendil-works/pi-ai",
25
- "version": "0.84.2"
33
+ "version": "0.85.1"
26
34
  }
27
35
  }
@@ -2,6 +2,8 @@
2
2
  /** Browser-facing paths owned by the standalone Codex authentication plugin. */
3
3
  declare const CODEX_AUTH_STATUS_PATH = "/plugins/dsh-codex-auth-plugin/auth/status";
4
4
  declare const CODEX_AUTH_LOGIN_PATH = "/plugins/dsh-codex-auth-plugin/auth/login";
5
+ /** OpenAI's device-code page is fixed; opening it does not depend on the NAS network request. */
6
+ declare const CODEX_AUTH_VERIFICATION_URI = "https://auth.openai.com/codex/device";
5
7
  declare const CODEX_AUTH_CANCEL_PATH = "/plugins/dsh-codex-auth-plugin/auth/cancel";
6
8
  declare const CODEX_AUTH_LOGOUT_PATH = "/plugins/dsh-codex-auth-plugin/auth/logout";
7
9
  declare const CODEX_USAGE_PATH = "/plugins/dsh-codex-auth-plugin/auth/usage";
@@ -10,4 +12,4 @@ declare const CODEX_GLOBAL_MODEL_PATH = "/plugins/dsh-codex-auth-plugin/auth/glo
10
12
  /** Same-origin endpoint that refreshes the OpenAI Codex route's model catalog. */
11
13
  declare const CODEX_MODEL_REFRESH_PATH = "/plugins/dsh-codex-auth-plugin/auth/refresh-models";
12
14
  //#endregion
13
- export { CODEX_AUTH_CANCEL_PATH, CODEX_AUTH_LOGIN_PATH, CODEX_AUTH_LOGOUT_PATH, CODEX_AUTH_STATUS_PATH, CODEX_GLOBAL_MODEL_PATH, CODEX_MODEL_REFRESH_PATH, CODEX_USAGE_PATH };
15
+ export { CODEX_AUTH_CANCEL_PATH, CODEX_AUTH_LOGIN_PATH, CODEX_AUTH_LOGOUT_PATH, CODEX_AUTH_STATUS_PATH, CODEX_AUTH_VERIFICATION_URI, CODEX_GLOBAL_MODEL_PATH, CODEX_MODEL_REFRESH_PATH, CODEX_USAGE_PATH };
package/lib/auth-paths.js CHANGED
@@ -2,6 +2,8 @@
2
2
  /** Browser-facing paths owned by the standalone Codex authentication plugin. */
3
3
  const CODEX_AUTH_STATUS_PATH = "/plugins/dsh-codex-auth-plugin/auth/status";
4
4
  const CODEX_AUTH_LOGIN_PATH = "/plugins/dsh-codex-auth-plugin/auth/login";
5
+ /** OpenAI's device-code page is fixed; opening it does not depend on the NAS network request. */
6
+ const CODEX_AUTH_VERIFICATION_URI = "https://auth.openai.com/codex/device";
5
7
  const CODEX_AUTH_CANCEL_PATH = "/plugins/dsh-codex-auth-plugin/auth/cancel";
6
8
  const CODEX_AUTH_LOGOUT_PATH = "/plugins/dsh-codex-auth-plugin/auth/logout";
7
9
  const CODEX_USAGE_PATH = "/plugins/dsh-codex-auth-plugin/auth/usage";
@@ -10,4 +12,4 @@ const CODEX_GLOBAL_MODEL_PATH = "/plugins/dsh-codex-auth-plugin/auth/global-mode
10
12
  /** Same-origin endpoint that refreshes the OpenAI Codex route's model catalog. */
11
13
  const CODEX_MODEL_REFRESH_PATH = "/plugins/dsh-codex-auth-plugin/auth/refresh-models";
12
14
  //#endregion
13
- export { CODEX_AUTH_CANCEL_PATH, CODEX_AUTH_LOGIN_PATH, CODEX_AUTH_LOGOUT_PATH, CODEX_AUTH_STATUS_PATH, CODEX_GLOBAL_MODEL_PATH, CODEX_MODEL_REFRESH_PATH, CODEX_USAGE_PATH };
15
+ export { CODEX_AUTH_CANCEL_PATH, CODEX_AUTH_LOGIN_PATH, CODEX_AUTH_LOGOUT_PATH, CODEX_AUTH_STATUS_PATH, CODEX_AUTH_VERIFICATION_URI, CODEX_GLOBAL_MODEL_PATH, CODEX_MODEL_REFRESH_PATH, CODEX_USAGE_PATH };
package/lib/client.js CHANGED
@@ -47428,6 +47428,8 @@ window.__ModuleLoader__.load({
47428
47428
  /** Browser-facing paths owned by the standalone Codex authentication plugin. */
47429
47429
  const CODEX_AUTH_STATUS_PATH = "/plugins/dsh-codex-auth-plugin/auth/status";
47430
47430
  const CODEX_AUTH_LOGIN_PATH = "/plugins/dsh-codex-auth-plugin/auth/login";
47431
+ /** OpenAI's device-code page is fixed; opening it does not depend on the NAS network request. */
47432
+ const CODEX_AUTH_VERIFICATION_URI = "https://auth.openai.com/codex/device";
47431
47433
  const CODEX_AUTH_CANCEL_PATH = "/plugins/dsh-codex-auth-plugin/auth/cancel";
47432
47434
  const CODEX_AUTH_LOGOUT_PATH = "/plugins/dsh-codex-auth-plugin/auth/logout";
47433
47435
  const CODEX_USAGE_PATH = "/plugins/dsh-codex-auth-plugin/auth/usage";
@@ -47482,7 +47484,7 @@ window.__ModuleLoader__.load({
47482
47484
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
47483
47485
  "aria-hidden": "true",
47484
47486
  className: "dsh-codex-global-model-chevron",
47485
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutline14, { size: 14 })
47487
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineRegular, { size: 14 })
47486
47488
  });
47487
47489
  }
47488
47490
  const UNSET_VALUE = "__dsh_cascader_unset__";
@@ -47838,7 +47840,7 @@ window.__ModuleLoader__.load({
47838
47840
  const signIn = async () => {
47839
47841
  const generation = loginGenerationRef.current + 1;
47840
47842
  loginGenerationRef.current = generation;
47841
- const popup = window.open("about:blank", "_blank");
47843
+ const popup = window.open(CODEX_AUTH_VERIFICATION_URI, "_blank");
47842
47844
  if (popup === null) {
47843
47845
  setStatus({
47844
47846
  status: "error",
@@ -47858,10 +47860,7 @@ window.__ModuleLoader__.load({
47858
47860
  return;
47859
47861
  }
47860
47862
  setChallenge(next);
47861
- popup.location.replace(next.verificationUri);
47862
47863
  } catch (error) {
47863
- popup.close();
47864
- authWindowsRef.current.delete(popup);
47865
47864
  if (loginGenerationRef.current !== generation) return;
47866
47865
  setChallenge(void 0);
47867
47866
  setCopyFailed(false);
package/package.json CHANGED
@@ -1,29 +1,24 @@
1
1
  {
2
2
  "name": "@tnnevol/dsh-codex-auth",
3
3
  "displayName": "Codex Auth",
4
+ "type": "module",
5
+ "version": "0.1.7-rc.2",
4
6
  "description": "Standalone ChatGPT OAuth account management for DeepSeek Harness.",
5
- "version": "0.1.5-rc.2",
6
7
  "author": "tnnevol",
8
+ "license": "AGPL-3.0-only",
9
+ "homepage": "https://fnapps-doc.tnnevol.cn/plugins/dsh-codex-auth.html",
7
10
  "repository": {
8
11
  "type": "git",
9
- "url": "git+https://github.com/tnnevol/fn-os-apps.git",
12
+ "url": "git+https://github.com/FNOSP/fnos-dsh.git",
10
13
  "directory": "plugins/dsh-codex-auth-plugin"
11
14
  },
12
- "homepage": "https://github.com/tnnevol/fn-os-apps/tree/main/plugins/dsh-codex-auth-plugin",
13
15
  "documentation": "https://fnapps-doc.tnnevol.cn/plugins/dsh-codex-auth",
14
16
  "bugs": {
15
- "url": "https://github.com/tnnevol/fn-os-apps/issues"
17
+ "url": "https://github.com/FNOSP/fnos-dsh/issues"
16
18
  },
17
19
  "publishConfig": {
18
20
  "access": "public"
19
21
  },
20
- "type": "module",
21
- "license": "AGPL-3.0-only",
22
- "engines": {
23
- "node": "^22.19.0 || >=24.0.0"
24
- },
25
- "main": "lib/index.js",
26
- "types": "lib/index.d.ts",
27
22
  "exports": {
28
23
  ".": {
29
24
  "types": "./lib/index.d.ts",
@@ -39,12 +34,17 @@
39
34
  "./compatibility.json": "./compatibility.json",
40
35
  "./package.json": "./package.json"
41
36
  },
37
+ "main": "lib/index.js",
38
+ "types": "lib/index.d.ts",
42
39
  "files": [
43
- "lib",
40
+ "README.md",
44
41
  "compatibility.json",
45
42
  "cordis.patch.yml",
46
- "README.md"
43
+ "lib"
47
44
  ],
45
+ "engines": {
46
+ "node": "^22.19.0 || >=24.0.0"
47
+ },
48
48
  "dsh": {
49
49
  "bundle": {
50
50
  "patch": "./cordis.patch.yml"
@@ -67,77 +67,66 @@
67
67
  }
68
68
  },
69
69
  "peerDependencies": {
70
- "@deepseek-ai/dsh-client-ui-session": "0.1.5-rc.2",
71
- "@earendil-works/pi-ai": "^0.85.1",
72
- "@deepseek-ai/cordis": "^4.0.2",
73
- "@deepseek-ai/dsh-api-remotes": "0.1.5-rc.2",
74
- "@deepseek-ai/dsh-api-session-controller": "0.1.5-rc.2",
75
- "@deepseek-ai/dsh-scope": "0.1.5-rc.2",
76
- "@deepseek-ai/dsh-attachment": "0.1.5-rc.2",
77
- "@deepseek-ai/dsh-agent-default-model": "0.1.5-rc.2",
78
- "@deepseek-ai/dsh-atomic-write": "0.1.5-rc.2",
79
- "@deepseek-ai/dsh-home-paths": "0.1.5-rc.2",
80
- "@deepseek-ai/dsh-host-webserver": "0.1.5-rc.2",
81
- "@deepseek-ai/dsh-invariants": "0.1.5-rc.2",
82
- "@deepseek-ai/dsh-llm": "0.1.5-rc.2",
83
- "@deepseek-ai/dsh-llm-pi-ai": "0.1.5-rc.2",
84
- "@deepseek-ai/dsh-settings": "0.1.5-rc.2",
85
- "@deepseek-ai/dsh-client-locale": "0.1.5-rc.2",
86
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.5-rc.2",
87
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.5-rc.2",
88
- "@deepseek-ai/dsh-client-ui-settings": "0.1.5-rc.2",
89
- "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.5-rc.2",
90
- "@deepseek-ai/dsh-client-ui-slots": "0.1.5-rc.2",
91
- "@deepseek-ai/dsh-credentials": "0.1.5-rc.2",
92
- "@deepseek-ai/dsh-launch-environment": "0.1.5-rc.2",
93
- "@deepseek-ai/dsh-timeout": "0.1.5-rc.2",
94
- "@deepseek-ai/schemastery": "3.18.2",
70
+ "@deepseek-ai/cordis": "^4.0.4",
71
+ "@deepseek-ai/dsh-agent-default-model": "0.1.7-rc.2",
72
+ "@deepseek-ai/dsh-api-remotes": "0.1.7-rc.2",
73
+ "@deepseek-ai/dsh-api-session-controller": "0.1.7-rc.2",
74
+ "@deepseek-ai/dsh-atomic-write": "0.1.7-rc.2",
75
+ "@deepseek-ai/dsh-attachment": "0.1.7-rc.2",
76
+ "@deepseek-ai/dsh-client-locale": "0.1.7-rc.2",
77
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.7-rc.2",
78
+ "@deepseek-ai/dsh-client-ui-renderer": "0.1.7-rc.2",
79
+ "@deepseek-ai/dsh-client-ui-session": "0.1.7-rc.2",
80
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.7-rc.2",
81
+ "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.7-rc.2",
82
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.2",
83
+ "@deepseek-ai/dsh-credentials": "0.1.7-rc.2",
84
+ "@deepseek-ai/dsh-home-paths": "0.1.7-rc.2",
85
+ "@deepseek-ai/dsh-host-webserver": "0.1.7-rc.2",
86
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
87
+ "@deepseek-ai/dsh-llm-pi-ai": "0.1.7-rc.2",
88
+ "@deepseek-ai/dsh-settings": "0.1.7-rc.2",
89
+ "@earendil-works/pi-ai": "0.85.1",
95
90
  "react": "^18.2.0"
96
91
  },
97
92
  "devDependencies": {
98
- "@deepseek-ai/dsh-client-ui-session": "0.1.5-rc.2",
93
+ "@deepseek-ai/cordis": "^4.0.4",
94
+ "@deepseek-ai/dsh-agent-default-model": "0.1.7-rc.2",
95
+ "@deepseek-ai/dsh-api-remotes": "0.1.7-rc.2",
96
+ "@deepseek-ai/dsh-api-session-controller": "0.1.7-rc.2",
97
+ "@deepseek-ai/dsh-atomic-write": "0.1.7-rc.2",
98
+ "@deepseek-ai/dsh-attachment": "0.1.7-rc.2",
99
+ "@deepseek-ai/dsh-client-connection": "0.1.7-rc.2",
100
+ "@deepseek-ai/dsh-client-locale": "0.1.7-rc.2",
101
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.7-rc.2",
102
+ "@deepseek-ai/dsh-client-ui-model-selection": "0.1.7-rc.2",
103
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.7-rc.2",
104
+ "@deepseek-ai/dsh-client-ui-renderer": "0.1.7-rc.2",
105
+ "@deepseek-ai/dsh-client-ui-session": "0.1.7-rc.2",
106
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.7-rc.2",
107
+ "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.7-rc.2",
108
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.2",
109
+ "@deepseek-ai/dsh-credentials": "0.1.7-rc.2",
110
+ "@deepseek-ai/dsh-home-paths": "0.1.7-rc.2",
111
+ "@deepseek-ai/dsh-host-webserver": "0.1.7-rc.2",
112
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
113
+ "@deepseek-ai/dsh-llm-pi-ai": "0.1.7-rc.2",
114
+ "@deepseek-ai/dsh-settings": "0.1.7-rc.2",
99
115
  "@earendil-works/pi-ai": "0.85.1",
100
- "@deepseek-ai/cordis": "^4.0.2",
101
- "@deepseek-ai/dsh-api-remotes": "0.1.5-rc.2",
102
- "@deepseek-ai/dsh-api-session-controller": "0.1.5-rc.2",
103
- "@deepseek-ai/dsh-scope": "0.1.5-rc.2",
104
- "@deepseek-ai/dsh-agent-default-model": "0.1.5-rc.2",
105
- "@deepseek-ai/dsh-attachment": "0.1.5-rc.2",
106
- "@deepseek-ai/dsh-atomic-write": "0.1.5-rc.2",
107
- "@deepseek-ai/dsh-client-connection": "0.1.5-rc.2",
108
- "@deepseek-ai/dsh-client-locale": "0.1.5-rc.2",
109
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.5-rc.2",
110
- "@deepseek-ai/dsh-client-ui-model-selection": "0.1.5-rc.2",
111
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.5-rc.2",
112
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.5-rc.2",
113
- "@deepseek-ai/dsh-client-ui-settings": "0.1.5-rc.2",
114
- "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.5-rc.2",
115
- "@deepseek-ai/dsh-client-ui-slots": "0.1.5-rc.2",
116
- "@deepseek-ai/dsh-credentials": "0.1.5-rc.2",
117
- "@deepseek-ai/dsh-home-paths": "0.1.5-rc.2",
118
- "@deepseek-ai/dsh-host-webserver": "0.1.5-rc.2",
119
- "@deepseek-ai/dsh-invariants": "0.1.5-rc.2",
120
- "@deepseek-ai/dsh-launch-environment": "0.1.5-rc.2",
121
- "@deepseek-ai/dsh-llm": "0.1.5-rc.2",
122
- "@deepseek-ai/dsh-llm-pi-ai": "0.1.5-rc.2",
123
- "@deepseek-ai/dsh-settings": "0.1.5-rc.2",
124
- "@deepseek-ai/dsh-timeout": "0.1.5-rc.2",
125
- "@deepseek-ai/schemastery": "3.18.2",
126
116
  "@types/node": "^22.20.0",
127
117
  "@types/react": "~18.3.1",
128
118
  "react": "^18.3.1",
129
119
  "tsdown": "^0.22.2",
130
120
  "typescript": "^5.9.3",
131
121
  "vitest": "^4.1.8",
132
- "@tnnevol/dsh-semi-ui": "5.3.1"
122
+ "@tnnevol/dsh-semi-ui": "5.4.3"
133
123
  },
134
124
  "scripts": {
135
125
  "build": "tsdown",
136
126
  "dev": "tsdown --watch",
137
127
  "typecheck": "tsc -p tsconfig.json",
138
- "test:unit": "vitest run --config vitest.config.ts",
139
- "test": "pnpm run test:unit",
140
- "check": "pnpm run typecheck && pnpm run test:unit",
141
- "publish:rc": "pnpm publish --tag rc --access public"
128
+ "check": "pnpm run typecheck && pnpm run test",
129
+ "publish:next": "pnpm publish --tag next --access public",
130
+ "test": "vitest run --config vitest.config.ts"
142
131
  }
143
132
  }