dsh-codex-connect 0.1.0-alpha.4.43 → 0.1.0-alpha.4.44
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/INSTALL.md +13 -4
- package/README.i18n.yaml +2 -2
- package/README.md +7 -7
- package/docs/README.zh.md +7 -7
- package/lib/bin.js +1 -1
- package/lib/client.js +136 -3
- package/lib/index.js +1 -1
- package/package.json +1 -1
package/INSTALL.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Installation Runbook for CLI Agents
|
|
2
2
|
|
|
3
|
-
Published Alpha 4.
|
|
3
|
+
Published Alpha 4.43 is verified with the exact DSH `0.1.7-rc.1` model-runtime pairing and pi-ai `0.85.1`. Earlier DSH pairings retain their separately published plugin versions below.
|
|
4
4
|
|
|
5
5
|
Install `dsh-codex-connect` into one requested DeepSeek Harness profile without changing its current default model, search route, global configuration, or OAuth state.
|
|
6
6
|
|
|
7
|
-
Channel snapshot on 2026-09-
|
|
7
|
+
Channel snapshot on 2026-09-24: npm `alpha` points to `0.1.0-alpha.4.43`; `latest` remains on `0.1.0-alpha.4.41`. Use the exact-version command for the installed DSH version. Publishing an Alpha and promoting the default installation channel are separate actions.
|
|
8
8
|
|
|
9
9
|
## Safety requirements
|
|
10
10
|
|
|
@@ -30,10 +30,13 @@ Check `dsh --version` before changing the requested profile. Use `dsh --help` to
|
|
|
30
30
|
| `0.1.5-alpha.1` | `0.1.0-alpha.4.41` |
|
|
31
31
|
| `0.1.5-rc.1` | `0.1.0-alpha.4.41` |
|
|
32
32
|
| `0.1.5-rc.2` | `0.1.0-alpha.4.41` |
|
|
33
|
+
| `0.1.7-rc.1` | `0.1.0-alpha.4.43` |
|
|
33
34
|
|
|
34
35
|
If your exact DSH version is unknown or not listed, preserve the installed host, report that the combination is unverified, and verify it before making installation changes. A missing record does not prove incompatibility, and the catalog's latest verified DSH version is not the latest upstream release. Do not recommend upgrading or downgrading DSH merely to match a row. Investigate any specific failure and seek verification of the installed combination. Do not blindly install `dsh-codex-connect@alpha`: `alpha` is a moving tag, not a compatibility guarantee. Do not infer support for newer DSH versions from these rows.
|
|
35
36
|
|
|
36
|
-
Alpha 4.
|
|
37
|
+
Alpha 4.43 requires one consistent DSH `0.1.7-rc.1` plugin API and pi-ai `0.85.1`; Node.js remains `^22.19.0 || >=24.0.0`. It does not support the older DSH rows. Alpha 4.41 remains the choice for DSH `0.1.2-rc.1` with pi-ai `^0.84.2`, or `0.1.5-alpha.1`, `0.1.5-rc.1`, and `0.1.5-rc.2` with pi-ai `0.85.1`. Mixed host versions and other DSH/pi-ai combinations remain unverified. Alpha 4.25 remains the verified choice for DSH `0.1.2-alpha.5`, Alpha 4.23 for DSH `0.1.2-alpha.2`, Alpha 4.21 for DSH `0.1.1-rc.2`, and Alpha 4.14 for DSH `0.1.0-rc.7`. Changing DSH is a separate operation requiring the user's explicit request; a plugin update request does not authorize it. The repository's `pnpm --silent run check:compatibility` remains a strict development/release dependency gate, not a recommendation to change a user's host.
|
|
38
|
+
|
|
39
|
+
The Alpha 4.43 recommendation follows [exact-release main CI](https://github.com/franksong2702/dsh-codex-connect/actions/runs/35887810404) on Node 22/24, Chromium and Windows checks, plus the stock DSH `0.1.7-rc.1` same-artifact installation matrix. The [original publish run](https://github.com/franksong2702/dsh-codex-connect/actions/runs/35888766215) uploaded the verified npm package but timed out waiting for public registry readback; do not rerun publication. Once npm exposed the exact version and `alpha` tag, the [recovery-only run](https://github.com/franksong2702/dsh-codex-connect/actions/runs/35889959811) verified the archive against that original artifact and created the matching Git tag and prerelease without republishing. These checks used synthetic providers, not a real ChatGPT account. Stock rc.1 keeps Task controls paused; migration of old Task grants across a Harness upgrade remains unverified.
|
|
37
40
|
|
|
38
41
|
The Alpha 4.41 recommendation follows successful [exact-release main CI](https://github.com/franksong2702/dsh-codex-connect/actions/runs/35817909046) on Node 22 and 24 (1,282 unit tests each), 52 Chromium tests, and a four-host same-artifact installation matrix. After npm processing completed, the [recovery verification](https://github.com/franksong2702/dsh-codex-connect/actions/runs/35819017165) matched the public npm archive byte-for-byte to the original verified release artifact, then created the matching Git tag and GitHub prerelease. The [original release run](https://github.com/franksong2702/dsh-codex-connect/actions/runs/35818489220) remains failed because npm's public readback was not available within its bounded retry period; do not rerun publication. These are synthetic-provider installation/lifecycle checks, not new real-account acceptance or a newly exercised published-package upgrade. Task-level model control remains opt-in; a new grant preselects only GPT-5.6 Sol / Medium and displays its scope and request limit before Start. Existing grants are not silently narrowed. Stock DSH 0.1.6-alpha.1 and alpha.2 remain undeclared; their separate compatibility trackers are not broadened by this release.
|
|
39
42
|
|
|
@@ -70,13 +73,19 @@ Alpha 4.33 omits the `modelErrors` profile field required by RC model packages,
|
|
|
70
73
|
dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.41
|
|
71
74
|
```
|
|
72
75
|
|
|
76
|
+
For the exact DSH `0.1.7-rc.1` pairing, use Alpha 4.43:
|
|
77
|
+
|
|
78
|
+
```sh
|
|
79
|
+
dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.43
|
|
80
|
+
```
|
|
81
|
+
|
|
73
82
|
For DSH `0.1.2-alpha.5`, use Alpha 4.25:
|
|
74
83
|
|
|
75
84
|
```sh
|
|
76
85
|
dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.25
|
|
77
86
|
```
|
|
78
87
|
|
|
79
|
-
If npm is unavailable after the matching GitHub prerelease is created, use `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.21'` only for the DSH `0.1.1-rc.2` combination, `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.23'` only for the DSH `0.1.2-alpha.2` combination, `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.25'` only for the DSH `0.1.2-alpha.5` combination,
|
|
88
|
+
If npm is unavailable after the matching GitHub prerelease is created, use `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.21'` only for the DSH `0.1.1-rc.2` combination, `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.23'` only for the DSH `0.1.2-alpha.2` combination, `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.25'` only for the DSH `0.1.2-alpha.5` combination, `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.41'` only for the DSH `0.1.2-rc.1`, `0.1.5-alpha.1`, `0.1.5-rc.1`, and `0.1.5-rc.2` combinations, or `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.43'` only for DSH `0.1.7-rc.1`.
|
|
80
89
|
|
|
81
90
|
3. Run `dsh web --help` once to compose the installed profile without starting the server. DSH `0.1.2-rc.1` prepares profile plugin dependency fallback during this step.
|
|
82
91
|
4. Run `dsh --profile web --dump-config` and require exactly one `llm-openai-codex` row loading `dsh-codex-connect`.
|
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# git hash-object README.md docs/README.zh.md
|
|
5
|
-
README.md:
|
|
6
|
-
docs/README.zh.md:
|
|
5
|
+
README.md: 38b900237ec1219376edba97fb1265903d48b9b7
|
|
6
|
+
docs/README.zh.md: 9ae847d4b82d0af3eaf63819119dd1f394a075a4
|
package/README.md
CHANGED
|
@@ -12,23 +12,23 @@ Codex Connect adds the `openai-codex` model provider to the normal Harness agent
|
|
|
12
12
|
|
|
13
13
|
## Quick start
|
|
14
14
|
|
|
15
|
-
This guide describes the published
|
|
15
|
+
This guide describes the published pairing below. Check `dsh --version` first and use `doctor --json` for local diagnostics; the CLI version alone does not prove which model-runtime packages are installed, and missing metadata is reported as unknown. For other versions, use [Installation and upgrades](INSTALL.md). A moving npm tag such as `alpha` is not a compatibility guarantee.
|
|
16
16
|
|
|
17
17
|
| Requirement | Verified pairing |
|
|
18
18
|
|---|---|
|
|
19
|
-
| Codex Connect | `0.1.0-alpha.4.
|
|
20
|
-
| DeepSeek Harness | `0.1.
|
|
19
|
+
| Codex Connect | `0.1.0-alpha.4.43` |
|
|
20
|
+
| DeepSeek Harness | `0.1.7-rc.1` |
|
|
21
21
|
| Node.js | `^22.19.0 \|\| >=24.0.0` |
|
|
22
22
|
| Account | ChatGPT OAuth with access to the requested Codex model; availability is decided by OpenAI |
|
|
23
23
|
|
|
24
|
-
As of 2026-09-
|
|
24
|
+
As of 2026-09-24, npm `alpha` points to 4.43 while `latest` remains on 4.41. Use the exact version below for this DSH pairing; publishing an Alpha and changing the default installation channel are separate actions.
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
On stock DSH `0.1.7-rc.1`, ordinary Composer works, but Task controls remain paused: activation is rejected and fresh Sessions do not show them. Migration of earlier Task grants across a Harness upgrade is not verified. Older supported pairings and their task behavior are documented in [Installation and upgrades](INSTALL.md).
|
|
27
27
|
|
|
28
28
|
### 1. Install
|
|
29
29
|
|
|
30
30
|
```sh
|
|
31
|
-
dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.
|
|
31
|
+
dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.43
|
|
32
32
|
dsh web
|
|
33
33
|
```
|
|
34
34
|
|
|
@@ -67,7 +67,7 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
|
|
|
67
67
|
|
|
68
68
|
## Optional capabilities
|
|
69
69
|
|
|
70
|
-
**
|
|
70
|
+
**Earlier Alpha 4.40/4.41 pairings:** task-level model control is off by default. After explicit task authorization, GPT-5.6 Sol/Medium starts the task, and the active model may continue, change effort, or hand off the main task within the granted scope. The task shares one request ledger and budget; stopping, manual takeover, and restart recovery retain the grant boundary. Phase 2 read-only delegation requires separate consent and does not grant workers write access. Stock DSH `0.1.7-rc.1` with Alpha 4.43 keeps these Task controls paused; do not infer they are available from an older pairing. See [Phase 1](docs/experiments/adaptive-task-phase1.md) and [Phase 2 consent](docs/experiments/adaptive-task-phase2-consent.md).
|
|
71
71
|
|
|
72
72
|
Alpha 4.40 also supplies `gpt-6-sol` and `gpt-6-luna` when older provider catalogs omit them, retaining native metadata when present. Both expose Low through Max (including Xhigh); Default omits an explicit effort. Codex Sol's Ultra orchestration mode is not implemented. New task grants can explicitly include these models, but existing grants, GPT-5.6 Sol/Medium startup and Luna Reserve remain unchanged. A catalog entry is not proof of account access. See [compatibility scope and validation](docs/experiments/gpt6-sol-luna-compatibility.md).
|
|
73
73
|
|
package/docs/README.zh.md
CHANGED
|
@@ -12,23 +12,23 @@ Codex Connect 为标准 Harness agent loop 添加 `openai-codex` 模型提供方
|
|
|
12
12
|
|
|
13
13
|
## 快速开始
|
|
14
14
|
|
|
15
|
-
本指南介绍下方已发布的组合。请先运行 `dsh --version
|
|
15
|
+
本指南介绍下方已发布的组合。请先运行 `dsh --version`,再用 `doctor --json` 做本地诊断;单凭 CLI 版本无法证明实际安装的模型运行库版本,缺少版本元数据时会报告未知。其他版本请查阅[安装与升级](../INSTALL.md)。`alpha` 等会移动的 npm tag 不代表兼容性保证。
|
|
16
16
|
|
|
17
17
|
| 要求 | 已验证组合 |
|
|
18
18
|
|---|---|
|
|
19
|
-
| Codex Connect | `0.1.0-alpha.4.
|
|
20
|
-
| DeepSeek Harness | `0.1.
|
|
19
|
+
| Codex Connect | `0.1.0-alpha.4.43` |
|
|
20
|
+
| DeepSeek Harness | `0.1.7-rc.1` |
|
|
21
21
|
| Node.js | `^22.19.0 \|\| >=24.0.0` |
|
|
22
22
|
| 账户 | 通过 ChatGPT OAuth 使用所请求的 Codex 模型;可用性由 OpenAI 决定 |
|
|
23
23
|
|
|
24
|
-
截至 2026-09-
|
|
24
|
+
截至 2026-09-24,npm `alpha` 指向 4.43,`latest` 仍指向 4.41。安装此 DSH 组合请使用下方精确版本命令;发布 Alpha 与提升默认安装渠道是两项独立操作。
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
在原版 DSH `0.1.7-rc.1` 上,普通 Composer 可用,但 Task 控件仍暂停:激活请求会被拒绝,新 Session 不显示这些控件。跨 Harness 升级迁移旧任务授权尚未验证。较旧组合及其任务行为见[安装与升级](../INSTALL.md)。
|
|
27
27
|
|
|
28
28
|
### 1. 安装
|
|
29
29
|
|
|
30
30
|
```sh
|
|
31
|
-
dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.
|
|
31
|
+
dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.43
|
|
32
32
|
dsh web
|
|
33
33
|
```
|
|
34
34
|
|
|
@@ -67,7 +67,7 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
|
|
|
67
67
|
|
|
68
68
|
## 可选能力
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
**较早的 Alpha 4.40/4.41 组合:**任务级模型安排默认关闭。用户明确授予任务权限后,由 GPT-5.6 Sol/Medium 起步;当前模型可以在授权范围内继续、调档或交接主任务。请求共用同一任务账本与预算;停止、手动接管和重启恢复都保留授权边界。Phase 2 的只读委派需要单独同意,不会给委派工作者写入权限。原版 DSH `0.1.7-rc.1` 配合 Alpha 4.43 时,这些 Task 控件仍暂停;不能从旧组合推断它们可用。参见 [Phase 1](experiments/adaptive-task-phase1.md) 与 [Phase 2 同意边界](experiments/adaptive-task-phase2-consent.md)。
|
|
71
71
|
|
|
72
72
|
Alpha 4.40 还会在旧提供方目录缺失时补充 `gpt-6-sol` 和 `gpt-6-luna`,已有原生定义时保留其元数据。两者提供 Low 到 Max(含 Xhigh),Default 不指定推理档位;尚未实现 Codex Sol 的 Ultra 编排模式。新任务可明确授权使用它们,但已有授权、GPT-5.6 Sol/Medium 起步与 Luna Reserve 不变。模型出现在目录中不代表账户具有调用资格。参见[兼容范围与验证](experiments/gpt6-sol-luna-compatibility.md)。
|
|
73
73
|
|
package/lib/bin.js
CHANGED
|
@@ -765,7 +765,7 @@ async function detectCompatibility(options = {}) {
|
|
|
765
765
|
}
|
|
766
766
|
//#endregion
|
|
767
767
|
//#region src/version.ts
|
|
768
|
-
const CODEX_CONNECT_VERSION = "0.1.0-alpha.4.
|
|
768
|
+
const CODEX_CONNECT_VERSION = "0.1.0-alpha.4.44";
|
|
769
769
|
//#endregion
|
|
770
770
|
//#region src/doctor.ts
|
|
771
771
|
/** Secret-free diagnostics and duplicate-provider guidance. */
|
package/lib/client.js
CHANGED
|
@@ -52,6 +52,18 @@ window.__ModuleLoader__.load({
|
|
|
52
52
|
if (entries.length > 256) return false;
|
|
53
53
|
return entries.every(([modelId, window]) => modelId.length > 0 && modelId.trim() === modelId && (window === null || typeof window === "number" && Number.isSafeInteger(window) && window > 0));
|
|
54
54
|
}
|
|
55
|
+
/** Preserve per-model null masks until the Host has merged its settings layers. */
|
|
56
|
+
function parseOpenAICodexContextWindowOverrides(value) {
|
|
57
|
+
if (value === void 0 || value === null) return void 0;
|
|
58
|
+
if (!isValidOpenAICodexContextWindowOverrides(value)) throw new TypeError("OpenAI Codex contextWindowOverrides must contain at most 256 nonempty model ids with positive safe-integer token budgets or null resets");
|
|
59
|
+
return { ...value };
|
|
60
|
+
}
|
|
61
|
+
/** Resolve merged settings; whole-map or per-model null masks use catalog defaults. */
|
|
62
|
+
function resolveOpenAICodexContextWindowOverrides(value) {
|
|
63
|
+
const overrides = parseOpenAICodexContextWindowOverrides(value);
|
|
64
|
+
if (overrides === void 0) return void 0;
|
|
65
|
+
return Object.fromEntries(Object.entries(overrides).filter((entry) => entry[1] !== null));
|
|
66
|
+
}
|
|
55
67
|
Object.freeze({
|
|
56
68
|
models: void 0,
|
|
57
69
|
enableProxy: false,
|
|
@@ -73,6 +85,60 @@ window.__ModuleLoader__.load({
|
|
|
73
85
|
function isRecord$3(value) {
|
|
74
86
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
75
87
|
}
|
|
88
|
+
/** Narrow the redacted settings wire payload before it enters React state. */
|
|
89
|
+
function decodeOpenAICodexSettings(value) {
|
|
90
|
+
if (!isRecord$3(value)) return void 0;
|
|
91
|
+
const models = value["models"];
|
|
92
|
+
const enableProxy = value["enableProxy"];
|
|
93
|
+
const proxyUrl = value["proxyUrl"];
|
|
94
|
+
const contextWindowOverrides = value["contextWindowOverrides"];
|
|
95
|
+
const enableSearch = value["enableSearch"];
|
|
96
|
+
const enableReserveFallback = value["enableReserveFallback"];
|
|
97
|
+
const enableNativeCompaction = value["enableNativeCompaction"];
|
|
98
|
+
const enableImageTool = value["enableImageTool"];
|
|
99
|
+
const enableImageGeneration = value["enableImageGeneration"];
|
|
100
|
+
const imageModelHint = value["imageModelHint"];
|
|
101
|
+
const autoReviewDisclosureAcknowledged = value["autoReviewDisclosureAcknowledged"];
|
|
102
|
+
const enableAutoReview = value["enableAutoReview"];
|
|
103
|
+
const searchModel = value["searchModel"];
|
|
104
|
+
const searchMode = value["searchMode"];
|
|
105
|
+
const searchContextSize = value["searchContextSize"];
|
|
106
|
+
const searchMaxOutputTokens = value["searchMaxOutputTokens"];
|
|
107
|
+
if (models !== void 0 && (!Array.isArray(models) || models.some((model) => typeof model !== "string"))) return void 0;
|
|
108
|
+
if (enableProxy !== void 0 && typeof enableProxy !== "boolean") return void 0;
|
|
109
|
+
if (proxyUrl !== void 0 && (typeof proxyUrl !== "string" || !isValidOpenAICodexProxyUrl(proxyUrl))) return void 0;
|
|
110
|
+
if (contextWindowOverrides !== void 0 && contextWindowOverrides !== null && !isValidOpenAICodexContextWindowOverrides(contextWindowOverrides)) return void 0;
|
|
111
|
+
if (typeof enableSearch !== "boolean" || typeof enableImageTool !== "boolean") return void 0;
|
|
112
|
+
if (enableReserveFallback !== void 0 && typeof enableReserveFallback !== "boolean") return void 0;
|
|
113
|
+
if (enableNativeCompaction !== void 0 && typeof enableNativeCompaction !== "boolean") return void 0;
|
|
114
|
+
if (enableImageGeneration !== void 0 && typeof enableImageGeneration !== "boolean") return void 0;
|
|
115
|
+
if (imageModelHint !== void 0 && !isValidOpenAICodexImageModelHint(imageModelHint)) return void 0;
|
|
116
|
+
if (autoReviewDisclosureAcknowledged !== void 0 && typeof autoReviewDisclosureAcknowledged !== "boolean") return void 0;
|
|
117
|
+
if (enableAutoReview !== void 0 && typeof enableAutoReview !== "boolean") return void 0;
|
|
118
|
+
if (typeof searchModel !== "string" || searchModel.trim().length === 0) return void 0;
|
|
119
|
+
if (searchMode !== "cached" && searchMode !== "indexed" && searchMode !== "live") return void 0;
|
|
120
|
+
if (searchContextSize !== "low" && searchContextSize !== "medium" && searchContextSize !== "high") return void 0;
|
|
121
|
+
if (typeof searchMaxOutputTokens !== "number" || !Number.isInteger(searchMaxOutputTokens) || searchMaxOutputTokens < 1) return void 0;
|
|
122
|
+
const overrides = resolveOpenAICodexContextWindowOverrides(contextWindowOverrides);
|
|
123
|
+
return {
|
|
124
|
+
models: models === void 0 ? void 0 : [...new Set(models)],
|
|
125
|
+
enableProxy: enableProxy ?? false,
|
|
126
|
+
proxyUrl: proxyUrl === void 0 ? DEFAULT_OPENAI_CODEX_PROXY_URL : normalizeOpenAICodexProxyUrl(proxyUrl),
|
|
127
|
+
contextWindowOverrides: overrides === void 0 ? void 0 : Object.freeze(overrides),
|
|
128
|
+
enableSearch,
|
|
129
|
+
enableReserveFallback: enableReserveFallback ?? false,
|
|
130
|
+
enableNativeCompaction: enableNativeCompaction ?? false,
|
|
131
|
+
enableImageTool,
|
|
132
|
+
enableImageGeneration: enableImageGeneration ?? false,
|
|
133
|
+
imageModelHint: imageModelHint ?? "",
|
|
134
|
+
autoReviewDisclosureAcknowledged: autoReviewDisclosureAcknowledged ?? false,
|
|
135
|
+
enableAutoReview: enableAutoReview ?? false,
|
|
136
|
+
searchModel,
|
|
137
|
+
searchMode,
|
|
138
|
+
searchContextSize,
|
|
139
|
+
searchMaxOutputTokens
|
|
140
|
+
};
|
|
141
|
+
}
|
|
76
142
|
//#endregion
|
|
77
143
|
//#region src/client/request-json.ts
|
|
78
144
|
/** Bounded same-origin JSON reads, including response-body consumption. */
|
|
@@ -6384,7 +6450,7 @@ window.__ModuleLoader__.load({
|
|
|
6384
6450
|
}
|
|
6385
6451
|
//#endregion
|
|
6386
6452
|
//#region src/version.ts
|
|
6387
|
-
const CODEX_CONNECT_VERSION = "0.1.0-alpha.4.
|
|
6453
|
+
const CODEX_CONNECT_VERSION = "0.1.0-alpha.4.44";
|
|
6388
6454
|
//#endregion
|
|
6389
6455
|
//#region src/client/OpenAICodexModelsCard.tsx
|
|
6390
6456
|
/** Compact Models account entry with quota disclosure and shared configuration. */
|
|
@@ -6910,6 +6976,73 @@ window.__ModuleLoader__.load({
|
|
|
6910
6976
|
}) : null] });
|
|
6911
6977
|
}
|
|
6912
6978
|
//#endregion
|
|
6979
|
+
//#region src/client/config-form.ts
|
|
6980
|
+
/**
|
|
6981
|
+
* The Host form validates its serialized schema in the browser. Codex Connect's
|
|
6982
|
+
* Host-only schema transforms cannot be rehydrated there, so read the same
|
|
6983
|
+
* accepted Host view through this package's browser-safe decoder. Writes still
|
|
6984
|
+
* use the Host form's ordered queue and revision checks.
|
|
6985
|
+
*/
|
|
6986
|
+
var OpenAICodexConfigForm = class {
|
|
6987
|
+
form;
|
|
6988
|
+
mirror;
|
|
6989
|
+
formSnapshot;
|
|
6990
|
+
mirrorSnapshot;
|
|
6991
|
+
projected;
|
|
6992
|
+
constructor(form, mirror) {
|
|
6993
|
+
this.form = form;
|
|
6994
|
+
this.mirror = mirror;
|
|
6995
|
+
}
|
|
6996
|
+
getSnapshot() {
|
|
6997
|
+
const form = this.form.getSnapshot();
|
|
6998
|
+
const mirror = this.mirror.getSnapshot();
|
|
6999
|
+
if (form === this.formSnapshot && mirror === this.mirrorSnapshot && this.projected !== void 0) return this.projected;
|
|
7000
|
+
this.formSnapshot = form;
|
|
7001
|
+
this.mirrorSnapshot = mirror;
|
|
7002
|
+
if (form.status !== "loading") return this.projected = form;
|
|
7003
|
+
if (mirror.view === void 0) return this.projected = mirror.status === "unavailable" ? {
|
|
7004
|
+
...form,
|
|
7005
|
+
status: "unavailable"
|
|
7006
|
+
} : form;
|
|
7007
|
+
const view = mirror.view.namespaces.find((candidate) => candidate.ns === OPENAI_CODEX_SETTINGS_NAMESPACE);
|
|
7008
|
+
if (view === void 0) return this.projected = {
|
|
7009
|
+
...form,
|
|
7010
|
+
status: "unavailable"
|
|
7011
|
+
};
|
|
7012
|
+
const value = decodeOpenAICodexSettings(view.value);
|
|
7013
|
+
this.projected = value === void 0 ? {
|
|
7014
|
+
...form,
|
|
7015
|
+
status: "unavailable"
|
|
7016
|
+
} : {
|
|
7017
|
+
status: "ready",
|
|
7018
|
+
value,
|
|
7019
|
+
base: view.base,
|
|
7020
|
+
user: view.user,
|
|
7021
|
+
revision: view.revision,
|
|
7022
|
+
writable: mirror.view.writable,
|
|
7023
|
+
mode: form.mode
|
|
7024
|
+
};
|
|
7025
|
+
return this.projected;
|
|
7026
|
+
}
|
|
7027
|
+
subscribe(listener) {
|
|
7028
|
+
const stopForm = this.form.subscribe(listener);
|
|
7029
|
+
const stopMirror = this.mirror.subscribe(listener);
|
|
7030
|
+
return () => {
|
|
7031
|
+
stopForm();
|
|
7032
|
+
stopMirror();
|
|
7033
|
+
};
|
|
7034
|
+
}
|
|
7035
|
+
mutate(ops, expectedRevision) {
|
|
7036
|
+
return this.form.mutate(ops, expectedRevision);
|
|
7037
|
+
}
|
|
7038
|
+
set(field, value) {
|
|
7039
|
+
return this.form.set(field, value);
|
|
7040
|
+
}
|
|
7041
|
+
unset(field) {
|
|
7042
|
+
return this.form.unset(field);
|
|
7043
|
+
}
|
|
7044
|
+
};
|
|
7045
|
+
//#endregion
|
|
6913
7046
|
//#region src/client/index.tsx
|
|
6914
7047
|
/** Stable browser-plugin name. */
|
|
6915
7048
|
const name = "dsh-codex-connect-client";
|
|
@@ -6942,8 +7075,8 @@ window.__ModuleLoader__.load({
|
|
|
6942
7075
|
en
|
|
6943
7076
|
}), "dsh-codex-connect: settings copy");
|
|
6944
7077
|
const t = ctx.locale.bind(namespace);
|
|
7078
|
+
const configScope = new OpenAICodexConfigForm(ctx.configForms.get(OPENAI_CODEX_SETTINGS_NAMESPACE), ctx.configForms.describe());
|
|
6945
7079
|
ctx.effect(() => ctx.configForms.whileServed([OPENAI_CODEX_SETTINGS_NAMESPACE], () => {
|
|
6946
|
-
const configScope = ctx.configForms.get(OPENAI_CODEX_SETTINGS_NAMESPACE);
|
|
6947
7080
|
return ctx.slots.register({
|
|
6948
7081
|
name: "settings.plugins.tab",
|
|
6949
7082
|
id: "codex-connect",
|
|
@@ -6965,7 +7098,7 @@ window.__ModuleLoader__.load({
|
|
|
6965
7098
|
inject: () => ({
|
|
6966
7099
|
t,
|
|
6967
7100
|
account,
|
|
6968
|
-
configScope
|
|
7101
|
+
configScope
|
|
6969
7102
|
})
|
|
6970
7103
|
}, OpenAICodexModelsCard));
|
|
6971
7104
|
ctx.slots.inject("shell.overlay", () => ctx.slots.register({
|
package/lib/index.js
CHANGED
|
@@ -5294,7 +5294,7 @@ function registerOpenAICodexOriginalImageRoute(ctx, trustedOrigins, assets) {
|
|
|
5294
5294
|
}
|
|
5295
5295
|
//#endregion
|
|
5296
5296
|
//#region src/version.ts
|
|
5297
|
-
const CODEX_CONNECT_VERSION = "0.1.0-alpha.4.
|
|
5297
|
+
const CODEX_CONNECT_VERSION = "0.1.0-alpha.4.44";
|
|
5298
5298
|
//#endregion
|
|
5299
5299
|
//#region src/doctor.ts
|
|
5300
5300
|
/** Secret-free diagnostics and duplicate-provider guidance. */
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "dsh-codex-connect",
|
|
3
3
|
"displayName": "Codex Connect",
|
|
4
4
|
"description": "ChatGPT OAuth and Codex models for DeepSeek Harness.",
|
|
5
|
-
"version": "0.1.0-alpha.4.
|
|
5
|
+
"version": "0.1.0-alpha.4.44",
|
|
6
6
|
"author": "Frank Song",
|
|
7
7
|
"contributors": [
|
|
8
8
|
"Yan-Zero (original dsh-codex author)"
|