@moltzap/client 2026.529.0 → 2026.718.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 (363) hide show
  1. package/dist/agent-client.d.ts +2 -65
  2. package/dist/agent-client.d.ts.map +1 -1
  3. package/dist/agent-client.js +1 -286
  4. package/dist/agent-client.js.map +1 -1
  5. package/dist/app-client.d.ts +3 -0
  6. package/dist/app-client.d.ts.map +1 -0
  7. package/dist/app-client.js +2 -0
  8. package/dist/app-client.js.map +1 -0
  9. package/dist/auth.d.ts +6 -15
  10. package/dist/auth.d.ts.map +1 -1
  11. package/dist/auth.js +12 -16
  12. package/dist/auth.js.map +1 -1
  13. package/dist/channel-base/format-cross-conv.d.ts +10 -15
  14. package/dist/channel-base/format-cross-conv.d.ts.map +1 -1
  15. package/dist/channel-base/format-cross-conv.js +10 -15
  16. package/dist/channel-base/format-cross-conv.js.map +1 -1
  17. package/dist/channel-base/format-group-block.d.ts +8 -10
  18. package/dist/channel-base/format-group-block.d.ts.map +1 -1
  19. package/dist/channel-base/format-group-block.js +8 -10
  20. package/dist/channel-base/format-group-block.js.map +1 -1
  21. package/dist/channel-base/index.d.ts +3 -62
  22. package/dist/channel-base/index.d.ts.map +1 -1
  23. package/dist/channel-base/index.js +2 -65
  24. package/dist/channel-base/index.js.map +1 -1
  25. package/dist/channel-base/lease-guard.d.ts +0 -2
  26. package/dist/channel-base/lease-guard.d.ts.map +1 -1
  27. package/dist/channel-base/lease-guard.js +0 -2
  28. package/dist/channel-base/lease-guard.js.map +1 -1
  29. package/dist/channel-base/lease-store.d.ts +2 -3
  30. package/dist/channel-base/lease-store.d.ts.map +1 -1
  31. package/dist/channel-base/lease-store.js +2 -3
  32. package/dist/channel-base/lease-store.js.map +1 -1
  33. package/dist/channel-base/lease.d.ts +25 -31
  34. package/dist/channel-base/lease.d.ts.map +1 -1
  35. package/dist/channel-base/lease.js +29 -45
  36. package/dist/channel-base/lease.js.map +1 -1
  37. package/dist/channel-core-enrichment.d.ts +1 -1
  38. package/dist/channel-core-enrichment.d.ts.map +1 -1
  39. package/dist/channel-core-test-support.d.ts +17 -11
  40. package/dist/channel-core-test-support.d.ts.map +1 -1
  41. package/dist/channel-core-test-support.js +5 -6
  42. package/dist/channel-core-test-support.js.map +1 -1
  43. package/dist/channel-core.d.ts +24 -29
  44. package/dist/channel-core.d.ts.map +1 -1
  45. package/dist/channel-core.js +18 -42
  46. package/dist/channel-core.js.map +1 -1
  47. package/dist/cli/commands/agents.d.ts +3 -6
  48. package/dist/cli/commands/agents.d.ts.map +1 -1
  49. package/dist/cli/commands/agents.js +14 -50
  50. package/dist/cli/commands/agents.js.map +1 -1
  51. package/dist/cli/commands/contacts.d.ts +5 -6
  52. package/dist/cli/commands/contacts.d.ts.map +1 -1
  53. package/dist/cli/commands/contacts.js +15 -43
  54. package/dist/cli/commands/contacts.js.map +1 -1
  55. package/dist/cli/commands/conversations.d.ts +8 -18
  56. package/dist/cli/commands/conversations.d.ts.map +1 -1
  57. package/dist/cli/commands/conversations.js +14 -65
  58. package/dist/cli/commands/conversations.js.map +1 -1
  59. package/dist/cli/commands/messages.d.ts +13 -35
  60. package/dist/cli/commands/messages.d.ts.map +1 -1
  61. package/dist/cli/commands/messages.js +21 -46
  62. package/dist/cli/commands/messages.js.map +1 -1
  63. package/dist/cli/commands/register.d.ts +10 -12
  64. package/dist/cli/commands/register.d.ts.map +1 -1
  65. package/dist/cli/commands/register.js +47 -133
  66. package/dist/cli/commands/register.js.map +1 -1
  67. package/dist/cli/commands/send.d.ts +23 -36
  68. package/dist/cli/commands/send.d.ts.map +1 -1
  69. package/dist/cli/commands/send.js +25 -72
  70. package/dist/cli/commands/send.js.map +1 -1
  71. package/dist/cli/commands/start.d.ts +10 -124
  72. package/dist/cli/commands/start.d.ts.map +1 -1
  73. package/dist/cli/commands/start.js +28 -510
  74. package/dist/cli/commands/start.js.map +1 -1
  75. package/dist/cli/commands/status.d.ts +1 -1
  76. package/dist/cli/commands/status.d.ts.map +1 -1
  77. package/dist/cli/commands/status.js +8 -9
  78. package/dist/cli/commands/status.js.map +1 -1
  79. package/dist/cli/commands/test-transport.d.ts +12 -5
  80. package/dist/cli/commands/test-transport.d.ts.map +1 -1
  81. package/dist/cli/commands/test-transport.js +15 -15
  82. package/dist/cli/commands/test-transport.js.map +1 -1
  83. package/dist/cli/index.js +13 -40
  84. package/dist/cli/index.js.map +1 -1
  85. package/dist/cli/output.d.ts +4 -0
  86. package/dist/cli/output.d.ts.map +1 -0
  87. package/dist/cli/output.js +9 -0
  88. package/dist/cli/output.js.map +1 -0
  89. package/dist/cli/socket-client.d.ts +7 -14
  90. package/dist/cli/socket-client.d.ts.map +1 -1
  91. package/dist/cli/socket-client.js +15 -38
  92. package/dist/cli/socket-client.js.map +1 -1
  93. package/dist/cli/transport.d.ts +53 -116
  94. package/dist/cli/transport.d.ts.map +1 -1
  95. package/dist/cli/transport.js +45 -295
  96. package/dist/cli/transport.js.map +1 -1
  97. package/dist/config.d.ts +24 -0
  98. package/dist/config.d.ts.map +1 -0
  99. package/dist/config.js +35 -0
  100. package/dist/config.js.map +1 -0
  101. package/dist/config.test-utils.d.ts +13 -0
  102. package/dist/config.test-utils.d.ts.map +1 -0
  103. package/dist/config.test-utils.js +46 -0
  104. package/dist/config.test-utils.js.map +1 -0
  105. package/dist/index.d.ts +3 -8
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +2 -12
  108. package/dist/index.js.map +1 -1
  109. package/dist/local-daemon-rpc.d.ts +259 -8
  110. package/dist/local-daemon-rpc.d.ts.map +1 -1
  111. package/dist/local-daemon-rpc.js +189 -12
  112. package/dist/local-daemon-rpc.js.map +1 -1
  113. package/dist/{runtime/local-history.d.ts → local-history.d.ts} +16 -21
  114. package/dist/local-history.d.ts.map +1 -0
  115. package/dist/{runtime/local-history.js → local-history.js} +16 -21
  116. package/dist/local-history.js.map +1 -0
  117. package/dist/local-paths.d.ts +0 -2
  118. package/dist/local-paths.d.ts.map +1 -1
  119. package/dist/local-paths.js +0 -4
  120. package/dist/local-paths.js.map +1 -1
  121. package/dist/local-socket-server.d.ts +22 -0
  122. package/dist/local-socket-server.d.ts.map +1 -0
  123. package/dist/{runtime/local-socket-server.js → local-socket-server.js} +4 -9
  124. package/dist/local-socket-server.js.map +1 -0
  125. package/dist/message-rendering.d.ts +3 -0
  126. package/dist/message-rendering.d.ts.map +1 -0
  127. package/dist/message-rendering.js +7 -0
  128. package/dist/message-rendering.js.map +1 -0
  129. package/dist/notification/__tests__/{snapshot-semantics.types-check.d.ts → subscribe-signatures.types-check.d.ts} +1 -1
  130. package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts.map +1 -0
  131. package/dist/notification/__tests__/subscribe-signatures.types-check.js +55 -0
  132. package/dist/notification/__tests__/subscribe-signatures.types-check.js.map +1 -0
  133. package/dist/notification/errors.d.ts +18 -6
  134. package/dist/notification/errors.d.ts.map +1 -1
  135. package/dist/notification/errors.js +13 -15
  136. package/dist/notification/errors.js.map +1 -1
  137. package/dist/notification/index.d.ts +5 -0
  138. package/dist/notification/index.d.ts.map +1 -0
  139. package/dist/notification/index.js +5 -0
  140. package/dist/notification/index.js.map +1 -0
  141. package/dist/notification/stream.d.ts +33 -49
  142. package/dist/notification/stream.d.ts.map +1 -1
  143. package/dist/notification/stream.js +33 -76
  144. package/dist/notification/stream.js.map +1 -1
  145. package/dist/pagination.d.ts +20 -10
  146. package/dist/pagination.d.ts.map +1 -1
  147. package/dist/pagination.js +8 -9
  148. package/dist/pagination.js.map +1 -1
  149. package/dist/profile.d.ts +92 -0
  150. package/dist/profile.d.ts.map +1 -0
  151. package/dist/profile.js +149 -0
  152. package/dist/profile.js.map +1 -0
  153. package/dist/refs.d.ts.map +1 -0
  154. package/dist/refs.js.map +1 -0
  155. package/dist/service-archive-purge.d.ts +2 -1
  156. package/dist/service-archive-purge.d.ts.map +1 -1
  157. package/dist/service-archive-purge.js.map +1 -1
  158. package/dist/{runtime/service-helpers.d.ts → service-helpers.d.ts} +5 -11
  159. package/dist/service-helpers.d.ts.map +1 -0
  160. package/dist/{runtime/service-helpers.js → service-helpers.js} +2 -9
  161. package/dist/service-helpers.js.map +1 -0
  162. package/dist/service-local-daemon.d.ts +22 -0
  163. package/dist/service-local-daemon.d.ts.map +1 -0
  164. package/dist/service-local-daemon.js +185 -0
  165. package/dist/service-local-daemon.js.map +1 -0
  166. package/dist/service.d.ts +65 -57
  167. package/dist/service.d.ts.map +1 -1
  168. package/dist/service.js +205 -156
  169. package/dist/service.js.map +1 -1
  170. package/dist/test-utils/channel-service-fixture.d.ts +3 -2
  171. package/dist/test-utils/channel-service-fixture.d.ts.map +1 -1
  172. package/dist/test-utils/channel-service-fixture.js.map +1 -1
  173. package/dist/test-utils/fake-service.d.ts +26 -18
  174. package/dist/test-utils/fake-service.d.ts.map +1 -1
  175. package/dist/test-utils/fake-service.js +28 -42
  176. package/dist/test-utils/fake-service.js.map +1 -1
  177. package/dist/test-utils/ids.d.ts +3 -1
  178. package/dist/test-utils/ids.d.ts.map +1 -1
  179. package/dist/test-utils/ids.js.map +1 -1
  180. package/dist/test-utils/index.d.ts +9 -2
  181. package/dist/test-utils/index.d.ts.map +1 -1
  182. package/dist/test-utils/index.js +8 -1
  183. package/dist/test-utils/index.js.map +1 -1
  184. package/dist/test-utils/standalone-provisioning.d.ts +17 -0
  185. package/dist/test-utils/standalone-provisioning.d.ts.map +1 -0
  186. package/dist/test-utils/standalone-provisioning.js +14 -0
  187. package/dist/test-utils/standalone-provisioning.js.map +1 -0
  188. package/dist/tsconfig.tsbuildinfo +1 -0
  189. package/package.json +49 -27
  190. package/dist/auth.test.d.ts +0 -2
  191. package/dist/auth.test.d.ts.map +0 -1
  192. package/dist/auth.test.js +0 -121
  193. package/dist/auth.test.js.map +0 -1
  194. package/dist/channel-core-context.test.d.ts +0 -2
  195. package/dist/channel-core-context.test.d.ts.map +0 -1
  196. package/dist/channel-core-context.test.js +0 -342
  197. package/dist/channel-core-context.test.js.map +0 -1
  198. package/dist/channel-core-dispatch.test.d.ts +0 -2
  199. package/dist/channel-core-dispatch.test.d.ts.map +0 -1
  200. package/dist/channel-core-dispatch.test.js +0 -557
  201. package/dist/channel-core-dispatch.test.js.map +0 -1
  202. package/dist/channel-core.test.d.ts +0 -2
  203. package/dist/channel-core.test.d.ts.map +0 -1
  204. package/dist/channel-core.test.js +0 -232
  205. package/dist/channel-core.test.js.map +0 -1
  206. package/dist/cli/__tests__/cli-multi-agent.int.test.d.ts +0 -2
  207. package/dist/cli/__tests__/cli-multi-agent.int.test.d.ts.map +0 -1
  208. package/dist/cli/__tests__/cli-multi-agent.int.test.js +0 -132
  209. package/dist/cli/__tests__/cli-multi-agent.int.test.js.map +0 -1
  210. package/dist/cli/commands/invite.d.ts +0 -7
  211. package/dist/cli/commands/invite.d.ts.map +0 -1
  212. package/dist/cli/commands/invite.js +0 -11
  213. package/dist/cli/commands/invite.js.map +0 -1
  214. package/dist/cli/commands/messages.test.d.ts +0 -2
  215. package/dist/cli/commands/messages.test.d.ts.map +0 -1
  216. package/dist/cli/commands/messages.test.js +0 -99
  217. package/dist/cli/commands/messages.test.js.map +0 -1
  218. package/dist/cli/commands/ping.d.ts +0 -7
  219. package/dist/cli/commands/ping.d.ts.map +0 -1
  220. package/dist/cli/commands/ping.js +0 -37
  221. package/dist/cli/commands/ping.js.map +0 -1
  222. package/dist/cli/commands/register.test.d.ts +0 -2
  223. package/dist/cli/commands/register.test.d.ts.map +0 -1
  224. package/dist/cli/commands/register.test.js +0 -91
  225. package/dist/cli/commands/register.test.js.map +0 -1
  226. package/dist/cli/commands/send.test.d.ts +0 -2
  227. package/dist/cli/commands/send.test.d.ts.map +0 -1
  228. package/dist/cli/commands/send.test.js +0 -59
  229. package/dist/cli/commands/send.test.js.map +0 -1
  230. package/dist/cli/commands/start.test.d.ts +0 -2
  231. package/dist/cli/commands/start.test.d.ts.map +0 -1
  232. package/dist/cli/commands/start.test.js +0 -624
  233. package/dist/cli/commands/start.test.js.map +0 -1
  234. package/dist/cli/commands/whoami.d.ts +0 -8
  235. package/dist/cli/commands/whoami.d.ts.map +0 -1
  236. package/dist/cli/commands/whoami.js +0 -28
  237. package/dist/cli/commands/whoami.js.map +0 -1
  238. package/dist/cli/config.d.ts +0 -66
  239. package/dist/cli/config.d.ts.map +0 -1
  240. package/dist/cli/config.js +0 -148
  241. package/dist/cli/config.js.map +0 -1
  242. package/dist/cli/config.test.d.ts +0 -2
  243. package/dist/cli/config.test.d.ts.map +0 -1
  244. package/dist/cli/config.test.js +0 -89
  245. package/dist/cli/config.test.js.map +0 -1
  246. package/dist/cli/http-client.d.ts +0 -17
  247. package/dist/cli/http-client.d.ts.map +0 -1
  248. package/dist/cli/http-client.js +0 -38
  249. package/dist/cli/http-client.js.map +0 -1
  250. package/dist/cli/profile.d.ts +0 -126
  251. package/dist/cli/profile.d.ts.map +0 -1
  252. package/dist/cli/profile.js +0 -231
  253. package/dist/cli/profile.js.map +0 -1
  254. package/dist/cli/profile.test.d.ts +0 -2
  255. package/dist/cli/profile.test.d.ts.map +0 -1
  256. package/dist/cli/profile.test.js +0 -369
  257. package/dist/cli/profile.test.js.map +0 -1
  258. package/dist/cli/transport.test.d.ts +0 -2
  259. package/dist/cli/transport.test.d.ts.map +0 -1
  260. package/dist/cli/transport.test.js +0 -312
  261. package/dist/cli/transport.test.js.map +0 -1
  262. package/dist/notification/__tests__/filter-equivalence.test.d.ts +0 -2
  263. package/dist/notification/__tests__/filter-equivalence.test.d.ts.map +0 -1
  264. package/dist/notification/__tests__/filter-equivalence.test.js +0 -123
  265. package/dist/notification/__tests__/filter-equivalence.test.js.map +0 -1
  266. package/dist/notification/__tests__/snapshot-semantics.test.d.ts +0 -2
  267. package/dist/notification/__tests__/snapshot-semantics.test.d.ts.map +0 -1
  268. package/dist/notification/__tests__/snapshot-semantics.test.js +0 -261
  269. package/dist/notification/__tests__/snapshot-semantics.test.js.map +0 -1
  270. package/dist/notification/__tests__/snapshot-semantics.types-check.d.ts.map +0 -1
  271. package/dist/notification/__tests__/snapshot-semantics.types-check.js +0 -62
  272. package/dist/notification/__tests__/snapshot-semantics.types-check.js.map +0 -1
  273. package/dist/pagination.test.d.ts +0 -2
  274. package/dist/pagination.test.d.ts.map +0 -1
  275. package/dist/pagination.test.js +0 -72
  276. package/dist/pagination.test.js.map +0 -1
  277. package/dist/runtime/close-info.d.ts +0 -84
  278. package/dist/runtime/close-info.d.ts.map +0 -1
  279. package/dist/runtime/close-info.js +0 -102
  280. package/dist/runtime/close-info.js.map +0 -1
  281. package/dist/runtime/close-info.test.d.ts +0 -2
  282. package/dist/runtime/close-info.test.d.ts.map +0 -1
  283. package/dist/runtime/close-info.test.js +0 -109
  284. package/dist/runtime/close-info.test.js.map +0 -1
  285. package/dist/runtime/errors.d.ts +0 -11
  286. package/dist/runtime/errors.d.ts.map +0 -1
  287. package/dist/runtime/errors.js +0 -41
  288. package/dist/runtime/errors.js.map +0 -1
  289. package/dist/runtime/errors.test.d.ts +0 -2
  290. package/dist/runtime/errors.test.d.ts.map +0 -1
  291. package/dist/runtime/errors.test.js +0 -79
  292. package/dist/runtime/errors.test.js.map +0 -1
  293. package/dist/runtime/frame.d.ts +0 -8
  294. package/dist/runtime/frame.d.ts.map +0 -1
  295. package/dist/runtime/frame.js +0 -12
  296. package/dist/runtime/frame.js.map +0 -1
  297. package/dist/runtime/frame.test.d.ts +0 -2
  298. package/dist/runtime/frame.test.d.ts.map +0 -1
  299. package/dist/runtime/frame.test.js +0 -59
  300. package/dist/runtime/frame.test.js.map +0 -1
  301. package/dist/runtime/index.d.ts +0 -10
  302. package/dist/runtime/index.d.ts.map +0 -1
  303. package/dist/runtime/index.js +0 -9
  304. package/dist/runtime/index.js.map +0 -1
  305. package/dist/runtime/local-history.d.ts.map +0 -1
  306. package/dist/runtime/local-history.js.map +0 -1
  307. package/dist/runtime/local-service-commands.d.ts +0 -26
  308. package/dist/runtime/local-service-commands.d.ts.map +0 -1
  309. package/dist/runtime/local-service-commands.js +0 -29
  310. package/dist/runtime/local-service-commands.js.map +0 -1
  311. package/dist/runtime/local-socket-server.d.ts +0 -20
  312. package/dist/runtime/local-socket-server.d.ts.map +0 -1
  313. package/dist/runtime/local-socket-server.js.map +0 -1
  314. package/dist/runtime/refs.d.ts.map +0 -1
  315. package/dist/runtime/refs.js.map +0 -1
  316. package/dist/runtime/runtime.test.d.ts +0 -2
  317. package/dist/runtime/runtime.test.d.ts.map +0 -1
  318. package/dist/runtime/runtime.test.js +0 -37
  319. package/dist/runtime/runtime.test.js.map +0 -1
  320. package/dist/runtime/service-helpers.d.ts.map +0 -1
  321. package/dist/runtime/service-helpers.js.map +0 -1
  322. package/dist/runtime/service-teardown.d.ts +0 -5
  323. package/dist/runtime/service-teardown.d.ts.map +0 -1
  324. package/dist/runtime/service-teardown.js +0 -36
  325. package/dist/runtime/service-teardown.js.map +0 -1
  326. package/dist/runtime/service-teardown.test.d.ts +0 -2
  327. package/dist/runtime/service-teardown.test.d.ts.map +0 -1
  328. package/dist/runtime/service-teardown.test.js +0 -80
  329. package/dist/runtime/service-teardown.test.js.map +0 -1
  330. package/dist/runtime/subscribers.d.ts +0 -152
  331. package/dist/runtime/subscribers.d.ts.map +0 -1
  332. package/dist/runtime/subscribers.js +0 -222
  333. package/dist/runtime/subscribers.js.map +0 -1
  334. package/dist/service-socket-path.test.d.ts +0 -2
  335. package/dist/service-socket-path.test.d.ts.map +0 -1
  336. package/dist/service-socket-path.test.js +0 -87
  337. package/dist/service-socket-path.test.js.map +0 -1
  338. package/dist/service.test.d.ts +0 -2
  339. package/dist/service.test.d.ts.map +0 -1
  340. package/dist/service.test.js +0 -796
  341. package/dist/service.test.js.map +0 -1
  342. package/dist/test/index.d.ts +0 -47
  343. package/dist/test/index.d.ts.map +0 -1
  344. package/dist/test/index.js +0 -39
  345. package/dist/test/index.js.map +0 -1
  346. package/dist/test-utils/conformance-adapter.d.ts +0 -40
  347. package/dist/test-utils/conformance-adapter.d.ts.map +0 -1
  348. package/dist/test-utils/conformance-adapter.js +0 -250
  349. package/dist/test-utils/conformance-adapter.js.map +0 -1
  350. package/dist/tm-client-test-support.d.ts +0 -184
  351. package/dist/tm-client-test-support.d.ts.map +0 -1
  352. package/dist/tm-client-test-support.js +0 -466
  353. package/dist/tm-client-test-support.js.map +0 -1
  354. package/dist/tm-client.d.ts +0 -269
  355. package/dist/tm-client.d.ts.map +0 -1
  356. package/dist/tm-client.js +0 -518
  357. package/dist/tm-client.js.map +0 -1
  358. package/dist/tm-client.test.d.ts +0 -2
  359. package/dist/tm-client.test.d.ts.map +0 -1
  360. package/dist/tm-client.test.js +0 -490
  361. package/dist/tm-client.test.js.map +0 -1
  362. /package/dist/{runtime/refs.d.ts → refs.d.ts} +0 -0
  363. /package/dist/{runtime/refs.js → refs.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moltzap/client",
3
- "version": "2026.529.0",
3
+ "version": "2026.718.0",
4
4
  "description": "MoltZap client service — connection, conversation state, and cross-conversation context",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -25,47 +25,69 @@
25
25
  "types": "./dist/test-utils/index.d.ts",
26
26
  "import": "./dist/test-utils/index.js"
27
27
  },
28
- "./test": {
29
- "types": "./dist/test/index.d.ts",
30
- "import": "./dist/test/index.js"
31
- },
32
- "./runtime": {
33
- "types": "./dist/runtime/index.d.ts",
34
- "import": "./dist/runtime/index.js"
35
- },
36
28
  "./channel-base": {
37
29
  "types": "./dist/channel-base/index.d.ts",
38
30
  "import": "./dist/channel-base/index.js"
31
+ },
32
+ "./auth": {
33
+ "types": "./dist/auth.d.ts",
34
+ "import": "./dist/auth.js"
35
+ },
36
+ "./pagination": {
37
+ "types": "./dist/pagination.d.ts",
38
+ "import": "./dist/pagination.js"
39
+ },
40
+ "./notification": {
41
+ "types": "./dist/notification/index.d.ts",
42
+ "import": "./dist/notification/index.js"
43
+ }
44
+ },
45
+ "nx": {
46
+ "targets": {
47
+ "build": {
48
+ "executor": "nx:run-commands",
49
+ "options": {
50
+ "cwd": "packages/client",
51
+ "command": "tsc -b"
52
+ }
53
+ },
54
+ "lint": {
55
+ "executor": "nx:run-commands",
56
+ "options": {
57
+ "cwd": "packages/client",
58
+ "command": "eslint src *.ts --cache --max-warnings=0"
59
+ }
60
+ }
39
61
  }
40
62
  },
41
63
  "dependencies": {
42
- "@effect/cli": "^0.75.1",
43
- "@effect/platform": "^0.96.1",
44
- "@effect/platform-node": "^0.106.0",
45
- "@effect/printer": "0.49.0",
46
- "@effect/printer-ansi": "0.49.0",
47
- "@effect/rpc": "0.75.1",
48
- "@effect/typeclass": "0.40.0",
49
- "@sinclair/typebox": "^0.34.0",
50
- "effect": "3.21.2",
51
- "@moltzap/protocol": "2026.529.0"
64
+ "@effect/cli": "^0.76.0",
65
+ "@effect/platform": "^0.97.0",
66
+ "@effect/platform-node": "^0.108.0",
67
+ "@effect/printer": "0.50.0",
68
+ "@effect/printer-ansi": "0.50.0",
69
+ "@effect/rpc": "0.76.0",
70
+ "@effect/typeclass": "0.41.0",
71
+ "effect": "3.22.0",
72
+ "@moltzap/protocol": "2026.718.0"
52
73
  },
53
74
  "devDependencies": {
54
- "@effect/vitest": "^0.29.0",
75
+ "@effect/vitest": "^0.30.0",
55
76
  "eslint": "^9",
56
77
  "eslint-plugin-agent-code-guard": "0.0.14",
57
- "fast-check": "^4.6.0",
78
+ "fast-check": "^3.23.1",
58
79
  "tsx": "^4.19.0",
59
80
  "typescript": "^5.7.0",
60
- "vitest": "^3.0.0",
61
- "@moltzap/server-core": "2026.529.0"
81
+ "vitest": "^3.2.0",
82
+ "@moltzap/server-core": "2026.718.0"
62
83
  },
63
84
  "scripts": {
64
- "build": "tsc",
65
- "lint": "eslint src *.ts --cache --max-warnings=0",
85
+ "build": "nx run @moltzap/client:build",
86
+ "lint": "nx run @moltzap/client:lint",
66
87
  "test": "vitest run",
67
88
  "test:integration": "vitest run --config vitest.integration.config.ts",
68
- "test:conformance": "bash ../protocol/scripts/check-divergence-proofs.sh && vitest run -c vitest.conformance.config.ts",
69
- "docs:generate": "tsc && pnpm exec tsx scripts/generate-cli-docs.ts"
89
+ "test:conformance": "vitest run -c vitest.conformance.config.ts",
90
+ "docs:generate": "nx run @moltzap/client:build && pnpm exec tsx scripts/generate-cli-docs.ts",
91
+ "typecheck:tests": "tsc -p tsconfig.test.json"
70
92
  }
71
93
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=auth.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.test.d.ts","sourceRoot":"","sources":["../src/auth.test.ts"],"names":[],"mappings":""}
package/dist/auth.test.js DELETED
@@ -1,121 +0,0 @@
1
- import { HttpRouter, HttpServer, HttpServerRequest, HttpServerResponse, } from "@effect/platform";
2
- import { NodeHttpServer } from "@effect/platform-node";
3
- import { it as effectIt } from "@effect/vitest";
4
- import { Effect, Exit, Ref } from "effect";
5
- import { describe, expect } from "vitest";
6
- import { registerAgent } from "./auth.js";
7
- const it = effectIt.scoped;
8
- const ADMIN_REGISTER_PATH = "/api/v1/admin/register-agent";
9
- const PUBLIC_REGISTER_PATH = "/api/v1/auth/register";
10
- const POST_METHOD = "POST";
11
- const CREATED_STATUS = 201;
12
- const FORBIDDEN_STATUS = 403;
13
- const SINGLE_CALL_COUNT = 1;
14
- const LOCALHOST = "127.0.0.1";
15
- const LOCAL_HTTP_SCHEME = "http";
16
- const JSON_CONTENT_TYPE = "application/json";
17
- const TEXT_CONTENT_TYPE = "text/plain";
18
- const TEST_AGENT_NAME = "test";
19
- const INVITE_CODE = "secret";
20
- const OWNER_USER_ID = "00000000-0000-4000-8000-000000000001";
21
- const AGENT_ID = "agent-id";
22
- const API_KEY = "api-key";
23
- const CLAIM_URL = "https://example.test/claim";
24
- const CLAIM_TOKEN = "claim-token";
25
- const INVITE_REQUIRED_BODY = "invite required";
26
- const defaultRegisterResponse = () => ({
27
- status: CREATED_STATUS,
28
- contentType: JSON_CONTENT_TYPE,
29
- body: JSON.stringify({
30
- agentId: AGENT_ID,
31
- apiKey: API_KEY,
32
- claimUrl: CLAIM_URL,
33
- claimToken: CLAIM_TOKEN,
34
- }),
35
- });
36
- const forbiddenResponse = () => ({
37
- status: FORBIDDEN_STATUS,
38
- contentType: TEXT_CONTENT_TYPE,
39
- body: INVITE_REQUIRED_BODY,
40
- });
41
- const localBaseUrl = (port) => `${LOCAL_HTTP_SCHEME}://${LOCALHOST}:${port}`;
42
- const requestBody = (request) => request.json.pipe(Effect.catchAll(() => Effect.succeed(undefined)));
43
- const appendCapturedCall = (calls, call) => Ref.update(calls, (current) => [...current, call]);
44
- const responseFromStub = (response) => HttpServerResponse.text(response.body, {
45
- status: response.status,
46
- contentType: response.contentType,
47
- });
48
- const routeHandler = (path, calls, responder) => Effect.gen(function* () {
49
- const request = yield* HttpServerRequest.HttpServerRequest;
50
- const body = yield* requestBody(request);
51
- yield* appendCapturedCall(calls, {
52
- path,
53
- method: request.method,
54
- body,
55
- });
56
- return responseFromStub(responder(path));
57
- });
58
- const makeRegisterServer = (responder = defaultRegisterResponse) => Effect.gen(function* () {
59
- const calls = yield* Ref.make([]);
60
- const adminRoute = HttpRouter.post(ADMIN_REGISTER_PATH, routeHandler(ADMIN_REGISTER_PATH, calls, responder));
61
- const publicRoute = HttpRouter.post(PUBLIC_REGISTER_PATH, routeHandler(PUBLIC_REGISTER_PATH, calls, responder));
62
- yield* HttpServer.serveEffect(HttpRouter.empty.pipe(adminRoute, publicRoute));
63
- const address = yield* HttpServer.addressWith((serverAddress) => Effect.succeed(serverAddress));
64
- if (address._tag !== "TcpAddress") {
65
- return yield* Effect.dieMessage(`expected TCP address: ${address._tag}`);
66
- }
67
- return { baseUrl: localBaseUrl(address.port), calls };
68
- });
69
- const expectSingleCall = (calls) => {
70
- expect(calls).toHaveLength(SINGLE_CALL_COUNT);
71
- const [call] = calls;
72
- expect(call).toBeDefined();
73
- return call ?? { path: "", method: "", body: undefined };
74
- };
75
- function postsOwnerUserIdToAdminEndpoint() {
76
- return Effect.gen(function* () {
77
- const server = yield* makeRegisterServer();
78
- const result = yield* registerAgent(server.baseUrl, TEST_AGENT_NAME, {
79
- inviteCode: INVITE_CODE,
80
- ownerUserId: OWNER_USER_ID,
81
- });
82
- const call = expectSingleCall(yield* Ref.get(server.calls));
83
- expect(call.path).toBe(ADMIN_REGISTER_PATH);
84
- expect(call.method).toBe(POST_METHOD);
85
- expect(call.body).toEqual({
86
- name: TEST_AGENT_NAME,
87
- inviteCode: INVITE_CODE,
88
- ownerUserId: OWNER_USER_ID,
89
- });
90
- expect(result.agentId).toBe(AGENT_ID);
91
- }).pipe(Effect.provide(NodeHttpServer.layerTest), Effect.orDie);
92
- }
93
- function postsToPublicEndpointWithoutOwnerUserId() {
94
- return Effect.gen(function* () {
95
- const server = yield* makeRegisterServer();
96
- yield* registerAgent(server.baseUrl, TEST_AGENT_NAME, {
97
- inviteCode: INVITE_CODE,
98
- });
99
- const call = expectSingleCall(yield* Ref.get(server.calls));
100
- expect(call.path).toBe(PUBLIC_REGISTER_PATH);
101
- expect(call.body).toEqual({
102
- name: TEST_AGENT_NAME,
103
- inviteCode: INVITE_CODE,
104
- });
105
- }).pipe(Effect.provide(NodeHttpServer.layerTest), Effect.orDie);
106
- }
107
- function nonSuccessResponseFails() {
108
- return Effect.gen(function* () {
109
- const server = yield* makeRegisterServer(() => forbiddenResponse());
110
- const exit = yield* Effect.exit(registerAgent(server.baseUrl, TEST_AGENT_NAME, {
111
- ownerUserId: OWNER_USER_ID,
112
- }));
113
- expect(Exit.isFailure(exit)).toBe(true);
114
- }).pipe(Effect.provide(NodeHttpServer.layerTest), Effect.orDie);
115
- }
116
- describe("registerAgent", () => {
117
- it("posts ownerUserId in the body to the admin endpoint", postsOwnerUserIdToAdminEndpoint);
118
- it("posts to the public endpoint without ownerUserId when absent", postsToPublicEndpointWithoutOwnerUserId);
119
- it("fails when the server returns a non-2xx response", nonSuccessResponseFails);
120
- });
121
- //# sourceMappingURL=auth.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../src/auth.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=channel-core-context.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel-core-context.test.d.ts","sourceRoot":"","sources":["../src/channel-core-context.test.ts"],"names":[],"mappings":""}
@@ -1,342 +0,0 @@
1
- import { beforeEach, expect, it, vi } from "vitest";
2
- import { Effect } from "effect";
3
- import { DEVS_GROUP_NAME, FIRST_TEXT, FIRST_VISIT_TEXT, SECOND_TEXT, TestInboundHandlerError, agent, buildMessage, conversation, createChannelCoreFixture, customSetup, effectTest, flushDispatchChainEffect, forceResolveAgentNamePath, message, participant, task, MoltZapChannelCore, } from "./channel-core-test-support.js";
4
- let fake;
5
- let service;
6
- let core;
7
- let inbound;
8
- beforeEach(() => {
9
- ({ fake, service, core, inbound } = createChannelCoreFixture());
10
- });
11
- function attachesGroupMetadataWhenConversationIsAGroup() {
12
- return Effect.gen(function* () {
13
- fake.state.setConversation("conv-1", {
14
- type: "group",
15
- name: DEVS_GROUP_NAME,
16
- participants: [
17
- "agent:agent-alice",
18
- "agent:agent-bob",
19
- "agent:agent-self",
20
- ],
21
- });
22
- fake.state.setAgentName("agent-alice", "Alice");
23
- fake.emit.message(buildMessage());
24
- yield* flushDispatchChainEffect;
25
- const msg = inbound[0];
26
- expect(msg.contextBlocks.groupMetadata).toEqual({
27
- type: "group",
28
- name: DEVS_GROUP_NAME,
29
- participants: [
30
- participant("agent-alice"),
31
- participant("agent-bob"),
32
- participant("agent-self"),
33
- ],
34
- });
35
- });
36
- }
37
- effectTest("attaches groupMetadata when conversation is a group", attachesGroupMetadataWhenConversationIsAGroup);
38
- function doesNOTAttachGroupMetadataForDMConversations() {
39
- return Effect.gen(function* () {
40
- fake.state.setConversation("conv-1", {
41
- type: "dm",
42
- name: "alice-dm",
43
- participants: ["agent:agent-alice", "agent:agent-self"],
44
- });
45
- fake.state.setAgentName("agent-alice", "Alice");
46
- fake.emit.message(buildMessage());
47
- yield* flushDispatchChainEffect;
48
- expect(inbound[0].contextBlocks.groupMetadata).toBeUndefined();
49
- });
50
- }
51
- effectTest("does NOT attach groupMetadata for DM conversations", doesNOTAttachGroupMetadataForDMConversations);
52
- function attachesCrossConversationEntriesWhenGetContextEntriesReturnsNonEmpty() {
53
- return Effect.gen(function* () {
54
- fake.state.setConversation("conv-1", { type: "dm", participants: [] });
55
- fake.state.setAgentName("agent-alice", "Alice");
56
- const entries = [
57
- {
58
- conversationId: "conv-other",
59
- conversationName: "other-dm",
60
- senderName: "Bob",
61
- text: "hello from the other side",
62
- minutesAgo: 3,
63
- count: 1,
64
- },
65
- ];
66
- fake.state.setContextEntries("conv-1", entries);
67
- fake.emit.message(buildMessage());
68
- yield* flushDispatchChainEffect;
69
- expect(inbound[0].contextBlocks.crossConversation).toEqual(entries);
70
- });
71
- }
72
- effectTest("attaches crossConversation entries when getContextEntries returns non-empty", attachesCrossConversationEntriesWhenGetContextEntriesReturnsNonEmpty);
73
- function doesNOTAttachCrossConversationWhenGetContextEntriesReturnsEmpty() {
74
- return Effect.gen(function* () {
75
- fake.state.setConversation("conv-1", { type: "dm", participants: [] });
76
- fake.state.setAgentName("agent-alice", "Alice");
77
- // Fixture default: returns [] for unknown convs
78
- fake.emit.message(buildMessage());
79
- yield* flushDispatchChainEffect;
80
- expect(inbound[0].contextBlocks.crossConversation).toBeUndefined();
81
- });
82
- }
83
- effectTest("does NOT attach crossConversation when getContextEntries returns empty", doesNOTAttachCrossConversationWhenGetContextEntriesReturnsEmpty);
84
- function handlesGroupsWithZeroParticipantsGracefully() {
85
- return Effect.gen(function* () {
86
- fake.state.setConversation("conv-1", {
87
- type: "group",
88
- name: "empty-group",
89
- participants: [],
90
- });
91
- fake.state.setAgentName("agent-alice", "Alice");
92
- fake.emit.message(buildMessage());
93
- yield* flushDispatchChainEffect;
94
- const meta = inbound[0].contextBlocks.groupMetadata;
95
- expect(meta).toBeDefined();
96
- expect(meta.participants).toEqual([]);
97
- });
98
- }
99
- effectTest("handles groups with zero participants gracefully", handlesGroupsWithZeroParticipantsGracefully);
100
- function commitsContextMarkersAfterEnrichmentSoASecondInboundMessageDoesNotReSeeTheSameEntries() {
101
- return Effect.gen(function* () {
102
- fake.state.setConversation("conv-1", { type: "dm", participants: [] });
103
- fake.state.setAgentName("agent-alice", "Alice");
104
- fake.state.setContextEntries("conv-1", [
105
- {
106
- conversationId: "conv-other",
107
- senderName: "Bob",
108
- text: FIRST_VISIT_TEXT,
109
- minutesAgo: 1,
110
- count: 1,
111
- },
112
- ]);
113
- fake.emit.message(buildMessage({ id: "msg-1" }));
114
- yield* flushDispatchChainEffect;
115
- expect(inbound[0].contextBlocks.crossConversation).toHaveLength(1);
116
- fake.emit.message(buildMessage({ id: "msg-2" }));
117
- yield* flushDispatchChainEffect;
118
- expect(inbound[1].contextBlocks.crossConversation).toBeUndefined();
119
- });
120
- }
121
- effectTest("commits context markers after enrichment so a second inbound message does not re-see the same entries", commitsContextMarkersAfterEnrichmentSoASecondInboundMessageDoesNotReSeeTheSameEntries);
122
- function doesNotCommitWhenThereAreNoContextEntries() {
123
- return Effect.gen(function* () {
124
- const commitSpy = vi.fn();
125
- fake.state.setConversation("conv-1", { type: "dm", participants: [] });
126
- fake.state.setAgentName("agent-alice", "Alice");
127
- // Install a peekContextEntries that records commit calls.
128
- fake.service.peekContextEntries = () => ({ entries: [], commit: commitSpy });
129
- fake.emit.message(buildMessage());
130
- yield* flushDispatchChainEffect;
131
- expect(commitSpy).not.toHaveBeenCalled();
132
- });
133
- }
134
- effectTest("does not commit when there are no context entries", doesNotCommitWhenThereAreNoContextEntries);
135
- function attachesCrossConversationMessagesWhenPeekFullMessagesReturnsNonEmpty() {
136
- return Effect.gen(function* () {
137
- fake.state.setConversation("conv-1", { type: "dm", participants: [] });
138
- fake.state.setAgentName("agent-alice", "Alice");
139
- fake.state.setFullMessages("conv-1", [
140
- {
141
- conversationId: "conv-other",
142
- conversationName: "other-dm",
143
- senderName: "Bob",
144
- senderId: "agent-bob",
145
- text: "full message text here",
146
- timestamp: "2026-04-13T22:00:00Z",
147
- },
148
- ]);
149
- fake.emit.message(buildMessage());
150
- yield* flushDispatchChainEffect;
151
- const msgs = inbound[0].contextBlocks.crossConversationMessages;
152
- expect(msgs).toHaveLength(1);
153
- expect(msgs[0]).toMatchObject({
154
- conversationId: "conv-other",
155
- senderName: "Bob",
156
- text: "full message text here",
157
- timestamp: "2026-04-13T22:00:00Z",
158
- });
159
- });
160
- }
161
- effectTest("attaches crossConversationMessages when peekFullMessages returns non-empty", attachesCrossConversationMessagesWhenPeekFullMessagesReturnsNonEmpty);
162
- function doesNOTAttachCrossConversationMessagesWhenPeekFullMessagesReturnsEmpty() {
163
- return Effect.gen(function* () {
164
- fake.state.setConversation("conv-1", { type: "dm", participants: [] });
165
- fake.state.setAgentName("agent-alice", "Alice");
166
- fake.emit.message(buildMessage());
167
- yield* flushDispatchChainEffect;
168
- expect(inbound[0].contextBlocks.crossConversationMessages).toBeUndefined();
169
- });
170
- }
171
- effectTest("does NOT attach crossConversationMessages when peekFullMessages returns empty", doesNOTAttachCrossConversationMessagesWhenPeekFullMessagesReturnsEmpty);
172
- function commitsFullMessageMarkersAfterInboundHandlerSucceeds() {
173
- return Effect.gen(function* () {
174
- fake.state.setConversation("conv-1", { type: "dm", participants: [] });
175
- fake.state.setAgentName("agent-alice", "Alice");
176
- fake.state.setFullMessages("conv-1", [
177
- {
178
- conversationId: "conv-other",
179
- senderName: "Bob",
180
- senderId: "agent-bob",
181
- text: FIRST_TEXT,
182
- timestamp: "2026-04-13T22:00:00Z",
183
- },
184
- ]);
185
- fake.emit.message(buildMessage({ id: "msg-1" }));
186
- yield* flushDispatchChainEffect;
187
- expect(inbound[0].contextBlocks.crossConversationMessages).toHaveLength(1);
188
- fake.emit.message(buildMessage({ id: "msg-2" }));
189
- yield* flushDispatchChainEffect;
190
- expect(inbound[1].contextBlocks.crossConversationMessages).toBeUndefined();
191
- });
192
- }
193
- effectTest("commits full message markers after inbound handler succeeds", commitsFullMessageMarkersAfterInboundHandlerSucceeds);
194
- function delegatesToServiceSendWithConversationIdAndText() {
195
- return Effect.gen(function* () {
196
- yield* core.sendReply(task("task-42"), conversation("conv-42"), "hello there");
197
- expect(fake.state.sent).toEqual([
198
- {
199
- taskId: task("task-42"),
200
- convId: conversation("conv-42"),
201
- text: "hello there",
202
- },
203
- ]);
204
- });
205
- }
206
- effectTest("delegates to service.send with conversationId and text", delegatesToServiceSendWithConversationIdAndText);
207
- function dropsRepliesLocallyAfterTheConversationIsArchived() {
208
- return Effect.gen(function* () {
209
- fake.emit.conversationArchived({ conversationId: "conv-42" });
210
- yield* core.sendReply(task("task-42"), conversation("conv-42"), "hello there");
211
- expect(fake.state.sent).toEqual([]);
212
- });
213
- }
214
- effectTest("drops replies locally after the conversation is archived", dropsRepliesLocallyAfterTheConversationIsArchived);
215
- function resumesRepliesAfterTheConversationIsUnarchived() {
216
- return Effect.gen(function* () {
217
- fake.emit.conversationArchived({ conversationId: "conv-42" });
218
- fake.emit.conversationUnarchived({ conversationId: "conv-42" });
219
- yield* core.sendReply(task("task-42"), conversation("conv-42"), "hello again");
220
- expect(fake.state.sent).toEqual([
221
- {
222
- taskId: task("task-42"),
223
- convId: conversation("conv-42"),
224
- text: "hello again",
225
- },
226
- ]);
227
- });
228
- }
229
- effectTest("resumes replies after the conversation is unarchived", resumesRepliesAfterTheConversationIsUnarchived);
230
- function returnsTheSameShapeAsTheInstanceHandlerPath() {
231
- return Effect.gen(function* () {
232
- fake.state.setConversation("conv-1", {
233
- type: "group",
234
- name: DEVS_GROUP_NAME,
235
- participants: ["agent:agent-alice", "agent:agent-self"],
236
- });
237
- fake.state.setAgentName("agent-alice", "Alice");
238
- fake.state.setContextEntries("conv-1", [
239
- {
240
- conversationId: "conv-other",
241
- senderName: "Bob",
242
- text: "bonjour",
243
- minutesAgo: 1,
244
- count: 1,
245
- },
246
- ]);
247
- const msg = buildMessage({
248
- id: "msg-static",
249
- conversationId: "conv-1",
250
- parts: [{ type: "text", text: "static enrichment" }],
251
- });
252
- const { enriched: staticResult, commitContext } = yield* MoltZapChannelCore.enrichMessage(service, task("task-1"), msg);
253
- expect(staticResult).toMatchObject({
254
- id: message("msg-static"),
255
- conversationId: conversation("conv-1"),
256
- sender: { id: agent("agent-alice"), name: "Alice" },
257
- text: "static enrichment",
258
- isFromMe: false,
259
- });
260
- expect(staticResult.contextBlocks.groupMetadata?.name).toBe(DEVS_GROUP_NAME);
261
- expect(staticResult.contextBlocks.crossConversation).toHaveLength(1);
262
- expect(commitContext).toBeTypeOf("function");
263
- });
264
- }
265
- effectTest("returns the same shape as the instance handler path", returnsTheSameShapeAsTheInstanceHandlerPath);
266
- function staticHelperToleratesResolveAgentNameThrowingDisconnectedService() {
267
- return Effect.gen(function* () {
268
- const { fake } = customSetup();
269
- fake.state.setConversation("conv-1", { type: "dm", participants: [] });
270
- forceResolveAgentNamePath(fake);
271
- fake.state.setResolveAgentNameFailure("agent-unknown", new Error("Not connected"));
272
- const { enriched: result } = yield* MoltZapChannelCore.enrichMessage(fake.service, task("task-unknown"), buildMessage({ senderId: "agent-unknown" }));
273
- expect(result.sender.name).toBe(agent("agent-unknown"));
274
- });
275
- }
276
- effectTest("static helper tolerates resolveAgentName throwing (disconnected service)", staticHelperToleratesResolveAgentNameThrowingDisconnectedService);
277
- function disconnectRunningHandlersContinueAfterOneThrowsLoggerErrorSeesDisconnectHandlerThrew() {
278
- return Effect.gen(function* () {
279
- const { fake, core } = customSetup();
280
- const recorded = [];
281
- core.onDisconnect(() => {
282
- throw new Error("first disconnect boom");
283
- });
284
- core.onDisconnect(() => {
285
- recorded.push(SECOND_TEXT);
286
- });
287
- yield* core.connect();
288
- fake.emit.disconnect();
289
- expect(recorded).toEqual([SECOND_TEXT]);
290
- });
291
- }
292
- effectTest("disconnect: running handlers continue after one throws", disconnectRunningHandlersContinueAfterOneThrowsLoggerErrorSeesDisconnectHandlerThrew);
293
- it("reconnect: running handlers continue after one throws", () => {
294
- const { fake, core } = customSetup();
295
- const recorded = [];
296
- core.onReconnect(() => {
297
- throw new Error("first reconnect boom");
298
- });
299
- core.onReconnect(() => {
300
- recorded.push(SECOND_TEXT);
301
- });
302
- fake.emit.reconnect();
303
- expect(recorded).toEqual([SECOND_TEXT]);
304
- });
305
- function leavesMarkersUnadvancedWhenTheHandlerSEffectFailsSoTheNextMessageReSeesTheSameContextEntries() {
306
- return Effect.gen(function* () {
307
- const { fake, core } = customSetup();
308
- fake.state.setConversation("conv-1", { type: "dm", participants: [] });
309
- fake.state.setAgentName("agent-alice", "Alice");
310
- fake.state.setContextEntries("conv-1", [
311
- {
312
- conversationId: "conv-other",
313
- senderName: "Bob",
314
- text: FIRST_VISIT_TEXT,
315
- minutesAgo: 1,
316
- count: 1,
317
- },
318
- ]);
319
- let shouldFail = true;
320
- const received = [];
321
- core.onInbound((m) => Effect.gen(function* () {
322
- received.push(m);
323
- if (shouldFail) {
324
- yield* Effect.fail(new TestInboundHandlerError({ message: "inbound handler boom" }));
325
- }
326
- }));
327
- // First message: handler fails after capturing the enriched payload.
328
- // commitContext() must NOT run, so the fake's contextEntries remain.
329
- fake.emit.message(buildMessage({ id: "msg-1" }));
330
- yield* flushDispatchChainEffect;
331
- expect(received[0].contextBlocks.crossConversation).toHaveLength(1);
332
- // Second message: handler succeeds. Because the first message didn't
333
- // commit, the fake still returns the same entries.
334
- shouldFail = false;
335
- fake.emit.message(buildMessage({ id: "msg-2" }));
336
- yield* flushDispatchChainEffect;
337
- expect(received[1].contextBlocks.crossConversation).toHaveLength(1);
338
- expect(received[1].contextBlocks.crossConversation[0].text).toBe(FIRST_VISIT_TEXT);
339
- });
340
- }
341
- effectTest("leaves markers unadvanced when the handler's Effect fails so the next message re-sees the same context entries", leavesMarkersUnadvancedWhenTheHandlerSEffectFailsSoTheNextMessageReSeesTheSameContextEntries);
342
- //# sourceMappingURL=channel-core-context.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel-core-context.test.js","sourceRoot":"","sources":["../src/channel-core-context.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=channel-core-dispatch.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel-core-dispatch.test.d.ts","sourceRoot":"","sources":["../src/channel-core-dispatch.test.ts"],"names":[],"mappings":""}