sensorium-mcp 3.0.0 → 3.0.1
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/Install-Sensorium.ps1 +30 -6
- package/dist/tools/start-session-tool.d.ts.map +1 -1
- package/dist/tools/start-session-tool.js +9 -19
- package/dist/tools/start-session-tool.js.map +1 -1
- package/package.json +1 -1
- package/supervisor/health.go +1 -33
- package/supervisor/health_test.go +0 -29
- package/supervisor/main.go +0 -4
- package/supervisor/updater.go +31 -1
package/Install-Sensorium.ps1
CHANGED
|
@@ -35,11 +35,15 @@
|
|
|
35
35
|
disable SecureVault profile resolution.
|
|
36
36
|
.PARAMETER WatcherMode
|
|
37
37
|
Supervisor mode to use (`production` or `development`).
|
|
38
|
+
.PARAMETER MCPStartCommand
|
|
39
|
+
Command used by supervisor to start MCP child process. When omitted, installer
|
|
40
|
+
uses published npm package command `npx -y sensorium-mcp@latest`.
|
|
38
41
|
.EXAMPLE
|
|
39
42
|
.\Install-Sensorium.ps1
|
|
40
43
|
.\Install-Sensorium.ps1 -ServiceUser ".\sensorium-svc"
|
|
41
44
|
.\Install-Sensorium.ps1 -Foreground
|
|
42
45
|
.\Install-Sensorium.ps1 -SecureVaultProfile "SENSORIUM" -WatcherMode production
|
|
46
|
+
.\Install-Sensorium.ps1 -MCPStartCommand "node C:\src\remote-copilot-mcp\dist\index.js"
|
|
43
47
|
#>
|
|
44
48
|
param(
|
|
45
49
|
[switch]$Update,
|
|
@@ -48,7 +52,8 @@ param(
|
|
|
48
52
|
[switch]$Foreground,
|
|
49
53
|
[string]$SecureVaultProfile = "SENSORIUM",
|
|
50
54
|
[ValidateSet("production", "development")]
|
|
51
|
-
[string]$WatcherMode = "production"
|
|
55
|
+
[string]$WatcherMode = "production",
|
|
56
|
+
[string]$MCPStartCommand = ""
|
|
52
57
|
)
|
|
53
58
|
|
|
54
59
|
$ErrorActionPreference = "Stop"
|
|
@@ -66,6 +71,14 @@ $BinDir = Join-Path $DataDir "bin"
|
|
|
66
71
|
$Binary = Join-Path $BinDir $InstalledBinaryName
|
|
67
72
|
$StartupDir = [Environment]::GetFolderPath("Startup")
|
|
68
73
|
$StartupLauncher = Join-Path $StartupDir "SensoriumSupervisor.cmd"
|
|
74
|
+
function Resolve-MCPStartCommand {
|
|
75
|
+
if (-not [string]::IsNullOrWhiteSpace($MCPStartCommand)) {
|
|
76
|
+
return $MCPStartCommand.Trim()
|
|
77
|
+
}
|
|
78
|
+
return "npx -y sensorium-mcp@latest"
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
$EffectiveMCPStartCommand = Resolve-MCPStartCommand
|
|
69
82
|
|
|
70
83
|
# ── Helpers ──────────────────────────────────────────────────────────────────
|
|
71
84
|
function Test-IsAdmin {
|
|
@@ -148,16 +161,19 @@ function Get-BinaryAsset {
|
|
|
148
161
|
Copy-Item $Destination $backupPath -Force
|
|
149
162
|
}
|
|
150
163
|
Move-Item $tmpFile $Destination -Force
|
|
164
|
+
Unblock-File -Path $Destination -ErrorAction SilentlyContinue
|
|
151
165
|
Write-Host "Binary placed at: $Destination" -ForegroundColor Green
|
|
152
166
|
}
|
|
153
167
|
|
|
154
168
|
function Install-StartupLauncher {
|
|
155
169
|
$safeProfile = $SecureVaultProfile.Replace('"', '')
|
|
156
170
|
$safeMode = $WatcherMode.Replace('"', '')
|
|
171
|
+
$safeMcpStart = $EffectiveMCPStartCommand.Replace('"', '""')
|
|
157
172
|
$launcherContent = @(
|
|
158
173
|
"@echo off",
|
|
159
174
|
"set `"SUPERVISOR_SECUREVAULT_PROFILE=$safeProfile`"",
|
|
160
175
|
"set `"WATCHER_MODE=$safeMode`"",
|
|
176
|
+
"set `"MCP_START_COMMAND=$safeMcpStart`"",
|
|
161
177
|
"start `"`" /min `"$Binary`""
|
|
162
178
|
) -join [Environment]::NewLine
|
|
163
179
|
|
|
@@ -224,6 +240,7 @@ function Start-AsBackground {
|
|
|
224
240
|
Write-Host "Starting sensorium-supervisor as a background process..."
|
|
225
241
|
$env:SUPERVISOR_SECUREVAULT_PROFILE = $SecureVaultProfile
|
|
226
242
|
$env:WATCHER_MODE = $WatcherMode
|
|
243
|
+
$env:MCP_START_COMMAND = $EffectiveMCPStartCommand
|
|
227
244
|
$logOut = Join-Path $DataDir "supervisor.log"
|
|
228
245
|
$logErr = Join-Path $DataDir "supervisor-error.log"
|
|
229
246
|
try {
|
|
@@ -246,6 +263,7 @@ function Start-AsBackground {
|
|
|
246
263
|
function Start-InForeground {
|
|
247
264
|
$env:SUPERVISOR_SECUREVAULT_PROFILE = $SecureVaultProfile
|
|
248
265
|
$env:WATCHER_MODE = $WatcherMode
|
|
266
|
+
$env:MCP_START_COMMAND = $EffectiveMCPStartCommand
|
|
249
267
|
Write-Host "Starting sensorium-supervisor in foreground (live logs)..." -ForegroundColor Cyan
|
|
250
268
|
Write-Host "Press Ctrl+C to stop." -ForegroundColor Yellow
|
|
251
269
|
& $Binary
|
|
@@ -279,8 +297,9 @@ function Show-Status {
|
|
|
279
297
|
# ── Main ─────────────────────────────────────────────────────────────────────
|
|
280
298
|
$isAdmin = Test-IsAdmin
|
|
281
299
|
$alreadyExists = Test-Path $Binary
|
|
282
|
-
$isUpdate = $Update
|
|
300
|
+
$isUpdate = $Update
|
|
283
301
|
$useService = $isAdmin -and -not [string]::IsNullOrWhiteSpace($ServiceUser)
|
|
302
|
+
$needsDownload = $Update -or -not $alreadyExists
|
|
284
303
|
|
|
285
304
|
Write-Host ""
|
|
286
305
|
if ($isUpdate) {
|
|
@@ -292,11 +311,12 @@ Write-Host "Admin mode : $isAdmin"
|
|
|
292
311
|
Write-Host "Install mode: $(if ($useService) { 'service' } else { 'startup' })"
|
|
293
312
|
Write-Host "SecureVault profile: $(if ([string]::IsNullOrWhiteSpace($SecureVaultProfile)) { '<disabled>' } else { $SecureVaultProfile })"
|
|
294
313
|
Write-Host "Watcher mode: $WatcherMode"
|
|
314
|
+
Write-Host "MCP start command: $EffectiveMCPStartCommand"
|
|
295
315
|
Write-Host "Binary : $Binary"
|
|
296
316
|
Write-Host ""
|
|
297
317
|
|
|
298
|
-
# Step 1 — stop existing instance
|
|
299
|
-
if ($
|
|
318
|
+
# Step 1 — stop existing instance (always restart to apply latest config/runtime mode)
|
|
319
|
+
if ($alreadyExists) {
|
|
300
320
|
if ($useService) {
|
|
301
321
|
Stop-SupervisorService
|
|
302
322
|
} else {
|
|
@@ -307,8 +327,12 @@ if ($isUpdate) {
|
|
|
307
327
|
# Step 2 — ensure bin dir exists
|
|
308
328
|
New-Item -ItemType Directory -Path $BinDir -Force | Out-Null
|
|
309
329
|
|
|
310
|
-
# Step 3 — download binary
|
|
311
|
-
|
|
330
|
+
# Step 3 — download binary when missing or explicitly requested
|
|
331
|
+
if ($needsDownload) {
|
|
332
|
+
Get-BinaryAsset -Destination $Binary
|
|
333
|
+
} else {
|
|
334
|
+
Write-Host "Using existing binary: $Binary" -ForegroundColor Cyan
|
|
335
|
+
}
|
|
312
336
|
|
|
313
337
|
# Step 4 — register / start
|
|
314
338
|
if ($useService) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-session-tool.d.ts","sourceRoot":"","sources":["../../src/tools/start-session-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAQjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"start-session-tool.d.ts","sourceRoot":"","sources":["../../src/tools/start-session-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAQjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAOtF,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC;QACzB,oGAAoG;QACpG,uBAAuB,EAAE,OAAO,CAAC;QACjC,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,0BAA0B,EAAE,MAAM,CAAC;QACnC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,qBAAqB,EAAE,MAAM,CAAC;QAC9B,uBAAuB,EAAE,MAAM,CAAC;QAChC,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IAEF,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,eAAe,EAAE,sBAAsB,CAAC;IACxC,YAAY,EAAE,CACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,OAAO,KACpB,MAAM,CAAC;IAEZ,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC3C,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AASD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,UAAU,CAAC,CAyVrB"}
|
|
@@ -17,6 +17,7 @@ import { errorMessage, errorResult } from "../utils.js";
|
|
|
17
17
|
import { readThreadMessages } from "../dispatcher.js";
|
|
18
18
|
import { getThread, getThreadByName } from "../data/memory/thread-registry.js";
|
|
19
19
|
import { createManagedTopic, probeOrRemapTopic } from "../services/topic.service.js";
|
|
20
|
+
import { checkMaintenanceFlag } from "../data/file-storage.js";
|
|
20
21
|
/** Consolidation fires at session start when unconsolidated episodes exceed this. */
|
|
21
22
|
const STARTUP_CONSOLIDATION_THRESHOLD = 20;
|
|
22
23
|
// ---------------------------------------------------------------------------
|
|
@@ -86,26 +87,15 @@ export async function handleStartSession(args, ctx) {
|
|
|
86
87
|
resolvedPreexisting = true;
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
|
-
// Lightweight reconnect:
|
|
90
|
-
// (
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
// from the previous process's heartbeat.
|
|
95
|
-
const RECONNECT_WINDOW_MS = 5 * 60 * 1000;
|
|
90
|
+
// Lightweight reconnect: only activated when a server update is in progress
|
|
91
|
+
// (maintenance.flag exists). Purpose: avoid interrupting threads that are
|
|
92
|
+
// deep in a work session by skipping the heavy bootstrap. In all other
|
|
93
|
+
// cases (context compaction, manual restart, server restart) the thread
|
|
94
|
+
// receives a full memory briefing.
|
|
96
95
|
let isReconnect = false;
|
|
97
|
-
if (resolvedPreexisting &&
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (threadEntry?.lastActiveAt) {
|
|
101
|
-
const lastActive = new Date(threadEntry.lastActiveAt).getTime();
|
|
102
|
-
isReconnect = (Date.now() - lastActive) < RECONNECT_WINDOW_MS;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
catch { /* fall through to full bootstrap */ }
|
|
106
|
-
}
|
|
107
|
-
if (isReconnect) {
|
|
108
|
-
log.info(`[start_session] Lightweight reconnect for thread ${session.currentThreadId} — skipping briefing.`);
|
|
96
|
+
if (resolvedPreexisting && checkMaintenanceFlag() !== null) {
|
|
97
|
+
isReconnect = true;
|
|
98
|
+
log.info(`[start_session] Lightweight reconnect for thread ${session.currentThreadId} — update in progress, skipping briefing.`);
|
|
109
99
|
}
|
|
110
100
|
if (resolvedPreexisting) {
|
|
111
101
|
// Topic health check: verify the Telegram topic still exists.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-session-tool.js","sourceRoot":"","sources":["../../src/tools/start-session-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAkB,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAwCrF,qFAAqF;AACrF,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAE3C,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA6B,EAC7B,GAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IAE1G,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAClE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAClB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEjD,yEAAyE;IACzE,qEAAqE;IACrE,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,uEAAuE;IACvE,0DAA0D;IAC1D,IACE,OAAO,CAAC,uBAAuB;QAC/B,gBAAgB,KAAK,SAAS;QAC9B,gBAAgB,KAAK,OAAO,CAAC,eAAe,EAC5C,CAAC;QACD,GAAG,CAAC,IAAI,CACN,0BAA0B,gBAAgB,6DAA6D,CACxG,CAAC;QACF,sEAAsE;QACtE,oEAAoE;QACpE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7H,MAAM,YAAY,GAChB,sGAAsG,gBAAgB,mCAAmC,CAAC;QAC5J,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,oCAAoC,gBAAgB,+BAA+B;wBACvF,2DAA2D;wBAC3D,SAAS;wBACT,YAAY;iBACf;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEtC,gEAAgE;IAChE,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAClD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,yGAAyG;iBAChH;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,yCAAyC;IACzC,oEAAoE;IACpE,mCAAmC;IACnC,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,uBAAuB,GAAG,KAAK,CAAC;IAEpC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,eAAe,GAAG,gBAAgB,CAAC;QAC3C,mBAAmB,GAAG,IAAI,CAAC;IAC7B,CAAC;SAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,eAAe,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;YAClD,mBAAmB,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,uEAAuE;IACvE,4EAA4E;IAC5E,yCAAyC;IACzC,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,mBAAmB,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACpG,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YACtE,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;gBAChE,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,mBAAmB,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CACN,oDAAoD,OAAO,CAAC,eAAe,uBAAuB,CACnG,CAAC;IACJ,CAAC;IAED,IAAI,mBAAmB,EAAE,CAAC;QACxB,8DAA8D;QAC9D,uEAAuE;QACvE,sCAAsC;QACtC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC;oBACtB,QAAQ;oBACR,MAAM,EAAE,gBAAgB;oBACxB,eAAe,EAAE,OAAO,CAAC,eAAgB;oBACzC,SAAS,EAAE,UAAU;wBACnB,aAAa,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE;4BAC9C,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;4BAC/C,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;yBAClD,CAAC,EAAE;oBACN,EAAE,EAAE,WAAW,EAAE;oBACjB,eAAe;oBACf,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;oBACvC,SAAS,EAAE,uDAAuD;iBACnE,CAAC,CAAC;gBACH,uBAAuB,GAAG,IAAI,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACjC,GAAG,CAAC,IAAI,CACN,2CAA2C,OAAO,CAAC,eAAe,YAAY,gBAAgB,KAAK,MAAM,EAAE,CAC5G,CAAC;gBACF,MAAM,YAAY,GAAG,qDAAqD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxF,IAAI,YAAY,EAAE,CAAC;oBACjB,GAAG,CAAC,IAAI,CACN,iCAAiC,OAAO,CAAC,eAAe,aAAa,MAAM,iFAAiF,CAC7J,CAAC;gBACJ,CAAC;gBACD,+DAA+D;YACjE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,+DAA+D;YAC/D,uDAAuD;YACvD,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CACN,2BAA2B,KAAK,CAAC,MAAM,iCAAiC,OAAO,CAAC,eAAe,GAAG,CACnG,CAAC;gBACF,0DAA0D;gBAC1D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,eAAe,CAC5B,kBAAkB,KAAK,CAAC,MAAM,gEAAgE;wBAC9F,2EAA2E,CAC5E,CAAC;oBACF,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBAC9F,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,wBAAwB;IAC5B,CAAC;IAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,+CAA+C;QAC/C,MAAM,SAAS,GAAG,UAAU;YAC1B,aAAa,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE;gBAC9C,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;gBAC/C,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;aAClD,CAAC,EAAE,CAAC;QACP,IAAI,CAAC;YACH,OAAO,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAC1F,0DAA0D;YAC1D,IAAI,CAAC;gBACH,eAAe,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;oBAC5C,QAAQ,EAAE,OAAO,CAAC,eAAe;oBACjC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,SAAS,IAAI,QAAQ;oBAC7B,MAAM,EAAE,gBAAgB;oBACxB,eAAe,EAAE,OAAO,CAAC,eAAe;iBACzC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,uCAAuC,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uEAAuE;YACvE,gEAAgE;YAChE,OAAO,WAAW,CAChB,wCAAwC,YAAY,CAAC,GAAG,CAAC,IAAI;gBAC7D,oGAAoG,CACrG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,eAAe,CAC9B,+BAA+B;gBAC/B,gDAAgD;gBAChD,oDAAoD;gBACpD,2CAA2C,CAC5C,CAAC;YACF,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9F,uBAAuB,GAAG,IAAI,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,aAAa;QACf,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,uDAAuD;IACvD,IAAI,CAAC,uBAAuB,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,WAAW,CACxB,gBAAgB,EAChB,wBAAwB,EACxB,SAAS,EACT,OAAO,CAAC,eAAe,CACxB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,KAAK,SAAS;QACtD,CAAC,CAAC,eAAe,OAAO,CAAC,eAAe,uEAAuE;QAC/G,CAAC,CAAC,EAAE,CAAC;IAEP,wBAAwB;IACxB,4EAA4E;IAC5E,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC1C,cAAc,GAAG,MAAM,GAAG,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnG,cAAc,GAAG,kCAAkC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,+CAA+C;IAC/C,sEAAsE;IACtE,2CAA2C;IAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB,2DAA2D,CAC5D,CAAC,GAAG,EAAmB,CAAC;gBACzB,IAAI,MAAM,CAAC,CAAC,GAAG,+BAA+B,EAAE,CAAC;oBAC/C,GAAG,CAAC,IAAI,CAAC,oDAAoD,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;oBACpH,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACzC,KAAK,0BAA0B,CAAC,EAAE,CAAC;yBAChC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACf,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;4BACjC,GAAG,CAAC,IAAI,CACN,mCAAmC,MAAM,CAAC,iBAAiB,oBAAoB,MAAM,CAAC,YAAY,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,WAAW,CAC9I,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACb,GAAG,CAAC,KAAK,CACP,yCAAyC,YAAY,CAAC,GAAG,CAAC,EAAE,CAC7D,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,4DAA4D,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,CAAC,0CAA0C;IAE5C,0EAA0E;IAC1E,oCAAoC;IACpC,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,0BAA0B,MAAM,oCAAoC,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YAC9B,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,6DAA6D;IAC7D,yDAAyD;IACzD,0EAA0E;IAC1E,uDAAuD;IACvD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpF,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,WAAW,CAAC;oBACV,EAAE,EAAE,cAAc,EAAE;oBACpB,QAAQ,EAAE,OAAO,CAAC,eAAe;oBACjC,MAAM,EAAE,SAAS,EAAE,+CAA+C;oBAClE,KAAK,EAAE,gBAAgB;oBACvB,gBAAgB,EAAE,GAAG,EAAE,UAAU;oBACjC,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,iEAAiE,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB;QACpC,CAAC,CAAC,2GAA2G;QAC7G,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IACzC,8EAA8E;IAC9E,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC;QACxC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC,yEAAyE;QACzE,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE;oBACjC,QAAQ;oBACR,IAAI,EAAE,UAAU,IAAI,UAAU,QAAQ,EAAE;oBACxC,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,gBAAgB;iBACzB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,SAAS;oBACnE,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7G,0EAA0E;IAC1E,6EAA6E;IAC7E,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAEvC,MAAM,YAAY,GAChB,sGAAsG,QAAQ,mCAAmC,CAAC;IAEpJ,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW;oBACf,CAAC,CAAC,iCAAiC,QAAQ,6CAA6C;wBACtF,2DAA2D;wBAC3D,SAAS;wBACT,YAAY;oBACd,CAAC,CAAC,WAAW,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,UAAU,EAAE;wBACtE,4DAA4D,UAAU,EAAE;wBACxE,cAAc;wBACd,SAAS;wBACT,YAAY;aACjB;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"start-session-tool.js","sourceRoot":"","sources":["../../src/tools/start-session-tool.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/supervisor/health.go
CHANGED
|
@@ -103,39 +103,7 @@ func (m *MCPClient) GetRootThreads(ctx context.Context) ([]map[string]any, error
|
|
|
103
103
|
|
|
104
104
|
// GetKeepAliveThreads fetches all threads with keepAlive=true (excluding worker threads).
|
|
105
105
|
func (m *MCPClient) GetKeepAliveThreads(ctx context.Context) ([]map[string]any, error) {
|
|
106
|
-
|
|
107
|
-
if err == nil {
|
|
108
|
-
return threads, nil
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// Backward compatibility: older MCP builds may not expose /api/threads/keepalive.
|
|
112
|
-
if strings.Contains(err.Error(), "GET /api/threads/keepalive: 404") {
|
|
113
|
-
if m.Log != nil {
|
|
114
|
-
m.Log.Warn("/api/threads/keepalive unavailable (404); falling back to /api/threads with client-side filtering")
|
|
115
|
-
}
|
|
116
|
-
allThreads, err2 := m.fetchThreadList(ctx, "/api/threads")
|
|
117
|
-
if err2 != nil {
|
|
118
|
-
return nil, err2
|
|
119
|
-
}
|
|
120
|
-
return filterKeepAliveThreads(allThreads), nil
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return nil, err
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
func filterKeepAliveThreads(threads []map[string]any) []map[string]any {
|
|
127
|
-
result := make([]map[string]any, 0, len(threads))
|
|
128
|
-
for _, t := range threads {
|
|
129
|
-
keepAlive, _ := t["keepAlive"].(bool)
|
|
130
|
-
if !keepAlive {
|
|
131
|
-
continue
|
|
132
|
-
}
|
|
133
|
-
if typ, _ := t["type"].(string); typ == "worker" {
|
|
134
|
-
continue
|
|
135
|
-
}
|
|
136
|
-
result = append(result, t)
|
|
137
|
-
}
|
|
138
|
-
return result
|
|
106
|
+
return m.fetchThreadList(ctx, "/api/threads/keepalive")
|
|
139
107
|
}
|
|
140
108
|
|
|
141
109
|
// fetchThreadList is a shared helper for thread-list endpoints.
|
|
@@ -91,32 +91,3 @@ func TestIsThreadRunning_False(t *testing.T) {
|
|
|
91
91
|
t.Error("expected thread to not be running")
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
func TestGetKeepAliveThreads_FallbackToThreadsEndpoint(t *testing.T) {
|
|
96
|
-
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
97
|
-
w.Header().Set("Content-Type", "application/json")
|
|
98
|
-
switch r.URL.Path {
|
|
99
|
-
case "/api/threads/keepalive":
|
|
100
|
-
w.WriteHeader(http.StatusNotFound)
|
|
101
|
-
w.Write([]byte(`{"error":"not found"}`))
|
|
102
|
-
case "/api/threads":
|
|
103
|
-
w.WriteHeader(http.StatusOK)
|
|
104
|
-
w.Write([]byte(`{"threads":[{"threadId":1,"name":"root","type":"root","keepAlive":true},{"threadId":2,"name":"worker","type":"worker","keepAlive":true},{"threadId":3,"name":"off","type":"root","keepAlive":false}]}`))
|
|
105
|
-
default:
|
|
106
|
-
w.WriteHeader(http.StatusNotFound)
|
|
107
|
-
}
|
|
108
|
-
}))
|
|
109
|
-
defer srv.Close()
|
|
110
|
-
|
|
111
|
-
mcp := &MCPClient{BaseURL: srv.URL, Client: srv.Client()}
|
|
112
|
-
threads, err := mcp.GetKeepAliveThreads(context.Background())
|
|
113
|
-
if err != nil {
|
|
114
|
-
t.Fatalf("unexpected error: %v", err)
|
|
115
|
-
}
|
|
116
|
-
if len(threads) != 1 {
|
|
117
|
-
t.Fatalf("got %d threads, want 1", len(threads))
|
|
118
|
-
}
|
|
119
|
-
if got, _ := threads[0]["threadId"].(float64); int(got) != 1 {
|
|
120
|
-
t.Fatalf("unexpected thread returned: %v", threads[0])
|
|
121
|
-
}
|
|
122
|
-
}
|
package/supervisor/main.go
CHANGED
|
@@ -395,10 +395,6 @@ func fetchKeeperSettings(ctx context.Context, mcp *MCPClient, log *Logger) ([]Ke
|
|
|
395
395
|
continue
|
|
396
396
|
}
|
|
397
397
|
|
|
398
|
-
if typ, _ := r["type"].(string); typ == "worker" {
|
|
399
|
-
continue
|
|
400
|
-
}
|
|
401
|
-
|
|
402
398
|
// Skip non-active roots (archived, expired, exited)
|
|
403
399
|
if status, _ := r["status"].(string); status != "" && status != "active" {
|
|
404
400
|
continue
|
package/supervisor/updater.go
CHANGED
|
@@ -7,6 +7,7 @@ import (
|
|
|
7
7
|
"io"
|
|
8
8
|
"net/http"
|
|
9
9
|
"os"
|
|
10
|
+
"os/exec"
|
|
10
11
|
"path/filepath"
|
|
11
12
|
"runtime"
|
|
12
13
|
"strings"
|
|
@@ -450,7 +451,7 @@ func (u *Updater) checkSupervisorUpdate(ctx context.Context) {
|
|
|
450
451
|
return
|
|
451
452
|
}
|
|
452
453
|
|
|
453
|
-
if err :=
|
|
454
|
+
if err := requestSupervisorRestart(u.log); err != nil {
|
|
454
455
|
markFailed(err)
|
|
455
456
|
u.log.Error("Failed to signal supervisor for restart: %v", err)
|
|
456
457
|
notifyUpdaterOperator(u.cfg, u.log, "🔴 Supervisor: update downloaded but restart signal failed.", 0)
|
|
@@ -525,6 +526,35 @@ func signalSelf(sig os.Signal) error {
|
|
|
525
526
|
return proc.Signal(sig)
|
|
526
527
|
}
|
|
527
528
|
|
|
529
|
+
func requestSupervisorRestart(log *Logger) error {
|
|
530
|
+
if runtime.GOOS != "windows" {
|
|
531
|
+
return signalSelf(syscall.SIGTERM)
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
exePath, err := os.Executable()
|
|
535
|
+
if err != nil {
|
|
536
|
+
return fmt.Errorf("resolve executable path: %w", err)
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
cmd := exec.Command(exePath)
|
|
540
|
+
cmd.Env = os.Environ()
|
|
541
|
+
setSysProcAttr(cmd)
|
|
542
|
+
if err := cmd.Start(); err != nil {
|
|
543
|
+
return fmt.Errorf("start replacement supervisor: %w", err)
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
if log != nil {
|
|
547
|
+
log.Info("Spawned replacement supervisor process PID %d", cmd.Process.Pid)
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
go func() {
|
|
551
|
+
time.Sleep(250 * time.Millisecond)
|
|
552
|
+
os.Exit(0)
|
|
553
|
+
}()
|
|
554
|
+
|
|
555
|
+
return nil
|
|
556
|
+
}
|
|
557
|
+
|
|
528
558
|
func (u *Updater) killServer() {
|
|
529
559
|
u.log.Info("Updater: stopping current MCP server for update")
|
|
530
560
|
pid, err := ReadPIDFile(u.cfg.Paths.ServerPID)
|