@rk0429/agentic-relay 19.9.1 → 19.9.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.
- package/dist/application/housekeeping.d.ts +11 -0
- package/dist/application/housekeeping.js +60 -0
- package/dist/application/housekeeping.js.map +1 -1
- package/dist/application/spawn-agents-service.js +77 -25
- package/dist/application/spawn-agents-service.js.map +1 -1
- package/dist/bin/relay.js +12 -4
- package/dist/bin/relay.js.map +1 -1
- package/dist/infrastructure/process/process-executor.d.ts +11 -0
- package/dist/infrastructure/process/process-executor.js +87 -4
- package/dist/infrastructure/process/process-executor.js.map +1 -1
- package/dist/interfaces/mcp/relay-mcp-server.d.ts +10 -1
- package/dist/interfaces/mcp/relay-mcp-server.js +119 -5
- package/dist/interfaces/mcp/relay-mcp-server.js.map +1 -1
- package/dist/interfaces/vscode/extension.js +57 -34
- package/dist/interfaces/vscode/extension.js.map +1 -1
- package/dist/interfaces/vscode/view-model.d.ts +7 -0
- package/dist/interfaces/vscode/view-model.js +519 -44
- package/dist/interfaces/vscode/view-model.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { RelayError } from "../../core/errors.js";
|
|
3
|
+
const DEFAULT_PROCESS_TERMINATION_GRACE_MS = 5_000;
|
|
3
4
|
export class ChildProcessExecutor {
|
|
5
|
+
dependencies;
|
|
6
|
+
constructor(dependencies = {}) {
|
|
7
|
+
this.dependencies = dependencies;
|
|
8
|
+
}
|
|
4
9
|
async execute(input) {
|
|
10
|
+
const spawnProcess = this.dependencies.spawnProcess ?? spawn;
|
|
11
|
+
const platform = this.dependencies.platform ?? process.platform;
|
|
5
12
|
return new Promise((resolve, reject) => {
|
|
6
|
-
const child =
|
|
13
|
+
const child = spawnProcess(input.command, input.args, {
|
|
7
14
|
cwd: input.cwd,
|
|
8
15
|
env: input.env,
|
|
9
16
|
stdio: ["ignore", "pipe", "pipe"],
|
|
17
|
+
detached: platform !== "win32",
|
|
10
18
|
});
|
|
19
|
+
const killProcessTree = createProcessTreeKiller(child, this.dependencies);
|
|
11
20
|
if (child.pid !== undefined) {
|
|
12
21
|
input.observer?.onSpawn?.({
|
|
13
22
|
pid: child.pid,
|
|
14
|
-
kill:
|
|
23
|
+
kill: killProcessTree,
|
|
15
24
|
});
|
|
16
25
|
}
|
|
17
26
|
let stdout = "";
|
|
@@ -21,9 +30,9 @@ export class ChildProcessExecutor {
|
|
|
21
30
|
if (settled) {
|
|
22
31
|
return;
|
|
23
32
|
}
|
|
24
|
-
|
|
33
|
+
killProcessTree("SIGTERM");
|
|
25
34
|
settled = true;
|
|
26
|
-
reject(
|
|
35
|
+
reject(resolveAbortError(input.signal));
|
|
27
36
|
};
|
|
28
37
|
input.signal?.addEventListener("abort", abort, { once: true });
|
|
29
38
|
child.stdout.on("data", (chunk) => {
|
|
@@ -80,4 +89,78 @@ export class ChildProcessInteractiveRunner {
|
|
|
80
89
|
});
|
|
81
90
|
}
|
|
82
91
|
}
|
|
92
|
+
function createProcessTreeKiller(child, dependencies) {
|
|
93
|
+
const platform = dependencies.platform ?? process.platform;
|
|
94
|
+
const killProcess = dependencies.killProcess ?? process.kill.bind(process);
|
|
95
|
+
const spawnProcess = dependencies.spawnProcess ?? spawn;
|
|
96
|
+
const setTimerFn = dependencies.setTimer ?? setTimeout;
|
|
97
|
+
const clearTimerFn = dependencies.clearTimer ?? clearTimeout;
|
|
98
|
+
const terminationGraceMs = dependencies.terminationGraceMs ?? DEFAULT_PROCESS_TERMINATION_GRACE_MS;
|
|
99
|
+
let forceKillTimer;
|
|
100
|
+
const clearForceKillTimer = () => {
|
|
101
|
+
if (forceKillTimer) {
|
|
102
|
+
clearTimerFn(forceKillTimer);
|
|
103
|
+
forceKillTimer = undefined;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
child.on("close", clearForceKillTimer);
|
|
107
|
+
const killSingleProcess = (signal) => {
|
|
108
|
+
try {
|
|
109
|
+
return child.kill(signal);
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
return (signal = "SIGTERM") => {
|
|
116
|
+
if (child.pid === undefined) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
clearForceKillTimer();
|
|
120
|
+
if (platform === "win32") {
|
|
121
|
+
try {
|
|
122
|
+
const killer = spawnProcess("taskkill", ["/PID", String(child.pid), "/T", "/F"], {
|
|
123
|
+
stdio: "ignore",
|
|
124
|
+
windowsHide: true,
|
|
125
|
+
});
|
|
126
|
+
killer.unref?.();
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
return killSingleProcess(signal);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
const pid = child.pid;
|
|
134
|
+
try {
|
|
135
|
+
killProcess(-pid, signal);
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
return killSingleProcess(signal);
|
|
139
|
+
}
|
|
140
|
+
if (signal === "SIGTERM" && terminationGraceMs > 0) {
|
|
141
|
+
forceKillTimer = setTimerFn(() => {
|
|
142
|
+
try {
|
|
143
|
+
killProcess(-pid, "SIGKILL");
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
killSingleProcess("SIGKILL");
|
|
147
|
+
}
|
|
148
|
+
}, terminationGraceMs);
|
|
149
|
+
forceKillTimer.unref?.();
|
|
150
|
+
}
|
|
151
|
+
return true;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
function resolveAbortError(signal) {
|
|
155
|
+
if (signal?.reason instanceof RelayError) {
|
|
156
|
+
return signal.reason;
|
|
157
|
+
}
|
|
158
|
+
if (signal?.reason instanceof Error) {
|
|
159
|
+
return new RelayError("ABORTED", signal.reason.message);
|
|
160
|
+
}
|
|
161
|
+
if (signal?.reason !== undefined) {
|
|
162
|
+
return new RelayError("ABORTED", String(signal.reason));
|
|
163
|
+
}
|
|
164
|
+
return new RelayError("ABORTED", "Backend execution aborted.");
|
|
165
|
+
}
|
|
83
166
|
//# sourceMappingURL=process-executor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-executor.js","sourceRoot":"","sources":["../../../src/infrastructure/process/process-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"process-executor.js","sourceRoot":"","sources":["../../../src/infrastructure/process/process-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
2
3
|
import { SpawnAgentsService } from "../../application/spawn-agents-service.js";
|
|
3
4
|
import { TaskService } from "../../application/task-service.js";
|
|
4
5
|
import { RelayStore } from "../../infrastructure/store/relay-store.js";
|
|
@@ -7,8 +8,16 @@ export declare function createRelayMcpServer(options: {
|
|
|
7
8
|
taskService: TaskService;
|
|
8
9
|
store: RelayStore;
|
|
9
10
|
allowSpawnAgents: boolean;
|
|
11
|
+
shutdownSignal?: AbortSignal;
|
|
10
12
|
}): McpServer;
|
|
11
|
-
export
|
|
13
|
+
export interface ServeRelayMcpServerOptions {
|
|
14
|
+
stdin?: Pick<NodeJS.ReadStream, "on" | "off">;
|
|
15
|
+
stdout?: Pick<NodeJS.WriteStream, "on" | "off">;
|
|
16
|
+
processLike?: Pick<NodeJS.Process, "on" | "off">;
|
|
17
|
+
shutdownController?: AbortController;
|
|
18
|
+
transport?: StdioServerTransport;
|
|
19
|
+
}
|
|
20
|
+
export declare function serveRelayMcpServer(server: McpServer, options?: ServeRelayMcpServerOptions): Promise<void>;
|
|
12
21
|
export declare function asCompactJsonResult(value: unknown): {
|
|
13
22
|
content: {
|
|
14
23
|
type: "text";
|
|
@@ -704,7 +704,7 @@ const TOOL_DESCRIPTIONS = {
|
|
|
704
704
|
export function createRelayMcpServer(options) {
|
|
705
705
|
const server = new McpServer({
|
|
706
706
|
name: "agentic-relay",
|
|
707
|
-
version: "19.9.
|
|
707
|
+
version: "19.9.3",
|
|
708
708
|
});
|
|
709
709
|
if (options.allowSpawnAgents) {
|
|
710
710
|
server.registerTool("spawn_agents", {
|
|
@@ -717,7 +717,7 @@ export function createRelayMcpServer(options) {
|
|
|
717
717
|
},
|
|
718
718
|
}, async (args, extra) => {
|
|
719
719
|
try {
|
|
720
|
-
const results = await options.service.spawnAgents({ agents: args.agents, max_depth: args.max_depth, summary_length: args.summary_length }, { signal: extra.signal });
|
|
720
|
+
const results = await options.service.spawnAgents({ agents: args.agents, max_depth: args.max_depth, summary_length: args.summary_length }, { signal: combineAbortSignals(options.shutdownSignal, extra.signal) });
|
|
721
721
|
return asCompactJsonResult({
|
|
722
722
|
results: results.map((r) => ({
|
|
723
723
|
...r,
|
|
@@ -913,9 +913,92 @@ export function createRelayMcpServer(options) {
|
|
|
913
913
|
});
|
|
914
914
|
return server;
|
|
915
915
|
}
|
|
916
|
-
export async function serveRelayMcpServer(server) {
|
|
917
|
-
const
|
|
918
|
-
|
|
916
|
+
export async function serveRelayMcpServer(server, options = {}) {
|
|
917
|
+
const stdin = options.stdin ?? process.stdin;
|
|
918
|
+
const stdout = options.stdout ?? process.stdout;
|
|
919
|
+
const processLike = options.processLike ?? process;
|
|
920
|
+
const shutdownController = options.shutdownController ?? new AbortController();
|
|
921
|
+
const transport = options.transport ??
|
|
922
|
+
new StdioServerTransport(stdin, stdout);
|
|
923
|
+
let shuttingDown = false;
|
|
924
|
+
let closeResolved = false;
|
|
925
|
+
let resolveClosed;
|
|
926
|
+
const closed = new Promise((resolve) => {
|
|
927
|
+
resolveClosed = resolve;
|
|
928
|
+
});
|
|
929
|
+
const finalizeClose = () => {
|
|
930
|
+
if (closeResolved) {
|
|
931
|
+
return;
|
|
932
|
+
}
|
|
933
|
+
closeResolved = true;
|
|
934
|
+
cleanupListeners();
|
|
935
|
+
resolveClosed();
|
|
936
|
+
};
|
|
937
|
+
const shutdown = (trigger, error) => {
|
|
938
|
+
if (shuttingDown) {
|
|
939
|
+
return;
|
|
940
|
+
}
|
|
941
|
+
shuttingDown = true;
|
|
942
|
+
if (!shutdownController.signal.aborted) {
|
|
943
|
+
shutdownController.abort(new RelayError("CALLER_DISCONNECTED", "Caller disconnected before child agent completed.", {
|
|
944
|
+
causeData: {
|
|
945
|
+
trigger,
|
|
946
|
+
...(toErrorDetails(error) ?? {}),
|
|
947
|
+
},
|
|
948
|
+
}));
|
|
949
|
+
}
|
|
950
|
+
void server.close().catch(() => {
|
|
951
|
+
finalizeClose();
|
|
952
|
+
});
|
|
953
|
+
};
|
|
954
|
+
const onStdinEnd = () => {
|
|
955
|
+
shutdown("stdin_end");
|
|
956
|
+
};
|
|
957
|
+
const onStdinClose = () => {
|
|
958
|
+
shutdown("stdin_close");
|
|
959
|
+
};
|
|
960
|
+
const onDisconnect = () => {
|
|
961
|
+
shutdown("process_disconnect");
|
|
962
|
+
};
|
|
963
|
+
const onSigterm = () => {
|
|
964
|
+
shutdown("sigterm");
|
|
965
|
+
};
|
|
966
|
+
const onSighup = () => {
|
|
967
|
+
shutdown("sighup");
|
|
968
|
+
};
|
|
969
|
+
const onStdoutError = (error) => {
|
|
970
|
+
if (!isBrokenPipeError(error)) {
|
|
971
|
+
return;
|
|
972
|
+
}
|
|
973
|
+
shutdown("stdout_error", error);
|
|
974
|
+
};
|
|
975
|
+
const cleanupListeners = () => {
|
|
976
|
+
stdin.off("end", onStdinEnd);
|
|
977
|
+
stdin.off("close", onStdinClose);
|
|
978
|
+
stdout.off("error", onStdoutError);
|
|
979
|
+
processLike.off("disconnect", onDisconnect);
|
|
980
|
+
processLike.off("SIGTERM", onSigterm);
|
|
981
|
+
processLike.off("SIGHUP", onSighup);
|
|
982
|
+
};
|
|
983
|
+
const priorOnClose = server.server.onclose;
|
|
984
|
+
server.server.onclose = () => {
|
|
985
|
+
priorOnClose?.();
|
|
986
|
+
finalizeClose();
|
|
987
|
+
};
|
|
988
|
+
stdin.on("end", onStdinEnd);
|
|
989
|
+
stdin.on("close", onStdinClose);
|
|
990
|
+
stdout.on("error", onStdoutError);
|
|
991
|
+
processLike.on("disconnect", onDisconnect);
|
|
992
|
+
processLike.on("SIGTERM", onSigterm);
|
|
993
|
+
processLike.on("SIGHUP", onSighup);
|
|
994
|
+
try {
|
|
995
|
+
await server.connect(transport);
|
|
996
|
+
}
|
|
997
|
+
catch (error) {
|
|
998
|
+
finalizeClose();
|
|
999
|
+
throw error;
|
|
1000
|
+
}
|
|
1001
|
+
await closed;
|
|
919
1002
|
}
|
|
920
1003
|
// ---------------------------------------------------------------------------
|
|
921
1004
|
// Helpers
|
|
@@ -923,11 +1006,42 @@ export async function serveRelayMcpServer(server) {
|
|
|
923
1006
|
function resolveActorId(sessionId, explicitActorId) {
|
|
924
1007
|
return explicitActorId ?? process.env.RELAY_AGENT_ID ?? sessionId ?? "local-operator";
|
|
925
1008
|
}
|
|
1009
|
+
function combineAbortSignals(...signals) {
|
|
1010
|
+
const presentSignals = signals.filter((signal) => Boolean(signal));
|
|
1011
|
+
if (presentSignals.length === 0) {
|
|
1012
|
+
return undefined;
|
|
1013
|
+
}
|
|
1014
|
+
if (presentSignals.length === 1) {
|
|
1015
|
+
return presentSignals[0];
|
|
1016
|
+
}
|
|
1017
|
+
return AbortSignal.any(presentSignals);
|
|
1018
|
+
}
|
|
926
1019
|
function formatZodIssues(error) {
|
|
927
1020
|
return error.issues
|
|
928
1021
|
.map((issue) => `${issue.path.length > 0 ? issue.path.join(".") : "(root)"}: ${issue.message}`)
|
|
929
1022
|
.join("; ");
|
|
930
1023
|
}
|
|
1024
|
+
function isBrokenPipeError(error) {
|
|
1025
|
+
const code = typeof error === "object" && error && "code" in error
|
|
1026
|
+
? error.code
|
|
1027
|
+
: undefined;
|
|
1028
|
+
return code === "EPIPE" || code === "ERR_STREAM_DESTROYED";
|
|
1029
|
+
}
|
|
1030
|
+
function toErrorDetails(error) {
|
|
1031
|
+
if (!(error instanceof Error)) {
|
|
1032
|
+
return undefined;
|
|
1033
|
+
}
|
|
1034
|
+
const details = {
|
|
1035
|
+
message: error.message,
|
|
1036
|
+
};
|
|
1037
|
+
const code = typeof error === "object" && error && "code" in error
|
|
1038
|
+
? error.code
|
|
1039
|
+
: undefined;
|
|
1040
|
+
if (code !== undefined) {
|
|
1041
|
+
details.code = code;
|
|
1042
|
+
}
|
|
1043
|
+
return details;
|
|
1044
|
+
}
|
|
931
1045
|
function withErrorHandling(handler) {
|
|
932
1046
|
return async (...args) => {
|
|
933
1047
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-mcp-server.js","sourceRoot":"","sources":["../../../src/interfaces/mcp/relay-mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relay-mcp-server.js","sourceRoot":"","sources":["../../../src/interfaces/mcp/relay-mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ import { ProjectionService } from "../../application/projection-service.js";
|
|
|
4
4
|
import { RelayStore } from "../../infrastructure/store/relay-store.js";
|
|
5
5
|
import { RelayFileWatcher } from "./relay-file-watcher.js";
|
|
6
6
|
import { ActiveAgentDataProvider, TaskTreeDataProvider, createSnapshotLoader, } from "./tree-data-providers.js";
|
|
7
|
-
import {
|
|
7
|
+
import { buildAgentDetailHtml, buildRelayWebviewHtml, buildTaskDetailHtml, } from "./view-model.js";
|
|
8
8
|
const DEFAULT_STALE_THRESHOLD_MS = 2 * 60 * 60 * 1000;
|
|
9
9
|
export function activate(context) {
|
|
10
|
-
const
|
|
10
|
+
const webviewManager = new RelayWebviewManager();
|
|
11
11
|
const loadSnapshot = async () => createSnapshotLoader(getWorkspaceRoot(), createProjectionLoader)();
|
|
12
12
|
const taskProvider = new TaskTreeDataProvider(loadSnapshot);
|
|
13
13
|
const agentProvider = new ActiveAgentDataProvider(loadSnapshot);
|
|
@@ -17,10 +17,10 @@ export function activate(context) {
|
|
|
17
17
|
const fileWatcher = new RelayWorkspaceWatcher(() => {
|
|
18
18
|
void refreshViews();
|
|
19
19
|
});
|
|
20
|
-
context.subscriptions.push(
|
|
21
|
-
await showAgentDetail(
|
|
20
|
+
context.subscriptions.push(webviewManager, fileWatcher, taskProvider, agentProvider, vscode.window.registerTreeDataProvider("agenticRelay.taskTree", taskProvider), vscode.window.registerTreeDataProvider("agenticRelay.activeAgents", agentProvider), vscode.commands.registerCommand("agenticRelay.refreshViews", () => refreshViews()), vscode.commands.registerCommand("agenticRelay.showAgentDetail", async (relaySessionId) => {
|
|
21
|
+
await showAgentDetail(webviewManager, relaySessionId);
|
|
22
22
|
}), vscode.commands.registerCommand("agenticRelay.showTaskDetail", async (taskId) => {
|
|
23
|
-
await showTaskDetail(
|
|
23
|
+
await showTaskDetail(webviewManager, taskId);
|
|
24
24
|
}));
|
|
25
25
|
void refreshViews();
|
|
26
26
|
}
|
|
@@ -61,35 +61,44 @@ class RelayWorkspaceWatcher {
|
|
|
61
61
|
this.watchers.length = 0;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
class
|
|
65
|
-
|
|
66
|
-
show(
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
existingPanel.webview.html = html;
|
|
72
|
-
existingPanel.reveal(vscode.ViewColumn.Beside);
|
|
64
|
+
class RelayWebviewManager {
|
|
65
|
+
panel;
|
|
66
|
+
async show(snapshot, selectedId, selectedKind) {
|
|
67
|
+
const selectedDetailHtml = selectedKind === "agent"
|
|
68
|
+
? this.buildAgentDetail(snapshot, selectedId)
|
|
69
|
+
: this.buildTaskDetail(snapshot, selectedId);
|
|
70
|
+
if (!selectedDetailHtml) {
|
|
73
71
|
return;
|
|
74
72
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
73
|
+
if (!this.panel) {
|
|
74
|
+
this.panel = vscode.window.createWebviewPanel("agenticRelay.detail", "Agentic Relay", vscode.ViewColumn.Active, { enableScripts: true });
|
|
75
|
+
this.panel.onDidDispose(() => {
|
|
76
|
+
this.panel = undefined;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
this.panel.title = "Agentic Relay";
|
|
80
|
+
this.panel.webview.html = buildRelayWebviewHtml({
|
|
81
|
+
snapshot,
|
|
82
|
+
selectedId,
|
|
83
|
+
selectedKind,
|
|
84
|
+
selectedDetailHtml,
|
|
82
85
|
});
|
|
83
|
-
this.
|
|
86
|
+
this.panel.reveal(vscode.ViewColumn.Active, true);
|
|
84
87
|
}
|
|
85
88
|
dispose() {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
89
|
+
this.panel?.dispose();
|
|
90
|
+
this.panel = undefined;
|
|
91
|
+
}
|
|
92
|
+
buildAgentDetail(snapshot, relaySessionId) {
|
|
93
|
+
const agent = snapshot.active_agents.find((candidate) => candidate.relay_session_id === relaySessionId);
|
|
94
|
+
return agent ? buildAgentDetailHtml(agent) : undefined;
|
|
95
|
+
}
|
|
96
|
+
buildTaskDetail(snapshot, taskId) {
|
|
97
|
+
const node = findTaskNode(snapshot.task_tree, taskId);
|
|
98
|
+
return node ? buildTaskDetailHtml(node) : undefined;
|
|
90
99
|
}
|
|
91
100
|
}
|
|
92
|
-
async function showAgentDetail(
|
|
101
|
+
async function showAgentDetail(webviewManager, relaySessionId) {
|
|
93
102
|
const store = createStoreFromWorkspace();
|
|
94
103
|
if (!store) {
|
|
95
104
|
void vscode.window.showInformationMessage("Open a workspace folder to inspect .relay data.");
|
|
@@ -103,14 +112,21 @@ async function showAgentDetail(detailPanels, relaySessionId) {
|
|
|
103
112
|
staleThresholdMs: DEFAULT_STALE_THRESHOLD_MS,
|
|
104
113
|
}),
|
|
105
114
|
]);
|
|
106
|
-
|
|
115
|
+
const snapshotAgent = snapshot.active_agents.find((candidate) => candidate.relay_session_id === relaySessionId);
|
|
116
|
+
if (!metadata && !snapshotAgent) {
|
|
107
117
|
void vscode.window.showWarningMessage(`Relay session ${relaySessionId} was not found.`);
|
|
108
118
|
return;
|
|
109
119
|
}
|
|
110
|
-
const agent =
|
|
111
|
-
|
|
120
|
+
const agent = snapshotAgent ?? summarizeSessionMetadata(metadata, new Date());
|
|
121
|
+
const effectiveSnapshot = snapshotAgent
|
|
122
|
+
? snapshot
|
|
123
|
+
: {
|
|
124
|
+
...snapshot,
|
|
125
|
+
active_agents: [...snapshot.active_agents, agent],
|
|
126
|
+
};
|
|
127
|
+
await webviewManager.show(effectiveSnapshot, relaySessionId, "agent");
|
|
112
128
|
}
|
|
113
|
-
async function showTaskDetail(
|
|
129
|
+
async function showTaskDetail(webviewManager, taskId) {
|
|
114
130
|
const store = createStoreFromWorkspace();
|
|
115
131
|
if (!store) {
|
|
116
132
|
void vscode.window.showInformationMessage("Open a workspace folder to inspect .relay data.");
|
|
@@ -124,12 +140,19 @@ async function showTaskDetail(detailPanels, taskId) {
|
|
|
124
140
|
staleThresholdMs: DEFAULT_STALE_THRESHOLD_MS,
|
|
125
141
|
}),
|
|
126
142
|
]);
|
|
127
|
-
|
|
143
|
+
const snapshotNode = findTaskNode(snapshot.task_tree, taskId);
|
|
144
|
+
if (!task && !snapshotNode) {
|
|
128
145
|
void vscode.window.showWarningMessage(`Task ${taskId} was not found.`);
|
|
129
146
|
return;
|
|
130
147
|
}
|
|
131
|
-
const node =
|
|
132
|
-
|
|
148
|
+
const node = snapshotNode ?? taskRecordToTreeNode(task);
|
|
149
|
+
const effectiveSnapshot = snapshotNode
|
|
150
|
+
? snapshot
|
|
151
|
+
: {
|
|
152
|
+
...snapshot,
|
|
153
|
+
task_tree: [...snapshot.task_tree, node],
|
|
154
|
+
};
|
|
155
|
+
await webviewManager.show(effectiveSnapshot, taskId, "task");
|
|
133
156
|
}
|
|
134
157
|
function createProjectionLoader(workspaceRoot) {
|
|
135
158
|
return async () => {
|