tellrun 1.3.7 → 1.3.8

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/dist/updates.js CHANGED
@@ -13,8 +13,6 @@ const releaseVersion = z
13
13
  .string()
14
14
  .max(128)
15
15
  .regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/);
16
- /** 成功缓存一小时,失败一分钟后允许重试,均只保存在内存中。 */
17
- const cacheDurationMs = { success: 60 * 60_000, failure: 60_000 };
18
16
  /** 总时限包含 DNS、连接与响应体读取,避免慢网络拖住状态查询。 */
19
17
  const requestTimeoutMs = 3_000;
20
18
  /** 标签响应很小,限制响应体大小,避免异常服务返回无限内容。 */
@@ -66,23 +64,17 @@ async function readLatestRelease(proxyUrl, signal) {
66
64
  agent.destroy();
67
65
  }
68
66
  }
69
- /** 状态查询共享缓存与在途请求;使用服务退出信号取消网络检查,不阻止正常使用。 */
67
+ /** 每次状态查询直接检查 npm,使用服务退出信号取消网络请求。 */
70
68
  export function createUpdateChecker(proxyUrl) {
71
- let cached;
72
- let nextCheckAt = 0;
73
- let pending;
74
69
  return {
75
70
  version: tellrunVersion,
76
- /** 把当前实例和有效缓存交给 Agent 核对;只生成任务说明,不在消息服务中执行升级。 */
71
+ /** 把当前实例信息交给 Agent 核对;只生成任务说明,不在消息服务中执行升级。 */
77
72
  upgradePrompt() {
78
73
  return [
79
74
  "请检查并升级当前运行的 Tellrun,目标是 npm latest 指向的最新正式版本。",
80
75
  `当前运行版本:${tellrunVersion}`,
81
76
  `Tellrun 安装目录:${JSON.stringify(fileURLToPath(new URL("../", import.meta.url)))}`,
82
77
  `运行 Tellrun 的 Node.js:${JSON.stringify(process.execPath)}`,
83
- ...(cached && Date.now() < nextCheckAt
84
- ? [`最近检查到的 npm latest 版本:${cached.latest};执行前重新核对。`]
85
- : []),
86
78
  "先确认实际安装位置、服务启动方式、最新正式版本及 Node.js 兼容性;没有更新的正式版时只报告检查结果,不降级。",
87
79
  "npm 全局安装的升级流程是 tellrun stop、npm install -g tellrun@<核对后的版本>、tellrun restart;使用当前实例对应的 Node.js/npm 和安装前缀。其他安装方式按实际部署处理,保留未提交改动。",
88
80
  "请实际完成升级,沿用当前权限与审批流程。仅升级 Tellrun,保留用户配置、会话和任务状态,不改动无关项目或升级 Codex、Node.js。",
@@ -92,34 +84,18 @@ export function createUpdateChecker(proxyUrl) {
92
84
  ].join("\n");
93
85
  },
94
86
  /** 成功返回版本信息;失败或取消返回空值,不能把检查失败显示为已是最新版。 */
95
- check(signal) {
87
+ async check(signal) {
96
88
  if (signal.aborted)
97
- return Promise.resolve(undefined);
98
- if (pending)
99
- return pending;
100
- if (Date.now() < nextCheckAt)
101
- return Promise.resolve(cached);
102
- pending = (async () => {
103
- try {
104
- const latest = await readLatestRelease(proxyUrl, AbortSignal.any([signal, AbortSignal.timeout(requestTimeoutMs)]));
105
- if (signal.aborted)
106
- return undefined;
107
- cached = { latest, available: isNewerRelease(latest) };
108
- nextCheckAt = Date.now() + cacheDurationMs.success;
109
- return cached;
110
- }
111
- catch {
112
- if (!signal.aborted) {
113
- cached = undefined;
114
- nextCheckAt = Date.now() + cacheDurationMs.failure;
115
- }
89
+ return undefined;
90
+ try {
91
+ const latest = await readLatestRelease(proxyUrl, AbortSignal.any([signal, AbortSignal.timeout(requestTimeoutMs)]));
92
+ if (signal.aborted)
116
93
  return undefined;
117
- }
118
- finally {
119
- pending = undefined;
120
- }
121
- })();
122
- return pending;
94
+ return { latest, available: isNewerRelease(latest) };
95
+ }
96
+ catch {
97
+ return undefined;
98
+ }
123
99
  },
124
100
  };
125
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"updates.js","sourceRoot":"","sources":["../src/updates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updates.js","sourceRoot":"","sources":["../src/updates.ts"],"names":[],"mappings":"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"}
@@ -300,9 +300,9 @@ auto-retry 仅用于 Telegram API。普通请求总时限为 15 秒,长轮询
300
300
 
301
301
  配置、运行状态、锁和服务定义统一保存在当前用户主目录下的 `.tellrun/`;源码开发与全局安装共用同一布局。源码 npm scripts 仍可读取 `.env` 覆盖 Telegram 凭据和 Codex 路径;后台启动要求向导已保存完整配置,不依赖 CLI 的临时环境。
302
302
 
303
- `/status` 的版本检查由独立的 `updates.ts` 模块提供,与模型查询并行运行,不占用入站控制路径。运行版本在进程启动时从本包 package.json 读取;通过 HTTPS 查询 npm 的 tellrun dist-tags,仅接受 latest 指向的正式版本,按主、次、补丁版本的整数大小比较,同号正式版高于本地预发布版,不提示降级。检查沿用 Telegram 的代理选择,总时限 3 秒,响应体上限 16 KiB;成功缓存 1 小时、失败缓存 1 分钟,并发请求合并,服务退出取消请求。缓存只保存在内存中,不增加配置或状态文件。检查失败明确展示不可用,有新版本时提示通过 `/update` 交给 Codex 升级;不定时推送。
303
+ `/status` 的版本检查由独立的 `updates.ts` 模块提供,与模型查询并行运行,不占用入站控制路径。运行版本在进程启动时从本包 package.json 读取;每次查询都通过 HTTPS 请求 npm 的 tellrun dist-tags,仅接受 latest 指向的正式版本,按主、次、补丁版本的整数大小比较,同号正式版高于本地预发布版,不提示降级。检查沿用 Telegram 的代理选择,总时限 3 秒,响应体上限 16 KiB,服务退出取消请求。成功和失败结果均不缓存。检查失败明确展示不可用,有新版本时提示通过 `/update` 交给 Codex 升级;不定时推送。
304
304
 
305
- `/update` 不接受参数,空闲且未暂停时通过现有 createTask 保存普通任务,沿用会话、目录、模型和权限快照。任务说明包含进程启动版本、实际包目录、Node.js 路径和仍有效的版本检查结果,并要求 Agent 重新核对目标版本及安装方式、保留配置状态、升级后验证服务。说明要求停服前安排完整的安装、重启、失败恢复步骤及必要审批,避免机器人离线后无法交互;Codex 独立后台继续执行,Tellrun 重启后按已保存轮次接回。消息服务只生成任务说明,不调用安装命令,不更改权限模式,不把升级追加到活动任务。入站去重、持久化、审批、停止和结果回复沿用普通任务流程;没有缓存或检查失败均不妨碍提交任务。
305
+ `/update` 不接受参数,空闲且未暂停时通过现有 createTask 保存普通任务,沿用会话、目录、模型和权限快照。任务说明包含进程启动版本、实际包目录和 Node.js 路径,并要求 Agent 执行时查询 npm 最新正式版本、核对安装方式、保留配置状态、升级后验证服务。说明要求停服前安排完整的安装、重启、失败恢复步骤及必要审批,避免机器人离线后无法交互;Codex 独立后台继续执行,Tellrun 重启后按已保存轮次接回。消息服务只生成任务说明,不调用安装命令,不更改权限模式,不把升级追加到活动任务。入站去重、持久化、审批、停止和结果回复沿用普通任务流程;无需先执行 `/status`,版本检查失败也不妨碍提交任务。
306
306
 
307
307
  | 配置项 | 保存位置与约束 |
308
308
  | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tellrun",
3
- "version": "1.3.7",
3
+ "version": "1.3.8",
4
4
  "description": "Self-hosted Telegram bot for remote AI coding with OpenAI Codex CLI, persistent sessions, and streaming replies.",
5
5
  "keywords": [
6
6
  "codex",