@tumnel/codex 0.1.4 → 0.1.5
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 +5 -2
- package/dist/cli.js +11 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,13 +10,13 @@ with the same experience as the OpenCode connector: sessions, streaming turns, t
|
|
|
10
10
|
The standard setup command prepares the host identity and starts the connector:
|
|
11
11
|
|
|
12
12
|
```sh
|
|
13
|
-
npx @tumnel/codex@0.1.
|
|
13
|
+
npx @tumnel/codex@0.1.5 install
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
`connect` remains available as an explicit alias:
|
|
17
17
|
|
|
18
18
|
```sh
|
|
19
|
-
npx @tumnel/codex@0.1.
|
|
19
|
+
npx @tumnel/codex@0.1.5 connect
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
The connector starts the Codex agent bridge and keeps it connected to the Tumnel relay until
|
|
@@ -26,6 +26,9 @@ interrupted:
|
|
|
26
26
|
npx @tumnel/codex --model gpt-5-mini --sandbox workspace-write --approval-policy on-request
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
If `--model` (or `CODEX_MODEL`) is omitted, the web model picker still exposes a
|
|
30
|
+
`Codex default` option and the SDK resolves the model from the local Codex configuration.
|
|
31
|
+
|
|
29
32
|
It binds a pairing-only endpoint to `127.0.0.1:43817` (use `--port` to override). It accepts
|
|
30
33
|
approved OpenBridge origins, returns short-lived signed proofs, and never exposes Codex API keys
|
|
31
34
|
or model credentials over localhost.
|
package/dist/cli.js
CHANGED
|
@@ -660,6 +660,11 @@ var questionRejectSchema = z2.object({
|
|
|
660
660
|
requestId: z2.string().min(1).max(256),
|
|
661
661
|
directory: directorySchema
|
|
662
662
|
}).strict();
|
|
663
|
+
var CODEX_DEFAULT_MODEL_ID = "__codex_default__";
|
|
664
|
+
var CODEX_DEFAULT_MODEL_NAME = "Codex default";
|
|
665
|
+
function normalizeModelId(model) {
|
|
666
|
+
return model === CODEX_DEFAULT_MODEL_ID ? void 0 : model;
|
|
667
|
+
}
|
|
663
668
|
var EventBus = class {
|
|
664
669
|
queue = [];
|
|
665
670
|
wake = null;
|
|
@@ -1093,7 +1098,7 @@ function createCodexAdapter(options) {
|
|
|
1093
1098
|
}
|
|
1094
1099
|
case "session.prompt": {
|
|
1095
1100
|
const params = sessionPromptSchema.parse(rawParams);
|
|
1096
|
-
const selectedModel = params.model ? params.model.providerID === "codex" ? params.model.modelID : (() => {
|
|
1101
|
+
const selectedModel = params.model ? params.model.providerID === "codex" ? normalizeModelId(params.model.modelID) : (() => {
|
|
1097
1102
|
throw new Error(`Codex does not support provider ${params.model?.providerID}`);
|
|
1098
1103
|
})() : void 0;
|
|
1099
1104
|
let record = sessions.get(params.sessionId);
|
|
@@ -1128,17 +1133,18 @@ function createCodexAdapter(options) {
|
|
|
1128
1133
|
}
|
|
1129
1134
|
case "provider.list": {
|
|
1130
1135
|
providerListSchema.parse(rawParams);
|
|
1131
|
-
|
|
1136
|
+
const modelID = config.model ?? CODEX_DEFAULT_MODEL_ID;
|
|
1137
|
+
const modelName = config.model ?? CODEX_DEFAULT_MODEL_NAME;
|
|
1132
1138
|
return toSafeJson({
|
|
1133
|
-
default: { codex:
|
|
1139
|
+
default: { codex: modelID },
|
|
1134
1140
|
providers: [
|
|
1135
1141
|
{
|
|
1136
1142
|
id: "codex",
|
|
1137
1143
|
name: "Codex",
|
|
1138
1144
|
models: [
|
|
1139
1145
|
{
|
|
1140
|
-
id:
|
|
1141
|
-
name:
|
|
1146
|
+
id: modelID,
|
|
1147
|
+
name: modelName,
|
|
1142
1148
|
attachment: false,
|
|
1143
1149
|
reasoning: true,
|
|
1144
1150
|
toolCall: true,
|