tellrun 1.1.1 → 1.1.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 +34 -35
- package/README.zh-CN.md +34 -35
- package/dist/agents/codex.js +46 -41
- package/dist/agents/codex.js.map +1 -1
- package/dist/cli.js +39 -39
- package/dist/cli.js.map +1 -1
- package/dist/config.js +3 -3
- package/dist/config.js.map +1 -1
- package/dist/core/relay.js +36 -36
- package/dist/core/relay.js.map +1 -1
- package/dist/im/telegram.js +10 -10
- package/dist/im/telegram.js.map +1 -1
- package/dist/logger.js +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/main.js +12 -12
- package/dist/main.js.map +1 -1
- package/dist/storage/schema.js +1 -1
- package/dist/storage/schema.js.map +1 -1
- package/dist/storage/store.js +23 -23
- package/dist/storage/store.js.map +1 -1
- package/dist/systemd.js +17 -17
- package/dist/systemd.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -20,7 +20,6 @@ Run Tellrun on your server and use Telegram on your phone or desktop to send cod
|
|
|
20
20
|
|
|
21
21
|
Currently supports **Telegram + Codex** for one user, with one task at a time. A session picker, a queue of separate tasks, approval and structured question interfaces, and image or file input are not yet supported.
|
|
22
22
|
|
|
23
|
-
The CLI setup wizard and bot status messages are currently in Chinese.
|
|
24
23
|
|
|
25
24
|
## Install and connect Codex to Telegram
|
|
26
25
|
|
|
@@ -74,16 +73,16 @@ Without `/cwd`, the working directory defaults to the directory where the servic
|
|
|
74
73
|
|
|
75
74
|
## Telegram commands
|
|
76
75
|
|
|
77
|
-
| Command
|
|
78
|
-
|
|
|
79
|
-
| `/start`, `/help`
|
|
80
|
-
| `/cwd`
|
|
81
|
-
| `/cwd /absolute/path` | Change the working directory and start a new conversation
|
|
82
|
-
| `/new`
|
|
83
|
-
| `/status`
|
|
84
|
-
| `/last`
|
|
85
|
-
| `/stop`
|
|
86
|
-
| `/resume`
|
|
76
|
+
| Command | Purpose |
|
|
77
|
+
| --------------------- | ------------------------------------------------------------ |
|
|
78
|
+
| `/start`, `/help` | Show usage instructions |
|
|
79
|
+
| `/cwd` | Show the current working directory |
|
|
80
|
+
| `/cwd /absolute/path` | Change the working directory and start a new conversation |
|
|
81
|
+
| `/new` | Start a new conversation while keeping the working directory |
|
|
82
|
+
| `/status` | Show connection, conversation, directory, and task status |
|
|
83
|
+
| `/last` | Show the latest task's status and result |
|
|
84
|
+
| `/stop` | Request that the current task stop and pause new tasks |
|
|
85
|
+
| `/resume` | Accept new tasks again without rerunning an interrupted task |
|
|
87
86
|
|
|
88
87
|
Wait for the current task to finish before changing directories or starting a new conversation. After `/stop`, check the final status, then send `/resume` followed by your next task.
|
|
89
88
|
|
|
@@ -91,15 +90,15 @@ Wait for the current task to finish before changing directories or starting a ne
|
|
|
91
90
|
|
|
92
91
|
These commands manage a Linux systemd user service:
|
|
93
92
|
|
|
94
|
-
| Command
|
|
95
|
-
|
|
|
96
|
-
| `tellrun start`
|
|
97
|
-
| `tellrun start --enable`
|
|
98
|
-
| `tellrun status`
|
|
99
|
-
| `tellrun logs`
|
|
100
|
-
| `tellrun logs -f`
|
|
101
|
-
| `tellrun restart`
|
|
102
|
-
| `tellrun stop`
|
|
93
|
+
| Command | Purpose |
|
|
94
|
+
| --------------------------- | ------------------------------------------------------------ |
|
|
95
|
+
| `tellrun start` | Start the background service |
|
|
96
|
+
| `tellrun start --enable` | Start the service and enable it at boot |
|
|
97
|
+
| `tellrun status` | Show service status and data paths |
|
|
98
|
+
| `tellrun logs` | Show the latest 100 log entries |
|
|
99
|
+
| `tellrun logs -f` | Follow logs |
|
|
100
|
+
| `tellrun restart` | Restart with the current configuration or installed version |
|
|
101
|
+
| `tellrun stop` | Stop the background service |
|
|
103
102
|
| `tellrun service uninstall` | Stop and remove the service, keeping configuration and state |
|
|
104
103
|
|
|
105
104
|
On startup, Tellrun checks and enables user lingering so the service can continue after you disconnect from SSH. If permissions are insufficient, the CLI prints the command to run on your server. Use `tellrun --help` for full CLI help.
|
|
@@ -120,11 +119,11 @@ Configuration and state live in `~/.tellrun/` and are preserved when upgrading t
|
|
|
120
119
|
|
|
121
120
|
Run `tellrun setup` to create or update your configuration. Leave the Bot Token blank to keep the existing value.
|
|
122
121
|
|
|
123
|
-
| Path
|
|
124
|
-
|
|
|
125
|
-
| `~/.tellrun/config.json`
|
|
126
|
-
| `~/.tellrun/state.json`
|
|
127
|
-
| `~/.tellrun/tellrun.service` | Linux background service definition
|
|
122
|
+
| Path | Contents |
|
|
123
|
+
| ---------------------------- | ------------------------------------------------------------------------------------- |
|
|
124
|
+
| `~/.tellrun/config.json` | Bot Token, authorized user ID, Codex path, and optional proxy |
|
|
125
|
+
| `~/.tellrun/state.json` | Current conversation, working directory, task inputs and results, and pending replies |
|
|
126
|
+
| `~/.tellrun/tellrun.service` | Linux background service definition |
|
|
128
127
|
|
|
129
128
|
Codex uses the same operating system user's authentication and model configuration, and manages its own full conversation history. Tellrun does not maintain a project directory allowlist. Access depends on operating system permissions and the Codex sandbox; Tellrun defaults to workspace write access and approvals on request.
|
|
130
129
|
|
|
@@ -132,11 +131,11 @@ Codex uses the same operating system user's authentication and model configurati
|
|
|
132
131
|
|
|
133
132
|
When running in the foreground or managing the process yourself, you can override configuration with environment variables:
|
|
134
133
|
|
|
135
|
-
| Variable
|
|
136
|
-
|
|
|
137
|
-
| `TELEGRAM_BOT_TOKEN` | Bot token
|
|
138
|
-
| `TELEGRAM_OWNER_ID`
|
|
139
|
-
| `CODEX_PATH`
|
|
134
|
+
| Variable | Purpose |
|
|
135
|
+
| -------------------- | ----------------------------------------------------------------------------- |
|
|
136
|
+
| `TELEGRAM_BOT_TOKEN` | Bot token |
|
|
137
|
+
| `TELEGRAM_OWNER_ID` | Numeric ID of the user allowed to interact with the bot |
|
|
138
|
+
| `CODEX_PATH` | Codex command name or executable path |
|
|
140
139
|
| `TELEGRAM_PROXY_URL` | HTTP/HTTPS proxy for Telegram; overrides the configuration file when nonempty |
|
|
141
140
|
|
|
142
141
|
The built-in background service does not automatically load your current terminal's environment variables or a project's `.env` file. Save the required configuration with `tellrun setup`.
|
|
@@ -188,12 +187,12 @@ npm run dev
|
|
|
188
187
|
|
|
189
188
|
Choose to save configuration without starting a background service in the setup wizard, then start the development process. Development and global installations share `~/.tellrun/`, so stop any existing instance first. You can also create a `.env` file using the repository's [.env.example](https://github.com/chaoyue1998/tellrun/blob/main/.env.example) for development configuration.
|
|
190
189
|
|
|
191
|
-
| Command
|
|
192
|
-
|
|
|
193
|
-
| `npm run dev`
|
|
190
|
+
| Command | Purpose |
|
|
191
|
+
| --------------- | ------------------------------------------------ |
|
|
192
|
+
| `npm run dev` | Watch source files and restart automatically |
|
|
194
193
|
| `npm run check` | Run formatting, static analysis, and type checks |
|
|
195
|
-
| `npm run build` | Compile to `dist/`
|
|
196
|
-
| `npm start`
|
|
194
|
+
| `npm run build` | Compile to `dist/` |
|
|
195
|
+
| `npm start` | Run the compiled application |
|
|
197
196
|
|
|
198
197
|
When asking Codex to modify Tellrun itself, run `npm run build` followed by `npm start` so source changes do not trigger a restart during the task.
|
|
199
198
|
|
package/README.zh-CN.md
CHANGED
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
|
|
21
21
|
当前支持 **Telegram + Codex**,面向单用户,每次处理一个任务。多会话列表、独立任务排队、审批与结构化提问交互、图片和文件输入暂未支持。
|
|
22
22
|
|
|
23
|
-
CLI 配置向导和机器人状态提示目前使用中文。
|
|
24
23
|
|
|
25
24
|
## 安装并通过 Telegram 使用 Codex
|
|
26
25
|
|
|
@@ -74,16 +73,16 @@ tellrun run
|
|
|
74
73
|
|
|
75
74
|
## Telegram 命令
|
|
76
75
|
|
|
77
|
-
| 命令
|
|
78
|
-
|
|
|
79
|
-
| `/start`、`/help`
|
|
80
|
-
| `/cwd`
|
|
81
|
-
| `/cwd /absolute/path` | 切换工作目录并开始新会话
|
|
82
|
-
| `/new`
|
|
83
|
-
| `/status`
|
|
84
|
-
| `/last`
|
|
85
|
-
| `/stop`
|
|
86
|
-
| `/resume`
|
|
76
|
+
| 命令 | 作用 |
|
|
77
|
+
| --------------------- | ------------------------------------------ |
|
|
78
|
+
| `/start`、`/help` | 查看使用说明 |
|
|
79
|
+
| `/cwd` | 查看当前工作目录 |
|
|
80
|
+
| `/cwd /absolute/path` | 切换工作目录并开始新会话 |
|
|
81
|
+
| `/new` | 开始新会话,保留工作目录 |
|
|
82
|
+
| `/status` | 查看连接、会话、目录和任务状态 |
|
|
83
|
+
| `/last` | 查看最近任务的状态与结果 |
|
|
84
|
+
| `/stop` | 请求停止当前任务,并暂停接收新任务 |
|
|
85
|
+
| `/resume` | 恢复接收新任务,不会重新执行此前中断的任务 |
|
|
87
86
|
|
|
88
87
|
切换目录或新建会话前,需要等待当前任务结束。使用 `/stop` 后,先检查最终状态,再发送 `/resume` 和新的任务内容。
|
|
89
88
|
|
|
@@ -91,15 +90,15 @@ tellrun run
|
|
|
91
90
|
|
|
92
91
|
以下命令用于 Linux systemd 用户服务:
|
|
93
92
|
|
|
94
|
-
| 命令
|
|
95
|
-
|
|
|
96
|
-
| `tellrun start`
|
|
97
|
-
| `tellrun start --enable`
|
|
98
|
-
| `tellrun status`
|
|
99
|
-
| `tellrun logs`
|
|
100
|
-
| `tellrun logs -f`
|
|
101
|
-
| `tellrun restart`
|
|
102
|
-
| `tellrun stop`
|
|
93
|
+
| 命令 | 作用 |
|
|
94
|
+
| --------------------------- | ------------------------------ |
|
|
95
|
+
| `tellrun start` | 启动后台服务 |
|
|
96
|
+
| `tellrun start --enable` | 启动服务并启用开机自启 |
|
|
97
|
+
| `tellrun status` | 查看服务状态与数据路径 |
|
|
98
|
+
| `tellrun logs` | 查看最近 100 条日志 |
|
|
99
|
+
| `tellrun logs -f` | 持续跟随日志 |
|
|
100
|
+
| `tellrun restart` | 重启服务,加载新配置或新版本 |
|
|
101
|
+
| `tellrun stop` | 停止后台服务 |
|
|
103
102
|
| `tellrun service uninstall` | 停止并移除服务,保留配置和状态 |
|
|
104
103
|
|
|
105
104
|
启动时会检查并启用用户 linger,使服务在退出 SSH 后继续运行。若权限不足,CLI 会显示需要在服务器执行的命令。完整命令帮助见 `tellrun --help`。
|
|
@@ -120,11 +119,11 @@ tellrun restart
|
|
|
120
119
|
|
|
121
120
|
运行 `tellrun setup` 创建或更新配置,已有 Bot Token 可留空保留原值。
|
|
122
121
|
|
|
123
|
-
| 路径
|
|
124
|
-
|
|
|
125
|
-
| `~/.tellrun/config.json`
|
|
126
|
-
| `~/.tellrun/state.json`
|
|
127
|
-
| `~/.tellrun/tellrun.service` | Linux 后台服务定义
|
|
122
|
+
| 路径 | 内容 |
|
|
123
|
+
| ---------------------------- | ---------------------------------------------- |
|
|
124
|
+
| `~/.tellrun/config.json` | Bot Token、授权用户 ID、Codex 路径和可选代理 |
|
|
125
|
+
| `~/.tellrun/state.json` | 当前会话、工作目录、任务输入与结果、待发送回复 |
|
|
126
|
+
| `~/.tellrun/tellrun.service` | Linux 后台服务定义 |
|
|
128
127
|
|
|
129
128
|
Codex 使用同一系统用户的登录和模型配置,完整会话历史由 Codex 管理。Tellrun 不设置项目目录白名单;可访问范围由运行用户权限和 Codex 沙箱共同决定,默认采用工作区写入与按需审批策略。
|
|
130
129
|
|
|
@@ -132,11 +131,11 @@ Codex 使用同一系统用户的登录和模型配置,完整会话历史由 C
|
|
|
132
131
|
|
|
133
132
|
前台运行或自行托管进程时,可以使用环境变量覆盖配置:
|
|
134
133
|
|
|
135
|
-
| 变量
|
|
136
|
-
|
|
|
137
|
-
| `TELEGRAM_BOT_TOKEN` | 机器人 Token
|
|
138
|
-
| `TELEGRAM_OWNER_ID`
|
|
139
|
-
| `CODEX_PATH`
|
|
134
|
+
| 变量 | 用途 |
|
|
135
|
+
| -------------------- | ----------------------------------------------- |
|
|
136
|
+
| `TELEGRAM_BOT_TOKEN` | 机器人 Token |
|
|
137
|
+
| `TELEGRAM_OWNER_ID` | 允许操作机器人的数字用户 ID |
|
|
138
|
+
| `CODEX_PATH` | Codex 命令名或可执行文件路径 |
|
|
140
139
|
| `TELEGRAM_PROXY_URL` | Telegram 的 HTTP/HTTPS 代理,非空时覆盖配置文件 |
|
|
141
140
|
|
|
142
141
|
内置后台服务不会自动读取当前终端的环境变量或项目 `.env`,请使用 `tellrun setup` 保存必要配置。
|
|
@@ -188,12 +187,12 @@ npm run dev
|
|
|
188
187
|
|
|
189
188
|
在配置向导中选择仅保存配置,再启动开发进程。开发环境与全局安装共用 `~/.tellrun/`,请先停止已有实例。也可参考仓库中的 [.env.example](https://github.com/chaoyue1998/tellrun/blob/main/.env.example),创建 `.env` 提供开发配置。
|
|
190
189
|
|
|
191
|
-
| 命令
|
|
192
|
-
|
|
|
193
|
-
| `npm run dev`
|
|
190
|
+
| 命令 | 用途 |
|
|
191
|
+
| --------------- | ------------------------ |
|
|
192
|
+
| `npm run dev` | 监听源码并自动重启 |
|
|
194
193
|
| `npm run check` | 格式、静态检查与类型检查 |
|
|
195
|
-
| `npm run build` | 编译到 `dist/`
|
|
196
|
-
| `npm start`
|
|
194
|
+
| `npm run build` | 编译到 `dist/` |
|
|
195
|
+
| `npm start` | 运行编译产物 |
|
|
197
196
|
|
|
198
197
|
如果让 Codex 修改 Tellrun 自身,使用 `npm run build` 后执行 `npm start`,避免源码监听重启打断任务。
|
|
199
198
|
|
package/dist/agents/codex.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { execFile, spawn } from "node:child_process";
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
2
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
3
3
|
import { connect } from "node:net";
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
5
|
import { delimiter, dirname, join } from "node:path";
|
|
@@ -24,7 +24,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
24
24
|
env,
|
|
25
25
|
});
|
|
26
26
|
if (!/^codex-cli \S+$/.test(stdout.trim()))
|
|
27
|
-
throw new Error("Codex CLI
|
|
27
|
+
throw new Error("Unrecognized Codex CLI version.");
|
|
28
28
|
let active;
|
|
29
29
|
/** 只绑定当前任务的连接,不能把迟到输入送入下一轮或其他客户端的轮次。 */
|
|
30
30
|
let steer;
|
|
@@ -33,7 +33,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
33
33
|
version: stdout.trim().replace(/^codex-cli /, ""),
|
|
34
34
|
async run(input) {
|
|
35
35
|
if (active)
|
|
36
|
-
throw new Error("Codex
|
|
36
|
+
throw new Error("Codex is already running a task.");
|
|
37
37
|
const controller = new AbortController();
|
|
38
38
|
active = controller;
|
|
39
39
|
/** 后台服务会保留空闲会话的写锁,复用其连接才能立即恢复同一会话。 */
|
|
@@ -80,7 +80,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
80
80
|
/** 增量与完整消息共用输出上限;只推送回复文本,不推送思考或工具原始输出。 */
|
|
81
81
|
function publishText(text) {
|
|
82
82
|
if ([...messages.values()].reduce((sum, item) => sum + item.text.length, 0) > 256_000) {
|
|
83
|
-
fail("Codex
|
|
83
|
+
fail("Codex output limit exceeded. Task interrupted; check the local session.");
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
86
|
input.onText(text);
|
|
@@ -103,7 +103,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
103
103
|
if (!(error instanceof Error && "code" in error && error.code === "ESRCH")) {
|
|
104
104
|
finish({
|
|
105
105
|
status: "interrupted",
|
|
106
|
-
text: "
|
|
106
|
+
text: "Codex stop unconfirmed. Check local processes.",
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
}
|
|
@@ -125,27 +125,27 @@ export async function createCodexAgent(command = "codex") {
|
|
|
125
125
|
if (socket)
|
|
126
126
|
socket.send(JSON.stringify(message), (error) => {
|
|
127
127
|
if (error)
|
|
128
|
-
fail("
|
|
128
|
+
fail("Codex connection write failed. Task status unknown.");
|
|
129
129
|
});
|
|
130
130
|
else
|
|
131
131
|
child?.stdin.write(`${JSON.stringify(message)}\n`, (error) => {
|
|
132
132
|
if (error)
|
|
133
|
-
fail("
|
|
133
|
+
fail("Codex connection write failed. Task status unknown.");
|
|
134
134
|
});
|
|
135
135
|
}
|
|
136
136
|
catch {
|
|
137
|
-
fail("
|
|
137
|
+
fail("Codex connection write failed. Task status unknown.");
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
/** 超时仍终止任务;区分服务端拒绝与连接故障,保留补充输入的不确定状态。 */
|
|
141
141
|
async function request(method, params) {
|
|
142
142
|
if (controller.signal.aborted && method !== "turn/interrupt")
|
|
143
|
-
throw new Error("
|
|
143
|
+
throw new Error("Task stopped.");
|
|
144
144
|
try {
|
|
145
145
|
return await client
|
|
146
146
|
.timeout(30_000, (id) => {
|
|
147
|
-
fail(`Codex ${method}
|
|
148
|
-
return createJSONRPCErrorResponse(id, 0, "Codex
|
|
147
|
+
fail(`Codex ${method} timed out. Not retried.`);
|
|
148
|
+
return createJSONRPCErrorResponse(id, 0, "Codex request timed out.");
|
|
149
149
|
})
|
|
150
150
|
.request(method, params);
|
|
151
151
|
}
|
|
@@ -155,12 +155,12 @@ export async function createCodexAgent(command = "codex") {
|
|
|
155
155
|
throw new Error(method === "thread/resume" &&
|
|
156
156
|
error.code === -32600 &&
|
|
157
157
|
error.message.includes("already has an active writer")
|
|
158
|
-
? "Codex
|
|
158
|
+
? "Codex session locked by another process. Task not started; check local Codex connections."
|
|
159
159
|
: method === "turn/steer"
|
|
160
|
-
? `Codex
|
|
161
|
-
: `Codex ${method}
|
|
160
|
+
? `Codex rejected input (${error.code}). The turn may have ended; resend to continue.`
|
|
161
|
+
: `Codex ${method} rejected (${error.code}). Check config and sign-in.`);
|
|
162
162
|
if (method === "turn/steer")
|
|
163
|
-
throw new Error("Codex
|
|
163
|
+
throw new Error("Codex input delivery unconfirmed. Not retried; check the session before resending.");
|
|
164
164
|
throw error;
|
|
165
165
|
}
|
|
166
166
|
}
|
|
@@ -177,7 +177,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
177
177
|
controller.signal.addEventListener("abort", () => {
|
|
178
178
|
if (settled)
|
|
179
179
|
return;
|
|
180
|
-
stopTimer = setTimeout(() => fail("
|
|
180
|
+
stopTimer = setTimeout(() => fail("Stop unconfirmed; Codex disconnected. Check the project before /resume."), 5_000);
|
|
181
181
|
if (sessionId && runId) {
|
|
182
182
|
void request("turn/interrupt", { threadId: sessionId, turnId: runId }).catch(() => terminate("SIGTERM"));
|
|
183
183
|
}
|
|
@@ -188,11 +188,11 @@ export async function createCodexAgent(command = "codex") {
|
|
|
188
188
|
function onClose(code) {
|
|
189
189
|
closed.resolve();
|
|
190
190
|
if (controller.signal.aborted && !dispatched)
|
|
191
|
-
finish({ status: "cancelled", text: "
|
|
191
|
+
finish({ status: "cancelled", text: "Stopped before starting." });
|
|
192
192
|
if (!settled)
|
|
193
|
-
fail(`Codex
|
|
193
|
+
fail(`Codex disconnected (${code ?? "signal"}). Check sign-in and local setup.`);
|
|
194
194
|
else
|
|
195
|
-
client.rejectAllPendingRequests("Codex
|
|
195
|
+
client.rejectAllPendingRequests("Codex connection closed.");
|
|
196
196
|
}
|
|
197
197
|
/** 两种传输与提前到达的通知共用协议处理,始终只消费当前任务的事件。 */
|
|
198
198
|
function onData(chunk) {
|
|
@@ -200,7 +200,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
200
200
|
return;
|
|
201
201
|
buffer += chunk;
|
|
202
202
|
if (buffer.length > 8_000_000)
|
|
203
|
-
return fail("Codex
|
|
203
|
+
return fail("Codex buffer limit exceeded. Task interrupted.");
|
|
204
204
|
const lines = buffer.split("\n");
|
|
205
205
|
buffer = lines.pop() ?? "";
|
|
206
206
|
for (const line of lines) {
|
|
@@ -220,7 +220,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
220
220
|
if (dispatched) {
|
|
221
221
|
earlyMessages += `${line}\n`;
|
|
222
222
|
if (earlyMessages.length > 8_000_000)
|
|
223
|
-
return fail("Codex
|
|
223
|
+
return fail("Codex event limit exceeded. Task interrupted.");
|
|
224
224
|
}
|
|
225
225
|
continue;
|
|
226
226
|
}
|
|
@@ -241,7 +241,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
241
241
|
message: "This client does not support interactive requests yet",
|
|
242
242
|
},
|
|
243
243
|
});
|
|
244
|
-
fail("
|
|
244
|
+
fail("Task interrupted: approvals and structured questions are unsupported. Handle locally, then /resume.");
|
|
245
245
|
}
|
|
246
246
|
else if (typeof message.id === "number") {
|
|
247
247
|
/** 补齐库需要的协议字段;错误来源标记仅用于本地处理,不信任服务端 data。 */
|
|
@@ -305,45 +305,50 @@ export async function createCodexAgent(command = "codex") {
|
|
|
305
305
|
.map((item) => item.text)
|
|
306
306
|
.join("\n\n") ||
|
|
307
307
|
(event.turn.status === "completed"
|
|
308
|
-
? "Codex
|
|
308
|
+
? "Codex finished with no text output."
|
|
309
309
|
: event.turn.status === "failed"
|
|
310
|
-
? "Codex
|
|
311
|
-
: "
|
|
310
|
+
? "Codex task failed. Check sign-in, model access, and network."
|
|
311
|
+
: "Task interrupted. File changes were not reverted."),
|
|
312
312
|
});
|
|
313
313
|
}
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
catch {
|
|
317
|
-
fail("Codex
|
|
317
|
+
fail("Codex response or state save failed. Task interrupted; check CLI version and storage.");
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
320
|
}
|
|
321
|
-
child?.on("error", () => fail("
|
|
322
|
-
child?.stdin.on("error", () => fail("Codex
|
|
321
|
+
child?.on("error", () => fail("Cannot start Codex app-server. Check CLI and working directory."));
|
|
322
|
+
child?.stdin.on("error", () => fail("Codex input closed. Task status unknown."));
|
|
323
323
|
child?.on("close", onClose);
|
|
324
324
|
child?.stdout.setEncoding("utf8");
|
|
325
325
|
child?.stdout.on("data", onData);
|
|
326
|
-
socket?.on("error", () => fail("Codex
|
|
326
|
+
socket?.on("error", () => fail("Codex connection failed. Task status unknown."));
|
|
327
327
|
socket?.on("close", () => onClose(null));
|
|
328
328
|
socket?.on("message", (data) => onData(`${data.toString()}\n`));
|
|
329
329
|
steer = async (prompt) => {
|
|
330
330
|
if (!sessionId || !runId || settled || controller.signal.aborted)
|
|
331
|
-
throw new Error("Codex
|
|
331
|
+
throw new Error("Codex turn is not running. Input not sent; try again later.");
|
|
332
332
|
const response = z.object({ turnId: z.string() }).parse(await request("turn/steer", {
|
|
333
333
|
threadId: sessionId,
|
|
334
334
|
expectedTurnId: runId,
|
|
335
335
|
input: [{ type: "text", text: prompt, text_elements: [] }],
|
|
336
336
|
}));
|
|
337
337
|
if (response.turnId !== runId) {
|
|
338
|
-
fail("Codex
|
|
339
|
-
throw new Error("Codex
|
|
338
|
+
fail("Codex input returned a different turn. Task status unknown.");
|
|
339
|
+
throw new Error("Codex input turn unconfirmed. Not retried; check the session.");
|
|
340
340
|
}
|
|
341
341
|
};
|
|
342
342
|
try {
|
|
343
343
|
if (controller.signal.aborted)
|
|
344
|
-
return { status: "cancelled", text: "
|
|
344
|
+
return { status: "cancelled", text: "Stopped before starting." };
|
|
345
345
|
await request("initialize", {
|
|
346
|
-
clientInfo: {
|
|
346
|
+
clientInfo: {
|
|
347
|
+
name: "tellrun",
|
|
348
|
+
title: "Tellrun",
|
|
349
|
+
/** 源码和编译产物都读取包版本,与 CLI 的版本显示保持一致。 */
|
|
350
|
+
version: JSON.parse(readFileSync(new URL("../../package.json", import.meta.url), "utf8")).version,
|
|
351
|
+
},
|
|
347
352
|
capabilities: null,
|
|
348
353
|
});
|
|
349
354
|
write({ method: "initialized" });
|
|
@@ -353,7 +358,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
353
358
|
.object({ thread: z.object({ status: z.object({ type: z.string() }) }) })
|
|
354
359
|
.parse(await request("thread/read", { threadId: input.sessionId }));
|
|
355
360
|
if (!["idle", "notLoaded"].includes(current.thread.status.type))
|
|
356
|
-
throw new Error("Codex
|
|
361
|
+
throw new Error("Codex session busy or unavailable. Message not sent; wait until it is idle.");
|
|
357
362
|
}
|
|
358
363
|
const response = z
|
|
359
364
|
.object({
|
|
@@ -369,11 +374,11 @@ export async function createCodexAgent(command = "codex") {
|
|
|
369
374
|
sandbox: "workspace-write",
|
|
370
375
|
}));
|
|
371
376
|
if (socket && response.thread.status?.type !== "idle")
|
|
372
|
-
throw new Error("Codex
|
|
377
|
+
throw new Error("Codex session busy. Message not sent; wait until it is idle.");
|
|
373
378
|
sessionId = response.thread.id;
|
|
374
379
|
input.onSession(sessionId);
|
|
375
380
|
if (controller.signal.aborted)
|
|
376
|
-
return { status: "cancelled", text: "
|
|
381
|
+
return { status: "cancelled", text: "Stopped before starting." };
|
|
377
382
|
dispatched = true;
|
|
378
383
|
const started = await Promise.race([
|
|
379
384
|
request("turn/start", {
|
|
@@ -397,17 +402,17 @@ export async function createCodexAgent(command = "codex") {
|
|
|
397
402
|
status: dispatched ? "interrupted" : controller.signal.aborted ? "cancelled" : "failed",
|
|
398
403
|
text: error instanceof Error && error.message.startsWith("Codex ")
|
|
399
404
|
? error.message
|
|
400
|
-
: "Codex
|
|
405
|
+
: "Codex task failed. Check the local setup.",
|
|
401
406
|
});
|
|
402
407
|
return await completed.promise;
|
|
403
408
|
}
|
|
404
409
|
finally {
|
|
405
410
|
steer = undefined;
|
|
406
411
|
clearTimeout(stopTimer);
|
|
407
|
-
client.rejectAllPendingRequests("Codex
|
|
412
|
+
client.rejectAllPendingRequests("Codex connection closed.");
|
|
408
413
|
terminate("SIGTERM");
|
|
409
414
|
const force = setTimeout(() => terminate("SIGKILL"), 3_000);
|
|
410
|
-
const deadline = setTimeout(() => closed.reject(new Error("
|
|
415
|
+
const deadline = setTimeout(() => closed.reject(new Error("Codex exit unconfirmed. Service must stop.")), 8_000);
|
|
411
416
|
try {
|
|
412
417
|
await closed.promise;
|
|
413
418
|
terminate("SIGKILL");
|
|
@@ -422,7 +427,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
422
427
|
/** 复用当前连接提交补充消息,由 expectedTurnId 防止误入其他轮次。 */
|
|
423
428
|
steer(prompt) {
|
|
424
429
|
if (!steer)
|
|
425
|
-
return Promise.reject(new Error("Codex
|
|
430
|
+
return Promise.reject(new Error("Codex has no active turn. Input not sent; resend to continue."));
|
|
426
431
|
return steer(prompt);
|
|
427
432
|
},
|
|
428
433
|
/** 中断当前任务;run 会等待终态或子进程退出后才返回。 */
|
package/dist/agents/codex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"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"}
|