@songsid/agend 2.3.0-beta.26 → 2.3.0-beta.27
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 +7 -5
- package/README.zh-TW.md +7 -5
- package/dist/agent-whats-new.js +12 -2
- package/dist/agent-whats-new.js.map +1 -1
- package/dist/channel/adapters/discord.d.ts +2 -0
- package/dist/channel/adapters/discord.js +11 -1
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +29 -0
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +4 -2
- package/dist/config-validator.js.map +1 -1
- package/dist/daemon.js +3 -1
- package/dist/daemon.js.map +1 -1
- package/dist/doctor.d.ts +3 -0
- package/dist/doctor.js +10 -0
- package/dist/doctor.js.map +1 -1
- package/dist/fleet-manager.d.ts +8 -1
- package/dist/fleet-manager.js +83 -13
- package/dist/fleet-manager.js.map +1 -1
- package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +10 -10
- package/dist/general-knowledge/skills/web-dashboard/SKILL.md +10 -10
- package/dist/idle-gate-log.d.ts +19 -0
- package/dist/idle-gate-log.js +15 -0
- package/dist/idle-gate-log.js.map +1 -0
- package/dist/locale.js +18 -6
- package/dist/locale.js.map +1 -1
- package/dist/public-web-gateway.js +3 -0
- package/dist/public-web-gateway.js.map +1 -1
- package/dist/start-attempt.d.ts +1 -0
- package/dist/start-attempt.js +18 -0
- package/dist/start-attempt.js.map +1 -0
- package/dist/start-failure-notice.d.ts +4 -0
- package/dist/start-failure-notice.js +20 -0
- package/dist/start-failure-notice.js.map +1 -0
- package/dist/start-failure.d.ts +147 -0
- package/dist/start-failure.js +281 -0
- package/dist/start-failure.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/ui/chat-render.js +6 -2
- package/dist/ui/chat-strings.js +2 -2
- package/dist/ui/panel-chat.js +21 -9
- package/dist/ui/shared/app-shell.js +50 -9
- package/dist/ui/shared/app.css +34 -14
- package/dist/ui/shared/tokens.css +4 -0
- package/dist/update-progress.d.ts +3 -1
- package/dist/update-progress.js +3 -1
- package/dist/update-progress.js.map +1 -1
- package/dist/web-api.d.ts +4 -0
- package/dist/web-api.js +6 -3
- package/dist/web-api.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ AgEnD (**Agent Engineering Daemon**) turns your Telegram, Discord or browser int
|
|
|
17
17
|
<code>You → Telegram/Discord/Web → AgEnD → Fleet of AI Agents → Results back to you</code>
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
|
-
[繁體中文](README.zh-TW.md) · [Documentation](docs/features.md) · [CLI Reference](docs/cli.md) · [2.
|
|
20
|
+
[繁體中文](README.zh-TW.md) · [Documentation](docs/features.md) · [CLI Reference](docs/cli.md) · [2.3 what’s new](docs/whats-new-2.3.md) · [Upgrading to 2.3](docs/upgrade-2.3.md)
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -45,7 +45,9 @@ AgEnD (**Agent Engineering Daemon**) turns your Telegram, Discord or browser int
|
|
|
45
45
|
|
|
46
46
|
## Feature Highlights
|
|
47
47
|
|
|
48
|
-
✨ **New in 2.
|
|
48
|
+
✨ **New in 2.3:** a task board (Fleet › Tasks) that can remind you in chat, global search with Ctrl+K, an Office view of the fleet, your own domain for the public link, and a one-line Windows installer. See [What's new in 2.3](docs/whats-new-2.3.md), and [Upgrading from 2.2 to 2.3](docs/upgrade-2.3.md).
|
|
49
|
+
|
|
50
|
+
<p align="center"><img src="docs/assets/whats-new-2.3/task-board.webp" width="760" alt="The task board, with made-up demo data: the Leaderboard project with one card each in To do, In progress and Blocked; the blocked card shows its question, “Which scores count: ranked games only?”."></p>
|
|
49
51
|
|
|
50
52
|
🚀 **Fleet Management** — One bot, N projects. Each Telegram forum topic or Discord channel is an isolated agent session.
|
|
51
53
|
|
|
@@ -77,7 +79,7 @@ AgEnD (**Agent Engineering Daemon**) turns your Telegram, Discord or browser int
|
|
|
77
79
|
|
|
78
80
|
🔌 **Extensible** — Adapter plugins, webhook notifications, health endpoint, external session support via IPC.
|
|
79
81
|
|
|
80
|
-
👥 **Teams & Task Board** — Named groups for targeted broadcasting. Shared task board for multi-step work
|
|
82
|
+
👥 **Teams & Task Board** — Named groups for targeted broadcasting. Shared task board (Fleet › Tasks) for multi-step work across instances, with dependencies and comments. Turn on the chat reminders with `needs_you.task_board: true`.
|
|
81
83
|
|
|
82
84
|
📋 **Fleet Templates** — Define reusable fleet configurations. Deploy multi-instance setups with one command; supply `branch` to give each role its own git worktree.
|
|
83
85
|
|
|
@@ -165,9 +167,9 @@ graph LR
|
|
|
165
167
|
| Grok Build | `curl -fsSL https://x.ai/cli/install.sh \| bash` | `grok` (x.ai OAuth device flow). Needs CLI 1.0.13 or later; run `grok update` if the server refuses an older one |
|
|
166
168
|
| Meta Muse Code | `mkdir -p "$HOME/.local/bin" && curl -fsSL https://api.meta.ai/muse-launcher.sh -o "$HOME/.local/bin/muse" && chmod +x "$HOME/.local/bin/muse" && MUSE_LAUNCHER_INSTALL=1 "$HOME/.local/bin/muse"` (the launcher keeps its binary beside itself, so it is saved first) | `muse login` |
|
|
167
169
|
|
|
168
|
-
**Or install from chat with `/login <backend>`** (
|
|
170
|
+
**Or install from chat with `/login <backend>`** (fleet admins only), without SSH-ing into the host: when the CLI is not installed yet, `/login` runs the command above in a fleet window, finds the CLI where its installer put it, adds that directory to the fleet's PATH, and offers sign-in where supported. OpenCode and Muse are install-only; Antigravity can be installed but has no isolated remote sign-in. A bare `/login` offers the available sign-in and missing-CLI installation actions.
|
|
169
171
|
|
|
170
|
-
**Tested CLI versions (AgEnD 2.
|
|
172
|
+
**Tested CLI versions (AgEnD 2.3.0).** Claude Code 2.1.308, Grok CLI 1.0.67 and Muse 1.4.11-R6667.1 were audited against AgEnD end to end. Kiro CLI up to 2.33.0: a newer kiro-cli still starts, with a warning that it is untested. Codex 0.163.0, checked for its package, recovery and quota handling. Antigravity (agy) 1.3.6. OpenCode 1.18.34. New CLI releases are audited daily, so a newer version may already work. A new release can change its screens, though, so AgEnD only claims a version once it has been tested against it.
|
|
171
173
|
|
|
172
174
|
## Requirements
|
|
173
175
|
|
package/README.zh-TW.md
CHANGED
|
@@ -17,7 +17,7 @@ AgEnD(**Agent Engineering Daemon**)把你的 Telegram、Discord 或瀏覽器
|
|
|
17
17
|
<code>你 → Telegram/Discord/網頁 → AgEnD → AI Agent 團隊 → 結果回到你手上</code>
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
|
-
[English](README.md) · [功能文件](docs/features.zh-TW.md) · [CLI 參考](docs/cli.zh-TW.md) · [2.
|
|
20
|
+
[English](README.md) · [功能文件](docs/features.zh-TW.md) · [CLI 參考](docs/cli.zh-TW.md) · [2.3 新功能](docs/whats-new-2.3.zh-TW.md) · [升級到 2.3](docs/upgrade-2.3.zh-TW.md)
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -45,7 +45,9 @@ AgEnD(**Agent Engineering Daemon**)把你的 Telegram、Discord 或瀏覽器
|
|
|
45
45
|
|
|
46
46
|
## 功能亮點
|
|
47
47
|
|
|
48
|
-
✨ **2.
|
|
48
|
+
✨ **2.3 新功能:** 任務看板(Fleet › Tasks),可以在聊天中提醒你;全域搜尋(Ctrl+K);fleet 的組織圖新增 Office 檢視;公開連結可以使用自己的網域;以及一行指令完成的 Windows 安裝。詳見 [2.3 新功能](docs/whats-new-2.3.zh-TW.md),以及[從 2.2 升級到 2.3](docs/upgrade-2.3.zh-TW.md)。
|
|
49
|
+
|
|
50
|
+
<p align="center"><img src="docs/assets/whats-new-2.3/task-board.webp" width="760" alt="任務看板(示範資料):Leaderboard 專案,待辦、進行中、卡住各一張卡;卡住的那張顯示它的問題「Which scores count: ranked games only?」。"></p>
|
|
49
51
|
|
|
50
52
|
🚀 **Fleet 管理** — 一個 bot、N 個專案。每個 Telegram forum topic 或 Discord 頻道,就是一個獨立的 agent session。
|
|
51
53
|
|
|
@@ -77,7 +79,7 @@ AgEnD(**Agent Engineering Daemon**)把你的 Telegram、Discord 或瀏覽器
|
|
|
77
79
|
|
|
78
80
|
🔌 **可擴充** — 轉接器外掛、webhook 通知、health endpoint、外部 session 透過 IPC 連入。
|
|
79
81
|
|
|
80
|
-
👥 **團隊與任務看板** —
|
|
82
|
+
👥 **團隊與任務看板** — 用具名群組做定向廣播;共用的任務看板(Fleet › Tasks)讓多個 instance 一起追蹤多步驟的工作,支援依賴關係與留言。要在聊天中收到提醒,請設定 `needs_you.task_board: true`。
|
|
81
83
|
|
|
82
84
|
📋 **Fleet 範本** — 把常用的 fleet 設定存成範本,一個指令就能部署多個 instance;指定 `branch` 才會為各角色建立獨立的 git worktree。
|
|
83
85
|
|
|
@@ -165,9 +167,9 @@ graph LR
|
|
|
165
167
|
| Grok Build | `curl -fsSL https://x.ai/cli/install.sh \| bash` | `grok`(x.ai OAuth device flow)。CLI 需 1.0.13 以上,舊版會被伺服器拒絕,請執行 `grok update` |
|
|
166
168
|
| Meta Muse Code | `mkdir -p "$HOME/.local/bin" && curl -fsSL https://api.meta.ai/muse-launcher.sh -o "$HOME/.local/bin/muse" && chmod +x "$HOME/.local/bin/muse" && MUSE_LAUNCHER_INSTALL=1 "$HOME/.local/bin/muse"`(launcher 會把 binary 放在自己旁邊,所以要先存檔) | `muse login` |
|
|
167
169
|
|
|
168
|
-
**也可以在聊天室用 `/login <backend>`
|
|
170
|
+
**也可以在聊天室用 `/login <backend>` 安裝**(僅限 fleet 管理員),不必 SSH 進主機:CLI 還沒安裝時,`/login` 會在 fleet 視窗執行上表的指令,到安裝程式實際放置的位置找到 CLI,把那個目錄加進 fleet 的 PATH,並在支援時提供登入。OpenCode 與 Muse 只能安裝;Antigravity 可安裝,但沒有獨立的遠端登入流程。單獨輸入 `/login` 會列出可用的登入及缺少 CLI 的安裝操作。
|
|
169
171
|
|
|
170
|
-
**已測試的 CLI 版本(AgEnD 2.
|
|
172
|
+
**已測試的 CLI 版本(AgEnD 2.3.0)**:Claude Code 2.1.308、Grok CLI 1.0.67、Muse 1.4.11-R6667.1 經過與 AgEnD 的完整檢查。Kiro CLI 到 2.33.0;更新的 kiro-cli 仍可啟動,但會提醒尚未測試。Codex 0.163.0(檢查了套件、復原與額度處理)。Antigravity(agy)1.3.6。OpenCode 1.18.34。新的 CLI 版本每天都會檢查,所以更新的版本可能已經可以用;不過新版本可能改變畫面,AgEnD 只在實際測過後才列出支援的版本。
|
|
171
173
|
|
|
172
174
|
## 系統需求
|
|
173
175
|
|
package/dist/agent-whats-new.js
CHANGED
|
@@ -48,9 +48,9 @@ export const AGENT_WHATS_NEW = [
|
|
|
48
48
|
// install would never be told. The ids keep their 2.3- names: the record is by id, so an instance already told on a
|
|
49
49
|
// 2.3.0 beta is not told again. An entry added before 2.2.5 is cut takes `since: "2.2.5"` too.
|
|
50
50
|
{ id: "2.3-web-appearance-topic", since: "2.2.5",
|
|
51
|
-
text: "Web appearance — your own look on the web dashboard: theme, identity card and identity colour, widgets and mods, and Canvas Worker effects with Try, which are
|
|
51
|
+
text: "Web appearance — your own look on the web dashboard: theme, identity card and identity colour, widgets and mods, and Canvas Worker effects with Try, which are experimental — off unless the person turns them on (`get_web_appearance`, `set_web_theme`, `set_web_widget`, `export_web_mod`, `upload_web_effect`, …). Load the `web-appearance` skill before using these tools: it has their parameters, limits and rules." },
|
|
52
52
|
{ id: "2.3-web-settings-for-the-user", since: "2.2.5", audience: ["general", "coordinator"],
|
|
53
|
-
text: "General (and coordinators): `get_web_settings` / `set_web_settings` read and change the user's Settings → Web appearance the way the page does — host settings, an agent's colour, custom CSS, proposed mods, Canvas Worker effects (
|
|
53
|
+
text: "General (and coordinators): `get_web_settings` / `set_web_settings` read and change the user's Settings → Web appearance the way the page does — host settings, an agent's colour, custom CSS, proposed mods, Canvas Worker effects (experimental — off unless the person turns them on), Restore defaults. Load the `web-appearance` skill first." },
|
|
54
54
|
{ id: "2.3-web-ambient", since: "2.2.5",
|
|
55
55
|
text: "Ambient effects: `set_web_ambient` puts falling petals, snow, rising lanterns, twinkles or stars on a click in your web chat — data only, drawn by the dashboard, no Try needed (`clear_web_ambient` removes it). Load the `web-appearance` skill." },
|
|
56
56
|
{ id: "2.3-repo-tools", since: "2.2.5",
|
|
@@ -61,6 +61,16 @@ export const AGENT_WHATS_NEW = [
|
|
|
61
61
|
text: "`list_decisions` now answers titles by default (id, title, scope, date, tags). Read a decision's full text with `list_decisions { id }`, or all of them with `{ full: true }` (large). CLI mode: `agend-agent decision-get <id>`." },
|
|
62
62
|
{ id: "2.3-web-ordinary-requests", since: "2.2.5",
|
|
63
63
|
text: "The web-chat rule is reworded (#1939): a plain `via web` message is the signed-in person — answer it and do what it asks within your work (questions, reading, analysis, changes in your own scope). Only a go-ahead action — a release or publish, anything destructive or irreversible beyond your own work files and branches, spending beyond normal work, credentials or secrets, granting authority to another instance — needs their account behind it: a Discord or Telegram receipt, or `via web (verified)` with its receipt read (`delivery_status`). A guest only chats. The full text is in your instructions and the cross-instance-messaging skill." },
|
|
64
|
+
// 2.3.0 stable: what agents can do since 2.2.6 (2.2.5/2.2.6 = 2.3.0-beta.12's code, so everything above reached them).
|
|
65
|
+
// `since: "2.3.0"`: a 2.3.0 beta install is told these on reaching 2.3.0, once, like a 2.2.6 one.
|
|
66
|
+
{ id: "2.3.0-task-board", since: "2.3.0",
|
|
67
|
+
text: "Task board: the `task` tool also works the board — main tasks M-n and sub tasks S-n: `mine` (your work; start here after a reset), `get`, `projects`, `move` (blocked or cancelled needs a reason, finishing needs a result), `create` with `project` or `parent`, `update` with board fields. A `[Task board]` notice is news on your cards: act with the tool, no chat reply. One card in progress at a time. A card you hand out to another instance is yours to answer and confirm; only cards the person handed out wait for the person. If the person switched the task board off for you, the tool is not in your list." },
|
|
68
|
+
{ id: "2.3.0-web-reply-react", since: "2.3.0",
|
|
69
|
+
text: "Web chat: a person can reply to a specific message — it arrives with `(reply_to: \"…\")` as from Discord or Telegram. `react` now works on web-chat messages too (a `message_id` starting with `web-`, one emoji from the web set); a reaction is a complete answer to a message that only thanks or acknowledges. `reply` with `reply_to` is now a native reply on Discord and Telegram." },
|
|
70
|
+
{ id: "2.3.0-dashboard-switches", since: "2.3.0",
|
|
71
|
+
text: "The person can switch off, per agent, its dashboard tools: appearance, task board, web settings (`dashboard` in fleet.yaml). A call to a switched-off tool is refused with the reason: don't retry it or work around it; tell the person if you need it." },
|
|
72
|
+
{ id: "2.3.0-cli", since: "2.3.0", audience: ["general", "coordinator"],
|
|
73
|
+
text: "CLI: `agend restart` is the one full restart (it goes through systemd or launchd); `agend restart <instance>` restarts one. `agend fleet restart` is deprecated (removed in 2.4). Removed: `agend schedule trigger`, `agend fleet logs` (use `agend logs`), chat `/install-cli` (use `/login`), `agend install --activate`. `create_instance` reconciles by itself: no `agend reload` after it. The `fleet-restart` skill has the details." },
|
|
64
74
|
];
|
|
65
75
|
/** #2275: old sessions learn only the capabilities currently enabled. Keep the full
|
|
66
76
|
* enabled entries above intact; ambient and all unrelated entries are unchanged. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-whats-new.js","sourceRoot":"","sources":["../src/agent-whats-new.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiBzC,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,cAAc;QAC9C,IAAI,EAAE,yMAAyM,EAAE;IACnN,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc;QAC/C,IAAI,EAAE,qIAAqI,EAAE;IAC/I,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc;QACzC,IAAI,EAAE,6PAA6P,EAAE;IACvQ,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,cAAc;QAChD,IAAI,EAAE,qSAAqS,EAAE;IAC/S,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc;QAC1C,IAAI,EAAE,4IAA4I,EAAE;IACtJ,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,cAAc;QAChD,IAAI,EAAE,iLAAiL,EAAE;IAC3L,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc;QACzC,IAAI,EAAE,4WAA4W,EAAE;IACtX,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe;QACvC,IAAI,EAAE,6aAA6a,EAAE;IACvb,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe;QAC9C,IAAI,EAAE,kRAAkR,EAAE;IAC5R,EAAE,EAAE,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO;QAClD,IAAI,EAAE,wOAAwO,EAAE;IAClP,qHAAqH;IACrH,6GAA6G;IAC7G,2GAA2G;IAC3G,mEAAmE;IACnE,EAAE;IACF,oHAAoH;IACpH,iHAAiH;IACjH,oHAAoH;IACpH,+FAA+F;IAC/F,EAAE,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE,OAAO;QAC9C,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-whats-new.js","sourceRoot":"","sources":["../src/agent-whats-new.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiBzC,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,cAAc;QAC9C,IAAI,EAAE,yMAAyM,EAAE;IACnN,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc;QAC/C,IAAI,EAAE,qIAAqI,EAAE;IAC/I,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc;QACzC,IAAI,EAAE,6PAA6P,EAAE;IACvQ,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,cAAc;QAChD,IAAI,EAAE,qSAAqS,EAAE;IAC/S,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc;QAC1C,IAAI,EAAE,4IAA4I,EAAE;IACtJ,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,cAAc;QAChD,IAAI,EAAE,iLAAiL,EAAE;IAC3L,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc;QACzC,IAAI,EAAE,4WAA4W,EAAE;IACtX,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe;QACvC,IAAI,EAAE,6aAA6a,EAAE;IACvb,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe;QAC9C,IAAI,EAAE,kRAAkR,EAAE;IAC5R,EAAE,EAAE,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO;QAClD,IAAI,EAAE,wOAAwO,EAAE;IAClP,qHAAqH;IACrH,6GAA6G;IAC7G,2GAA2G;IAC3G,mEAAmE;IACnE,EAAE;IACF,oHAAoH;IACpH,iHAAiH;IACjH,oHAAoH;IACpH,+FAA+F;IAC/F,EAAE,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE,OAAO;QAC9C,IAAI,EAAE,6ZAA6Z,EAAE;IACva,EAAE,EAAE,EAAE,+BAA+B,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;QACzF,IAAI,EAAE,oVAAoV,EAAE;IAC9V,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO;QACrC,IAAI,EAAE,oPAAoP,EAAE;IAC9P,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO;QACpC,IAAI,EAAE,qLAAqL,EAAE;IAC/L,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO;QACtC,IAAI,EAAE,kfAAkf,EAAE;IAC5f,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO;QACzC,IAAI,EAAE,mOAAmO,EAAE;IAC7O,EAAE,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,OAAO;QAC/C,IAAI,EAAE,ooBAAooB,EAAE;IAC9oB,uHAAuH;IACvH,kGAAkG;IAClG,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO;QACtC,IAAI,EAAE,gmBAAgmB,EAAE;IAC1mB,EAAE,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,OAAO;QAC3C,IAAI,EAAE,2XAA2X,EAAE;IACrY,EAAE,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE,OAAO;QAC9C,IAAI,EAAE,0PAA0P,EAAE;IACpQ,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;QACrE,IAAI,EAAE,4aAA4a,EAAE;CACvb,CAAC;AAEF;oFACoF;AACpF,MAAM,UAAU,aAAa,CAAC,YAAY,GAAG,KAAK;IAChD,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,eAAe,CAAC;IAClD,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACjC,IAAI,KAAK,CAAC,EAAE,KAAK,0BAA0B;YAAE,OAAO,EAAE,GAAG,KAAK;gBAC5D,IAAI,EAAE,kTAAkT,EAAE,CAAC;QAC7T,IAAI,KAAK,CAAC,EAAE,KAAK,+BAA+B;YAAE,OAAO,EAAE,GAAG,KAAK;gBACjE,IAAI,EAAE,6QAA6Q,EAAE,CAAC;QACxR,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,OAAO,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAA2B,CAAC,OAAO,CAAC;QACxH,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1B,CAAC;AACD,sFAAsF;AACtF,MAAM,UAAU,YAAY;IAC1B,OAAO,qBAAqB,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,wDAAwD,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrG,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACnG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,qCAAqC;IACnG,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;YAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACxF,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAGD,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAEhC,qHAAqH;AACrH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QAAC,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAAC,CAAC;IAC/D,OAAO,GAAG,EAAE,CAAC;QAAC,OAAQ,GAA6B,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IAAC,CAAC;IAC/F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,MAAyB,CAAC,SAAS,CAAC;eAC5F,CAAE,MAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;YAAE,OAAO,YAAY,CAAC;QACpG,OAAO,MAAwB,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,YAAY,CAAC;IAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,GAAsB,EAAE,OAAe;IACzF,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IAC3E,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,MAAM,eAAe,GAAG,iHAAiH,CAAC;AAEjJ,8GAA8G;AAC9G,MAAM,aAAa,GAAG,iFAAiF,CAAC;AAExG,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,OAAiC;IAC/E,OAAO;QACL,mCAAmC,OAAO,yCAAyC;QACnF,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,gOAAgO;KACjO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAM5B;IAIC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACzC,IAAI,CAAC,OAAO,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChK,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;IACxE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzG,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;IACpE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;AACxF,CAAC"}
|
|
@@ -89,6 +89,8 @@ export declare class DiscordAdapter extends EventEmitter implements ChannelAdapt
|
|
|
89
89
|
private readonly staleThresholdMs;
|
|
90
90
|
private readonly reconnectBaseDelayMs;
|
|
91
91
|
private desiredRunning;
|
|
92
|
+
/** #2482: edits refused since the last stop (only the first is logged). */
|
|
93
|
+
private stoppedEditFailures;
|
|
92
94
|
private lifecycleEpoch;
|
|
93
95
|
private clientGeneration;
|
|
94
96
|
private reconnectPromise;
|
|
@@ -184,6 +184,8 @@ export class DiscordAdapter extends EventEmitter {
|
|
|
184
184
|
staleThresholdMs;
|
|
185
185
|
reconnectBaseDelayMs;
|
|
186
186
|
desiredRunning = false;
|
|
187
|
+
/** #2482: edits refused since the last stop (only the first is logged). */
|
|
188
|
+
stoppedEditFailures = 0;
|
|
187
189
|
lifecycleEpoch = 0;
|
|
188
190
|
clientGeneration = 0;
|
|
189
191
|
reconnectPromise = null;
|
|
@@ -1338,6 +1340,7 @@ export class DiscordAdapter extends EventEmitter {
|
|
|
1338
1340
|
if (this.desiredRunning && this.client.isReady())
|
|
1339
1341
|
return;
|
|
1340
1342
|
this.desiredRunning = true;
|
|
1343
|
+
this.stoppedEditFailures = 0;
|
|
1341
1344
|
const epoch = ++this.lifecycleEpoch;
|
|
1342
1345
|
this.healthStatus = "starting";
|
|
1343
1346
|
this.queue.start();
|
|
@@ -1600,7 +1603,14 @@ export class DiscordAdapter extends EventEmitter {
|
|
|
1600
1603
|
// copy. Still reject: callers such as terminal update progress explicitly
|
|
1601
1604
|
// own the policy decision to prefer a possible duplicate over a permanent
|
|
1602
1605
|
// stale X/N status.
|
|
1603
|
-
|
|
1606
|
+
// #2482: after a stop every pending edit fails the same way — one line per stop, not one per edit.
|
|
1607
|
+
const stopped = this.desiredRunning === false;
|
|
1608
|
+
const firstSinceStop = !this.stoppedEditFailures;
|
|
1609
|
+
if (stopped)
|
|
1610
|
+
this.stoppedEditFailures = (this.stoppedEditFailures ?? 0) + 1;
|
|
1611
|
+
if (!stopped || firstSinceStop) {
|
|
1612
|
+
console.warn(`[discord] editMessage failed; refusing new-message fallback because delivery outcome may be unknown: ${err instanceof Error ? err.message : String(err)}${stopped ? " (the adapter is stopped; further edits until it starts again are not logged)" : ""}`);
|
|
1613
|
+
}
|
|
1604
1614
|
throw err;
|
|
1605
1615
|
}
|
|
1606
1616
|
}
|