sensorium-mcp 3.0.72 → 3.0.76
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/dist/config.d.ts +3 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -2
- package/dist/config.js.map +1 -1
- package/dist/dashboard/log-parser.d.ts +51 -0
- package/dist/dashboard/log-parser.d.ts.map +1 -0
- package/dist/dashboard/log-parser.js +140 -0
- package/dist/dashboard/log-parser.js.map +1 -0
- package/dist/dashboard/presets.d.ts.map +1 -1
- package/dist/dashboard/presets.js +0 -3
- package/dist/dashboard/presets.js.map +1 -1
- package/dist/dashboard/routes/threads.d.ts +22 -0
- package/dist/dashboard/routes/threads.d.ts.map +1 -1
- package/dist/dashboard/routes/threads.js +194 -4
- package/dist/dashboard/routes/threads.js.map +1 -1
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +7 -1
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +9 -9
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +2 -1
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/tools/defs/session-defs.d.ts.map +1 -1
- package/dist/tools/defs/session-defs.js +1 -2
- package/dist/tools/defs/session-defs.js.map +1 -1
- package/dist/tools/delegate-tool.js +2 -2
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/start-session-tool.js +2 -2
- package/dist/tools/start-session-tool.js.map +1 -1
- package/dist/tools/wait/message-delivery.d.ts.map +1 -1
- package/dist/tools/wait/message-delivery.js +7 -2
- package/dist/tools/wait/message-delivery.js.map +1 -1
- package/package.json +2 -2
- package/templates/plan-mode.default.md +5 -2
- package/templates/playwright.default.md +72 -0
package/dist/config.d.ts
CHANGED
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
import type { AppConfig } from "./types.js";
|
|
6
6
|
import type { Database } from "./data/memory/schema.js";
|
|
7
7
|
export declare const TEMPLATES_DIR: string;
|
|
8
|
-
export type AgentType = "copilot" | "claude" | "
|
|
8
|
+
export type AgentType = "copilot" | "claude" | "codex" | "openai_codex";
|
|
9
|
+
/** The single source of truth for the default agent type when none is configured. */
|
|
10
|
+
export declare const DEFAULT_AGENT_TYPE: AgentType;
|
|
9
11
|
export declare const VALID_AGENT_TYPES: readonly string[];
|
|
10
12
|
export declare function isValidAgentType(v: unknown): v is AgentType;
|
|
11
13
|
export declare function getAgentType(): AgentType;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAoCxD,eAAO,MAAM,aAAa,QAAsD,CAAC;AAKjF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -36,9 +36,11 @@ if (VOICE_ANALYSIS_URL) {
|
|
|
36
36
|
// ─── Templates directory ────────────────────────────────────────────────────
|
|
37
37
|
export const TEMPLATES_DIR = join(homedir(), ".remote-copilot-mcp", "templates");
|
|
38
38
|
mkdirSync(TEMPLATES_DIR, { recursive: true });
|
|
39
|
+
/** The single source of truth for the default agent type when none is configured. */
|
|
40
|
+
export const DEFAULT_AGENT_TYPE = "claude";
|
|
39
41
|
export const VALID_AGENT_TYPES = [
|
|
40
42
|
"copilot",
|
|
41
|
-
"claude",
|
|
43
|
+
"claude",
|
|
42
44
|
"codex", "openai_codex",
|
|
43
45
|
];
|
|
44
46
|
export function isValidAgentType(v) {
|
|
@@ -70,7 +72,7 @@ function updateSettings(mutator) {
|
|
|
70
72
|
}
|
|
71
73
|
export function getAgentType() {
|
|
72
74
|
const t = readSettings().agentType;
|
|
73
|
-
return isValidAgentType(t) ? t :
|
|
75
|
+
return isValidAgentType(t) ? t : DEFAULT_AGENT_TYPE;
|
|
74
76
|
}
|
|
75
77
|
export function setAgentType(type) {
|
|
76
78
|
updateSettings(s => { s.agentType = type; });
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parser for Claude CLI stream-json thread logs (newline-delimited JSON).
|
|
3
|
+
*
|
|
4
|
+
* The agent's stdout is captured as one JSON event per line. This turns that
|
|
5
|
+
* raw event stream into readable, condensed "turns" for display over Telegram.
|
|
6
|
+
* A turn is one assistant message (its text + any tool calls) together with the
|
|
7
|
+
* tool results that immediately follow it.
|
|
8
|
+
*
|
|
9
|
+
* Assistant text is shown in full; tool inputs and tool results are previewed
|
|
10
|
+
* (collapsed to a single line and capped) because they are machine output, not
|
|
11
|
+
* the agent's reasoning, and would otherwise drown the useful signal.
|
|
12
|
+
*/
|
|
13
|
+
export interface LogTurn {
|
|
14
|
+
/** Rendered lines for this turn, in display order. */
|
|
15
|
+
lines: string[];
|
|
16
|
+
}
|
|
17
|
+
export declare const DEFAULT_PREVIEW_CHARS = 300;
|
|
18
|
+
/**
|
|
19
|
+
* Parse a raw stream-json log into chronological turns. Malformed lines and
|
|
20
|
+
* noise events (system, rate_limit_event) are skipped.
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseClaudeStreamLog(raw: string, previewChars?: number): LogTurn[];
|
|
23
|
+
/**
|
|
24
|
+
* Render turns to a single string. With tailFirst (default) the most recent
|
|
25
|
+
* turn appears first, so a reader paging from the top sees latest activity.
|
|
26
|
+
*/
|
|
27
|
+
export declare function renderThreadLog(turns: LogTurn[], tailFirst?: boolean): string;
|
|
28
|
+
/** Default character window per page — matches Telegram's ~4096-char message cap. */
|
|
29
|
+
export declare const DEFAULT_LOG_PAGE_CHARS = 4000;
|
|
30
|
+
export interface LogPage {
|
|
31
|
+
/** The character window for this page. */
|
|
32
|
+
text: string;
|
|
33
|
+
/** Start index of this page within the rendered log. */
|
|
34
|
+
offset: number;
|
|
35
|
+
/** Start index of the next page (feeds a "next chunk" button). */
|
|
36
|
+
nextOffset: number;
|
|
37
|
+
/** Whether more text remains after this page. */
|
|
38
|
+
hasMore: boolean;
|
|
39
|
+
/** Total length of the rendered log. */
|
|
40
|
+
totalLength: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Extract a single character window from a rendered log for paginated display.
|
|
44
|
+
*
|
|
45
|
+
* The digest uses astral emoji markers (🤖🔧✅…), so a naive .slice() could cut
|
|
46
|
+
* between the two UTF-16 code units of a surrogate pair and emit a lone
|
|
47
|
+
* surrogate that renders as �. When the window would end mid-pair we snap the
|
|
48
|
+
* end back one unit; that code unit becomes the start of the next page.
|
|
49
|
+
*/
|
|
50
|
+
export declare function sliceLogWindow(rendered: string, offsetRaw: number, limitRaw: number): LogPage;
|
|
51
|
+
//# sourceMappingURL=log-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-parser.d.ts","sourceRoot":"","sources":["../../src/dashboard/log-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAkBH,MAAM,WAAW,OAAO;IACpB,sDAAsD;IACtD,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,qBAAqB,MAAM,CAAC;AA+BzC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,GAAE,MAA8B,GAAG,OAAO,EAAE,CAoCzG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,GAAE,OAAc,GAAG,MAAM,CAGnF;AAED,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,WAAW,OAAO;IACpB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACvB;AAcD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAY7F"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parser for Claude CLI stream-json thread logs (newline-delimited JSON).
|
|
3
|
+
*
|
|
4
|
+
* The agent's stdout is captured as one JSON event per line. This turns that
|
|
5
|
+
* raw event stream into readable, condensed "turns" for display over Telegram.
|
|
6
|
+
* A turn is one assistant message (its text + any tool calls) together with the
|
|
7
|
+
* tool results that immediately follow it.
|
|
8
|
+
*
|
|
9
|
+
* Assistant text is shown in full; tool inputs and tool results are previewed
|
|
10
|
+
* (collapsed to a single line and capped) because they are machine output, not
|
|
11
|
+
* the agent's reasoning, and would otherwise drown the useful signal.
|
|
12
|
+
*/
|
|
13
|
+
export const DEFAULT_PREVIEW_CHARS = 300;
|
|
14
|
+
/** Collapse whitespace and cap length, appending an ellipsis when truncated. */
|
|
15
|
+
function preview(s, max) {
|
|
16
|
+
const oneLine = s.replace(/\s+/g, " ").trim();
|
|
17
|
+
return oneLine.length > max ? oneLine.slice(0, max) + "…" : oneLine;
|
|
18
|
+
}
|
|
19
|
+
function compactArgs(input, max) {
|
|
20
|
+
let s;
|
|
21
|
+
try {
|
|
22
|
+
s = typeof input === "string" ? input : JSON.stringify(input ?? {});
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
s = String(input);
|
|
26
|
+
}
|
|
27
|
+
return preview(s, max);
|
|
28
|
+
}
|
|
29
|
+
/** Extract readable text from a tool_result's content (string, or array of text blocks). */
|
|
30
|
+
function resultText(content) {
|
|
31
|
+
if (typeof content === "string")
|
|
32
|
+
return content;
|
|
33
|
+
if (Array.isArray(content)) {
|
|
34
|
+
return content
|
|
35
|
+
.map((c) => {
|
|
36
|
+
if (c && typeof c === "object" && typeof c.text === "string") {
|
|
37
|
+
return c.text;
|
|
38
|
+
}
|
|
39
|
+
return JSON.stringify(c);
|
|
40
|
+
})
|
|
41
|
+
.join(" ");
|
|
42
|
+
}
|
|
43
|
+
return JSON.stringify(content ?? "");
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Parse a raw stream-json log into chronological turns. Malformed lines and
|
|
47
|
+
* noise events (system, rate_limit_event) are skipped.
|
|
48
|
+
*/
|
|
49
|
+
export function parseClaudeStreamLog(raw, previewChars = DEFAULT_PREVIEW_CHARS) {
|
|
50
|
+
const turns = [];
|
|
51
|
+
let current = null;
|
|
52
|
+
for (const line of raw.split("\n")) {
|
|
53
|
+
const trimmed = line.trim();
|
|
54
|
+
if (!trimmed)
|
|
55
|
+
continue;
|
|
56
|
+
let ev;
|
|
57
|
+
try {
|
|
58
|
+
ev = JSON.parse(trimmed);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (ev.type === "assistant" && ev.message?.content) {
|
|
64
|
+
current = { lines: [] };
|
|
65
|
+
turns.push(current);
|
|
66
|
+
for (const c of ev.message.content) {
|
|
67
|
+
if (c.type === "text" && typeof c.text === "string") {
|
|
68
|
+
const t = c.text.trim();
|
|
69
|
+
if (t)
|
|
70
|
+
current.lines.push(`🤖 ${t}`);
|
|
71
|
+
}
|
|
72
|
+
else if (c.type === "tool_use") {
|
|
73
|
+
const name = typeof c.name === "string" ? c.name : "tool";
|
|
74
|
+
current.lines.push(`🔧 ${name}(${compactArgs(c.input, previewChars)})`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else if (ev.type === "user" && ev.message?.content) {
|
|
79
|
+
for (const c of ev.message.content) {
|
|
80
|
+
if (c.type !== "tool_result")
|
|
81
|
+
continue;
|
|
82
|
+
if (!current) {
|
|
83
|
+
current = { lines: [] };
|
|
84
|
+
turns.push(current);
|
|
85
|
+
}
|
|
86
|
+
const marker = c.is_error ? "⚠️" : "↳";
|
|
87
|
+
current.lines.push(` ${marker} ${preview(resultText(c.content), previewChars)}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else if (ev.type === "result") {
|
|
91
|
+
const marker = ev.is_error ? "❌" : "✅";
|
|
92
|
+
turns.push({ lines: [`${marker} ${preview(typeof ev.result === "string" ? ev.result : "", previewChars)}`] });
|
|
93
|
+
current = null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return turns;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Render turns to a single string. With tailFirst (default) the most recent
|
|
100
|
+
* turn appears first, so a reader paging from the top sees latest activity.
|
|
101
|
+
*/
|
|
102
|
+
export function renderThreadLog(turns, tailFirst = true) {
|
|
103
|
+
const ordered = tailFirst ? [...turns].reverse() : turns;
|
|
104
|
+
return ordered.map((t) => t.lines.join("\n")).join("\n\n");
|
|
105
|
+
}
|
|
106
|
+
/** Default character window per page — matches Telegram's ~4096-char message cap. */
|
|
107
|
+
export const DEFAULT_LOG_PAGE_CHARS = 4000;
|
|
108
|
+
/** Clamp an offset to [0, max]; non-finite or non-positive values become 0. */
|
|
109
|
+
function clampOffset(n, max) {
|
|
110
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
111
|
+
return 0;
|
|
112
|
+
return Math.min(Math.floor(n), max);
|
|
113
|
+
}
|
|
114
|
+
/** Clamp a page size to (0, DEFAULT_LOG_PAGE_CHARS]; invalid values default to the cap. */
|
|
115
|
+
function clampLimit(n) {
|
|
116
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
117
|
+
return DEFAULT_LOG_PAGE_CHARS;
|
|
118
|
+
return Math.min(Math.floor(n), DEFAULT_LOG_PAGE_CHARS);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Extract a single character window from a rendered log for paginated display.
|
|
122
|
+
*
|
|
123
|
+
* The digest uses astral emoji markers (🤖🔧✅…), so a naive .slice() could cut
|
|
124
|
+
* between the two UTF-16 code units of a surrogate pair and emit a lone
|
|
125
|
+
* surrogate that renders as �. When the window would end mid-pair we snap the
|
|
126
|
+
* end back one unit; that code unit becomes the start of the next page.
|
|
127
|
+
*/
|
|
128
|
+
export function sliceLogWindow(rendered, offsetRaw, limitRaw) {
|
|
129
|
+
const totalLength = rendered.length;
|
|
130
|
+
const offset = clampOffset(offsetRaw, totalLength);
|
|
131
|
+
const limit = clampLimit(limitRaw);
|
|
132
|
+
let end = Math.min(offset + limit, totalLength);
|
|
133
|
+
if (end < totalLength && end - 1 > offset) {
|
|
134
|
+
const lastCode = rendered.charCodeAt(end - 1);
|
|
135
|
+
if (lastCode >= 0xd800 && lastCode <= 0xdbff)
|
|
136
|
+
end -= 1;
|
|
137
|
+
}
|
|
138
|
+
return { text: rendered.slice(offset, end), offset, nextOffset: end, hasMore: end < totalLength, totalLength };
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=log-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-parser.js","sourceRoot":"","sources":["../../src/dashboard/log-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAuBH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,gFAAgF;AAChF,SAAS,OAAO,CAAC,CAAS,EAAE,GAAW;IACnC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,GAAW;IAC5C,IAAI,CAAS,CAAC;IACd,IAAI,CAAC;QAAC,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAC5E,MAAM,CAAC;QAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAC5B,OAAO,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,4FAA4F;AAC5F,SAAS,UAAU,CAAC,OAAgB;IAChC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACP,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAQ,CAAwB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnF,OAAQ,CAAsB,CAAC,IAAI,CAAC;YACxC,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW,EAAE,eAAuB,qBAAqB;IAC1F,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAmB,IAAI,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,EAAe,CAAC;QACpB,IAAI,CAAC;YAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAEpE,IAAI,EAAE,CAAC,IAAI,KAAK,WAAW,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACjD,OAAO,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC;wBAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzC,CAAC;qBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC1D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC5E,CAAC;YACL,CAAC;QACL,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACnD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;oBAAE,SAAS;gBACvC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAAC,OAAO,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;oBAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9G,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAgB,EAAE,YAAqB,IAAI;IACvE,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAe3C,+EAA+E;AAC/E,SAAS,WAAW,CAAC,CAAS,EAAE,GAAW;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,2FAA2F;AAC3F,SAAS,UAAU,CAAC,CAAS;IACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,sBAAsB,CAAC;IACjE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,SAAiB,EAAE,QAAgB;IAChF,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;IACpC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,GAAG,GAAG,WAAW,IAAI,GAAG,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM;YAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,WAAW,EAAE,WAAW,EAAE,CAAC;AACnH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/dashboard/presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,eAAO,MAAM,oBAAoB,mQAAmQ,CAAC;
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/dashboard/presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,eAAO,MAAM,oBAAoB,mQAAmQ,CAAC;AAkBrS,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAExE;AAqCD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAavG"}
|
|
@@ -16,9 +16,6 @@ threadId={{THREAD_ID}} | {{TIME}} | uptime: {{UPTIME}}
|
|
|
16
16
|
`,
|
|
17
17
|
claude: `For tasks, load relevant skill via get_skill first.
|
|
18
18
|
You coordinate work via MCP tools. For complex tasks, break them into sequential steps. Keep context lean — summarize progress before starting new work. threadId={{THREAD_ID}} | {{TIME}} | uptime: {{UPTIME}}
|
|
19
|
-
`,
|
|
20
|
-
cursor: `For tasks, load relevant skill via get_skill first.
|
|
21
|
-
You coordinate work via MCP tools. Prefer targeted, minimal edits. threadId={{THREAD_ID}} | {{TIME}} | uptime: {{UPTIME}}
|
|
22
19
|
`,
|
|
23
20
|
codex: `For tasks, load relevant skill via get_skill first.
|
|
24
21
|
threadId={{THREAD_ID}} | {{TIME}} | uptime: {{UPTIME}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/dashboard/presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,gQAAgQ,CAAC;AAErS,wCAAwC;AACxC,MAAM,yBAAyB,GAA8B;IAC3D,OAAO,EAAE;;CAEV;IACC,MAAM,EAAE;;CAET;IACC,
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/dashboard/presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,gQAAgQ,CAAC;AAErS,wCAAwC;AACxC,MAAM,yBAAyB,GAA8B;IAC3D,OAAO,EAAE;;CAEV;IACC,MAAM,EAAE;;CAET;IACC,KAAK,EAAE;;CAER;IACC,YAAY,EAAE;;CAEf;CACA,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,SAAoB;IAC9D,OAAO,yBAAyB,CAAC,SAAS,CAAC,IAAI,yBAAyB,CAAC,OAAO,CAAC;AACnF,CAAC;AAED,wFAAwF;AACxF,MAAM,qBAAqB,GAA2B;IAClD,sBAAsB,EAAE;;;;;CAK3B;IACG,gBAAgB,EAAE;;;;;CAKrB;IACG,YAAY,EAAE;;;;;CAKjB;IACG,cAAc,EAAE;;;;;CAKnB;CACA,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACtB,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,sBAAsB,EAAE;IAC3D,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE;IACjD,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE;IACzC,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE;CACjD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,MAAM,OAAO,GAA0D,EAAE,CAAC;IAC1E,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAClC,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;YAC1H,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,yBAAyB,GAAG,CAAC,GAAG,aAAa,CAAC;QAC9F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -10,12 +10,34 @@ export declare const handleGetArchivedThreads: RouteHandler;
|
|
|
10
10
|
export declare function handleUnarchiveThread(args: RouteArgs, threadId: number): boolean;
|
|
11
11
|
export declare function handleGenerateSummary(args: RouteArgs, threadId: number): boolean;
|
|
12
12
|
export declare const handleCreateThread: RouteHandler;
|
|
13
|
+
/**
|
|
14
|
+
* Create a brand-new root thread: opens a Telegram forum topic and registers
|
|
15
|
+
* the thread. Unlike POST /api/threads (which only registers a caller-supplied
|
|
16
|
+
* topic id), this owns topic creation so callers without Telegram access (e.g.
|
|
17
|
+
* the supervisor) can spin up threads. keepAlive + dailyRotation default on for
|
|
18
|
+
* root threads via registerThread.
|
|
19
|
+
*/
|
|
20
|
+
export declare const handleCreateRoot: RouteHandler;
|
|
21
|
+
/**
|
|
22
|
+
* Create a branch thread under an existing root: opens a Telegram forum topic
|
|
23
|
+
* and registers it with type=branch. Working directory and agent type are
|
|
24
|
+
* inherited from the parent root unless overridden.
|
|
25
|
+
*/
|
|
26
|
+
export declare const handleCreateBranch: RouteHandler;
|
|
13
27
|
/** GET /api/threads/:threadId — get single thread */
|
|
14
28
|
export declare function handleGetThread(args: RouteArgs, threadId: number): boolean;
|
|
15
29
|
/** GET /api/threads/:threadId/running — check if an agent process is alive for this thread */
|
|
16
30
|
export declare function handleGetThreadRunning(args: RouteArgs, threadId: number): boolean;
|
|
17
31
|
/** GET /api/threads/:threadId/heartbeat — last MCP activity timestamp for stuck-process detection */
|
|
18
32
|
export declare function handleGetThreadHeartbeat(args: RouteArgs, threadId: number): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* GET /api/threads/:threadId/logs — a readable digest of the agent's raw stdout.
|
|
35
|
+
*
|
|
36
|
+
* Parses the newest stream-json log file into tail-first turns, then returns a
|
|
37
|
+
* single character window (default 4000, Telegram-sized). Callers page deeper
|
|
38
|
+
* into history with ?offset=; nextOffset/hasMore drive a "next chunk" button.
|
|
39
|
+
*/
|
|
40
|
+
export declare function handleGetThreadLogs(args: RouteArgs, threadId: number): boolean;
|
|
19
41
|
/** GET /api/threads/:threadId/children — get children of a root */
|
|
20
42
|
export declare function handleGetThreadChildren(args: RouteArgs, rootThreadId: number): boolean;
|
|
21
43
|
/** PATCH /api/threads/:threadId — update a thread */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/threads.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/threads.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmCH,OAAO,EAA2B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AA0FxF,eAAO,MAAM,gBAAgB,EAAE,YAI9B,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,YAGlC,CAAC;AAIF,eAAO,MAAM,yBAAyB,EAAE,YAGvC,CAAC;AAIF,eAAO,MAAM,wBAAwB,EAAE,YAItC,CAAC;AAIF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAchF;AAID,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CA2ChF;AAID,eAAO,MAAM,kBAAkB,EAAE,YAmEhC,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAuC9B,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAiDhC,CAAC;AAcF,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQ1E;AAED,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAIjF;AAED,qGAAqG;AACrG,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAInF;AAqBD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAkB9E;AAED,mEAAmE;AACnE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAItF;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAwC7E;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAsC7E;AAYD,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CA8B5E;AAID,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CA6B9E"}
|
|
@@ -3,17 +3,21 @@
|
|
|
3
3
|
* Covers: listing, creating, updating, archiving, and deleting threads.
|
|
4
4
|
*/
|
|
5
5
|
import { registerThread, getThread, getRootThreads, getKeepAliveThreads, getActiveThreads, getArchivedThreads, getDashboardThreads, getThreadsByRoot, updateThread, archiveThread, unarchiveThread, deleteThread, getExplicitTelegramTopicId, resolveTelegramTopicId, } from "../../data/memory/thread-registry.js";
|
|
6
|
-
import { config, setKeepAliveEnabled, setKeepAliveThreadId, setKeepAliveClient, setKeepAliveMaxRetries, setKeepAliveCooldownMs, setThreadKeepAlive, removeThreadKeepAlive, isValidKeeperClient, } from "../../config.js";
|
|
6
|
+
import { config, getAgentType, setKeepAliveEnabled, setKeepAliveThreadId, setKeepAliveClient, setKeepAliveMaxRetries, setKeepAliveCooldownMs, setThreadKeepAlive, removeThreadKeepAlive, isValidKeeperClient, } from "../../config.js";
|
|
7
7
|
import { readBody, safeParseJSON } from "./types.js";
|
|
8
8
|
import { errorMessage } from "../../utils.js";
|
|
9
9
|
import { log } from "../../logger.js";
|
|
10
|
-
import { isThreadRunning } from "../../services/process.service.js";
|
|
10
|
+
import { isThreadRunning, THREAD_LOGS_DIR } from "../../services/process.service.js";
|
|
11
11
|
import { readThreadHeartbeat } from "../../data/file-storage.js";
|
|
12
|
-
import {
|
|
12
|
+
import { parseClaudeStreamLog, renderThreadLog, sliceLogWindow } from "../log-parser.js";
|
|
13
|
+
import { readdirSync, statSync, readFileSync } from "node:fs";
|
|
14
|
+
import { join } from "node:path";
|
|
15
|
+
import { createManagedTopic, deleteTelegramTopicByBotApi } from "../../services/topic.service.js";
|
|
13
16
|
import { dispatchSpawn } from "../../services/agent-spawn.service.js";
|
|
17
|
+
import { TelegramClient } from "../../telegram.js";
|
|
14
18
|
// ─── Helpers ────────────────────────────────────────────────────────────────
|
|
15
19
|
const VALID_STATUSES = ["active", "archived", "expired", "exited"];
|
|
16
|
-
const VALID_CLIENTS = ["claude", "copilot", "codex", "openai_codex"
|
|
20
|
+
const VALID_CLIENTS = ["claude", "copilot", "codex", "openai_codex"];
|
|
17
21
|
/** Extract valid update fields from a request body. Returns an error string on validation failure. */
|
|
18
22
|
function buildThreadUpdates(body) {
|
|
19
23
|
const updates = {};
|
|
@@ -233,6 +237,141 @@ export const handleCreateThread = ({ req, json, db }) => {
|
|
|
233
237
|
})();
|
|
234
238
|
return true;
|
|
235
239
|
};
|
|
240
|
+
// ─── POST /api/threads/create-root — create a fresh topic + root thread ─────
|
|
241
|
+
/**
|
|
242
|
+
* Create a brand-new root thread: opens a Telegram forum topic and registers
|
|
243
|
+
* the thread. Unlike POST /api/threads (which only registers a caller-supplied
|
|
244
|
+
* topic id), this owns topic creation so callers without Telegram access (e.g.
|
|
245
|
+
* the supervisor) can spin up threads. keepAlive + dailyRotation default on for
|
|
246
|
+
* root threads via registerThread.
|
|
247
|
+
*/
|
|
248
|
+
export const handleCreateRoot = ({ req, json, db, ctx }) => {
|
|
249
|
+
void (async () => {
|
|
250
|
+
try {
|
|
251
|
+
const raw = await readBody(req);
|
|
252
|
+
const body = safeParseJSON(raw);
|
|
253
|
+
if (!body || typeof body !== "object") {
|
|
254
|
+
json({ error: "Invalid request body" }, 400);
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
const name = typeof body.name === "string" ? body.name.trim() : "";
|
|
258
|
+
if (!name) {
|
|
259
|
+
json({ error: "name is required" }, 400);
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
const agentType = resolveAgentType(body.agentType);
|
|
263
|
+
if (agentType === INVALID_AGENT) {
|
|
264
|
+
json({ error: `agentType must be one of: ${VALID_CLIENTS.join(", ")}` }, 400);
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
const workingDirectory = typeof body.workingDirectory === "string" ? body.workingDirectory.trim() : "";
|
|
268
|
+
if (!workingDirectory) {
|
|
269
|
+
json({ error: "workingDirectory is required" }, 400);
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
const { TELEGRAM_TOKEN, TELEGRAM_CHAT_ID } = config;
|
|
273
|
+
if (!TELEGRAM_TOKEN || !TELEGRAM_CHAT_ID) {
|
|
274
|
+
json({ error: "Telegram is not configured" }, 500);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
const telegram = new TelegramClient(TELEGRAM_TOKEN);
|
|
278
|
+
const threadId = await createManagedTopic(telegram, TELEGRAM_CHAT_ID, name);
|
|
279
|
+
const thread = ctx.threadLifecycle.registerThread(db, {
|
|
280
|
+
threadId,
|
|
281
|
+
name,
|
|
282
|
+
type: "root",
|
|
283
|
+
client: agentType ?? getAgentType(),
|
|
284
|
+
workingDirectory,
|
|
285
|
+
chatId: TELEGRAM_CHAT_ID,
|
|
286
|
+
telegramTopicId: threadId,
|
|
287
|
+
});
|
|
288
|
+
json({ ok: true, threadId, thread }, 201);
|
|
289
|
+
syncKeepAliveToSettings(db);
|
|
290
|
+
}
|
|
291
|
+
catch (err) {
|
|
292
|
+
json({ error: errorMessage(err) }, 500);
|
|
293
|
+
}
|
|
294
|
+
})();
|
|
295
|
+
return true;
|
|
296
|
+
};
|
|
297
|
+
// ─── POST /api/threads/create-branch — create a fresh topic + branch thread ──
|
|
298
|
+
/**
|
|
299
|
+
* Create a branch thread under an existing root: opens a Telegram forum topic
|
|
300
|
+
* and registers it with type=branch. Working directory and agent type are
|
|
301
|
+
* inherited from the parent root unless overridden.
|
|
302
|
+
*/
|
|
303
|
+
export const handleCreateBranch = ({ req, json, db, ctx }) => {
|
|
304
|
+
void (async () => {
|
|
305
|
+
try {
|
|
306
|
+
const raw = await readBody(req);
|
|
307
|
+
const body = safeParseJSON(raw);
|
|
308
|
+
if (!body || typeof body !== "object") {
|
|
309
|
+
json({ error: "Invalid request body" }, 400);
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
const rootThreadId = body.rootThreadId;
|
|
313
|
+
if (typeof rootThreadId !== "number" || !Number.isInteger(rootThreadId) || rootThreadId <= 0) {
|
|
314
|
+
json({ error: "rootThreadId must be a positive integer" }, 400);
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
const name = typeof body.name === "string" ? body.name.trim() : "";
|
|
318
|
+
if (!name) {
|
|
319
|
+
json({ error: "name is required" }, 400);
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
const parent = getThread(db, rootThreadId);
|
|
323
|
+
if (!parent) {
|
|
324
|
+
json({ error: `Root thread ${rootThreadId} not found` }, 404);
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
if (parent.type === "worker") {
|
|
328
|
+
json({ error: "Cannot branch from a worker thread" }, 400);
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
const agentType = resolveAgentType(body.agentType);
|
|
332
|
+
if (agentType === INVALID_AGENT) {
|
|
333
|
+
json({ error: `agentType must be one of: ${VALID_CLIENTS.join(", ")}` }, 400);
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
const workingDirectoryOverride = typeof body.workingDirectory === "string" && body.workingDirectory.trim()
|
|
337
|
+
? body.workingDirectory.trim()
|
|
338
|
+
: undefined;
|
|
339
|
+
const { TELEGRAM_TOKEN, TELEGRAM_CHAT_ID } = config;
|
|
340
|
+
if (!TELEGRAM_TOKEN || !TELEGRAM_CHAT_ID) {
|
|
341
|
+
json({ error: "Telegram is not configured" }, 500);
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
const telegram = new TelegramClient(TELEGRAM_TOKEN);
|
|
345
|
+
const threadId = await createManagedTopic(telegram, TELEGRAM_CHAT_ID, name);
|
|
346
|
+
const thread = ctx.threadLifecycle.registerThread(db, {
|
|
347
|
+
threadId,
|
|
348
|
+
name,
|
|
349
|
+
type: "branch",
|
|
350
|
+
rootThreadId,
|
|
351
|
+
client: agentType ?? parent.client ?? getAgentType(),
|
|
352
|
+
workingDirectory: workingDirectoryOverride ?? parent.workingDirectory ?? undefined,
|
|
353
|
+
chatId: TELEGRAM_CHAT_ID,
|
|
354
|
+
telegramTopicId: threadId,
|
|
355
|
+
});
|
|
356
|
+
json({ ok: true, threadId, thread }, 201);
|
|
357
|
+
syncKeepAliveToSettings(db);
|
|
358
|
+
}
|
|
359
|
+
catch (err) {
|
|
360
|
+
json({ error: errorMessage(err) }, 500);
|
|
361
|
+
}
|
|
362
|
+
})();
|
|
363
|
+
return true;
|
|
364
|
+
};
|
|
365
|
+
/** Sentinel returned by resolveAgentType when an explicit agentType is invalid. */
|
|
366
|
+
const INVALID_AGENT = Symbol("invalid-agent");
|
|
367
|
+
/** Validate an optional agentType field: undefined → undefined, valid → the value, invalid → INVALID_AGENT. */
|
|
368
|
+
function resolveAgentType(value) {
|
|
369
|
+
if (value === undefined)
|
|
370
|
+
return undefined;
|
|
371
|
+
if (typeof value === "string" && VALID_CLIENTS.includes(value))
|
|
372
|
+
return value;
|
|
373
|
+
return INVALID_AGENT;
|
|
374
|
+
}
|
|
236
375
|
// ─── Dynamic handlers (threadId extracted by caller) ────────────────────────
|
|
237
376
|
/** GET /api/threads/:threadId — get single thread */
|
|
238
377
|
export function handleGetThread(args, threadId) {
|
|
@@ -257,6 +396,57 @@ export function handleGetThreadHeartbeat(args, threadId) {
|
|
|
257
396
|
args.json({ threadId, lastActivityMs });
|
|
258
397
|
return true;
|
|
259
398
|
}
|
|
399
|
+
/** Locate the most-recently-modified log file for a thread, or null if none exist. */
|
|
400
|
+
function findLatestThreadLogFile(threadId) {
|
|
401
|
+
let files;
|
|
402
|
+
try {
|
|
403
|
+
files = readdirSync(THREAD_LOGS_DIR);
|
|
404
|
+
}
|
|
405
|
+
catch {
|
|
406
|
+
return null;
|
|
407
|
+
}
|
|
408
|
+
const suffixRe = new RegExp(`_${threadId}_\\d{4}-\\d{2}-\\d{2}\\.jsonl?$`);
|
|
409
|
+
let best = null;
|
|
410
|
+
for (const file of files) {
|
|
411
|
+
if (!suffixRe.test(file))
|
|
412
|
+
continue;
|
|
413
|
+
const full = join(THREAD_LOGS_DIR, file);
|
|
414
|
+
try {
|
|
415
|
+
const mtimeMs = statSync(full).mtimeMs;
|
|
416
|
+
if (!best || mtimeMs > best.mtimeMs)
|
|
417
|
+
best = { path: full, mtimeMs };
|
|
418
|
+
}
|
|
419
|
+
catch { /* file vanished between readdir and stat */ }
|
|
420
|
+
}
|
|
421
|
+
return best?.path ?? null;
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* GET /api/threads/:threadId/logs — a readable digest of the agent's raw stdout.
|
|
425
|
+
*
|
|
426
|
+
* Parses the newest stream-json log file into tail-first turns, then returns a
|
|
427
|
+
* single character window (default 4000, Telegram-sized). Callers page deeper
|
|
428
|
+
* into history with ?offset=; nextOffset/hasMore drive a "next chunk" button.
|
|
429
|
+
*/
|
|
430
|
+
export function handleGetThreadLogs(args, threadId) {
|
|
431
|
+
const { json, url } = args;
|
|
432
|
+
const logFile = findLatestThreadLogFile(threadId);
|
|
433
|
+
if (!logFile) {
|
|
434
|
+
json({ threadId, text: "", offset: 0, nextOffset: 0, hasMore: false, totalLength: 0 });
|
|
435
|
+
return true;
|
|
436
|
+
}
|
|
437
|
+
let raw;
|
|
438
|
+
try {
|
|
439
|
+
raw = readFileSync(logFile, "utf-8");
|
|
440
|
+
}
|
|
441
|
+
catch (err) {
|
|
442
|
+
json({ error: errorMessage(err) }, 500);
|
|
443
|
+
return true;
|
|
444
|
+
}
|
|
445
|
+
const rendered = renderThreadLog(parseClaudeStreamLog(raw), true);
|
|
446
|
+
const page = sliceLogWindow(rendered, Number(url.searchParams.get("offset")), Number(url.searchParams.get("limit")));
|
|
447
|
+
json({ threadId, ...page });
|
|
448
|
+
return true;
|
|
449
|
+
}
|
|
260
450
|
/** GET /api/threads/:threadId/children — get children of a root */
|
|
261
451
|
export function handleGetThreadChildren(args, rootThreadId) {
|
|
262
452
|
const children = getThreadsByRoot(args.db, rootThreadId);
|