@songsid/agend 2.1.0-beta.3 → 2.1.0-beta.31
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 +1 -0
- package/README.zh-TW.md +2 -1
- package/dist/access-path.js +3 -3
- package/dist/access-path.js.map +1 -1
- package/dist/agent-cli.js +1 -1
- package/dist/agent-cli.js.map +1 -1
- package/dist/agent-endpoint.d.ts +8 -0
- package/dist/agent-endpoint.js +36 -8
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/backend/antigravity.js +3 -2
- package/dist/backend/antigravity.js.map +1 -1
- package/dist/backend/claude-code.js +4 -4
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/factory.js +4 -1
- package/dist/backend/factory.js.map +1 -1
- package/dist/backend/grok.d.ts +51 -0
- package/dist/backend/grok.js +282 -0
- package/dist/backend/grok.js.map +1 -0
- package/dist/backend/kiro.js +3 -2
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend/types.d.ts +12 -2
- package/dist/backend/types.js +1 -0
- package/dist/backend/types.js.map +1 -1
- package/dist/channel/adapters/discord.d.ts +20 -0
- package/dist/channel/adapters/discord.js +85 -11
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/adapters/telegram.js +4 -1
- package/dist/channel/adapters/telegram.js.map +1 -1
- package/dist/channel/mcp-tools.js +17 -1
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/classic-channel-manager.d.ts +14 -1
- package/dist/classic-channel-manager.js +65 -4
- package/dist/classic-channel-manager.js.map +1 -1
- package/dist/cli.js +108 -16
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +68 -1
- package/dist/config-validator.js.map +1 -1
- package/dist/config.d.ts +3 -1
- package/dist/config.js +13 -1
- package/dist/config.js.map +1 -1
- package/dist/context-guardian.d.ts +2 -0
- package/dist/context-guardian.js +10 -2
- package/dist/context-guardian.js.map +1 -1
- package/dist/daemon-entry.js +2 -1
- package/dist/daemon-entry.js.map +1 -1
- package/dist/daemon.d.ts +76 -6
- package/dist/daemon.js +451 -113
- package/dist/daemon.js.map +1 -1
- package/dist/fleet-context.d.ts +4 -0
- package/dist/fleet-manager.d.ts +88 -7
- package/dist/fleet-manager.js +712 -129
- package/dist/fleet-manager.js.map +1 -1
- package/dist/general-knowledge/skills/fleet-config/SKILL.md +1 -1
- package/dist/general-knowledge/skills/model-discovery/SKILL.md +1 -0
- package/dist/instance-lifecycle.d.ts +11 -1
- package/dist/instance-lifecycle.js +64 -22
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/locale.js +26 -2
- package/dist/locale.js.map +1 -1
- package/dist/logger.d.ts +6 -0
- package/dist/logger.js +29 -10
- package/dist/logger.js.map +1 -1
- package/dist/outbound-handlers.d.ts +3 -0
- package/dist/outbound-handlers.js +203 -2
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +40 -1
- package/dist/outbound-schemas.js +36 -1
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/pause-marker.d.ts +5 -0
- package/dist/pause-marker.js +36 -0
- package/dist/pause-marker.js.map +1 -0
- package/dist/settings-api.d.ts +20 -2
- package/dist/settings-api.js +213 -9
- package/dist/settings-api.js.map +1 -1
- package/dist/setup-wizard.js +8 -0
- package/dist/setup-wizard.js.map +1 -1
- package/dist/statusline-watcher.d.ts +1 -1
- package/dist/statusline-watcher.js +3 -2
- package/dist/statusline-watcher.js.map +1 -1
- package/dist/tmux-control.d.ts +7 -0
- package/dist/tmux-control.js +22 -1
- package/dist/tmux-control.js.map +1 -1
- package/dist/tmux-manager.d.ts +1 -1
- package/dist/tmux-manager.js.map +1 -1
- package/dist/topic-commands.d.ts +19 -1
- package/dist/topic-commands.js +132 -23
- package/dist/topic-commands.js.map +1 -1
- package/dist/transcript-monitor.js +2 -0
- package/dist/transcript-monitor.js.map +1 -1
- package/dist/types.d.ts +23 -1
- package/dist/ui/dashboard.html +2 -2
- package/dist/ui/settings.html +453 -74
- package/dist/web-api.d.ts +1 -0
- package/dist/web-api.js +24 -15
- package/dist/web-api.js.map +1 -1
- package/dist/workflow-templates/default.md +0 -4
- package/package.json +2 -1
|
@@ -54,13 +54,14 @@ export class StatuslineWatcher {
|
|
|
54
54
|
return this.watchers.has(name);
|
|
55
55
|
}
|
|
56
56
|
/** Stop watcher for a specific instance. */
|
|
57
|
-
unwatch(name) {
|
|
57
|
+
unwatch(name, preserveRateLimits = false) {
|
|
58
58
|
const timer = this.watchers.get(name);
|
|
59
59
|
if (timer) {
|
|
60
60
|
clearInterval(timer);
|
|
61
61
|
this.watchers.delete(name);
|
|
62
62
|
}
|
|
63
|
-
|
|
63
|
+
if (!preserveRateLimits)
|
|
64
|
+
this.rateLimits.delete(name);
|
|
64
65
|
}
|
|
65
66
|
/** Stop all watchers and clear data. */
|
|
66
67
|
stopAll() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusline-watcher.js","sourceRoot":"","sources":["../src/statusline-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAiBjC;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAKR;IAJZ,QAAQ,GAAG,IAAI,GAAG,EAA0C,CAAC;IAC7D,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC;IAEzC,YAAoB,GAA6B;QAA7B,QAAG,GAAH,GAAG,CAA0B;IAAG,CAAC;IAErD,oDAAoD;IACpD,KAAK,CAAC,IAAY;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAE3D,gBAAgB;gBAChB,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,EAAE,CAAC;oBACtC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjE,CAAC;gBAED,sBAAsB;gBACtB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC5B,IAAI,EAAE,EAAE,CAAC;oBACP,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvC,MAAM,WAAW,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,IAAI,CAAC,CAAC;oBAEvD,qBAAqB;oBACrB,IAAI,IAAI,EAAE,aAAa,KAAK,GAAG,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;wBACrD,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,IAAI,8DAA8D,CAAC,CAAC;wBAC5G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,6BAA6B,CAAC,CAAC;oBAChE,CAAC;oBAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;wBACxB,aAAa,EAAE,EAAE,CAAC,SAAS,EAAE,eAAe,IAAI,CAAC;wBACjD,aAAa,EAAE,WAAW;qBAC3B,CAAC,CAAC;oBAEH,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;QAC1D,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,2CAA2C;IAC3C,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,kDAAkD;IAClD,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,4CAA4C;IAC5C,OAAO,CAAC,IAAY;
|
|
1
|
+
{"version":3,"file":"statusline-watcher.js","sourceRoot":"","sources":["../src/statusline-watcher.ts"],"names":[],"mappings":"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"}
|
package/dist/tmux-control.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { EventEmitter } from "node:events";
|
|
2
2
|
import type { Logger } from "./logger.js";
|
|
3
|
+
export interface TmuxPaneOutputEvent {
|
|
4
|
+
paneId: string;
|
|
5
|
+
windowId?: string;
|
|
6
|
+
at: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const CONTROL_SAFETY_SWEEP_MS = 60000;
|
|
3
9
|
/**
|
|
4
10
|
* Persistent tmux control mode client that monitors %output events
|
|
5
11
|
* to detect per-pane idle state. One instance per tmux session.
|
|
@@ -21,6 +27,7 @@ export declare class TmuxControlClient extends EventEmitter {
|
|
|
21
27
|
private registeredWindows;
|
|
22
28
|
private stopped;
|
|
23
29
|
private reconnectTimer;
|
|
30
|
+
private safetySweepTimer;
|
|
24
31
|
constructor(sessionName: string, silenceMs?: number, logger?: Logger | undefined);
|
|
25
32
|
start(): void;
|
|
26
33
|
stop(): void;
|
package/dist/tmux-control.js
CHANGED
|
@@ -2,6 +2,7 @@ import { spawn, execFile } from "node:child_process";
|
|
|
2
2
|
import { EventEmitter } from "node:events";
|
|
3
3
|
import { createInterface } from "node:readline";
|
|
4
4
|
import { getTmuxSocketName } from "./paths.js";
|
|
5
|
+
export const CONTROL_SAFETY_SWEEP_MS = 60_000;
|
|
5
6
|
function tmuxArgs(args) {
|
|
6
7
|
const socket = getTmuxSocketName();
|
|
7
8
|
return socket ? ["-L", socket, ...args] : args;
|
|
@@ -37,14 +38,22 @@ export class TmuxControlClient extends EventEmitter {
|
|
|
37
38
|
registeredWindows = new Set(); // windowIds we should re-resolve on reconnect
|
|
38
39
|
stopped = false;
|
|
39
40
|
reconnectTimer = null;
|
|
41
|
+
safetySweepTimer = null;
|
|
40
42
|
constructor(sessionName, silenceMs = 2000, logger) {
|
|
41
43
|
super();
|
|
42
44
|
this.sessionName = sessionName;
|
|
43
45
|
this.silenceMs = silenceMs;
|
|
44
46
|
this.logger = logger;
|
|
47
|
+
// One shared control client intentionally has one listener per daemon.
|
|
48
|
+
this.setMaxListeners(0);
|
|
45
49
|
}
|
|
46
50
|
start() {
|
|
47
51
|
this.stopped = false;
|
|
52
|
+
if (!this.safetySweepTimer) {
|
|
53
|
+
this.safetySweepTimer = setInterval(() => {
|
|
54
|
+
this.emit("safety_sweep", { at: Date.now() });
|
|
55
|
+
}, CONTROL_SAFETY_SWEEP_MS);
|
|
56
|
+
}
|
|
48
57
|
this.connect();
|
|
49
58
|
}
|
|
50
59
|
// PLACEHOLDER_REST
|
|
@@ -54,6 +63,10 @@ export class TmuxControlClient extends EventEmitter {
|
|
|
54
63
|
clearTimeout(this.reconnectTimer);
|
|
55
64
|
this.reconnectTimer = null;
|
|
56
65
|
}
|
|
66
|
+
if (this.safetySweepTimer) {
|
|
67
|
+
clearInterval(this.safetySweepTimer);
|
|
68
|
+
this.safetySweepTimer = null;
|
|
69
|
+
}
|
|
57
70
|
this.cleanup();
|
|
58
71
|
}
|
|
59
72
|
/**
|
|
@@ -219,7 +232,15 @@ export class TmuxControlClient extends EventEmitter {
|
|
|
219
232
|
if (line.startsWith("%output ")) {
|
|
220
233
|
const match = line.match(/^%output (%\d+) /);
|
|
221
234
|
if (match) {
|
|
222
|
-
|
|
235
|
+
const at = Date.now();
|
|
236
|
+
const paneId = match[1];
|
|
237
|
+
const windowId = this.paneToWindow.get(paneId);
|
|
238
|
+
this.lastOutputAt.set(paneId, at);
|
|
239
|
+
if (windowId) {
|
|
240
|
+
// Scope hot-path output events by window so one active TUI does not
|
|
241
|
+
// wake every daemon listener in a large fleet.
|
|
242
|
+
this.emit(`output:${windowId}`, { paneId, windowId, at });
|
|
243
|
+
}
|
|
223
244
|
}
|
|
224
245
|
}
|
|
225
246
|
}
|
package/dist/tmux-control.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-control.js","sourceRoot":"","sources":["../src/tmux-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAkB,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"tmux-control.js","sourceRoot":"","sources":["../src/tmux-control.ts"],"names":[],"mappings":"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"}
|
package/dist/tmux-manager.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export declare class TmuxManager {
|
|
|
36
36
|
exitCode?: number;
|
|
37
37
|
} | null>;
|
|
38
38
|
sendKeys(text: string): Promise<boolean>;
|
|
39
|
-
sendSpecialKey(key: "Enter" | "Escape" | "Up" | "Down" | "Right" | "Left" | "C-c"): Promise<boolean>;
|
|
39
|
+
sendSpecialKey(key: "Enter" | "Escape" | "Up" | "Down" | "Right" | "Left" | "C-c" | "C-q"): Promise<boolean>;
|
|
40
40
|
pasteText(text: string): Promise<boolean>;
|
|
41
41
|
/**
|
|
42
42
|
* Paste text into the pane WITHOUT submitting (no Enter). Returns false on failure.
|
package/dist/tmux-manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-manager.js","sourceRoot":"","sources":["../src/tmux-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tmux-manager.js","sourceRoot":"","sources":["../src/tmux-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/topic-commands.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { FleetContext } from "./fleet-context.js";
|
|
2
2
|
import type { InboundMessage } from "./channel/types.js";
|
|
3
|
+
type ExecutionFleetContext = FleetContext & {
|
|
4
|
+
getInstanceExecutionState?(instanceName: string): "idle" | "working" | "stuck" | null;
|
|
5
|
+
};
|
|
3
6
|
/** Sanitize a directory name into a valid instance name. Keeps Unicode letters (incl. CJK). */
|
|
4
7
|
export declare function sanitizeInstanceName(name: string): string;
|
|
5
8
|
/** Allowed filename for /save and /load (no path separators, no shell/inject chars). */
|
|
@@ -13,6 +16,10 @@ export declare function saveCommandForBackend(backend: string, filename: string,
|
|
|
13
16
|
export declare function parseSaveFilename(text: string): string;
|
|
14
17
|
/** Shared message when a backend doesn't support /save. */
|
|
15
18
|
export declare const SAVE_UNSUPPORTED_MSG = "\u26A0\uFE0F /save is not supported for this backend (only kiro-cli and claude-code)";
|
|
19
|
+
export declare function parsePauseWakeCommand(text: string): {
|
|
20
|
+
action: "pause" | "wake";
|
|
21
|
+
instance?: string;
|
|
22
|
+
} | null;
|
|
16
23
|
/**
|
|
17
24
|
* The in-session compact/context-reset command for a backend NAME (the fleet
|
|
18
25
|
* process routes /compact via IPC and only has the backend string, not a
|
|
@@ -30,13 +37,22 @@ export declare function compactCommandForBackend(backend: string): string;
|
|
|
30
37
|
* bracketed: "[6%]" claude/others prompt: "6% ❯" / "6% >"
|
|
31
38
|
* codex TUI footer: "Context 94% left" (remaining) or "Context 6% used"
|
|
32
39
|
* opencode footer: "1.2K (6%)" (token count then parenthesized %)
|
|
40
|
+
* grok title bar: "12K / 500K" (used tokens / context window)
|
|
33
41
|
* All values returned are context USED (low % = fresh session); codex's
|
|
34
42
|
* "N% left" is remaining, so it's inverted to 100 - N.
|
|
35
43
|
*/
|
|
44
|
+
export interface TokenContextRatio {
|
|
45
|
+
usedLabel: string;
|
|
46
|
+
totalLabel: string;
|
|
47
|
+
percentage: number;
|
|
48
|
+
}
|
|
49
|
+
/** Parse Grok's used/total token title-bar indicator, newest line first. */
|
|
50
|
+
export declare function parseTokenContextRatio(pane: string): TokenContextRatio | null;
|
|
51
|
+
export declare function formatContextUsageLine(context: number, tokenRatio?: TokenContextRatio | null): string;
|
|
36
52
|
export declare function parseContextPercent(pane: string): number | null;
|
|
37
53
|
export declare class TopicCommands {
|
|
38
54
|
private ctx;
|
|
39
|
-
constructor(ctx:
|
|
55
|
+
constructor(ctx: ExecutionFleetContext);
|
|
40
56
|
/** Get the adapter that should reply to a given inbound message */
|
|
41
57
|
private getReplyAdapter;
|
|
42
58
|
/** Parse and dispatch commands from the General topic */
|
|
@@ -57,6 +73,7 @@ export declare class TopicCommands {
|
|
|
57
73
|
private handleDashboardCommand;
|
|
58
74
|
/** Handle /ctx or /compact in any instance topic — returns true if handled */
|
|
59
75
|
handleInstanceCommand(msg: InboundMessage, instanceName: string): Promise<boolean>;
|
|
76
|
+
runPauseWake(instanceName: string, action: "pause" | "wake"): Promise<string>;
|
|
60
77
|
/** Get context usage text for an instance (shared by TG + DC) */
|
|
61
78
|
getCtxText(instanceName: string): Promise<string>;
|
|
62
79
|
/** Send the backend-appropriate compact command to an instance's tmux pane */
|
|
@@ -88,3 +105,4 @@ export declare class TopicCommands {
|
|
|
88
105
|
/** Register bot commands in Telegram command menu */
|
|
89
106
|
registerBotCommands(): Promise<void>;
|
|
90
107
|
}
|
|
108
|
+
export {};
|
package/dist/topic-commands.js
CHANGED
|
@@ -33,6 +33,12 @@ export function parseSaveFilename(text) {
|
|
|
33
33
|
}
|
|
34
34
|
/** Shared message when a backend doesn't support /save. */
|
|
35
35
|
export const SAVE_UNSUPPORTED_MSG = "⚠️ /save is not supported for this backend (only kiro-cli and claude-code)";
|
|
36
|
+
export function parsePauseWakeCommand(text) {
|
|
37
|
+
const match = text.match(/^\/(pause|wake)(?:@\S+)?(?:\s+(\S+))?$/);
|
|
38
|
+
if (!match)
|
|
39
|
+
return null;
|
|
40
|
+
return { action: match[1], instance: match[2] };
|
|
41
|
+
}
|
|
36
42
|
/**
|
|
37
43
|
* The in-session compact/context-reset command for a backend NAME (the fleet
|
|
38
44
|
* process routes /compact via IPC and only has the backend string, not a
|
|
@@ -46,17 +52,33 @@ export function compactCommandForBackend(backend) {
|
|
|
46
52
|
return "/clear";
|
|
47
53
|
return "/compact";
|
|
48
54
|
}
|
|
49
|
-
/**
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
/** Parse Grok's used/total token title-bar indicator, newest line first. */
|
|
56
|
+
export function parseTokenContextRatio(pane) {
|
|
57
|
+
const lines = pane.split("\n");
|
|
58
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
59
|
+
const match = lines[i].match(/(\d+\.?\d*[KkMm]?)\s*\/\s*(\d+\.?\d*[KkMm]?)/);
|
|
60
|
+
if (!match)
|
|
61
|
+
continue;
|
|
62
|
+
const tokenCount = (value) => {
|
|
63
|
+
const suffix = value.at(-1)?.toLowerCase();
|
|
64
|
+
const multiplier = suffix === "k" ? 1_000 : suffix === "m" ? 1_000_000 : 1;
|
|
65
|
+
return parseFloat(value) * multiplier;
|
|
66
|
+
};
|
|
67
|
+
const used = tokenCount(match[1]);
|
|
68
|
+
const total = tokenCount(match[2]);
|
|
69
|
+
if (Number.isFinite(used) && Number.isFinite(total) && total > 0) {
|
|
70
|
+
return { usedLabel: match[1], totalLabel: match[2], percentage: used / total * 100 };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
export function formatContextUsageLine(context, tokenRatio = null) {
|
|
76
|
+
const rounded = Math.round(context);
|
|
77
|
+
const localized = t("ctx.used", rounded);
|
|
78
|
+
return tokenRatio
|
|
79
|
+
? localized.replace(`${rounded}%`, `${tokenRatio.usedLabel} / ${tokenRatio.totalLabel} (${rounded}%)`)
|
|
80
|
+
: localized;
|
|
81
|
+
}
|
|
60
82
|
export function parseContextPercent(pane) {
|
|
61
83
|
const lines = pane.split("\n");
|
|
62
84
|
for (let i = lines.length - 1; i >= 0; i--) {
|
|
@@ -65,6 +87,9 @@ export function parseContextPercent(pane) {
|
|
|
65
87
|
const left = line.match(/Context\s+(\d+)%\s+left/i);
|
|
66
88
|
if (left)
|
|
67
89
|
return 100 - parseInt(left[1], 10);
|
|
90
|
+
const ratio = parseTokenContextRatio(line);
|
|
91
|
+
if (ratio)
|
|
92
|
+
return ratio.percentage;
|
|
68
93
|
const m = line.match(/(\d+)%.*[!❯>]/)
|
|
69
94
|
|| line.match(/◔\s*(\d+)%/)
|
|
70
95
|
|| line.match(/\[(\d+)%\]/)
|
|
@@ -172,6 +197,28 @@ export class TopicCommands {
|
|
|
172
197
|
const text = msg.text?.trim();
|
|
173
198
|
if (!text)
|
|
174
199
|
return false;
|
|
200
|
+
const pauseWake = parsePauseWakeCommand(text);
|
|
201
|
+
if (pauseWake) {
|
|
202
|
+
const adapter = this.getReplyAdapter(msg);
|
|
203
|
+
if (!adapter)
|
|
204
|
+
return false;
|
|
205
|
+
if (!this.ctx.isFleetAdmin(msg.userId, msg.adapterId)) {
|
|
206
|
+
await adapter.sendText(msg.chatId, t("permission.denied"), { threadId: msg.threadId });
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
const isGeneral = !!this.ctx.fleetConfig?.instances[instanceName]?.general_topic;
|
|
210
|
+
if (isGeneral && !pauseWake.instance) {
|
|
211
|
+
await adapter.sendText(msg.chatId, t(`${pauseWake.action}.usage`), { threadId: msg.threadId });
|
|
212
|
+
return true;
|
|
213
|
+
}
|
|
214
|
+
const target = isGeneral ? pauseWake.instance : instanceName;
|
|
215
|
+
if (!this.ctx.fleetConfig?.instances[target]) {
|
|
216
|
+
await adapter.sendText(msg.chatId, t("instance.not_found", target), { threadId: msg.threadId });
|
|
217
|
+
return true;
|
|
218
|
+
}
|
|
219
|
+
await adapter.sendText(msg.chatId, await this.runPauseWake(target, pauseWake.action), { threadId: msg.threadId });
|
|
220
|
+
return true;
|
|
221
|
+
}
|
|
175
222
|
if (text === "/collab" || text.startsWith("/collab@")) {
|
|
176
223
|
const adapter = this.getReplyAdapter(msg);
|
|
177
224
|
if (!adapter)
|
|
@@ -224,6 +271,17 @@ export class TopicCommands {
|
|
|
224
271
|
await adapter.sendText(msg.chatId, reply, { threadId: msg.threadId });
|
|
225
272
|
return true;
|
|
226
273
|
}
|
|
274
|
+
async runPauseWake(instanceName, action) {
|
|
275
|
+
try {
|
|
276
|
+
const result = await this.ctx.changeInstancePauseState(instanceName, action);
|
|
277
|
+
if (result === "not_idle")
|
|
278
|
+
return t("pause.not_idle", instanceName);
|
|
279
|
+
return t(result === "paused" ? "pause.success" : "wake.success", instanceName);
|
|
280
|
+
}
|
|
281
|
+
catch (err) {
|
|
282
|
+
return t(`${action}.failed`, instanceName, err.message);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
227
285
|
/** Get context usage text for an instance (shared by TG + DC) */
|
|
228
286
|
async getCtxText(instanceName) {
|
|
229
287
|
// Classic instances live in classicBot.yaml, not fleet.yaml → consult the
|
|
@@ -238,6 +296,7 @@ export class TopicCommands {
|
|
|
238
296
|
?? classicBackend
|
|
239
297
|
?? this.ctx.fleetConfig?.defaults?.backend ?? "claude-code";
|
|
240
298
|
let context = null;
|
|
299
|
+
let tokenRatio = null;
|
|
241
300
|
// Only claude-code writes statusline.json. Reading it for other backends
|
|
242
301
|
// risks a stale value left over from a previous backend (e.g. after
|
|
243
302
|
// switching claude-code → kiro-cli), so those go straight to capture-pane.
|
|
@@ -261,12 +320,15 @@ export class TopicCommands {
|
|
|
261
320
|
const baseArgs = ["capture-pane", "-t", `${getTmuxSessionName()}:${instanceName}`, "-p", "-S", "-60"];
|
|
262
321
|
const tmuxArgs = socketName ? ["-L", socketName, ...baseArgs] : baseArgs;
|
|
263
322
|
const pane = execFileSync("tmux", tmuxArgs, { encoding: "utf-8", timeout: 2000, stdio: ["pipe", "pipe", "pipe"] });
|
|
264
|
-
|
|
323
|
+
if (backend === "grok")
|
|
324
|
+
tokenRatio = parseTokenContextRatio(pane);
|
|
325
|
+
context = tokenRatio?.percentage ?? parseContextPercent(pane);
|
|
265
326
|
}
|
|
266
327
|
catch { /* ignore */ }
|
|
267
328
|
}
|
|
329
|
+
const contextLine = context == null ? null : formatContextUsageLine(context, tokenRatio);
|
|
268
330
|
return context != null
|
|
269
|
-
? `${
|
|
331
|
+
? `${contextLine}\n${t("ctx.backend", backend)}\n${t("ctx.instance", instanceName)}`
|
|
270
332
|
: `${t("ctx.unavailable")}\n${t("ctx.backend", backend)}\n${t("ctx.instance", instanceName)}`;
|
|
271
333
|
}
|
|
272
334
|
/** Send the backend-appropriate compact command to an instance's tmux pane */
|
|
@@ -332,8 +394,18 @@ export class TopicCommands {
|
|
|
332
394
|
return "No fleet config loaded.";
|
|
333
395
|
const rows = [];
|
|
334
396
|
let pausedCount = 0;
|
|
335
|
-
|
|
397
|
+
const fleetNames = new Set(Object.keys(this.ctx.fleetConfig.instances));
|
|
398
|
+
const instances = [
|
|
399
|
+
...Object.keys(this.ctx.fleetConfig.instances).map(name => ({ name, classic: false })),
|
|
400
|
+
...(this.ctx.classicChannels?.getAll() ?? [])
|
|
401
|
+
.filter(ch => !fleetNames.has(ch.instanceName))
|
|
402
|
+
.map(ch => ({ name: ch.instanceName, classic: true })),
|
|
403
|
+
];
|
|
404
|
+
for (const { name, classic } of instances) {
|
|
336
405
|
const status = this.ctx.getInstanceStatus(name);
|
|
406
|
+
const executionState = status === "paused" ? "paused"
|
|
407
|
+
: status === "running" ? this.ctx.getInstanceExecutionState?.(name) ?? null
|
|
408
|
+
: null;
|
|
337
409
|
const costPaused = this.ctx.costGuard?.isLimited(name);
|
|
338
410
|
if (status === "paused")
|
|
339
411
|
pausedCount++;
|
|
@@ -346,7 +418,9 @@ export class TopicCommands {
|
|
|
346
418
|
}
|
|
347
419
|
catch { /* file may not exist yet */ }
|
|
348
420
|
const costCents = this.ctx.costGuard?.getDailyCostCents(name) ?? 0;
|
|
349
|
-
const backend =
|
|
421
|
+
const backend = classic
|
|
422
|
+
? this.ctx.classicChannels?.getBackendByInstance(name, this.ctx.fleetConfig.defaults?.backend) ?? "-"
|
|
423
|
+
: this.ctx.fleetConfig.instances[name]?.backend ?? this.ctx.fleetConfig.defaults?.backend ?? "-";
|
|
350
424
|
let icon;
|
|
351
425
|
if (costPaused || status === "paused")
|
|
352
426
|
icon = "⏸";
|
|
@@ -356,15 +430,21 @@ export class TopicCommands {
|
|
|
356
430
|
icon = "🔴";
|
|
357
431
|
else
|
|
358
432
|
icon = "⚪";
|
|
359
|
-
|
|
433
|
+
const stateLabel = executionState === "idle" ? "🟢 idle"
|
|
434
|
+
: executionState === "working" ? "🔵 working"
|
|
435
|
+
: executionState === "stuck" ? "🔴 stuck"
|
|
436
|
+
: executionState === "paused" ? "⏸ paused"
|
|
437
|
+
: "—";
|
|
438
|
+
const displayName = `${classic ? "[C] " : ""}${this.shortInstanceName(name)}`;
|
|
439
|
+
rows.push(`| ${displayName} | ${backend} | ${contextStr} | ${formatCents(costCents)} | ${icon} | ${stateLabel} |`);
|
|
360
440
|
}
|
|
361
441
|
if (rows.length === 0)
|
|
362
442
|
return "No instances configured.";
|
|
363
443
|
const lines = [
|
|
364
444
|
"## Fleet Status",
|
|
365
445
|
"",
|
|
366
|
-
"| Instance | Backend | Ctx | Cost | Status |",
|
|
367
|
-
"
|
|
446
|
+
"| Instance | Backend | Ctx | Cost | Status | State |",
|
|
447
|
+
"|----------|---------|-----|------|--------|-------|",
|
|
368
448
|
...rows,
|
|
369
449
|
"",
|
|
370
450
|
`Paused instances: ${pausedCount}`,
|
|
@@ -414,14 +494,39 @@ export class TopicCommands {
|
|
|
414
494
|
"",
|
|
415
495
|
"## Instances",
|
|
416
496
|
"",
|
|
417
|
-
"| Name | IPC | Cost | Rate |",
|
|
418
|
-
"
|
|
497
|
+
"| Name | State | IPC | Cost | Rate |",
|
|
498
|
+
"|------|-------|-----|------|------|",
|
|
499
|
+
];
|
|
500
|
+
const fleetNames = new Set(info.instances.map(inst => inst.name));
|
|
501
|
+
const classicInstances = (this.ctx.classicChannels?.getAll() ?? [])
|
|
502
|
+
.filter(ch => !fleetNames.has(ch.instanceName))
|
|
503
|
+
.map(ch => ({
|
|
504
|
+
name: ch.instanceName,
|
|
505
|
+
status: this.ctx.getInstanceStatus(ch.instanceName),
|
|
506
|
+
state: this.ctx.getInstanceExecutionState?.(ch.instanceName) ?? null,
|
|
507
|
+
ipc: this.ctx.instanceIpcClients.has(ch.instanceName),
|
|
508
|
+
costCents: this.ctx.costGuard?.getDailyCostCents(ch.instanceName) ?? 0,
|
|
509
|
+
rateLimits: null,
|
|
510
|
+
classic: true,
|
|
511
|
+
}));
|
|
512
|
+
const instances = [
|
|
513
|
+
...info.instances.map(inst => ({ ...inst, classic: false })),
|
|
514
|
+
...classicInstances,
|
|
419
515
|
];
|
|
420
|
-
for (const inst of
|
|
421
|
-
const
|
|
516
|
+
for (const inst of instances) {
|
|
517
|
+
const executionState = inst.state;
|
|
518
|
+
const displayState = inst.status === "paused" ? "paused"
|
|
519
|
+
: inst.status === "stopped" || inst.status === "crashed" ? inst.status
|
|
520
|
+
: executionState ?? "running";
|
|
521
|
+
const icon = displayState === "idle" ? "🟢"
|
|
522
|
+
: displayState === "working" ? "🔵"
|
|
523
|
+
: displayState === "stuck" || displayState === "crashed" ? "🔴"
|
|
524
|
+
: displayState === "paused" ? "⏸"
|
|
525
|
+
: displayState === "stopped" ? "⚪" : "🟢";
|
|
422
526
|
const ipc = inst.ipc ? "✓" : "✗";
|
|
423
527
|
const rate = inst.rateLimits ? `5h:${inst.rateLimits.five_hour_pct}%` : "-";
|
|
424
|
-
|
|
528
|
+
const displayName = `${inst.classic ? "[C] " : ""}${this.shortInstanceName(inst.name)}`;
|
|
529
|
+
lines.push(`| ${icon} ${displayName} | ${displayState} | ${ipc} | ${formatCents(inst.costCents)} | ${rate} |`);
|
|
425
530
|
}
|
|
426
531
|
if (info.fleet_cost_limit_cents > 0) {
|
|
427
532
|
lines.push("", `Fleet cost: ${formatCents(info.fleet_cost_cents)} / ${formatCents(info.fleet_cost_limit_cents)} daily`);
|
|
@@ -597,6 +702,8 @@ export class TopicCommands {
|
|
|
597
702
|
{ command: "dashboard", description: "🔒 Get dashboard URLs" },
|
|
598
703
|
{ command: "ctx", description: "Show context usage" },
|
|
599
704
|
{ command: "compact", description: "Compact agent context" },
|
|
705
|
+
{ command: "pause", description: "🔒 Pause an idle instance" },
|
|
706
|
+
{ command: "wake", description: "🔒 Wake a paused instance" },
|
|
600
707
|
{ command: "restart", description: "🔒 Graceful restart all instances" },
|
|
601
708
|
{ command: "collab", description: "🔒 Toggle bot/webhook mode" },
|
|
602
709
|
{ command: "update", description: "🔒 Update AgEnD to latest" },
|
|
@@ -614,6 +721,8 @@ export class TopicCommands {
|
|
|
614
721
|
{ command: "start", description: "🔒 Start an agent in this chat" },
|
|
615
722
|
{ command: "stop", description: "🔒 Stop the agent" },
|
|
616
723
|
{ command: "compact", description: "🔒 Compact agent context" },
|
|
724
|
+
{ command: "pause", description: "🔒 Pause the agent" },
|
|
725
|
+
{ command: "wake", description: "🔒 Wake the agent" },
|
|
617
726
|
{ command: "ctx", description: "Show context usage" },
|
|
618
727
|
],
|
|
619
728
|
scope: { type: "default" },
|