sensorium-mcp 2.17.28 → 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.
Files changed (207) hide show
  1. package/Install-Sensorium.ps1 +351 -0
  2. package/README.md +14 -0
  3. package/dist/config.d.ts +16 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +39 -2
  6. package/dist/config.js.map +1 -1
  7. package/dist/daily-session.d.ts +2 -1
  8. package/dist/daily-session.d.ts.map +1 -1
  9. package/dist/daily-session.js +23 -26
  10. package/dist/daily-session.js.map +1 -1
  11. package/dist/dashboard/routes/settings.d.ts +4 -0
  12. package/dist/dashboard/routes/settings.d.ts.map +1 -1
  13. package/dist/dashboard/routes/settings.js +57 -1
  14. package/dist/dashboard/routes/settings.js.map +1 -1
  15. package/dist/dashboard/routes/threads.d.ts +1 -0
  16. package/dist/dashboard/routes/threads.d.ts.map +1 -1
  17. package/dist/dashboard/routes/threads.js +23 -25
  18. package/dist/dashboard/routes/threads.js.map +1 -1
  19. package/dist/dashboard/routes.d.ts.map +1 -1
  20. package/dist/dashboard/routes.js +7 -2
  21. package/dist/dashboard/routes.js.map +1 -1
  22. package/dist/dashboard/spa.html +11 -11
  23. package/dist/data/interfaces.d.ts +36 -0
  24. package/dist/data/interfaces.d.ts.map +1 -0
  25. package/dist/data/interfaces.js +2 -0
  26. package/dist/data/interfaces.js.map +1 -0
  27. package/dist/data/memory/bootstrap.d.ts +36 -16
  28. package/dist/data/memory/bootstrap.d.ts.map +1 -1
  29. package/dist/data/memory/bootstrap.js +71 -217
  30. package/dist/data/memory/bootstrap.js.map +1 -1
  31. package/dist/data/memory/consolidation.d.ts +35 -34
  32. package/dist/data/memory/consolidation.d.ts.map +1 -1
  33. package/dist/data/memory/consolidation.js +43 -554
  34. package/dist/data/memory/consolidation.js.map +1 -1
  35. package/dist/data/memory/migration-runner.d.ts +5 -0
  36. package/dist/data/memory/migration-runner.d.ts.map +1 -0
  37. package/dist/data/memory/migration-runner.js +403 -0
  38. package/dist/data/memory/migration-runner.js.map +1 -0
  39. package/dist/data/memory/reflection.js +1 -1
  40. package/dist/data/memory/schema-ddl.d.ts +4 -0
  41. package/dist/data/memory/schema-ddl.d.ts.map +1 -0
  42. package/dist/data/memory/schema-ddl.js +194 -0
  43. package/dist/data/memory/schema-ddl.js.map +1 -0
  44. package/dist/data/memory/schema-guard.d.ts +3 -0
  45. package/dist/data/memory/schema-guard.d.ts.map +1 -0
  46. package/dist/data/memory/schema-guard.js +184 -0
  47. package/dist/data/memory/schema-guard.js.map +1 -0
  48. package/dist/data/memory/schema.d.ts +2 -5
  49. package/dist/data/memory/schema.d.ts.map +1 -1
  50. package/dist/data/memory/schema.js +6 -834
  51. package/dist/data/memory/schema.js.map +1 -1
  52. package/dist/data/memory/synthesis.js +2 -2
  53. package/dist/data/memory/synthesis.js.map +1 -1
  54. package/dist/data/memory/thread-registry.d.ts +18 -4
  55. package/dist/data/memory/thread-registry.d.ts.map +1 -1
  56. package/dist/data/memory/thread-registry.js +25 -0
  57. package/dist/data/memory/thread-registry.js.map +1 -1
  58. package/dist/data/sent-message.repository.d.ts +12 -0
  59. package/dist/data/sent-message.repository.d.ts.map +1 -0
  60. package/dist/data/sent-message.repository.js +31 -0
  61. package/dist/data/sent-message.repository.js.map +1 -0
  62. package/dist/http-server.d.ts.map +1 -1
  63. package/dist/http-server.js +23 -2
  64. package/dist/http-server.js.map +1 -1
  65. package/dist/index.js +27 -48
  66. package/dist/index.js.map +1 -1
  67. package/dist/logger.d.ts +7 -2
  68. package/dist/logger.d.ts.map +1 -1
  69. package/dist/logger.js +89 -12
  70. package/dist/logger.js.map +1 -1
  71. package/dist/scheduler.d.ts +8 -0
  72. package/dist/scheduler.d.ts.map +1 -1
  73. package/dist/scheduler.js +15 -0
  74. package/dist/scheduler.js.map +1 -1
  75. package/dist/server/factory.d.ts +2 -1
  76. package/dist/server/factory.d.ts.map +1 -1
  77. package/dist/server/factory.js +11 -4
  78. package/dist/server/factory.js.map +1 -1
  79. package/dist/services/agent-spawn.service.d.ts +39 -0
  80. package/dist/services/agent-spawn.service.d.ts.map +1 -0
  81. package/dist/services/agent-spawn.service.js +348 -0
  82. package/dist/services/agent-spawn.service.js.map +1 -0
  83. package/dist/services/background-runner.d.ts +26 -0
  84. package/dist/services/background-runner.d.ts.map +1 -0
  85. package/dist/services/background-runner.js +71 -0
  86. package/dist/services/background-runner.js.map +1 -0
  87. package/dist/services/consolidation.service.d.ts +16 -0
  88. package/dist/services/consolidation.service.d.ts.map +1 -0
  89. package/dist/services/consolidation.service.js +508 -0
  90. package/dist/services/consolidation.service.js.map +1 -0
  91. package/dist/services/dispatcher/broker.d.ts +2 -0
  92. package/dist/services/dispatcher/broker.d.ts.map +1 -1
  93. package/dist/services/dispatcher/broker.js +5 -10
  94. package/dist/services/dispatcher/broker.js.map +1 -1
  95. package/dist/services/dispatcher/index.d.ts +1 -1
  96. package/dist/services/dispatcher/index.d.ts.map +1 -1
  97. package/dist/services/dispatcher/index.js +1 -1
  98. package/dist/services/dispatcher/index.js.map +1 -1
  99. package/dist/services/dispatcher/lock.d.ts.map +1 -1
  100. package/dist/services/dispatcher/lock.js +7 -11
  101. package/dist/services/dispatcher/lock.js.map +1 -1
  102. package/dist/services/maintenance-signal.d.ts +18 -0
  103. package/dist/services/maintenance-signal.d.ts.map +1 -0
  104. package/dist/services/maintenance-signal.js +48 -0
  105. package/dist/services/maintenance-signal.js.map +1 -0
  106. package/dist/services/memory-briefing.service.d.ts +4 -0
  107. package/dist/services/memory-briefing.service.d.ts.map +1 -0
  108. package/dist/services/memory-briefing.service.js +143 -0
  109. package/dist/services/memory-briefing.service.js.map +1 -0
  110. package/dist/services/process.service.d.ts +31 -0
  111. package/dist/services/process.service.d.ts.map +1 -0
  112. package/dist/services/process.service.js +100 -0
  113. package/dist/services/process.service.js.map +1 -0
  114. package/dist/services/thread-health.service.d.ts +18 -0
  115. package/dist/services/thread-health.service.d.ts.map +1 -0
  116. package/dist/services/thread-health.service.js +118 -0
  117. package/dist/services/thread-health.service.js.map +1 -0
  118. package/dist/services/thread-lifecycle.service.d.ts +52 -0
  119. package/dist/services/thread-lifecycle.service.d.ts.map +1 -0
  120. package/dist/services/thread-lifecycle.service.js +174 -0
  121. package/dist/services/thread-lifecycle.service.js.map +1 -0
  122. package/dist/services/topic.service.d.ts +25 -0
  123. package/dist/services/topic.service.d.ts.map +1 -0
  124. package/dist/services/topic.service.js +65 -0
  125. package/dist/services/topic.service.js.map +1 -0
  126. package/dist/services/worker-cleanup.service.d.ts +8 -0
  127. package/dist/services/worker-cleanup.service.d.ts.map +1 -0
  128. package/dist/services/worker-cleanup.service.js +82 -0
  129. package/dist/services/worker-cleanup.service.js.map +1 -0
  130. package/dist/sessions.d.ts +14 -0
  131. package/dist/sessions.d.ts.map +1 -1
  132. package/dist/sessions.js +55 -0
  133. package/dist/sessions.js.map +1 -1
  134. package/dist/telegram.d.ts +13 -6
  135. package/dist/telegram.d.ts.map +1 -1
  136. package/dist/telegram.js +43 -14
  137. package/dist/telegram.js.map +1 -1
  138. package/dist/tools/delegate-tool.d.ts +4 -0
  139. package/dist/tools/delegate-tool.d.ts.map +1 -1
  140. package/dist/tools/delegate-tool.js +48 -109
  141. package/dist/tools/delegate-tool.js.map +1 -1
  142. package/dist/tools/memory-tools.d.ts.map +1 -1
  143. package/dist/tools/memory-tools.js +1 -1
  144. package/dist/tools/memory-tools.js.map +1 -1
  145. package/dist/tools/shared-agent-utils.d.ts +9 -1
  146. package/dist/tools/shared-agent-utils.d.ts.map +1 -1
  147. package/dist/tools/shared-agent-utils.js +21 -38
  148. package/dist/tools/shared-agent-utils.js.map +1 -1
  149. package/dist/tools/start-session-tool.d.ts +2 -0
  150. package/dist/tools/start-session-tool.d.ts.map +1 -1
  151. package/dist/tools/start-session-tool.js +68 -118
  152. package/dist/tools/start-session-tool.js.map +1 -1
  153. package/dist/tools/thread-lifecycle.d.ts +5 -127
  154. package/dist/tools/thread-lifecycle.d.ts.map +1 -1
  155. package/dist/tools/thread-lifecycle.js +5 -1167
  156. package/dist/tools/thread-lifecycle.js.map +1 -1
  157. package/dist/tools/utility-tools.js +5 -2
  158. package/dist/tools/utility-tools.js.map +1 -1
  159. package/dist/tools/wait/drive-handler.d.ts +0 -1
  160. package/dist/tools/wait/drive-handler.d.ts.map +1 -1
  161. package/dist/tools/wait/drive-handler.js +5 -22
  162. package/dist/tools/wait/drive-handler.js.map +1 -1
  163. package/dist/tools/wait/message-delivery.js +1 -1
  164. package/dist/tools/wait/message-delivery.js.map +1 -1
  165. package/dist/tools/wait/message-processing.d.ts.map +1 -1
  166. package/dist/tools/wait/message-processing.js +9 -8
  167. package/dist/tools/wait/message-processing.js.map +1 -1
  168. package/dist/tools/wait/poll-loop.d.ts +2 -0
  169. package/dist/tools/wait/poll-loop.d.ts.map +1 -1
  170. package/dist/tools/wait/poll-loop.js +27 -29
  171. package/dist/tools/wait/poll-loop.js.map +1 -1
  172. package/dist/tools/wait/task-handler.d.ts +0 -3
  173. package/dist/tools/wait/task-handler.d.ts.map +1 -1
  174. package/dist/tools/wait/task-handler.js +3 -2
  175. package/dist/tools/wait/task-handler.js.map +1 -1
  176. package/dist/types.d.ts +0 -1
  177. package/dist/types.d.ts.map +1 -1
  178. package/package.json +4 -8
  179. package/supervisor/config.go +182 -69
  180. package/supervisor/config_test.go +78 -0
  181. package/supervisor/go.mod +12 -0
  182. package/supervisor/go.sum +20 -0
  183. package/supervisor/health.go +24 -6
  184. package/supervisor/keeper.go +15 -10
  185. package/supervisor/log.go +109 -28
  186. package/supervisor/log_test.go +86 -6
  187. package/supervisor/main.go +146 -19
  188. package/supervisor/main_test.go +130 -0
  189. package/supervisor/process.go +47 -4
  190. package/supervisor/process_test.go +14 -0
  191. package/supervisor/secrets.go +95 -0
  192. package/supervisor/secrets_securevault_test.go +98 -0
  193. package/supervisor/secrets_test.go +119 -0
  194. package/supervisor/self_update.go +282 -0
  195. package/supervisor/self_update_test.go +177 -0
  196. package/supervisor/service_restart_stub.go +9 -0
  197. package/supervisor/service_restart_windows.go +63 -0
  198. package/supervisor/service_stub.go +15 -0
  199. package/supervisor/service_windows.go +216 -0
  200. package/supervisor/update_state.go +264 -0
  201. package/supervisor/update_state_test.go +306 -0
  202. package/supervisor/updater.go +341 -10
  203. package/supervisor/updater_test.go +64 -0
  204. package/scripts/install-supervisor.ps1 +0 -67
  205. package/scripts/install-supervisor.sh +0 -43
  206. package/scripts/start-supervisor.ps1 +0 -46
  207. package/scripts/start-supervisor.sh +0 -20
@@ -0,0 +1,351 @@
1
+ #!/usr/bin/env pwsh
2
+ <#
3
+ .SYNOPSIS
4
+ Install or update sensorium-supervisor from GitHub Releases.
5
+ .DESCRIPTION
6
+ Downloads the latest sensorium-supervisor release binary from GitHub Releases
7
+ (tag: supervisor-latest, repo: andriyshevchenko/sensorium-mcp) and places
8
+ it in ~/.remote-copilot-mcp/bin/ as sensorium-supervisor.exe.
9
+
10
+ Default behavior installs user-context autorun via shell:startup and starts
11
+ the supervisor as a background process immediately.
12
+
13
+ If -ServiceUser is provided while running as Administrator, the script instead
14
+ registers and manages a Windows Service named 'SensoriumSupervisor'.
15
+
16
+ Re-running this script performs an update: stops the existing service/process,
17
+ replaces the binary, then restarts.
18
+
19
+ RECOMMENDED: Use -ServiceUser to run the service under a dedicated low-privilege
20
+ account instead of LocalSystem. The account must have the "Log on as a service"
21
+ right (secpol.msc -> Local Policies -> User Rights Assignment).
22
+ .PARAMETER Update
23
+ Explicitly force update mode even if the binary doesn't exist yet.
24
+ .PARAMETER ServiceUser
25
+ Windows account to run the service as (e.g. ".\sensorium-svc" or "DOMAIN\user").
26
+ When omitted, the installer uses shell:startup autorun in the current user context.
27
+ .PARAMETER ServicePassword
28
+ SecureString password for the service account. Prompted securely if -ServiceUser
29
+ is set but -ServicePassword is omitted.
30
+ .PARAMETER Foreground
31
+ In startup mode (non-service), run supervisor in the current console with live
32
+ logs instead of background hidden mode.
33
+ .PARAMETER SecureVaultProfile
34
+ SecureVault profile name to resolve runtime secrets from. Set empty string to
35
+ disable SecureVault profile resolution.
36
+ .PARAMETER WatcherMode
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`.
41
+ .EXAMPLE
42
+ .\Install-Sensorium.ps1
43
+ .\Install-Sensorium.ps1 -ServiceUser ".\sensorium-svc"
44
+ .\Install-Sensorium.ps1 -Foreground
45
+ .\Install-Sensorium.ps1 -SecureVaultProfile "SENSORIUM" -WatcherMode production
46
+ .\Install-Sensorium.ps1 -MCPStartCommand "node C:\src\remote-copilot-mcp\dist\index.js"
47
+ #>
48
+ param(
49
+ [switch]$Update,
50
+ [string]$ServiceUser = "",
51
+ [System.Security.SecureString]$ServicePassword,
52
+ [switch]$Foreground,
53
+ [string]$SecureVaultProfile = "SENSORIUM",
54
+ [ValidateSet("production", "development")]
55
+ [string]$WatcherMode = "production",
56
+ [string]$MCPStartCommand = ""
57
+ )
58
+
59
+ $ErrorActionPreference = "Stop"
60
+
61
+ # ── Constants ────────────────────────────────────────────────────────────────
62
+ $GithubRepo = "andriyshevchenko/sensorium-mcp"
63
+ $ReleaseTag = "supervisor-latest"
64
+ $AssetName = "sensorium-supervisor-windows-amd64.exe"
65
+ $InstalledBinaryName = "sensorium-supervisor.exe"
66
+ $ServiceName = "SensoriumSupervisor"
67
+ $ServiceDesc = "Sensorium MCP Supervisor - manages the sensorium-mcp npx process"
68
+
69
+ $DataDir = Join-Path $env:USERPROFILE ".remote-copilot-mcp"
70
+ $BinDir = Join-Path $DataDir "bin"
71
+ $Binary = Join-Path $BinDir $InstalledBinaryName
72
+ $StartupDir = [Environment]::GetFolderPath("Startup")
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
82
+
83
+ # ── Helpers ──────────────────────────────────────────────────────────────────
84
+ function Test-IsAdmin {
85
+ $identity = [Security.Principal.WindowsIdentity]::GetCurrent()
86
+ $principal = New-Object Security.Principal.WindowsPrincipal($identity)
87
+ return $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
88
+ }
89
+
90
+ function Get-ServiceState {
91
+ $svc = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
92
+ if ($svc) { return $svc.Status } else { return $null }
93
+ }
94
+
95
+ function Stop-SupervisorService {
96
+ $state = Get-ServiceState
97
+ if ($state -eq "Running") {
98
+ Write-Host "Stopping Windows Service '$ServiceName'..."
99
+ Stop-Service -Name $ServiceName -Force
100
+ $deadline = (Get-Date).AddSeconds(15)
101
+ while ((Get-ServiceState) -eq "Running" -and (Get-Date) -lt $deadline) {
102
+ Start-Sleep -Milliseconds 500
103
+ }
104
+ if ((Get-ServiceState) -eq "Running") {
105
+ throw "Service '$ServiceName' did not stop within 15 seconds."
106
+ }
107
+ Write-Host "Service stopped." -ForegroundColor Yellow
108
+ }
109
+ }
110
+
111
+ function Stop-SupervisorProcess {
112
+ $procs = Get-Process -Name "sensorium-supervisor" -ErrorAction SilentlyContinue
113
+ if ($procs) {
114
+ Write-Host "Stopping background sensorium-supervisor process(es)..."
115
+ $procs | Stop-Process -Force
116
+ Write-Host "Process(es) stopped." -ForegroundColor Yellow
117
+ }
118
+ }
119
+
120
+ function Convert-SecureStringToPlainText {
121
+ param([System.Security.SecureString]$Value)
122
+
123
+ if (-not $Value) { return "" }
124
+ $bstr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($Value)
125
+ try { return [Runtime.InteropServices.Marshal]::PtrToStringBSTR($bstr) }
126
+ finally { [Runtime.InteropServices.Marshal]::ZeroFreeBSTR($bstr) }
127
+ }
128
+
129
+ function Get-BinaryAsset {
130
+ param([string]$Destination)
131
+
132
+ $apiUrl = "https://api.github.com/repos/$GithubRepo/releases/tags/$ReleaseTag"
133
+ Write-Host "Fetching release info from GitHub..."
134
+
135
+ $headers = @{ "User-Agent" = "Install-Sensorium.ps1" }
136
+ try {
137
+ $release = Invoke-RestMethod -Uri $apiUrl -Headers $headers -ErrorAction Stop
138
+ } catch {
139
+ throw "Failed to fetch GitHub release info: $_"
140
+ }
141
+
142
+ $asset = $release.assets | Where-Object { $_.name -eq $AssetName } | Select-Object -First 1
143
+ if (-not $asset) {
144
+ throw "Asset '$AssetName' not found in release '$ReleaseTag'. Available assets: $(($release.assets | Select-Object -ExpandProperty name) -join ', ')"
145
+ }
146
+
147
+ $downloadUrl = $asset.browser_download_url
148
+ Write-Host "Downloading $AssetName from $downloadUrl ..."
149
+
150
+ $tmpFile = "$Destination.tmp"
151
+ try {
152
+ Invoke-WebRequest -Uri $downloadUrl -OutFile $tmpFile -UseBasicParsing -ErrorAction Stop
153
+ } catch {
154
+ if (Test-Path $tmpFile) { Remove-Item $tmpFile -Force }
155
+ throw "Download failed: $_"
156
+ }
157
+
158
+ # Atomic replace
159
+ if (Test-Path $Destination) {
160
+ $backupPath = "$Destination.bak"
161
+ Copy-Item $Destination $backupPath -Force
162
+ }
163
+ Move-Item $tmpFile $Destination -Force
164
+ Unblock-File -Path $Destination -ErrorAction SilentlyContinue
165
+ Write-Host "Binary placed at: $Destination" -ForegroundColor Green
166
+ }
167
+
168
+ function Install-StartupLauncher {
169
+ $safeProfile = $SecureVaultProfile.Replace('"', '')
170
+ $safeMode = $WatcherMode.Replace('"', '')
171
+ $safeMcpStart = $EffectiveMCPStartCommand.Replace('"', '""')
172
+ $launcherContent = @(
173
+ "@echo off",
174
+ "set `"SUPERVISOR_SECUREVAULT_PROFILE=$safeProfile`"",
175
+ "set `"WATCHER_MODE=$safeMode`"",
176
+ "set `"MCP_START_COMMAND=$safeMcpStart`"",
177
+ "start `"`" /min `"$Binary`""
178
+ ) -join [Environment]::NewLine
179
+
180
+ Set-Content -LiteralPath $StartupLauncher -Value $launcherContent -Encoding ASCII
181
+ Write-Host "Startup launcher installed: $StartupLauncher" -ForegroundColor Green
182
+ }
183
+
184
+ function Remove-StartupLauncher {
185
+ if (Test-Path -LiteralPath $StartupLauncher) {
186
+ Remove-Item -LiteralPath $StartupLauncher -Force
187
+ Write-Host "Startup launcher removed: $StartupLauncher" -ForegroundColor Yellow
188
+ }
189
+ }
190
+
191
+ function Install-AsService {
192
+ # Resolve service identity
193
+ $resolvedUser = $ServiceUser
194
+ $resolvedPassword = Convert-SecureStringToPlainText $ServicePassword
195
+ if ($resolvedUser -ne "" -and [string]::IsNullOrWhiteSpace($resolvedPassword)) {
196
+ # NOTE: The resolved plain-text password is passed to sc.exe as a command-line
197
+ # argument. This is unavoidable with sc.exe and is standard Windows practice for
198
+ # service installation. Minimize exposure by using a dedicated service account
199
+ # with a strong password and restricting its access scopes.
200
+ $securePass = Read-Host "Password for service account '$resolvedUser'" -AsSecureString
201
+ $resolvedPassword = Convert-SecureStringToPlainText $securePass
202
+ }
203
+
204
+ $existing = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
205
+
206
+ if ($existing) {
207
+ Write-Host "Updating existing service '$ServiceName'..."
208
+ $result = sc.exe config $ServiceName binPath= "`"$Binary`""
209
+ if ($LASTEXITCODE -ne 0) { throw "sc.exe config failed (exit $LASTEXITCODE): $result" }
210
+ if ($resolvedUser -ne "") {
211
+ $result = sc.exe config $ServiceName obj= $resolvedUser password= $resolvedPassword
212
+ if ($LASTEXITCODE -ne 0) { throw "sc.exe config (user) failed (exit $LASTEXITCODE): $result" }
213
+ Write-Host "Service account updated to '$resolvedUser'." -ForegroundColor Cyan
214
+ } else {
215
+ $result = sc.exe config $ServiceName obj= LocalSystem
216
+ if ($LASTEXITCODE -ne 0) { throw "sc.exe config (LocalSystem) failed (exit $LASTEXITCODE): $result" }
217
+ Write-Host "Service account reset to LocalSystem (default)." -ForegroundColor Yellow
218
+ }
219
+ } else {
220
+ Write-Host "Registering Windows Service '$ServiceName'..."
221
+ if ($resolvedUser -ne "") {
222
+ $result = sc.exe create $ServiceName binPath= "`"$Binary`"" start= auto DisplayName= $ServiceName obj= $resolvedUser password= $resolvedPassword
223
+ } else {
224
+ $result = sc.exe create $ServiceName binPath= "`"$Binary`"" start= auto DisplayName= $ServiceName
225
+ }
226
+ if ($LASTEXITCODE -ne 0) { throw "sc.exe create failed (exit $LASTEXITCODE): $result" }
227
+ sc.exe description $ServiceName $ServiceDesc | Out-Null
228
+ if ($resolvedUser -ne "") {
229
+ Write-Host "Service will run as '$resolvedUser'." -ForegroundColor Cyan
230
+ } else {
231
+ Write-Host "Service will run as LocalSystem. Use -ServiceUser for a dedicated low-privilege account." -ForegroundColor Yellow
232
+ }
233
+ }
234
+
235
+ Write-Host "Starting service '$ServiceName'..."
236
+ Start-Service -Name $ServiceName -ErrorAction Stop
237
+ }
238
+
239
+ function Start-AsBackground {
240
+ Write-Host "Starting sensorium-supervisor as a background process..."
241
+ $env:SUPERVISOR_SECUREVAULT_PROFILE = $SecureVaultProfile
242
+ $env:WATCHER_MODE = $WatcherMode
243
+ $env:MCP_START_COMMAND = $EffectiveMCPStartCommand
244
+ $logOut = Join-Path $DataDir "supervisor.log"
245
+ $logErr = Join-Path $DataDir "supervisor-error.log"
246
+ try {
247
+ Start-Process -FilePath $Binary `
248
+ -RedirectStandardOutput $logOut `
249
+ -RedirectStandardError $logErr `
250
+ -WindowStyle Hidden `
251
+ -PassThru | Out-Null
252
+ } catch {
253
+ Write-Host "[ERROR] Failed to start supervisor in background: $($_.Exception.Message)" -ForegroundColor Red
254
+ Write-Host "[HINT] If Windows Defender blocked the binary, run:" -ForegroundColor Yellow
255
+ Write-Host " Unblock-File -Path \"$Binary\"" -ForegroundColor Yellow
256
+ Write-Host "[HINT] Then run foreground mode for live logs:" -ForegroundColor Yellow
257
+ Write-Host " .\Install-Sensorium.ps1 -Foreground" -ForegroundColor Yellow
258
+ throw
259
+ }
260
+ Start-Sleep -Seconds 2
261
+ }
262
+
263
+ function Start-InForeground {
264
+ $env:SUPERVISOR_SECUREVAULT_PROFILE = $SecureVaultProfile
265
+ $env:WATCHER_MODE = $WatcherMode
266
+ $env:MCP_START_COMMAND = $EffectiveMCPStartCommand
267
+ Write-Host "Starting sensorium-supervisor in foreground (live logs)..." -ForegroundColor Cyan
268
+ Write-Host "Press Ctrl+C to stop." -ForegroundColor Yellow
269
+ & $Binary
270
+ exit $LASTEXITCODE
271
+ }
272
+
273
+ function Show-Status {
274
+ param([bool]$IsServiceMode)
275
+ if ($IsServiceMode) {
276
+ $state = Get-ServiceState
277
+ if ($state -eq "Running") {
278
+ Write-Host "`n[OK] Service '$ServiceName' is RUNNING." -ForegroundColor Green
279
+ } else {
280
+ Write-Host "`n[WARN] Service '$ServiceName' state: $state" -ForegroundColor Yellow
281
+ }
282
+ } else {
283
+ $procs = Get-Process -Name "sensorium-supervisor" -ErrorAction SilentlyContinue
284
+ if (Test-Path -LiteralPath $StartupLauncher) {
285
+ Write-Host "[OK] Autorun launcher present: $StartupLauncher" -ForegroundColor Green
286
+ } else {
287
+ Write-Host "[WARN] Autorun launcher missing: $StartupLauncher" -ForegroundColor Yellow
288
+ }
289
+ if ($procs) {
290
+ Write-Host "`n[OK] sensorium-supervisor is RUNNING (PID: $(($procs | Select-Object -ExpandProperty Id) -join ', '))." -ForegroundColor Green
291
+ } else {
292
+ Write-Host "`n[WARN] sensorium-supervisor process not found after install." -ForegroundColor Yellow
293
+ }
294
+ }
295
+ }
296
+
297
+ # ── Main ─────────────────────────────────────────────────────────────────────
298
+ $isAdmin = Test-IsAdmin
299
+ $alreadyExists = Test-Path $Binary
300
+ $isUpdate = $Update
301
+ $useService = $isAdmin -and -not [string]::IsNullOrWhiteSpace($ServiceUser)
302
+ $needsDownload = $Update -or -not $alreadyExists
303
+
304
+ Write-Host ""
305
+ if ($isUpdate) {
306
+ Write-Host "=== Sensorium Supervisor UPDATE ===" -ForegroundColor Cyan
307
+ } else {
308
+ Write-Host "=== Sensorium Supervisor INSTALL ===" -ForegroundColor Cyan
309
+ }
310
+ Write-Host "Admin mode : $isAdmin"
311
+ Write-Host "Install mode: $(if ($useService) { 'service' } else { 'startup' })"
312
+ Write-Host "SecureVault profile: $(if ([string]::IsNullOrWhiteSpace($SecureVaultProfile)) { '<disabled>' } else { $SecureVaultProfile })"
313
+ Write-Host "Watcher mode: $WatcherMode"
314
+ Write-Host "MCP start command: $EffectiveMCPStartCommand"
315
+ Write-Host "Binary : $Binary"
316
+ Write-Host ""
317
+
318
+ # Step 1 — stop existing instance (always restart to apply latest config/runtime mode)
319
+ if ($alreadyExists) {
320
+ if ($useService) {
321
+ Stop-SupervisorService
322
+ } else {
323
+ Stop-SupervisorProcess
324
+ }
325
+ }
326
+
327
+ # Step 2 — ensure bin dir exists
328
+ New-Item -ItemType Directory -Path $BinDir -Force | Out-Null
329
+
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
+ }
336
+
337
+ # Step 4 — register / start
338
+ if ($useService) {
339
+ Remove-StartupLauncher
340
+ Install-AsService
341
+ } else {
342
+ Install-StartupLauncher
343
+ if ($Foreground) {
344
+ Start-InForeground
345
+ } else {
346
+ Start-AsBackground
347
+ }
348
+ }
349
+
350
+ # Step 5 — verify
351
+ Show-Status -IsServiceMode $useService
package/README.md CHANGED
@@ -199,6 +199,20 @@ Add it alongside `sensorium-mcp` in your agent's MCP config:
199
199
 
200
200
  If the watcher is not configured, the maintenance response falls back to a Desktop Commander sleep command.
201
201
 
202
+ ## Supervisor Install (Windows)
203
+
204
+ Use the distribution installer at the repository/package root:
205
+
206
+ ```powershell
207
+ powershell -ExecutionPolicy Bypass -File .\Install-Sensorium.ps1
208
+ ```
209
+
210
+ Default behavior installs the supervisor binary under `~/.remote-copilot-mcp/bin/`, adds a `shell:startup` launcher for the current user, and starts the supervisor immediately.
211
+
212
+ If you explicitly pass `-ServiceUser` while running as Administrator, the installer configures a Windows Service instead.
213
+
214
+ For local SecureVault setups, prefer the default user-context startup mode so profile-scoped secrets resolve under your user account.
215
+
202
216
  ## How It Works
203
217
 
204
218
  1. `start_session` creates a Telegram topic (or resumes one by name). Memory bootstrap auto-loads your context.
package/dist/config.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  * and exports validated values used throughout the codebase.
4
4
  */
5
5
  import type { AppConfig } from "./types.js";
6
+ import type { Database } from "./data/memory/schema.js";
6
7
  export declare const TEMPLATES_DIR: string;
7
8
  export type AgentType = "copilot" | "copilot_claude" | "copilot_codex" | "claude" | "cursor" | "codex" | "openai_codex";
8
9
  export declare const VALID_AGENT_TYPES: readonly string[];
@@ -23,6 +24,14 @@ export declare function getAllThreadAgentTypes(): Record<string, AgentType>;
23
24
  * Per-thread override takes precedence over the global default.
24
25
  */
25
26
  export declare function getEffectiveAgentType(threadId?: number): AgentType;
27
+ type DbGetter = () => Database;
28
+ /** Wire up the memory DB accessor so per-thread autonomous-mode lookups work. */
29
+ export declare function setThreadDb(getter: DbGetter): void;
30
+ /**
31
+ * Returns the effective autonomous mode for a given thread.
32
+ * Per-thread DB value takes precedence over the global AUTONOMOUS_MODE env var.
33
+ */
34
+ export declare function getEffectiveAutonomousMode(threadId: number | undefined): boolean;
26
35
  /** Returns the dashboard-configured Claude MCP config path, or null if unset. */
27
36
  export declare function getClaudeMcpConfigPath(): string | null;
28
37
  /** Persists the Claude MCP config path override. */
@@ -32,6 +41,10 @@ export declare function getBootstrapMessageCount(): number;
32
41
  export declare function setBootstrapMessageCount(count: number): void;
33
42
  export declare function getWaitTimeoutMinutes(): number;
34
43
  export declare function setWaitTimeoutMinutes(minutes: number): void;
44
+ export declare function getDefaultThreadModel(): string;
45
+ export declare function getDefaultWorkerModel(): string;
46
+ export declare function updateDefaultThreadModel(model: string): void;
47
+ export declare function updateDefaultWorkerModel(model: string): void;
35
48
  /** Whether guardrail (Active Decisions) notes are injected into memory briefings. */
36
49
  export declare function getGuardrailsEnabled(): boolean;
37
50
  export declare function setGuardrailsEnabled(enabled: boolean): void;
@@ -44,8 +57,9 @@ export declare function setKeepAliveMaxRetries(retries: number): void;
44
57
  export declare function getKeepAliveCooldownMs(): number;
45
58
  export declare function setKeepAliveCooldownMs(ms: number): void;
46
59
  export type KeeperClient = "claude" | "copilot";
60
+ export declare function isValidKeeperClient(v: unknown): v is KeeperClient;
47
61
  export declare function getKeepAliveClient(): KeeperClient;
48
- export declare function setKeepAliveClient(client: string): void;
62
+ export declare function setKeepAliveClient(client: KeeperClient): void;
49
63
  export interface ThreadKeepAliveSettings {
50
64
  enabled: boolean;
51
65
  client?: string;
@@ -70,4 +84,5 @@ export declare function getMemorySourceThreadId(): number | undefined;
70
84
  */
71
85
  export declare function resolveKnowledgeThreadId(sessionThreadId: number): number;
72
86
  export declare const config: AppConfig;
87
+ export {};
73
88
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAoCxD,eAAO,MAAM,aAAa,QAAsD,CAAC;AAKjF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,gBAAgB,GAAG,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,CAAC;AAExH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAI9C,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,SAAS,CAE3D;AAyBD,wBAAgB,YAAY,IAAI,SAAS,CAGxC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAElD;AAcD,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAM/E;AAID,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnD,2EAA2E;AAC3E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAO5E;AAED,+CAA+C;AAC/C,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAMxF;AAED,mDAAmD;AACnD,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAUlE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAMlE;AAID,KAAK,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAG/B,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAElD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQhF;AAID,iFAAiF;AACjF,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAItD;AAED,oDAAoD;AACpD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEzD;AAOD,sFAAsF;AACtF,wBAAgB,wBAAwB,IAAI,MAAM,CAIjD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI5D;AAID,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI3D;AAOD,wBAAgB,qBAAqB,IAAI,MAAM,CAG9C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAG9C;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5D;AAID,qFAAqF;AACrF,wBAAgB,oBAAoB,IAAI,OAAO,CAI9C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE3D;AAOD,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE1D;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAI/C;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAI/C;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEvD;AAID,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAEjE;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAGjD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAE7D;AAID,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,sDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAM5F;AAED,8CAA8C;AAC9C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAM5D;AAED,mDAAmD;AACnD,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAgB/E;AAMD;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,SAAS,CAK5D;AAeD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAExE;AAID,eAAO,MAAM,MAAM,EAAE,SASpB,CAAC"}
package/dist/config.js CHANGED
@@ -8,6 +8,7 @@ import { homedir } from "node:os";
8
8
  import { join } from "node:path";
9
9
  import { log } from "./logger.js";
10
10
  import { FILES_DIR } from "./data/file-storage.js";
11
+ import { getThread } from "./data/memory/thread-registry.js";
11
12
  const esmRequire = createRequire(import.meta.url);
12
13
  const { version: PKG_VERSION } = esmRequire("../package.json");
13
14
  // ─── Environment variables ──────────────────────────────────────────────────
@@ -134,6 +135,26 @@ export function getEffectiveAgentType(threadId) {
134
135
  }
135
136
  return getAgentType();
136
137
  }
138
+ let _threadDbGetter = null;
139
+ /** Wire up the memory DB accessor so per-thread autonomous-mode lookups work. */
140
+ export function setThreadDb(getter) {
141
+ _threadDbGetter = getter;
142
+ }
143
+ /**
144
+ * Returns the effective autonomous mode for a given thread.
145
+ * Per-thread DB value takes precedence over the global AUTONOMOUS_MODE env var.
146
+ */
147
+ export function getEffectiveAutonomousMode(threadId) {
148
+ if (threadId !== undefined && _threadDbGetter) {
149
+ try {
150
+ const threadEntry = getThread(_threadDbGetter(), threadId);
151
+ if (threadEntry != null)
152
+ return threadEntry.autonomousMode;
153
+ }
154
+ catch { /* fallback */ }
155
+ }
156
+ return AUTONOMOUS_MODE;
157
+ }
137
158
  // ─── Claude MCP config path setting ─────────────────────────────────────────
138
159
  /** Returns the dashboard-configured Claude MCP config path, or null if unset. */
139
160
  export function getClaudeMcpConfigPath() {
@@ -175,6 +196,23 @@ export function setWaitTimeoutMinutes(minutes) {
175
196
  return;
176
197
  updateSettings(s => { s.waitTimeoutMinutes = clamped; });
177
198
  }
199
+ // ─── Default model settings ──────────────────────────────────────────────────
200
+ const DEFAULT_THREAD_MODEL = "claude-opus-4-6";
201
+ const DEFAULT_WORKER_MODEL = "claude-sonnet-4-6";
202
+ export function getDefaultThreadModel() {
203
+ const v = readSettings().defaultThreadModel;
204
+ return typeof v === "string" && v.length > 0 ? v : DEFAULT_THREAD_MODEL;
205
+ }
206
+ export function getDefaultWorkerModel() {
207
+ const v = readSettings().defaultWorkerModel;
208
+ return typeof v === "string" && v.length > 0 ? v : DEFAULT_WORKER_MODEL;
209
+ }
210
+ export function updateDefaultThreadModel(model) {
211
+ updateSettings(s => { s.defaultThreadModel = model; });
212
+ }
213
+ export function updateDefaultWorkerModel(model) {
214
+ updateSettings(s => { s.defaultWorkerModel = model; });
215
+ }
178
216
  // ─── Guardrails setting ─────────────────────────────────────────────────────
179
217
  /** Whether guardrail (Active Decisions) notes are injected into memory briefings. */
180
218
  export function getGuardrailsEnabled() {
@@ -225,7 +263,7 @@ export function getKeepAliveCooldownMs() {
225
263
  export function setKeepAliveCooldownMs(ms) {
226
264
  updateSettings(s => { s.keepAliveCooldownMs = ms; });
227
265
  }
228
- function isValidKeeperClient(v) {
266
+ export function isValidKeeperClient(v) {
229
267
  return v === "claude" || v === "copilot";
230
268
  }
231
269
  export function getKeepAliveClient() {
@@ -313,6 +351,5 @@ export const config = {
313
351
  DMN_ACTIVATION_HOURS,
314
352
  FILES_DIR,
315
353
  PKG_VERSION,
316
- AUTONOMOUS_MODE,
317
354
  };
318
355
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  * The `session_reset_at` column on thread_registry tracks the boundary.
9
9
  * Bootstrap uses it to filter the message buffer to today's messages only.
10
10
  */
11
+ import { initMemoryDb } from "./data/memory/schema.js";
11
12
  interface DailyRotationResult {
12
13
  rootThreadId: number;
13
14
  previousSessionResetAt: string | null;
@@ -21,7 +22,7 @@ interface DailyRotationResult {
21
22
  * 2. Run reflection + narrative generation (best-effort)
22
23
  * 3. Update session_reset_at on the thread_registry row
23
24
  */
24
- export declare function rotateDailySession(rootThreadId: number): Promise<DailyRotationResult>;
25
+ export declare function rotateDailySession(rootThreadId: number, db?: ReturnType<typeof initMemoryDb>): Promise<DailyRotationResult>;
25
26
  /**
26
27
  * Check and rotate all root threads that have keepAlive enabled.
27
28
  * Called from the watcher service on a schedule (e.g., 4 AM daily).
@@ -1 +1 @@
1
- {"version":3,"file":"daily-session.d.ts","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkBH,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgCD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAsD9B;AAOD;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA2D7E"}
1
+ {"version":3,"file":"daily-session.d.ts","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAQvD,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuBD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAyD9B;AAOD;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA4D7E"}