@songsid/agend 2.0.8-beta.3 → 2.0.8-beta.30

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 (56) hide show
  1. package/README.md +8 -3
  2. package/dist/adapter-world.d.ts +1 -1
  3. package/dist/adapter-world.js +2 -2
  4. package/dist/adapter-world.js.map +1 -1
  5. package/dist/backend/antigravity.js +6 -2
  6. package/dist/backend/antigravity.js.map +1 -1
  7. package/dist/backend/claude-code.js +3 -2
  8. package/dist/backend/claude-code.js.map +1 -1
  9. package/dist/backend/codex.js +14 -5
  10. package/dist/backend/codex.js.map +1 -1
  11. package/dist/backend/kiro.js +4 -2
  12. package/dist/backend/kiro.js.map +1 -1
  13. package/dist/backend/opencode.js.map +1 -1
  14. package/dist/backend/types.d.ts +8 -0
  15. package/dist/backend/types.js +12 -0
  16. package/dist/backend/types.js.map +1 -1
  17. package/dist/channel/adapters/discord.d.ts +5 -1
  18. package/dist/channel/adapters/discord.js +192 -105
  19. package/dist/channel/adapters/discord.js.map +1 -1
  20. package/dist/channel/adapters/telegram.d.ts +3 -0
  21. package/dist/channel/adapters/telegram.js +7 -0
  22. package/dist/channel/adapters/telegram.js.map +1 -1
  23. package/dist/channel/tool-router.js +1 -1
  24. package/dist/channel/tool-router.js.map +1 -1
  25. package/dist/channel/tool-tracker.js +2 -2
  26. package/dist/channel/tool-tracker.js.map +1 -1
  27. package/dist/channel/types.d.ts +12 -2
  28. package/dist/cli.js +150 -95
  29. package/dist/cli.js.map +1 -1
  30. package/dist/daemon.d.ts +31 -1
  31. package/dist/daemon.js +163 -47
  32. package/dist/daemon.js.map +1 -1
  33. package/dist/fleet-context.d.ts +2 -0
  34. package/dist/fleet-manager.d.ts +41 -0
  35. package/dist/fleet-manager.js +471 -139
  36. package/dist/fleet-manager.js.map +1 -1
  37. package/dist/general-knowledge/skills/session-management/SKILL.md +56 -1
  38. package/dist/instance-lifecycle.js +9 -0
  39. package/dist/instance-lifecycle.js.map +1 -1
  40. package/dist/logger.d.ts +9 -1
  41. package/dist/logger.js +17 -7
  42. package/dist/logger.js.map +1 -1
  43. package/dist/outbound-handlers.d.ts +2 -0
  44. package/dist/outbound-handlers.js +13 -0
  45. package/dist/outbound-handlers.js.map +1 -1
  46. package/dist/outbound-schemas.d.ts +1 -1
  47. package/dist/tmux-control.d.ts +10 -0
  48. package/dist/tmux-control.js +29 -0
  49. package/dist/tmux-control.js.map +1 -1
  50. package/dist/tmux-manager.d.ts +7 -1
  51. package/dist/tmux-manager.js +17 -0
  52. package/dist/tmux-manager.js.map +1 -1
  53. package/dist/topic-commands.d.ts +21 -0
  54. package/dist/topic-commands.js +81 -6
  55. package/dist/topic-commands.js.map +1 -1
  56. package/package.json +1 -1
@@ -52,6 +52,8 @@ export interface FleetContext {
52
52
  getSysInfo(): SysInfo;
53
53
  getInstanceStatus(name: string): "running" | "stopped" | "crashed";
54
54
  toggleFleetCollab(instanceName: string): boolean;
55
+ /** Interrupt an instance's current generation (cancel button / /cancel). */
56
+ cancelInstance(instanceName: string): boolean;
55
57
  startInstance(name: string, config: InstanceConfig, topicMode: boolean): Promise<void>;
56
58
  stopInstance(name: string): Promise<void>;
57
59
  connectIpcToInstance(name: string): Promise<void>;
@@ -48,6 +48,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
48
48
  private topicIcons;
49
49
  private lastActivity;
50
50
  private lastInboundUser;
51
+ private pendingCancelMessages;
52
+ private lastInboundMsg;
51
53
  private topicArchiver;
52
54
  controlClient: TmuxControlClient | null;
53
55
  classicChannels: ClassicChannelManager | null;
@@ -102,6 +104,13 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
102
104
  private loadEnvFile;
103
105
  /** Start all instances from fleet config */
104
106
  startAll(configPath: string): Promise<void>;
107
+ /**
108
+ * Delete inbox files older than retentionDays (by mtime). Cleans the shared
109
+ * inbox (`<dataDir>/inbox`) and every workspace inbox
110
+ * (`<agendHome>/workspaces/*\/inbox`). Piggybacks on the daily summary timer,
111
+ * mirroring classic chat-log rotation (same 7-day retention).
112
+ */
113
+ private rotateInboxes;
105
114
  /** Start the shared channel adapter(s) for topic mode */
106
115
  private startSharedAdapter;
107
116
  /** Start the primary adapter (backward-compatible, sets this.adapter) */
@@ -160,6 +169,31 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
160
169
  checkModelFailover(name: string, fiveHourPct: number): void;
161
170
  toggleFleetCollab(instanceName: string): boolean;
162
171
  notifyInstanceTopic(instanceName: string, text: string): void;
172
+ /** Send a "🛑 Cancel" button to the instance's topic/channel after delivery. */
173
+ /**
174
+ * Handle the DC `/save` slash command for both classic AND fleet-topic targets.
175
+ * Picks the backend-appropriate command (kiro → /chat save, claude → /export);
176
+ * unsupported backends get a clear error. Routes via classic paste or fleet IPC.
177
+ */
178
+ private handleSlashSave;
179
+ sendCancelButton(instanceName: string): Promise<void>;
180
+ /** Delete a specific cancel-button message (best-effort, via its own adapter). */
181
+ private deleteCancelMessage;
182
+ /** Retire (delete) the pending cancel button — on reply, cancel, report, or 30min cap. */
183
+ clearCancelButton(instanceName: string): void;
184
+ /**
185
+ * Reaction target chat id. Telegram reactions key on the supergroup chat_id
186
+ * (the topic thread is NOT a chat_id), so a forum-topic message must react on
187
+ * msg.chatId — reacting on threadId silently fails. Discord reactions key on
188
+ * the channel/thread id.
189
+ */
190
+ private reactTarget;
191
+ /** Remember the user message just delivered, so we can react ✅ when done. */
192
+ private trackInboundMsg;
193
+ /** React ✅ on the last user message after the agent replies. */
194
+ private reactDone;
195
+ /** Interrupt an instance's current generation (cancel button / /cancel). */
196
+ cancelInstance(instanceName: string): boolean;
163
197
  queueMirrorMessage(text: string): void;
164
198
  /** Push an SSE event to all connected Web UI clients. */
165
199
  emitSseEvent(event: string, data: unknown): void;
@@ -220,6 +254,13 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
220
254
  private reconcileInstances;
221
255
  restartInstances(): Promise<void>;
222
256
  private checkForUpdates;
257
+ /**
258
+ * Semver "a > b". Compares major.minor.patch numerically; a version without a
259
+ * prerelease outranks the same core with one (2.0.8 > 2.0.8-beta.16); two
260
+ * prereleases compare identifier-by-identifier (numeric < alphanumeric, numeric
261
+ * fields compared as numbers). Sufficient for our X.Y.Z[-beta.N] scheme.
262
+ */
263
+ private semverGt;
223
264
  private startHealthServer;
224
265
  getUiStatus(): unknown;
225
266
  }