sensorium-mcp 2.16.120 → 2.16.122
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/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/thread-lifecycle.d.ts +20 -0
- package/dist/tools/thread-lifecycle.d.ts.map +1 -1
- package/dist/tools/thread-lifecycle.js +72 -7
- package/dist/tools/thread-lifecycle.js.map +1 -1
- package/dist/watcher-service.d.ts.map +1 -1
- package/dist/watcher-service.js +152 -0
- package/dist/watcher-service.js.map +1 -1
- package/package.json +1 -1
- package/templates/delegate-and-wait.default.md +77 -0
- package/templates/fire-and-forget.default.md +76 -0
- package/templates/multi-thread-delegation.default.md +0 -100
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ else {
|
|
|
23
23
|
const { buildMcpServerFactory } = await import("./server/factory.js");
|
|
24
24
|
const { setTopicRegistryDb, lookupTopicRegistry } = await import("./sessions.js");
|
|
25
25
|
const { initVideoTempCleanup } = await import("./integrations/openai/video.js");
|
|
26
|
+
const { cleanupStalePidFiles } = await import("./tools/thread-lifecycle.js");
|
|
26
27
|
// ---------------------------------------------------------------------------
|
|
27
28
|
// Shared singletons
|
|
28
29
|
// ---------------------------------------------------------------------------
|
|
@@ -49,6 +50,11 @@ else {
|
|
|
49
50
|
}
|
|
50
51
|
// Initialize video temp-file cleanup handlers (registers process exit hooks).
|
|
51
52
|
initVideoTempCleanup();
|
|
53
|
+
// Clean up stale PID files from ghost threads that were killed during a
|
|
54
|
+
// previous server update (taskkill /T kills the entire process tree).
|
|
55
|
+
// Without this, orphaned PID files cause get_threads_health to show dead
|
|
56
|
+
// threads as "dormant" when the PID is reused by an unrelated process.
|
|
57
|
+
cleanupStalePidFiles();
|
|
52
58
|
// ---------------------------------------------------------------------------
|
|
53
59
|
// MCP Server factory (delegates to server/factory.ts)
|
|
54
60
|
// ---------------------------------------------------------------------------
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,oFAAoF;AACpF,2EAA2E;AAC3E,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IACvC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACrE,MAAM,mBAAmB,EAAE,CAAC;AAC9B,CAAC;KAAM,CAAC;IAER,8EAA8E;IAE9E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACzE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IACzD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC7D,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/D,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACtE,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAClF,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,13 @@ export declare function ensureDirs(): void;
|
|
|
32
32
|
* 4. ~/.claude/mcp_config.json
|
|
33
33
|
* 5. ~/.claude/.mcp.json
|
|
34
34
|
*/
|
|
35
|
+
/**
|
|
36
|
+
* Generate a per-thread MCP config that includes the sensorium-watcher server.
|
|
37
|
+
* This allows ghost threads to call `await_server_ready` during server updates
|
|
38
|
+
* instead of falling back to a blind 600s sleep.
|
|
39
|
+
* Returns the path to the generated config, or the original path on failure.
|
|
40
|
+
*/
|
|
41
|
+
export declare function generateThreadMcpConfig(baseConfigPath: string, threadId: number): string;
|
|
35
42
|
export declare function resolveMcpConfigPath(): string | null;
|
|
36
43
|
/**
|
|
37
44
|
* Resolve the absolute path to the `claude` CLI executable.
|
|
@@ -44,6 +51,18 @@ export declare function spawnAgentProcess(claudePath: string, mcpConfigPath: str
|
|
|
44
51
|
} | {
|
|
45
52
|
error: string;
|
|
46
53
|
};
|
|
54
|
+
interface PidFileEntry {
|
|
55
|
+
threadId: number;
|
|
56
|
+
pid: number;
|
|
57
|
+
filePath: string;
|
|
58
|
+
/** Thread name from PID metadata (may be absent in legacy PID files). */
|
|
59
|
+
name?: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Read all PID files from the pids directory.
|
|
63
|
+
* Supports both legacy (plain PID number) and new (JSON metadata) formats.
|
|
64
|
+
*/
|
|
65
|
+
export declare function readPidFiles(): PidFileEntry[];
|
|
47
66
|
/**
|
|
48
67
|
* Remove PID files for processes that are no longer running.
|
|
49
68
|
* Called on server startup / before spawning new threads.
|
|
@@ -55,4 +74,5 @@ export declare function cleanupStalePidFiles(): void;
|
|
|
55
74
|
* and PID files on disk. Returns a formatted markdown table.
|
|
56
75
|
*/
|
|
57
76
|
export declare function getThreadsHealth(): string;
|
|
77
|
+
export {};
|
|
58
78
|
//# sourceMappingURL=thread-lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tools/thread-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"thread-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tools/thread-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAmCD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAM3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAcD,eAAO,MAAM,iBAAiB,QAAkC,CAAC;AAKjE,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED;;;;;;;;GAQG;AACH;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqBxF;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAgBpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CASjD;AAMD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,EACzB,oBAAoB,CAAC,EAAE,MAAM,GAC5B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAwGtD;AAMD,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,YAAY,EAAE,CA2B7C;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAS3C;AA8ID;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAmEzC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Extracted from delegate-tool.ts to separate process-lifecycle concerns
|
|
5
5
|
* from MCP tool-handler logic.
|
|
6
6
|
*/
|
|
7
|
-
import { spawn, spawnSync } from "node:child_process";
|
|
7
|
+
import { execSync, spawn, spawnSync } from "node:child_process";
|
|
8
8
|
import { closeSync, existsSync, mkdirSync, openSync, readdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
|
|
9
9
|
import { homedir } from "node:os";
|
|
10
10
|
import { join } from "node:path";
|
|
@@ -18,8 +18,24 @@ import { errorMessage } from "../utils.js";
|
|
|
18
18
|
const spawnedThreads = [];
|
|
19
19
|
/**
|
|
20
20
|
* Check if a process with the given PID is still running.
|
|
21
|
+
* On Windows, uses `tasklist` instead of `process.kill(pid, 0)` to prevent
|
|
22
|
+
* false positives from PID reuse — a common issue on Windows where PIDs
|
|
23
|
+
* are recycled quickly after process exit.
|
|
21
24
|
*/
|
|
22
25
|
function isProcessAlive(pid) {
|
|
26
|
+
if (process.platform === "win32") {
|
|
27
|
+
try {
|
|
28
|
+
const out = execSync(`tasklist /FI "PID eq ${pid}" /NH`, {
|
|
29
|
+
encoding: "utf-8",
|
|
30
|
+
timeout: 5000,
|
|
31
|
+
windowsHide: true,
|
|
32
|
+
});
|
|
33
|
+
return out.includes(String(pid));
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
23
39
|
try {
|
|
24
40
|
process.kill(pid, 0); // signal 0 = check existence
|
|
25
41
|
return true;
|
|
@@ -59,6 +75,7 @@ const BASE_DIR = join(homedir(), ".remote-copilot-mcp");
|
|
|
59
75
|
export const PENDING_TASKS_DIR = join(BASE_DIR, "pending-tasks");
|
|
60
76
|
const LOGS_DIR = join(BASE_DIR, "logs");
|
|
61
77
|
const PIDS_DIR = join(BASE_DIR, "pids");
|
|
78
|
+
const WATCHER_PORT = Number.parseInt(process.env.WATCHER_PORT || "3848", 10);
|
|
62
79
|
export function ensureDirs() {
|
|
63
80
|
mkdirSync(PENDING_TASKS_DIR, { recursive: true });
|
|
64
81
|
mkdirSync(LOGS_DIR, { recursive: true });
|
|
@@ -73,6 +90,35 @@ export function ensureDirs() {
|
|
|
73
90
|
* 4. ~/.claude/mcp_config.json
|
|
74
91
|
* 5. ~/.claude/.mcp.json
|
|
75
92
|
*/
|
|
93
|
+
/**
|
|
94
|
+
* Generate a per-thread MCP config that includes the sensorium-watcher server.
|
|
95
|
+
* This allows ghost threads to call `await_server_ready` during server updates
|
|
96
|
+
* instead of falling back to a blind 600s sleep.
|
|
97
|
+
* Returns the path to the generated config, or the original path on failure.
|
|
98
|
+
*/
|
|
99
|
+
export function generateThreadMcpConfig(baseConfigPath, threadId) {
|
|
100
|
+
const outPath = join(PIDS_DIR, `${threadId}-mcp-config.json`);
|
|
101
|
+
try {
|
|
102
|
+
const raw = readFileSync(baseConfigPath, "utf-8");
|
|
103
|
+
const config = JSON.parse(raw);
|
|
104
|
+
const servers = (config.mcpServers ?? {});
|
|
105
|
+
if (!servers["sensorium-watcher"]) {
|
|
106
|
+
servers["sensorium-watcher"] = {
|
|
107
|
+
type: "http",
|
|
108
|
+
url: `http://127.0.0.1:${WATCHER_PORT}/mcp`,
|
|
109
|
+
};
|
|
110
|
+
config.mcpServers = servers;
|
|
111
|
+
mkdirSync(PIDS_DIR, { recursive: true });
|
|
112
|
+
writeFileSync(outPath, JSON.stringify(config, null, 2), "utf-8");
|
|
113
|
+
return outPath;
|
|
114
|
+
}
|
|
115
|
+
return baseConfigPath; // watcher already in config
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
log.warn(`[start_thread] Failed to generate merged MCP config for thread ${threadId}: ${errorMessage(err)}`);
|
|
119
|
+
return baseConfigPath;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
76
122
|
export function resolveMcpConfigPath() {
|
|
77
123
|
const envPath = process.env.CLAUDE_MCP_CONFIG;
|
|
78
124
|
if (envPath && existsSync(envPath))
|
|
@@ -115,6 +161,9 @@ export function spawnAgentProcess(claudePath, mcpConfigPath, name, threadId, wor
|
|
|
115
161
|
const logFileName = `${safeName}_${threadId}_${dateStr}.json`;
|
|
116
162
|
const logFilePath = join(LOGS_DIR, logFileName);
|
|
117
163
|
const logFd = openSync(logFilePath, "a");
|
|
164
|
+
// Generate a per-thread MCP config that includes sensorium-watcher for
|
|
165
|
+
// graceful server-update reconnection (Issue A1 fix).
|
|
166
|
+
const effectiveConfigPath = generateThreadMcpConfig(mcpConfigPath, threadId);
|
|
118
167
|
// Use the original name (not safeName) in the prompt so the spawned agent
|
|
119
168
|
// calls start_session with the exact name stored in the session registry.
|
|
120
169
|
// safeName is only for filesystem-safe log filenames.
|
|
@@ -122,7 +171,7 @@ export function spawnAgentProcess(claudePath, mcpConfigPath, name, threadId, wor
|
|
|
122
171
|
const cliArgs = [
|
|
123
172
|
"--verbose",
|
|
124
173
|
"--dangerously-skip-permissions",
|
|
125
|
-
"--mcp-config",
|
|
174
|
+
"--mcp-config", effectiveConfigPath,
|
|
126
175
|
"-p", prompt,
|
|
127
176
|
"--output-format", "stream-json",
|
|
128
177
|
"--include-partial-messages",
|
|
@@ -169,10 +218,11 @@ export function spawnAgentProcess(claudePath, mcpConfigPath, name, threadId, wor
|
|
|
169
218
|
if (pid === undefined) {
|
|
170
219
|
return { error: "Claude process spawned but PID is undefined — spawn may have failed." };
|
|
171
220
|
}
|
|
172
|
-
// Write PID file for
|
|
221
|
+
// Write PID file with metadata for tracking and re-spawn after updates
|
|
173
222
|
const pidFilePath = join(PIDS_DIR, `${threadId}.pid`);
|
|
174
223
|
try {
|
|
175
|
-
|
|
224
|
+
const pidMeta = { pid, name, configPath: effectiveConfigPath, startedAt: Date.now() };
|
|
225
|
+
writeFileSync(pidFilePath, JSON.stringify(pidMeta), "utf-8");
|
|
176
226
|
}
|
|
177
227
|
catch (err) {
|
|
178
228
|
log.debug(`[start_thread] Failed to write PID file: ${errorMessage(err)}`);
|
|
@@ -203,7 +253,11 @@ export function spawnAgentProcess(claudePath, mcpConfigPath, name, threadId, wor
|
|
|
203
253
|
log.info(`[start_thread] Spawned Claude process PID=${pid} for thread ${threadId} ("${name}")`);
|
|
204
254
|
return { pid, logFile: logFilePath };
|
|
205
255
|
}
|
|
206
|
-
|
|
256
|
+
/**
|
|
257
|
+
* Read all PID files from the pids directory.
|
|
258
|
+
* Supports both legacy (plain PID number) and new (JSON metadata) formats.
|
|
259
|
+
*/
|
|
260
|
+
export function readPidFiles() {
|
|
207
261
|
const entries = [];
|
|
208
262
|
try {
|
|
209
263
|
const files = readdirSync(PIDS_DIR);
|
|
@@ -213,9 +267,20 @@ function readPidFiles() {
|
|
|
213
267
|
try {
|
|
214
268
|
const threadId = Number(file.replace(".pid", ""));
|
|
215
269
|
const filePath = join(PIDS_DIR, file);
|
|
216
|
-
const
|
|
270
|
+
const raw = readFileSync(filePath, "utf-8").trim();
|
|
271
|
+
let pid;
|
|
272
|
+
let name;
|
|
273
|
+
try {
|
|
274
|
+
const meta = JSON.parse(raw);
|
|
275
|
+
pid = meta.pid;
|
|
276
|
+
name = meta.name;
|
|
277
|
+
}
|
|
278
|
+
catch {
|
|
279
|
+
// Legacy format: plain PID number
|
|
280
|
+
pid = Number(raw);
|
|
281
|
+
}
|
|
217
282
|
if (Number.isFinite(threadId) && Number.isFinite(pid)) {
|
|
218
|
-
entries.push({ threadId, pid, filePath });
|
|
283
|
+
entries.push({ threadId, pid, filePath, name });
|
|
219
284
|
}
|
|
220
285
|
}
|
|
221
286
|
catch { /* skip unreadable files */ }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-lifecycle.js","sourceRoot":"","sources":["../../src/tools/thread-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thread-lifecycle.js","sourceRoot":"","sources":["../../src/tools/thread-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3H,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAe3C,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E,MAAM,cAAc,GAAoB,EAAE,CAAC;AAE3C;;;;;GAKG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,QAAQ,CAAC,wBAAwB,GAAG,OAAO,EAAE;gBACvD,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,6BAA6B;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IAC3B,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAE7E,MAAM,UAAU,UAAU;IACxB,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,cAAsB,EAAE,QAAgB;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,kBAAkB,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QAC1D,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,mBAAmB,CAAC,GAAG;gBAC7B,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,oBAAoB,YAAY,MAAM;aAC5C,CAAC;YACF,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;YAC5B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjE,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,cAAc,CAAC,CAAC,4BAA4B;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,kEAAkE,QAAQ,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7G,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC9C,IAAI,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAEnD,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAC/C,IAAI,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IAErE,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC;KACxC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,aAAqB,EACrB,IAAY,EACZ,QAAgB,EAChB,gBAAyB,EACzB,oBAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,QAAQ,IAAI,OAAO,OAAO,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEzC,uEAAuE;IACvE,sDAAsD;IACtD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE7E,0EAA0E;IAC1E,0EAA0E;IAC1E,sDAAsD;IACtD,MAAM,MAAM,GAAG,uDAAuD,IAAI,GAAG,CAAC;IAE9E,MAAM,OAAO,GAAG;QACd,WAAW;QACX,gCAAgC;QAChC,cAAc,EAAE,mBAAmB;QACnC,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE,aAAa;QAChC,4BAA4B;KAC7B,CAAC;IAEF,8EAA8E;IAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpF,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,QAAQ,CAAC,uBAAuB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC;QACxE,MAAM,iBAAiB,GAAG;YACxB,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC;YACzE,uCAAuC;YACvC,6CAA6C;SAC9C,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;YAC1C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,QAAQ,CAAC,yBAAyB,GAAG,SAAS,CAAC;gBAC/C,GAAG,CAAC,IAAI,CAAC,4CAA4C,SAAS,EAAE,CAAC,CAAC;gBAClE,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;YACjC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;YAC/B,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,gBAAgB,IAAI,SAAS;SACnC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,mCAAmC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC3E,CAAC;IAED,uDAAuD;IACvD,SAAS,CAAC,KAAK,CAAC,CAAC;IAEjB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,KAAK,EAAE,sEAAsE,EAAE,CAAC;IAC3F,CAAC;IAED,uEAAuE;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACtF,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;IAE7F,wBAAwB;IACxB,MAAM,KAAK,GAAkB;QAC3B,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,OAAO,EAAE,WAAW;QACpB,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;IACF,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE3B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC;YAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,qCAAqC,GAAG,eAAe,QAAQ,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,GAAG,CAAC,IAAI,CAAC,6CAA6C,GAAG,eAAe,QAAQ,MAAM,IAAI,IAAI,CAAC,CAAC;IAEhG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC;AAcD;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YACrC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACtC,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,IAAI,GAAW,CAAC;gBAChB,IAAI,IAAwB,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmC,CAAC;oBAC/D,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBACf,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,kCAAkC;oBAClC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,YAAY,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,oCAAoC,QAAQ,SAAS,GAAG,GAAG,CAAC,CAAC;YACxE,CAAC;YAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,SAAS,kBAAkB,CAAC,EAAU;IACpC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,OAAO,CAAC;IACvC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC;AAC1C,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,KAAK,OAAO,GAAG,EAAE,GAAG,CAAC;IACpD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,GAAG,CAAC;AACrD,CAAC;AAoBD;;;GAGG;AACH,SAAS,iBAAiB;IACxB,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,8BAA8B;IAC9B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAyB,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAE7D,gEAAgE;IAChE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI;YAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEvD,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI;YAAE,SAAS;QACjC,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACZ,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,YAAY,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;QAEvD,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;QAEtD,MAAM,aAAa,GAAG,UAAU,EAAE,cAAc,IAAI,IAAI;eACnD,CAAC,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC;QAE1D,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ;YACR,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS;YAC5C,GAAG;YACH,KAAK;YACL,gBAAgB,EAAE,CAAC,CAAC,aAAa;YACjC,aAAa;YACb,YAAY,EAAE,cAAc,CAAC,MAAM;YACnC,YAAY,EAAE,UAAU,EAAE,YAAY;YACtC,gBAAgB,EAAE,YAAY,EAAE,SAAS;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,CAAkB;IAC9C,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACvE,wEAAwE;IACxE,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,CAAC,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IACnD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IAEpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,2EAA2E,CAAC;IACrF,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAYvB,MAAM,IAAI,GAAgB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACxC,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE9C,IAAI,UAAU,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,CAAC,gBAAgB;YAAE,UAAU,GAAG,QAAQ,CAAC;aACzC,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC;YAAE,UAAU,GAAG,cAAc,CAAC;QAEzD,IAAI,eAAe,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,CAAC,YAAY;YAAE,eAAe,GAAG,kBAAkB,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;QAE/E,IAAI,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,KAAK;YAAE,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAEhF,OAAO;YACL,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,QAAQ;YACd,MAAM;YACN,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YAC9C,YAAY,EAAE,eAAe;YAC7B,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,mDAAmD;IACnD,MAAM,WAAW,GAA2B,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC5F,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjF,wBAAwB;IACxB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACrF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IACxH,CAAC;IAED,UAAU;IACV,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,eAAe,OAAO,aAAa,OAAO,aAAa,IAAI,UAAU,OAAO,UAAU,CAAC,CAAC;IAE9H,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher-service.d.ts","sourceRoot":"","sources":["../src/watcher-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watcher-service.d.ts","sourceRoot":"","sources":["../src/watcher-service.ts"],"names":[],"mappings":"AAqjBA,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAczD"}
|
package/dist/watcher-service.js
CHANGED
|
@@ -238,6 +238,145 @@ async function killStale() {
|
|
|
238
238
|
}
|
|
239
239
|
// Registry check --------------------------------------------------------------
|
|
240
240
|
const REGISTRY_URL = "https://registry.npmjs.org/sensorium-mcp/latest";
|
|
241
|
+
/**
|
|
242
|
+
* Parse a single PID file and return pid + name, or null if unparseable.
|
|
243
|
+
*/
|
|
244
|
+
function parsePidFile(filePath) {
|
|
245
|
+
try {
|
|
246
|
+
const raw = readFileSync(filePath, "utf-8").trim();
|
|
247
|
+
try {
|
|
248
|
+
const meta = JSON.parse(raw);
|
|
249
|
+
return Number.isFinite(meta.pid) ? meta : null;
|
|
250
|
+
}
|
|
251
|
+
catch {
|
|
252
|
+
const pid = Number(raw);
|
|
253
|
+
return Number.isFinite(pid) ? { pid } : null;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
catch {
|
|
257
|
+
return null;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Read active ghost thread info from PID files before killing the MCP server.
|
|
262
|
+
* Only returns threads whose processes are currently alive.
|
|
263
|
+
*/
|
|
264
|
+
function readGhostThreads() {
|
|
265
|
+
const pidsDir = join(CONFIG.dataDir, "pids");
|
|
266
|
+
// Read session store for name lookups (reverse map: threadId → name)
|
|
267
|
+
const sessionStorePath = join(homedir(), ".remote-copilot-mcp-sessions.json");
|
|
268
|
+
const threadNames = new Map();
|
|
269
|
+
try {
|
|
270
|
+
const sessions = JSON.parse(readFileSync(sessionStorePath, "utf-8"));
|
|
271
|
+
for (const chatTopics of Object.values(sessions)) {
|
|
272
|
+
for (const [name, tid] of Object.entries(chatTopics)) {
|
|
273
|
+
threadNames.set(tid, name);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
catch { /* no sessions file */ }
|
|
278
|
+
const threads = [];
|
|
279
|
+
try {
|
|
280
|
+
for (const file of readdirSync(pidsDir)) {
|
|
281
|
+
if (!file.endsWith(".pid"))
|
|
282
|
+
continue;
|
|
283
|
+
const threadId = Number(file.replace(".pid", ""));
|
|
284
|
+
if (!Number.isFinite(threadId))
|
|
285
|
+
continue;
|
|
286
|
+
const parsed = parsePidFile(join(pidsDir, file));
|
|
287
|
+
if (!parsed || !alive(parsed.pid))
|
|
288
|
+
continue;
|
|
289
|
+
threads.push({
|
|
290
|
+
threadId,
|
|
291
|
+
name: parsed.name ?? threadNames.get(threadId) ?? `thread-${threadId}`,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
catch { /* pids dir may not exist */ }
|
|
296
|
+
return threads;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Re-spawn ghost threads after a server update.
|
|
300
|
+
* Each thread gets a fresh Claude CLI pointed at the updated MCP server,
|
|
301
|
+
* with sensorium-watcher included in the config for future update resilience.
|
|
302
|
+
*/
|
|
303
|
+
async function respawnGhostThreads(threads) {
|
|
304
|
+
if (threads.length === 0)
|
|
305
|
+
return;
|
|
306
|
+
// Resolve base MCP config (same candidates as thread-lifecycle.ts)
|
|
307
|
+
const candidates = [
|
|
308
|
+
process.env.CLAUDE_MCP_CONFIG,
|
|
309
|
+
join(homedir(), ".claude", "settings.json"),
|
|
310
|
+
join(homedir(), ".claude", "mcp_config.json"),
|
|
311
|
+
join(homedir(), ".claude", ".mcp.json"),
|
|
312
|
+
].filter(Boolean);
|
|
313
|
+
const baseConfigPath = candidates.find((p) => existsSync(p));
|
|
314
|
+
if (!baseConfigPath) {
|
|
315
|
+
log("WARN", "Cannot re-spawn ghost threads: no MCP config found");
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
// Generate a merged config that includes sensorium-watcher
|
|
319
|
+
const mergedConfigPath = join(CONFIG.dataDir, "ghost-respawn-mcp-config.json");
|
|
320
|
+
try {
|
|
321
|
+
const raw = readFileSync(baseConfigPath, "utf-8");
|
|
322
|
+
const config = JSON.parse(raw);
|
|
323
|
+
const servers = (config.mcpServers ?? {});
|
|
324
|
+
if (!servers["sensorium-watcher"]) {
|
|
325
|
+
servers["sensorium-watcher"] = {
|
|
326
|
+
type: "http",
|
|
327
|
+
url: `http://127.0.0.1:${CONFIG.httpPort}/mcp`,
|
|
328
|
+
};
|
|
329
|
+
config.mcpServers = servers;
|
|
330
|
+
}
|
|
331
|
+
writeFileSync(mergedConfigPath, JSON.stringify(config, null, 2), "utf-8");
|
|
332
|
+
}
|
|
333
|
+
catch (err) {
|
|
334
|
+
log("WARN", `Failed to generate merged MCP config for re-spawn: ${err}`);
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
const claudeCmd = CONFIG.claudeCmd;
|
|
338
|
+
const useShell = process.platform === "win32";
|
|
339
|
+
const logsDir = join(CONFIG.dataDir, "logs");
|
|
340
|
+
const pidsDir = join(CONFIG.dataDir, "pids");
|
|
341
|
+
mkdirSync(logsDir, { recursive: true });
|
|
342
|
+
mkdirSync(pidsDir, { recursive: true });
|
|
343
|
+
for (const thread of threads) {
|
|
344
|
+
// Skip the keeper's always-on thread — the keeper handles its own restart
|
|
345
|
+
if (thread.threadId === CONFIG.alwaysOnThreadId)
|
|
346
|
+
continue;
|
|
347
|
+
log("INFO", `Re-spawning ghost thread ${thread.threadId} ("${thread.name}")`);
|
|
348
|
+
const dateStr = new Date().toISOString().slice(0, 10);
|
|
349
|
+
const safeName = thread.name.replaceAll(/[^a-zA-Z0-9_-]/g, "_");
|
|
350
|
+
const logFile = join(logsDir, `${safeName}_${thread.threadId}_${dateStr}.json`);
|
|
351
|
+
const prompt = `Start remote session with sensorium. Thread name = '${thread.name}'`;
|
|
352
|
+
try {
|
|
353
|
+
const logFd = openSync(logFile, "a");
|
|
354
|
+
const child = spawn(claudeCmd, [
|
|
355
|
+
"--verbose",
|
|
356
|
+
"--dangerously-skip-permissions",
|
|
357
|
+
"--mcp-config", mergedConfigPath,
|
|
358
|
+
"-p", prompt,
|
|
359
|
+
"--output-format", "stream-json",
|
|
360
|
+
"--include-partial-messages",
|
|
361
|
+
], {
|
|
362
|
+
detached: true,
|
|
363
|
+
stdio: ["ignore", logFd, logFd],
|
|
364
|
+
shell: useShell,
|
|
365
|
+
windowsHide: true,
|
|
366
|
+
});
|
|
367
|
+
closeSync(logFd);
|
|
368
|
+
if (child.pid) {
|
|
369
|
+
const pidFile = join(pidsDir, `${thread.threadId}.pid`);
|
|
370
|
+
writeFileSync(pidFile, JSON.stringify({ pid: child.pid, name: thread.name, startedAt: Date.now() }), "utf-8");
|
|
371
|
+
child.unref();
|
|
372
|
+
log("INFO", `Re-spawned ghost thread ${thread.threadId} (PID ${child.pid})`);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
catch (err) {
|
|
376
|
+
log("ERROR", `Failed to re-spawn ghost thread ${thread.threadId}: ${err}`);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
241
380
|
async function getRemoteVersion() {
|
|
242
381
|
try {
|
|
243
382
|
const r = await fetch(REGISTRY_URL, { signal: AbortSignal.timeout(15_000) });
|
|
@@ -288,6 +427,14 @@ async function checkAndUpdate() {
|
|
|
288
427
|
writeMaintenanceFlag(remote);
|
|
289
428
|
log("INFO", `Grace period ${CONFIG.gracePeriodSeconds}s...`);
|
|
290
429
|
await sleep(CONFIG.gracePeriodSeconds * 1000);
|
|
430
|
+
// Save active ghost thread info BEFORE killing the server.
|
|
431
|
+
// taskkill /F /T kills the entire process tree including ghost threads,
|
|
432
|
+
// so we need to re-spawn them after the update.
|
|
433
|
+
const ghostThreads = readGhostThreads();
|
|
434
|
+
if (ghostThreads.length > 0) {
|
|
435
|
+
const desc = ghostThreads.map(t => String(t.threadId) + '("' + t.name + '")').join(", ");
|
|
436
|
+
log("INFO", `Saved ${ghostThreads.length} ghost thread(s) for re-spawn after update: ${desc}`);
|
|
437
|
+
}
|
|
291
438
|
await stopMcpServer();
|
|
292
439
|
clearNpxCache();
|
|
293
440
|
setLocalVersion(remote);
|
|
@@ -296,6 +443,11 @@ async function checkAndUpdate() {
|
|
|
296
443
|
await sleep(10_000);
|
|
297
444
|
await killStale();
|
|
298
445
|
removeMaintenanceFlag();
|
|
446
|
+
// Re-spawn ghost threads that were killed during the update
|
|
447
|
+
if (ghostThreads.length > 0) {
|
|
448
|
+
log("INFO", "Re-spawning ghost threads...");
|
|
449
|
+
await respawnGhostThreads(ghostThreads);
|
|
450
|
+
}
|
|
299
451
|
log("INFO", `Update to v${remote} complete.`);
|
|
300
452
|
}
|
|
301
453
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher-service.js","sourceRoot":"","sources":["../src/watcher-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watcher-service.js","sourceRoot":"","sources":["../src/watcher-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Delegate and Wait
|
|
3
|
+
triggers:
|
|
4
|
+
- delegate to thread
|
|
5
|
+
- delegate and wait
|
|
6
|
+
- orchestrator worker
|
|
7
|
+
- spawn thread and wait
|
|
8
|
+
- use multi-thread
|
|
9
|
+
replaces_orchestrator: true
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Delegate and Wait — Orchestrator-Worker Pattern
|
|
13
|
+
|
|
14
|
+
### Overview
|
|
15
|
+
This skill describes the **orchestrator-worker** pattern: you spawn a ghost thread, send it a task, and **wait** for the result. The orchestrator does NOT do the work — it delegates, waits, and processes the response.
|
|
16
|
+
|
|
17
|
+
### When to Use
|
|
18
|
+
- Code reviews (you need the findings to act on)
|
|
19
|
+
- Any task where the output determines your next action
|
|
20
|
+
- Work that requires specialist domain context (dashboard, testing, refactoring)
|
|
21
|
+
- Tasks with acceptance criteria you need to verify
|
|
22
|
+
|
|
23
|
+
### Core Pattern
|
|
24
|
+
|
|
25
|
+
#### Step 1 — Spawn the worker thread
|
|
26
|
+
```
|
|
27
|
+
start_thread(
|
|
28
|
+
name: "Dashboard Worker",
|
|
29
|
+
task: "You are a dashboard specialist. You build and maintain the Vue dashboard.",
|
|
30
|
+
memorySourceThreadId: <ORCHESTRATOR_THREAD_ID> // share memory context
|
|
31
|
+
)
|
|
32
|
+
→ returns { threadId: <WORKER_THREAD_ID> }
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
#### Step 2 — Send a detailed task with EXPLICIT report-back instruction
|
|
36
|
+
```
|
|
37
|
+
send_message_to_thread(
|
|
38
|
+
threadId: <WORKER_THREAD_ID>,
|
|
39
|
+
message: "Task: Rewrite the dashboard settings page using React.
|
|
40
|
+
Acceptance criteria:
|
|
41
|
+
- Settings load from /api/settings
|
|
42
|
+
- Form validates input
|
|
43
|
+
- Save button persists changes
|
|
44
|
+
|
|
45
|
+
⚠️ IMPORTANT: When complete, report your results back to thread <ORCHESTRATOR_THREAD_ID> using:
|
|
46
|
+
send_message_to_thread(threadId=<ORCHESTRATOR_THREAD_ID>, message='...')"
|
|
47
|
+
)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**CRITICAL**: The task message MUST include the orchestrator's thread ID so the worker knows where to send results.
|
|
51
|
+
|
|
52
|
+
#### Step 3 — Wait for results (do NOT duplicate the work)
|
|
53
|
+
```
|
|
54
|
+
remote_copilot_wait_for_instructions(threadId: <ORCHESTRATOR_THREAD_ID>)
|
|
55
|
+
```
|
|
56
|
+
The orchestrator parks here. It does NOT start doing the work itself. The worker will execute the task and send results back via `send_message_to_thread`.
|
|
57
|
+
|
|
58
|
+
#### Step 4 — Process results when they arrive
|
|
59
|
+
Results arrive as a message in `wait_for_instructions`. Review, approve, or request changes by sending another message to the worker.
|
|
60
|
+
|
|
61
|
+
### Rules
|
|
62
|
+
|
|
63
|
+
- **NEVER** duplicate work after delegating. If you sent it to a worker, wait for the response.
|
|
64
|
+
- **ALWAYS** include the orchestrator thread ID in the task message so the worker can report back.
|
|
65
|
+
- **ALWAYS** include clear acceptance criteria in the task message.
|
|
66
|
+
- **ALWAYS** use `wait_for_instructions` after sending the task — this is what makes you an orchestrator, not a doer.
|
|
67
|
+
- Worker threads build domain-specific memory over time — reuse the same thread for the same domain.
|
|
68
|
+
- The orchestrator stays clean for high-level decisions and operator interaction.
|
|
69
|
+
|
|
70
|
+
### Anti-Patterns
|
|
71
|
+
|
|
72
|
+
- ❌ Sending a task then immediately doing the work yourself
|
|
73
|
+
- ❌ Creating a worker thread AND running a subagent for the same task
|
|
74
|
+
- ❌ Forgetting to include the orchestrator thread ID in the task message
|
|
75
|
+
- ❌ Sending tasks without acceptance criteria
|
|
76
|
+
- ❌ Creating a new thread for every task instead of reusing domain threads
|
|
77
|
+
- ❌ Reading worker results and re-doing the work instead of applying them
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Fire and Forget
|
|
3
|
+
triggers:
|
|
4
|
+
- fire and forget
|
|
5
|
+
- background task
|
|
6
|
+
- spawn autonomous thread
|
|
7
|
+
- thread delegation no wait
|
|
8
|
+
replaces_orchestrator: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Fire and Forget — Autonomous Worker Pattern
|
|
12
|
+
|
|
13
|
+
### Overview
|
|
14
|
+
This skill describes the **fire-and-forget** pattern: you spawn a ghost thread, send it a task, and **continue working immediately**. The worker executes autonomously and reports progress directly to the **operator** (not back to you).
|
|
15
|
+
|
|
16
|
+
### When to Use
|
|
17
|
+
- Background cleanup tasks (log rotation, stale file removal)
|
|
18
|
+
- Scheduled improvements that don't affect current work
|
|
19
|
+
- Logging, monitoring, metrics collection
|
|
20
|
+
- Any task where the result does NOT gate your next step
|
|
21
|
+
- Long-running tasks you don't need to wait on
|
|
22
|
+
|
|
23
|
+
### When NOT to Use
|
|
24
|
+
- Code reviews (you need the findings)
|
|
25
|
+
- Any task where the output determines your next action
|
|
26
|
+
- Tasks that modify files you're also editing (conflict risk)
|
|
27
|
+
- Work with acceptance criteria you need to verify → use **Delegate and Wait** instead
|
|
28
|
+
|
|
29
|
+
### Core Pattern
|
|
30
|
+
|
|
31
|
+
#### Step 1 — Spawn the worker thread
|
|
32
|
+
```
|
|
33
|
+
start_thread(
|
|
34
|
+
name: "Background Cleanup",
|
|
35
|
+
task: "You handle background maintenance tasks autonomously."
|
|
36
|
+
)
|
|
37
|
+
→ returns { threadId: <WORKER_THREAD_ID> }
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
#### Step 2 — Send the task (NO report-back needed)
|
|
41
|
+
```
|
|
42
|
+
send_message_to_thread(
|
|
43
|
+
threadId: <WORKER_THREAD_ID>,
|
|
44
|
+
message: "Task: Clean up stale log files older than 30 days in ~/.remote-copilot-mcp/logs/.
|
|
45
|
+
This is a one-shot task. Report progress to the operator via report_progress or send_voice.
|
|
46
|
+
Do NOT message the sender back."
|
|
47
|
+
)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**KEY**: The task explicitly tells the worker NOT to send results back to the orchestrator. The worker reports to the **operator** directly using `report_progress` or `send_voice`.
|
|
51
|
+
|
|
52
|
+
#### Step 3 — Continue working immediately
|
|
53
|
+
Do NOT call `wait_for_instructions` for this worker. Continue with your own work. The worker runs independently.
|
|
54
|
+
|
|
55
|
+
### Worker Behavior
|
|
56
|
+
The autonomous worker should:
|
|
57
|
+
- Execute the task independently
|
|
58
|
+
- Report progress to the **operator** via `report_progress` or `send_voice`
|
|
59
|
+
- NOT send messages back to the orchestrator thread
|
|
60
|
+
- Handle errors gracefully and notify the operator if something fails
|
|
61
|
+
|
|
62
|
+
### Rules
|
|
63
|
+
|
|
64
|
+
- **NEVER** call `wait_for_instructions` after a fire-and-forget delegation.
|
|
65
|
+
- **ALWAYS** tell the worker to report to the operator, not back to the orchestrator.
|
|
66
|
+
- **ALWAYS** include explicit instructions like "Do NOT message the sender back."
|
|
67
|
+
- Use this pattern only when the result doesn't affect your immediate work.
|
|
68
|
+
- If you later realize you need the result, spawn a new **Delegate and Wait** task instead.
|
|
69
|
+
|
|
70
|
+
### Anti-Patterns
|
|
71
|
+
|
|
72
|
+
- ❌ Waiting on a fire-and-forget worker (defeats the purpose)
|
|
73
|
+
- ❌ Worker sending results back to the orchestrator instead of the operator
|
|
74
|
+
- ❌ Using fire-and-forget for tasks that gate your next step
|
|
75
|
+
- ❌ Spawning fire-and-forget workers that modify files you're actively editing
|
|
76
|
+
- ❌ Forgetting to tell the worker how to report progress (operator gets no visibility)
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Multi-Thread Delegation
|
|
3
|
-
triggers:
|
|
4
|
-
- delegate to thread
|
|
5
|
-
- use multi-thread
|
|
6
|
-
- thread delegation
|
|
7
|
-
- spawn thread
|
|
8
|
-
replaces_orchestrator: true
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Multi-Thread Agent Orchestration
|
|
12
|
-
|
|
13
|
-
### Overview
|
|
14
|
-
This skill describes how to use sensorium-mcp's inter-thread messaging for orchestrating work across multiple persistent threads. Each thread represents a specialist worker with its own memory context.
|
|
15
|
-
|
|
16
|
-
### Thread Topology
|
|
17
|
-
- **Manager Thread** (main): Design decisions, operator interaction, constraints, routing
|
|
18
|
-
- **Worker Threads** (persistent): Specialized domains — dashboard, code-review, testing, refactoring, etc.
|
|
19
|
-
|
|
20
|
-
### Core Pattern: Delegate and Wait
|
|
21
|
-
|
|
22
|
-
When you have work that should be delegated to a worker thread:
|
|
23
|
-
|
|
24
|
-
1. **Create or identify the worker thread**
|
|
25
|
-
```
|
|
26
|
-
start_thread(name: "Dashboard Worker")
|
|
27
|
-
→ returns { threadId: <WORKER_THREAD_ID> }
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
2. **Send a detailed task with clear acceptance criteria**
|
|
31
|
-
```
|
|
32
|
-
send_message_to_thread(
|
|
33
|
-
threadId: <WORKER_THREAD_ID>,
|
|
34
|
-
message: "Task: Rewrite the dashboard settings page using React.
|
|
35
|
-
Acceptance criteria:
|
|
36
|
-
- Settings load from /api/settings
|
|
37
|
-
- Form validates input
|
|
38
|
-
- Save button persists changes
|
|
39
|
-
When complete, send results back to thread <MANAGER_THREAD_ID>."
|
|
40
|
-
)
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
3. **Wait for results — do NOT duplicate the work**
|
|
44
|
-
```
|
|
45
|
-
remote_copilot_wait_for_instructions(threadId: <MANAGER_THREAD_ID>)
|
|
46
|
-
```
|
|
47
|
-
The worker will execute the task and send results back via send_message_to_thread.
|
|
48
|
-
|
|
49
|
-
4. **Process results when they arrive**
|
|
50
|
-
Results arrive as an operator message in wait_for_instructions. Review, approve, or request changes.
|
|
51
|
-
|
|
52
|
-
### Pattern 2: Fire and Forget
|
|
53
|
-
|
|
54
|
-
For tasks that don't need a response back — the worker executes autonomously and the manager moves on.
|
|
55
|
-
|
|
56
|
-
1. **Create or identify the worker thread**
|
|
57
|
-
```
|
|
58
|
-
start_thread(name: "Background Cleanup")
|
|
59
|
-
→ returns { threadId: <WORKER_THREAD_ID> }
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
2. **Send the task — no report-back needed**
|
|
63
|
-
```
|
|
64
|
-
send_message_to_thread(
|
|
65
|
-
threadId: <WORKER_THREAD_ID>,
|
|
66
|
-
message: "Task: Clean up stale log files older than 30 days in ~/.remote-copilot-mcp/logs/.
|
|
67
|
-
This is a one-shot task. Report progress to the operator via report_progress or send_voice.
|
|
68
|
-
Do NOT message the sender back."
|
|
69
|
-
)
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
3. **Continue working immediately**
|
|
73
|
-
Don't call wait_for_instructions for this task. Continue with your own work.
|
|
74
|
-
|
|
75
|
-
#### When to use Fire and Forget:
|
|
76
|
-
- Background cleanup tasks
|
|
77
|
-
- Scheduled improvements that don't affect current work
|
|
78
|
-
- Logging, monitoring, metrics tasks
|
|
79
|
-
- Any task where the result doesn't gate your next step
|
|
80
|
-
|
|
81
|
-
#### When NOT to use Fire and Forget:
|
|
82
|
-
- Code reviews (you need the findings to act on)
|
|
83
|
-
- Any task where the output determines your next action
|
|
84
|
-
- Tasks that modify files you're also editing (conflict risk)
|
|
85
|
-
|
|
86
|
-
### Rules
|
|
87
|
-
|
|
88
|
-
- **NEVER** duplicate work with a subagent after delegating to a thread. Trust the delegation.
|
|
89
|
-
- **ALWAYS** include clear acceptance criteria in the task message.
|
|
90
|
-
- **ALWAYS** specify which thread to report back to.
|
|
91
|
-
- Worker threads build domain-specific memory over time — reuse the same thread for the same domain.
|
|
92
|
-
- The manager thread stays clean for high-level decisions and operator interaction.
|
|
93
|
-
|
|
94
|
-
### Anti-Patterns
|
|
95
|
-
|
|
96
|
-
- ❌ Creating a worker thread AND running a subagent for the same task
|
|
97
|
-
- ❌ Sending a task then immediately doing the work yourself
|
|
98
|
-
- ❌ Creating a new thread for every task instead of reusing domain threads
|
|
99
|
-
- ❌ Sending tasks without acceptance criteria or report-back instructions
|
|
100
|
-
- ❌ Reading worker results and re-doing the work instead of applying them
|