@songsid/agend 2.1.12-beta.1 → 2.1.12-beta.3

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 (92) hide show
  1. package/dist/agent-cli.js +36 -4
  2. package/dist/agent-cli.js.map +1 -1
  3. package/dist/agent-endpoint.d.ts +3 -1
  4. package/dist/agent-endpoint.js +7 -1
  5. package/dist/agent-endpoint.js.map +1 -1
  6. package/dist/backend/claude-code.d.ts +22 -0
  7. package/dist/backend/claude-code.js +86 -27
  8. package/dist/backend/claude-code.js.map +1 -1
  9. package/dist/backend/codex.d.ts +20 -0
  10. package/dist/backend/codex.js +55 -5
  11. package/dist/backend/codex.js.map +1 -1
  12. package/dist/backend/muse.d.ts +6 -0
  13. package/dist/backend/muse.js +8 -0
  14. package/dist/backend/muse.js.map +1 -1
  15. package/dist/backend/session-signals.d.ts +154 -0
  16. package/dist/backend/session-signals.js +430 -0
  17. package/dist/backend/session-signals.js.map +1 -0
  18. package/dist/backend/types.d.ts +14 -0
  19. package/dist/backend/types.js.map +1 -1
  20. package/dist/channel/adapters/discord.d.ts +38 -1
  21. package/dist/channel/adapters/discord.js +131 -8
  22. package/dist/channel/adapters/discord.js.map +1 -1
  23. package/dist/channel/adapters/telegram.d.ts +19 -1
  24. package/dist/channel/adapters/telegram.js +55 -0
  25. package/dist/channel/adapters/telegram.js.map +1 -1
  26. package/dist/channel/mcp-tools.js +5 -1
  27. package/dist/channel/mcp-tools.js.map +1 -1
  28. package/dist/channel/message-queue.d.ts +6 -0
  29. package/dist/channel/message-queue.js +21 -0
  30. package/dist/channel/message-queue.js.map +1 -1
  31. package/dist/channel/sticker-download.d.ts +14 -0
  32. package/dist/channel/sticker-download.js +42 -0
  33. package/dist/channel/sticker-download.js.map +1 -0
  34. package/dist/channel/tool-router.js +12 -5
  35. package/dist/channel/tool-router.js.map +1 -1
  36. package/dist/channel/types.d.ts +52 -0
  37. package/dist/cli-flags.d.ts +8 -0
  38. package/dist/cli-flags.js +22 -0
  39. package/dist/cli-flags.js.map +1 -0
  40. package/dist/config-validator.js +25 -0
  41. package/dist/config-validator.js.map +1 -1
  42. package/dist/daemon.d.ts +91 -2
  43. package/dist/daemon.js +462 -22
  44. package/dist/daemon.js.map +1 -1
  45. package/dist/delivery-outbox.d.ts +8 -0
  46. package/dist/delivery-outbox.js.map +1 -1
  47. package/dist/event-loop-watch.d.ts +25 -0
  48. package/dist/event-loop-watch.js +40 -0
  49. package/dist/event-loop-watch.js.map +1 -0
  50. package/dist/fleet-manager.d.ts +38 -3
  51. package/dist/fleet-manager.js +248 -12
  52. package/dist/fleet-manager.js.map +1 -1
  53. package/dist/general-knowledge/skills/persona-emoji/SKILL.md +4 -2
  54. package/dist/locale.js +6 -2
  55. package/dist/locale.js.map +1 -1
  56. package/dist/outbound-handlers.js +11 -2
  57. package/dist/outbound-handlers.js.map +1 -1
  58. package/dist/outbound-schemas.d.ts +15 -1
  59. package/dist/outbound-schemas.js +19 -1
  60. package/dist/outbound-schemas.js.map +1 -1
  61. package/dist/tool-permissions.js +8 -1
  62. package/dist/tool-permissions.js.map +1 -1
  63. package/dist/transcript-jsonl.d.ts +8 -0
  64. package/dist/transcript-jsonl.js +27 -0
  65. package/dist/transcript-jsonl.js.map +1 -0
  66. package/dist/transcript-monitor.js +13 -24
  67. package/dist/transcript-monitor.js.map +1 -1
  68. package/dist/transcript-sources.js +2 -17
  69. package/dist/transcript-sources.js.map +1 -1
  70. package/dist/turn-reply-guard.d.ts +32 -1
  71. package/dist/turn-reply-guard.js +47 -1
  72. package/dist/turn-reply-guard.js.map +1 -1
  73. package/dist/turn-resume.d.ts +80 -0
  74. package/dist/turn-resume.js +217 -0
  75. package/dist/turn-resume.js.map +1 -0
  76. package/dist/ui/view.html +17 -4
  77. package/dist/ui/web-terminal/terminal.css +1 -1
  78. package/dist/ui/web-terminal/terminal.js +5 -1
  79. package/dist/usage/format-rich.js +3 -2
  80. package/dist/usage/format-rich.js.map +1 -1
  81. package/dist/usage/i18n-keys.d.ts +1 -1
  82. package/dist/usage/i18n-keys.js +1 -1
  83. package/dist/usage/i18n-keys.js.map +1 -1
  84. package/dist/usage/i18n.d.ts +5 -0
  85. package/dist/usage/i18n.js +18 -1
  86. package/dist/usage/i18n.js.map +1 -1
  87. package/dist/usage/providers.d.ts +16 -0
  88. package/dist/usage/providers.js +57 -1
  89. package/dist/usage/providers.js.map +1 -1
  90. package/dist/usage/usage-api.js +6 -2
  91. package/dist/usage/usage-api.js.map +1 -1
  92. package/package.json +1 -1
@@ -121,6 +121,28 @@ export interface ChannelAdapter extends EventEmitter {
121
121
  unreact?(chatId: string, messageId: string, emoji: string, threadId?: string): Promise<void>;
122
122
  sendApproval(prompt: PermissionPrompt, callback: (decision: "approve" | "approve_always" | "deny") => void, signal?: AbortSignal, threadId?: string): Promise<ApprovalHandle>;
123
123
  downloadAttachment(fileId: string): Promise<string>;
124
+ /**
125
+ * Stickers this bot can send (#1226). Discord: the stickers of the server the
126
+ * given channel belongs to — a bot cannot send another server's. Telegram:
127
+ * the stickers of one sticker set, named by `set`. Optional: an adapter
128
+ * without stickers leaves it out.
129
+ */
130
+ listStickers?(target: StickerTarget): Promise<StickerList>;
131
+ /**
132
+ * One sticker's picture, downloaded server-side (the Telegram file URL holds
133
+ * the bot token). null when there is no still picture to show — a Discord
134
+ * Lottie sticker, or an animated Telegram sticker without a thumbnail.
135
+ */
136
+ fetchStickerPreview?(sticker: StickerInfo): Promise<StickerPreview | null>;
137
+ /**
138
+ * Send stickers, after `text` when there is any (#1226). Discord: on the same
139
+ * message as the text's last chunk (`sticker_ids`); Telegram: the text, then
140
+ * one sendSticker per sticker, in order. Every send is awaited — a sticker
141
+ * that fails is an error, never silently dropped.
142
+ */
143
+ sendStickers?(chatId: string, stickers: string[], opts?: SendOpts & {
144
+ text?: string;
145
+ }): Promise<SentMessage>;
124
146
  handlePairing(chatId: string, userId: string): Promise<string>;
125
147
  confirmPairing(code: string, callerUserId?: string): Promise<boolean>;
126
148
  readonly topology: "topics" | "channels" | "flat";
@@ -164,6 +186,36 @@ export interface ChannelAdapter extends EventEmitter {
164
186
  export interface ApprovalHandle {
165
187
  cancel(): void;
166
188
  }
189
+ /** Where to look for stickers: a Discord channel (its server's stickers), or a Telegram sticker set. */
190
+ export interface StickerTarget {
191
+ chatId?: string;
192
+ threadId?: string;
193
+ set?: string;
194
+ }
195
+ /**
196
+ * One sticker, the same shape on every platform (#1226). `id` is what `reply.stickers` takes: a Discord sticker id
197
+ * or a Telegram file_id. `emoji_or_tags` is Discord's tags or Telegram's associated emoji.
198
+ */
199
+ export interface StickerInfo {
200
+ id: string;
201
+ name: string;
202
+ emoji_or_tags: string;
203
+ /** png / apng / gif / lottie (Discord); webp / tgs / webm (Telegram). */
204
+ format: "png" | "apng" | "gif" | "lottie" | "webp" | "tgs" | "webm";
205
+ /** Discord: false when the server lost the boost level the sticker needs. */
206
+ available: boolean;
207
+ /** Telegram only, never shown to an agent: the thumbnail's file_id, for a preview of an animated sticker. */
208
+ thumbnailId?: string;
209
+ }
210
+ export interface StickerList {
211
+ /** What the list is of: "server <name or id>" or "set <name>". */
212
+ scope: string;
213
+ stickers: StickerInfo[];
214
+ }
215
+ export interface StickerPreview {
216
+ bytes: Buffer;
217
+ ext: "png" | "gif" | "webp" | "jpg";
218
+ }
167
219
  export interface SendOpts {
168
220
  threadId?: string;
169
221
  replyTo?: string;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Split CLI words into flags and positionals (#1226). A flag in `withValue` takes the next word (repeatable: every
3
+ * value is kept, in order); one in `bare` takes none. Anything else is a positional, in order.
4
+ */
5
+ export declare function splitFlags(words: string[], withValue: string[], bare?: string[]): {
6
+ flags: Record<string, string[]>;
7
+ positional: string[];
8
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Split CLI words into flags and positionals (#1226). A flag in `withValue` takes the next word (repeatable: every
3
+ * value is kept, in order); one in `bare` takes none. Anything else is a positional, in order.
4
+ */
5
+ export function splitFlags(words, withValue, bare = []) {
6
+ const flags = {};
7
+ const positional = [];
8
+ for (let i = 0; i < words.length; i++) {
9
+ const w = words[i];
10
+ if (withValue.includes(w) && i + 1 < words.length) {
11
+ (flags[w] ??= []).push(words[++i]);
12
+ continue;
13
+ }
14
+ if (bare.includes(w)) {
15
+ flags[w] = [];
16
+ continue;
17
+ }
18
+ positional.push(w);
19
+ }
20
+ return { flags, positional };
21
+ }
22
+ //# sourceMappingURL=cli-flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-flags.js","sourceRoot":"","sources":["../src/cli-flags.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,SAAmB,EAAE,OAAiB,EAAE;IAClF,MAAM,KAAK,GAA6B,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACrG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAClD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC"}
@@ -225,6 +225,10 @@ export function validateFleetConfig(config) {
225
225
  }
226
226
  const channelIds = new Set();
227
227
  const channelTypes = new Map();
228
+ // #1231: one bot token is one bot. Two connections on it both receive every
229
+ // Discord interaction and race to acknowledge it (the loser's is refused);
230
+ // two Telegram pollers on it fight over getUpdates.
231
+ const tokenOwners = new Map();
228
232
  const multi = channelList.length > 1;
229
233
  channelList.forEach((ch, i) => {
230
234
  const at = Array.isArray(config.channels) && i < config.channels.length ? `channels[${i}]` : "channel";
@@ -252,6 +256,27 @@ export function validateFleetConfig(config) {
252
256
  }
253
257
  if (isObj(ch.options))
254
258
  validateStatusEmojis(ch.options.status_emojis, `${at}.options.status_emojis`, [typeof ch.type === "string" ? ch.type : undefined]);
259
+ // #1226: the sticker sets list_stickers shows on Telegram when no set is named.
260
+ if (isObj(ch.options) && ch.options.sticker_sets !== undefined) {
261
+ const sets = ch.options.sticker_sets;
262
+ if (ch.type !== "telegram") {
263
+ warn(`${at}.options.sticker_sets`, "only Telegram has sticker sets — Discord lists the channel's server's stickers");
264
+ }
265
+ else if (!Array.isArray(sets) || sets.some(x => typeof x !== "string" || !/^[A-Za-z0-9_]{1,64}$/.test(x))) {
266
+ err(`${at}.options.sticker_sets`, "must be a list of sticker set names (the <name> in t.me/addstickers/<name>)");
267
+ }
268
+ }
269
+ if (typeof ch.bot_token_env === "string" && ch.bot_token_env) {
270
+ const value = process.env[ch.bot_token_env];
271
+ const key = value ? `value:${value}` : `env:${ch.bot_token_env}`;
272
+ const first = tokenOwners.get(key);
273
+ if (first) {
274
+ warn(`${at}.bot_token_env`, `the same bot token as ${first} — both connections would receive and race to handle the same events; give each connection its own bot`);
275
+ }
276
+ else {
277
+ tokenOwners.set(key, at);
278
+ }
279
+ }
255
280
  if (cid && typeof ch.type === "string")
256
281
  channelTypes.set(cid, ch.type);
257
282
  if (isObj(ch.access) && ch.access.allowed_users !== undefined && !isIdArray(ch.access.allowed_users)) {
@@ -1 +1 @@
1
- {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../src/config-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../src/config-validator.ts"],"names":[],"mappings":"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"}
package/dist/daemon.d.ts CHANGED
@@ -219,6 +219,8 @@ export declare class PendingWorkTracker {
219
219
  private lastIdleOrder;
220
220
  constructor(now?: number);
221
221
  recordInbound(now?: number): void;
222
+ /** #1241 P2-1: when the latest delivery entered, bounding pre-arm activity. */
223
+ lastInboundTimestamp(): number;
222
224
  recordIdle(now?: number): boolean;
223
225
  hasPendingWork(): boolean;
224
226
  }
@@ -473,6 +475,12 @@ export declare class Daemon extends EventEmitter {
473
475
  */
474
476
  private launchAttempt;
475
477
  private skipResume;
478
+ /**
479
+ * #1209: whether THIS boot was asked to skip resume by a crash-loop
480
+ * (crash-state.json). Captured at boot before spawnClaudeWindow resets
481
+ * skipResume — the #1209 gate reads this, never the resettable flag.
482
+ */
483
+ private bootSkippedResume;
476
484
  private startupAborted;
477
485
  /** First time the current on-screen blocking dialog was seen (0 = none); drives the parked report. */
478
486
  private dialogParkedSince;
@@ -555,6 +563,11 @@ export declare class Daemon extends EventEmitter {
555
563
  private instanceStateIdleDebounceMs;
556
564
  private instanceStateStuckTimeoutMs;
557
565
  private instanceStateReadyPattern;
566
+ /**
567
+ * #1241 P2-2: an execution snapshot was suppressed by a blocking dialog.
568
+ * When the block lifts, the silence since counts as a fresh interval.
569
+ */
570
+ private sawBlockedInput;
558
571
  private instanceStateBusyPattern;
559
572
  private instanceStateMonitorActive;
560
573
  private sessionCheckpointWarningEmitted;
@@ -564,6 +577,35 @@ export declare class Daemon extends EventEmitter {
564
577
  private lastMalformedToolCallSignature;
565
578
  private proxyReplySeq;
566
579
  private lastReplyDropWarningAt;
580
+ /**
581
+ * #1241: an idle edge that has not yet proven the turn ended. Armed instead
582
+ * of recovering immediately; a steady idle snapshot past confirmAt promotes
583
+ * it to a real recovery, while a delivered reply, cancel, or newly observed
584
+ * work dissolves it. Scoped to one guard generation. Split clock domains
585
+ * (R3): edgeAt is wall-clock (compared only against lastBusyAt, also wall —
586
+ * event ordering, never a deadline), while confirmAt is monotonic
587
+ * (performance.now, same domain as the setTimeout firing the deadline), so
588
+ * a wall jump can neither shorten nor stretch the window.
589
+ */
590
+ private replyGuardIdleConfirm;
591
+ /**
592
+ * #1241 P3: the confirmation window's own wake-up. Monitor ticks may be up
593
+ * to 60 s apart, so without this the real delay could approach two windows.
594
+ * At the deadline a fresh, fenced capture re-observes the pane instead.
595
+ */
596
+ private replyGuardConfirmTimer;
597
+ /** #1241: dissolve a pending confirmation and its deadline, if any. */
598
+ private clearReplyGuardConfirm;
599
+ /** #1241: arm a confirmation window with its own deadline capture. */
600
+ private armReplyGuardConfirm;
601
+ /**
602
+ * #1241 P3: the window elapsed with no verdict from monitor ticks — drive
603
+ * one fresh observation. Generation-fenced twice: a stale record returns
604
+ * before capturing, and the resulting snapshot still flows through the
605
+ * normal confirmed evaluation. When the capture cannot run (paused, frozen,
606
+ * spawning), the record stays and the next monitor tick promotes instead.
607
+ */
608
+ private fireReplyGuardConfirm;
567
609
  private autoPauseController;
568
610
  private pauseRequested;
569
611
  /**
@@ -1116,6 +1158,15 @@ export declare class Daemon extends EventEmitter {
1116
1158
  * bounded SIGTERM -> SIGKILL fallback instead of typing into an unknown pane.
1117
1159
  */
1118
1160
  private drainBusyKiroForStop;
1161
+ /**
1162
+ * #1217: the CLI answered its quit command with a confirmation that a stray
1163
+ * key would answer for us (Claude's "Background work is running": Enter
1164
+ * picks "Exit and stop tasks"). Never choose an option: cancel the prompt
1165
+ * with Escape and let the caller stop the process itself (SIGTERM), which is
1166
+ * what the bounded grace would have come to anyway — just without waiting
1167
+ * it out. True when that prompt was on screen.
1168
+ */
1169
+ private cancelQuitConfirmation;
1119
1170
  stop(): Promise<void>;
1120
1171
  getHangDetector(): HangDetector | null;
1121
1172
  getInstanceState(): InstanceState | "paused";
@@ -1170,6 +1221,20 @@ export declare class Daemon extends EventEmitter {
1170
1221
  * the PREVIOUS turn's idle edge consume (and reset) the new turn's state.
1171
1222
  */
1172
1223
  private markTurnStarted;
1224
+ /** #1209: which seam reader serves this instance (live config preferred). */
1225
+ private resolveResumeBackend;
1226
+ /** #1209: whether the marker's delivery is still owned by the durable path. */
1227
+ private isMarkerDeliveryPending;
1228
+ /**
1229
+ * #1209 ACP-resume-like gate: one bounded continuation for the turn that
1230
+ * was in flight when the process died. The one-shot marker is consumed
1231
+ * FIRST (episode-once: at most one continuation per interrupted turn, even
1232
+ * if the inject below throws or the process dies holding the grace wait),
1233
+ * then the pure gate in turn-resume.ts decides. A hold inside the flush
1234
+ * grace sleeps once and re-gates with a fresh read; a second hold denies
1235
+ * rather than waiting forever. Returns a short outcome for logs/tests.
1236
+ */
1237
+ private maybeResumeInterruptedTurn;
1173
1238
  /**
1174
1239
  * Turn ended (busy→idle edge): if the MCP server is dead and none of the
1175
1240
  * channel tools verifiably delivered anything this turn, the agent's answer is
@@ -1177,6 +1242,12 @@ export declare class Daemon extends EventEmitter {
1177
1242
  * manager does not pass through the dead MCP server. Consuming the turn state
1178
1243
  * here (edge-triggered, then reset) is what makes it at most once per turn.
1179
1244
  */
1245
+ /**
1246
+ * #1241: promote a pending idle-edge confirmation once the window has
1247
+ * elapsed. Steady idle with no reply and no work since the edge is proven
1248
+ * idle; anything else dissolves the confirmation and leaves the turn armed.
1249
+ */
1250
+ private maybeConfirmReplyGuardIdle;
1180
1251
  private maybeProxyReplyOnTurnEnd;
1181
1252
  private isClaudeCodeBackend;
1182
1253
  private replyCompletionGuardEnabled;
@@ -1790,10 +1861,28 @@ export declare class Daemon extends EventEmitter {
1790
1861
  * the conversation is gone.
1791
1862
  */
1792
1863
  private paneSaysNoConversation;
1793
- /** How many consecutive startups have failed without proving the session is gone. */
1794
- private unprovenResumeFailures;
1795
1864
  /** After this many, start fresh anyway — loudly — so a truly broken session still recovers. */
1796
1865
  private static readonly MAX_UNPROVEN_RESUME_FAILURES;
1866
+ /**
1867
+ * #1217: the unproven-failure count lives in the instance directory, keyed by
1868
+ * the session id. Each start builds a new Daemon, so a count kept on the
1869
+ * object was always "attempt 1/3": the escape hatch could never fire, and an
1870
+ * unresumable session failed every start forever. A different session id (or
1871
+ * none) starts the count again; a successful resume or a set-aside ends it.
1872
+ */
1873
+ private bumpUnprovenResumeFailures;
1874
+ private clearUnprovenResumeFailures;
1875
+ /**
1876
+ * #1217: a session id belongs to the backend that made it. After a backend
1877
+ * switch the old id names nothing the new CLI knows (a Claude id handed to
1878
+ * muse is "retained session not found"), so resuming it can only fail. The
1879
+ * owner is recorded on every successful start; an id recorded for another
1880
+ * backend is set aside (kept on disk, as always) and this start is fresh.
1881
+ * An id with no recorded owner (from before this was recorded) is left to
1882
+ * the resume itself — its failure is proven or counted like any other.
1883
+ */
1884
+ private setAsideForeignSession;
1885
+ private recordSessionOwner;
1797
1886
  /**
1798
1887
  * Set the session aside instead of deleting it.
1799
1888
  *