@songsid/agend 2.3.4-beta.1 β†’ 2.3.4-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,182 @@
1
+ /**
2
+ * #2940: keeping AgEnD's own status messages out of the ClassicBot chat logs (chat-logs/YYYY-MM-DD.log, read back as
3
+ * every bot's "[Chat log for context]").
4
+ *
5
+ * - OwnStatusMessages: the platform message ids of the status/progress bubbles ("πŸ‘€ 處理中…", posted by
6
+ * FleetManager.sendCancelButton for any bot of this fleet β€” one process holds every adapter) and the ids of messages
7
+ * the platform said were deleted. A line is never recorded for either β€” matched by id, never by text (a person may
8
+ * write γ€Œθ™•η†δΈ­γ€ too).
9
+ * - ChatLogLines: which log lines were recorded for a message id, so a line already written can be taken out again: when
10
+ * the bubble's id is learned after a sibling bot logged it (the gateway's event can arrive before the post's own REST
11
+ * answer), and when the platform says the message was deleted (the backstop).
12
+ * Both are memory only and bounded: they cover the minutes a status bubble lives, not history.
13
+ */
14
+ import { readFileSync, statSync, utimesSync } from "node:fs";
15
+ import { atomicWriteFileSync } from "./atomic-write.js";
16
+ /**
17
+ * #2943 review: the identity a status bubble, a logged line and a delete agree on β€” Discord only (the only platform where
18
+ * bots of a fleet see each other's posts, and the only one that says a message was deleted), scoped by its channel:
19
+ * Discord message ids are global, but the key never meets another platform's or chat's numbering (a Telegram "42").
20
+ */
21
+ export function discordMessageKey(channelId, messageId) {
22
+ return channelId && messageId ? `discord:${channelId}:${messageId}` : undefined;
23
+ }
24
+ /** Ids kept at most this long… */
25
+ export const CHAT_LOG_ID_TTL_MS = 6 * 3_600_000;
26
+ /** …and at most this many of each kind (the oldest go first). */
27
+ export const CHAT_LOG_ID_MAX = 5_000;
28
+ class TimedIds {
29
+ now;
30
+ ids = new Map();
31
+ constructor(now) {
32
+ this.now = now;
33
+ }
34
+ add(id) {
35
+ this.ids.delete(id);
36
+ this.ids.set(id, this.now());
37
+ this.prune();
38
+ }
39
+ has(id) {
40
+ const at = this.ids.get(id);
41
+ if (at === undefined)
42
+ return false;
43
+ if (this.now() - at > CHAT_LOG_ID_TTL_MS) {
44
+ this.ids.delete(id);
45
+ return false;
46
+ }
47
+ return true;
48
+ }
49
+ prune() {
50
+ const cutoff = this.now() - CHAT_LOG_ID_TTL_MS;
51
+ for (const [id, at] of this.ids) {
52
+ if (at >= cutoff && this.ids.size <= CHAT_LOG_ID_MAX)
53
+ break;
54
+ this.ids.delete(id);
55
+ }
56
+ }
57
+ }
58
+ /** The ids of this fleet's own status messages, and of messages the platform reported deleted. */
59
+ export class OwnStatusMessages {
60
+ status;
61
+ deleted;
62
+ constructor(now = Date.now) { this.status = new TimedIds(now); this.deleted = new TimedIds(now); }
63
+ addStatus(messageId) { if (messageId)
64
+ this.status.add(messageId); }
65
+ markDeleted(messageId) { if (messageId)
66
+ this.deleted.add(messageId); }
67
+ /** A message whose line is never recorded: one of our status bubbles, or one already deleted. */
68
+ excluded(messageId) {
69
+ return !!messageId && (this.status.has(messageId) || this.deleted.has(messageId));
70
+ }
71
+ }
72
+ /** At most this many occurrences are kept in all (#2943 review: not only distinct ids), and this many per id. */
73
+ export const CHAT_LOG_OCCURRENCES_MAX = 5_000;
74
+ export const CHAT_LOG_OCCURRENCES_PER_ID = 16;
75
+ const atomicIo = { replace: (file, data, mode) => atomicWriteFileSync(file, data, { mode }) };
76
+ /**
77
+ * Which chat-log lines were written for each message key (bounded): what a later removal takes out. An occurrence is the
78
+ * written bytes at their recorded place in that very file (#2943 review): never "the same text somewhere".
79
+ */
80
+ export class ChatLogLines {
81
+ now;
82
+ io;
83
+ byKey = new Map();
84
+ total = 0;
85
+ constructor(now = Date.now, io = atomicIo) {
86
+ this.now = now;
87
+ this.io = io;
88
+ }
89
+ /** `line` was appended to `file` (inode `ino`) at byte `offset`. Ignored when this occurrence is already known. */
90
+ record(key, file, ino, offset, line) {
91
+ const list = this.byKey.get(key) ?? [];
92
+ if (list.some(o => o.file === file && o.offset === offset))
93
+ return;
94
+ if (list.length >= CHAT_LOG_OCCURRENCES_PER_ID) {
95
+ list.shift();
96
+ this.total--;
97
+ }
98
+ list.push({ file, ino, offset, line, at: this.now() });
99
+ this.total++;
100
+ this.byKey.delete(key);
101
+ this.byKey.set(key, list);
102
+ const cutoff = this.now() - CHAT_LOG_ID_TTL_MS;
103
+ for (const [k, entries] of this.byKey) {
104
+ if (entries.at(-1).at >= cutoff && this.byKey.size <= CHAT_LOG_ID_MAX && this.total <= CHAT_LOG_OCCURRENCES_MAX)
105
+ break;
106
+ this.byKey.delete(k);
107
+ this.total -= entries.length;
108
+ }
109
+ }
110
+ /**
111
+ * Take each line recorded for `key` out of its file: only where it was written β€” the same file (inode), the same bytes
112
+ * at the recorded offset; anything else (the file rotated, rewritten, the bytes not there) is not proven and is left
113
+ * alone. The file is replaced atomically with its permission bits and modified time kept (the dashboard's last
114
+ * activity); a write that fails leaves the file as it was and the occurrence recorded (a later removal may succeed).
115
+ * Returns how many lines were removed.
116
+ */
117
+ remove(key) {
118
+ const entries = this.byKey.get(key);
119
+ if (!entries)
120
+ return 0;
121
+ let removed = 0;
122
+ const kept = [];
123
+ for (const o of entries) {
124
+ let st;
125
+ try {
126
+ st = statSync(o.file);
127
+ }
128
+ catch {
129
+ this.total--;
130
+ continue;
131
+ } // the file is gone: nothing to take out
132
+ const want = Buffer.from(o.line, "utf8");
133
+ let buf;
134
+ try {
135
+ buf = readFileSync(o.file);
136
+ }
137
+ catch {
138
+ kept.push(o);
139
+ continue;
140
+ }
141
+ if (st.ino !== o.ino || !buf.subarray(o.offset, o.offset + want.length).equals(want)) {
142
+ this.total--;
143
+ continue;
144
+ } // not proven
145
+ try {
146
+ this.io.replace(o.file, Buffer.concat([buf.subarray(0, o.offset), buf.subarray(o.offset + want.length)]).toString("utf8"), st.mode & 0o7777);
147
+ }
148
+ catch {
149
+ kept.push(o);
150
+ continue;
151
+ } // the original is untouched
152
+ try {
153
+ utimesSync(o.file, st.atime, st.mtime);
154
+ }
155
+ catch { /* the content is right; only its time could not be kept */ }
156
+ const ino = statSync(o.file).ino;
157
+ this.total--;
158
+ removed++;
159
+ // Every other occurrence in that file: the new inode, and a later place moves up by the removed bytes.
160
+ for (const list of this.byKey.values())
161
+ for (const other of list) {
162
+ if (other === o || other.file !== o.file || other.ino !== o.ino)
163
+ continue;
164
+ other.ino = ino;
165
+ if (other.offset > o.offset)
166
+ other.offset -= want.length;
167
+ }
168
+ for (const other of kept)
169
+ if (other.file === o.file && other.ino === o.ino) {
170
+ other.ino = ino;
171
+ if (other.offset > o.offset)
172
+ other.offset -= want.length;
173
+ }
174
+ }
175
+ if (kept.length)
176
+ this.byKey.set(key, kept);
177
+ else
178
+ this.byKey.delete(key);
179
+ return removed;
180
+ }
181
+ }
182
+ //# sourceMappingURL=chat-log-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-log-ids.js","sourceRoot":"","sources":["../src/chat-log-ids.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { ConfigHistory } from "./config-history.js";
4
4
  import { type BackendOptions, type ClassicProfile } from "./classic-bindings.js";
5
5
  import type { Choice } from "./channel/types.js";
6
6
  import type { InstanceConfig } from "./types.js";
7
+ import { ChatLogLines } from "./chat-log-ids.js";
7
8
  /** Last real channel activity recorded in a ClassicBot chat log. */
8
9
  export declare function readClassicLastActivityAt(dataDir: string, instanceName: string): number | null;
9
10
  /**
@@ -286,7 +287,13 @@ export declare class ClassicChannelManager {
286
287
  register(channelId: string, adapterId: string | undefined, instanceName: string, channelName: string, userId: string, backend?: string): ClassicChannel;
287
288
  unregister(channelId: string, adapterId?: string): ClassicChannel | undefined;
288
289
  static chatLogDir(instanceName: string): string;
289
- static logMessage(instanceName: string, username: string, text: string, timestamp: Date, replyToText?: string): void;
290
+ /** #2940: the lines written per message key β€” what a deleted message, or one of our status bubbles, takes out. */
291
+ static readonly loggedLines: ChatLogLines;
292
+ /**
293
+ * `messageKey` (#2940): the message's platform-and-place identity (chat-log-ids.ts discordMessageKey), when it is one
294
+ * whose line may be taken out again; the line's exact place is then recorded (only when this append is provably it).
295
+ */
296
+ static logMessage(instanceName: string, username: string, text: string, timestamp: Date, replyToText?: string, messageKey?: string): void;
290
297
  /** Delete chat log files older than retentionDays. Dates parsed as local to avoid UTC off-by-one. */
291
298
  rotateLogs(retentionDays?: number): number;
292
299
  }
@@ -9,6 +9,7 @@ import { classicInstanceName, sanitizeInstanceName } from "./instance-names.js";
9
9
  import { ConfigHistory, ConfigStartupError } from "./config-history.js";
10
10
  import { KNOWN_BACKENDS } from "./config-validator.js";
11
11
  import { classicProfile, normalizeBackendOptions } from "./classic-bindings.js";
12
+ import { ChatLogLines } from "./chat-log-ids.js";
12
13
  /** Last real channel activity recorded in a ClassicBot chat log. */
13
14
  export function readClassicLastActivityAt(dataDir, instanceName) {
14
15
  const logDir = join(dataDir, "workspaces", instanceName, "chat-logs");
@@ -827,7 +828,13 @@ export class ClassicChannelManager {
827
828
  static chatLogDir(instanceName) {
828
829
  return join(getAgendHome(), "workspaces", instanceName, "chat-logs");
829
830
  }
830
- static logMessage(instanceName, username, text, timestamp, replyToText) {
831
+ /** #2940: the lines written per message key β€” what a deleted message, or one of our status bubbles, takes out. */
832
+ static loggedLines = new ChatLogLines();
833
+ /**
834
+ * `messageKey` (#2940): the message's platform-and-place identity (chat-log-ids.ts discordMessageKey), when it is one
835
+ * whose line may be taken out again; the line's exact place is then recorded (only when this append is provably it).
836
+ */
837
+ static logMessage(instanceName, username, text, timestamp, replyToText, messageKey) {
831
838
  const logDir = ClassicChannelManager.chatLogDir(instanceName);
832
839
  mkdirSync(logDir, { recursive: true, mode: 0o700 });
833
840
  const tz = process.env.TZ || Intl.DateTimeFormat().resolvedOptions().timeZone;
@@ -835,7 +842,22 @@ export class ClassicChannelManager {
835
842
  const dateStr = localStr.slice(0, 10);
836
843
  const logFile = join(logDir, `${dateStr}.log`);
837
844
  const replyPrefix = replyToText ? `[reply: ${replyToText.slice(0, 100)}] ` : "";
838
- appendFileSync(logFile, `[${localStr}] <${username}> ${replyPrefix}${text}\n`);
845
+ const line = `[${localStr}] <${username}> ${replyPrefix}${text}\n`;
846
+ let before = 0;
847
+ try {
848
+ before = statSync(logFile).size;
849
+ }
850
+ catch { /* a new file */ }
851
+ appendFileSync(logFile, line);
852
+ if (messageKey) {
853
+ // Its place: where the file ended before this append β€” only when the file grew by exactly this line.
854
+ try {
855
+ const after = statSync(logFile);
856
+ if (after.size === before + Buffer.byteLength(line, "utf8"))
857
+ ClassicChannelManager.loggedLines.record(messageKey, logFile, after.ino, before, line);
858
+ }
859
+ catch { /* not recorded: it simply cannot be taken out later */ }
860
+ }
839
861
  }
840
862
  /** Delete chat log files older than retentionDays. Dates parsed as local to avoid UTC off-by-one. */
841
863
  rotateLogs(retentionDays = 7) {
@@ -1 +1 @@
1
- {"version":3,"file":"classic-channel-manager.js","sourceRoot":"","sources":["../src/classic-channel-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classic-channel-manager.js","sourceRoot":"","sources":["../src/classic-channel-manager.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,7 @@ import { type CarryResult } from "./backend/claude-carry.js";
115
115
  import { StormWindow } from "./storm-window.js";
116
116
  import { SpawnGate } from "./spawn-gate.js";
117
117
  import { BackendOutageTracker } from "./backend-outage.js";
118
+ import { OwnStatusMessages } from "./chat-log-ids.js";
118
119
  /** #2348: how a guest sign-in code's issuance ended (issueGuestCode), for Settings β†’ Guests' Send sign-in code. */
119
120
  export type GuestCodeOutcome = {
120
121
  kind: "sent";
@@ -3783,6 +3784,22 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
3783
3784
  * text is its command path β€” and other sources pass through untouched.
3784
3785
  */
3785
3786
  private replyDiscordNotACommand;
3787
+ /** #2940: this fleet's own status bubbles and the messages the platform said were deleted (ids, never text). */
3788
+ readonly ownStatusMessages: OwnStatusMessages;
3789
+ /**
3790
+ * #2940: a status bubble of ours was posted: never logged, and a line already logged for it (by a sibling bot) goes.
3791
+ * Discord only (#2943 review: the only platform where our bots see each other's posts), keyed by channel and id.
3792
+ */
3793
+ private noteOwnStatusMessage;
3794
+ /** #2940: Discord says a message was deleted β€” its chat-log line goes, and it is never logged after this. */
3795
+ onPlatformMessageDeleted(e: {
3796
+ messageId?: string;
3797
+ channelId?: string;
3798
+ } | undefined): void;
3799
+ /** #2940: the key a Discord message's chat-log line is kept under (none for another platform: nothing is tracked). */
3800
+ private chatLogKey;
3801
+ /** #2940: whether `msg` must not enter the chat log (only its key is looked at; the debug trail names keys, not text). */
3802
+ private chatLogExcludes;
3786
3803
  /** Handle a message in a classic channel: log it, forward only /chat messages */
3787
3804
  private handleClassicChannelMessage;
3788
3805
  /** Download photo or document attachment to classic instance workspace inbox. Returns { path, kind } or undefined. */
@@ -302,6 +302,7 @@ import { SpawnGate } from "./spawn-gate.js";
302
302
  import { BackendOutageTracker } from "./backend-outage.js";
303
303
  import { canUnlockAdvancedTips, DailyTipScheduler, selectTip, visibleTipLevels, } from "./tips.js";
304
304
  import { getTmuxSession } from "./config.js";
305
+ import { OwnStatusMessages, discordMessageKey } from "./chat-log-ids.js";
305
306
  // Closed migration cohort: these 11 names existed immediately before the first
306
307
  // managed-skill publisher (a1ac499f; parent e267e684). Never grow this set when
307
308
  // adding a bundled skill: its new name is not proof of old AgEnD ownership.
@@ -9140,6 +9141,9 @@ export class FleetManager {
9140
9141
  return;
9141
9142
  await this.handleInboundMessage(msg);
9142
9143
  }, this.logger, "adapter.message"));
9144
+ // #2940: a deleted message's chat-log line goes (and it is never logged after this).
9145
+ adapter.on("message_deleted", (e) => { if (isCurrentAdapter())
9146
+ this.onPlatformMessageDeleted(e); });
9143
9147
  adapter.on("reaction", safeHandler(async (r) => {
9144
9148
  if (!isCurrentAdapter())
9145
9149
  return;
@@ -9290,6 +9294,9 @@ export class FleetManager {
9290
9294
  return;
9291
9295
  await this.handleInboundMessage(msg);
9292
9296
  }, this.logger, `adapter[${adapterId}].message`));
9297
+ // #2940: a deleted message's chat-log line goes (and it is never logged after this).
9298
+ adapter.on("message_deleted", (e) => { if (isCurrentAdapter())
9299
+ this.onPlatformMessageDeleted(e); });
9293
9300
  adapter.on("reaction", safeHandler(async (r) => {
9294
9301
  if (!isCurrentAdapter())
9295
9302
  return;
@@ -16778,6 +16785,9 @@ export class FleetManager {
16778
16785
  choices: [{ id: `cancel:${instanceName}`, label: t("cancel.button") }],
16779
16786
  }, threadId ? { threadId } : undefined);
16780
16787
  publication.inFlight = false;
16788
+ // #2940: a status bubble of ours β€” never a chat-log line, for any bot of this fleet in the room; one a sibling
16789
+ // already logged (its gateway event can come before this answer) is taken out again.
16790
+ this.noteOwnStatusMessage(adapter, sent);
16781
16791
  const entry = {
16782
16792
  instanceName,
16783
16793
  adapterId,
@@ -18889,6 +18899,45 @@ Plus the operational skills (fleet-health, instance-lifecycle, scheduling, sessi
18889
18899
  await adapter.sendText(msg.chatId, t("cmd.not_a_command"), { threadId: msg.threadId });
18890
18900
  return true;
18891
18901
  }
18902
+ /** #2940: this fleet's own status bubbles and the messages the platform said were deleted (ids, never text). */
18903
+ ownStatusMessages = new OwnStatusMessages();
18904
+ /**
18905
+ * #2940: a status bubble of ours was posted: never logged, and a line already logged for it (by a sibling bot) goes.
18906
+ * Discord only (#2943 review: the only platform where our bots see each other's posts), keyed by channel and id.
18907
+ */
18908
+ noteOwnStatusMessage(adapter, sent) {
18909
+ if (adapter.type !== "discord")
18910
+ return;
18911
+ const key = discordMessageKey(sent.threadId ?? sent.chatId, sent.messageId);
18912
+ if (!key)
18913
+ return;
18914
+ this.ownStatusMessages.addStatus(key);
18915
+ const removed = ClassicChannelManager.loggedLines.remove(key);
18916
+ if (removed)
18917
+ this.logger.debug({ key, removed }, "A status bubble logged before its id was known was taken out of the chat log");
18918
+ }
18919
+ /** #2940: Discord says a message was deleted β€” its chat-log line goes, and it is never logged after this. */
18920
+ onPlatformMessageDeleted(e) {
18921
+ const key = discordMessageKey(e?.channelId, e?.messageId);
18922
+ if (!key)
18923
+ return;
18924
+ this.ownStatusMessages.markDeleted(key);
18925
+ const removed = ClassicChannelManager.loggedLines.remove(key);
18926
+ if (removed)
18927
+ this.logger.debug({ key, removed }, "A deleted message was taken out of the chat log");
18928
+ }
18929
+ /** #2940: the key a Discord message's chat-log line is kept under (none for another platform: nothing is tracked). */
18930
+ chatLogKey(msg) {
18931
+ return msg.source === "discord" ? discordMessageKey(msg.threadId ?? msg.chatId, msg.messageId) : undefined;
18932
+ }
18933
+ /** #2940: whether `msg` must not enter the chat log (only its key is looked at; the debug trail names keys, not text). */
18934
+ chatLogExcludes(instanceName, msg) {
18935
+ const key = this.chatLogKey(msg);
18936
+ if (!this.ownStatusMessages.excluded(key))
18937
+ return false;
18938
+ this.logger.debug({ instanceName, key }, "Not logged: a status bubble of this fleet, or a deleted message");
18939
+ return true;
18940
+ }
18892
18941
  /** Handle a message in a classic channel: log it, forward only /chat messages */
18893
18942
  async handleClassicChannelMessage(instanceName, msg) {
18894
18943
  const text = msg.text ?? "";
@@ -18932,7 +18981,10 @@ Plus the operational skills (fleet-health, instance-lifecycle, scheduling, sessi
18932
18981
  : (msg.attachments?.length
18933
18982
  ? ` [${msg.attachments.map(a => `${a.kind === "photo" ? "πŸ“·" : "πŸ“Ž"} ${a.filename || a.kind}`).join(", ")}]`
18934
18983
  : "");
18935
- ClassicChannelManager.logMessage(instanceName, msg.username, text + collabAttachTag, msg.timestamp, msg.replyToText);
18984
+ // #2940: one of this fleet's own status bubbles (any bot's), or a message already deleted, never enters the log.
18985
+ if (this.chatLogExcludes(instanceName, msg))
18986
+ return;
18987
+ ClassicChannelManager.logMessage(instanceName, msg.username, text + collabAttachTag, msg.timestamp, msg.replyToText, this.chatLogKey(msg));
18936
18988
  this.logger.info({ instanceName, user: msg.username, textLen: text.length, attachments: msg.attachments?.length ?? 0, source: msg.source }, "Collab mode message");
18937
18989
  // Check for @mention trigger: must be exact <@BOT_USER_ID>, not @everyone/@here.
18938
18990
  // Each bot matches ONLY its own id. A secondary bot must NOT fall back to the
@@ -19033,7 +19085,9 @@ Plus the operational skills (fleet-health, instance-lifecycle, scheduling, sessi
19033
19085
  const attachmentTag = saved ? ` [${saved.kind === "photo" ? "πŸ“·" : "πŸ“Ž"} saved: ${saved.paths.join(", ")}]`
19034
19086
  : msg.attachments?.length ? ` [${msg.attachments.map(a => `πŸ“Ž ${a.kind}${a.filename ? `: ${a.filename}` : ""}`).join(", ")}]`
19035
19087
  : "";
19036
- ClassicChannelManager.logMessage(instanceName, msg.username, text + attachmentTag, msg.timestamp, msg.replyToText);
19088
+ // #2940: likewise in a room without collab (a bot's message reaches here only through a /chat text command).
19089
+ if (!this.chatLogExcludes(instanceName, msg))
19090
+ ClassicChannelManager.logMessage(instanceName, msg.username, text + attachmentTag, msg.timestamp, msg.replyToText, this.chatLogKey(msg));
19037
19091
  // Bare attachment without /chat: save + log only, don't trigger agent
19038
19092
  if (!isChat) {
19039
19093
  const reactAdapter = this.worlds.get(msg.adapterId ?? "")?.adapter ?? this.adapter;