reflectt-node 0.1.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 (486) hide show
  1. package/LICENSE +178 -0
  2. package/README.md +188 -0
  3. package/dist/activationEvents.d.ts +110 -0
  4. package/dist/activationEvents.d.ts.map +1 -0
  5. package/dist/activationEvents.js +378 -0
  6. package/dist/activationEvents.js.map +1 -0
  7. package/dist/activity-signal.d.ts +30 -0
  8. package/dist/activity-signal.d.ts.map +1 -0
  9. package/dist/activity-signal.js +93 -0
  10. package/dist/activity-signal.js.map +1 -0
  11. package/dist/alert-integrity.d.ts +100 -0
  12. package/dist/alert-integrity.d.ts.map +1 -0
  13. package/dist/alert-integrity.js +333 -0
  14. package/dist/alert-integrity.js.map +1 -0
  15. package/dist/alert-preflight.d.ts +40 -0
  16. package/dist/alert-preflight.d.ts.map +1 -0
  17. package/dist/alert-preflight.js +235 -0
  18. package/dist/alert-preflight.js.map +1 -0
  19. package/dist/analytics.d.ts +131 -0
  20. package/dist/analytics.d.ts.map +1 -0
  21. package/dist/analytics.js +371 -0
  22. package/dist/analytics.js.map +1 -0
  23. package/dist/artifact-mirror.d.ts +26 -0
  24. package/dist/artifact-mirror.d.ts.map +1 -0
  25. package/dist/artifact-mirror.js +170 -0
  26. package/dist/artifact-mirror.js.map +1 -0
  27. package/dist/artifact-resolver.d.ts +48 -0
  28. package/dist/artifact-resolver.d.ts.map +1 -0
  29. package/dist/artifact-resolver.js +164 -0
  30. package/dist/artifact-resolver.js.map +1 -0
  31. package/dist/assignment.d.ts +116 -0
  32. package/dist/assignment.d.ts.map +1 -0
  33. package/dist/assignment.js +475 -0
  34. package/dist/assignment.js.map +1 -0
  35. package/dist/auditLedger.d.ts +50 -0
  36. package/dist/auditLedger.d.ts.map +1 -0
  37. package/dist/auditLedger.js +136 -0
  38. package/dist/auditLedger.js.map +1 -0
  39. package/dist/boardHealthWorker.d.ts +134 -0
  40. package/dist/boardHealthWorker.d.ts.map +1 -0
  41. package/dist/boardHealthWorker.js +882 -0
  42. package/dist/boardHealthWorker.js.map +1 -0
  43. package/dist/bootstrap-team.d.ts +42 -0
  44. package/dist/bootstrap-team.d.ts.map +1 -0
  45. package/dist/bootstrap-team.js +111 -0
  46. package/dist/bootstrap-team.js.map +1 -0
  47. package/dist/buildInfo.d.ts +17 -0
  48. package/dist/buildInfo.d.ts.map +1 -0
  49. package/dist/buildInfo.js +56 -0
  50. package/dist/buildInfo.js.map +1 -0
  51. package/dist/calendar-events.d.ts +133 -0
  52. package/dist/calendar-events.d.ts.map +1 -0
  53. package/dist/calendar-events.js +615 -0
  54. package/dist/calendar-events.js.map +1 -0
  55. package/dist/calendar-ical.d.ts +41 -0
  56. package/dist/calendar-ical.d.ts.map +1 -0
  57. package/dist/calendar-ical.js +413 -0
  58. package/dist/calendar-ical.js.map +1 -0
  59. package/dist/calendar-reminder-engine.d.ts +10 -0
  60. package/dist/calendar-reminder-engine.d.ts.map +1 -0
  61. package/dist/calendar-reminder-engine.js +143 -0
  62. package/dist/calendar-reminder-engine.js.map +1 -0
  63. package/dist/calendar.d.ts +75 -0
  64. package/dist/calendar.d.ts.map +1 -0
  65. package/dist/calendar.js +391 -0
  66. package/dist/calendar.js.map +1 -0
  67. package/dist/canvas-multiplexer.d.ts +44 -0
  68. package/dist/canvas-multiplexer.d.ts.map +1 -0
  69. package/dist/canvas-multiplexer.js +150 -0
  70. package/dist/canvas-multiplexer.js.map +1 -0
  71. package/dist/canvas-slots.d.ts +83 -0
  72. package/dist/canvas-slots.d.ts.map +1 -0
  73. package/dist/canvas-slots.js +144 -0
  74. package/dist/canvas-slots.js.map +1 -0
  75. package/dist/canvas-types.d.ts +56 -0
  76. package/dist/canvas-types.d.ts.map +1 -0
  77. package/dist/canvas-types.js +54 -0
  78. package/dist/canvas-types.js.map +1 -0
  79. package/dist/cf-keepalive.d.ts +40 -0
  80. package/dist/cf-keepalive.d.ts.map +1 -0
  81. package/dist/cf-keepalive.js +153 -0
  82. package/dist/cf-keepalive.js.map +1 -0
  83. package/dist/changeFeed.d.ts +38 -0
  84. package/dist/changeFeed.d.ts.map +1 -0
  85. package/dist/changeFeed.js +324 -0
  86. package/dist/changeFeed.js.map +1 -0
  87. package/dist/channels.d.ts +28 -0
  88. package/dist/channels.d.ts.map +1 -0
  89. package/dist/channels.js +23 -0
  90. package/dist/channels.js.map +1 -0
  91. package/dist/chat-approval-detector.d.ts +47 -0
  92. package/dist/chat-approval-detector.d.ts.map +1 -0
  93. package/dist/chat-approval-detector.js +224 -0
  94. package/dist/chat-approval-detector.js.map +1 -0
  95. package/dist/chat.d.ts +119 -0
  96. package/dist/chat.d.ts.map +1 -0
  97. package/dist/chat.js +666 -0
  98. package/dist/chat.js.map +1 -0
  99. package/dist/cli.d.ts +3 -0
  100. package/dist/cli.d.ts.map +1 -0
  101. package/dist/cli.js +1142 -0
  102. package/dist/cli.js.map +1 -0
  103. package/dist/cloud.d.ts +45 -0
  104. package/dist/cloud.d.ts.map +1 -0
  105. package/dist/cloud.js +962 -0
  106. package/dist/cloud.js.map +1 -0
  107. package/dist/config.d.ts +17 -0
  108. package/dist/config.d.ts.map +1 -0
  109. package/dist/config.js +33 -0
  110. package/dist/config.js.map +1 -0
  111. package/dist/connectivity.d.ts +59 -0
  112. package/dist/connectivity.d.ts.map +1 -0
  113. package/dist/connectivity.js +173 -0
  114. package/dist/connectivity.js.map +1 -0
  115. package/dist/contacts.d.ts +59 -0
  116. package/dist/contacts.d.ts.map +1 -0
  117. package/dist/contacts.js +183 -0
  118. package/dist/contacts.js.map +1 -0
  119. package/dist/content.d.ts +130 -0
  120. package/dist/content.d.ts.map +1 -0
  121. package/dist/content.js +186 -0
  122. package/dist/content.js.map +1 -0
  123. package/dist/context-budget.d.ts +87 -0
  124. package/dist/context-budget.d.ts.map +1 -0
  125. package/dist/context-budget.js +459 -0
  126. package/dist/context-budget.js.map +1 -0
  127. package/dist/continuity-loop.d.ts +55 -0
  128. package/dist/continuity-loop.d.ts.map +1 -0
  129. package/dist/continuity-loop.js +267 -0
  130. package/dist/continuity-loop.js.map +1 -0
  131. package/dist/dashboard.d.ts +6 -0
  132. package/dist/dashboard.d.ts.map +1 -0
  133. package/dist/dashboard.js +2348 -0
  134. package/dist/dashboard.js.map +1 -0
  135. package/dist/db.d.ts +44 -0
  136. package/dist/db.d.ts.map +1 -0
  137. package/dist/db.js +648 -0
  138. package/dist/db.js.map +1 -0
  139. package/dist/doctor.d.ts +30 -0
  140. package/dist/doctor.d.ts.map +1 -0
  141. package/dist/doctor.js +159 -0
  142. package/dist/doctor.js.map +1 -0
  143. package/dist/duplicateClosureGuard.d.ts +31 -0
  144. package/dist/duplicateClosureGuard.d.ts.map +1 -0
  145. package/dist/duplicateClosureGuard.js +83 -0
  146. package/dist/duplicateClosureGuard.js.map +1 -0
  147. package/dist/embeddings.d.ts +13 -0
  148. package/dist/embeddings.d.ts.map +1 -0
  149. package/dist/embeddings.js +78 -0
  150. package/dist/embeddings.js.map +1 -0
  151. package/dist/escalation.d.ts +80 -0
  152. package/dist/escalation.d.ts.map +1 -0
  153. package/dist/escalation.js +213 -0
  154. package/dist/escalation.js.map +1 -0
  155. package/dist/events.d.ts +130 -0
  156. package/dist/events.d.ts.map +1 -0
  157. package/dist/events.js +382 -0
  158. package/dist/events.js.map +1 -0
  159. package/dist/executionSweeper.d.ts +97 -0
  160. package/dist/executionSweeper.d.ts.map +1 -0
  161. package/dist/executionSweeper.js +875 -0
  162. package/dist/executionSweeper.js.map +1 -0
  163. package/dist/experiments.d.ts +47 -0
  164. package/dist/experiments.d.ts.map +1 -0
  165. package/dist/experiments.js +133 -0
  166. package/dist/experiments.js.map +1 -0
  167. package/dist/feedback.d.ts +179 -0
  168. package/dist/feedback.d.ts.map +1 -0
  169. package/dist/feedback.js +397 -0
  170. package/dist/feedback.js.map +1 -0
  171. package/dist/files.d.ts +52 -0
  172. package/dist/files.d.ts.map +1 -0
  173. package/dist/files.js +172 -0
  174. package/dist/files.js.map +1 -0
  175. package/dist/format-duration.d.ts +19 -0
  176. package/dist/format-duration.d.ts.map +1 -0
  177. package/dist/format-duration.js +33 -0
  178. package/dist/format-duration.js.map +1 -0
  179. package/dist/github-actor-auth.d.ts +20 -0
  180. package/dist/github-actor-auth.d.ts.map +1 -0
  181. package/dist/github-actor-auth.js +54 -0
  182. package/dist/github-actor-auth.js.map +1 -0
  183. package/dist/github-ci.d.ts +16 -0
  184. package/dist/github-ci.d.ts.map +1 -0
  185. package/dist/github-ci.js +37 -0
  186. package/dist/github-ci.js.map +1 -0
  187. package/dist/github-identity.d.ts +30 -0
  188. package/dist/github-identity.d.ts.map +1 -0
  189. package/dist/github-identity.js +96 -0
  190. package/dist/github-identity.js.map +1 -0
  191. package/dist/github-reviews.d.ts +24 -0
  192. package/dist/github-reviews.d.ts.map +1 -0
  193. package/dist/github-reviews.js +56 -0
  194. package/dist/github-reviews.js.map +1 -0
  195. package/dist/health.d.ts +391 -0
  196. package/dist/health.d.ts.map +1 -0
  197. package/dist/health.js +1841 -0
  198. package/dist/health.js.map +1 -0
  199. package/dist/host-keepalive.d.ts +22 -0
  200. package/dist/host-keepalive.d.ts.map +1 -0
  201. package/dist/host-keepalive.js +126 -0
  202. package/dist/host-keepalive.js.map +1 -0
  203. package/dist/host-registry.d.ts +43 -0
  204. package/dist/host-registry.d.ts.map +1 -0
  205. package/dist/host-registry.js +93 -0
  206. package/dist/host-registry.js.map +1 -0
  207. package/dist/inbox.d.ts +87 -0
  208. package/dist/inbox.d.ts.map +1 -0
  209. package/dist/inbox.js +410 -0
  210. package/dist/inbox.js.map +1 -0
  211. package/dist/index.d.ts +2 -0
  212. package/dist/index.d.ts.map +1 -0
  213. package/dist/index.js +306 -0
  214. package/dist/index.js.map +1 -0
  215. package/dist/insight-mutation.d.ts +32 -0
  216. package/dist/insight-mutation.d.ts.map +1 -0
  217. package/dist/insight-mutation.js +160 -0
  218. package/dist/insight-mutation.js.map +1 -0
  219. package/dist/insight-promotion.d.ts +89 -0
  220. package/dist/insight-promotion.d.ts.map +1 -0
  221. package/dist/insight-promotion.js +278 -0
  222. package/dist/insight-promotion.js.map +1 -0
  223. package/dist/insight-task-bridge.d.ts +77 -0
  224. package/dist/insight-task-bridge.d.ts.map +1 -0
  225. package/dist/insight-task-bridge.js +556 -0
  226. package/dist/insight-task-bridge.js.map +1 -0
  227. package/dist/insights.d.ts +222 -0
  228. package/dist/insights.d.ts.map +1 -0
  229. package/dist/insights.js +871 -0
  230. package/dist/insights.js.map +1 -0
  231. package/dist/intake-pipeline.d.ts +74 -0
  232. package/dist/intake-pipeline.d.ts.map +1 -0
  233. package/dist/intake-pipeline.js +199 -0
  234. package/dist/intake-pipeline.js.map +1 -0
  235. package/dist/intensity.d.ts +31 -0
  236. package/dist/intensity.d.ts.map +1 -0
  237. package/dist/intensity.js +94 -0
  238. package/dist/intensity.js.map +1 -0
  239. package/dist/knowledge-auto-index.d.ts +37 -0
  240. package/dist/knowledge-auto-index.d.ts.map +1 -0
  241. package/dist/knowledge-auto-index.js +149 -0
  242. package/dist/knowledge-auto-index.js.map +1 -0
  243. package/dist/knowledge-docs.d.ts +45 -0
  244. package/dist/knowledge-docs.d.ts.map +1 -0
  245. package/dist/knowledge-docs.js +188 -0
  246. package/dist/knowledge-docs.js.map +1 -0
  247. package/dist/lane-config.d.ts +25 -0
  248. package/dist/lane-config.d.ts.map +1 -0
  249. package/dist/lane-config.js +105 -0
  250. package/dist/lane-config.js.map +1 -0
  251. package/dist/lineage.d.ts +86 -0
  252. package/dist/lineage.d.ts.map +1 -0
  253. package/dist/lineage.js +303 -0
  254. package/dist/lineage.js.map +1 -0
  255. package/dist/logStore.d.ts +25 -0
  256. package/dist/logStore.d.ts.map +1 -0
  257. package/dist/logStore.js +83 -0
  258. package/dist/logStore.js.map +1 -0
  259. package/dist/manage.d.ts +12 -0
  260. package/dist/manage.d.ts.map +1 -0
  261. package/dist/manage.js +253 -0
  262. package/dist/manage.js.map +1 -0
  263. package/dist/mcp.d.ts +5 -0
  264. package/dist/mcp.d.ts.map +1 -0
  265. package/dist/mcp.js +604 -0
  266. package/dist/mcp.js.map +1 -0
  267. package/dist/memory.d.ts +47 -0
  268. package/dist/memory.d.ts.map +1 -0
  269. package/dist/memory.js +149 -0
  270. package/dist/memory.js.map +1 -0
  271. package/dist/mention-ack.d.ts +80 -0
  272. package/dist/mention-ack.d.ts.map +1 -0
  273. package/dist/mention-ack.js +175 -0
  274. package/dist/mention-ack.js.map +1 -0
  275. package/dist/messageRouter.d.ts +60 -0
  276. package/dist/messageRouter.d.ts.map +1 -0
  277. package/dist/messageRouter.js +309 -0
  278. package/dist/messageRouter.js.map +1 -0
  279. package/dist/mutationAlert.d.ts +44 -0
  280. package/dist/mutationAlert.d.ts.map +1 -0
  281. package/dist/mutationAlert.js +174 -0
  282. package/dist/mutationAlert.js.map +1 -0
  283. package/dist/noise-budget.d.ts +136 -0
  284. package/dist/noise-budget.d.ts.map +1 -0
  285. package/dist/noise-budget.js +340 -0
  286. package/dist/noise-budget.js.map +1 -0
  287. package/dist/notifications.d.ts +67 -0
  288. package/dist/notifications.d.ts.map +1 -0
  289. package/dist/notifications.js +253 -0
  290. package/dist/notifications.js.map +1 -0
  291. package/dist/openclaw.d.ts +34 -0
  292. package/dist/openclaw.d.ts.map +1 -0
  293. package/dist/openclaw.js +208 -0
  294. package/dist/openclaw.js.map +1 -0
  295. package/dist/pause-controls.d.ts +31 -0
  296. package/dist/pause-controls.d.ts.map +1 -0
  297. package/dist/pause-controls.js +130 -0
  298. package/dist/pause-controls.js.map +1 -0
  299. package/dist/pidlock.d.ts +25 -0
  300. package/dist/pidlock.d.ts.map +1 -0
  301. package/dist/pidlock.js +179 -0
  302. package/dist/pidlock.js.map +1 -0
  303. package/dist/policy.d.ts +139 -0
  304. package/dist/policy.d.ts.map +1 -0
  305. package/dist/policy.js +264 -0
  306. package/dist/policy.js.map +1 -0
  307. package/dist/polls.d.ts +47 -0
  308. package/dist/polls.d.ts.map +1 -0
  309. package/dist/polls.js +162 -0
  310. package/dist/polls.js.map +1 -0
  311. package/dist/portability.d.ts +55 -0
  312. package/dist/portability.d.ts.map +1 -0
  313. package/dist/portability.js +292 -0
  314. package/dist/portability.js.map +1 -0
  315. package/dist/pr-integrity.d.ts +45 -0
  316. package/dist/pr-integrity.d.ts.map +1 -0
  317. package/dist/pr-integrity.js +124 -0
  318. package/dist/pr-integrity.js.map +1 -0
  319. package/dist/prAutoMerge.d.ts +62 -0
  320. package/dist/prAutoMerge.d.ts.map +1 -0
  321. package/dist/prAutoMerge.js +493 -0
  322. package/dist/prAutoMerge.js.map +1 -0
  323. package/dist/preflight.d.ts +66 -0
  324. package/dist/preflight.d.ts.map +1 -0
  325. package/dist/preflight.js +864 -0
  326. package/dist/preflight.js.map +1 -0
  327. package/dist/presence.d.ts +98 -0
  328. package/dist/presence.d.ts.map +1 -0
  329. package/dist/presence.js +347 -0
  330. package/dist/presence.js.map +1 -0
  331. package/dist/provisioning.d.ts +101 -0
  332. package/dist/provisioning.d.ts.map +1 -0
  333. package/dist/provisioning.js +430 -0
  334. package/dist/provisioning.js.map +1 -0
  335. package/dist/reflection-automation.d.ts +59 -0
  336. package/dist/reflection-automation.d.ts.map +1 -0
  337. package/dist/reflection-automation.js +350 -0
  338. package/dist/reflection-automation.js.map +1 -0
  339. package/dist/reflections.d.ts +65 -0
  340. package/dist/reflections.d.ts.map +1 -0
  341. package/dist/reflections.js +306 -0
  342. package/dist/reflections.js.map +1 -0
  343. package/dist/release.d.ts +67 -0
  344. package/dist/release.d.ts.map +1 -0
  345. package/dist/release.js +275 -0
  346. package/dist/release.js.map +1 -0
  347. package/dist/request-tracker.d.ts +36 -0
  348. package/dist/request-tracker.d.ts.map +1 -0
  349. package/dist/request-tracker.js +109 -0
  350. package/dist/request-tracker.js.map +1 -0
  351. package/dist/research.d.ts +75 -0
  352. package/dist/research.d.ts.map +1 -0
  353. package/dist/research.js +171 -0
  354. package/dist/research.js.map +1 -0
  355. package/dist/routing-approvals.d.ts +73 -0
  356. package/dist/routing-approvals.d.ts.map +1 -0
  357. package/dist/routing-approvals.js +88 -0
  358. package/dist/routing-approvals.js.map +1 -0
  359. package/dist/routing-override.d.ts +94 -0
  360. package/dist/routing-override.d.ts.map +1 -0
  361. package/dist/routing-override.js +290 -0
  362. package/dist/routing-override.js.map +1 -0
  363. package/dist/scope-routing.d.ts +18 -0
  364. package/dist/scope-routing.d.ts.map +1 -0
  365. package/dist/scope-routing.js +29 -0
  366. package/dist/scope-routing.js.map +1 -0
  367. package/dist/secrets.d.ts +77 -0
  368. package/dist/secrets.d.ts.map +1 -0
  369. package/dist/secrets.js +287 -0
  370. package/dist/secrets.js.map +1 -0
  371. package/dist/server.d.ts +3 -0
  372. package/dist/server.d.ts.map +1 -0
  373. package/dist/server.js +10887 -0
  374. package/dist/server.js.map +1 -0
  375. package/dist/service-probe.d.ts +53 -0
  376. package/dist/service-probe.d.ts.map +1 -0
  377. package/dist/service-probe.js +225 -0
  378. package/dist/service-probe.js.map +1 -0
  379. package/dist/shared-workspace-api.d.ts +73 -0
  380. package/dist/shared-workspace-api.d.ts.map +1 -0
  381. package/dist/shared-workspace-api.js +281 -0
  382. package/dist/shared-workspace-api.js.map +1 -0
  383. package/dist/shipped-heartbeat.d.ts +91 -0
  384. package/dist/shipped-heartbeat.d.ts.map +1 -0
  385. package/dist/shipped-heartbeat.js +272 -0
  386. package/dist/shipped-heartbeat.js.map +1 -0
  387. package/dist/starter-team.d.ts +23 -0
  388. package/dist/starter-team.d.ts.map +1 -0
  389. package/dist/starter-team.js +88 -0
  390. package/dist/starter-team.js.map +1 -0
  391. package/dist/suppression-ledger.d.ts +73 -0
  392. package/dist/suppression-ledger.d.ts.map +1 -0
  393. package/dist/suppression-ledger.js +125 -0
  394. package/dist/suppression-ledger.js.map +1 -0
  395. package/dist/system-loop-state.d.ts +4 -0
  396. package/dist/system-loop-state.d.ts.map +1 -0
  397. package/dist/system-loop-state.js +40 -0
  398. package/dist/system-loop-state.js.map +1 -0
  399. package/dist/taskCommentIngest.d.ts +43 -0
  400. package/dist/taskCommentIngest.d.ts.map +1 -0
  401. package/dist/taskCommentIngest.js +59 -0
  402. package/dist/taskCommentIngest.js.map +1 -0
  403. package/dist/taskPrecheck.d.ts +20 -0
  404. package/dist/taskPrecheck.d.ts.map +1 -0
  405. package/dist/taskPrecheck.js +329 -0
  406. package/dist/taskPrecheck.js.map +1 -0
  407. package/dist/taskStateSync.d.ts +8 -0
  408. package/dist/taskStateSync.d.ts.map +1 -0
  409. package/dist/taskStateSync.js +79 -0
  410. package/dist/taskStateSync.js.map +1 -0
  411. package/dist/tasks.d.ts +140 -0
  412. package/dist/tasks.d.ts.map +1 -0
  413. package/dist/tasks.js +1281 -0
  414. package/dist/tasks.js.map +1 -0
  415. package/dist/team-config.d.ts +24 -0
  416. package/dist/team-config.d.ts.map +1 -0
  417. package/dist/team-config.js +221 -0
  418. package/dist/team-config.js.map +1 -0
  419. package/dist/team-doctor.d.ts +22 -0
  420. package/dist/team-doctor.d.ts.map +1 -0
  421. package/dist/team-doctor.js +270 -0
  422. package/dist/team-doctor.js.map +1 -0
  423. package/dist/team-pulse.d.ts +52 -0
  424. package/dist/team-pulse.d.ts.map +1 -0
  425. package/dist/team-pulse.js +176 -0
  426. package/dist/team-pulse.js.map +1 -0
  427. package/dist/telemetry.d.ts +74 -0
  428. package/dist/telemetry.d.ts.map +1 -0
  429. package/dist/telemetry.js +256 -0
  430. package/dist/telemetry.js.map +1 -0
  431. package/dist/test-task-filter.d.ts +21 -0
  432. package/dist/test-task-filter.d.ts.map +1 -0
  433. package/dist/test-task-filter.js +48 -0
  434. package/dist/test-task-filter.js.map +1 -0
  435. package/dist/types.d.ts +126 -0
  436. package/dist/types.d.ts.map +1 -0
  437. package/dist/types.js +4 -0
  438. package/dist/types.js.map +1 -0
  439. package/dist/usage-tracking.d.ts +101 -0
  440. package/dist/usage-tracking.d.ts.map +1 -0
  441. package/dist/usage-tracking.js +325 -0
  442. package/dist/usage-tracking.js.map +1 -0
  443. package/dist/vector-store.d.ts +87 -0
  444. package/dist/vector-store.d.ts.map +1 -0
  445. package/dist/vector-store.js +247 -0
  446. package/dist/vector-store.js.map +1 -0
  447. package/dist/watchdog/idleNudgeLane.d.ts +22 -0
  448. package/dist/watchdog/idleNudgeLane.d.ts.map +1 -0
  449. package/dist/watchdog/idleNudgeLane.js +98 -0
  450. package/dist/watchdog/idleNudgeLane.js.map +1 -0
  451. package/dist/webhooks.d.ts +103 -0
  452. package/dist/webhooks.d.ts.map +1 -0
  453. package/dist/webhooks.js +398 -0
  454. package/dist/webhooks.js.map +1 -0
  455. package/dist/working-contract.d.ts +42 -0
  456. package/dist/working-contract.d.ts.map +1 -0
  457. package/dist/working-contract.js +228 -0
  458. package/dist/working-contract.js.map +1 -0
  459. package/dist/ws-heartbeat.d.ts +66 -0
  460. package/dist/ws-heartbeat.d.ts.map +1 -0
  461. package/dist/ws-heartbeat.js +174 -0
  462. package/dist/ws-heartbeat.js.map +1 -0
  463. package/package.json +87 -0
  464. package/plugins/reflectt-channel/README.md +96 -0
  465. package/plugins/reflectt-channel/index.ts +789 -0
  466. package/plugins/reflectt-channel/openclaw.plugin.json +23 -0
  467. package/plugins/reflectt-channel/package.json +23 -0
  468. package/plugins/reflectt-channel/src/channel.ts +433 -0
  469. package/plugins/reflectt-channel/src/types.ts +29 -0
  470. package/public/avatars/echo.png +0 -0
  471. package/public/avatars/harmony.png +0 -0
  472. package/public/avatars/kai.png +0 -0
  473. package/public/avatars/link.png +0 -0
  474. package/public/avatars/pixel.png +0 -0
  475. package/public/avatars/rhythm.png +0 -0
  476. package/public/avatars/ryan.png +0 -0
  477. package/public/avatars/sage.png +0 -0
  478. package/public/avatars/scout.png +0 -0
  479. package/public/avatars/spark.png +0 -0
  480. package/public/dashboard-animations.css +381 -0
  481. package/public/dashboard.js +3479 -0
  482. package/public/docs.md +1062 -0
  483. package/public/file-upload-mock.html +1097 -0
  484. package/public/og-card.png +0 -0
  485. package/public/ui-kit.html +318 -0
  486. package/public/widget/feedback.js +194 -0
package/dist/mcp.js ADDED
@@ -0,0 +1,604 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (c) Reflectt AI
3
+ /**
4
+ * MCP HTTP Server for reflectt-node
5
+ *
6
+ * Exposes chat and task management tools via MCP protocol.
7
+ * Supports both new HTTP transport (/mcp) and legacy SSE (/sse + /messages).
8
+ */
9
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
10
+ import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
11
+ import { z } from "zod";
12
+ import { chatManager } from "./chat.js";
13
+ import { taskManager } from "./tasks.js";
14
+ // ═══════════════════════════════════════════════════════════════════════════════
15
+ // MCP Server Setup
16
+ // ═══════════════════════════════════════════════════════════════════════════════
17
+ const server = new McpServer({
18
+ name: "reflectt-node",
19
+ version: "0.1.0",
20
+ });
21
+ // Wrapper to avoid TS2589 (excessively deep type instantiation) with MCP SDK + Zod
22
+ // The SDK's .tool() generic causes infinite recursion in tsc with complex schemas.
23
+ // Using `any` for the schema/handler params breaks the deep inference chain while
24
+ // keeping runtime behavior identical.
25
+ const tool = server.tool.bind(server);
26
+ // ═══════════════════════════════════════════════════════════════════════════════
27
+ // Chat Tools
28
+ // ═══════════════════════════════════════════════════════════════════════════════
29
+ tool("send_message", "Send a message to the team chat. Use this to communicate with other agents.", {
30
+ from: z.string().describe("Your agent name (e.g., 'kai', 'link', 'scout')"),
31
+ content: z.string().describe("Message content"),
32
+ to: z.string().optional().describe("Recipient agent name (optional, omit for broadcast)"),
33
+ metadata: z.record(z.unknown()).optional().describe("Optional metadata"),
34
+ }, async ({ from, content, to, metadata }) => {
35
+ const message = await chatManager.sendMessage({ from, content, to, metadata });
36
+ return {
37
+ content: [{
38
+ type: "text",
39
+ text: JSON.stringify({ success: true, message })
40
+ }]
41
+ };
42
+ });
43
+ tool("get_messages", "Get chat messages. Returns recent messages, optionally filtered by sender/recipient.", {
44
+ from: z.string().optional().describe("Filter by sender"),
45
+ to: z.string().optional().describe("Filter by recipient"),
46
+ limit: z.number().optional().describe("Max messages to return (default: 50)"),
47
+ since: z.number().optional().describe("Unix timestamp - only return messages after this time"),
48
+ }, async ({ from, to, limit, since }) => {
49
+ const messages = chatManager.getMessages({ from, to, limit, since });
50
+ return {
51
+ content: [{
52
+ type: "text",
53
+ text: JSON.stringify({ messages })
54
+ }]
55
+ };
56
+ });
57
+ tool("list_rooms", "List all available chat rooms.", {}, async () => {
58
+ const rooms = chatManager.listRooms();
59
+ return {
60
+ content: [{
61
+ type: "text",
62
+ text: JSON.stringify({ rooms })
63
+ }]
64
+ };
65
+ });
66
+ tool("create_room", "Create a new chat room.", {
67
+ id: z.string().describe("Room ID (e.g., 'dev-chat', 'planning')"),
68
+ name: z.string().describe("Room display name"),
69
+ }, async ({ id, name }) => {
70
+ const room = chatManager.createRoom(id, name);
71
+ return {
72
+ content: [{
73
+ type: "text",
74
+ text: JSON.stringify({ success: true, room })
75
+ }]
76
+ };
77
+ });
78
+ // ═══════════════════════════════════════════════════════════════════════════════
79
+ // Task Tools
80
+ // ═══════════════════════════════════════════════════════════════════════════════
81
+ tool("create_task", "Create a new task. Use this to track work that needs to be done.", {
82
+ title: z.string().describe("Task title"),
83
+ description: z.string().optional().describe("Detailed description"),
84
+ status: z.enum(["todo", "doing", "blocked", "validating", "done"]).optional().describe("Task status (default: todo)"),
85
+ assignee: z.string().min(1).describe("Task owner/assignee"),
86
+ reviewer: z.string().min(1).describe("Task reviewer"),
87
+ done_criteria: z.array(z.string().min(1)).min(1).describe("Explicit done criteria"),
88
+ eta: z.string().min(1).describe("ETA for next deliverable or completion"),
89
+ createdBy: z.string().describe("Agent creating this task"),
90
+ priority: z.enum(["P0", "P1", "P2", "P3"]).optional().describe("Task priority (P0=critical, P1=high, P2=medium, P3=low)"),
91
+ blocked_by: z.array(z.string()).optional().describe("Task IDs blocking this task"),
92
+ epic_id: z.string().optional().describe("Epic ID this task belongs to"),
93
+ tags: z.array(z.string()).optional().describe("Tags for categorization"),
94
+ metadata: z.record(z.unknown()).optional().describe("Optional metadata"),
95
+ }, async ({ title, description, status, assignee, reviewer, done_criteria, eta, createdBy, priority, blocked_by, epic_id, tags, metadata }) => {
96
+ const task = await taskManager.createTask({
97
+ title,
98
+ description,
99
+ status: status || "todo",
100
+ assignee,
101
+ reviewer,
102
+ done_criteria,
103
+ createdBy,
104
+ priority,
105
+ blocked_by,
106
+ epic_id,
107
+ tags,
108
+ metadata: {
109
+ ...(metadata || {}),
110
+ eta,
111
+ },
112
+ });
113
+ return {
114
+ content: [{
115
+ type: "text",
116
+ text: JSON.stringify({ success: true, task })
117
+ }]
118
+ };
119
+ });
120
+ tool("list_tasks", "List tasks, optionally filtered by status, assignee, priority, or tags.", {
121
+ status: z.enum(["todo", "doing", "blocked", "validating", "done"]).optional().describe("Filter by status"),
122
+ assignee: z.string().optional().describe("Filter by assignee"),
123
+ createdBy: z.string().optional().describe("Filter by creator"),
124
+ priority: z.enum(["P0", "P1", "P2", "P3"]).optional().describe("Filter by priority"),
125
+ tags: z.array(z.string()).optional().describe("Filter by tags (returns tasks with any of these tags)"),
126
+ }, async ({ status, assignee, createdBy, priority, tags }) => {
127
+ const tasks = taskManager.listTasks({ status, assignee, createdBy, priority, tags });
128
+ return {
129
+ content: [{
130
+ type: "text",
131
+ text: JSON.stringify({ tasks })
132
+ }]
133
+ };
134
+ });
135
+ tool("get_task", "Get details for a specific task by ID.", {
136
+ id: z.string().describe("Task ID"),
137
+ }, async ({ id }) => {
138
+ const task = taskManager.getTask(id);
139
+ if (!task) {
140
+ return {
141
+ content: [{
142
+ type: "text",
143
+ text: JSON.stringify({ error: "Task not found" })
144
+ }]
145
+ };
146
+ }
147
+ return {
148
+ content: [{
149
+ type: "text",
150
+ text: JSON.stringify({ task })
151
+ }]
152
+ };
153
+ });
154
+ tool("update_task", "Update an existing task. Can change status, assignee, description, etc.", {
155
+ id: z.string().describe("Task ID"),
156
+ title: z.string().optional().describe("New title"),
157
+ description: z.string().optional().describe("New description"),
158
+ status: z.enum(["todo", "doing", "blocked", "validating", "done"]).optional().describe("New status"),
159
+ assignee: z.string().optional().describe("New assignee"),
160
+ priority: z.enum(["P0", "P1", "P2", "P3"]).optional().describe("New priority"),
161
+ blocked_by: z.array(z.string()).optional().describe("Task IDs blocking this task"),
162
+ epic_id: z.string().optional().describe("Epic ID this task belongs to"),
163
+ tags: z.array(z.string()).optional().describe("New tags"),
164
+ metadata: z.record(z.unknown()).optional().describe("New metadata"),
165
+ }, async ({ id, title, description, status, assignee, priority, blocked_by, epic_id, tags, metadata }) => {
166
+ const task = await taskManager.updateTask(id, {
167
+ title,
168
+ description,
169
+ status,
170
+ assignee,
171
+ priority,
172
+ blocked_by,
173
+ epic_id,
174
+ tags,
175
+ metadata,
176
+ });
177
+ if (!task) {
178
+ return {
179
+ content: [{
180
+ type: "text",
181
+ text: JSON.stringify({ error: "Task not found" })
182
+ }]
183
+ };
184
+ }
185
+ return {
186
+ content: [{
187
+ type: "text",
188
+ text: JSON.stringify({ success: true, task })
189
+ }]
190
+ };
191
+ });
192
+ tool("delete_task", "Delete a task permanently.", {
193
+ id: z.string().describe("Task ID"),
194
+ }, async ({ id }) => {
195
+ const deleted = await taskManager.deleteTask(id);
196
+ if (!deleted) {
197
+ return {
198
+ content: [{
199
+ type: "text",
200
+ text: JSON.stringify({ error: "Task not found" })
201
+ }]
202
+ };
203
+ }
204
+ return {
205
+ content: [{
206
+ type: "text",
207
+ text: JSON.stringify({ success: true })
208
+ }]
209
+ };
210
+ });
211
+ tool("get_next_task", "Get the next highest-priority task to work on (pull-based assignment). Returns unassigned todo tasks, prioritized P0 > P1 > P2 > P3, oldest first.", {
212
+ agent: z.string().optional().describe("Agent name to filter tasks for (optional)"),
213
+ }, async ({ agent }) => {
214
+ const task = taskManager.getNextTask(agent);
215
+ if (!task) {
216
+ return {
217
+ content: [{
218
+ type: "text",
219
+ text: JSON.stringify({ task: null, message: "No available tasks" })
220
+ }]
221
+ };
222
+ }
223
+ return {
224
+ content: [{
225
+ type: "text",
226
+ text: JSON.stringify({ task })
227
+ }]
228
+ };
229
+ });
230
+ // ═══════════════════════════════════════════════════════════════════════════════
231
+ // HTTP Transport (New Protocol)
232
+ // ═══════════════════════════════════════════════════════════════════════════════
233
+ const httpTransport = new WebStandardStreamableHTTPServerTransport({
234
+ sessionIdGenerator: () => crypto.randomUUID(),
235
+ });
236
+ let initialized = false;
237
+ let initPromise = null;
238
+ export async function initMCPServer() {
239
+ if (initialized)
240
+ return;
241
+ if (initPromise)
242
+ return initPromise;
243
+ initPromise = (async () => {
244
+ await server.connect(httpTransport);
245
+ initialized = true;
246
+ console.log("[MCP] HTTP server initialized");
247
+ })();
248
+ return initPromise;
249
+ }
250
+ export async function handleMCPRequest(req) {
251
+ if (!initialized) {
252
+ await initMCPServer();
253
+ }
254
+ const method = req.method;
255
+ const accept = req.headers.get("accept") || "none";
256
+ console.log(`[MCP] Request: ${method} Accept: ${accept.slice(0, 80)}`);
257
+ return httpTransport.handleRequest(req);
258
+ }
259
+ const sseSessions = new Map();
260
+ const SESSION_TTL_MS = 5 * 60 * 1000;
261
+ function touchSession(sessionId) {
262
+ const session = sseSessions.get(sessionId);
263
+ if (session) {
264
+ session.lastUsed = Date.now();
265
+ }
266
+ }
267
+ function cleanupStaleSessions() {
268
+ const now = Date.now();
269
+ let cleaned = 0;
270
+ for (const [id, session] of sseSessions) {
271
+ if (now - session.lastUsed > SESSION_TTL_MS) {
272
+ try {
273
+ session.controller.close?.();
274
+ }
275
+ catch { }
276
+ sseSessions.delete(id);
277
+ cleaned++;
278
+ }
279
+ }
280
+ if (cleaned > 0) {
281
+ console.log(`[MCP] Cleaned up ${cleaned} stale sessions`);
282
+ }
283
+ }
284
+ setInterval(cleanupStaleSessions, 60_000);
285
+ // Tool registry for SSE sessions
286
+ const toolHandlers = new Map();
287
+ function initToolHandlers() {
288
+ // Chat tools
289
+ toolHandlers.set("send_message", {
290
+ schema: {
291
+ description: "Send a message to the team chat",
292
+ inputSchema: {
293
+ type: "object",
294
+ properties: {
295
+ from: { type: "string", description: "Your agent name" },
296
+ content: { type: "string", description: "Message content" },
297
+ to: { type: "string", description: "Recipient (optional)" },
298
+ metadata: { type: "object", description: "Optional metadata" },
299
+ },
300
+ required: ["from", "content"],
301
+ },
302
+ },
303
+ handler: async (args) => {
304
+ const message = await chatManager.sendMessage(args);
305
+ return { content: [{ type: "text", text: JSON.stringify({ success: true, message }) }] };
306
+ },
307
+ });
308
+ toolHandlers.set("get_messages", {
309
+ schema: {
310
+ description: "Get chat messages",
311
+ inputSchema: {
312
+ type: "object",
313
+ properties: {
314
+ from: { type: "string", description: "Filter by sender" },
315
+ to: { type: "string", description: "Filter by recipient" },
316
+ limit: { type: "number", description: "Max messages (default: 50)" },
317
+ since: { type: "number", description: "Unix timestamp filter" },
318
+ },
319
+ },
320
+ },
321
+ handler: async (args) => {
322
+ const messages = chatManager.getMessages(args);
323
+ return { content: [{ type: "text", text: JSON.stringify({ messages }) }] };
324
+ },
325
+ });
326
+ toolHandlers.set("list_rooms", {
327
+ schema: {
328
+ description: "List all chat rooms",
329
+ inputSchema: { type: "object", properties: {} },
330
+ },
331
+ handler: async () => {
332
+ const rooms = chatManager.listRooms();
333
+ return { content: [{ type: "text", text: JSON.stringify({ rooms }) }] };
334
+ },
335
+ });
336
+ toolHandlers.set("create_room", {
337
+ schema: {
338
+ description: "Create a new chat room",
339
+ inputSchema: {
340
+ type: "object",
341
+ properties: {
342
+ id: { type: "string", description: "Room ID" },
343
+ name: { type: "string", description: "Room display name" },
344
+ },
345
+ required: ["id", "name"],
346
+ },
347
+ },
348
+ handler: async (args) => {
349
+ const room = chatManager.createRoom(args.id, args.name);
350
+ return { content: [{ type: "text", text: JSON.stringify({ success: true, room }) }] };
351
+ },
352
+ });
353
+ // Task tools
354
+ toolHandlers.set("create_task", {
355
+ schema: {
356
+ description: "Create a new task",
357
+ inputSchema: {
358
+ type: "object",
359
+ properties: {
360
+ title: { type: "string", description: "Task title" },
361
+ description: { type: "string", description: "Task description" },
362
+ status: { type: "string", enum: ["todo", "doing", "blocked", "validating", "done"] },
363
+ assignee: { type: "string", description: "Assignee" },
364
+ createdBy: { type: "string", description: "Creator" },
365
+ priority: { type: "string", enum: ["P0", "P1", "P2", "P3"] },
366
+ blocked_by: { type: "array", items: { type: "string" }, description: "Blocking task IDs" },
367
+ epic_id: { type: "string", description: "Epic ID" },
368
+ tags: { type: "array", items: { type: "string" } },
369
+ metadata: { type: "object" },
370
+ },
371
+ required: ["title", "createdBy"],
372
+ },
373
+ },
374
+ handler: async (args) => {
375
+ const task = await taskManager.createTask({ status: "todo", ...args });
376
+ return { content: [{ type: "text", text: JSON.stringify({ success: true, task }) }] };
377
+ },
378
+ });
379
+ toolHandlers.set("list_tasks", {
380
+ schema: {
381
+ description: "List tasks with optional filters",
382
+ inputSchema: {
383
+ type: "object",
384
+ properties: {
385
+ status: { type: "string", enum: ["todo", "doing", "blocked", "validating", "done"] },
386
+ assignee: { type: "string" },
387
+ createdBy: { type: "string" },
388
+ priority: { type: "string", enum: ["P0", "P1", "P2", "P3"] },
389
+ tags: { type: "array", items: { type: "string" } },
390
+ },
391
+ },
392
+ },
393
+ handler: async (args) => {
394
+ const tasks = taskManager.listTasks(args);
395
+ return { content: [{ type: "text", text: JSON.stringify({ tasks }) }] };
396
+ },
397
+ });
398
+ toolHandlers.set("get_task", {
399
+ schema: {
400
+ description: "Get a specific task by ID",
401
+ inputSchema: {
402
+ type: "object",
403
+ properties: {
404
+ id: { type: "string", description: "Task ID" },
405
+ },
406
+ required: ["id"],
407
+ },
408
+ },
409
+ handler: async (args) => {
410
+ const task = taskManager.getTask(args.id);
411
+ if (!task) {
412
+ return { content: [{ type: "text", text: JSON.stringify({ error: "Task not found" }) }] };
413
+ }
414
+ return { content: [{ type: "text", text: JSON.stringify({ task }) }] };
415
+ },
416
+ });
417
+ toolHandlers.set("update_task", {
418
+ schema: {
419
+ description: "Update an existing task",
420
+ inputSchema: {
421
+ type: "object",
422
+ properties: {
423
+ id: { type: "string", description: "Task ID" },
424
+ title: { type: "string" },
425
+ description: { type: "string" },
426
+ status: { type: "string", enum: ["todo", "doing", "blocked", "validating", "done"] },
427
+ assignee: { type: "string" },
428
+ priority: { type: "string", enum: ["P0", "P1", "P2", "P3"] },
429
+ blocked_by: { type: "array", items: { type: "string" } },
430
+ epic_id: { type: "string" },
431
+ tags: { type: "array", items: { type: "string" } },
432
+ metadata: { type: "object" },
433
+ },
434
+ required: ["id"],
435
+ },
436
+ },
437
+ handler: async (args) => {
438
+ const { id, ...updates } = args;
439
+ const task = await taskManager.updateTask(id, updates);
440
+ if (!task) {
441
+ return { content: [{ type: "text", text: JSON.stringify({ error: "Task not found" }) }] };
442
+ }
443
+ return { content: [{ type: "text", text: JSON.stringify({ success: true, task }) }] };
444
+ },
445
+ });
446
+ toolHandlers.set("delete_task", {
447
+ schema: {
448
+ description: "Delete a task permanently",
449
+ inputSchema: {
450
+ type: "object",
451
+ properties: {
452
+ id: { type: "string", description: "Task ID" },
453
+ },
454
+ required: ["id"],
455
+ },
456
+ },
457
+ handler: async (args) => {
458
+ const deleted = await taskManager.deleteTask(args.id);
459
+ if (!deleted) {
460
+ return { content: [{ type: "text", text: JSON.stringify({ error: "Task not found" }) }] };
461
+ }
462
+ return { content: [{ type: "text", text: JSON.stringify({ success: true }) }] };
463
+ },
464
+ });
465
+ toolHandlers.set("get_next_task", {
466
+ schema: {
467
+ description: "Get the next highest-priority task to work on (pull-based assignment)",
468
+ inputSchema: {
469
+ type: "object",
470
+ properties: {
471
+ agent: { type: "string", description: "Agent name to filter tasks for (optional)" },
472
+ },
473
+ },
474
+ },
475
+ handler: async (args) => {
476
+ const task = taskManager.getNextTask(args.agent);
477
+ if (!task) {
478
+ return { content: [{ type: "text", text: JSON.stringify({ task: null, message: "No available tasks" }) }] };
479
+ }
480
+ return { content: [{ type: "text", text: JSON.stringify({ task }) }] };
481
+ },
482
+ });
483
+ console.log(`[MCP] Registered ${toolHandlers.size} tools for SSE`);
484
+ }
485
+ initToolHandlers();
486
+ function getToolsList() {
487
+ return Array.from(toolHandlers.entries()).map(([name, { schema }]) => ({
488
+ name,
489
+ description: schema.description || "",
490
+ inputSchema: schema.inputSchema || {},
491
+ }));
492
+ }
493
+ async function callTool(name, args) {
494
+ const handler = toolHandlers.get(name);
495
+ if (!handler) {
496
+ throw new Error(`Unknown tool: ${name}`);
497
+ }
498
+ return handler.handler(args);
499
+ }
500
+ async function handleJsonRpcMessage(message) {
501
+ const { method, params, id } = message;
502
+ if (method === "initialize") {
503
+ return {
504
+ jsonrpc: "2.0",
505
+ id,
506
+ result: {
507
+ protocolVersion: "2024-11-05",
508
+ capabilities: { tools: {} },
509
+ serverInfo: { name: "reflectt-node", version: "0.1.0" },
510
+ },
511
+ };
512
+ }
513
+ if (method === "tools/list") {
514
+ const tools = getToolsList();
515
+ return { jsonrpc: "2.0", id, result: { tools } };
516
+ }
517
+ if (method === "tools/call") {
518
+ const { name, arguments: args } = params;
519
+ try {
520
+ const result = await callTool(name, args);
521
+ return { jsonrpc: "2.0", id, result };
522
+ }
523
+ catch (e) {
524
+ return { jsonrpc: "2.0", id, error: { code: -32000, message: String(e) } };
525
+ }
526
+ }
527
+ if (method === "notifications/initialized") {
528
+ return null;
529
+ }
530
+ return { jsonrpc: "2.0", id, error: { code: -32601, message: `Method not found: ${method}` } };
531
+ }
532
+ export async function handleSSERequest(req) {
533
+ const sessionId = crypto.randomUUID();
534
+ console.log(`[MCP] SSE session started: ${sessionId}`);
535
+ let controller;
536
+ const stream = new ReadableStream({
537
+ start(c) {
538
+ controller = c;
539
+ const endpointEvent = `event: endpoint\ndata: /mcp/messages?sessionId=${sessionId}\n\n`;
540
+ controller.enqueue(new TextEncoder().encode(endpointEvent));
541
+ },
542
+ cancel() {
543
+ console.log(`[MCP] SSE session closed: ${sessionId}`);
544
+ sseSessions.delete(sessionId);
545
+ },
546
+ });
547
+ sseSessions.set(sessionId, {
548
+ controller: controller,
549
+ lastUsed: Date.now(),
550
+ });
551
+ return new Response(stream, {
552
+ headers: {
553
+ "Content-Type": "text/event-stream",
554
+ "Cache-Control": "no-cache",
555
+ "Connection": "keep-alive",
556
+ "X-Session-Id": sessionId,
557
+ },
558
+ });
559
+ }
560
+ export async function handleMessagesRequest(req) {
561
+ const url = new URL(req.url);
562
+ const sessionId = url.searchParams.get("sessionId");
563
+ if (!sessionId) {
564
+ return new Response(JSON.stringify({ error: "Missing sessionId" }), {
565
+ status: 400,
566
+ headers: { "Content-Type": "application/json" },
567
+ });
568
+ }
569
+ const session = sseSessions.get(sessionId);
570
+ if (!session) {
571
+ return new Response(JSON.stringify({ error: "Session not found" }), {
572
+ status: 404,
573
+ headers: { "Content-Type": "application/json" },
574
+ });
575
+ }
576
+ try {
577
+ touchSession(sessionId);
578
+ const body = await req.json();
579
+ console.log(`[MCP] SSE message (${sessionId}):`, body.method || body.id);
580
+ const response = await handleJsonRpcMessage(body);
581
+ if (response) {
582
+ const sseMessage = `event: message\ndata: ${JSON.stringify(response)}\n\n`;
583
+ try {
584
+ if (session.controller.desiredSize !== null) {
585
+ session.controller.enqueue(new TextEncoder().encode(sseMessage));
586
+ }
587
+ }
588
+ catch {
589
+ // Controller closed - client disconnected
590
+ }
591
+ }
592
+ return new Response(JSON.stringify(response || { jsonrpc: "2.0", result: null }), {
593
+ headers: { "Content-Type": "application/json" },
594
+ });
595
+ }
596
+ catch (e) {
597
+ console.error(`[MCP] SSE message error:`, e);
598
+ return new Response(JSON.stringify({ error: String(e) }), {
599
+ status: 500,
600
+ headers: { "Content-Type": "application/json" },
601
+ });
602
+ }
603
+ }
604
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}