twinny 1.5.0 → 1.5.1

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.
Files changed (54) hide show
  1. package/README.en.md +22 -0
  2. package/README.md +22 -0
  3. package/dist/app/daemon.js +17 -0
  4. package/dist/app/daemon.js.map +1 -1
  5. package/dist/app/wiring.d.ts +15 -0
  6. package/dist/app/wiring.js +146 -2
  7. package/dist/app/wiring.js.map +1 -1
  8. package/dist/cli/update.d.ts +1 -0
  9. package/dist/cli/update.js +8 -3
  10. package/dist/cli/update.js.map +1 -1
  11. package/dist/codex/thread.js +2 -2
  12. package/dist/codex/thread.js.map +1 -1
  13. package/dist/codex/turn.d.ts +4 -0
  14. package/dist/codex/turn.js +41 -3
  15. package/dist/codex/turn.js.map +1 -1
  16. package/dist/config/loader.d.ts +5 -1
  17. package/dist/config/loader.js +106 -0
  18. package/dist/config/loader.js.map +1 -1
  19. package/dist/config/paths.js +1 -0
  20. package/dist/config/paths.js.map +1 -1
  21. package/dist/conversation/manager.d.ts +14 -2
  22. package/dist/conversation/manager.js +812 -113
  23. package/dist/conversation/manager.js.map +1 -1
  24. package/dist/lark/cards.d.ts +1 -0
  25. package/dist/lark/cards.js +14 -0
  26. package/dist/lark/cards.js.map +1 -1
  27. package/dist/lark/doc-comments.js +1 -1
  28. package/dist/lark/doc-comments.js.map +1 -1
  29. package/dist/lark/redactor.js +1 -1
  30. package/dist/lark/redactor.js.map +1 -1
  31. package/dist/markdown.d.ts +7 -0
  32. package/dist/markdown.js +38 -11
  33. package/dist/markdown.js.map +1 -1
  34. package/dist/observability/system-notifications.d.ts +7 -0
  35. package/dist/observability/system-notifications.js +44 -0
  36. package/dist/observability/system-notifications.js.map +1 -1
  37. package/dist/profiles/guest.js +1 -1
  38. package/dist/store/migrations.d.ts +1 -1
  39. package/dist/store/migrations.js +7 -1
  40. package/dist/store/migrations.js.map +1 -1
  41. package/dist/store/repositories.js +2 -2
  42. package/dist/store/repositories.js.map +1 -1
  43. package/dist/types.d.ts +10 -1
  44. package/dist/types.js.map +1 -1
  45. package/dist/upgrade/updater.d.ts +66 -0
  46. package/dist/upgrade/updater.js +587 -0
  47. package/dist/upgrade/updater.js.map +1 -0
  48. package/dist/upgrade/version.d.ts +12 -0
  49. package/dist/upgrade/version.js +55 -0
  50. package/dist/upgrade/version.js.map +1 -0
  51. package/dist/version.js +1 -1
  52. package/dist/version.json +1 -1
  53. package/migrations/0009_lark_doc_watcher_four_modes.sql +47 -0
  54. package/package.json +2 -1
package/README.en.md CHANGED
@@ -159,6 +159,9 @@ Only the configured owner can run these commands:
159
159
  | `/deactivate` | Disable Twinny in the current group and clear pending work. |
160
160
  | `/pair {guest_ou_id} <profile>` | Authorize a non-owner P2P user and bind that user to a profile. |
161
161
  | `/reload [profile]` | Reload all Codex profiles, or one named profile, after editing config. |
162
+ | `/restart` | Schedule a managed Twinny service restart. |
163
+ | `/upgrade [stable\|beta]` | Check and upgrade Twinny. Defaults to `stable` and only upgrades to a higher version. |
164
+ | `/upgrade check [stable\|beta]` | Check whether the selected channel has a newer version. |
162
165
 
163
166
 
164
167
  Response modes:
@@ -233,6 +236,10 @@ Recognized fields:
233
236
  | `[greeting.group].message` | Group greeting text or Codex turn input. Required as a non-empty string when `mode` is not `none`. |
234
237
  | `[service.launchd].mode` | macOS launchd placement. `gui` uses the current `gui/<uid>` LaunchAgent by default; `daemon` uses a system LaunchDaemon. Usually written by `twinny install --system-daemon`. |
235
238
  | `[service.launchd].user_name` | The plist `UserName` when `mode = "daemon"`. Usually written automatically by `twinny install --system-daemon` from the current user. |
239
+ | `[upgrade].channel` | Auto-upgrade channel. `stable` maps to the npm `latest` dist-tag; `beta` maps to the npm `beta` dist-tag. Defaults to `stable`. |
240
+ | `[upgrade].check_interval` | Auto-upgrade check interval. Supports `ms`, `s`, `m`, `h`, and `d` suffixes. Defaults to `1d`. |
241
+ | `[upgrade].auto_update` | Whether Twinny should automatically apply a detected newer version. Defaults to `true`. When `false`, Twinny only notifies the owner. |
242
+ | `[upgrade].registry` | Optional npm registry URL. When set, manual and automatic upgrade checks and downloads use that registry. |
236
243
  | `[profiles.<name>].codex_home` | `CODEX_HOME` for that profile. Absolute paths are used as-is; relative paths are resolved under `TWINNY_HOME`. `host` defaults to `~/.codex`; other profiles inherit `host` unless set. |
237
244
  | `[profiles.<name>].default_model` | Default model for new threads in that profile. `host` defaults to `gpt-5.5`; other profiles inherit `host` unless set. |
238
245
  | `[profiles.<name>].default_effort` | Default reasoning effort for new threads in that profile. Common values are `minimal`, `low`, `medium`, `high`, and `xhigh`; `host` defaults to `medium`; other profiles inherit `host` unless set. |
@@ -271,6 +278,11 @@ message = ""
271
278
  mode = "none"
272
279
  message = ""
273
280
 
281
+ [upgrade]
282
+ channel = "stable"
283
+ check_interval = "1d"
284
+ auto_update = true
285
+
274
286
  [profiles.host]
275
287
  codex_home = "~/.codex"
276
288
  default_model = "gpt-5.5"
@@ -286,6 +298,16 @@ Relative `codex_home` paths are resolved under `TWINNY_HOME`. Each profile start
286
298
 
287
299
  After editing profile config, run `/reload [profile]` from Lark or restart the daemon.
288
300
 
301
+ ### Auto Upgrade
302
+
303
+ Twinny enables auto-upgrade only when the running version matches `a.b.c` or `a.b.c-numericTimestamp`. Local development builds such as `dev` disable auto-upgrade. Manual `/upgrade` also refuses to apply an upgrade in that state because Twinny cannot reliably enforce "only upgrade to a newer version."
304
+
305
+ Version ordering compares `major.minor.patch` first. For the same base version, a version without a suffix is newer than one with a suffix. If both versions have numeric timestamp suffixes, the larger suffix is newer.
306
+
307
+ Auto-upgrade first checks the npm dist-tag, then downloads the target package into a temporary `runtime/upgrade` runner directory. A detached Node helper performs the replacement: stop the current daemon, back up the whole sqlite directory, back up and replace the runner, start the new runner, and wait up to 2 minutes for the new version to write runtime status. If startup times out or fails, the helper restores the sqlite directory and old runner, then starts the old version again. The sqlite backup includes `-wal` and `-shm` files; even after the daemon stops, WAL may contain committed transactions that have not been checkpointed, so copying the whole sqlite directory is the safest backup.
308
+
309
+ macOS LaunchAgent, macOS LaunchDaemon, systemd user service, and Windows Task Scheduler are supported through the detached helper. For LaunchDaemon installs, the helper uses a sentinel file plus the current runtime pid and launchd KeepAlive instead of depending on interactive `sudo`. Foreground `twinny run` has no managed supervisor and is not supported for automatic replacement restarts.
310
+
289
311
  ## Multiple Instances With `TWINNY_HOME`
290
312
 
291
313
  Run multiple isolated Twinny instances by giving each instance its own home:
package/README.md CHANGED
@@ -157,6 +157,9 @@ card.action.trigger
157
157
  | `/deactivate` | 停用当前群聊并清空待处理任务。 |
158
158
  | `/pair {guest_ou_id} <profile>` | 授权非 owner 的 P2P 用户,并绑定到某个 profile。 |
159
159
  | `/reload [profile]` | 修改配置后重载所有 Codex profiles,或只重载指定 profile。 |
160
+ | `/restart` | 调度 Twinny 托管服务重启。 |
161
+ | `/upgrade [stable\|beta]` | 检查并升级 Twinny。默认 `stable`,只会升级到更高版本。 |
162
+ | `/upgrade check [stable\|beta]` | 只检查指定通道是否有新版本。 |
160
163
 
161
164
  响应模式:
162
165
 
@@ -229,6 +232,10 @@ Twinny 从 `TWINNY_HOME` 读取 `config.toml`。
229
232
  | `[greeting.group].message` | 群聊 greeting 文案或 Codex turn 输入。`mode` 不是 `none` 时必须配置非空字符串。 |
230
233
  | `[service.launchd].mode` | macOS launchd 安装位置。`gui` 使用当前 `gui/<uid>` LaunchAgent(默认);`daemon` 使用系统 LaunchDaemon。通常由 `twinny install --system-daemon` 写入。 |
231
234
  | `[service.launchd].user_name` | `mode = "daemon"` 时写入 plist 的 `UserName`。通常由 `twinny install --system-daemon` 自动写入当前用户。 |
235
+ | `[upgrade].channel` | 自动更新通道,`stable` 使用 npm `latest` dist-tag,`beta` 使用 npm `beta` dist-tag。默认是 `stable`。 |
236
+ | `[upgrade].check_interval` | 自动更新检查间隔,支持 `ms`、`s`、`m`、`h`、`d` 后缀。默认是 `1d`。 |
237
+ | `[upgrade].auto_update` | 检测到新版本后是否自动更新。默认是 `true`。设置为 `false` 时只向 owner 发送提示消息。 |
238
+ | `[upgrade].registry` | 可选 npm registry URL。配置后手动和自动更新的 npm 查询、下载都会带上该 registry。 |
232
239
  | `[profiles.<name>].codex_home` | 该 profile 使用的 `CODEX_HOME`。绝对路径会直接使用;相对路径会以 `TWINNY_HOME` 为基准解析。`host` 默认是 `~/.codex`;其他 profile 未设置时继承 `host`。 |
233
240
  | `[profiles.<name>].default_model` | 该 profile 新 thread 的默认模型。`host` 默认是 `gpt-5.5`;其他 profile 未设置时继承 `host`。 |
234
241
  | `[profiles.<name>].default_effort` | 该 profile 新 thread 的默认推理强度。常见取值是 `minimal`、`low`、`medium`、`high` 和 `xhigh`;`host` 默认是 `medium`;其他 profile 未设置时继承 `host`。 |
@@ -266,6 +273,11 @@ message = ""
266
273
  mode = "none"
267
274
  message = ""
268
275
 
276
+ [upgrade]
277
+ channel = "stable"
278
+ check_interval = "1d"
279
+ auto_update = true
280
+
269
281
  [profiles.host]
270
282
  codex_home = "~/.codex"
271
283
  default_model = "gpt-5.5"
@@ -281,6 +293,16 @@ default_effort = "medium"
281
293
 
282
294
  修改 profile 配置后,可以在 Lark 中发送 `/reload [profile]`,或者重启 daemon。
283
295
 
296
+ ### 自动更新
297
+
298
+ Twinny 只在当前运行版本符合 `a.b.c` 或 `a.b.c-数字时间字符串` 时启用自动更新;本地开发版 `dev` 等其他格式会禁用自动更新,手动 `/upgrade` 也不会执行升级,因为无法可靠判断“只升级到更新版本”。
299
+
300
+ 版本比较先看 `major.minor.patch`;同一个基础版本下,无后缀版本高于有后缀版本;两个版本都有数字时间后缀时,后缀数值更大的版本更高。
301
+
302
+ 自动更新会先查询 npm dist-tag,再把目标版本下载到 `runtime/upgrade` 临时目录。真正替换由 detached Node helper 完成:停止当前 daemon、备份整个 sqlite 目录、备份并替换 runner、启动新 runner,并在 2 分钟内等待新版本写入运行状态。超时或失败时 helper 会恢复 sqlite 目录和旧 runner,再启动旧版本。sqlite 备份会包含 `-wal` 和 `-shm` 文件;daemon 已停机后 WAL 里仍可能有尚未 checkpoint 的已提交事务,复制整个 sqlite 目录是最稳妥的做法。
303
+
304
+ macOS LaunchAgent、macOS LaunchDaemon、systemd user service 和 Windows Task Scheduler 都通过 detached helper 调度。LaunchDaemon 场景下 helper 会用哨兵文件和当前进程信号配合 launchd 的 KeepAlive,避免依赖交互式 `sudo`。前台 `twinny run` 没有托管 supervisor,不支持自动替换重启。
305
+
284
306
  ## 通过 `TWINNY_HOME` 多实例部署
285
307
 
286
308
  给每个实例指定独立 home,就可以运行多个隔离的 Twinny 实例:
@@ -1,3 +1,4 @@
1
+ import fs from "node:fs/promises";
1
2
  import { readConfigStatus } from "../config/index.js";
2
3
  import { createRuntime } from "./wiring.js";
3
4
  export async function runDaemonCommand() {
@@ -8,6 +9,10 @@ export async function runDaemonCommand() {
8
9
  if (!status.config) {
9
10
  throw new Error("Twinny config could not be loaded");
10
11
  }
12
+ if (await fileExists(`${status.paths.runtimeDir}/upgrade-in-progress`)) {
13
+ console.error("Twinny upgrade is in progress; exiting so the update helper can finish.");
14
+ return;
15
+ }
11
16
  const runtime = await createRuntime(status.config);
12
17
  installSignalHandlers(runtime);
13
18
  await runtime.start();
@@ -38,6 +43,18 @@ function installSignalHandlers(runtime) {
38
43
  shutdown("SIGTERM");
39
44
  });
40
45
  }
46
+ async function fileExists(file) {
47
+ try {
48
+ await fs.access(file);
49
+ return true;
50
+ }
51
+ catch (error) {
52
+ if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") {
53
+ return false;
54
+ }
55
+ throw error;
56
+ }
57
+ }
41
58
  function exitCodeForSignal(signal) {
42
59
  return signal === "SIGINT" ? 130 : 143;
43
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/app/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAsB,MAAM,aAAa,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAsB;IACnD,IAAI,eAA0C,CAAC;IAC/C,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAQ,EAAE;QAChD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,uDAAuD,CAAC,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,eAAe,GAAG,OAAO;aACtB,IAAI,CAAC,MAAM,CAAC;aACZ,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAsB;IAC/C,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/app/daemon.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { type LarkFeatureSetDefinition, type LarkSdkLogger } from "../lark/index
4
4
  import { type ConversationRepository } from "../store/index.js";
5
5
  import { type TelemetryClient } from "../telemetry/index.js";
6
6
  import type { CodexThreadMode, ProfileName, TwinnyConfig } from "../types.js";
7
+ import { type TwinnyServiceRestartScheduleResult, type TwinnyUpgradeCheckResult, type TwinnyUpgradeScheduleResult } from "../upgrade/updater.js";
7
8
  import { type IdleSleepPreventer } from "./caffeinate.js";
8
9
  export interface TwinnyRuntimeOptions {
9
10
  logger?: Logger;
@@ -34,6 +35,9 @@ export declare class TwinnyRuntime {
34
35
  private readonly codexIntentionalStopByProfile;
35
36
  private readonly telemetry;
36
37
  private heartbeatTimer?;
38
+ private autoUpgradeTimer?;
39
+ private lastLarkUserEventAt;
40
+ private readonly notifiedUpgradeVersions;
37
41
  private runtimeStartedAt;
38
42
  private stopped;
39
43
  private stopPromise;
@@ -47,6 +51,9 @@ export declare class TwinnyRuntime {
47
51
  private recoverCodexAppServer;
48
52
  private attachCodexAppServerListeners;
49
53
  reloadProfile(profile?: ProfileName, options?: ConversationQueueOptions): Promise<void>;
54
+ restartService(): Promise<TwinnyServiceRestartScheduleResult>;
55
+ checkUpgrade(channel?: import("../types.js").UpgradeChannel): Promise<TwinnyUpgradeCheckResult>;
56
+ scheduleUpgrade(channel?: import("../types.js").UpgradeChannel): Promise<TwinnyUpgradeScheduleResult>;
50
57
  private stopCodexAppServerForReload;
51
58
  private shutdownConversation;
52
59
  private stopLarkConsumer;
@@ -56,9 +63,17 @@ export declare class TwinnyRuntime {
56
63
  private stopIdleSleepPreventer;
57
64
  private provisionLarkAssetImageKeys;
58
65
  private startHeartbeat;
66
+ private markLarkUserEvent;
67
+ private startAutoUpgradeScheduler;
68
+ private stopAutoUpgradeScheduler;
69
+ private scheduleAutoUpgradeCheck;
70
+ private runAutoUpgradeCheck;
71
+ private canRunAutoUpgradeNow;
72
+ private notifyUpgradeAvailableOnce;
59
73
  private stopHeartbeat;
60
74
  private captureHeartbeat;
61
75
  private readRuntimeCodexVersion;
76
+ private writeRuntimeStatus;
62
77
  private shutdownTelemetry;
63
78
  }
64
79
  export declare function createRuntime(config: TwinnyConfig, options?: TwinnyRuntimeOptions): Promise<TwinnyRuntime>;
@@ -1,3 +1,4 @@
1
+ import fs from "node:fs/promises";
1
2
  import path from "node:path";
2
3
  import { createRuntimePaths, createDefaultSecretStore, loadTwinnyConfig, resolveBundledBannerPath, resolveBundledLogoPath, resolveLarkAppSecret } from "../config/index.js";
3
4
  import { ProfileCodexAppServerPool } from "../codex/index.js";
@@ -9,6 +10,9 @@ import { TwinnySystemNotifier } from "../observability/system-notifications.js";
9
10
  import { getProfileCodexHome } from "../profiles/index.js";
10
11
  import { createConversationRepository, openRuntimeDatabase } from "../store/index.js";
11
12
  import { createTwinnyTelemetryClient, memoryUsageTelemetryProperties } from "../telemetry/index.js";
13
+ import { checkForTwinnyUpgrade, prepareAndScheduleTwinnyUpgrade, scheduleTwinnyServiceRestart } from "../upgrade/updater.js";
14
+ import { isExpectedTwinnyVersion } from "../upgrade/version.js";
15
+ import { TWINNY_VERSION } from "../version.js";
12
16
  import { WorkspaceManager } from "../workspace/index.js";
13
17
  import { MacIdleSleepPreventer } from "./caffeinate.js";
14
18
  import { provisionLarkAssetImageKeys as provisionRuntimeLarkAssetImageKeys } from "./lark-assets.js";
@@ -31,6 +35,9 @@ export class TwinnyRuntime {
31
35
  codexIntentionalStopByProfile = new Set();
32
36
  telemetry;
33
37
  heartbeatTimer;
38
+ autoUpgradeTimer;
39
+ lastLarkUserEventAt = 0;
40
+ notifiedUpgradeVersions = new Set();
34
41
  runtimeStartedAt = 0;
35
42
  stopped = false;
36
43
  stopPromise;
@@ -64,6 +71,7 @@ export class TwinnyRuntime {
64
71
  try {
65
72
  this.lock = await acquireTwinnyLock(this.paths, { stale: 30_000, update: 10_000 });
66
73
  lockAcquired = true;
74
+ await this.writeRuntimeStatus(false);
67
75
  this.idleSleepPreventer = this.options.idleSleepPreventer ?? new MacIdleSleepPreventer({ logger: this.log });
68
76
  this.idleSleepPreventer.start();
69
77
  this.db = openRuntimeDatabase(this.paths);
@@ -139,7 +147,12 @@ export class TwinnyRuntime {
139
147
  botOpenId,
140
148
  assetImageKeys,
141
149
  profiles: { codexHomeFor: (profile) => getProfileCodexHome(this.config, profile) },
142
- runtime: { reloadProfile: (profile, options) => this.reloadProfile(profile, options) },
150
+ runtime: {
151
+ reloadProfile: (profile, options) => this.reloadProfile(profile, options),
152
+ restartService: () => this.restartService(),
153
+ checkUpgrade: (channel) => this.checkUpgrade(channel),
154
+ scheduleUpgrade: (channel) => this.scheduleUpgrade(channel)
155
+ },
143
156
  telemetry: this.telemetry,
144
157
  logger: this.log
145
158
  });
@@ -157,12 +170,14 @@ export class TwinnyRuntime {
157
170
  sdkLogger: this.larkSdkLogger,
158
171
  maxMessageAgeMs: this.config.lark.maxMessageAgeSeconds * 1000,
159
172
  onMessage: (message) => {
173
+ this.markLarkUserEvent();
160
174
  conversation.submitIncoming(message);
161
175
  },
162
176
  onMessageRecall: (recall) => {
163
177
  conversation.submitMessageRecall(recall);
164
178
  },
165
179
  onDocCommentAdd: (comment) => {
180
+ this.markLarkUserEvent();
166
181
  conversation.submitDocCommentAdd(comment);
167
182
  },
168
183
  onP2pChatCreate: (event) => {
@@ -172,9 +187,13 @@ export class TwinnyRuntime {
172
187
  conversation.submitBotAddedToChat(event);
173
188
  },
174
189
  onBotMenu: (action) => {
190
+ this.markLarkUserEvent();
175
191
  conversation.submitBotMenuAction(action);
176
192
  },
177
- onCardAction: (action) => conversation.submitCardAction(action),
193
+ onCardAction: (action) => {
194
+ this.markLarkUserEvent();
195
+ conversation.submitCardAction(action);
196
+ },
178
197
  onConnectionError: (error) => {
179
198
  this.telemetry.captureError(error, {
180
199
  errorType: "lark_event",
@@ -188,6 +207,7 @@ export class TwinnyRuntime {
188
207
  await this.larkConsumer.start();
189
208
  larkConsumerStarted = true;
190
209
  await this.systemNotifier.notifyInitialized({ bannerImageKey: assetImageKeys.bannerImageKey });
210
+ await this.writeRuntimeStatus(true);
191
211
  this.telemetry.capture("twinny_launch", {
192
212
  launch_duration_ms: Date.now() - launchStartedAt,
193
213
  codex_profile_count: this.codexPool.listProfiles().length,
@@ -203,6 +223,7 @@ export class TwinnyRuntime {
203
223
  codexVersion: this.readRuntimeCodexVersion()
204
224
  });
205
225
  this.startHeartbeat();
226
+ this.startAutoUpgradeScheduler();
206
227
  this.log.info({ home: this.config.home }, "twinny daemon started");
207
228
  }
208
229
  catch (error) {
@@ -265,6 +286,7 @@ export class TwinnyRuntime {
265
286
  this.log.info({ signal }, "stopping twinny daemon");
266
287
  try {
267
288
  this.stopHeartbeat();
289
+ this.stopAutoUpgradeScheduler();
268
290
  await this.shutdownConversation();
269
291
  await this.stopLarkConsumer();
270
292
  await this.stopCodexPool(signal);
@@ -395,6 +417,27 @@ export class TwinnyRuntime {
395
417
  }
396
418
  replaceTwinnyConfigContents(this.config, nextConfig);
397
419
  }
420
+ async restartService() {
421
+ return scheduleTwinnyServiceRestart({
422
+ config: this.config,
423
+ expectedVersion: TWINNY_VERSION
424
+ });
425
+ }
426
+ async checkUpgrade(channel = this.config.upgrade.channel) {
427
+ return checkForTwinnyUpgrade({
428
+ currentVersion: TWINNY_VERSION,
429
+ channel,
430
+ registry: this.config.upgrade.registry
431
+ });
432
+ }
433
+ async scheduleUpgrade(channel = this.config.upgrade.channel) {
434
+ return prepareAndScheduleTwinnyUpgrade({
435
+ config: this.config,
436
+ currentVersion: TWINNY_VERSION,
437
+ channel,
438
+ registry: this.config.upgrade.registry
439
+ });
440
+ }
398
441
  async stopCodexAppServerForReload(pool, profile) {
399
442
  this.codexIntentionalStopByProfile.add(profile);
400
443
  try {
@@ -472,6 +515,7 @@ export class TwinnyRuntime {
472
515
  const lock = this.lock;
473
516
  this.lock = undefined;
474
517
  try {
518
+ await fs.rm(this.paths.statusFile, { force: true });
475
519
  await lock.release();
476
520
  }
477
521
  catch (error) {
@@ -508,6 +552,91 @@ export class TwinnyRuntime {
508
552
  this.heartbeatTimer = setInterval(() => this.captureHeartbeat(intervalMs), intervalMs);
509
553
  this.heartbeatTimer.unref?.();
510
554
  }
555
+ markLarkUserEvent() {
556
+ this.lastLarkUserEventAt = Date.now();
557
+ }
558
+ startAutoUpgradeScheduler() {
559
+ if (!isExpectedTwinnyVersion(TWINNY_VERSION)) {
560
+ this.log.warn({ currentVersion: TWINNY_VERSION }, "disabled Twinny auto upgrade because the current version does not match a.b.c[-timestamp]");
561
+ return;
562
+ }
563
+ this.scheduleAutoUpgradeCheck(this.config.upgrade.checkIntervalMs);
564
+ }
565
+ stopAutoUpgradeScheduler() {
566
+ if (!this.autoUpgradeTimer) {
567
+ return;
568
+ }
569
+ clearTimeout(this.autoUpgradeTimer);
570
+ this.autoUpgradeTimer = undefined;
571
+ }
572
+ scheduleAutoUpgradeCheck(delayMs) {
573
+ this.stopAutoUpgradeScheduler();
574
+ this.autoUpgradeTimer = setTimeout(() => {
575
+ void this.runAutoUpgradeCheck().catch((error) => {
576
+ this.log.warn({ error }, "Twinny auto upgrade check failed");
577
+ if (!this.stopped) {
578
+ this.scheduleAutoUpgradeCheck(this.config.upgrade.checkIntervalMs);
579
+ }
580
+ });
581
+ }, delayMs);
582
+ this.autoUpgradeTimer.unref?.();
583
+ }
584
+ async runAutoUpgradeCheck() {
585
+ if (this.stopped) {
586
+ return;
587
+ }
588
+ if (!isExpectedTwinnyVersion(TWINNY_VERSION)) {
589
+ this.log.warn({ currentVersion: TWINNY_VERSION }, "disabled Twinny auto upgrade because the current version does not match a.b.c[-timestamp]");
590
+ return;
591
+ }
592
+ const check = await this.checkUpgrade(this.config.upgrade.channel);
593
+ if (check.disabledReason || !check.updateAvailable || !check.candidateVersion) {
594
+ this.scheduleAutoUpgradeCheck(this.config.upgrade.checkIntervalMs);
595
+ return;
596
+ }
597
+ if (!this.config.upgrade.autoUpdate) {
598
+ await this.notifyUpgradeAvailableOnce(check);
599
+ this.scheduleAutoUpgradeCheck(this.config.upgrade.checkIntervalMs);
600
+ return;
601
+ }
602
+ if (!this.canRunAutoUpgradeNow()) {
603
+ this.scheduleAutoUpgradeCheck(10 * 60 * 1000);
604
+ return;
605
+ }
606
+ const result = await this.scheduleUpgrade(this.config.upgrade.channel);
607
+ if (result.kind !== "scheduled") {
608
+ this.scheduleAutoUpgradeCheck(this.config.upgrade.checkIntervalMs);
609
+ return;
610
+ }
611
+ this.log.info({ targetVersion: result.targetVersion, helperLogFile: result.helperLogFile }, "scheduled Twinny auto upgrade");
612
+ }
613
+ canRunAutoUpgradeNow() {
614
+ const stats = this.conversation?.getRuntimeStats() ?? {
615
+ activeTurnCount: 0,
616
+ sideTurnCount: 0,
617
+ queuedMessageCount: 0,
618
+ suspendedTurnCount: 0
619
+ };
620
+ const idle = stats.activeTurnCount === 0 &&
621
+ stats.sideTurnCount === 0 &&
622
+ stats.queuedMessageCount === 0 &&
623
+ stats.suspendedTurnCount === 0;
624
+ const hasRecentLarkEvent = this.lastLarkUserEventAt > 0 && Date.now() - this.lastLarkUserEventAt < 10 * 60 * 1000;
625
+ return idle && !hasRecentLarkEvent;
626
+ }
627
+ async notifyUpgradeAvailableOnce(check) {
628
+ if (!check.candidateVersion || this.notifiedUpgradeVersions.has(check.candidateVersion)) {
629
+ return;
630
+ }
631
+ this.notifiedUpgradeVersions.add(check.candidateVersion);
632
+ await this.systemNotifier?.notifyUpgradeAvailable({
633
+ currentVersion: check.currentVersion,
634
+ targetVersion: check.candidateVersion,
635
+ channel: check.channel,
636
+ publishTime: check.candidatePublishTime,
637
+ changelogUrl: check.changelogUrl
638
+ });
639
+ }
511
640
  stopHeartbeat() {
512
641
  if (!this.heartbeatTimer) {
513
642
  return;
@@ -542,6 +671,21 @@ export class TwinnyRuntime {
542
671
  const profile = this.codexPool?.listProfiles()[0];
543
672
  return profile ? this.codexPool?.get(profile).readCodexVersion() ?? null : null;
544
673
  }
674
+ async writeRuntimeStatus(ready) {
675
+ try {
676
+ await fs.mkdir(path.dirname(this.paths.statusFile), { recursive: true });
677
+ await fs.writeFile(this.paths.statusFile, JSON.stringify({
678
+ pid: process.pid,
679
+ version: TWINNY_VERSION,
680
+ startedAt: this.runtimeStartedAt,
681
+ ready,
682
+ updatedAt: Date.now()
683
+ }, null, 2), "utf8");
684
+ }
685
+ catch (error) {
686
+ this.log.warn({ error }, "failed to write Twinny runtime status");
687
+ }
688
+ }
545
689
  async shutdownTelemetry() {
546
690
  try {
547
691
  await this.telemetry.shutdown?.();
@@ -1 +1 @@
1
- {"version":3,"file":"wiring.js","sourceRoot":"","sources":["../../src/app/wiring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiring.js","sourceRoot":"","sources":["../../src/app/wiring.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export interface RunUpdateCommandOptions {
10
10
  home?: string;
11
11
  restart?: boolean;
12
12
  packageSpec?: string;
13
+ registry?: string;
13
14
  runCommand?: CommandRunner;
14
15
  restartLaunchAgent?: RestartLaunchAgentFn;
15
16
  restartManagedService?: RestartManagedServiceFn;