charness 3.3.2 → 3.4.0

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 (183) hide show
  1. package/CHANGELOG.md +612 -0
  2. package/DEVELOPMENT.md +76 -0
  3. package/README.md +5 -2
  4. package/SETUP.md +65 -19
  5. package/dist/adapters/openCodeAdapter.d.ts +11 -0
  6. package/dist/adapters/openCodeAdapter.d.ts.map +1 -1
  7. package/dist/adapters/openCodeAdapter.js +24 -9
  8. package/dist/adapters/openCodeAdapter.js.map +1 -1
  9. package/dist/agentLogin/agentLogin.d.ts +1 -0
  10. package/dist/agentLogin/agentLogin.d.ts.map +1 -1
  11. package/dist/agentLogin/agentLogin.js +5 -0
  12. package/dist/agentLogin/agentLogin.js.map +1 -1
  13. package/dist/bot.d.ts +0 -3
  14. package/dist/bot.d.ts.map +1 -1
  15. package/dist/bot.js +311 -159
  16. package/dist/bot.js.map +1 -1
  17. package/dist/changelogEntries.d.ts +25 -0
  18. package/dist/changelogEntries.d.ts.map +1 -0
  19. package/dist/changelogEntries.js +66 -0
  20. package/dist/changelogEntries.js.map +1 -0
  21. package/dist/cli/bot.d.ts +6 -2
  22. package/dist/cli/bot.d.ts.map +1 -1
  23. package/dist/cli/bot.js +34 -2
  24. package/dist/cli/bot.js.map +1 -1
  25. package/dist/cli/hot.d.ts +7 -0
  26. package/dist/cli/hot.d.ts.map +1 -1
  27. package/dist/cli/hot.js +53 -3
  28. package/dist/cli/hot.js.map +1 -1
  29. package/dist/cli.d.ts +1 -1
  30. package/dist/cli.d.ts.map +1 -1
  31. package/dist/cli.js +8 -0
  32. package/dist/cli.js.map +1 -1
  33. package/dist/connectors/telegram/bindPicker.d.ts +64 -0
  34. package/dist/connectors/telegram/bindPicker.d.ts.map +1 -0
  35. package/dist/connectors/telegram/bindPicker.js +97 -0
  36. package/dist/connectors/telegram/bindPicker.js.map +1 -0
  37. package/dist/connectors/telegram/commands/selfUpdate.d.ts +16 -0
  38. package/dist/connectors/telegram/commands/selfUpdate.d.ts.map +1 -0
  39. package/dist/connectors/telegram/commands/selfUpdate.js +210 -0
  40. package/dist/connectors/telegram/commands/selfUpdate.js.map +1 -0
  41. package/dist/connectors/telegram/commands/stt.d.ts +1 -0
  42. package/dist/connectors/telegram/commands/stt.d.ts.map +1 -1
  43. package/dist/connectors/telegram/commands/stt.js +5 -0
  44. package/dist/connectors/telegram/commands/stt.js.map +1 -1
  45. package/dist/connectors/telegram/commands/topicCommand.d.ts +75 -0
  46. package/dist/connectors/telegram/commands/topicCommand.d.ts.map +1 -0
  47. package/dist/connectors/telegram/commands/topicCommand.js +391 -0
  48. package/dist/connectors/telegram/commands/topicCommand.js.map +1 -0
  49. package/dist/i18n/de.d.ts.map +1 -1
  50. package/dist/i18n/de.js +108 -2
  51. package/dist/i18n/de.js.map +1 -1
  52. package/dist/i18n/en.d.ts.map +1 -1
  53. package/dist/i18n/en.js +108 -2
  54. package/dist/i18n/en.js.map +1 -1
  55. package/dist/i18n/es.d.ts.map +1 -1
  56. package/dist/i18n/es.js +108 -2
  57. package/dist/i18n/es.js.map +1 -1
  58. package/dist/i18n/fr.d.ts.map +1 -1
  59. package/dist/i18n/fr.js +108 -2
  60. package/dist/i18n/fr.js.map +1 -1
  61. package/dist/i18n/hi.d.ts.map +1 -1
  62. package/dist/i18n/hi.js +108 -2
  63. package/dist/i18n/hi.js.map +1 -1
  64. package/dist/i18n/ja.d.ts.map +1 -1
  65. package/dist/i18n/ja.js +108 -2
  66. package/dist/i18n/ja.js.map +1 -1
  67. package/dist/i18n/ka.d.ts.map +1 -1
  68. package/dist/i18n/ka.js +108 -2
  69. package/dist/i18n/ka.js.map +1 -1
  70. package/dist/i18n/pt.d.ts.map +1 -1
  71. package/dist/i18n/pt.js +108 -2
  72. package/dist/i18n/pt.js.map +1 -1
  73. package/dist/i18n/ru.d.ts.map +1 -1
  74. package/dist/i18n/ru.js +108 -2
  75. package/dist/i18n/ru.js.map +1 -1
  76. package/dist/i18n/uk.d.ts.map +1 -1
  77. package/dist/i18n/uk.js +108 -2
  78. package/dist/i18n/uk.js.map +1 -1
  79. package/dist/i18n/uz.d.ts.map +1 -1
  80. package/dist/i18n/uz.js +108 -2
  81. package/dist/i18n/uz.js.map +1 -1
  82. package/dist/i18n/zh.d.ts.map +1 -1
  83. package/dist/i18n/zh.js +108 -2
  84. package/dist/i18n/zh.js.map +1 -1
  85. package/dist/instanceSettings.d.ts +12 -1
  86. package/dist/instanceSettings.d.ts.map +1 -1
  87. package/dist/instanceSettings.js +40 -4
  88. package/dist/instanceSettings.js.map +1 -1
  89. package/dist/selfUpdate/bootRollback.d.ts +22 -0
  90. package/dist/selfUpdate/bootRollback.d.ts.map +1 -0
  91. package/dist/selfUpdate/bootRollback.js +79 -0
  92. package/dist/selfUpdate/bootRollback.js.map +1 -0
  93. package/dist/selfUpdate/commandRunner.d.ts +21 -0
  94. package/dist/selfUpdate/commandRunner.d.ts.map +1 -0
  95. package/dist/selfUpdate/commandRunner.js +32 -0
  96. package/dist/selfUpdate/commandRunner.js.map +1 -0
  97. package/dist/selfUpdate/constants.d.ts +26 -0
  98. package/dist/selfUpdate/constants.d.ts.map +1 -0
  99. package/dist/selfUpdate/constants.js +31 -0
  100. package/dist/selfUpdate/constants.js.map +1 -0
  101. package/dist/selfUpdate/gitSource.d.ts +58 -0
  102. package/dist/selfUpdate/gitSource.d.ts.map +1 -0
  103. package/dist/selfUpdate/gitSource.js +183 -0
  104. package/dist/selfUpdate/gitSource.js.map +1 -0
  105. package/dist/selfUpdate/hostLock.d.ts +16 -0
  106. package/dist/selfUpdate/hostLock.d.ts.map +1 -0
  107. package/dist/selfUpdate/hostLock.js +101 -0
  108. package/dist/selfUpdate/hostLock.js.map +1 -0
  109. package/dist/selfUpdate/hotSupervisor.d.ts +47 -0
  110. package/dist/selfUpdate/hotSupervisor.d.ts.map +1 -0
  111. package/dist/selfUpdate/hotSupervisor.js +125 -0
  112. package/dist/selfUpdate/hotSupervisor.js.map +1 -0
  113. package/dist/selfUpdate/installKind.d.ts +45 -0
  114. package/dist/selfUpdate/installKind.d.ts.map +1 -0
  115. package/dist/selfUpdate/installKind.js +99 -0
  116. package/dist/selfUpdate/installKind.js.map +1 -0
  117. package/dist/selfUpdate/launchEnvironment.d.ts +3 -0
  118. package/dist/selfUpdate/launchEnvironment.d.ts.map +1 -0
  119. package/dist/selfUpdate/launchEnvironment.js +16 -0
  120. package/dist/selfUpdate/launchEnvironment.js.map +1 -0
  121. package/dist/selfUpdate/npmSource.d.ts +34 -0
  122. package/dist/selfUpdate/npmSource.d.ts.map +1 -0
  123. package/dist/selfUpdate/npmSource.js +107 -0
  124. package/dist/selfUpdate/npmSource.js.map +1 -0
  125. package/dist/selfUpdate/releaseNotes.d.ts +33 -0
  126. package/dist/selfUpdate/releaseNotes.d.ts.map +1 -0
  127. package/dist/selfUpdate/releaseNotes.js +115 -0
  128. package/dist/selfUpdate/releaseNotes.js.map +1 -0
  129. package/dist/selfUpdate/restart.d.ts +33 -0
  130. package/dist/selfUpdate/restart.d.ts.map +1 -0
  131. package/dist/selfUpdate/restart.js +94 -0
  132. package/dist/selfUpdate/restart.js.map +1 -0
  133. package/dist/selfUpdate/selfCheck.d.ts +20 -0
  134. package/dist/selfUpdate/selfCheck.d.ts.map +1 -0
  135. package/dist/selfUpdate/selfCheck.js +126 -0
  136. package/dist/selfUpdate/selfCheck.js.map +1 -0
  137. package/dist/selfUpdate/semver.d.ts +24 -0
  138. package/dist/selfUpdate/semver.d.ts.map +1 -0
  139. package/dist/selfUpdate/semver.js +165 -0
  140. package/dist/selfUpdate/semver.js.map +1 -0
  141. package/dist/selfUpdate/types.d.ts +51 -0
  142. package/dist/selfUpdate/types.d.ts.map +1 -0
  143. package/dist/selfUpdate/types.js +3 -0
  144. package/dist/selfUpdate/types.js.map +1 -0
  145. package/dist/selfUpdate/updateEngine.d.ts +110 -0
  146. package/dist/selfUpdate/updateEngine.d.ts.map +1 -0
  147. package/dist/selfUpdate/updateEngine.js +727 -0
  148. package/dist/selfUpdate/updateEngine.js.map +1 -0
  149. package/dist/selfUpdate/updateMessages.d.ts +84 -0
  150. package/dist/selfUpdate/updateMessages.d.ts.map +1 -0
  151. package/dist/selfUpdate/updateMessages.js +115 -0
  152. package/dist/selfUpdate/updateMessages.js.map +1 -0
  153. package/dist/selfUpdate/updateModes.d.ts +17 -0
  154. package/dist/selfUpdate/updateModes.d.ts.map +1 -0
  155. package/dist/selfUpdate/updateModes.js +14 -0
  156. package/dist/selfUpdate/updateModes.js.map +1 -0
  157. package/dist/selfUpdate/updatePending.d.ts +76 -0
  158. package/dist/selfUpdate/updatePending.d.ts.map +1 -0
  159. package/dist/selfUpdate/updatePending.js +131 -0
  160. package/dist/selfUpdate/updatePending.js.map +1 -0
  161. package/dist/selfUpdate/updatePolicy.d.ts +115 -0
  162. package/dist/selfUpdate/updatePolicy.d.ts.map +1 -0
  163. package/dist/selfUpdate/updatePolicy.js +83 -0
  164. package/dist/selfUpdate/updatePolicy.js.map +1 -0
  165. package/dist/selfUpdate/updateRuntime.d.ts +22 -0
  166. package/dist/selfUpdate/updateRuntime.d.ts.map +1 -0
  167. package/dist/selfUpdate/updateRuntime.js +148 -0
  168. package/dist/selfUpdate/updateRuntime.js.map +1 -0
  169. package/dist/startupPromptBuffer.d.ts +2 -0
  170. package/dist/startupPromptBuffer.d.ts.map +1 -1
  171. package/dist/startupPromptBuffer.js +4 -0
  172. package/dist/startupPromptBuffer.js.map +1 -1
  173. package/dist/state.d.ts +12 -0
  174. package/dist/state.d.ts.map +1 -1
  175. package/dist/state.js +18 -0
  176. package/dist/state.js.map +1 -1
  177. package/dist/types.d.ts +4 -0
  178. package/dist/types.d.ts.map +1 -1
  179. package/dist/utils/updateScreenPlan.d.ts +38 -0
  180. package/dist/utils/updateScreenPlan.d.ts.map +1 -0
  181. package/dist/utils/updateScreenPlan.js +143 -0
  182. package/dist/utils/updateScreenPlan.js.map +1 -0
  183. package/package.json +3 -1
package/dist/i18n/zh.js CHANGED
@@ -33,6 +33,22 @@ exports.zhDict = {
33
33
  'bind.create_invalid_chars': '❌ 文件夹名不得包含控制字符。',
34
34
  'bind.create_exists': '📁 文件夹 `{subdir}` 已存在 — 正在绑定。',
35
35
  'bind.create_failed': '❌ 创建文件夹失败:{error}',
36
+ 'topic.askName': '🆕 新话题叫什么名字?请发送名称。',
37
+ 'topic.nameTooLong': '❌ 话题名称最多 {max} 个字符,请发送更短的名称。',
38
+ 'topic.askFolder': '📁 «{name}» 要在哪个文件夹中工作?',
39
+ 'topic.sameFolderButton': '📁 {subdir}(与此处相同)',
40
+ 'topic.otherFolderButton': '📂 其他文件夹',
41
+ 'topic.pickFolder': '📂 为 «{name}» 选择文件夹:',
42
+ 'topic.createFolderPrompt': '✏️ 请发送新文件夹的名称 — 它将在 WORK_ROOT 下创建,«{name}» 将在其中工作。',
43
+ 'topic.creatingToast': '正在创建话题…',
44
+ 'topic.created': '✅ 话题 «{name}» 已就绪,已绑定到 {subdir}。',
45
+ 'topic.createdNotBound': '⚠️ 话题 «{name}» 已创建,但绑定失败:{reason}',
46
+ 'topic.openButton': '打开话题 →',
47
+ 'topic.createFailed': '❌ 无法创建话题:{reason}',
48
+ 'topic.cancelled': '✖ 已取消 — 未创建话题。',
49
+ 'topic.dmUnsupported': '🧵 话题存在于启用了话题功能的群组中 — 请在那里运行 /topic。此聊天中没有话题。',
50
+ 'topic.staleChoice': '此选择已过期 — 请重新运行 /topic。',
51
+ 'topic.cancelButton': '✖️ 取消',
36
52
  'ls.header': '📁 `{workRoot}` 的子文件夹:',
37
53
  'ls.empty': '📁 `WORK_ROOT` 下没有可绑定的子文件夹。',
38
54
  'list.header': '🧵 话题绑定({count}):',
@@ -46,6 +62,8 @@ exports.zhDict = {
46
62
  '/status — 所有话题的状态\n' +
47
63
  '/quitall — 退出所有运行中的代理\n' +
48
64
  '/stt — 语音识别设置\n' +
65
+ '/update — 机器人更新:自动、仅通知、关闭\n' +
66
+ '/topic — 在某个文件夹上再开一个话题\n' +
49
67
  '/whoami /version — 调试\n\n' +
50
68
  '要与代理对话 — 打开一个主题话题。',
51
69
  'help.thread_unbound': '*话题未绑定文件夹。*\n' +
@@ -65,8 +83,10 @@ exports.zhDict = {
65
83
  '/limits_autoswitch — 达到用量上限时自动切换模型(备用列表、切换、等待)\n' +
66
84
  '/accounts — Claude 账号与 OpenCode 提供商(切换、添加、重新登录、移除、连接、断开)\n' +
67
85
  '/clear — 删除话题消息\n' +
68
- '/c /y /n /enter /up /down /tab /esc — TUI 按键(Claude)\n' +
69
- '/bind — 管理绑定',
86
+ '/interrupt (/esc) — 中断正在进行的任务;下一条消息会改变其方向\n' +
87
+ '/c /y /n /enter /up /down /tab — TUI 按键(Claude)\n' +
88
+ '/bind — 管理绑定\n' +
89
+ '/topic — 在某个文件夹上再开一个话题',
70
90
  'doctor.header': '🔍 *Charness Doctor*',
71
91
  'doctor.ok': '✅ {label}',
72
92
  'doctor.warn': '⚠️ {label} — {hint}',
@@ -195,6 +215,92 @@ exports.zhDict = {
195
215
  'effort.general.choose': '⚙️ 所有话题的默认 effort:{current}\n没有自己 effort 的话题使用此级别;有自己 effort 的话题保持不变。',
196
216
  'effort.general.setConfirmation': '✅ 所有话题的默认 effort:{level}\n有自己 effort 的话题保持不变。从每个话题下次会话启动或唤醒时生效 — 正在运行的会话不会重启。',
197
217
  'effort.general.writeFailedNotice': '⚠️ 无法保存默认 effort:{path} 不可写({code})。请使其目录可写。',
218
+ 'update.updated.heading': '🔄 Charness 已更新:{from} → {to}',
219
+ 'update.updatedCommits.heading': '🔄 Charness 已更新:{from} → {to}({count} 个提交)',
220
+ 'update.nowRunning.heading': '🔄 Charness 现在是 {to}(原为 {from})',
221
+ 'update.notes.todoLabel': '待办:',
222
+ 'update.notes.moreLine': '…另有 {count} 项 — CHANGELOG:{url}',
223
+ 'update.updateButton': '⬆️ 更新到 {version}',
224
+ 'update.notify': '⬆️ Charness {version} 已发布(你在用 {running})。',
225
+ 'update.notifyManual': '⬆️ Charness {version} 已发布(你在用 {running})。\n请手动更新:{command}',
226
+ 'update.offerMajor': '⚠️ Charness {version} 是主版本 — 不会自动安装。请先阅读发布说明:{url}',
227
+ 'update.offerBreaking': '⚠️ 更新到 {to}(你在用 {from})带来迁移指南 — 不会自动应用。请先阅读:{guides}',
228
+ 'update.needsNode': 'ℹ️ Charness {version} 需要 Node {required};此实例运行的是 Node {running},因此未安装。',
229
+ 'update.installFailed': '⚠️ 自动更新到 {target} 失败:{reason}。仍在运行 {running}。\n请手动更新:{command}',
230
+ 'update.rollbackFailed': '🛑 自动更新到 {target} 失败({reason}),回退到上一版本也失败了 — 下次重启可能无法启动。请手动修复安装:{command}',
231
+ 'update.failed.install': '安装未完成',
232
+ 'update.failed.start': '新版本未能启动',
233
+ 'update.failed.build': '新版本未能构建',
234
+ 'update.failed.boot': '新版本启动时反复失败',
235
+ 'update.checkFailing': '⚠️ 无法检查是否有新版本:{reason}。我会每小时重试。',
236
+ 'update.featureAnnounced.on': 'ℹ️ 自动更新已开启 — 用 /update 更改。',
237
+ 'update.featureAnnounced.notify': 'ℹ️ 有新版本发布时 Charness 会通知你 — 用 /update 更改。',
238
+ 'update.restartSupervisor': 'ℹ️ 此更新会更改 supervisor 本身:请重启一次 `charness hot`(Docker:`charness-restart-bot`)以完成。',
239
+ 'update.screen.install.npm': 'Charness {version} · npm({prefix})',
240
+ 'update.screen.install.git': 'Charness {version} · git @ {commit}',
241
+ 'update.screen.install.gitHot': 'Charness {version} · git @ {commit} · hot',
242
+ 'update.screen.install.ephemeral': 'Charness {version} · npx — 无需更新',
243
+ 'update.screen.install.notifyOnly.readOnlyPrefix': 'Charness {version} · npm,目录只读 — 只能通知',
244
+ 'update.screen.install.notifyOnly.readOnlyCheckout': 'Charness {version} · git @ {commit},目录只读 — 需手动更新',
245
+ 'update.screen.install.notifyOnly.packageManager': 'Charness {version} · 由其他包管理器安装 — 只能通知',
246
+ 'update.screen.install.notifyOnly.localInstall': 'Charness {version} · 项目本地安装 — 只能通知',
247
+ 'update.screen.install.notifyOnly.noExecve': 'Charness {version} · 此 Node 无法原地重启机器人(需要 22.15+,不支持 Windows)— 只能通知',
248
+ 'update.screen.mode.on': '自动更新:开 — 机器人空闲时自动安装新版本;主版本会在这里提示。',
249
+ 'update.screen.mode.notify': '自动更新:仅通知 — 有新版本时我会告知;点按即可安装。',
250
+ 'update.screen.mode.off': '自动更新:关 — 不会自行检查。',
251
+ 'update.screen.mode.onNotifyOnly': '自动更新:开 — 但此安装只能通知。',
252
+ 'update.screen.whatsNew.on': '更新后的新内容:显示',
253
+ 'update.screen.whatsNew.off': '更新后的新内容:不显示',
254
+ 'update.screen.neverChecked': '尚未检查。',
255
+ 'update.screen.checked': '{ago}检查 · {detail}',
256
+ 'update.screen.checkFailed': '{ago}检查失败:{reason}',
257
+ 'update.screen.upToDate': '已是最新',
258
+ 'update.screen.ago.justNow': '刚刚',
259
+ 'update.screen.ago.minutes': '{count} 分钟前',
260
+ 'update.screen.ago.hours': '{count} 小时前',
261
+ 'update.screen.ago.days': '{count} 天前',
262
+ 'update.screen.offer.waitHoldAuto': '{version} 已发布 — 将在 ~{time} 机器人空闲时自动安装',
263
+ 'update.screen.offer.waitHoldNotice': '{version} 已发布 — 我会在 ~{time} 告知',
264
+ 'update.screen.offer.installWhenIdle': '{version} 已发布 — 机器人一空闲就安装',
265
+ 'update.screen.offer.notify': '{version} 已发布',
266
+ 'update.screen.offer.notifyManual': '{version} 已发布 — 请手动更新',
267
+ 'update.screen.offer.major': '{version} 是主版本 — 不会自动安装',
268
+ 'update.screen.offer.breaking': '{version} 带来迁移指南 — 不会自动应用',
269
+ 'update.screen.offer.needsNode': '{version} 需要 Node {required}(当前为 {running})',
270
+ 'update.screen.skipped': '已跳过:{reason}',
271
+ 'update.screen.skip.dirty': '检出目录中有本地更改',
272
+ 'update.screen.skip.diverged': '检出目录有自己的提交',
273
+ 'update.screen.skip.noUpstream': '该分支未跟踪上游',
274
+ 'update.screen.skip.inProgress': '正在合并或变基',
275
+ 'update.screen.skip.other': '检出目录保持不动',
276
+ 'update.screen.phase.installing': '正在安装 {version}…',
277
+ 'update.screen.phase.restartPending': '{version} 已安装 — 正在运行的轮次结束后重启',
278
+ 'update.screen.phase.waitingForIdle': '等待正在运行的轮次结束,然后安装 {version}',
279
+ 'update.screen.manual': '请手动更新:{command}',
280
+ 'update.screen.changeInGeneral': '请在 General 中更改。',
281
+ 'update.screen.button.modeOn': '自动',
282
+ 'update.screen.button.modeNotify': '仅通知',
283
+ 'update.screen.button.modeOff': '关',
284
+ 'update.screen.button.whatsNewOn': '📰 更新内容:开',
285
+ 'update.screen.button.whatsNewOff': '📰 更新内容:关',
286
+ 'update.screen.button.check': '🔄 立即检查',
287
+ 'update.screen.button.updateNow': '⬆️ 立即更新到 {version}',
288
+ 'update.cmd.usage': '用法:/update — 界面;/update on|notify|off;/update whatsnew on|off;/update check;/update now。',
289
+ 'update.cmd.generalOnly': 'ℹ️ 请在 General 中更改。',
290
+ 'update.cmd.notReady': 'ℹ️ 更新程序仍在启动 — 请稍后再试。',
291
+ 'update.cmd.modeSet.on': '✅ 自动更新:开。',
292
+ 'update.cmd.modeSet.notify': '✅ 自动更新:仅通知。',
293
+ 'update.cmd.modeSet.off': '✅ 自动更新:关。',
294
+ 'update.cmd.whatsNewSet.on': '✅ 更新后的新内容:显示。',
295
+ 'update.cmd.whatsNewSet.off': '✅ 更新后的新内容:不显示。',
296
+ 'update.cmd.writeFailed': '⚠️ 无法保存设置:{path} 不可写({code})。请使其目录可写。',
297
+ 'update.cmd.installStarted': '⬆️ 正在更新到 {version} — 没有代理在工作时立即安装。',
298
+ 'update.cmd.upToDate': 'ℹ️ 已是最新。',
299
+ 'update.cmd.blocked': 'ℹ️ 未更新 — {reason}',
300
+ 'update.cmd.busy': 'ℹ️ 更新已在进行中。',
301
+ 'update.cmd.cannotInstall': 'ℹ️ 此安装无法自行更新 — 请手动更新(见 /update)。',
302
+ 'update.cmd.checking': '正在检查…',
303
+ 'version.updateAvailable': '⬆️ 有可用更新:{version} — /update',
198
304
  'effort.set_success': '✅ Effort: {level}',
199
305
  'effort.current_hint': '⚙️ Effort:{effort}\n运行 /effort 可更改',
200
306
  'effort.invalid_level': '⚠️ 级别 `{level}` 无效。可用:{valid}。',
@@ -1 +1 @@
1
- {"version":3,"file":"zh.js","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zh.js","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { type ConfigFileLoad, type ConfigValidation } from './configDirFile';
2
2
  import { type ClaudeEffortLevel } from './effortLevels';
3
+ import { type AutoUpdateMode, type UpdateSettings } from './selfUpdate/updateModes';
3
4
  /**
4
5
  * @description The instance-wide settings: ONE JSON file, `settings.json`, in the charness config directory
5
6
  * (beside the instance's real `.env`, like `stt.json`). `/effort` in the General topic writes it; an operator may
6
7
  * hand-edit it and the next read sees the edit (the load is cached by file stamp, no restart). More instance
7
- * settings will move here later; today it holds `defaultEffort`.
8
+ * settings will move here later; today it holds `defaultEffort`, `autoUpdate` and `whatsNew`.
8
9
  *
9
10
  * Validation is strict and all-or-nothing, like `stt.json`: a typo is an error that NAMES the field. Unlike
10
11
  * `stt.json`, an invalid file is NOT served from its last good copy — the built-in defaults apply and one error
@@ -16,6 +17,10 @@ export declare const instanceSettingsFileName = "settings.json";
16
17
  export interface InstanceSettings {
17
18
  /** The reasoning effort of every topic that has no `/effort` pick of its own (see `getInstanceDefaultEffort`). */
18
19
  defaultEffort: ClaudeEffortLevel | null;
20
+ /** Whether the bot updates itself (`on`), only says a new version is out (`notify`) or never looks (`off`); `null` = `on`. */
21
+ autoUpdate: AutoUpdateMode | null;
22
+ /** Whether the list of changes is posted after a version change; `null` = yes. */
23
+ whatsNew: boolean | null;
19
24
  }
20
25
  /** @description The settings of an instance that has no `settings.json`: nothing set. */
21
26
  export declare function createEmptyInstanceSettings(): InstanceSettings;
@@ -49,4 +54,10 @@ export declare function loadInstanceSettingsForUpdate(filePath: string): Instanc
49
54
  * file — not one per session start.
50
55
  */
51
56
  export declare function createInstanceDefaultEffortReader(getFilePath: () => string, logError: (line: string) => void): () => ClaudeEffortLevel | null;
57
+ /**
58
+ * @description The reader the update engine and the `/update` screen use: `settings.json`'s `autoUpdate` and `whatsNew` with the
59
+ * defaults (`on`, shown) filled in, re-read when the file changes — a hand edit applies at the next check. An invalid file reads
60
+ * as the defaults, and `logError` gets ONE line per distinct broken state (not one per read).
61
+ */
62
+ export declare function createUpdateSettingsReader(getFilePath: () => string, logError: (line: string) => void): () => UpdateSettings;
52
63
  //# sourceMappingURL=instanceSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instanceSettings.d.ts","sourceRoot":"","sources":["../src/instanceSettings.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE5E;;;;;;;;;GASG;AAEH,kCAAkC;AAClC,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AAKxD,wHAAwH;AACxH,MAAM,WAAW,gBAAgB;IAC/B,kHAAkH;IAClH,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACzC;AAMD,yFAAyF;AACzF,wBAAgB,2BAA2B,IAAI,gBAAgB,CAE9D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAS/F;AAED,+HAA+H;AAC/H,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,OAAO,GAAE,MAAqB,GAAG,MAAM,CAEpH;AAED,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAQpE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,wDAA8B,CAAC;AAEhE,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,YAAoC,CAAC;AAE5E,2GAA2G;AAC3G,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAKvF;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAGhF;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,MAAM,MAAM,EACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC/B,MAAM,iBAAiB,GAAG,IAAI,CAchC"}
1
+ {"version":3,"file":"instanceSettings.d.ts","sourceRoot":"","sources":["../src/instanceSettings.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAA2D,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE7I;;;;;;;;;GASG;AAEH,kCAAkC;AAClC,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AAKxD,wHAAwH;AACxH,MAAM,WAAW,gBAAgB;IAC/B,kHAAkH;IAClH,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,8HAA8H;IAC9H,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC,kFAAkF;IAClF,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAQD,yFAAyF;AACzF,wBAAgB,2BAA2B,IAAI,gBAAgB,CAE9D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAgB/F;AAED,+HAA+H;AAC/H,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,OAAO,GAAE,MAAqB,GAAG,MAAM,CAEpH;AAED,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAQpE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,wDAA8B,CAAC;AAEhE,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,YAAoC,CAAC;AAE5E,2GAA2G;AAC3G,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAUvF;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAGhF;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,MAAM,MAAM,EACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC/B,MAAM,iBAAiB,GAAG,IAAI,CAchC;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,cAAc,CAc5H"}
@@ -40,15 +40,17 @@ exports.getInstanceSettingsPath = getInstanceSettingsPath;
40
40
  exports.saveInstanceSettings = saveInstanceSettings;
41
41
  exports.loadInstanceSettingsForUpdate = loadInstanceSettingsForUpdate;
42
42
  exports.createInstanceDefaultEffortReader = createInstanceDefaultEffortReader;
43
+ exports.createUpdateSettingsReader = createUpdateSettingsReader;
43
44
  const os = __importStar(require("os"));
44
45
  const zod_1 = require("zod");
45
46
  const configDirFile_1 = require("./configDirFile");
46
47
  const effortLevels_1 = require("./effortLevels");
48
+ const updateModes_1 = require("./selfUpdate/updateModes");
47
49
  /**
48
50
  * @description The instance-wide settings: ONE JSON file, `settings.json`, in the charness config directory
49
51
  * (beside the instance's real `.env`, like `stt.json`). `/effort` in the General topic writes it; an operator may
50
52
  * hand-edit it and the next read sees the edit (the load is cached by file stamp, no restart). More instance
51
- * settings will move here later; today it holds `defaultEffort`.
53
+ * settings will move here later; today it holds `defaultEffort`, `autoUpdate` and `whatsNew`.
52
54
  *
53
55
  * Validation is strict and all-or-nothing, like `stt.json`: a typo is an error that NAMES the field. Unlike
54
56
  * `stt.json`, an invalid file is NOT served from its last good copy — the built-in defaults apply and one error
@@ -60,10 +62,12 @@ exports.instanceSettingsFileName = 'settings.json';
60
62
  const settingsFileMode = 0o644;
61
63
  const rawSettingsSchema = zod_1.z.strictObject({
62
64
  defaultEffort: zod_1.z.enum(effortLevels_1.claudeEffortLevels).optional(),
65
+ autoUpdate: zod_1.z.enum(updateModes_1.autoUpdateModes).optional(),
66
+ whatsNew: zod_1.z.boolean().optional(),
63
67
  });
64
68
  /** @description The settings of an instance that has no `settings.json`: nothing set. */
65
69
  function createEmptyInstanceSettings() {
66
- return { defaultEffort: null };
70
+ return { defaultEffort: null, autoUpdate: null, whatsNew: null };
67
71
  }
68
72
  /**
69
73
  * @description Validate a parsed `settings.json` object. Every error names its field
@@ -77,7 +81,14 @@ function validateInstanceSettings(parsedJson) {
77
81
  errors: parsed.error.issues.map((issue) => `${exports.instanceSettingsFileName} ${issue.path.join('.') || '(root)'}: ${issue.message}`),
78
82
  };
79
83
  }
80
- return { ok: true, config: { defaultEffort: parsed.data.defaultEffort ?? null } };
84
+ return {
85
+ ok: true,
86
+ config: {
87
+ defaultEffort: parsed.data.defaultEffort ?? null,
88
+ autoUpdate: parsed.data.autoUpdate ?? null,
89
+ whatsNew: parsed.data.whatsNew ?? null,
90
+ },
91
+ };
81
92
  }
82
93
  /** @description Where `settings.json` lives: the config directory of the instance's REAL env file (`getConfigDirFilePath`). */
83
94
  function getInstanceSettingsPath(env = process.env, homeDir = os.homedir()) {
@@ -98,7 +109,12 @@ exports.loadInstanceSettings = instanceSettingsLoader.load;
98
109
  exports.resetInstanceSettingsCache = instanceSettingsLoader.resetCache;
99
110
  /** @description Write `settings` to `filePath`: validated first, then through a temp file and a rename. */
100
111
  function saveInstanceSettings(filePath, settings) {
101
- const body = settings.defaultEffort === null ? {} : { defaultEffort: settings.defaultEffort };
112
+ // A field that is not set is left out of the file, so the file says only what the operator chose.
113
+ const body = {
114
+ ...(settings.defaultEffort === null ? {} : { defaultEffort: settings.defaultEffort }),
115
+ ...(settings.autoUpdate === null ? {} : { autoUpdate: settings.autoUpdate }),
116
+ ...(settings.whatsNew === null ? {} : { whatsNew: settings.whatsNew }),
117
+ };
102
118
  const validation = validateInstanceSettings(body);
103
119
  if (!validation.ok)
104
120
  throw new Error(`refusing to write an invalid ${exports.instanceSettingsFileName}: ${validation.errors.join('; ')}`);
@@ -133,4 +149,24 @@ function createInstanceDefaultEffortReader(getFilePath, logError) {
133
149
  return load.config.defaultEffort;
134
150
  };
135
151
  }
152
+ /**
153
+ * @description The reader the update engine and the `/update` screen use: `settings.json`'s `autoUpdate` and `whatsNew` with the
154
+ * defaults (`on`, shown) filled in, re-read when the file changes — a hand edit applies at the next check. An invalid file reads
155
+ * as the defaults, and `logError` gets ONE line per distinct broken state (not one per read).
156
+ */
157
+ function createUpdateSettingsReader(getFilePath, logError) {
158
+ let lastReportedLoad = null;
159
+ return () => {
160
+ const load = (0, exports.loadInstanceSettings)(getFilePath());
161
+ if (load.status === 'invalid') {
162
+ if (load !== lastReportedLoad) {
163
+ lastReportedLoad = load;
164
+ logError(`[Settings] ${load.errors.join('; ')} (the built-in defaults apply until it is fixed)`);
165
+ }
166
+ return { autoUpdate: updateModes_1.defaultAutoUpdateMode, whatsNew: updateModes_1.defaultWhatsNew };
167
+ }
168
+ lastReportedLoad = null;
169
+ return { autoUpdate: load.config.autoUpdate ?? updateModes_1.defaultAutoUpdateMode, whatsNew: load.config.whatsNew ?? updateModes_1.defaultWhatsNew };
170
+ };
171
+ }
136
172
  //# sourceMappingURL=instanceSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instanceSettings.js","sourceRoot":"","sources":["../src/instanceSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instanceSettings.js","sourceRoot":"","sources":["../src/instanceSettings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { type CommandRunner } from './commandRunner';
2
+ import { type InstallKindFs } from './installKind';
3
+ import type { UpdatePendingMarker } from './updatePending';
4
+ /**
5
+ * Putting the PREVIOUS version back when a new one cannot boot — run by the boot itself, before the bot module is imported.
6
+ * It re-detects the install kind (the marker says what was installed, not where) and goes back the way the update went:
7
+ * npm reinstalls the previous version from the cache where it can, a checkout resets to the previous commit and rebuilds.
8
+ */
9
+ export interface BootRollbackOptions {
10
+ /** The folder of the install that is running (holds `package.json` and `dist/`). */
11
+ packageRoot: string;
12
+ execPath: string;
13
+ platform: NodeJS.Platform;
14
+ hasExecve: boolean;
15
+ /** A hot worker: the checkout's watcher rebuilds after the reset, a second build beside it would race. */
16
+ isHotWorker: boolean;
17
+ runCommand?: CommandRunner;
18
+ filesystem?: InstallKindFs;
19
+ }
20
+ /** @description The function {@link runBootUpdateCheck} calls to go back; it throws an {@link UpdateSourceError} the log can print. */
21
+ export declare function createBootRollback(options: BootRollbackOptions): (marker: UpdatePendingMarker) => Promise<void>;
22
+ //# sourceMappingURL=bootRollback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootRollback.d.ts","sourceRoot":"","sources":["../../src/selfUpdate/bootRollback.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEtF,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;GAIG;AAEH,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,0GAA0G;IAC1G,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAgBD,uIAAuI;AACvI,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAkB/G"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createBootRollback = createBootRollback;
37
+ const fs = __importStar(require("fs"));
38
+ const commandRunner_1 = require("./commandRunner");
39
+ const gitSource_1 = require("./gitSource");
40
+ const installKind_1 = require("./installKind");
41
+ const npmSource_1 = require("./npmSource");
42
+ function createDefaultFilesystem() {
43
+ return {
44
+ checkExists: (target) => fs.existsSync(target),
45
+ checkIsWritable: (directory) => {
46
+ try {
47
+ fs.accessSync(directory, fs.constants.W_OK);
48
+ return true;
49
+ }
50
+ catch {
51
+ return false;
52
+ }
53
+ },
54
+ };
55
+ }
56
+ /** @description The function {@link runBootUpdateCheck} calls to go back; it throws an {@link UpdateSourceError} the log can print. */
57
+ function createBootRollback(options) {
58
+ const runCommand = options.runCommand ?? commandRunner_1.runCommand;
59
+ return async (marker) => {
60
+ const installKind = (0, installKind_1.detectInstallKind)({
61
+ packageRoot: options.packageRoot,
62
+ fs: options.filesystem ?? createDefaultFilesystem(),
63
+ platform: options.platform,
64
+ hasExecve: options.hasExecve,
65
+ });
66
+ if (marker.kind === 'npm') {
67
+ if (installKind.kind !== 'npmGlobal')
68
+ throw new npmSource_1.UpdateSourceError(`this install is not an npm global one any more (${installKind.kind})`);
69
+ await (0, npmSource_1.createNpmSource)({ runCommand, execPath: options.execPath, prefix: installKind.prefix }).install(marker.from.version, { isRollback: true });
70
+ return;
71
+ }
72
+ if (installKind.kind !== 'checkout')
73
+ throw new npmSource_1.UpdateSourceError(`this install is not a git checkout any more (${installKind.kind})`);
74
+ if (marker.from.commit === null || marker.to.commit === null)
75
+ throw new npmSource_1.UpdateSourceError('the marker names no commit to go back to');
76
+ await (0, gitSource_1.createGitSource)({ runCommand, root: installKind.root }).rollback({ from: marker.from.commit, to: marker.to.commit, isHot: options.isHotWorker });
77
+ };
78
+ }
79
+ //# sourceMappingURL=bootRollback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootRollback.js","sourceRoot":"","sources":["../../src/selfUpdate/bootRollback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,gDAkBC;AA1DD,uCAAyB;AACzB,mDAAsF;AACtF,2CAA8C;AAC9C,+CAAsE;AACtE,2CAAiE;AAqBjE,SAAS,uBAAuB;IAC9B,OAAO;QACL,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAC9C,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,uIAAuI;AACvI,SAAgB,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,0BAAiB,CAAC;IAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE;QACtB,MAAM,WAAW,GAAG,IAAA,+BAAiB,EAAC;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,EAAE,EAAE,OAAO,CAAC,UAAU,IAAI,uBAAuB,EAAE;YACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1B,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW;gBAAE,MAAM,IAAI,6BAAiB,CAAC,mDAAmD,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;YAC1I,MAAM,IAAA,2BAAe,EAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YACjJ,OAAO;QACT,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU;YAAE,MAAM,IAAI,6BAAiB,CAAC,gDAAgD,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;QACtI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,6BAAiB,CAAC,0CAA0C,CAAC,CAAC;QACtI,MAAM,IAAA,2BAAe,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACzJ,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ export interface CommandResult {
2
+ ok: boolean;
3
+ /** `null` when the process never started or was killed (timeout). */
4
+ exitCode: number | null;
5
+ stdout: string;
6
+ stderr: string;
7
+ isTimedOut: boolean;
8
+ }
9
+ export interface CommandOptions {
10
+ cwd?: string;
11
+ env?: NodeJS.ProcessEnv;
12
+ /** A finite child gets a deadline that runs the failure path: the process is killed when it passes. */
13
+ timeoutMs: number;
14
+ }
15
+ /** Runs a command to its end; never throws — a failure is a result the caller words. */
16
+ export type CommandRunner = (file: string, args: readonly string[], options: CommandOptions) => Promise<CommandResult>;
17
+ /** @description The real runner: `execFile` with a deadline. */
18
+ export declare const runCommand: CommandRunner;
19
+ /** @description The last `lineCount` non-empty lines of a command's output, for a failure message. */
20
+ export declare function getOutputTail(result: CommandResult, lineCount?: number): string;
21
+ //# sourceMappingURL=commandRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandRunner.d.ts","sourceRoot":"","sources":["../../src/selfUpdate/commandRunner.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,qEAAqE;IACrE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,uGAAuG;IACvG,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wFAAwF;AACxF,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAKvH,gEAAgE;AAChE,eAAO,MAAM,UAAU,EAAE,aAsBrB,CAAC;AAEL,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,SAAI,GAAG,MAAM,CAG1E"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runCommand = void 0;
4
+ exports.getOutputTail = getOutputTail;
5
+ const child_process_1 = require("child_process");
6
+ /** Large enough for an npm install's or a build's output; the engine keeps only a tail of it. */
7
+ const maxOutputBytes = 32 * 1024 * 1024;
8
+ /** @description The real runner: `execFile` with a deadline. */
9
+ const runCommand = (file, args, options) => new Promise((resolve) => {
10
+ (0, child_process_1.execFile)(file, [...args], { cwd: options.cwd, env: options.env, timeout: options.timeoutMs, maxBuffer: maxOutputBytes, encoding: 'utf8' }, (error, stdout, stderr) => {
11
+ if (!error) {
12
+ resolve({ ok: true, exitCode: 0, stdout, stderr, isTimedOut: false });
13
+ return;
14
+ }
15
+ // `execFile` reports a killed (timed out) child with `killed` and a null code, a failed start with a string code.
16
+ const isTimedOut = error.killed === true;
17
+ resolve({
18
+ ok: false,
19
+ exitCode: typeof error.code === 'number' ? error.code : null,
20
+ stdout,
21
+ stderr: stderr || error.message,
22
+ isTimedOut,
23
+ });
24
+ });
25
+ });
26
+ exports.runCommand = runCommand;
27
+ /** @description The last `lineCount` non-empty lines of a command's output, for a failure message. */
28
+ function getOutputTail(result, lineCount = 5) {
29
+ const lines = `${result.stderr}\n${result.stdout}`.split('\n').map((line) => line.trim()).filter((line) => line !== '');
30
+ return lines.slice(-lineCount).join('\n');
31
+ }
32
+ //# sourceMappingURL=commandRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandRunner.js","sourceRoot":"","sources":["../../src/selfUpdate/commandRunner.ts"],"names":[],"mappings":";;;AAkDA,sCAGC;AArDD,iDAAyC;AAqBzC,iGAAiG;AACjG,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAExC,gEAAgE;AACzD,MAAM,UAAU,GAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAC/D,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtB,IAAA,wBAAQ,EACN,IAAI,EACJ,CAAC,GAAG,IAAI,CAAC,EACT,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC/G,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,kHAAkH;QAClH,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;QACzC,OAAO,CAAC;YACN,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC5D,MAAM;YACN,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO;YAC/B,UAAU;SACX,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAtBQ,QAAA,UAAU,cAsBlB;AAEL,sGAAsG;AACtG,SAAgB,aAAa,CAAC,MAAqB,EAAE,SAAS,GAAG,CAAC;IAChE,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACxH,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,26 @@
1
+ /** How often the engine checks for a new version once it has started checking. */
2
+ export declare const checkIntervalMs: number;
3
+ /** How long after the bot starts the first check runs (a restart storm must not hammer the registry or the remote). */
4
+ export declare const firstCheckDelayMs: number;
5
+ /** npm: how long after the bot first saw a version it waits before installing, notifying or offering it. */
6
+ export declare const npmHoldMs: number;
7
+ /** No human message for this long before an automatic install may restart the bot. */
8
+ export declare const quietPeriodMs: number;
9
+ /** How often a waiting install re-checks whether the bot has become idle. */
10
+ export declare const idlePollIntervalMs: number;
11
+ /** An npm install, a checkout's pull + install + build, a rollback. */
12
+ export declare const installTimeoutMs: number;
13
+ /** A read-only registry / remote query (`npm view`, `self-update.sh --check`). */
14
+ export declare const queryTimeoutMs: number;
15
+ /** How old a host-wide update lock may get before it is taken over even though its pid answers. */
16
+ export declare const hostLockStaleMs: number;
17
+ export declare const selfCheckTimeoutMs: number;
18
+ /** Hot mode: a pull that has not produced a new worker after this long is a failed build. */
19
+ export declare const hotBuildDeadlineMs: number;
20
+ /** A boot counts as confirmed this long after Telegram launched. */
21
+ export declare const bootConfirmMs: number;
22
+ /** A new version that boots this many times without being confirmed is rolled back. */
23
+ export declare const maxUnconfirmedBoots = 2;
24
+ /** The most items a "what's new" summary lists before "…and N more". */
25
+ export declare const whatsNewItemLimit = 8;
26
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/selfUpdate/constants.ts"],"names":[],"mappings":"AAGA,kFAAkF;AAClF,eAAO,MAAM,eAAe,QAAS,CAAC;AACtC,uHAAuH;AACvH,eAAO,MAAM,iBAAiB,QAAgB,CAAC;AAC/C,4GAA4G;AAC5G,eAAO,MAAM,SAAS,QAAa,CAAC;AACpC,sFAAsF;AACtF,eAAO,MAAM,aAAa,QAAgB,CAAC;AAC3C,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,QAAY,CAAC;AAC5C,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,QAAgB,CAAC;AAC9C,kFAAkF;AAClF,eAAO,MAAM,cAAc,QAAe,CAAC;AAC3C,mGAAmG;AACnG,eAAO,MAAM,eAAe,QAAgB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,QAAY,CAAC;AAC5C,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,QAAgB,CAAC;AAChD,oEAAoE;AACpE,eAAO,MAAM,aAAa,QAAY,CAAC;AACvC,uFAAuF;AACvF,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,IAAI,CAAC"}