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
@@ -1 +1 @@
1
- {"version":3,"file":"delegate-tool.js","sourceRoot":"","sources":["../../src/tools/delegate-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegate-tool.js","sourceRoot":"","sources":["../../src/tools/delegate-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAQL,KAAK,YAAY,EAUlB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ9C,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACvE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;IAC3D,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAC7D,wDAAwD;IACxD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5G;AAgUD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CAmCrB"}
1
+ {"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAQL,KAAK,YAAY,EAUlB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAS9C,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACvE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;IAC3D,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAC7D,wDAAwD;IACxD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5G;AA+TD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CAmCrB"}
@@ -8,6 +8,7 @@ import { generateEmbedding } from "../openai.js";
8
8
  import { log } from "../logger.js";
9
9
  import { errorMessage } from "../utils.js";
10
10
  import { resolveKnowledgeThreadId } from "../config.js";
11
+ import { runConsolidationAllThreads } from "../services/consolidation.service.js";
11
12
  // ---------------------------------------------------------------------------
12
13
  // Helpers
13
14
  // ---------------------------------------------------------------------------
@@ -223,7 +224,6 @@ function handleMemoryUpdate(db, args, threadId, reminder, errorResult) {
223
224
  }
224
225
  async function handleMemoryConsolidate(db, threadId, reminder, errorResult, onConsolidation) {
225
226
  try {
226
- const { runConsolidationAllThreads } = await import("../data/memory/consolidation.js");
227
227
  const report = await runConsolidationAllThreads(db);
228
228
  onConsolidation?.();
229
229
  if (report.episodesProcessed === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
+ import { type AgentType } from "../config.js";
2
+ /** Parse an unknown value to a positive integer, or return undefined. */
3
+ export declare function parsePositiveInt(v: unknown): number | undefined;
4
+ /**
5
+ * Validate an agentType string. Returns the value if valid, otherwise `fallback`
6
+ * (defaults to `undefined`).
7
+ */
8
+ export declare function parseAgentType(raw: unknown, fallback?: AgentType): AgentType | undefined;
1
9
  export declare const COPILOT_HOME_DIR = "copilot-home";
2
- export declare const DEFAULT_COPILOT_MODEL = "claude-opus-4.6";
10
+ export declare const DEFAULT_COPILOT_MODEL = "claude-opus-4-6";
3
11
  export declare function writeMcpConfig(dest: string, port: number, secret: string | null): void;
4
12
  export declare function writeCopilotHomeFiles(copilotHome: string, port: number, secret: string | null): void;
5
13
  /** Create a workspace directory with .copilotignore to prevent file scanning */
@@ -1 +1 @@
1
- {"version":3,"file":"shared-agent-utils.d.ts","sourceRoot":"","sources":["../../src/tools/shared-agent-utils.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAM/C,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAiCvD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAWtF;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAIpG;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM9D"}
1
+ {"version":3,"file":"shared-agent-utils.d.ts","sourceRoot":"","sources":["../../src/tools/shared-agent-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAMhE,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAK/D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAGxF;AAED,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAM/C,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAWtF;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAIpG;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM9D"}
@@ -1,47 +1,30 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { homedir } from "node:os";
1
+ import { existsSync, mkdirSync, writeFileSync } from "node:fs";
3
2
  import { join } from "node:path";
3
+ import { isValidAgentType } from "../config.js";
4
+ // ---------------------------------------------------------------------------
5
+ // Shared argument parsers
6
+ // ---------------------------------------------------------------------------
7
+ /** Parse an unknown value to a positive integer, or return undefined. */
8
+ export function parsePositiveInt(v) {
9
+ const parsed = typeof v === "number" ? v
10
+ : typeof v === "string" ? Number(v)
11
+ : Number.NaN;
12
+ return Number.isInteger(parsed) && parsed > 0 ? parsed : undefined;
13
+ }
14
+ /**
15
+ * Validate an agentType string. Returns the value if valid, otherwise `fallback`
16
+ * (defaults to `undefined`).
17
+ */
18
+ export function parseAgentType(raw, fallback) {
19
+ const s = typeof raw === "string" ? raw.trim() : "";
20
+ return isValidAgentType(s) ? s : fallback;
21
+ }
4
22
  export const COPILOT_HOME_DIR = "copilot-home";
5
23
  const COPILOT_MCP_CONFIG_FILENAME = "mcp-config.json";
6
24
  const COPILOT_INSTRUCTIONS_FILENAME = "copilot-instructions.md";
7
25
  const COPILOT_SYSTEM_PROMPT = "You are a remote Copilot agent. " +
8
26
  "Start remote session with sensorium. Pass agentType='copilot' to start_session.";
9
- export const DEFAULT_COPILOT_MODEL = "claude-opus-4.6";
10
- /**
11
- * Read MCP servers from Claude's settings.json (stdio + http servers).
12
- * Skips sensorium-mcp and sensorium-watcher since those are managed separately.
13
- */
14
- function readClaudeMcpServers() {
15
- const skipKeys = new Set(["sensorium-mcp", "sensorium-watcher"]);
16
- try {
17
- const settingsPath = join(homedir(), ".claude", "settings.json");
18
- if (!existsSync(settingsPath))
19
- return {};
20
- const settings = JSON.parse(readFileSync(settingsPath, "utf-8"));
21
- const servers = settings?.mcpServers ?? {};
22
- const result = {};
23
- for (const [name, config] of Object.entries(servers)) {
24
- if (skipKeys.has(name))
25
- continue;
26
- const cfg = config;
27
- if (cfg.disabled)
28
- continue;
29
- // Copilot CLI server names: only letters, numbers, _, -
30
- const safeName = name.replace(/[^a-zA-Z0-9_-]/g, "_");
31
- // Copilot CLI uses "local" for stdio, and requires "tools": ["*"]
32
- if (cfg.type === "stdio") {
33
- result[safeName] = { type: "local", command: cfg.command, args: cfg.args, env: cfg.env, tools: ["*"] };
34
- }
35
- else if (cfg.type === "http") {
36
- result[safeName] = { type: "http", url: cfg.url, ...(cfg.headers ? { headers: cfg.headers } : {}), tools: ["*"] };
37
- }
38
- }
39
- return result;
40
- }
41
- catch {
42
- return {};
43
- }
44
- }
27
+ export const DEFAULT_COPILOT_MODEL = "claude-opus-4-6";
45
28
  export function writeMcpConfig(dest, port, secret) {
46
29
  const serverConfig = {
47
30
  type: "http",
@@ -1 +1 @@
1
- {"version":3,"file":"shared-agent-utils.js","sourceRoot":"","sources":["../../src/tools/shared-agent-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-agent-utils.js","sourceRoot":"","sources":["../../src/tools/shared-agent-utils.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  import { type initMemoryDb } from "../memory.js";
9
9
  import type { TelegramClient } from "../telegram.js";
10
10
  import type { AppConfig, ToolResult } from "../types.js";
11
+ import type { ThreadLifecycleService } from "../services/thread-lifecycle.service.js";
11
12
  export interface StartSessionContext {
12
13
  /** Mutable per-session state — the handler writes directly into this. */
13
14
  session: {
@@ -27,6 +28,7 @@ export interface StartSessionContext {
27
28
  telegramChatId: string;
28
29
  config: AppConfig;
29
30
  getMemoryDb: () => ReturnType<typeof initMemoryDb>;
31
+ threadLifecycle: ThreadLifecycleService;
30
32
  getReminders: (threadId: number | undefined, sessionStartedAt: number, autonomousMode: boolean) => string;
31
33
  /** MCP session ID for this connection (from transport). */
32
34
  getMcpSessionId?: () => string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"start-session-tool.d.ts","sourceRoot":"","sources":["../../src/tools/start-session-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAiD,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAWhG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzD,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,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,CAyYrB"}
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"}
@@ -5,40 +5,31 @@
5
5
  * bootstraps memory, auto-schedules DMN reflection, and returns the
6
6
  * session greeting with reminders.
7
7
  */
8
- import { getMemorySourceThreadId, setThreadAgentType } from "../config.js";
8
+ import { getEffectiveAutonomousMode, getMemorySourceThreadId, setThreadAgentType } from "../config.js";
9
+ import { parsePositiveInt, parseAgentType } from "./shared-agent-utils.js";
9
10
  import { convertMarkdown } from "../markdown.js";
10
- import { assembleBootstrap, runConsolidationAllThreads } from "../memory.js";
11
- import { addSchedule, generateTaskId, listSchedules, purgeSchedules } from "../scheduler.js";
12
- import { lookupSession, persistSession, purgeOtherSessions, registerMcpSession, removeSession, lookupTopicRegistry, registerTopic, } from "../sessions.js";
11
+ import { assembleBootstrap } from "../services/memory-briefing.service.js";
12
+ import { runConsolidationAllThreads } from "../services/consolidation.service.js";
13
+ import { addSchedule, generateTaskId, listSchedules } from "../scheduler.js";
14
+ import { purgeOtherSessions, registerMcpSession, } from "../sessions.js";
13
15
  import { log } from "../logger.js";
14
16
  import { errorMessage, errorResult } from "../utils.js";
15
17
  import { readThreadMessages } from "../dispatcher.js";
16
- import { getThread, registerThread, updateThread } from "../data/memory/thread-registry.js";
18
+ import { getThread, getThreadByName } from "../data/memory/thread-registry.js";
19
+ import { createManagedTopic, probeOrRemapTopic } from "../services/topic.service.js";
20
+ import { checkMaintenanceFlag } from "../data/file-storage.js";
17
21
  /** Consolidation fires at session start when unconsolidated episodes exceed this. */
18
22
  const STARTUP_CONSOLIDATION_THRESHOLD = 20;
19
23
  // ---------------------------------------------------------------------------
20
24
  // Handler
21
25
  // ---------------------------------------------------------------------------
22
26
  export async function handleStartSession(args, ctx) {
23
- const { session, telegram, telegramChatId: TELEGRAM_CHAT_ID, config, getMemoryDb } = ctx;
24
- const typedArgs = args;
25
- const rawThreadId = typedArgs.threadId;
26
- const parseThreadId = (value) => {
27
- const parsed = typeof value === "number" ? value
28
- : typeof value === "string" ? Number(value)
29
- : Number.NaN;
30
- return Number.isInteger(parsed) && parsed > 0 ? parsed : undefined;
31
- };
32
- const explicitThreadId = parseThreadId(rawThreadId);
33
- const customName = typeof typedArgs.name === "string" && typedArgs.name.trim()
34
- ? typedArgs.name.trim()
35
- : undefined;
36
- const rawAgentType = typeof typedArgs.agentType === "string" ? typedArgs.agentType.trim() : "";
37
- const agentType = rawAgentType === "copilot" || rawAgentType === "copilot_claude" || rawAgentType === "copilot_codex"
38
- || rawAgentType === "claude" || rawAgentType === "cursor"
39
- || rawAgentType === "codex" || rawAgentType === "openai_codex"
40
- ? rawAgentType
27
+ const { session, telegram, telegramChatId: TELEGRAM_CHAT_ID, config, getMemoryDb, threadLifecycle } = ctx;
28
+ const explicitThreadId = parsePositiveInt(args.threadId);
29
+ const customName = typeof args.name === "string" && args.name.trim()
30
+ ? args.name.trim()
41
31
  : undefined;
32
+ const agentType = parseAgentType(args.agentType);
42
33
  // ── Re-entry guard ────────────────────────────────────────────────────
43
34
  // If the requested thread is already the active session AND the full
44
35
  // bootstrap already ran in THIS process lifetime, return early without
@@ -52,7 +43,7 @@ export async function handleStartSession(args, ctx) {
52
43
  log.info(`[start_session] Thread ${explicitThreadId} is already the active session — skipping reinitialization.`);
53
44
  // Include reminders + wait directive so the agent doesn't stall after
54
45
  // a duplicate start_session call (e.g. post-update context replay).
55
- const reminders = ctx.getReminders(explicitThreadId, session.sessionStartedAt, config.AUTONOMOUS_MODE);
46
+ const reminders = ctx.getReminders(explicitThreadId, session.sessionStartedAt, getEffectiveAutonomousMode(explicitThreadId));
56
47
  const endDirective = `\n\n**⚠️ ACTION REQUIRED: Call the \`remote_copilot_wait_for_instructions\` tool NOW with threadId=${explicitThreadId}. Do NOT stop or end your turn.**`;
57
48
  return {
58
49
  content: [
@@ -87,47 +78,24 @@ export async function handleStartSession(args, ctx) {
87
78
  let startupNotificationSent = false;
88
79
  if (explicitThreadId !== undefined) {
89
80
  session.currentThreadId = explicitThreadId;
90
- // If a name was also supplied, keep the mapping up to date.
91
- if (customName)
92
- persistSession(TELEGRAM_CHAT_ID, customName, explicitThreadId);
93
81
  resolvedPreexisting = true;
94
82
  }
95
83
  else if (customName !== undefined) {
96
- const stored = lookupSession(TELEGRAM_CHAT_ID, customName);
97
- if (stored !== undefined) {
98
- session.currentThreadId = stored;
84
+ const existingThread = getThreadByName(getMemoryDb(), customName);
85
+ if (existingThread) {
86
+ session.currentThreadId = existingThread.threadId;
99
87
  resolvedPreexisting = true;
100
88
  }
101
- else {
102
- // Fallback: check the operator-managed topic registry
103
- const registryId = lookupTopicRegistry(TELEGRAM_CHAT_ID, customName);
104
- if (registryId !== undefined) {
105
- session.currentThreadId = registryId;
106
- // Promote to session store for future fast lookups
107
- persistSession(TELEGRAM_CHAT_ID, customName, registryId);
108
- resolvedPreexisting = true;
109
- }
110
- }
111
89
  }
112
- // Lightweight reconnect: if the thread is pre-existing AND was recently
113
- // active (within 5 minutes), this is likely a context reset within the same
114
- // process skip the heavy bootstrap (no stale message drain, no Telegram
115
- // notification, no 38K+ memory briefing). A genuinely dead thread that
116
- // hasn't been active in > 5 minutes gets the full briefing.
117
- 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.
118
95
  let isReconnect = false;
119
- if (resolvedPreexisting && session.currentThreadId !== undefined) {
120
- try {
121
- const threadEntry = getThread(getMemoryDb(), session.currentThreadId);
122
- if (threadEntry?.lastActiveAt) {
123
- const lastActive = new Date(threadEntry.lastActiveAt).getTime();
124
- isReconnect = (Date.now() - lastActive) < RECONNECT_WINDOW_MS;
125
- }
126
- }
127
- catch { /* fall through to full bootstrap */ }
128
- }
129
- if (isReconnect) {
130
- 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.`);
131
99
  }
132
100
  if (resolvedPreexisting) {
133
101
  // Topic health check: verify the Telegram topic still exists.
@@ -135,7 +103,20 @@ export async function handleStartSession(args, ctx) {
135
103
  // are detected and remapped promptly.
136
104
  if (!startupNotificationSent) {
137
105
  try {
138
- await telegram.sendMessage(TELEGRAM_CHAT_ID, "\u{1F504} Session resumed. Continuing in this thread.", undefined, session.currentThreadId);
106
+ await probeOrRemapTopic({
107
+ telegram,
108
+ chatId: TELEGRAM_CHAT_ID,
109
+ logicalThreadId: session.currentThreadId,
110
+ topicName: customName ??
111
+ `Copilot — ${new Date().toLocaleString("en-GB", {
112
+ day: "2-digit", month: "short", year: "numeric",
113
+ hour: "2-digit", minute: "2-digit", hour12: false,
114
+ })}`,
115
+ db: getMemoryDb(),
116
+ threadLifecycle,
117
+ aliases: customName ? [customName] : [],
118
+ probeText: "\u{1F504} Session resumed. Continuing in this thread.",
119
+ });
139
120
  startupNotificationSent = true;
140
121
  }
141
122
  catch (err) {
@@ -143,36 +124,7 @@ export async function handleStartSession(args, ctx) {
143
124
  log.warn(`[start_session] Probe failed for thread ${session.currentThreadId} in chat ${TELEGRAM_CHAT_ID}: ${errMsg}`);
144
125
  const isThreadGone = /thread not found|topic.*(closed|deleted|not found)/i.test(errMsg);
145
126
  if (isThreadGone) {
146
- log.info(`[start_session] Cached thread ${session.currentThreadId} is gone (${errMsg}). Creating replacement topic.`);
147
- const topicName = customName ??
148
- `Copilot \u2014 ${new Date().toLocaleString("en-GB", {
149
- day: "2-digit", month: "short", year: "numeric",
150
- hour: "2-digit", minute: "2-digit", hour12: false,
151
- })}`;
152
- try {
153
- const newTopic = await telegram.createForumTopic(TELEGRAM_CHAT_ID, topicName);
154
- const newTopicId = newTopic.message_thread_id;
155
- log.info(`[start_session] Remapped thread ${session.currentThreadId} \u2192 Telegram topic ${newTopicId}`);
156
- try {
157
- updateThread(getMemoryDb(), session.currentThreadId, { telegramTopicId: newTopicId });
158
- }
159
- catch (e) {
160
- log.warn(`[start_session] Failed to persist topic remap: ${e instanceof Error ? e.message : String(e)}`);
161
- }
162
- if (customName)
163
- persistSession(TELEGRAM_CHAT_ID, topicName, session.currentThreadId);
164
- registerTopic(TELEGRAM_CHAT_ID, topicName, session.currentThreadId);
165
- startupNotificationSent = true;
166
- }
167
- catch (createErr) {
168
- log.warn(`[start_session] Remap failed, falling back to new session: ${errorMessage(createErr)}`);
169
- if (session.currentThreadId !== undefined)
170
- purgeSchedules(session.currentThreadId);
171
- if (customName)
172
- removeSession(TELEGRAM_CHAT_ID, customName);
173
- resolvedPreexisting = false;
174
- session.currentThreadId = undefined;
175
- }
127
+ log.info(`[start_session] Cached thread ${session.currentThreadId} is gone (${errMsg}); operator must call start_session without a threadId to create a replacement.`);
176
128
  }
177
129
  // Other errors (network, etc.) are non-fatal — proceed anyway.
178
130
  }
@@ -201,18 +153,16 @@ export async function handleStartSession(args, ctx) {
201
153
  hour: "2-digit", minute: "2-digit", hour12: false,
202
154
  })}`;
203
155
  try {
204
- const topic = await telegram.createForumTopic(TELEGRAM_CHAT_ID, topicName);
205
- session.currentThreadId = topic.message_thread_id;
206
- // Persist so the same name resumes this thread next time.
207
- persistSession(TELEGRAM_CHAT_ID, topicName, session.currentThreadId);
208
- registerTopic(TELEGRAM_CHAT_ID, topicName, session.currentThreadId);
156
+ session.currentThreadId = await createManagedTopic(telegram, TELEGRAM_CHAT_ID, topicName);
209
157
  // Register in thread_registry so the dashboard can see it
210
158
  try {
211
- registerThread(getMemoryDb(), {
159
+ threadLifecycle.registerThread(getMemoryDb(), {
212
160
  threadId: session.currentThreadId,
213
161
  name: topicName,
214
162
  type: 'root',
215
163
  client: agentType ?? 'claude',
164
+ chatId: TELEGRAM_CHAT_ID,
165
+ telegramTopicId: session.currentThreadId,
216
166
  });
217
167
  }
218
168
  catch { /* best-effort — DB may not be ready */ }
@@ -309,20 +259,23 @@ export async function handleStartSession(args, ctx) {
309
259
  // first-person introspection prompt sourced from memory.
310
260
  // Only create on active thread — purge stale DMN tasks from other threads
311
261
  // to avoid every thread accumulating reflection tasks.
312
- if (config.AUTONOMOUS_MODE && session.currentThreadId !== undefined) {
313
- const existingTasks = listSchedules(session.currentThreadId);
314
- const hasDmn = existingTasks.some(t => t.label === "dmn-reflection");
315
- if (!hasDmn) {
316
- addSchedule({
317
- id: generateTaskId(),
318
- threadId: session.currentThreadId,
319
- prompt: "__DMN__", // Sentinel — handler generates dynamic content
320
- label: "dmn-reflection",
321
- afterIdleMinutes: 240, // 4 hours
322
- oneShot: false,
323
- createdAt: new Date().toISOString(),
324
- });
325
- log.info(`[start_session] Auto-scheduled DMN reflection task for thread ${session.currentThreadId}.`);
262
+ if (session.currentThreadId !== undefined) {
263
+ const effectiveAutonomousMode = getEffectiveAutonomousMode(session.currentThreadId);
264
+ if (effectiveAutonomousMode) {
265
+ const existingTasks = listSchedules(session.currentThreadId);
266
+ const hasDmn = existingTasks.some(t => t.label === "dmn-reflection");
267
+ if (!hasDmn) {
268
+ addSchedule({
269
+ id: generateTaskId(),
270
+ threadId: session.currentThreadId,
271
+ prompt: "__DMN__", // Sentinel — handler generates dynamic content
272
+ label: "dmn-reflection",
273
+ afterIdleMinutes: 240, // 4 hours
274
+ oneShot: false,
275
+ createdAt: new Date().toISOString(),
276
+ });
277
+ log.info(`[start_session] Auto-scheduled DMN reflection task for thread ${session.currentThreadId}.`);
278
+ }
326
279
  }
327
280
  }
328
281
  const resumeNote = resolvedPreexisting
@@ -337,26 +290,23 @@ export async function handleStartSession(args, ctx) {
337
290
  const db = getMemoryDb();
338
291
  const existingThread = getThread(db, threadId);
339
292
  if (!existingThread) {
340
- registerThread(db, {
293
+ threadLifecycle.registerThread(db, {
341
294
  threadId,
342
295
  name: customName ?? `Thread ${threadId}`,
343
296
  type: 'root',
344
297
  client: agentType,
298
+ chatId: TELEGRAM_CHAT_ID,
345
299
  });
346
300
  }
347
- else if (!existingThread.keepAlive) {
348
- // Only update client for non-keepAlive threads; keepAlive threads
349
- // have their client set by the keeper and shouldn't be overwritten.
350
- updateThread(db, threadId, { client: agentType, status: 'active' });
351
- }
352
301
  else {
353
- // keepAlive thread: just ensure status is active
354
- updateThread(db, threadId, { status: 'active' });
302
+ threadLifecycle.activateThread(db, threadId, existingThread.keepAlive
303
+ ? {}
304
+ : { client: agentType });
355
305
  }
356
306
  }
357
307
  catch { /* best-effort */ }
358
308
  }
359
- const reminders = ctx.getReminders(threadId, session.sessionStartedAt, config.AUTONOMOUS_MODE);
309
+ const reminders = ctx.getReminders(threadId, session.sessionStartedAt, getEffectiveAutonomousMode(threadId));
360
310
  // Mark session as fully initialized — subsequent start_session calls with
361
311
  // the same threadId will hit the re-entry guard instead of re-bootstrapping.
362
312
  session.sessionFullyInitialized = true;