sensorium-mcp 2.17.27 → 3.0.0

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 (224) hide show
  1. package/Install-Sensorium.ps1 +327 -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 -27
  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 -555
  34. package/dist/data/memory/consolidation.js.map +1 -1
  35. package/dist/data/memory/index.d.ts +0 -1
  36. package/dist/data/memory/index.d.ts.map +1 -1
  37. package/dist/data/memory/index.js +0 -1
  38. package/dist/data/memory/index.js.map +1 -1
  39. package/dist/data/memory/migration-runner.d.ts +5 -0
  40. package/dist/data/memory/migration-runner.d.ts.map +1 -0
  41. package/dist/data/memory/migration-runner.js +403 -0
  42. package/dist/data/memory/migration-runner.js.map +1 -0
  43. package/dist/data/memory/reflection.js +1 -1
  44. package/dist/data/memory/schema-ddl.d.ts +4 -0
  45. package/dist/data/memory/schema-ddl.d.ts.map +1 -0
  46. package/dist/data/memory/schema-ddl.js +194 -0
  47. package/dist/data/memory/schema-ddl.js.map +1 -0
  48. package/dist/data/memory/schema-guard.d.ts +3 -0
  49. package/dist/data/memory/schema-guard.d.ts.map +1 -0
  50. package/dist/data/memory/schema-guard.js +184 -0
  51. package/dist/data/memory/schema-guard.js.map +1 -0
  52. package/dist/data/memory/schema.d.ts +2 -5
  53. package/dist/data/memory/schema.d.ts.map +1 -1
  54. package/dist/data/memory/schema.js +6 -834
  55. package/dist/data/memory/schema.js.map +1 -1
  56. package/dist/data/memory/semantic.d.ts +0 -1
  57. package/dist/data/memory/semantic.d.ts.map +1 -1
  58. package/dist/data/memory/semantic.js +2 -8
  59. package/dist/data/memory/semantic.js.map +1 -1
  60. package/dist/data/memory/synthesis.js +2 -2
  61. package/dist/data/memory/synthesis.js.map +1 -1
  62. package/dist/data/memory/thread-registry.d.ts +18 -4
  63. package/dist/data/memory/thread-registry.d.ts.map +1 -1
  64. package/dist/data/memory/thread-registry.js +25 -0
  65. package/dist/data/memory/thread-registry.js.map +1 -1
  66. package/dist/data/sent-message.repository.d.ts +12 -0
  67. package/dist/data/sent-message.repository.d.ts.map +1 -0
  68. package/dist/data/sent-message.repository.js +31 -0
  69. package/dist/data/sent-message.repository.js.map +1 -0
  70. package/dist/http-server.d.ts.map +1 -1
  71. package/dist/http-server.js +23 -2
  72. package/dist/http-server.js.map +1 -1
  73. package/dist/index.js +27 -48
  74. package/dist/index.js.map +1 -1
  75. package/dist/logger.d.ts +7 -2
  76. package/dist/logger.d.ts.map +1 -1
  77. package/dist/logger.js +89 -12
  78. package/dist/logger.js.map +1 -1
  79. package/dist/scheduler.d.ts +8 -0
  80. package/dist/scheduler.d.ts.map +1 -1
  81. package/dist/scheduler.js +15 -0
  82. package/dist/scheduler.js.map +1 -1
  83. package/dist/server/factory.d.ts +2 -1
  84. package/dist/server/factory.d.ts.map +1 -1
  85. package/dist/server/factory.js +11 -4
  86. package/dist/server/factory.js.map +1 -1
  87. package/dist/services/agent-spawn.service.d.ts +39 -0
  88. package/dist/services/agent-spawn.service.d.ts.map +1 -0
  89. package/dist/services/agent-spawn.service.js +348 -0
  90. package/dist/services/agent-spawn.service.js.map +1 -0
  91. package/dist/services/background-runner.d.ts +26 -0
  92. package/dist/services/background-runner.d.ts.map +1 -0
  93. package/dist/services/background-runner.js +71 -0
  94. package/dist/services/background-runner.js.map +1 -0
  95. package/dist/services/consolidation.service.d.ts +16 -0
  96. package/dist/services/consolidation.service.d.ts.map +1 -0
  97. package/dist/services/consolidation.service.js +508 -0
  98. package/dist/services/consolidation.service.js.map +1 -0
  99. package/dist/services/dispatcher/broker.d.ts +2 -0
  100. package/dist/services/dispatcher/broker.d.ts.map +1 -1
  101. package/dist/services/dispatcher/broker.js +5 -10
  102. package/dist/services/dispatcher/broker.js.map +1 -1
  103. package/dist/services/dispatcher/index.d.ts +1 -1
  104. package/dist/services/dispatcher/index.d.ts.map +1 -1
  105. package/dist/services/dispatcher/index.js +1 -1
  106. package/dist/services/dispatcher/index.js.map +1 -1
  107. package/dist/services/dispatcher/lock.d.ts.map +1 -1
  108. package/dist/services/dispatcher/lock.js +7 -11
  109. package/dist/services/dispatcher/lock.js.map +1 -1
  110. package/dist/services/maintenance-signal.d.ts +18 -0
  111. package/dist/services/maintenance-signal.d.ts.map +1 -0
  112. package/dist/services/maintenance-signal.js +48 -0
  113. package/dist/services/maintenance-signal.js.map +1 -0
  114. package/dist/services/memory-briefing.service.d.ts +4 -0
  115. package/dist/services/memory-briefing.service.d.ts.map +1 -0
  116. package/dist/services/memory-briefing.service.js +143 -0
  117. package/dist/services/memory-briefing.service.js.map +1 -0
  118. package/dist/services/process.service.d.ts +31 -0
  119. package/dist/services/process.service.d.ts.map +1 -0
  120. package/dist/services/process.service.js +100 -0
  121. package/dist/services/process.service.js.map +1 -0
  122. package/dist/services/thread-health.service.d.ts +18 -0
  123. package/dist/services/thread-health.service.d.ts.map +1 -0
  124. package/dist/services/thread-health.service.js +118 -0
  125. package/dist/services/thread-health.service.js.map +1 -0
  126. package/dist/services/thread-lifecycle.service.d.ts +52 -0
  127. package/dist/services/thread-lifecycle.service.d.ts.map +1 -0
  128. package/dist/services/thread-lifecycle.service.js +174 -0
  129. package/dist/services/thread-lifecycle.service.js.map +1 -0
  130. package/dist/services/topic.service.d.ts +25 -0
  131. package/dist/services/topic.service.d.ts.map +1 -0
  132. package/dist/services/topic.service.js +65 -0
  133. package/dist/services/topic.service.js.map +1 -0
  134. package/dist/services/worker-cleanup.service.d.ts +8 -0
  135. package/dist/services/worker-cleanup.service.d.ts.map +1 -0
  136. package/dist/services/worker-cleanup.service.js +82 -0
  137. package/dist/services/worker-cleanup.service.js.map +1 -0
  138. package/dist/sessions.d.ts +14 -0
  139. package/dist/sessions.d.ts.map +1 -1
  140. package/dist/sessions.js +55 -0
  141. package/dist/sessions.js.map +1 -1
  142. package/dist/telegram.d.ts +13 -6
  143. package/dist/telegram.d.ts.map +1 -1
  144. package/dist/telegram.js +43 -14
  145. package/dist/telegram.js.map +1 -1
  146. package/dist/tools/defs/memory-defs.d.ts.map +1 -1
  147. package/dist/tools/defs/memory-defs.js +0 -19
  148. package/dist/tools/defs/memory-defs.js.map +1 -1
  149. package/dist/tools/delegate-tool.d.ts +4 -0
  150. package/dist/tools/delegate-tool.d.ts.map +1 -1
  151. package/dist/tools/delegate-tool.js +48 -109
  152. package/dist/tools/delegate-tool.js.map +1 -1
  153. package/dist/tools/memory-tools.d.ts.map +1 -1
  154. package/dist/tools/memory-tools.js +1 -16
  155. package/dist/tools/memory-tools.js.map +1 -1
  156. package/dist/tools/shared-agent-utils.d.ts +9 -1
  157. package/dist/tools/shared-agent-utils.d.ts.map +1 -1
  158. package/dist/tools/shared-agent-utils.js +24 -42
  159. package/dist/tools/shared-agent-utils.js.map +1 -1
  160. package/dist/tools/start-session-tool.d.ts +2 -0
  161. package/dist/tools/start-session-tool.d.ts.map +1 -1
  162. package/dist/tools/start-session-tool.js +66 -106
  163. package/dist/tools/start-session-tool.js.map +1 -1
  164. package/dist/tools/thread-lifecycle.d.ts +5 -127
  165. package/dist/tools/thread-lifecycle.d.ts.map +1 -1
  166. package/dist/tools/thread-lifecycle.js +5 -1163
  167. package/dist/tools/thread-lifecycle.js.map +1 -1
  168. package/dist/tools/utility-tools.js +5 -2
  169. package/dist/tools/utility-tools.js.map +1 -1
  170. package/dist/tools/wait/drive-handler.d.ts +0 -1
  171. package/dist/tools/wait/drive-handler.d.ts.map +1 -1
  172. package/dist/tools/wait/drive-handler.js +5 -22
  173. package/dist/tools/wait/drive-handler.js.map +1 -1
  174. package/dist/tools/wait/message-delivery.js +1 -1
  175. package/dist/tools/wait/message-delivery.js.map +1 -1
  176. package/dist/tools/wait/message-processing.d.ts.map +1 -1
  177. package/dist/tools/wait/message-processing.js +9 -8
  178. package/dist/tools/wait/message-processing.js.map +1 -1
  179. package/dist/tools/wait/poll-loop.d.ts +2 -0
  180. package/dist/tools/wait/poll-loop.d.ts.map +1 -1
  181. package/dist/tools/wait/poll-loop.js +27 -29
  182. package/dist/tools/wait/poll-loop.js.map +1 -1
  183. package/dist/tools/wait/task-handler.d.ts +0 -3
  184. package/dist/tools/wait/task-handler.d.ts.map +1 -1
  185. package/dist/tools/wait/task-handler.js +3 -2
  186. package/dist/tools/wait/task-handler.js.map +1 -1
  187. package/dist/types.d.ts +0 -1
  188. package/dist/types.d.ts.map +1 -1
  189. package/package.json +4 -8
  190. package/supervisor/config.go +182 -69
  191. package/supervisor/config_test.go +78 -0
  192. package/supervisor/go.mod +12 -0
  193. package/supervisor/go.sum +20 -0
  194. package/supervisor/health.go +60 -11
  195. package/supervisor/health_test.go +29 -0
  196. package/supervisor/keeper.go +15 -10
  197. package/supervisor/log.go +109 -28
  198. package/supervisor/log_test.go +86 -6
  199. package/supervisor/main.go +150 -19
  200. package/supervisor/main_test.go +130 -0
  201. package/supervisor/process.go +47 -4
  202. package/supervisor/process_test.go +14 -0
  203. package/supervisor/secrets.go +95 -0
  204. package/supervisor/secrets_securevault_test.go +98 -0
  205. package/supervisor/secrets_test.go +119 -0
  206. package/supervisor/self_update.go +282 -0
  207. package/supervisor/self_update_test.go +177 -0
  208. package/supervisor/service_restart_stub.go +9 -0
  209. package/supervisor/service_restart_windows.go +63 -0
  210. package/supervisor/service_stub.go +15 -0
  211. package/supervisor/service_windows.go +216 -0
  212. package/supervisor/update_state.go +264 -0
  213. package/supervisor/update_state_test.go +306 -0
  214. package/supervisor/updater.go +311 -10
  215. package/supervisor/updater_test.go +64 -0
  216. package/dist/data/memory/quality-scoring.d.ts +0 -32
  217. package/dist/data/memory/quality-scoring.d.ts.map +0 -1
  218. package/dist/data/memory/quality-scoring.js +0 -182
  219. package/dist/data/memory/quality-scoring.js.map +0 -1
  220. package/scripts/install-supervisor.ps1 +0 -67
  221. package/scripts/install-supervisor.sh +0 -43
  222. package/scripts/start-supervisor.ps1 +0 -46
  223. package/scripts/start-supervisor.sh +0 -20
  224. package/templates/coding-task.default.md +0 -12
package/dist/index.js CHANGED
@@ -28,31 +28,33 @@ if (process.argv.includes("--supervisor")) {
28
28
  if (e.status != null)
29
29
  process.exit(e.status);
30
30
  console.error(`Failed to start supervisor: ${e.message}`);
31
- console.error("Run 'npm run supervisor:install' first, or install Go and run scripts/install-supervisor.ps1");
31
+ console.error("Run 'npm run supervisor:install' first, or run Install-Sensorium.ps1 from the distribution root");
32
32
  process.exit(1);
33
33
  }
34
34
  }
35
35
  else {
36
36
  // Normal server startup ─────────────────────────────────────────────────────
37
- const { config } = await import("./config.js");
38
- const { startDispatcher, setBrokerDb } = await import("./dispatcher.js");
37
+ const { config, setThreadDb } = await import("./config.js");
38
+ const { startDispatcher, setBrokerDb, setBrokerSentMessageRepository } = await import("./dispatcher.js");
39
39
  const { initMemoryDb } = await import("./memory.js");
40
+ const { SqliteSentMessageRepository } = await import("./data/sent-message.repository.js");
40
41
  const { TelegramClient } = await import("./telegram.js");
41
42
  const { startHttpServer } = await import("./http-server.js");
42
43
  const { startStdioServer } = await import("./stdio-server.js");
43
44
  const { buildMcpServerFactory } = await import("./server/factory.js");
44
- const { setTopicRegistryDb, lookupTopicRegistry } = await import("./sessions.js");
45
+ const { setTopicRegistryDb, sessionRepository } = await import("./sessions.js");
45
46
  const { initVideoTempCleanup } = await import("./integrations/openai/video.js");
46
47
  const { cleanupStalePidFiles, spawnKeepAliveThreads } = await import("./tools/thread-lifecycle.js");
47
48
  const { log } = await import("./logger.js");
48
- const { errorMessage } = await import("./utils.js");
49
- const { rotateAllDailySessions } = await import("./daily-session.js");
50
- const { resolveTelegramTopicId } = await import("./data/memory/thread-registry.js");
49
+ const { resolveTelegramTopicId, threadRepository } = await import("./data/memory/thread-registry.js");
50
+ const { BackgroundJobRunner } = await import("./services/background-runner.js");
51
+ const { ThreadLifecycleService } = await import("./services/thread-lifecycle.service.js");
51
52
  // ---------------------------------------------------------------------------
52
53
  // Shared singletons
53
54
  // ---------------------------------------------------------------------------
54
55
  const { TELEGRAM_TOKEN, TELEGRAM_CHAT_ID } = config;
55
56
  const telegram = new TelegramClient(TELEGRAM_TOKEN);
57
+ const sentMessageRepository = new SqliteSentMessageRepository(getMemoryDb);
56
58
  await startDispatcher(telegram, TELEGRAM_CHAT_ID);
57
59
  // Memory database — initialized lazily on first use
58
60
  let memoryDb = null;
@@ -61,26 +63,24 @@ else {
61
63
  memoryDb = initMemoryDb();
62
64
  return memoryDb;
63
65
  }
64
- // Wire up lazy DB access for per-thread reaction routing
65
- telegram.setMessageDb(getMemoryDb);
66
+ // Wire up sent-message persistence for per-thread reaction routing
67
+ telegram.setSentMessageRepository(sentMessageRepository);
66
68
  setBrokerDb(getMemoryDb);
69
+ setBrokerSentMessageRepository(sentMessageRepository);
67
70
  // Wire up topic ID resolver for logical-to-physical thread mapping
68
71
  telegram.setTopicResolver((threadId) => resolveTelegramTopicId(getMemoryDb(), threadId));
69
72
  // Wire up lazy DB access for SQLite-backed topic registry
70
73
  setTopicRegistryDb(getMemoryDb);
71
- // Ensure SecureVault topic exists in the registry (resolved dynamically, not hardcoded).
72
- // If no entry exists yet, the operator should register it via the topic-registry tools.
73
- const secureVaultThreadId = lookupTopicRegistry(TELEGRAM_CHAT_ID, "SecureVault");
74
- if (secureVaultThreadId === undefined) {
75
- console.warn("[init] SecureVault topic not found in registry — register it via topic-registry tools or start_session.");
76
- }
74
+ // Wire up DB access for per-thread autonomous-mode resolution
75
+ setThreadDb(getMemoryDb);
76
+ const threadLifecycle = new ThreadLifecycleService(threadRepository, sessionRepository, telegram, log);
77
77
  // Initialize video temp-file cleanup handlers (registers process exit hooks).
78
78
  initVideoTempCleanup();
79
79
  // Kill orphan agent processes from the previous server instance and spawn
80
80
  // fresh processes for all keepAlive threads. This replaces the old PID-file
81
81
  // restoration approach — no more PID orphans or ghost duplicates.
82
82
  cleanupStalePidFiles();
83
- const keepAlive = spawnKeepAliveThreads();
83
+ const keepAlive = spawnKeepAliveThreads(threadLifecycle);
84
84
  if (keepAlive.spawned > 0)
85
85
  log.info(`[startup] Spawned ${keepAlive.spawned} keepAlive thread(s).`);
86
86
  if (keepAlive.errors.length > 0)
@@ -88,7 +88,7 @@ else {
88
88
  // ---------------------------------------------------------------------------
89
89
  // MCP Server factory (delegates to server/factory.ts)
90
90
  // ---------------------------------------------------------------------------
91
- const createMcpServer = buildMcpServerFactory(telegram, TELEGRAM_CHAT_ID, getMemoryDb);
91
+ const createMcpServer = buildMcpServerFactory(telegram, TELEGRAM_CHAT_ID, getMemoryDb, threadLifecycle);
92
92
  // ---------------------------------------------------------------------------
93
93
  // Start the server
94
94
  // ---------------------------------------------------------------------------
@@ -101,42 +101,21 @@ else {
101
101
  memoryDb = null;
102
102
  }
103
103
  }
104
- // ---------------------------------------------------------------------------
105
- // Daily session rotation timer (runs in the MCP server process which has
106
- // all env vars — OpenAI, Telegram, etc.)
107
- // ---------------------------------------------------------------------------
108
- const DAILY_ROTATION_HOUR = 4;
109
- function startDailyRotationTimer() {
110
- setInterval(async () => {
111
- const now = new Date();
112
- if (now.getHours() !== DAILY_ROTATION_HOUR || now.getMinutes() >= 5)
113
- return;
114
- try {
115
- log.info("Starting daily session rotation...");
116
- const results = await rotateAllDailySessions();
117
- for (const r of results) {
118
- if (r.error) {
119
- log.error(`Daily rotation failed for root ${r.rootThreadId}: ${r.error}`);
120
- }
121
- else {
122
- log.info(`Daily rotation complete for root ${r.rootThreadId}`);
123
- }
124
- }
125
- }
126
- catch (err) {
127
- log.error(`Daily rotation error: ${errorMessage(err)}`);
128
- }
129
- }, 5 * 60_000);
130
- }
131
- const httpPort = process.env.MCP_HTTP_PORT ? parseInt(process.env.MCP_HTTP_PORT, 10) : undefined;
132
- if (httpPort) {
104
+ if (process.env.MCP_HTTP_PORT) {
133
105
  startHttpServer(createMcpServer, getMemoryDb, closeMemoryDb);
134
106
  }
135
107
  else {
136
108
  await startStdioServer(createMcpServer, closeMemoryDb);
137
109
  }
138
- // Start daily rotation timer after server is listening
139
- startDailyRotationTimer();
110
+ const backgroundRunner = new BackgroundJobRunner({
111
+ getMemoryDb,
112
+ telegram,
113
+ chatId: TELEGRAM_CHAT_ID,
114
+ threadLifecycle,
115
+ log,
116
+ });
117
+ // Start background jobs after the server is listening.
118
+ backgroundRunner.start();
140
119
  }
141
120
  export {};
142
121
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/logger.d.ts CHANGED
@@ -4,8 +4,13 @@
4
4
  * Writes to BOTH ~/.remote-copilot-mcp/server.log AND process.stderr
5
5
  * so existing stdio transport behaviour is preserved.
6
6
  *
7
- * Log rotation: when the file exceeds 5 MB it is renamed to server.log.1
8
- * (overwriting any previous backup) and a fresh file is started.
7
+ * Log rotation:
8
+ * - Daily: on startup, if server.log is from a previous day it is renamed to
9
+ * server.YYYY-MM-DD.log (using the file's mtime). Only the 7 most-recent
10
+ * daily archives are kept; older ones are deleted automatically.
11
+ * - Size: when the active server.log exceeds 5 MB it is renamed to
12
+ * server.YYYY-MM-DD.log (using today's date, with a counter suffix if that
13
+ * name already exists) and the same 7-file retention limit is applied.
9
14
  */
10
15
  export declare const log: {
11
16
  debug(msg: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0EH,eAAO,MAAM,GAAG;eACH,MAAM,GAAG,IAAI;cAGd,MAAM,GAAG,IAAI;cAGb,MAAM,GAAG,IAAI;eAGZ,MAAM,GAAG,IAAI;IAGxB;;;;OAIG;sBACe,MAAM,OAAO,MAAM,GAAG,IAAI;CAG7C,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA2JH,eAAO,MAAM,GAAG;eACH,MAAM,GAAG,IAAI;cAGd,MAAM,GAAG,IAAI;cAGb,MAAM,GAAG,IAAI;eAGZ,MAAM,GAAG,IAAI;IAGxB;;;;OAIG;sBACe,MAAM,OAAO,MAAM,GAAG,IAAI;CAG7C,CAAC"}
package/dist/logger.js CHANGED
@@ -4,10 +4,15 @@
4
4
  * Writes to BOTH ~/.remote-copilot-mcp/server.log AND process.stderr
5
5
  * so existing stdio transport behaviour is preserved.
6
6
  *
7
- * Log rotation: when the file exceeds 5 MB it is renamed to server.log.1
8
- * (overwriting any previous backup) and a fresh file is started.
7
+ * Log rotation:
8
+ * - Daily: on startup, if server.log is from a previous day it is renamed to
9
+ * server.YYYY-MM-DD.log (using the file's mtime). Only the 7 most-recent
10
+ * daily archives are kept; older ones are deleted automatically.
11
+ * - Size: when the active server.log exceeds 5 MB it is renamed to
12
+ * server.YYYY-MM-DD.log (using today's date, with a counter suffix if that
13
+ * name already exists) and the same 7-file retention limit is applied.
9
14
  */
10
- import { appendFileSync, existsSync, mkdirSync, renameSync, statSync } from "node:fs";
15
+ import { appendFileSync, existsSync, mkdirSync, readdirSync, renameSync, statSync, unlinkSync, } from "node:fs";
11
16
  import { homedir } from "node:os";
12
17
  import { join } from "node:path";
13
18
  // ---------------------------------------------------------------------------
@@ -15,11 +20,73 @@ import { join } from "node:path";
15
20
  // ---------------------------------------------------------------------------
16
21
  const LOG_DIR = join(homedir(), ".remote-copilot-mcp");
17
22
  const LOG_FILE = join(LOG_DIR, "server.log");
18
- const LOG_FILE_BACKUP = join(LOG_DIR, "server.log.1");
19
23
  const MAX_LOG_SIZE = 5 * 1024 * 1024; // 5 MB
24
+ const MAX_DAILY_ARCHIVES = 7;
20
25
  // ---------------------------------------------------------------------------
21
26
  // Internals
22
27
  // ---------------------------------------------------------------------------
28
+ /** Format a Date as YYYY-MM-DD in local time. */
29
+ function dateStamp(d) {
30
+ const y = d.getFullYear();
31
+ const m = String(d.getMonth() + 1).padStart(2, "0");
32
+ const day = String(d.getDate()).padStart(2, "0");
33
+ return `${y}-${m}-${day}`;
34
+ }
35
+ /** Return today's date stamp in local time. */
36
+ function todayStamp() {
37
+ return dateStamp(new Date());
38
+ }
39
+ /**
40
+ * Derive an archive path for a daily log.
41
+ * If `server.YYYY-MM-DD.log` already exists a numeric suffix is appended
42
+ * (server.YYYY-MM-DD.1.log, .2.log, …) to avoid clobbering an existing file.
43
+ */
44
+ function archivePath(stamp) {
45
+ const base = join(LOG_DIR, `server.${stamp}.log`);
46
+ if (!existsSync(base))
47
+ return base;
48
+ for (let i = 1; i < 1000; i++) {
49
+ const candidate = join(LOG_DIR, `server.${stamp}.${i}.log`);
50
+ if (!existsSync(candidate))
51
+ return candidate;
52
+ }
53
+ // Fallback — extremely unlikely but avoids an infinite loop.
54
+ return base;
55
+ }
56
+ /**
57
+ * Delete all but the MAX_DAILY_ARCHIVES most-recent daily archive files
58
+ * (files matching server.YYYY-MM-DD*.log in LOG_DIR).
59
+ */
60
+ function pruneOldArchives() {
61
+ try {
62
+ const archives = readdirSync(LOG_DIR)
63
+ .filter(f => /^server\.\d{4}-\d{2}-\d{2}/.test(f) && f.endsWith(".log"))
64
+ .map(f => ({ name: f, mtime: statSync(join(LOG_DIR, f)).mtimeMs }))
65
+ .sort((a, b) => a.mtime - b.mtime); // oldest first
66
+ const toDelete = archives.slice(0, Math.max(0, archives.length - MAX_DAILY_ARCHIVES));
67
+ for (const f of toDelete) {
68
+ try {
69
+ unlinkSync(join(LOG_DIR, f.name));
70
+ }
71
+ catch { /* non-fatal */ }
72
+ }
73
+ }
74
+ catch { /* non-fatal */ }
75
+ }
76
+ /**
77
+ * Rotate server.log to a dated archive.
78
+ * Resets trackedFileSize to 0 on success.
79
+ */
80
+ function rotateTo(stamp) {
81
+ try {
82
+ renameSync(LOG_FILE, archivePath(stamp));
83
+ trackedFileSize = 0;
84
+ pruneOldArchives();
85
+ }
86
+ catch {
87
+ // Non-fatal — keep appending if rotation fails.
88
+ }
89
+ }
23
90
  /** Track current log file size in memory to avoid stat calls on every write. */
24
91
  let trackedFileSize = 0;
25
92
  let logDirEnsured = false;
@@ -27,23 +94,29 @@ function ensureLogDir() {
27
94
  if (logDirEnsured)
28
95
  return;
29
96
  mkdirSync(LOG_DIR, { recursive: true });
30
- // Seed trackedFileSize from disk if the file already exists.
31
97
  try {
32
98
  if (existsSync(LOG_FILE)) {
33
- trackedFileSize = statSync(LOG_FILE).size;
99
+ const st = statSync(LOG_FILE);
100
+ const fileDateStamp = dateStamp(new Date(st.mtimeMs));
101
+ if (fileDateStamp !== todayStamp()) {
102
+ // File is from a previous day — archive it before this session starts.
103
+ rotateTo(fileDateStamp);
104
+ }
105
+ else {
106
+ trackedFileSize = st.size;
107
+ }
34
108
  }
35
109
  }
36
110
  catch { /* non-fatal */ }
37
111
  logDirEnsured = true;
38
112
  }
39
- // Ensure log directory exists once at module init.
113
+ // Ensure log directory exists and perform startup daily rotation.
40
114
  ensureLogDir();
41
115
  /** Rotate log file if it exceeds MAX_LOG_SIZE. */
42
116
  function rotateIfNeeded() {
43
117
  try {
44
118
  if (trackedFileSize >= MAX_LOG_SIZE) {
45
- renameSync(LOG_FILE, LOG_FILE_BACKUP);
46
- trackedFileSize = 0;
119
+ rotateTo(todayStamp());
47
120
  }
48
121
  }
49
122
  catch {
@@ -55,9 +128,13 @@ function formatLine(level, message) {
55
128
  }
56
129
  function write(level, message) {
57
130
  const line = formatLine(level, message);
58
- // Always write to stderr (preserves existing stdio behaviour).
59
- process.stderr.write(line);
60
- // Write to log file.
131
+ // Gate DEBUG on stderr behind the DEBUG env var; all other levels always
132
+ // appear on stderr. All levels are always written to the log file so that
133
+ // post-mortem debugging has full context.
134
+ if (level !== "DEBUG" || process.env.DEBUG) {
135
+ process.stderr.write(line);
136
+ }
137
+ // Always write to log file.
61
138
  try {
62
139
  rotateIfNeeded();
63
140
  appendFileSync(LOG_FILE, line, "utf8");
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  * Schedule state is persisted to disk per-thread so tasks survive restarts.
9
9
  * The wait_for_instructions polling loop checks for due tasks on each timeout.
10
10
  */
11
+ import type { IScheduleRepository } from "./data/interfaces.js";
11
12
  export interface ScheduledTask {
12
13
  /** Unique task ID (auto-generated). */
13
14
  id: string;
@@ -30,6 +31,13 @@ export interface ScheduledTask {
30
31
  /** Creation timestamp (ISO string). */
31
32
  createdAt: string;
32
33
  }
34
+ export declare class ScheduleRepository implements IScheduleRepository {
35
+ loadSchedule(threadId: number): ScheduledTask[];
36
+ saveSchedule(threadId: number, tasks: ScheduledTask[]): void;
37
+ deleteSchedule(threadId: number): void;
38
+ listSchedules(threadId: number): ScheduledTask[];
39
+ }
40
+ export declare const scheduleRepository: ScheduleRepository;
33
41
  export declare function addSchedule(task: ScheduledTask): void;
34
42
  export declare function removeSchedule(threadId: number, taskId: string): boolean;
35
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,MAAM,WAAW,aAAa;IAC1B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACrB;AA8BD,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAIrD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOxE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQrD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAE/D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAgDD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CACzB,QAAQ,EAAE,MAAM,EAChB,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,OAAO,GACxB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAkHhD"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAKhE,MAAM,WAAW,aAAa;IAC1B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,kBAAmB,YAAW,mBAAmB;IAC1D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE;IAI/C,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAI5D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAItC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE;CAGnD;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC;AA8B3D,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAIrD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOxE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQrD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAE/D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAgDD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CACzB,QAAQ,EAAE,MAAM,EAChB,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,OAAO,GACxB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAkHhD"}
package/dist/scheduler.js CHANGED
@@ -14,6 +14,21 @@ import { homedir } from "node:os";
14
14
  import { join } from "node:path";
15
15
  import { log } from "./logger.js";
16
16
  const SCHEDULES_DIR = join(homedir(), ".remote-copilot-mcp", "schedules");
17
+ export class ScheduleRepository {
18
+ loadSchedule(threadId) {
19
+ return loadSchedules(threadId);
20
+ }
21
+ saveSchedule(threadId, tasks) {
22
+ saveSchedules(threadId, tasks);
23
+ }
24
+ deleteSchedule(threadId) {
25
+ purgeSchedules(threadId);
26
+ }
27
+ listSchedules(threadId) {
28
+ return listSchedules(threadId);
29
+ }
30
+ }
31
+ export const scheduleRepository = new ScheduleRepository();
17
32
  function schedulesFilePath(threadId) {
18
33
  return join(SCHEDULES_DIR, `${threadId}.json`);
19
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,12 @@
7
7
  */
8
8
  import type { Database } from "better-sqlite3";
9
9
  import type { TelegramClient } from "../telegram.js";
10
+ import type { ThreadLifecycleService } from "../services/thread-lifecycle.service.js";
10
11
  import type { CreateMcpServerFn } from "../types.js";
11
12
  /**
12
13
  * Builds a `CreateMcpServerFn` that closes over the shared runtime singletons
13
14
  * (Telegram client, memory database accessor). The returned function is the
14
15
  * factory that `startHttpServer` / `startStdioServer` call per-connection.
15
16
  */
16
- export declare function buildMcpServerFactory(telegram: TelegramClient, telegramChatId: string, getMemoryDb: () => Database): CreateMcpServerFn;
17
+ export declare function buildMcpServerFactory(telegram: TelegramClient, telegramChatId: string, getMemoryDb: () => Database, threadLifecycle: ThreadLifecycleService): CreateMcpServerFn;
17
18
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAe/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAarD,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,aAAa,CAAC;AAMjE;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,QAAQ,GAC1B,iBAAiB,CAGnB"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAe/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAarD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,aAAa,CAAC;AAMjE;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,QAAQ,EAC3B,eAAe,EAAE,sBAAsB,GACtC,iBAAiB,CAGnB"}
@@ -32,13 +32,13 @@ import { handleSearchSkills, handleGetSkill } from "../tools/skill-tools.js";
32
32
  * (Telegram client, memory database accessor). The returned function is the
33
33
  * factory that `startHttpServer` / `startStdioServer` call per-connection.
34
34
  */
35
- export function buildMcpServerFactory(telegram, telegramChatId, getMemoryDb) {
36
- return (getMcpSessionId, closeTransport) => createMcpServer(telegram, telegramChatId, getMemoryDb, getMcpSessionId, closeTransport);
35
+ export function buildMcpServerFactory(telegram, telegramChatId, getMemoryDb, threadLifecycle) {
36
+ return (getMcpSessionId, closeTransport) => createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle, getMcpSessionId, closeTransport);
37
37
  }
38
38
  // ---------------------------------------------------------------------------
39
39
  // Internal — per-connection server creation
40
40
  // ---------------------------------------------------------------------------
41
- function createMcpServer(telegram, telegramChatId, getMemoryDb, getMcpSessionId, closeTransport) {
41
+ function createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle, getMcpSessionId, closeTransport) {
42
42
  const { PKG_VERSION } = config;
43
43
  // ── Per-session state (isolated per HTTP session / stdio connection) ─────
44
44
  let waitCallCount = 0;
@@ -152,7 +152,12 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, getMcpSessionId,
152
152
  // ── Dispatch table ────────────────────────────────────────────────────
153
153
  // Maps tool names to handler functions. Each receives typed args and the
154
154
  // SDK `extra` object, returning a ToolResult (or Promise thereof).
155
- const delegateCtx = { telegram, telegramChatId };
155
+ const delegateCtx = {
156
+ telegram,
157
+ telegramChatId,
158
+ getMemoryDb,
159
+ threadLifecycle,
160
+ };
156
161
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
157
162
  const toolHandlers = {
158
163
  start_session: (typedArgs) => {
@@ -182,6 +187,7 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, getMcpSessionId,
182
187
  telegramChatId,
183
188
  config,
184
189
  getMemoryDb,
190
+ threadLifecycle,
185
191
  getReminders,
186
192
  getMcpSessionId,
187
193
  closeTransport,
@@ -230,6 +236,7 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, getMcpSessionId,
230
236
  telegramChatId,
231
237
  getMemoryDb,
232
238
  config,
239
+ threadLifecycle,
233
240
  errorResult,
234
241
  };
235
242
  return handleWaitForInstructions(typedArgs, waitCtx, extra);
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { type AgentType } from "../config.js";
2
+ import { type ThreadLifecycleService } from "./thread-lifecycle.service.js";
3
+ export declare function resolveMcpConfigPath(): string | null;
4
+ export declare const resolveClaudePath: () => string | null;
5
+ export declare const resolveCopilotPath: () => string | null;
6
+ export declare const resolveCodexPath: () => string | null;
7
+ export declare function spawnAgentProcess(claudePath: string, mcpConfigPath: string, name: string, threadId: number, threadLifecycle: ThreadLifecycleService, workingDirectory?: string, memorySourceThreadId?: number, memoryTargetThreadId?: number, threadType?: "worker" | "branch"): {
8
+ pid: number;
9
+ logFile: string;
10
+ } | {
11
+ error: string;
12
+ };
13
+ export declare function spawnCopilotProcess(copilotPath: string, name: string, threadId: number, threadLifecycle: ThreadLifecycleService, workingDirectory?: string, memorySourceThreadId?: number, agentType?: string, threadType?: "worker" | "branch"): {
14
+ pid: number;
15
+ logFile: string;
16
+ } | {
17
+ error: string;
18
+ };
19
+ export declare function spawnCodexProcess(codexPath: string, name: string, threadId: number, threadLifecycle: ThreadLifecycleService, workingDirectory?: string, memorySourceThreadId?: number, threadType?: "worker" | "branch"): {
20
+ pid: number;
21
+ logFile: string;
22
+ } | {
23
+ error: string;
24
+ };
25
+ /**
26
+ * Resolve the right spawn function for `agentType` and call it.
27
+ * Handles CLI path resolution and error reporting internally.
28
+ */
29
+ export declare function dispatchSpawn(agentType: AgentType, name: string, threadId: number, threadLifecycle: ThreadLifecycleService, workingDirectory?: string, memorySourceThreadId?: number, memoryTargetThreadId?: number, runtimeThreadType?: "worker" | "branch"): {
30
+ pid: number;
31
+ logFile: string;
32
+ } | {
33
+ error: string;
34
+ };
35
+ export declare function spawnKeepAliveThreads(threadLifecycle: ThreadLifecycleService): {
36
+ spawned: number;
37
+ errors: string[];
38
+ };
39
+ //# sourceMappingURL=agent-spawn.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-spawn.service.d.ts","sourceRoot":"","sources":["../../src/services/agent-spawn.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAUpH,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AA6CzF,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAOpD;AAaD,eAAO,MAAM,iBAAiB,QAAO,MAAM,GAAG,IAAgC,CAAC;AAC/E,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IAA4C,CAAC;AAC5F,eAAO,MAAM,gBAAgB,QAAO,MAAM,GAAG,IAAmG,CAAC;AAmFjJ,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAkBrU;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CActS;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAoB9Q;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,sBAAsB,EACvC,gBAAgB,CAAC,EAAE,MAAM,EACzB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,oBAAoB,CAAC,EAAE,MAAM,EAC7B,iBAAiB,CAAC,EAAE,QAAQ,GAAG,QAAQ,GACtC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAetD;AAED,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,sBAAsB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA0BpH"}