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.
@@ -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 -or $alreadyExists
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 ($isUpdate) {
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
- Get-BinaryAsset -Destination $Binary
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;AAMtF,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,CAmWrB"}
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: if the thread is pre-existing, was recently active
90
- // (within 5 minutes), AND we've already completed a full bootstrap in this
91
- // process (sessionFullyInitialized), this is a context reset skip the
92
- // heavy bootstrap. The sessionFullyInitialized guard ensures a server
93
- // restart always delivers the full briefing even when lastActiveAt is fresh
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 && session.currentThreadId !== undefined && session.sessionFullyInitialized) {
98
- try {
99
- const threadEntry = getThread(getMemoryDb(), session.currentThreadId);
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sensorium-mcp",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "MCP server for remote control of AI assistants via Telegram",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -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
- threads, err := m.fetchThreadList(ctx, "/api/threads/keepalive")
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
- }
@@ -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
@@ -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 := signalSelf(syscall.SIGTERM); err != nil {
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)