sensorium-mcp 3.0.103 → 3.1.0-refactor.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 (563) hide show
  1. package/README.md +25 -0
  2. package/dist/config/agent-settings.d.ts +69 -0
  3. package/dist/config/agent-settings.d.ts.map +1 -0
  4. package/dist/config/agent-settings.js +225 -0
  5. package/dist/config/agent-settings.js.map +1 -0
  6. package/dist/config/agent-templates.d.ts +39 -0
  7. package/dist/config/agent-templates.d.ts.map +1 -0
  8. package/dist/config/agent-templates.js +105 -0
  9. package/dist/config/agent-templates.js.map +1 -0
  10. package/dist/config/index.d.ts +16 -0
  11. package/dist/config/index.d.ts.map +1 -0
  12. package/dist/config/index.js +58 -0
  13. package/dist/config/index.js.map +1 -0
  14. package/dist/config/keep-alive-settings.d.ts +29 -0
  15. package/dist/config/keep-alive-settings.d.ts.map +1 -0
  16. package/dist/config/keep-alive-settings.js +100 -0
  17. package/dist/config/keep-alive-settings.js.map +1 -0
  18. package/dist/config/mcp-settings.d.ts +59 -0
  19. package/dist/config/mcp-settings.d.ts.map +1 -0
  20. package/dist/config/mcp-settings.js +196 -0
  21. package/dist/config/mcp-settings.js.map +1 -0
  22. package/dist/config/misc-settings.d.ts +46 -0
  23. package/dist/config/misc-settings.d.ts.map +1 -0
  24. package/dist/config/misc-settings.js +146 -0
  25. package/dist/config/misc-settings.js.map +1 -0
  26. package/dist/config/settings-store.d.ts +10 -0
  27. package/dist/config/settings-store.d.ts.map +1 -0
  28. package/dist/config/settings-store.js +65 -0
  29. package/dist/config/settings-store.js.map +1 -0
  30. package/dist/dashboard/log-parser.d.ts.map +1 -1
  31. package/dist/dashboard/log-parser.js +12 -2
  32. package/dist/dashboard/log-parser.js.map +1 -1
  33. package/dist/dashboard/presets.d.ts +1 -1
  34. package/dist/dashboard/presets.d.ts.map +1 -1
  35. package/dist/dashboard/presets.js +1 -1
  36. package/dist/dashboard/presets.js.map +1 -1
  37. package/dist/dashboard/routes/agent-templates.d.ts.map +1 -1
  38. package/dist/dashboard/routes/agent-templates.js +13 -8
  39. package/dist/dashboard/routes/agent-templates.js.map +1 -1
  40. package/dist/dashboard/routes/claude.d.ts.map +1 -1
  41. package/dist/dashboard/routes/claude.js +6 -3
  42. package/dist/dashboard/routes/claude.js.map +1 -1
  43. package/dist/dashboard/routes/copilot.d.ts.map +1 -1
  44. package/dist/dashboard/routes/copilot.js +16 -7
  45. package/dist/dashboard/routes/copilot.js.map +1 -1
  46. package/dist/dashboard/routes/data.d.ts.map +1 -1
  47. package/dist/dashboard/routes/data.js +43 -15
  48. package/dist/dashboard/routes/data.js.map +1 -1
  49. package/dist/dashboard/routes/env-vars.d.ts.map +1 -1
  50. package/dist/dashboard/routes/env-vars.js.map +1 -1
  51. package/dist/dashboard/routes/mcp-servers.d.ts.map +1 -1
  52. package/dist/dashboard/routes/mcp-servers.js +11 -5
  53. package/dist/dashboard/routes/mcp-servers.js.map +1 -1
  54. package/dist/dashboard/routes/prompts.d.ts.map +1 -1
  55. package/dist/dashboard/routes/prompts.js +2 -2
  56. package/dist/dashboard/routes/prompts.js.map +1 -1
  57. package/dist/dashboard/routes/settings.d.ts.map +1 -1
  58. package/dist/dashboard/routes/settings.js +5 -3
  59. package/dist/dashboard/routes/settings.js.map +1 -1
  60. package/dist/dashboard/routes/skills.d.ts.map +1 -1
  61. package/dist/dashboard/routes/skills.js +4 -4
  62. package/dist/dashboard/routes/skills.js.map +1 -1
  63. package/dist/dashboard/routes/snapshots.d.ts.map +1 -1
  64. package/dist/dashboard/routes/snapshots.js +18 -11
  65. package/dist/dashboard/routes/snapshots.js.map +1 -1
  66. package/dist/dashboard/routes/templates.d.ts.map +1 -1
  67. package/dist/dashboard/routes/templates.js +6 -3
  68. package/dist/dashboard/routes/templates.js.map +1 -1
  69. package/dist/dashboard/routes/threads-create.d.ts +22 -0
  70. package/dist/dashboard/routes/threads-create.d.ts.map +1 -0
  71. package/dist/dashboard/routes/threads-create.js +225 -0
  72. package/dist/dashboard/routes/threads-create.js.map +1 -0
  73. package/dist/dashboard/routes/threads-helpers.d.ts +28 -0
  74. package/dist/dashboard/routes/threads-helpers.d.ts.map +1 -0
  75. package/dist/dashboard/routes/threads-helpers.js +138 -0
  76. package/dist/dashboard/routes/threads-helpers.js.map +1 -0
  77. package/dist/dashboard/routes/threads-read.d.ts +26 -0
  78. package/dist/dashboard/routes/threads-read.d.ts.map +1 -0
  79. package/dist/dashboard/routes/threads-read.js +118 -0
  80. package/dist/dashboard/routes/threads-read.js.map +1 -0
  81. package/dist/dashboard/routes/threads.d.ts +5 -44
  82. package/dist/dashboard/routes/threads.d.ts.map +1 -1
  83. package/dist/dashboard/routes/threads.js +40 -496
  84. package/dist/dashboard/routes/threads.js.map +1 -1
  85. package/dist/dashboard/routes/types.d.ts.map +1 -1
  86. package/dist/dashboard/routes/types.js.map +1 -1
  87. package/dist/dashboard/routes.d.ts.map +1 -1
  88. package/dist/dashboard/routes.js +9 -5
  89. package/dist/dashboard/routes.js.map +1 -1
  90. package/dist/data/daily-marker.d.ts.map +1 -1
  91. package/dist/data/daily-marker.js +1 -1
  92. package/dist/data/daily-marker.js.map +1 -1
  93. package/dist/data/file-storage.d.ts.map +1 -1
  94. package/dist/data/file-storage.js +40 -16
  95. package/dist/data/file-storage.js.map +1 -1
  96. package/dist/data/interfaces.d.ts +23 -2
  97. package/dist/data/interfaces.d.ts.map +1 -1
  98. package/dist/data/memory/bootstrap.d.ts +1 -1
  99. package/dist/data/memory/bootstrap.d.ts.map +1 -1
  100. package/dist/data/memory/bootstrap.js +32 -13
  101. package/dist/data/memory/bootstrap.js.map +1 -1
  102. package/dist/data/memory/consolidation.d.ts.map +1 -1
  103. package/dist/data/memory/consolidation.js +17 -8
  104. package/dist/data/memory/consolidation.js.map +1 -1
  105. package/dist/data/memory/db-types.d.ts +4 -0
  106. package/dist/data/memory/db-types.d.ts.map +1 -0
  107. package/dist/data/memory/db-types.js +2 -0
  108. package/dist/data/memory/db-types.js.map +1 -0
  109. package/dist/data/memory/episodes.d.ts.map +1 -1
  110. package/dist/data/memory/episodes.js +3 -5
  111. package/dist/data/memory/episodes.js.map +1 -1
  112. package/dist/data/memory/index.d.ts +28 -14
  113. package/dist/data/memory/index.d.ts.map +1 -1
  114. package/dist/data/memory/index.js +28 -14
  115. package/dist/data/memory/index.js.map +1 -1
  116. package/dist/data/memory/migration-runner.d.ts +1 -1
  117. package/dist/data/memory/migration-runner.d.ts.map +1 -1
  118. package/dist/data/memory/migration-runner.js +23 -15
  119. package/dist/data/memory/migration-runner.js.map +1 -1
  120. package/dist/data/memory/narrative-lint.d.ts +12 -0
  121. package/dist/data/memory/narrative-lint.d.ts.map +1 -0
  122. package/dist/data/memory/narrative-lint.js +117 -0
  123. package/dist/data/memory/narrative-lint.js.map +1 -0
  124. package/dist/data/memory/narrative-resolutions.d.ts +26 -0
  125. package/dist/data/memory/narrative-resolutions.d.ts.map +1 -0
  126. package/dist/data/memory/narrative-resolutions.js +81 -0
  127. package/dist/data/memory/narrative-resolutions.js.map +1 -0
  128. package/dist/data/memory/narrative-sources.d.ts +19 -0
  129. package/dist/data/memory/narrative-sources.d.ts.map +1 -0
  130. package/dist/data/memory/narrative-sources.js +150 -0
  131. package/dist/data/memory/narrative-sources.js.map +1 -0
  132. package/dist/data/memory/narrative-store.d.ts +11 -0
  133. package/dist/data/memory/narrative-store.d.ts.map +1 -0
  134. package/dist/data/memory/narrative-store.js +80 -0
  135. package/dist/data/memory/narrative-store.js.map +1 -0
  136. package/dist/data/memory/narrative-types.d.ts +15 -0
  137. package/dist/data/memory/narrative-types.d.ts.map +1 -0
  138. package/dist/data/memory/narrative-types.js +3 -0
  139. package/dist/data/memory/narrative-types.js.map +1 -0
  140. package/dist/data/memory/narrative.d.ts +5 -2
  141. package/dist/data/memory/narrative.d.ts.map +1 -1
  142. package/dist/data/memory/narrative.js +31 -521
  143. package/dist/data/memory/narrative.js.map +1 -1
  144. package/dist/data/memory/note-archival.d.ts +17 -0
  145. package/dist/data/memory/note-archival.d.ts.map +1 -0
  146. package/dist/data/memory/note-archival.js +48 -0
  147. package/dist/data/memory/note-archival.js.map +1 -0
  148. package/dist/data/memory/note-embeddings.d.ts +27 -0
  149. package/dist/data/memory/note-embeddings.d.ts.map +1 -0
  150. package/dist/data/memory/note-embeddings.js +98 -0
  151. package/dist/data/memory/note-embeddings.js.map +1 -0
  152. package/dist/data/memory/reflection-dedup.d.ts +17 -0
  153. package/dist/data/memory/reflection-dedup.d.ts.map +1 -0
  154. package/dist/data/memory/reflection-dedup.js +55 -0
  155. package/dist/data/memory/reflection-dedup.js.map +1 -0
  156. package/dist/data/memory/reflection-gates.d.ts +40 -0
  157. package/dist/data/memory/reflection-gates.d.ts.map +1 -0
  158. package/dist/data/memory/reflection-gates.js +220 -0
  159. package/dist/data/memory/reflection-gates.js.map +1 -0
  160. package/dist/data/memory/reflection-sources.d.ts +13 -0
  161. package/dist/data/memory/reflection-sources.d.ts.map +1 -0
  162. package/dist/data/memory/reflection-sources.js +115 -0
  163. package/dist/data/memory/reflection-sources.js.map +1 -0
  164. package/dist/data/memory/reflection.d.ts +5 -35
  165. package/dist/data/memory/reflection.d.ts.map +1 -1
  166. package/dist/data/memory/reflection.js +25 -329
  167. package/dist/data/memory/reflection.js.map +1 -1
  168. package/dist/data/memory/schema-ddl.d.ts +1 -1
  169. package/dist/data/memory/schema-ddl.d.ts.map +1 -1
  170. package/dist/data/memory/schema-ddl.js +5 -3
  171. package/dist/data/memory/schema-ddl.js.map +1 -1
  172. package/dist/data/memory/schema-guard.d.ts +1 -1
  173. package/dist/data/memory/schema-guard.d.ts.map +1 -1
  174. package/dist/data/memory/schema-guard.js +5 -4
  175. package/dist/data/memory/schema-guard.js.map +1 -1
  176. package/dist/data/memory/schema.d.ts +2 -2
  177. package/dist/data/memory/schema.d.ts.map +1 -1
  178. package/dist/data/memory/schema.js +4 -2
  179. package/dist/data/memory/schema.js.map +1 -1
  180. package/dist/data/memory/{semantic.d.ts → semantic-notes.d.ts} +6 -72
  181. package/dist/data/memory/semantic-notes.d.ts.map +1 -0
  182. package/dist/data/memory/semantic-notes.js +249 -0
  183. package/dist/data/memory/semantic-notes.js.map +1 -0
  184. package/dist/data/memory/semantic-search.d.ts +29 -0
  185. package/dist/data/memory/semantic-search.d.ts.map +1 -0
  186. package/dist/data/memory/semantic-search.js +156 -0
  187. package/dist/data/memory/semantic-search.js.map +1 -0
  188. package/dist/data/memory/synthesis.d.ts.map +1 -1
  189. package/dist/data/memory/synthesis.js +15 -7
  190. package/dist/data/memory/synthesis.js.map +1 -1
  191. package/dist/data/memory/thread-registry.d.ts +2 -2
  192. package/dist/data/memory/thread-registry.d.ts.map +1 -1
  193. package/dist/data/memory/thread-registry.js +74 -36
  194. package/dist/data/memory/thread-registry.js.map +1 -1
  195. package/dist/data/memory/topic-index.d.ts +20 -0
  196. package/dist/data/memory/topic-index.d.ts.map +1 -0
  197. package/dist/data/memory/topic-index.js +91 -0
  198. package/dist/data/memory/topic-index.js.map +1 -0
  199. package/dist/data/memory/topic-shift.js +1 -1
  200. package/dist/data/memory/topic-shift.js.map +1 -1
  201. package/dist/data/memory/utils.d.ts +0 -5
  202. package/dist/data/memory/utils.d.ts.map +1 -1
  203. package/dist/data/memory/utils.js +0 -94
  204. package/dist/data/memory/utils.js.map +1 -1
  205. package/dist/data/sent-message.repository.js +2 -2
  206. package/dist/data/sent-message.repository.js.map +1 -1
  207. package/dist/data/templates.js +2 -2
  208. package/dist/data/templates.js.map +1 -1
  209. package/dist/index.js +21 -19
  210. package/dist/index.js.map +1 -1
  211. package/dist/integrations/openai/chat.d.ts.map +1 -1
  212. package/dist/integrations/openai/chat.js +5 -5
  213. package/dist/integrations/openai/chat.js.map +1 -1
  214. package/dist/integrations/openai/speech.d.ts +1 -1
  215. package/dist/integrations/openai/speech.d.ts.map +1 -1
  216. package/dist/integrations/openai/speech.js +1 -3
  217. package/dist/integrations/openai/speech.js.map +1 -1
  218. package/dist/integrations/openai/video.d.ts.map +1 -1
  219. package/dist/integrations/openai/video.js +21 -10
  220. package/dist/integrations/openai/video.js.map +1 -1
  221. package/dist/integrations/openai/vision.d.ts.map +1 -1
  222. package/dist/integrations/openai/vision.js.map +1 -1
  223. package/dist/integrations/openai/voice-emotion.d.ts.map +1 -1
  224. package/dist/integrations/openai/voice-emotion.js +2 -2
  225. package/dist/integrations/openai/voice-emotion.js.map +1 -1
  226. package/dist/lib/logger.d.ts.map +1 -0
  227. package/dist/{logger.js → lib/logger.js} +77 -50
  228. package/dist/lib/logger.js.map +1 -0
  229. package/dist/lib/markdown.d.ts.map +1 -0
  230. package/dist/{markdown.js → lib/markdown.js} +13 -5
  231. package/dist/lib/markdown.js.map +1 -0
  232. package/dist/{types.d.ts → lib/types.d.ts} +0 -1
  233. package/dist/lib/types.d.ts.map +1 -0
  234. package/dist/lib/types.js.map +1 -0
  235. package/dist/lib/utils.d.ts.map +1 -0
  236. package/dist/{utils.js → lib/utils.js} +29 -9
  237. package/dist/lib/utils.js.map +1 -0
  238. package/dist/llm/json.d.ts +14 -0
  239. package/dist/llm/json.d.ts.map +1 -0
  240. package/dist/llm/json.js +112 -0
  241. package/dist/llm/json.js.map +1 -0
  242. package/dist/llm/prompts/narrative.d.ts +7 -0
  243. package/dist/llm/prompts/narrative.d.ts.map +1 -0
  244. package/dist/llm/prompts/narrative.js +124 -0
  245. package/dist/llm/prompts/narrative.js.map +1 -0
  246. package/dist/llm/prompts/reflection.d.ts +6 -0
  247. package/dist/llm/prompts/reflection.d.ts.map +1 -0
  248. package/dist/llm/prompts/reflection.js +77 -0
  249. package/dist/llm/prompts/reflection.js.map +1 -0
  250. package/dist/server/factory.d.ts +2 -2
  251. package/dist/server/factory.d.ts.map +1 -1
  252. package/dist/server/factory.js +152 -73
  253. package/dist/server/factory.js.map +1 -1
  254. package/dist/{http-server.d.ts → server/http-server.d.ts} +2 -2
  255. package/dist/server/http-server.d.ts.map +1 -0
  256. package/dist/{http-server.js → server/http-server.js} +38 -17
  257. package/dist/server/http-server.js.map +1 -0
  258. package/dist/{stdio-server.d.ts → server/stdio-server.d.ts} +1 -1
  259. package/dist/server/stdio-server.d.ts.map +1 -0
  260. package/dist/{stdio-server.js → server/stdio-server.js} +25 -11
  261. package/dist/server/stdio-server.js.map +1 -0
  262. package/dist/services/agent-spawn.service.d.ts +1 -1
  263. package/dist/services/agent-spawn.service.d.ts.map +1 -1
  264. package/dist/services/agent-spawn.service.js +17 -7
  265. package/dist/services/agent-spawn.service.js.map +1 -1
  266. package/dist/services/background-runner.d.ts +2 -2
  267. package/dist/services/background-runner.d.ts.map +1 -1
  268. package/dist/services/background-runner.js +8 -3
  269. package/dist/services/background-runner.js.map +1 -1
  270. package/dist/services/claude-spawn.service.d.ts.map +1 -1
  271. package/dist/services/claude-spawn.service.js +61 -52
  272. package/dist/services/claude-spawn.service.js.map +1 -1
  273. package/dist/services/codex-spawn.service.d.ts.map +1 -1
  274. package/dist/services/codex-spawn.service.js +52 -40
  275. package/dist/services/codex-spawn.service.js.map +1 -1
  276. package/dist/services/consolidation-prompts.d.ts +26 -0
  277. package/dist/services/consolidation-prompts.d.ts.map +1 -0
  278. package/dist/services/consolidation-prompts.js +144 -0
  279. package/dist/services/consolidation-prompts.js.map +1 -0
  280. package/dist/services/consolidation.service.d.ts +1 -5
  281. package/dist/services/consolidation.service.d.ts.map +1 -1
  282. package/dist/services/consolidation.service.js +53 -322
  283. package/dist/services/consolidation.service.js.map +1 -1
  284. package/dist/services/copilot-spawn.service.d.ts.map +1 -1
  285. package/dist/services/copilot-spawn.service.js +47 -57
  286. package/dist/services/copilot-spawn.service.js.map +1 -1
  287. package/dist/{daily-session.d.ts → services/daily-session.d.ts} +1 -1
  288. package/dist/services/daily-session.d.ts.map +1 -0
  289. package/dist/{daily-session.js → services/daily-session.js} +15 -14
  290. package/dist/services/daily-session.js.map +1 -0
  291. package/dist/services/dispatcher/broker.d.ts +0 -6
  292. package/dist/services/dispatcher/broker.d.ts.map +1 -1
  293. package/dist/services/dispatcher/broker.js +46 -38
  294. package/dist/services/dispatcher/broker.js.map +1 -1
  295. package/dist/services/dispatcher/index.d.ts +1 -1
  296. package/dist/services/dispatcher/index.d.ts.map +1 -1
  297. package/dist/services/dispatcher/index.js +1 -1
  298. package/dist/services/dispatcher/index.js.map +1 -1
  299. package/dist/services/dispatcher/lock.d.ts.map +1 -1
  300. package/dist/services/dispatcher/lock.js +24 -9
  301. package/dist/services/dispatcher/lock.js.map +1 -1
  302. package/dist/services/dispatcher/poller.d.ts +1 -1
  303. package/dist/services/dispatcher/poller.d.ts.map +1 -1
  304. package/dist/services/dispatcher/poller.js +74 -49
  305. package/dist/services/dispatcher/poller.js.map +1 -1
  306. package/dist/services/drive.d.ts.map +1 -0
  307. package/dist/{drive.js → services/drive.js} +1 -1
  308. package/dist/services/drive.js.map +1 -0
  309. package/dist/services/intent.d.ts.map +1 -0
  310. package/dist/{intent.js → services/intent.js} +78 -23
  311. package/dist/services/intent.js.map +1 -0
  312. package/dist/services/keep-alive-sync.service.d.ts +11 -0
  313. package/dist/services/keep-alive-sync.service.d.ts.map +1 -0
  314. package/dist/services/keep-alive-sync.service.js +47 -0
  315. package/dist/services/keep-alive-sync.service.js.map +1 -0
  316. package/dist/services/keeper.service.d.ts +1 -1
  317. package/dist/services/keeper.service.d.ts.map +1 -1
  318. package/dist/services/keeper.service.js +31 -18
  319. package/dist/services/keeper.service.js.map +1 -1
  320. package/dist/services/maintenance-signal.js +1 -1
  321. package/dist/services/maintenance-signal.js.map +1 -1
  322. package/dist/services/mcp-config.service.d.ts.map +1 -1
  323. package/dist/services/mcp-config.service.js +19 -6
  324. package/dist/services/mcp-config.service.js.map +1 -1
  325. package/dist/services/memory-briefing.service.d.ts.map +1 -1
  326. package/dist/services/memory-briefing.service.js +13 -7
  327. package/dist/services/memory-briefing.service.js.map +1 -1
  328. package/dist/services/memory-pruning.service.d.ts +12 -0
  329. package/dist/services/memory-pruning.service.d.ts.map +1 -0
  330. package/dist/services/memory-pruning.service.js +177 -0
  331. package/dist/services/memory-pruning.service.js.map +1 -0
  332. package/dist/services/process.service.d.ts +7 -2
  333. package/dist/services/process.service.d.ts.map +1 -1
  334. package/dist/services/process.service.js +233 -103
  335. package/dist/services/process.service.js.map +1 -1
  336. package/dist/services/reconnect-snapshot.service.d.ts.map +1 -1
  337. package/dist/services/reconnect-snapshot.service.js +3 -3
  338. package/dist/services/reconnect-snapshot.service.js.map +1 -1
  339. package/dist/{scheduler.d.ts → services/scheduler.d.ts} +1 -23
  340. package/dist/services/scheduler.d.ts.map +1 -0
  341. package/dist/{scheduler.js → services/scheduler.js} +6 -8
  342. package/dist/services/scheduler.js.map +1 -0
  343. package/dist/services/self-update.service.d.ts +15 -5
  344. package/dist/services/self-update.service.d.ts.map +1 -1
  345. package/dist/services/self-update.service.js +85 -41
  346. package/dist/services/self-update.service.js.map +1 -1
  347. package/dist/services/spawn-common.d.ts +40 -16
  348. package/dist/services/spawn-common.d.ts.map +1 -1
  349. package/dist/services/spawn-common.js +163 -36
  350. package/dist/services/spawn-common.js.map +1 -1
  351. package/dist/{telegram.d.ts → services/telegram.d.ts} +3 -3
  352. package/dist/services/telegram.d.ts.map +1 -0
  353. package/dist/{telegram.js → services/telegram.js} +16 -8
  354. package/dist/services/telegram.js.map +1 -0
  355. package/dist/services/thread-config.service.d.ts +25 -0
  356. package/dist/services/thread-config.service.d.ts.map +1 -0
  357. package/dist/services/thread-config.service.js +73 -0
  358. package/dist/services/thread-config.service.js.map +1 -0
  359. package/dist/services/thread-health.service.d.ts.map +1 -1
  360. package/dist/services/thread-health.service.js +23 -9
  361. package/dist/services/thread-health.service.js.map +1 -1
  362. package/dist/services/thread-lifecycle.service.d.ts.map +1 -1
  363. package/dist/services/thread-lifecycle.service.js +21 -7
  364. package/dist/services/thread-lifecycle.service.js.map +1 -1
  365. package/dist/services/topic.service.d.ts.map +1 -1
  366. package/dist/services/topic.service.js +17 -6
  367. package/dist/services/topic.service.js.map +1 -1
  368. package/dist/services/worker-cleanup.service.d.ts +3 -2
  369. package/dist/services/worker-cleanup.service.d.ts.map +1 -1
  370. package/dist/services/worker-cleanup.service.js +31 -19
  371. package/dist/services/worker-cleanup.service.js.map +1 -1
  372. package/dist/sessions/dashboard-registry.d.ts +38 -0
  373. package/dist/sessions/dashboard-registry.d.ts.map +1 -0
  374. package/dist/sessions/dashboard-registry.js +84 -0
  375. package/dist/sessions/dashboard-registry.js.map +1 -0
  376. package/dist/{sessions.d.ts → sessions/mcp-registry.d.ts} +3 -60
  377. package/dist/sessions/mcp-registry.d.ts.map +1 -0
  378. package/dist/{sessions.js → sessions/mcp-registry.js} +5 -214
  379. package/dist/sessions/mcp-registry.js.map +1 -0
  380. package/dist/sessions/session-store.d.ts +17 -0
  381. package/dist/sessions/session-store.d.ts.map +1 -0
  382. package/dist/sessions/session-store.js +69 -0
  383. package/dist/sessions/session-store.js.map +1 -0
  384. package/dist/sessions/topic-registry.d.ts +14 -0
  385. package/dist/sessions/topic-registry.d.ts.map +1 -0
  386. package/dist/sessions/topic-registry.js +67 -0
  387. package/dist/sessions/topic-registry.js.map +1 -0
  388. package/dist/tools/definitions.d.ts +1 -9
  389. package/dist/tools/definitions.d.ts.map +1 -1
  390. package/dist/tools/definitions.js.map +1 -1
  391. package/dist/tools/defs/memory-defs.d.ts +1 -1
  392. package/dist/tools/defs/memory-defs.d.ts.map +1 -1
  393. package/dist/tools/defs/memory-defs.js +1 -1
  394. package/dist/tools/defs/memory-defs.js.map +1 -1
  395. package/dist/tools/defs/session-defs.d.ts +1 -1
  396. package/dist/tools/defs/session-defs.d.ts.map +1 -1
  397. package/dist/tools/defs/session-defs.js +3 -14
  398. package/dist/tools/defs/session-defs.js.map +1 -1
  399. package/dist/tools/defs/skill-defs.d.ts +1 -1
  400. package/dist/tools/defs/skill-defs.d.ts.map +1 -1
  401. package/dist/tools/defs/types.d.ts +11 -0
  402. package/dist/tools/defs/types.d.ts.map +1 -0
  403. package/dist/{chat-ui/src → tools/defs}/types.js.map +1 -1
  404. package/dist/tools/defs/utility-defs.d.ts +1 -1
  405. package/dist/tools/defs/utility-defs.d.ts.map +1 -1
  406. package/dist/tools/defs/utility-defs.js.map +1 -1
  407. package/dist/tools/defs/wait-defs.d.ts +1 -1
  408. package/dist/tools/defs/wait-defs.d.ts.map +1 -1
  409. package/dist/tools/delegate-tool.d.ts +2 -2
  410. package/dist/tools/delegate-tool.d.ts.map +1 -1
  411. package/dist/tools/delegate-tool.js +57 -37
  412. package/dist/tools/delegate-tool.js.map +1 -1
  413. package/dist/tools/memory-tools.d.ts +2 -2
  414. package/dist/tools/memory-tools.d.ts.map +1 -1
  415. package/dist/tools/memory-tools.js +108 -37
  416. package/dist/tools/memory-tools.js.map +1 -1
  417. package/dist/{response-builders.d.ts → tools/response-builders.d.ts} +2 -2
  418. package/dist/tools/response-builders.d.ts.map +1 -0
  419. package/dist/{response-builders.js → tools/response-builders.js} +151 -30
  420. package/dist/tools/response-builders.js.map +1 -0
  421. package/dist/tools/session-tools.d.ts +5 -14
  422. package/dist/tools/session-tools.d.ts.map +1 -1
  423. package/dist/tools/session-tools.js +17 -12
  424. package/dist/tools/session-tools.js.map +1 -1
  425. package/dist/tools/shared-agent-utils.d.ts +1 -1
  426. package/dist/tools/shared-agent-utils.d.ts.map +1 -1
  427. package/dist/tools/shared-agent-utils.js +2 -4
  428. package/dist/tools/shared-agent-utils.js.map +1 -1
  429. package/dist/tools/skill-tools.d.ts +1 -1
  430. package/dist/tools/skill-tools.d.ts.map +1 -1
  431. package/dist/tools/skill-tools.js +12 -7
  432. package/dist/tools/skill-tools.js.map +1 -1
  433. package/dist/tools/start-session-tool.d.ts +3 -3
  434. package/dist/tools/start-session-tool.d.ts.map +1 -1
  435. package/dist/tools/start-session-tool.js +35 -25
  436. package/dist/tools/start-session-tool.js.map +1 -1
  437. package/dist/tools/utility-tools.d.ts +3 -3
  438. package/dist/tools/utility-tools.d.ts.map +1 -1
  439. package/dist/tools/utility-tools.js +46 -28
  440. package/dist/tools/utility-tools.js.map +1 -1
  441. package/dist/tools/wait/auto-forward.d.ts +1 -1
  442. package/dist/tools/wait/auto-forward.d.ts.map +1 -1
  443. package/dist/tools/wait/auto-forward.js +6 -4
  444. package/dist/tools/wait/auto-forward.js.map +1 -1
  445. package/dist/tools/wait/context.d.ts +45 -0
  446. package/dist/tools/wait/context.d.ts.map +1 -0
  447. package/dist/tools/wait/context.js +5 -0
  448. package/dist/tools/wait/context.js.map +1 -0
  449. package/dist/tools/wait/drive-handler.d.ts +2 -2
  450. package/dist/tools/wait/drive-handler.d.ts.map +1 -1
  451. package/dist/tools/wait/drive-handler.js +24 -12
  452. package/dist/tools/wait/drive-handler.js.map +1 -1
  453. package/dist/tools/wait/index.d.ts +2 -1
  454. package/dist/tools/wait/index.d.ts.map +1 -1
  455. package/dist/tools/wait/index.js.map +1 -1
  456. package/dist/tools/wait/media-processor.d.ts +4 -4
  457. package/dist/tools/wait/media-processor.d.ts.map +1 -1
  458. package/dist/tools/wait/media-processor.js +17 -8
  459. package/dist/tools/wait/media-processor.js.map +1 -1
  460. package/dist/tools/wait/message-delivery.d.ts +5 -5
  461. package/dist/tools/wait/message-delivery.d.ts.map +1 -1
  462. package/dist/tools/wait/message-delivery.js +78 -37
  463. package/dist/tools/wait/message-delivery.js.map +1 -1
  464. package/dist/tools/wait/message-processing.d.ts +2 -2
  465. package/dist/tools/wait/message-processing.d.ts.map +1 -1
  466. package/dist/tools/wait/message-processing.js +95 -37
  467. package/dist/tools/wait/message-processing.js.map +1 -1
  468. package/dist/tools/wait/poll-loop.d.ts +2 -41
  469. package/dist/tools/wait/poll-loop.d.ts.map +1 -1
  470. package/dist/tools/wait/poll-loop.js +75 -23
  471. package/dist/tools/wait/poll-loop.js.map +1 -1
  472. package/dist/tools/wait/reaction-handler.d.ts +3 -3
  473. package/dist/tools/wait/reaction-handler.d.ts.map +1 -1
  474. package/dist/tools/wait/reaction-handler.js +6 -6
  475. package/dist/tools/wait/reaction-handler.js.map +1 -1
  476. package/dist/tools/wait/task-handler.d.ts +1 -1
  477. package/dist/tools/wait/task-handler.d.ts.map +1 -1
  478. package/dist/tools/wait/task-handler.js +5 -4
  479. package/dist/tools/wait/task-handler.js.map +1 -1
  480. package/package.json +11 -2
  481. package/templates/code-review.default.md +1 -1
  482. package/templates/fire-and-forget.default.md +1 -1
  483. package/templates/handoff.default.md +1 -1
  484. package/templates/sensorium-repair.default.md +1 -1
  485. package/templates/sleep.default.md +1 -1
  486. package/dist/chat-ui/src/main.d.ts +0 -2
  487. package/dist/chat-ui/src/main.d.ts.map +0 -1
  488. package/dist/chat-ui/src/main.js +0 -4
  489. package/dist/chat-ui/src/main.js.map +0 -1
  490. package/dist/chat-ui/src/markdown.d.ts +0 -2
  491. package/dist/chat-ui/src/markdown.d.ts.map +0 -1
  492. package/dist/chat-ui/src/markdown.js +0 -39
  493. package/dist/chat-ui/src/markdown.js.map +0 -1
  494. package/dist/chat-ui/src/mock-data.d.ts +0 -4
  495. package/dist/chat-ui/src/mock-data.d.ts.map +0 -1
  496. package/dist/chat-ui/src/mock-data.js +0 -230
  497. package/dist/chat-ui/src/mock-data.js.map +0 -1
  498. package/dist/chat-ui/src/types.d.ts +0 -47
  499. package/dist/chat-ui/src/types.d.ts.map +0 -1
  500. package/dist/chat-ui/vite.config.d.ts +0 -3
  501. package/dist/chat-ui/vite.config.d.ts.map +0 -1
  502. package/dist/chat-ui/vite.config.js +0 -14
  503. package/dist/chat-ui/vite.config.js.map +0 -1
  504. package/dist/config.d.ts +0 -228
  505. package/dist/config.d.ts.map +0 -1
  506. package/dist/config.js +0 -841
  507. package/dist/config.js.map +0 -1
  508. package/dist/daily-session.d.ts.map +0 -1
  509. package/dist/daily-session.js.map +0 -1
  510. package/dist/dashboard.d.ts +0 -10
  511. package/dist/dashboard.d.ts.map +0 -1
  512. package/dist/dashboard.js +0 -10
  513. package/dist/dashboard.js.map +0 -1
  514. package/dist/data/memory/semantic.d.ts.map +0 -1
  515. package/dist/data/memory/semantic.js +0 -588
  516. package/dist/data/memory/semantic.js.map +0 -1
  517. package/dist/dispatcher.d.ts +0 -9
  518. package/dist/dispatcher.d.ts.map +0 -1
  519. package/dist/dispatcher.js +0 -9
  520. package/dist/dispatcher.js.map +0 -1
  521. package/dist/drive.d.ts.map +0 -1
  522. package/dist/drive.js.map +0 -1
  523. package/dist/http-server.d.ts.map +0 -1
  524. package/dist/http-server.js.map +0 -1
  525. package/dist/intent.d.ts.map +0 -1
  526. package/dist/intent.js.map +0 -1
  527. package/dist/logger.d.ts.map +0 -1
  528. package/dist/logger.js.map +0 -1
  529. package/dist/markdown.d.ts.map +0 -1
  530. package/dist/markdown.js.map +0 -1
  531. package/dist/memory.d.ts +0 -9
  532. package/dist/memory.d.ts.map +0 -1
  533. package/dist/memory.js +0 -9
  534. package/dist/memory.js.map +0 -1
  535. package/dist/openai.d.ts +0 -13
  536. package/dist/openai.d.ts.map +0 -1
  537. package/dist/openai.js +0 -17
  538. package/dist/openai.js.map +0 -1
  539. package/dist/response-builders.d.ts.map +0 -1
  540. package/dist/response-builders.js.map +0 -1
  541. package/dist/scheduler.d.ts.map +0 -1
  542. package/dist/scheduler.js.map +0 -1
  543. package/dist/sessions.d.ts.map +0 -1
  544. package/dist/sessions.js.map +0 -1
  545. package/dist/stdio-server.d.ts.map +0 -1
  546. package/dist/stdio-server.js.map +0 -1
  547. package/dist/telegram.d.ts.map +0 -1
  548. package/dist/telegram.js.map +0 -1
  549. package/dist/tool-definitions.d.ts +0 -2
  550. package/dist/tool-definitions.d.ts.map +0 -1
  551. package/dist/tool-definitions.js +0 -2
  552. package/dist/tool-definitions.js.map +0 -1
  553. package/dist/types.d.ts.map +0 -1
  554. package/dist/types.js.map +0 -1
  555. package/dist/utils.d.ts.map +0 -1
  556. package/dist/utils.js.map +0 -1
  557. /package/dist/{logger.d.ts → lib/logger.d.ts} +0 -0
  558. /package/dist/{markdown.d.ts → lib/markdown.d.ts} +0 -0
  559. /package/dist/{types.js → lib/types.js} +0 -0
  560. /package/dist/{utils.d.ts → lib/utils.d.ts} +0 -0
  561. /package/dist/{drive.d.ts → services/drive.d.ts} +0 -0
  562. /package/dist/{intent.d.ts → services/intent.d.ts} +0 -0
  563. /package/dist/{chat-ui/src → tools/defs}/types.js +0 -0
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Prompt builders for the temporal narrative pipeline.
3
+ */
4
+ export function buildPrompt(resolution, episodesText, notesText, episodeCount, periodLabel, periodStart) {
5
+ const startYear = new Date(periodStart).getFullYear();
6
+ const endYear = new Date().getFullYear();
7
+ const instructions = {
8
+ day: `Write a narrative of what happened today (${periodLabel}). Tell the story chronologically — what happened, why, what it caused. Include timestamps (hours:minutes) for each event. Write in flowing prose, connecting events with cause and effect. Be specific: name systems, threads, versions, IDs. Target ~400 tokens.`,
9
+ week: `Write a narrative of the key developments this week (${periodLabel}). Tell the story chronologically by day. For each event: what triggered it, what was decided, what resulted. Connect events across days — show how Monday's decision led to Wednesday's outcome. Write in flowing prose, not a list. Use day-level dates, no hours. Target ~800 tokens.`,
10
+ month: `Write a chronological decision log for this month (${periodLabel}). Format: "Date — decision/event. Reason. Result." One entry per line. Each entry should have enough context to stand alone — a reader who sees only this entry should understand why it matters. Only include: decisions that changed project direction, bugs that broke something, features shipped. Skip routine fixes, code reviews, type errors, status checks. Day-level dates, no hours. End with unresolved items. Target ~1600 tokens.`,
11
+ quarter: `Write a narrative overview of this quarter (${periodLabel}) organized by initiative. Group by subsystem (e.g. "Dashboard", "Memory system", "Narrative pipeline", "Session management"). For each initiative, write 1-2 flowing paragraphs that tell the STORY of how it evolved: what the state was at the start of the quarter, what problems appeared, what decisions were made and why, and where it ended up. Reference specific dates, versions, and IDs as evidence within the prose — but do NOT use a list or log format. The reader should understand the arc of each initiative from a connected narrative, not from scanning dated entries. Include initiatives where direction changed, major bugs appeared, features shipped, or architecture shifted. Episodes marked [imp: 0.6+] are operator-priority — weave them in. End with a short "Unresolved" section. Target ~3000 tokens.`,
12
+ half_year: `Write a high-level evolution summary for this half-year (${periodLabel}). Do NOT repeat the quarterly grouped changelog — instead, synthesize it into 5-8 thematic arcs that show HOW the project evolved. For each arc: what the system looked like at the start, what forces drove change, and where it ended up. Example arcs: "Memory system evolution", "Session management maturity", "Narrative pipeline development". Within each arc, reference specific dates and versions as evidence, but the focus is the trajectory, not individual events. End with a "Current state" section: what works, what's fragile, what's next. Target ~4000 tokens.`,
13
+ };
14
+ const styleByResolution = {
15
+ day: `STYLE:
16
+ - Write flowing prose, not bullet points or numbered lists. Connect events into a story.
17
+ - First person for yourself ("I did..."), third person for the operator ("The operator...").
18
+ - Name every system, thread, feature by exact name with IDs where available.
19
+ - Be concrete — every sentence needs at least one identifier (name, version, date, ID, number).
20
+ - Preserve cause-and-effect chains: "X happened because Y, which led to Z."
21
+ - No filler phrases: "significant progress", "notable improvement", "pivotal moment", "crucial step".
22
+ - NEVER open with "In [Month]..." or "During [Month]..." — start with what happened.
23
+ - NEVER write introductory or concluding paragraphs that summarize.`,
24
+ week: `STYLE:
25
+ - Write flowing prose, not bullet points or numbered lists. Connect events into a weekly story.
26
+ - First person for yourself ("I did..."), third person for the operator ("The operator...").
27
+ - Name every system, thread, feature by exact name with IDs where available.
28
+ - Be concrete — every sentence needs at least one identifier (name, version, date, ID, number).
29
+ - Preserve cause-and-effect chains across days.
30
+ - No filler phrases: "significant progress", "notable improvement", "pivotal moment", "crucial step".
31
+ - NEVER open with "In [Month]..." or "During [Month]..." — start with what happened.
32
+ - NEVER write introductory or concluding paragraphs that summarize.`,
33
+ month: `STYLE:
34
+ - Each log entry: 1-2 sentences with full context. A reader should understand the entry without reading others.
35
+ - First person for yourself ("I did..."), third person for the operator ("The operator...").
36
+ - Name every system, thread, feature by exact name with IDs where available.
37
+ - No filler phrases: "significant progress", "notable improvement", "pivotal moment", "crucial step".
38
+ - NEVER open with "In [Month]..." or "During [Month]..." or "The period was marked by...".
39
+ - NEVER write introductory or concluding paragraphs.`,
40
+ quarter: `STYLE:
41
+ - Start each initiative with its name on its own line, then write 1-2 prose paragraphs. NO dated entries, NO log format.
42
+ - Write flowing connected narrative — "The memory system entered the quarter with X problem. In April, Y happened because Z, which led to W by May."
43
+ - First person for yourself ("I did..."), third person for the operator ("The operator...").
44
+ - Name every system, thread, feature by exact name with IDs where available.
45
+ - Reference dates and versions naturally within prose, not as entry prefixes.
46
+ - Show cross-month cause-effect — how one month's decisions shaped the next.
47
+ - No filler phrases: "significant progress", "notable improvement", "pivotal moment", "crucial step".
48
+ - NEVER open with "In [Month]..." or "During [Month]..." or "The period was marked by...".
49
+ - NEVER write introductory or concluding paragraphs.`,
50
+ half_year: `STYLE:
51
+ - Write in thematic arc paragraphs, not a chronological list. Each arc = 1-2 paragraphs.
52
+ - First person for yourself ("I did..."), third person for the operator ("The operator...").
53
+ - Name every system, thread, feature by exact name with IDs where available.
54
+ - Within each arc, reference specific dates and versions as evidence of the trajectory.
55
+ - No filler phrases: "significant progress", "notable improvement", "pivotal moment", "crucial step".
56
+ - NEVER open with "In [Month]..." or "During [Month]..." or "The period was marked by...".
57
+ - NEVER write an introductory paragraph. Start directly with the first arc.`,
58
+ };
59
+ return `You are a temporal memory narrator. You create concise records from raw interaction data.
60
+
61
+ ${instructions[resolution]}
62
+
63
+ ${styleByResolution[resolution]}
64
+ - Only use years in the range ${startYear}${startYear !== endYear ? `–${endYear}` : ""}.
65
+
66
+ SOURCE DATA (${episodeCount} episodes):
67
+
68
+ === Recent Episodes ===
69
+ ${episodesText || "(no episodes in this period)"}
70
+
71
+ === Relevant Knowledge ===
72
+ ${notesText || "(no notes)"}
73
+
74
+ Write now. Plain text, no markdown.`;
75
+ }
76
+ export function buildHierarchicalPrompt(resolution, childNarrativesText, childResolution, childCount, periodLabel, periodStart) {
77
+ const startYear = new Date(periodStart).getFullYear();
78
+ const endYear = new Date().getFullYear();
79
+ const instructions = {
80
+ month: `Write a chronological decision log for this month (${periodLabel}). You have ${childCount} weekly narratives below. Format: "Date — decision/event. Reason. Result." One entry per line. Each entry should have enough context to stand alone — a reader who sees only this entry should understand why it matters. Preserve important context from the weekly narratives — don't compress away the reasons and consequences. Only include: decisions that changed project direction, bugs that broke something, features shipped. Skip routine fixes, code reviews, type errors. Day-level dates, no hours. End with unresolved items. Target ~1600 tokens.`,
81
+ quarter: `Write a narrative overview of this quarter (${periodLabel}) organized by initiative. You have ${childCount} monthly narratives and possibly top-importance raw episodes below. Group by subsystem (e.g. "Dashboard", "Memory system", "Narrative pipeline", "Session management"). For each initiative, write 1-2 flowing paragraphs that tell the STORY of how it evolved: what the state was at the start, what problems appeared, what decisions were made and why, and where it ended up. Reference specific dates, versions, and IDs within the prose — but do NOT use a list or log format. Synthesize the monthly narratives into a connected story, don't just re-list their entries. The reader should understand each initiative's arc from prose, not from scanning dated lines. Raw episodes marked [imp: 0.6+] are operator-priority — weave them in. End with a short "Unresolved" section. Target ~3000 tokens.`,
82
+ half_year: `Write a high-level evolution summary for this half-year (${periodLabel}). You have ${childCount} quarterly changelogs and possibly top-importance raw episodes below. Do NOT repeat the quarterly grouped changelogs — instead, synthesize them into 5-8 thematic arcs that show HOW the project evolved over 6 months. For each arc: what the system looked like at the start of the period, what forces drove change (operator feedback, bugs, scaling needs), and where it ended up. Example arcs: "Memory system evolution", "Session management maturity", "Narrative pipeline development". Within each arc, reference specific dates and versions as evidence, but the focus is the trajectory — not individual events. End with a "Current state" section: what works, what's fragile, what's next. Target ~4000 tokens.`,
83
+ };
84
+ const styleByResolution = {
85
+ month: `STYLE:
86
+ - Each log entry: 1-3 sentences with full context. Explain the situation, not just the fact.
87
+ - First person for yourself ("I did..."), third person for the operator ("The operator...").
88
+ - Name every system, thread, feature by exact name with IDs where available.
89
+ - Every sentence must have at least one identifier (name, version, date, ID, number).
90
+ - No filler phrases: "significant progress", "notable improvement", "pivotal moment", "crucial step", "driven by", "shaped the direction", "the focus remains on".
91
+ - NEVER open with "In [Month]..." or "During [Month]..." or "The period was marked by...".
92
+ - NEVER write introductory or concluding paragraphs.`,
93
+ quarter: `STYLE:
94
+ - Start each initiative with its name on its own line, then write 1-2 prose paragraphs. NO dated entries, NO log format.
95
+ - Write flowing connected narrative that tells the story of each initiative's evolution.
96
+ - First person for yourself ("I did..."), third person for the operator ("The operator...").
97
+ - Name every system, thread, feature by exact name with IDs where available.
98
+ - Reference dates and versions naturally within prose, not as entry prefixes.
99
+ - No filler phrases: "significant progress", "notable improvement", "pivotal moment", "crucial step", "driven by", "shaped the direction", "the focus remains on".
100
+ - NEVER open with "In [Month]..." or "During [Month]..." or "The period was marked by...".
101
+ - NEVER write introductory or concluding paragraphs.`,
102
+ half_year: `STYLE:
103
+ - Write in thematic arc paragraphs. Each arc = 1-2 paragraphs showing system evolution.
104
+ - First person for yourself ("I did..."), third person for the operator ("The operator...").
105
+ - Name every system, thread, feature by exact name with IDs where available.
106
+ - Reference dates and versions as evidence of the trajectory within prose.
107
+ - No filler phrases: "significant progress", "notable improvement", "pivotal moment", "crucial step", "driven by", "shaped the direction", "the focus remains on".
108
+ - NEVER open with "In [Month]..." or "During [Month]..." or "The period was marked by...".
109
+ - NEVER write introductory or concluding paragraphs.`,
110
+ };
111
+ return `You are a temporal memory narrator. You synthesize lower-resolution narratives into higher-level summaries.
112
+
113
+ ${instructions[resolution]}
114
+
115
+ ${styleByResolution[resolution] || ""}
116
+ - Only use years in the range ${startYear}${startYear !== endYear ? `–${endYear}` : ""}.
117
+
118
+ SOURCE: ${childCount} ${childResolution} narratives
119
+
120
+ ${childNarrativesText}
121
+
122
+ Write now. Plain text, no markdown.`;
123
+ }
124
+ //# sourceMappingURL=narrative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"narrative.js","sourceRoot":"","sources":["../../../src/llm/prompts/narrative.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,UAAU,WAAW,CACzB,UAA+B,EAC/B,YAAoB,EACpB,SAAiB,EACjB,YAAoB,EACpB,WAAmB,EACnB,WAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,YAAY,GAAwC;QACxD,GAAG,EAAE,6CAA6C,WAAW,oQAAoQ;QACjU,IAAI,EAAE,wDAAwD,WAAW,0RAA0R;QACnW,KAAK,EAAE,sDAAsD,WAAW,kbAAkb;QAC1f,OAAO,EAAE,+CAA+C,WAAW,2yBAA2yB;QAC92B,SAAS,EAAE,4DAA4D,WAAW,sjBAAsjB;KACzoB,CAAC;IAEF,MAAM,iBAAiB,GAAwC;QAC7D,GAAG,EAAE;;;;;;;;oEAQ2D;QAChE,IAAI,EAAE;;;;;;;;oEAQ0D;QAChE,KAAK,EAAE;;;;;;qDAM0C;QACjD,OAAO,EAAE;;;;;;;;;qDASwC;QACjD,SAAS,EAAE;;;;;;;4EAO6D;KACzE,CAAC;IAEF,OAAO;;EAEP,YAAY,CAAC,UAAU,CAAC;;EAExB,iBAAiB,CAAC,UAAU,CAAC;gCACC,SAAS,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;;eAEvE,YAAY;;;EAGzB,YAAY,IAAI,8BAA8B;;;EAG9C,SAAS,IAAI,YAAY;;oCAES,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAA+B,EAC/B,mBAA2B,EAC3B,eAAoC,EACpC,UAAkB,EAClB,WAAmB,EACnB,WAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,YAAY,GAAiD;QACjE,KAAK,EAAE,sDAAsD,WAAW,eAAe,UAAU,oiBAAoiB;QACroB,OAAO,EAAE,+CAA+C,WAAW,uCAAuC,UAAU,qxBAAqxB;QACz4B,SAAS,EAAE,4DAA4D,WAAW,eAAe,UAAU,ksBAAksB;KAC9yB,CAAC;IAEF,MAAM,iBAAiB,GAAiD;QACtE,KAAK,EAAE;;;;;;;qDAO0C;QACjD,OAAO,EAAE;;;;;;;;qDAQwC;QACjD,SAAS,EAAE;;;;;;;qDAOsC;KAClD,CAAC;IAEF,OAAO;;EAEP,YAAY,CAAC,UAAU,CAAC;;EAExB,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE;gCACL,SAAS,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;;UAE5E,UAAU,IAAI,eAAe;;EAErC,mBAAmB;;oCAEe,CAAC;AACrC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * System prompts for the two-step reflection pipeline (analyze, then structure).
3
+ */
4
+ export declare const REFLECTION_ANALYZE_PROMPT = "You are a reflective reasoning system analyzing your own recent experiences. Your job is to think deeply and freely \u2014 no templates, no JSON, no structured output.\n\nAnalyze the episodes for patterns, cause-effect chains, mistakes, recurring situations, and missed opportunities. Write in first person (\"I\"). Produce 2-3 paragraphs of genuine free-form reasoning. Focus on WHY things happened, not just WHAT happened. Dig into root causes and underlying mechanisms.\n\n## BANNED topics \u2014 do NOT analyze:\n- The memory system, consolidation, audits, cleanup, deduplication, or memory quality\n- The agent's own internal operations or meta-processes\n- How the agent manages its own notes, reflections, or knowledge base\n- Only reflect on EXTERNAL work: the project, codebase, operator interactions, technical decisions.";
5
+ export declare const REFLECTION_STRUCTURE_PROMPT = "You are a reflective reasoning system. You will receive a free-form analysis and the original episodes it was based on. Your job is to extract ONLY genuinely valuable, project-specific insights \u2014 usually zero, occasionally one or two. Returning an empty list is the correct and expected outcome for a routine session.\n\nFor each insight, you MUST fill in ALL 5 template fields. If the analysis does not support filling every field with specific, concrete information, SKIP that insight entirely. Do not produce vague filler.\n\n## The bar for including an insight (ALL must hold):\n- It is specific to THIS project/operator \u2014 not general engineering or PM knowledge any competent agent already has.\n- The lesson names something concrete: a file, component, version, identifier, command, person, or number. Generic maxims (\"Always communicate clearly\", \"Break tasks into steps\", \"Always use UtcNow\") are REJECTED.\n- It would actually change what the agent does in a future session. If it wouldn't, drop it.\n- It is not already obvious from the fact/preference notes the system extracts separately.\nWhen in doubt, leave it out. Two truly project-specific insights per week is healthy; five per session is failure.\n\n## Template fields (ALL required):\n\n1. **decision** \u2014 What specific action or choice was made? Name the exact thing that happened.\n2. **context** \u2014 What was the situation that triggered this? What were the conditions?\n3. **outcome** \u2014 What was the concrete result? Was it positive or negative? Be specific.\n4. **root_cause** \u2014 WHY did this outcome happen? This must NOT restate the outcome. Dig deeper. What was the actual mechanism?\n5. **lesson** \u2014 A concrete, executable instruction for next time that names a specific file, component, version, command, or number. Start with a verb. \"Set DeployBook maxRetries above 0\" is good; \"Always configure retries properly\" is a rejected platitude.\n\n## Task domain (required):\n\nClassify each insight with a short freeform domain tag (1-2 words, kebab-case). Examples: debugging, linkedin-strategy, memory-system, hiring, content-marketing, architecture. Pick whatever fits the topic naturally.\n\n## Insight types:\n\n- \"causal\": cause-effect chains \u2014 \"When [X], it led to [Y] because [Z]\"\n- \"pattern\": recurring behaviors or situations\n- \"counterfactual\": what could have been done differently\n- \"self_assessment\": strengths and weaknesses\n\nRespond in JSON format:\n{\n \"insights\": [\n {\n \"type\": \"causal\" | \"pattern\" | \"self_assessment\" | \"counterfactual\",\n \"decision\": \"The specific action taken\",\n \"context\": \"What triggered it\",\n \"outcome\": \"What happened as a result\",\n \"root_cause\": \"The underlying WHY\",\n \"lesson\": \"Concrete instruction for next time\",\n \"domain\": \"short-kebab-case-tag\",\n \"confidence\": 0.0-1.0,\n \"episode_refs\": [\"ep_xxx\", \"ep_yyy\"]\n }\n ]\n}\n\n## Anti-patterns (your output WILL BE REJECTED if it contains these):\n\n- \"The agent tends to...\" / \"I tend to...\" \u2014 vague observation, not actionable\n- \"Should consider...\" \u2014 wishy-washy, not a concrete instruction\n- \"In general...\" / \"Overall...\" / \"significant progress\" / \"notable improvements\" \u2014 too abstract\n- \"various features\" / \"several enhancements\" / \"multiple improvements\" \u2014 unspecific\n- Restating the outcome as the root cause\n- Lesson that doesn't start with a verb\n- Any field shorter than 10 characters\n\nRules:\n- Minimum 0, maximum 5 insights \u2014 returning zero is common and correct; never invent an insight to fill the list\n- Each insight must reference specific episodes by their ID (from the original episodes provided)\n- Confidence should reflect how well-supported the insight is by evidence\n- Causal insights are most valuable \u2014 prioritize cause-and-effect\n- Quality over quantity: one project-specific insight beats five generic ones\n- Return {\"insights\": []} if the analysis does not support any deep, project-specific insight \u2014 this is the default";
6
+ //# sourceMappingURL=reflection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflection.d.ts","sourceRoot":"","sources":["../../../src/llm/prompts/reflection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,yBAAyB,o0BAQ8D,CAAC;AAErG,eAAO,MAAM,2BAA2B,qkIA+D4E,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * System prompts for the two-step reflection pipeline (analyze, then structure).
3
+ */
4
+ export const REFLECTION_ANALYZE_PROMPT = `You are a reflective reasoning system analyzing your own recent experiences. Your job is to think deeply and freely — no templates, no JSON, no structured output.
5
+
6
+ Analyze the episodes for patterns, cause-effect chains, mistakes, recurring situations, and missed opportunities. Write in first person ("I"). Produce 2-3 paragraphs of genuine free-form reasoning. Focus on WHY things happened, not just WHAT happened. Dig into root causes and underlying mechanisms.
7
+
8
+ ## BANNED topics — do NOT analyze:
9
+ - The memory system, consolidation, audits, cleanup, deduplication, or memory quality
10
+ - The agent's own internal operations or meta-processes
11
+ - How the agent manages its own notes, reflections, or knowledge base
12
+ - Only reflect on EXTERNAL work: the project, codebase, operator interactions, technical decisions.`;
13
+ export const REFLECTION_STRUCTURE_PROMPT = `You are a reflective reasoning system. You will receive a free-form analysis and the original episodes it was based on. Your job is to extract ONLY genuinely valuable, project-specific insights — usually zero, occasionally one or two. Returning an empty list is the correct and expected outcome for a routine session.
14
+
15
+ For each insight, you MUST fill in ALL 5 template fields. If the analysis does not support filling every field with specific, concrete information, SKIP that insight entirely. Do not produce vague filler.
16
+
17
+ ## The bar for including an insight (ALL must hold):
18
+ - It is specific to THIS project/operator — not general engineering or PM knowledge any competent agent already has.
19
+ - The lesson names something concrete: a file, component, version, identifier, command, person, or number. Generic maxims ("Always communicate clearly", "Break tasks into steps", "Always use UtcNow") are REJECTED.
20
+ - It would actually change what the agent does in a future session. If it wouldn't, drop it.
21
+ - It is not already obvious from the fact/preference notes the system extracts separately.
22
+ When in doubt, leave it out. Two truly project-specific insights per week is healthy; five per session is failure.
23
+
24
+ ## Template fields (ALL required):
25
+
26
+ 1. **decision** — What specific action or choice was made? Name the exact thing that happened.
27
+ 2. **context** — What was the situation that triggered this? What were the conditions?
28
+ 3. **outcome** — What was the concrete result? Was it positive or negative? Be specific.
29
+ 4. **root_cause** — WHY did this outcome happen? This must NOT restate the outcome. Dig deeper. What was the actual mechanism?
30
+ 5. **lesson** — A concrete, executable instruction for next time that names a specific file, component, version, command, or number. Start with a verb. "Set DeployBook maxRetries above 0" is good; "Always configure retries properly" is a rejected platitude.
31
+
32
+ ## Task domain (required):
33
+
34
+ Classify each insight with a short freeform domain tag (1-2 words, kebab-case). Examples: debugging, linkedin-strategy, memory-system, hiring, content-marketing, architecture. Pick whatever fits the topic naturally.
35
+
36
+ ## Insight types:
37
+
38
+ - "causal": cause-effect chains — "When [X], it led to [Y] because [Z]"
39
+ - "pattern": recurring behaviors or situations
40
+ - "counterfactual": what could have been done differently
41
+ - "self_assessment": strengths and weaknesses
42
+
43
+ Respond in JSON format:
44
+ {
45
+ "insights": [
46
+ {
47
+ "type": "causal" | "pattern" | "self_assessment" | "counterfactual",
48
+ "decision": "The specific action taken",
49
+ "context": "What triggered it",
50
+ "outcome": "What happened as a result",
51
+ "root_cause": "The underlying WHY",
52
+ "lesson": "Concrete instruction for next time",
53
+ "domain": "short-kebab-case-tag",
54
+ "confidence": 0.0-1.0,
55
+ "episode_refs": ["ep_xxx", "ep_yyy"]
56
+ }
57
+ ]
58
+ }
59
+
60
+ ## Anti-patterns (your output WILL BE REJECTED if it contains these):
61
+
62
+ - "The agent tends to..." / "I tend to..." — vague observation, not actionable
63
+ - "Should consider..." — wishy-washy, not a concrete instruction
64
+ - "In general..." / "Overall..." / "significant progress" / "notable improvements" — too abstract
65
+ - "various features" / "several enhancements" / "multiple improvements" — unspecific
66
+ - Restating the outcome as the root cause
67
+ - Lesson that doesn't start with a verb
68
+ - Any field shorter than 10 characters
69
+
70
+ Rules:
71
+ - Minimum 0, maximum 5 insights — returning zero is common and correct; never invent an insight to fill the list
72
+ - Each insight must reference specific episodes by their ID (from the original episodes provided)
73
+ - Confidence should reflect how well-supported the insight is by evidence
74
+ - Causal insights are most valuable — prioritize cause-and-effect
75
+ - Quality over quantity: one project-specific insight beats five generic ones
76
+ - Return {"insights": []} if the analysis does not support any deep, project-specific insight — this is the default`;
77
+ //# sourceMappingURL=reflection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../../src/llm/prompts/reflection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;oGAQ2D,CAAC;AAErG,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oHA+DyE,CAAC"}
@@ -6,9 +6,9 @@
6
6
  * All instances share the same tool handler logic and in-process state.
7
7
  */
8
8
  import type { Database } from "better-sqlite3";
9
- import type { TelegramClient } from "../telegram.js";
9
+ import type { TelegramClient } from "../services/telegram.js";
10
10
  import type { ThreadLifecycleService } from "../services/thread-lifecycle.service.js";
11
- import type { CreateMcpServerFn } from "../types.js";
11
+ import type { CreateMcpServerFn } from "../lib/types.js";
12
12
  /**
13
13
  * Builds a `CreateMcpServerFn` that closes over the shared runtime singletons
14
14
  * (Telegram client, memory database accessor). The returned function is the
@@ -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;AAiB/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"}
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;AAmB/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAqB9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AAMrE;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,QAAQ,EAC3B,eAAe,EAAE,sBAAsB,GACtC,iBAAiB,CAUnB"}
@@ -6,23 +6,25 @@
6
6
  * All instances share the same tool handler logic and in-process state.
7
7
  */
8
8
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
9
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
9
+ import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
10
10
  import { writeActivityHeartbeat, writeThreadHeartbeat } from "../data/file-storage.js";
11
- import { config, getMemorySourceThreadId, getEffectiveAutonomousMode } from "../config.js";
12
- import { peekThreadMessages, readThreadMessages, appendToThread } from "../dispatcher.js";
13
- import { formatDrivePrompt } from "../drive.js";
14
- import { updateDashboardActivity, updateDashboardThreadId, updateLastWaitCall, registerSessionCloseFlush, } from "../sessions.js";
11
+ import { config, getMemorySourceThreadId } from "../config/index.js";
12
+ import { getEffectiveAutonomousMode } from "../services/thread-config.service.js";
13
+ import { peekThreadMessages, readThreadMessages, appendToThread, } from "../services/dispatcher/index.js";
14
+ import { formatDrivePrompt } from "../services/drive.js";
15
+ import { updateDashboardActivity, updateDashboardThreadId, updateLastWaitCall, } from "../sessions/dashboard-registry.js";
16
+ import { registerSessionCloseFlush } from "../sessions/mcp-registry.js";
15
17
  import { maybeAutoForwardFinalText } from "../tools/wait/auto-forward.js";
16
18
  import { ALL_TOOL_DEFINITIONS } from "../tools/definitions.js";
17
- import { errorMessage, errorResult } from "../utils.js";
18
- import { getReminders, getShortReminder } from "../response-builders.js";
19
- import { log } from "../logger.js";
19
+ import { errorMessage, errorResult } from "../lib/utils.js";
20
+ import { getReminders, getShortReminder } from "../tools/response-builders.js";
21
+ import { log } from "../lib/logger.js";
20
22
  import { handleMemoryTool } from "../tools/memory-tools.js";
21
23
  import { handleUtilityTool } from "../tools/utility-tools.js";
22
24
  import { handleSessionTool } from "../tools/session-tools.js";
23
25
  import { handleStartSession } from "../tools/start-session-tool.js";
24
- import { handleWaitForInstructions } from "../tools/wait/index.js";
25
- import { handleStartThread, handleSendMessageToThread as handleSendMessageToThreadFile } from "../tools/delegate-tool.js";
26
+ import { handleWaitForInstructions, } from "../tools/wait/index.js";
27
+ import { handleStartThread, handleSendMessageToThread as handleSendMessageToThreadFile, } from "../tools/delegate-tool.js";
26
28
  import { getThreadsHealth } from "../services/thread-health.service.js";
27
29
  import { handleSearchSkills, handleGetSkill } from "../tools/skill-tools.js";
28
30
  // ---------------------------------------------------------------------------
@@ -96,9 +98,7 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle,
96
98
  }
97
99
  function resolveThreadId(args) {
98
100
  const raw = args?.threadId;
99
- const explicit = typeof raw === "number" ? raw
100
- : typeof raw === "string" ? Number(raw)
101
- : undefined;
101
+ const explicit = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : undefined;
102
102
  if (explicit !== undefined && Number.isFinite(explicit)) {
103
103
  return explicit;
104
104
  }
@@ -136,9 +136,7 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle,
136
136
  if (currentThreadId === undefined)
137
137
  return null;
138
138
  const raw = args?.threadId;
139
- const requested = typeof raw === "number" ? raw
140
- : typeof raw === "string" ? Number(raw)
141
- : undefined;
139
+ const requested = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : undefined;
142
140
  if (requested !== undefined && Number.isFinite(requested) && requested !== currentThreadId) {
143
141
  return `Cannot send to thread ${requested} — you are on thread ${currentThreadId}. Use send_message_to_thread for cross-thread communication.`;
144
142
  }
@@ -153,9 +151,7 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle,
153
151
  if (currentThreadId === undefined)
154
152
  return null;
155
153
  const raw = args?.threadId;
156
- const requested = typeof raw === "number" ? raw
157
- : typeof raw === "string" ? Number(raw)
158
- : undefined;
154
+ const requested = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : undefined;
159
155
  if (requested === undefined || !Number.isFinite(requested))
160
156
  return null;
161
157
  if (requested === currentThreadId)
@@ -171,7 +167,9 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle,
171
167
  getMemoryDb,
172
168
  errorResult,
173
169
  apiKey: config.OPENAI_API_KEY || undefined,
174
- onConsolidation: () => { lastConsolidationAt = Date.now(); },
170
+ onConsolidation: () => {
171
+ lastConsolidationAt = Date.now();
172
+ },
175
173
  };
176
174
  // ── Context builder helpers (capture current mutable state per-call) ────
177
175
  function buildUtilityCtx() {
@@ -212,30 +210,65 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle,
212
210
  getMemoryDb,
213
211
  threadLifecycle,
214
212
  };
215
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
216
213
  const toolHandlers = {
217
- start_session: (typedArgs) => {
214
+ start_session: async (typedArgs) => {
218
215
  const ctx = {
219
216
  session: {
220
- get currentThreadId() { return currentThreadId; },
221
- set currentThreadId(v) { currentThreadId = v; },
222
- get sessionStartedAt() { return sessionStartedAt; },
223
- set sessionStartedAt(v) { sessionStartedAt = v; },
224
- get sessionFullyInitialized() { return sessionFullyInitialized; },
225
- set sessionFullyInitialized(v) { sessionFullyInitialized = v; },
226
- get waitCallCount() { return waitCallCount; },
227
- set waitCallCount(v) { waitCallCount = v; },
228
- get lastToolCallAt() { return lastToolCallAt; },
229
- set lastToolCallAt(v) { lastToolCallAt = v; },
230
- get toolCallsSinceLastDelivery() { return toolCallsSinceLastDelivery; },
231
- set toolCallsSinceLastDelivery(v) { toolCallsSinceLastDelivery = v; },
217
+ get currentThreadId() {
218
+ return currentThreadId;
219
+ },
220
+ set currentThreadId(v) {
221
+ currentThreadId = v;
222
+ },
223
+ get sessionStartedAt() {
224
+ return sessionStartedAt;
225
+ },
226
+ set sessionStartedAt(v) {
227
+ sessionStartedAt = v;
228
+ },
229
+ get sessionFullyInitialized() {
230
+ return sessionFullyInitialized;
231
+ },
232
+ set sessionFullyInitialized(v) {
233
+ sessionFullyInitialized = v;
234
+ },
235
+ get waitCallCount() {
236
+ return waitCallCount;
237
+ },
238
+ set waitCallCount(v) {
239
+ waitCallCount = v;
240
+ },
241
+ get lastToolCallAt() {
242
+ return lastToolCallAt;
243
+ },
244
+ set lastToolCallAt(v) {
245
+ lastToolCallAt = v;
246
+ },
247
+ get toolCallsSinceLastDelivery() {
248
+ return toolCallsSinceLastDelivery;
249
+ },
250
+ set toolCallsSinceLastDelivery(v) {
251
+ toolCallsSinceLastDelivery = v;
252
+ },
232
253
  previewedUpdateIds,
233
- get lastOperatorMessageAt() { return lastOperatorMessageAt; },
234
- set lastOperatorMessageAt(v) { lastOperatorMessageAt = v; },
235
- get lastOperatorMessageText() { return lastOperatorMessageText; },
236
- set lastOperatorMessageText(v) { lastOperatorMessageText = v; },
237
- get lastConsolidationAt() { return lastConsolidationAt; },
238
- set lastConsolidationAt(v) { lastConsolidationAt = v; },
254
+ get lastOperatorMessageAt() {
255
+ return lastOperatorMessageAt;
256
+ },
257
+ set lastOperatorMessageAt(v) {
258
+ lastOperatorMessageAt = v;
259
+ },
260
+ get lastOperatorMessageText() {
261
+ return lastOperatorMessageText;
262
+ },
263
+ set lastOperatorMessageText(v) {
264
+ lastOperatorMessageText = v;
265
+ },
266
+ get lastConsolidationAt() {
267
+ return lastConsolidationAt;
268
+ },
269
+ set lastConsolidationAt(v) {
270
+ lastConsolidationAt = v;
271
+ },
239
272
  },
240
273
  telegram,
241
274
  telegramChatId,
@@ -246,15 +279,14 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle,
246
279
  getMcpSessionId,
247
280
  closeTransport,
248
281
  };
249
- return handleStartSession(typedArgs, ctx).then(result => {
250
- const sid = getMcpSessionId?.();
251
- if (sid && currentThreadId !== undefined) {
252
- updateDashboardThreadId(sid, currentThreadId);
253
- updateDashboardActivity(sid);
254
- registerSessionCloseFlush(sid, flushFinalTextOnClose);
255
- }
256
- return result;
257
- });
282
+ const result = await handleStartSession(typedArgs, ctx);
283
+ const sid = getMcpSessionId?.();
284
+ if (sid && currentThreadId !== undefined) {
285
+ updateDashboardThreadId(sid, currentThreadId);
286
+ updateDashboardActivity(sid);
287
+ registerSessionCloseFlush(sid, flushFinalTextOnClose);
288
+ }
289
+ return result;
258
290
  },
259
291
  remote_copilot_wait_for_instructions: (typedArgs, extra) => {
260
292
  const waitSid = getMcpSessionId?.();
@@ -267,28 +299,72 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle,
267
299
  }
268
300
  const waitCtx = {
269
301
  state: {
270
- get currentThreadId() { return currentThreadId; },
271
- set currentThreadId(v) { currentThreadId = v; },
272
- get sessionStartedAt() { return sessionStartedAt; },
273
- set sessionStartedAt(v) { sessionStartedAt = v; },
274
- get waitCallCount() { return waitCallCount; },
275
- set waitCallCount(v) { waitCallCount = v; },
276
- get lastToolCallAt() { return lastToolCallAt; },
277
- set lastToolCallAt(v) { lastToolCallAt = v; },
278
- get toolCallsSinceLastDelivery() { return toolCallsSinceLastDelivery; },
279
- set toolCallsSinceLastDelivery(v) { toolCallsSinceLastDelivery = v; },
280
- get operatorSendsThisTurn() { return operatorSendsThisTurn; },
281
- set operatorSendsThisTurn(v) { operatorSendsThisTurn = v; },
282
- get lastOperatorMessageAt() { return lastOperatorMessageAt; },
283
- set lastOperatorMessageAt(v) { lastOperatorMessageAt = v; },
284
- get lastOperatorMessageText() { return lastOperatorMessageText; },
285
- set lastOperatorMessageText(v) { lastOperatorMessageText = v; },
286
- get lastConsolidationAt() { return lastConsolidationAt; },
287
- set lastConsolidationAt(v) { lastConsolidationAt = v; },
288
- get lastDriveAttemptAt() { return lastDriveAttemptAt; },
289
- set lastDriveAttemptAt(v) { lastDriveAttemptAt = v; },
290
- get drivePhase2Fired() { return drivePhase2Fired; },
291
- set drivePhase2Fired(v) { drivePhase2Fired = v; },
302
+ get currentThreadId() {
303
+ return currentThreadId;
304
+ },
305
+ set currentThreadId(v) {
306
+ currentThreadId = v;
307
+ },
308
+ get sessionStartedAt() {
309
+ return sessionStartedAt;
310
+ },
311
+ set sessionStartedAt(v) {
312
+ sessionStartedAt = v;
313
+ },
314
+ get waitCallCount() {
315
+ return waitCallCount;
316
+ },
317
+ set waitCallCount(v) {
318
+ waitCallCount = v;
319
+ },
320
+ get lastToolCallAt() {
321
+ return lastToolCallAt;
322
+ },
323
+ set lastToolCallAt(v) {
324
+ lastToolCallAt = v;
325
+ },
326
+ get toolCallsSinceLastDelivery() {
327
+ return toolCallsSinceLastDelivery;
328
+ },
329
+ set toolCallsSinceLastDelivery(v) {
330
+ toolCallsSinceLastDelivery = v;
331
+ },
332
+ get operatorSendsThisTurn() {
333
+ return operatorSendsThisTurn;
334
+ },
335
+ set operatorSendsThisTurn(v) {
336
+ operatorSendsThisTurn = v;
337
+ },
338
+ get lastOperatorMessageAt() {
339
+ return lastOperatorMessageAt;
340
+ },
341
+ set lastOperatorMessageAt(v) {
342
+ lastOperatorMessageAt = v;
343
+ },
344
+ get lastOperatorMessageText() {
345
+ return lastOperatorMessageText;
346
+ },
347
+ set lastOperatorMessageText(v) {
348
+ lastOperatorMessageText = v;
349
+ },
350
+ get lastConsolidationAt() {
351
+ return lastConsolidationAt;
352
+ },
353
+ set lastConsolidationAt(v) {
354
+ lastConsolidationAt = v;
355
+ },
356
+ get lastDriveAttemptAt() {
357
+ return lastDriveAttemptAt;
358
+ },
359
+ set lastDriveAttemptAt(v) {
360
+ lastDriveAttemptAt = v;
361
+ },
362
+ get drivePhase2Fired() {
363
+ return drivePhase2Fired;
364
+ },
365
+ set drivePhase2Fired(v) {
366
+ drivePhase2Fired = v;
367
+ },
292
368
  previewedUpdateIds,
293
369
  },
294
370
  addPreviewedId,
@@ -351,7 +427,10 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle,
351
427
  // Counts as an operator-facing send for auto-forward purposes: the agent
352
428
  // deliberately routed its output somewhere, so its stdout is not "lost".
353
429
  // Only on success — a failed route means the output really was lost.
354
- const result = await handleSendMessageToThreadFile({ ...typedArgs, _callerThreadId: currentThreadId });
430
+ const result = await handleSendMessageToThreadFile({
431
+ ...typedArgs,
432
+ _callerThreadId: currentThreadId,
433
+ });
355
434
  if (!result.isError)
356
435
  operatorSendsThisTurn++;
357
436
  return result;
@@ -388,7 +467,7 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, threadLifecycle,
388
467
  writeActivityHeartbeat();
389
468
  // Per-thread heartbeat for stuck-process detection
390
469
  const callThreadId = args?.threadId;
391
- if (typeof callThreadId === 'number')
470
+ if (typeof callThreadId === "number")
392
471
  writeThreadHeartbeat(callThreadId);
393
472
  else if (currentThreadId !== undefined)
394
473
  writeThreadHeartbeat(currentThreadId);
@@ -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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"}