@methodts/runtime 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 (537) hide show
  1. package/dist/__fixtures__/executor-fixtures.d.ts +10 -0
  2. package/dist/__fixtures__/executor-fixtures.d.ts.map +1 -0
  3. package/dist/__fixtures__/executor-fixtures.js +36 -0
  4. package/dist/__fixtures__/executor-fixtures.js.map +1 -0
  5. package/dist/architecture.test.d.ts +2 -0
  6. package/dist/architecture.test.d.ts.map +1 -0
  7. package/dist/architecture.test.js +143 -0
  8. package/dist/architecture.test.js.map +1 -0
  9. package/dist/config/cost-governor-config.d.ts +40 -0
  10. package/dist/config/cost-governor-config.d.ts.map +1 -0
  11. package/dist/config/cost-governor-config.js +48 -0
  12. package/dist/config/cost-governor-config.js.map +1 -0
  13. package/dist/config/index.d.ts +7 -0
  14. package/dist/config/index.d.ts.map +1 -0
  15. package/dist/config/index.js +6 -0
  16. package/dist/config/index.js.map +1 -0
  17. package/dist/config/sessions-config.d.ts +29 -0
  18. package/dist/config/sessions-config.d.ts.map +1 -0
  19. package/dist/config/sessions-config.js +37 -0
  20. package/dist/config/sessions-config.js.map +1 -0
  21. package/dist/config/strategies-config.d.ts +38 -0
  22. package/dist/config/strategies-config.d.ts.map +1 -0
  23. package/dist/config/strategies-config.js +41 -0
  24. package/dist/config/strategies-config.js.map +1 -0
  25. package/dist/cost-governor/backpressure-queue.d.ts +20 -0
  26. package/dist/cost-governor/backpressure-queue.d.ts.map +1 -0
  27. package/dist/cost-governor/backpressure-queue.js +78 -0
  28. package/dist/cost-governor/backpressure-queue.js.map +1 -0
  29. package/dist/cost-governor/backpressure-queue.test.d.ts +2 -0
  30. package/dist/cost-governor/backpressure-queue.test.d.ts.map +1 -0
  31. package/dist/cost-governor/backpressure-queue.test.js +48 -0
  32. package/dist/cost-governor/backpressure-queue.test.js.map +1 -0
  33. package/dist/cost-governor/cost-events.d.ts +65 -0
  34. package/dist/cost-governor/cost-events.d.ts.map +1 -0
  35. package/dist/cost-governor/cost-events.js +48 -0
  36. package/dist/cost-governor/cost-events.js.map +1 -0
  37. package/dist/cost-governor/cost-governor-app-id.test.d.ts +19 -0
  38. package/dist/cost-governor/cost-governor-app-id.test.d.ts.map +1 -0
  39. package/dist/cost-governor/cost-governor-app-id.test.js +201 -0
  40. package/dist/cost-governor/cost-governor-app-id.test.js.map +1 -0
  41. package/dist/cost-governor/cost-oracle-impl.d.ts +19 -0
  42. package/dist/cost-governor/cost-oracle-impl.d.ts.map +1 -0
  43. package/dist/cost-governor/cost-oracle-impl.js +52 -0
  44. package/dist/cost-governor/cost-oracle-impl.js.map +1 -0
  45. package/dist/cost-governor/estimator.d.ts +22 -0
  46. package/dist/cost-governor/estimator.d.ts.map +1 -0
  47. package/dist/cost-governor/estimator.js +119 -0
  48. package/dist/cost-governor/estimator.js.map +1 -0
  49. package/dist/cost-governor/estimator.test.d.ts +2 -0
  50. package/dist/cost-governor/estimator.test.d.ts.map +1 -0
  51. package/dist/cost-governor/estimator.test.js +141 -0
  52. package/dist/cost-governor/estimator.test.js.map +1 -0
  53. package/dist/cost-governor/index.d.ts +75 -0
  54. package/dist/cost-governor/index.d.ts.map +1 -0
  55. package/dist/cost-governor/index.js +120 -0
  56. package/dist/cost-governor/index.js.map +1 -0
  57. package/dist/cost-governor/observations-store.d.ts +49 -0
  58. package/dist/cost-governor/observations-store.d.ts.map +1 -0
  59. package/dist/cost-governor/observations-store.js +179 -0
  60. package/dist/cost-governor/observations-store.js.map +1 -0
  61. package/dist/cost-governor/observations-store.test.d.ts +2 -0
  62. package/dist/cost-governor/observations-store.test.d.ts.map +1 -0
  63. package/dist/cost-governor/observations-store.test.js +191 -0
  64. package/dist/cost-governor/observations-store.test.js.map +1 -0
  65. package/dist/cost-governor/percentile.d.ts +17 -0
  66. package/dist/cost-governor/percentile.d.ts.map +1 -0
  67. package/dist/cost-governor/percentile.js +33 -0
  68. package/dist/cost-governor/percentile.js.map +1 -0
  69. package/dist/cost-governor/percentile.test.d.ts +2 -0
  70. package/dist/cost-governor/percentile.test.d.ts.map +1 -0
  71. package/dist/cost-governor/percentile.test.js +46 -0
  72. package/dist/cost-governor/percentile.test.js.map +1 -0
  73. package/dist/cost-governor/rate-governor-impl.d.ts +73 -0
  74. package/dist/cost-governor/rate-governor-impl.d.ts.map +1 -0
  75. package/dist/cost-governor/rate-governor-impl.js +148 -0
  76. package/dist/cost-governor/rate-governor-impl.js.map +1 -0
  77. package/dist/cost-governor/signature-builder.d.ts +22 -0
  78. package/dist/cost-governor/signature-builder.d.ts.map +1 -0
  79. package/dist/cost-governor/signature-builder.js +43 -0
  80. package/dist/cost-governor/signature-builder.js.map +1 -0
  81. package/dist/cost-governor/signature-builder.test.d.ts +2 -0
  82. package/dist/cost-governor/signature-builder.test.d.ts.map +1 -0
  83. package/dist/cost-governor/signature-builder.test.js +58 -0
  84. package/dist/cost-governor/signature-builder.test.js.map +1 -0
  85. package/dist/cost-governor/token-bucket.d.ts +57 -0
  86. package/dist/cost-governor/token-bucket.d.ts.map +1 -0
  87. package/dist/cost-governor/token-bucket.js +109 -0
  88. package/dist/cost-governor/token-bucket.js.map +1 -0
  89. package/dist/cost-governor/token-bucket.test.d.ts +2 -0
  90. package/dist/cost-governor/token-bucket.test.d.ts.map +1 -0
  91. package/dist/cost-governor/token-bucket.test.js +67 -0
  92. package/dist/cost-governor/token-bucket.test.js.map +1 -0
  93. package/dist/dlq/cortex-dlq-observer.d.ts +22 -0
  94. package/dist/dlq/cortex-dlq-observer.d.ts.map +1 -0
  95. package/dist/dlq/cortex-dlq-observer.js +29 -0
  96. package/dist/dlq/cortex-dlq-observer.js.map +1 -0
  97. package/dist/dlq/dlq-observer.test.d.ts +8 -0
  98. package/dist/dlq/dlq-observer.test.d.ts.map +1 -0
  99. package/dist/dlq/dlq-observer.test.js +103 -0
  100. package/dist/dlq/dlq-observer.test.js.map +1 -0
  101. package/dist/dlq/index.d.ts +6 -0
  102. package/dist/dlq/index.d.ts.map +1 -0
  103. package/dist/dlq/index.js +6 -0
  104. package/dist/dlq/index.js.map +1 -0
  105. package/dist/event-bus/adapters.d.ts +50 -0
  106. package/dist/event-bus/adapters.d.ts.map +1 -0
  107. package/dist/event-bus/adapters.js +51 -0
  108. package/dist/event-bus/adapters.js.map +1 -0
  109. package/dist/event-bus/adapters.test.d.ts +5 -0
  110. package/dist/event-bus/adapters.test.d.ts.map +1 -0
  111. package/dist/event-bus/adapters.test.js +73 -0
  112. package/dist/event-bus/adapters.test.js.map +1 -0
  113. package/dist/event-bus/agent-event-adapter.d.ts +22 -0
  114. package/dist/event-bus/agent-event-adapter.d.ts.map +1 -0
  115. package/dist/event-bus/agent-event-adapter.js +49 -0
  116. package/dist/event-bus/agent-event-adapter.js.map +1 -0
  117. package/dist/event-bus/agent-event-adapter.test.d.ts +5 -0
  118. package/dist/event-bus/agent-event-adapter.test.d.ts.map +1 -0
  119. package/dist/event-bus/agent-event-adapter.test.js +170 -0
  120. package/dist/event-bus/agent-event-adapter.test.js.map +1 -0
  121. package/dist/event-bus/channel-sink.d.ts +71 -0
  122. package/dist/event-bus/channel-sink.d.ts.map +1 -0
  123. package/dist/event-bus/channel-sink.js +159 -0
  124. package/dist/event-bus/channel-sink.js.map +1 -0
  125. package/dist/event-bus/channel-sink.test.d.ts +5 -0
  126. package/dist/event-bus/channel-sink.test.d.ts.map +1 -0
  127. package/dist/event-bus/channel-sink.test.js +234 -0
  128. package/dist/event-bus/channel-sink.test.js.map +1 -0
  129. package/dist/event-bus/event-types.snapshot.test.d.ts +27 -0
  130. package/dist/event-bus/event-types.snapshot.test.d.ts.map +1 -0
  131. package/dist/event-bus/event-types.snapshot.test.js +165 -0
  132. package/dist/event-bus/event-types.snapshot.test.js.map +1 -0
  133. package/dist/event-bus/genesis-sink.d.ts +55 -0
  134. package/dist/event-bus/genesis-sink.d.ts.map +1 -0
  135. package/dist/event-bus/genesis-sink.js +141 -0
  136. package/dist/event-bus/genesis-sink.js.map +1 -0
  137. package/dist/event-bus/genesis-sink.test.d.ts +5 -0
  138. package/dist/event-bus/genesis-sink.test.d.ts.map +1 -0
  139. package/dist/event-bus/genesis-sink.test.js +160 -0
  140. package/dist/event-bus/genesis-sink.test.js.map +1 -0
  141. package/dist/event-bus/in-memory-event-bus.d.ts +60 -0
  142. package/dist/event-bus/in-memory-event-bus.d.ts.map +1 -0
  143. package/dist/event-bus/in-memory-event-bus.js +274 -0
  144. package/dist/event-bus/in-memory-event-bus.js.map +1 -0
  145. package/dist/event-bus/in-memory-event-bus.test.d.ts +5 -0
  146. package/dist/event-bus/in-memory-event-bus.test.d.ts.map +1 -0
  147. package/dist/event-bus/in-memory-event-bus.test.js +457 -0
  148. package/dist/event-bus/in-memory-event-bus.test.js.map +1 -0
  149. package/dist/event-bus/index.d.ts +22 -0
  150. package/dist/event-bus/index.d.ts.map +1 -0
  151. package/dist/event-bus/index.js +17 -0
  152. package/dist/event-bus/index.js.map +1 -0
  153. package/dist/event-bus/persistence-sink.d.ts +74 -0
  154. package/dist/event-bus/persistence-sink.d.ts.map +1 -0
  155. package/dist/event-bus/persistence-sink.js +193 -0
  156. package/dist/event-bus/persistence-sink.js.map +1 -0
  157. package/dist/event-bus/persistence-sink.test.d.ts +6 -0
  158. package/dist/event-bus/persistence-sink.test.d.ts.map +1 -0
  159. package/dist/event-bus/persistence-sink.test.js +319 -0
  160. package/dist/event-bus/persistence-sink.test.js.map +1 -0
  161. package/dist/event-bus/session-checkpoint-sink.d.ts +91 -0
  162. package/dist/event-bus/session-checkpoint-sink.d.ts.map +1 -0
  163. package/dist/event-bus/session-checkpoint-sink.js +107 -0
  164. package/dist/event-bus/session-checkpoint-sink.js.map +1 -0
  165. package/dist/event-bus/session-checkpoint-sink.test.d.ts +5 -0
  166. package/dist/event-bus/session-checkpoint-sink.test.d.ts.map +1 -0
  167. package/dist/event-bus/session-checkpoint-sink.test.js +215 -0
  168. package/dist/event-bus/session-checkpoint-sink.test.js.map +1 -0
  169. package/dist/event-bus/webhook-connector.d.ts +59 -0
  170. package/dist/event-bus/webhook-connector.d.ts.map +1 -0
  171. package/dist/event-bus/webhook-connector.js +191 -0
  172. package/dist/event-bus/webhook-connector.js.map +1 -0
  173. package/dist/event-bus/webhook-connector.test.d.ts +5 -0
  174. package/dist/event-bus/webhook-connector.test.d.ts.map +1 -0
  175. package/dist/event-bus/webhook-connector.test.js +214 -0
  176. package/dist/event-bus/webhook-connector.test.js.map +1 -0
  177. package/dist/executors/cortex-job-backed-executor.d.ts +137 -0
  178. package/dist/executors/cortex-job-backed-executor.d.ts.map +1 -0
  179. package/dist/executors/cortex-job-backed-executor.js +441 -0
  180. package/dist/executors/cortex-job-backed-executor.js.map +1 -0
  181. package/dist/executors/cortex-job-backed-executor.test.d.ts +13 -0
  182. package/dist/executors/cortex-job-backed-executor.test.d.ts.map +1 -0
  183. package/dist/executors/cortex-job-backed-executor.test.js +303 -0
  184. package/dist/executors/cortex-job-backed-executor.test.js.map +1 -0
  185. package/dist/executors/index.d.ts +9 -0
  186. package/dist/executors/index.d.ts.map +1 -0
  187. package/dist/executors/index.js +9 -0
  188. package/dist/executors/index.js.map +1 -0
  189. package/dist/index.d.ts +2 -0
  190. package/dist/index.d.ts.map +1 -0
  191. package/dist/index.js +13 -0
  192. package/dist/index.js.map +1 -0
  193. package/dist/ports/checkpoint-sink.d.ts +69 -0
  194. package/dist/ports/checkpoint-sink.d.ts.map +1 -0
  195. package/dist/ports/checkpoint-sink.js +16 -0
  196. package/dist/ports/checkpoint-sink.js.map +1 -0
  197. package/dist/ports/checkpoint.d.ts +68 -0
  198. package/dist/ports/checkpoint.d.ts.map +1 -0
  199. package/dist/ports/checkpoint.js +14 -0
  200. package/dist/ports/checkpoint.js.map +1 -0
  201. package/dist/ports/continuation-envelope-cross-app.test.d.ts +10 -0
  202. package/dist/ports/continuation-envelope-cross-app.test.d.ts.map +1 -0
  203. package/dist/ports/continuation-envelope-cross-app.test.js +95 -0
  204. package/dist/ports/continuation-envelope-cross-app.test.js.map +1 -0
  205. package/dist/ports/continuation-envelope.d.ts +199 -0
  206. package/dist/ports/continuation-envelope.d.ts.map +1 -0
  207. package/dist/ports/continuation-envelope.js +69 -0
  208. package/dist/ports/continuation-envelope.js.map +1 -0
  209. package/dist/ports/conversation.d.ts +64 -0
  210. package/dist/ports/conversation.d.ts.map +1 -0
  211. package/dist/ports/conversation.js +19 -0
  212. package/dist/ports/conversation.js.map +1 -0
  213. package/dist/ports/cost-oracle.d.ts +26 -0
  214. package/dist/ports/cost-oracle.d.ts.map +1 -0
  215. package/dist/ports/cost-oracle.js +9 -0
  216. package/dist/ports/cost-oracle.js.map +1 -0
  217. package/dist/ports/cross-app-invoker.d.ts +198 -0
  218. package/dist/ports/cross-app-invoker.d.ts.map +1 -0
  219. package/dist/ports/cross-app-invoker.js +157 -0
  220. package/dist/ports/cross-app-invoker.js.map +1 -0
  221. package/dist/ports/dlq-observer.d.ts +40 -0
  222. package/dist/ports/dlq-observer.d.ts.map +1 -0
  223. package/dist/ports/dlq-observer.js +20 -0
  224. package/dist/ports/dlq-observer.js.map +1 -0
  225. package/dist/ports/event-bus.d.ts +169 -0
  226. package/dist/ports/event-bus.d.ts.map +1 -0
  227. package/dist/ports/event-bus.js +20 -0
  228. package/dist/ports/event-bus.js.map +1 -0
  229. package/dist/ports/event-reader.d.ts +21 -0
  230. package/dist/ports/event-reader.d.ts.map +1 -0
  231. package/dist/ports/event-reader.js +12 -0
  232. package/dist/ports/event-reader.js.map +1 -0
  233. package/dist/ports/event-rotator.d.ts +39 -0
  234. package/dist/ports/event-rotator.d.ts.map +1 -0
  235. package/dist/ports/event-rotator.js +15 -0
  236. package/dist/ports/event-rotator.js.map +1 -0
  237. package/dist/ports/file-system.d.ts +48 -0
  238. package/dist/ports/file-system.d.ts.map +1 -0
  239. package/dist/ports/file-system.js +10 -0
  240. package/dist/ports/file-system.js.map +1 -0
  241. package/dist/ports/historical-observations.d.ts +39 -0
  242. package/dist/ports/historical-observations.d.ts.map +1 -0
  243. package/dist/ports/historical-observations.js +12 -0
  244. package/dist/ports/historical-observations.js.map +1 -0
  245. package/dist/ports/in-memory-source.d.ts +46 -0
  246. package/dist/ports/in-memory-source.d.ts.map +1 -0
  247. package/dist/ports/in-memory-source.js +69 -0
  248. package/dist/ports/in-memory-source.js.map +1 -0
  249. package/dist/ports/index.d.ts +32 -0
  250. package/dist/ports/index.d.ts.map +1 -0
  251. package/dist/ports/index.js +10 -0
  252. package/dist/ports/index.js.map +1 -0
  253. package/dist/ports/job-backed-executor.d.ts +139 -0
  254. package/dist/ports/job-backed-executor.d.ts.map +1 -0
  255. package/dist/ports/job-backed-executor.js +56 -0
  256. package/dist/ports/job-backed-executor.js.map +1 -0
  257. package/dist/ports/methodology-source.d.ts +95 -0
  258. package/dist/ports/methodology-source.d.ts.map +1 -0
  259. package/dist/ports/methodology-source.js +26 -0
  260. package/dist/ports/methodology-source.js.map +1 -0
  261. package/dist/ports/native-session-discovery.d.ts +20 -0
  262. package/dist/ports/native-session-discovery.d.ts.map +1 -0
  263. package/dist/ports/native-session-discovery.js +13 -0
  264. package/dist/ports/native-session-discovery.js.map +1 -0
  265. package/dist/ports/projection-store.d.ts +48 -0
  266. package/dist/ports/projection-store.d.ts.map +1 -0
  267. package/dist/ports/projection-store.js +17 -0
  268. package/dist/ports/projection-store.js.map +1 -0
  269. package/dist/ports/projection.d.ts +29 -0
  270. package/dist/ports/projection.d.ts.map +1 -0
  271. package/dist/ports/projection.js +13 -0
  272. package/dist/ports/projection.js.map +1 -0
  273. package/dist/ports/rate-governor.d.ts +17 -0
  274. package/dist/ports/rate-governor.d.ts.map +1 -0
  275. package/dist/ports/rate-governor.js +11 -0
  276. package/dist/ports/rate-governor.js.map +1 -0
  277. package/dist/ports/schedule-client.d.ts +29 -0
  278. package/dist/ports/schedule-client.d.ts.map +1 -0
  279. package/dist/ports/schedule-client.js +2 -0
  280. package/dist/ports/schedule-client.js.map +1 -0
  281. package/dist/ports/session-pool.d.ts +162 -0
  282. package/dist/ports/session-pool.d.ts.map +1 -0
  283. package/dist/ports/session-pool.js +21 -0
  284. package/dist/ports/session-pool.js.map +1 -0
  285. package/dist/ports/session-store-errors.d.ts +22 -0
  286. package/dist/ports/session-store-errors.d.ts.map +1 -0
  287. package/dist/ports/session-store-errors.js +29 -0
  288. package/dist/ports/session-store-errors.js.map +1 -0
  289. package/dist/ports/session-store-types.d.ts +132 -0
  290. package/dist/ports/session-store-types.d.ts.map +1 -0
  291. package/dist/ports/session-store-types.js +14 -0
  292. package/dist/ports/session-store-types.js.map +1 -0
  293. package/dist/ports/session-store.d.ts +69 -0
  294. package/dist/ports/session-store.d.ts.map +1 -0
  295. package/dist/ports/session-store.js +23 -0
  296. package/dist/ports/session-store.js.map +1 -0
  297. package/dist/ports/yaml-loader.d.ts +15 -0
  298. package/dist/ports/yaml-loader.d.ts.map +1 -0
  299. package/dist/ports/yaml-loader.js +13 -0
  300. package/dist/ports/yaml-loader.js.map +1 -0
  301. package/dist/scheduling/index.d.ts +6 -0
  302. package/dist/scheduling/index.d.ts.map +1 -0
  303. package/dist/scheduling/index.js +6 -0
  304. package/dist/scheduling/index.js.map +1 -0
  305. package/dist/scheduling/scheduled-pact.d.ts +97 -0
  306. package/dist/scheduling/scheduled-pact.d.ts.map +1 -0
  307. package/dist/scheduling/scheduled-pact.js +89 -0
  308. package/dist/scheduling/scheduled-pact.js.map +1 -0
  309. package/dist/sessions/__tests__/cognitive-modules.test.d.ts +10 -0
  310. package/dist/sessions/__tests__/cognitive-modules.test.d.ts.map +1 -0
  311. package/dist/sessions/__tests__/cognitive-modules.test.js +535 -0
  312. package/dist/sessions/__tests__/cognitive-modules.test.js.map +1 -0
  313. package/dist/sessions/__tests__/cognitive-provider.test.d.ts +13 -0
  314. package/dist/sessions/__tests__/cognitive-provider.test.d.ts.map +1 -0
  315. package/dist/sessions/__tests__/cognitive-provider.test.js +331 -0
  316. package/dist/sessions/__tests__/cognitive-provider.test.js.map +1 -0
  317. package/dist/sessions/__tests__/cognitive-sink.test.d.ts +19 -0
  318. package/dist/sessions/__tests__/cognitive-sink.test.d.ts.map +1 -0
  319. package/dist/sessions/__tests__/cognitive-sink.test.js +334 -0
  320. package/dist/sessions/__tests__/cognitive-sink.test.js.map +1 -0
  321. package/dist/sessions/__tests__/runtime-tools.test.d.ts +2 -0
  322. package/dist/sessions/__tests__/runtime-tools.test.d.ts.map +1 -0
  323. package/dist/sessions/__tests__/runtime-tools.test.js +83 -0
  324. package/dist/sessions/__tests__/runtime-tools.test.js.map +1 -0
  325. package/dist/sessions/auto-retro.d.ts +29 -0
  326. package/dist/sessions/auto-retro.d.ts.map +1 -0
  327. package/dist/sessions/auto-retro.js +181 -0
  328. package/dist/sessions/auto-retro.js.map +1 -0
  329. package/dist/sessions/auto-retro.test.d.ts +2 -0
  330. package/dist/sessions/auto-retro.test.d.ts.map +1 -0
  331. package/dist/sessions/auto-retro.test.js +361 -0
  332. package/dist/sessions/auto-retro.test.js.map +1 -0
  333. package/dist/sessions/channels.d.ts +55 -0
  334. package/dist/sessions/channels.d.ts.map +1 -0
  335. package/dist/sessions/channels.js +118 -0
  336. package/dist/sessions/channels.js.map +1 -0
  337. package/dist/sessions/channels.test.d.ts +2 -0
  338. package/dist/sessions/channels.test.d.ts.map +1 -0
  339. package/dist/sessions/channels.test.js +285 -0
  340. package/dist/sessions/channels.test.js.map +1 -0
  341. package/dist/sessions/cognitive-modules.d.ts +100 -0
  342. package/dist/sessions/cognitive-modules.d.ts.map +1 -0
  343. package/dist/sessions/cognitive-modules.js +458 -0
  344. package/dist/sessions/cognitive-modules.js.map +1 -0
  345. package/dist/sessions/cognitive-provider.d.ts +42 -0
  346. package/dist/sessions/cognitive-provider.d.ts.map +1 -0
  347. package/dist/sessions/cognitive-provider.js +208 -0
  348. package/dist/sessions/cognitive-provider.js.map +1 -0
  349. package/dist/sessions/cognitive-sink.d.ts +73 -0
  350. package/dist/sessions/cognitive-sink.d.ts.map +1 -0
  351. package/dist/sessions/cognitive-sink.js +154 -0
  352. package/dist/sessions/cognitive-sink.js.map +1 -0
  353. package/dist/sessions/diagnostics.d.ts +70 -0
  354. package/dist/sessions/diagnostics.d.ts.map +1 -0
  355. package/dist/sessions/diagnostics.js +129 -0
  356. package/dist/sessions/diagnostics.js.map +1 -0
  357. package/dist/sessions/diagnostics.test.d.ts +2 -0
  358. package/dist/sessions/diagnostics.test.d.ts.map +1 -0
  359. package/dist/sessions/diagnostics.test.js +135 -0
  360. package/dist/sessions/diagnostics.test.js.map +1 -0
  361. package/dist/sessions/index.d.ts +32 -0
  362. package/dist/sessions/index.d.ts.map +1 -0
  363. package/dist/sessions/index.js +33 -0
  364. package/dist/sessions/index.js.map +1 -0
  365. package/dist/sessions/pool.d.ts +218 -0
  366. package/dist/sessions/pool.d.ts.map +1 -0
  367. package/dist/sessions/pool.js +991 -0
  368. package/dist/sessions/pool.js.map +1 -0
  369. package/dist/sessions/pool.test.d.ts +2 -0
  370. package/dist/sessions/pool.test.d.ts.map +1 -0
  371. package/dist/sessions/pool.test.js +633 -0
  372. package/dist/sessions/pool.test.js.map +1 -0
  373. package/dist/sessions/print-session.d.ts +142 -0
  374. package/dist/sessions/print-session.d.ts.map +1 -0
  375. package/dist/sessions/print-session.js +325 -0
  376. package/dist/sessions/print-session.js.map +1 -0
  377. package/dist/sessions/print-session.test.d.ts +2 -0
  378. package/dist/sessions/print-session.test.d.ts.map +1 -0
  379. package/dist/sessions/print-session.test.js +418 -0
  380. package/dist/sessions/print-session.test.js.map +1 -0
  381. package/dist/sessions/runtime-tools.d.ts +22 -0
  382. package/dist/sessions/runtime-tools.d.ts.map +1 -0
  383. package/dist/sessions/runtime-tools.js +162 -0
  384. package/dist/sessions/runtime-tools.js.map +1 -0
  385. package/dist/sessions/scope-hook.d.ts +77 -0
  386. package/dist/sessions/scope-hook.d.ts.map +1 -0
  387. package/dist/sessions/scope-hook.js +323 -0
  388. package/dist/sessions/scope-hook.js.map +1 -0
  389. package/dist/sessions/scope-hook.test.d.ts +2 -0
  390. package/dist/sessions/scope-hook.test.d.ts.map +1 -0
  391. package/dist/sessions/scope-hook.test.js +249 -0
  392. package/dist/sessions/scope-hook.test.js.map +1 -0
  393. package/dist/sessions/session-store/checkpoint-sink-impl.d.ts +16 -0
  394. package/dist/sessions/session-store/checkpoint-sink-impl.d.ts.map +1 -0
  395. package/dist/sessions/session-store/checkpoint-sink-impl.js +191 -0
  396. package/dist/sessions/session-store/checkpoint-sink-impl.js.map +1 -0
  397. package/dist/sessions/session-store/checkpoint-sink-impl.test.d.ts +5 -0
  398. package/dist/sessions/session-store/checkpoint-sink-impl.test.d.ts.map +1 -0
  399. package/dist/sessions/session-store/checkpoint-sink-impl.test.js +137 -0
  400. package/dist/sessions/session-store/checkpoint-sink-impl.test.js.map +1 -0
  401. package/dist/sessions/session-store/conformance.d.ts +59 -0
  402. package/dist/sessions/session-store/conformance.d.ts.map +1 -0
  403. package/dist/sessions/session-store/conformance.js +172 -0
  404. package/dist/sessions/session-store/conformance.js.map +1 -0
  405. package/dist/sessions/session-store/conformance.test.d.ts +7 -0
  406. package/dist/sessions/session-store/conformance.test.d.ts.map +1 -0
  407. package/dist/sessions/session-store/conformance.test.js +22 -0
  408. package/dist/sessions/session-store/conformance.test.js.map +1 -0
  409. package/dist/sessions/session-store/in-memory-session-store.d.ts +23 -0
  410. package/dist/sessions/session-store/in-memory-session-store.d.ts.map +1 -0
  411. package/dist/sessions/session-store/in-memory-session-store.js +197 -0
  412. package/dist/sessions/session-store/in-memory-session-store.js.map +1 -0
  413. package/dist/sessions/session-store/in-memory-session-store.test.d.ts +6 -0
  414. package/dist/sessions/session-store/in-memory-session-store.test.d.ts.map +1 -0
  415. package/dist/sessions/session-store/in-memory-session-store.test.js +183 -0
  416. package/dist/sessions/session-store/in-memory-session-store.test.js.map +1 -0
  417. package/dist/sessions/session-store/index.d.ts +20 -0
  418. package/dist/sessions/session-store/index.d.ts.map +1 -0
  419. package/dist/sessions/session-store/index.js +15 -0
  420. package/dist/sessions/session-store/index.js.map +1 -0
  421. package/dist/sessions/session-store/resume.d.ts +88 -0
  422. package/dist/sessions/session-store/resume.d.ts.map +1 -0
  423. package/dist/sessions/session-store/resume.js +96 -0
  424. package/dist/sessions/session-store/resume.js.map +1 -0
  425. package/dist/sessions/session-store/resume.test.d.ts +5 -0
  426. package/dist/sessions/session-store/resume.test.d.ts.map +1 -0
  427. package/dist/sessions/session-store/resume.test.js +119 -0
  428. package/dist/sessions/session-store/resume.test.js.map +1 -0
  429. package/dist/sessions/spawn-queue.d.ts +28 -0
  430. package/dist/sessions/spawn-queue.d.ts.map +1 -0
  431. package/dist/sessions/spawn-queue.js +63 -0
  432. package/dist/sessions/spawn-queue.js.map +1 -0
  433. package/dist/sessions/spawn-queue.test.d.ts +2 -0
  434. package/dist/sessions/spawn-queue.test.d.ts.map +1 -0
  435. package/dist/sessions/spawn-queue.test.js +65 -0
  436. package/dist/sessions/spawn-queue.test.js.map +1 -0
  437. package/dist/sessions/types.d.ts +16 -0
  438. package/dist/sessions/types.d.ts.map +1 -0
  439. package/dist/sessions/types.js +11 -0
  440. package/dist/sessions/types.js.map +1 -0
  441. package/dist/sessions/worktree-stale.test.d.ts +2 -0
  442. package/dist/sessions/worktree-stale.test.d.ts.map +1 -0
  443. package/dist/sessions/worktree-stale.test.js +468 -0
  444. package/dist/sessions/worktree-stale.test.js.map +1 -0
  445. package/dist/strategy/artifact-store.d.ts +12 -0
  446. package/dist/strategy/artifact-store.d.ts.map +1 -0
  447. package/dist/strategy/artifact-store.js +12 -0
  448. package/dist/strategy/artifact-store.js.map +1 -0
  449. package/dist/strategy/artifact-store.test.d.ts +2 -0
  450. package/dist/strategy/artifact-store.test.d.ts.map +1 -0
  451. package/dist/strategy/artifact-store.test.js +170 -0
  452. package/dist/strategy/artifact-store.test.js.map +1 -0
  453. package/dist/strategy/context-load-executor.d.ts +23 -0
  454. package/dist/strategy/context-load-executor.d.ts.map +1 -0
  455. package/dist/strategy/context-load-executor.js +87 -0
  456. package/dist/strategy/context-load-executor.js.map +1 -0
  457. package/dist/strategy/context-load-executor.test.d.ts +16 -0
  458. package/dist/strategy/context-load-executor.test.d.ts.map +1 -0
  459. package/dist/strategy/context-load-executor.test.js +158 -0
  460. package/dist/strategy/context-load-executor.test.js.map +1 -0
  461. package/dist/strategy/cortex-cross-app-invoker.stub.d.ts +65 -0
  462. package/dist/strategy/cortex-cross-app-invoker.stub.d.ts.map +1 -0
  463. package/dist/strategy/cortex-cross-app-invoker.stub.js +68 -0
  464. package/dist/strategy/cortex-cross-app-invoker.stub.js.map +1 -0
  465. package/dist/strategy/cross-app-node-executor.d.ts +54 -0
  466. package/dist/strategy/cross-app-node-executor.d.ts.map +1 -0
  467. package/dist/strategy/cross-app-node-executor.js +98 -0
  468. package/dist/strategy/cross-app-node-executor.js.map +1 -0
  469. package/dist/strategy/cross-app-node-executor.test.d.ts +13 -0
  470. package/dist/strategy/cross-app-node-executor.test.d.ts.map +1 -0
  471. package/dist/strategy/cross-app-node-executor.test.js +160 -0
  472. package/dist/strategy/cross-app-node-executor.test.js.map +1 -0
  473. package/dist/strategy/gates.d.ts +13 -0
  474. package/dist/strategy/gates.d.ts.map +1 -0
  475. package/dist/strategy/gates.js +13 -0
  476. package/dist/strategy/gates.js.map +1 -0
  477. package/dist/strategy/gates.test.d.ts +2 -0
  478. package/dist/strategy/gates.test.d.ts.map +1 -0
  479. package/dist/strategy/gates.test.js +299 -0
  480. package/dist/strategy/gates.test.js.map +1 -0
  481. package/dist/strategy/human-approval-resolver.d.ts +23 -0
  482. package/dist/strategy/human-approval-resolver.d.ts.map +1 -0
  483. package/dist/strategy/human-approval-resolver.js +94 -0
  484. package/dist/strategy/human-approval-resolver.js.map +1 -0
  485. package/dist/strategy/human-approval-resolver.test.d.ts +16 -0
  486. package/dist/strategy/human-approval-resolver.test.d.ts.map +1 -0
  487. package/dist/strategy/human-approval-resolver.test.js +200 -0
  488. package/dist/strategy/human-approval-resolver.test.js.map +1 -0
  489. package/dist/strategy/in-process-cross-app-invoker.d.ts +105 -0
  490. package/dist/strategy/in-process-cross-app-invoker.d.ts.map +1 -0
  491. package/dist/strategy/in-process-cross-app-invoker.js +206 -0
  492. package/dist/strategy/in-process-cross-app-invoker.js.map +1 -0
  493. package/dist/strategy/in-process-cross-app-invoker.test.d.ts +15 -0
  494. package/dist/strategy/in-process-cross-app-invoker.test.d.ts.map +1 -0
  495. package/dist/strategy/in-process-cross-app-invoker.test.js +190 -0
  496. package/dist/strategy/in-process-cross-app-invoker.test.js.map +1 -0
  497. package/dist/strategy/index.d.ts +29 -0
  498. package/dist/strategy/index.d.ts.map +1 -0
  499. package/dist/strategy/index.js +29 -0
  500. package/dist/strategy/index.js.map +1 -0
  501. package/dist/strategy/pacta-strategy.d.ts +97 -0
  502. package/dist/strategy/pacta-strategy.d.ts.map +1 -0
  503. package/dist/strategy/pacta-strategy.js +117 -0
  504. package/dist/strategy/pacta-strategy.js.map +1 -0
  505. package/dist/strategy/pacta-strategy.test.d.ts +2 -0
  506. package/dist/strategy/pacta-strategy.test.d.ts.map +1 -0
  507. package/dist/strategy/pacta-strategy.test.js +234 -0
  508. package/dist/strategy/pacta-strategy.test.js.map +1 -0
  509. package/dist/strategy/retro-generator.d.ts +18 -0
  510. package/dist/strategy/retro-generator.d.ts.map +1 -0
  511. package/dist/strategy/retro-generator.js +22 -0
  512. package/dist/strategy/retro-generator.js.map +1 -0
  513. package/dist/strategy/retro-writer.d.ts +25 -0
  514. package/dist/strategy/retro-writer.d.ts.map +1 -0
  515. package/dist/strategy/retro-writer.js +65 -0
  516. package/dist/strategy/retro-writer.js.map +1 -0
  517. package/dist/strategy/strategy-executor.d.ts +39 -0
  518. package/dist/strategy/strategy-executor.d.ts.map +1 -0
  519. package/dist/strategy/strategy-executor.js +253 -0
  520. package/dist/strategy/strategy-executor.js.map +1 -0
  521. package/dist/strategy/strategy-executor.test.d.ts +8 -0
  522. package/dist/strategy/strategy-executor.test.d.ts.map +1 -0
  523. package/dist/strategy/strategy-executor.test.js +1301 -0
  524. package/dist/strategy/strategy-executor.test.js.map +1 -0
  525. package/dist/strategy/strategy-parser.d.ts +30 -0
  526. package/dist/strategy/strategy-parser.d.ts.map +1 -0
  527. package/dist/strategy/strategy-parser.js +30 -0
  528. package/dist/strategy/strategy-parser.js.map +1 -0
  529. package/dist/strategy/sub-strategy-source.d.ts +27 -0
  530. package/dist/strategy/sub-strategy-source.d.ts.map +1 -0
  531. package/dist/strategy/sub-strategy-source.js +77 -0
  532. package/dist/strategy/sub-strategy-source.js.map +1 -0
  533. package/dist/strategy/types.d.ts +12 -0
  534. package/dist/strategy/types.d.ts.map +1 -0
  535. package/dist/strategy/types.js +9 -0
  536. package/dist/strategy/types.js.map +1 -0
  537. package/package.json +87 -0
@@ -0,0 +1,208 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * Cognitive Agent Provider v3 — manual module composition (PRD 042 Phase 4).
4
+ *
5
+ * Architecture: BridgeMonitorModule + BridgeReasonerActorModule composed in a
6
+ * manual for-loop with monitor-first execution order. Module factories from
7
+ * cognitive-modules.ts encapsulate all behavioral logic (11 fixes from PRDs
8
+ * 033/040/041). This file owns the outer cycle engine and session lifecycle.
9
+ *
10
+ * Execution order per cycle:
11
+ * 1. Monitor reads last cycle's RA monitoring -> produces BridgeMonitorControl
12
+ * 2. RA runs inner while-loop with monitor's control applied immediately
13
+ *
14
+ * External interface unchanged: createCognitiveSession returning PtySession.
15
+ */
16
+ import PQueue from 'p-queue';
17
+ import { moduleId, createWorkspace } from '@methodts/pacta';
18
+ import { createBridgeReasonerActorModule, createBridgeMonitorModule, } from './cognitive-modules.js';
19
+ // ── Cost estimation constants ───────────────────────────────────
20
+ // Sonnet ~$3/$15 per M tokens (input/output). Order of magnitude is fine.
21
+ const INPUT_COST_PER_TOKEN = 3.0 / 1_000_000;
22
+ const OUTPUT_COST_PER_TOKEN = 15.0 / 1_000_000;
23
+ // ── Factory ─────────────────────────────────────────────────────
24
+ export function createCognitiveSession(options) {
25
+ const { id, workdir, onEvent, adapter, tools, config: cfg, initialPrompt, cognitiveSink } = options;
26
+ const maxCycles = cfg?.maxCycles ?? 15;
27
+ const maxToolsPerCycle = cfg?.maxToolsPerCycle ?? 5;
28
+ const wsCapacity = cfg?.workspaceCapacity ?? 8;
29
+ const confThreshold = cfg?.confidenceThreshold ?? 0.3;
30
+ const stagThreshold = cfg?.stagnationThreshold ?? 2;
31
+ const intBudget = cfg?.interventionBudget ?? 5;
32
+ // 8192 gives enough room for Write tool calls on large outputs (reports, code files).
33
+ // 2048 caused no-action loops: plan used most tokens, leaving no room for the action JSON.
34
+ const maxOutputTokens = cfg?.maxOutputTokens ?? 8192;
35
+ const queue = new PQueue({ concurrency: 1 });
36
+ let status = 'ready';
37
+ let promptCount = 0;
38
+ let lastActivityAt = new Date();
39
+ let transcript = '';
40
+ const outputSubs = new Set();
41
+ const exitCbs = [];
42
+ const getStatus = () => status;
43
+ // ── Session-level workspace (persists across prompts) ─────────
44
+ const salienceCtx = {
45
+ now: Date.now(),
46
+ goals: ['complete the task', 'produce correct output'],
47
+ sourcePriorities: new Map([
48
+ [moduleId('reasoner-actor'), 0.9],
49
+ [moduleId('monitor'), 0.7],
50
+ [moduleId('observer'), 0.6],
51
+ ]),
52
+ };
53
+ const ws = createWorkspace({ capacity: wsCapacity }, salienceCtx);
54
+ // ── Session-level cumulative token/cost tracking ──────────────
55
+ let sessionInputTokens = 0;
56
+ let sessionOutputTokens = 0;
57
+ let sessionCostUsd = 0;
58
+ function notify(data) {
59
+ for (const sub of outputSubs) {
60
+ try {
61
+ sub(data);
62
+ }
63
+ catch { /* */ }
64
+ }
65
+ }
66
+ // ── Cognitive cycle ─────────────────────────────────────────
67
+ async function runCycle(prompt, onChunk) {
68
+ const obsPort = ws.getWritePort(moduleId('observer'));
69
+ const raWritePort = ws.getWritePort(moduleId('reasoner-actor'));
70
+ const raReadPort = ws.getReadPort(moduleId('reasoner-actor'));
71
+ // Observer: seed workspace with task
72
+ obsPort.write({ source: moduleId('observer'), content: prompt, salience: 0.95, timestamp: Date.now() });
73
+ obsPort.write({
74
+ source: moduleId('observer'),
75
+ content: `## TASK\n${prompt}\nComplete the task, then call "done". Do not continue after solving it.`,
76
+ salience: 0.95, timestamp: Date.now(),
77
+ });
78
+ let promptInputTokens = 0, promptOutputTokens = 0;
79
+ let lastOutput = '';
80
+ let actualCycles = 0;
81
+ // ── Instantiate modules — per-prompt, session-scoped dependencies injected ──
82
+ const monitorPort = ws.getWritePort(moduleId('monitor'));
83
+ const raConfig = {
84
+ maxToolsPerCycle, maxOutputTokens, wsCapacity, cycleNumber: 1, maxCycles,
85
+ };
86
+ const raModule = createBridgeReasonerActorModule(adapter, tools, ws, raWritePort, raReadPort, obsPort, raConfig, onEvent, cognitiveSink, onChunk);
87
+ const monModule = createBridgeMonitorModule(ws, monitorPort, wsCapacity, { confThreshold, stagThreshold, intBudget }, onEvent, cognitiveSink);
88
+ // State initialized per-prompt (not per-session).
89
+ let raState = raModule.initialState();
90
+ let monState = monModule.initialState();
91
+ let lastRAMonitoring = null;
92
+ for (let c = 0; c < maxCycles; c++) {
93
+ actualCycles = c + 1;
94
+ onEvent({ type: 'cycle-start', cycle: c + 1, maxCycles });
95
+ cognitiveSink?.handle({ type: 'cognitive:cycle_phase', phase: 'start', cycleNumber: c + 1, timestamp: Date.now() });
96
+ ws.resetCycleQuotas();
97
+ // Update cycle number in RA config (mutable field).
98
+ raConfig.cycleNumber = c + 1;
99
+ // Monitor runs FIRST — reads last cycle's RA monitoring, produces control.
100
+ // On cycle 0, lastRAMonitoring is null → monitor returns defaultControl (no interventions).
101
+ const monResult = await monModule.step(lastRAMonitoring, monState, { target: moduleId('monitor'), timestamp: Date.now() });
102
+ monState = monResult.state;
103
+ const control = monResult.output;
104
+ // RA runs SECOND — with this cycle's monitor control applied immediately.
105
+ const raResult = await raModule.step(prompt, raState, control);
106
+ raState = raResult.state;
107
+ lastRAMonitoring = raResult.monitoring;
108
+ // Accumulate token totals from per-cycle deltas.
109
+ promptInputTokens += raResult.monitoring.promptInputTokens;
110
+ promptOutputTokens += raResult.monitoring.promptOutputTokens;
111
+ if (raResult.monitoring.cycleDone) {
112
+ lastOutput = raResult.monitoring.lastOutput;
113
+ break;
114
+ }
115
+ }
116
+ // ── Accumulate into session-level totals ──
117
+ sessionInputTokens += promptInputTokens;
118
+ sessionOutputTokens += promptOutputTokens;
119
+ const promptCostUsd = promptInputTokens * INPUT_COST_PER_TOKEN + promptOutputTokens * OUTPUT_COST_PER_TOKEN;
120
+ sessionCostUsd += promptCostUsd;
121
+ const totalTokens = promptInputTokens + promptOutputTokens;
122
+ const output = lastOutput ||
123
+ (raState.foldedCtx.length > 0
124
+ ? `Cycle limit reached. Summary of actions:\n${raState.foldedCtx.slice(-5).join('\n')}`
125
+ : '(no output — cycle limit reached)');
126
+ onEvent({
127
+ type: 'done', output,
128
+ metadata: {
129
+ totalTokens,
130
+ totalCycles: actualCycles,
131
+ monitorInterventions: monState.interventions,
132
+ costUsd: promptCostUsd,
133
+ inputTokens: promptInputTokens,
134
+ outputTokens: promptOutputTokens,
135
+ sessionCostUsd,
136
+ sessionInputTokens,
137
+ sessionOutputTokens,
138
+ workdir,
139
+ },
140
+ });
141
+ return output;
142
+ }
143
+ // ── Shared prompt execution ─────────────────────────────────
144
+ function execPrompt(prompt, onChunk) {
145
+ if (status === 'dead')
146
+ return Promise.reject(new Error(`Session ${id} is dead`));
147
+ return queue.add(async () => {
148
+ if (status === 'dead')
149
+ throw new Error(`Session ${id} is dead`);
150
+ status = 'working';
151
+ promptCount++;
152
+ lastActivityAt = new Date();
153
+ notify(`\n[cognitive] Prompt #${promptCount}...\n`);
154
+ try {
155
+ const output = await runCycle(prompt, onChunk);
156
+ transcript += `\n--- Prompt #${promptCount} ---\n${prompt}\n--- Response ---\n${output}\n`;
157
+ notify(output);
158
+ lastActivityAt = new Date();
159
+ if (getStatus() !== 'dead')
160
+ status = 'ready';
161
+ return { output, timedOut: false };
162
+ }
163
+ catch (err) {
164
+ lastActivityAt = new Date();
165
+ if (getStatus() !== 'dead')
166
+ status = 'ready';
167
+ const msg = err.message;
168
+ notify(`\n[cognitive] Error: ${msg}\n`);
169
+ return { output: `Error: ${msg}`, timedOut: false };
170
+ }
171
+ });
172
+ }
173
+ // ── PtySession ────────────────────────────────────────────────
174
+ const session = {
175
+ id,
176
+ get pid() { return null; },
177
+ get status() { return status; },
178
+ set status(s) { status = s; },
179
+ get queueDepth() { return queue.size + queue.pending; },
180
+ get promptCount() { return promptCount; },
181
+ set promptCount(n) { promptCount = n; },
182
+ get lastActivityAt() { return lastActivityAt; },
183
+ set lastActivityAt(d) { lastActivityAt = d; },
184
+ get transcript() { return transcript; },
185
+ onOutput(cb) { outputSubs.add(cb); return () => { outputSubs.delete(cb); }; },
186
+ onExit(cb) { exitCbs.push(cb); },
187
+ sendPrompt(p) { return execPrompt(p); },
188
+ sendPromptStream(p, onChunk) { return execPrompt(p, onChunk); },
189
+ resize() { },
190
+ kill() {
191
+ status = 'dead';
192
+ outputSubs.clear();
193
+ for (const cb of exitCbs) {
194
+ try {
195
+ cb(0);
196
+ }
197
+ catch { /* */ }
198
+ }
199
+ },
200
+ interrupt() { return false; },
201
+ get adaptiveSettle() { return null; },
202
+ };
203
+ if (initialPrompt) {
204
+ session.sendPrompt(initialPrompt).catch(() => { });
205
+ }
206
+ return session;
207
+ }
208
+ //# sourceMappingURL=cognitive-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cognitive-provider.js","sourceRoot":"","sources":["../../src/sessions/cognitive-provider.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;;;;;GAaG;AAEH,OAAO,MAAM,MAAM,SAAS,CAAC;AAO7B,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAI5D,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAgChC,mEAAmE;AACnE,0EAA0E;AAC1E,MAAM,oBAAoB,GAAG,GAAG,GAAG,SAAS,CAAC;AAC7C,MAAM,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/C,mEAAmE;AAEnE,MAAM,UAAU,sBAAsB,CAAC,OAAgC;IACrE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IACpG,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,IAAI,EAAE,CAAC;IACvC,MAAM,gBAAgB,GAAG,GAAG,EAAE,gBAAgB,IAAI,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,GAAG,EAAE,iBAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,GAAG,EAAE,mBAAmB,IAAI,GAAG,CAAC;IACtD,MAAM,aAAa,GAAG,GAAG,EAAE,mBAAmB,IAAI,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,GAAG,EAAE,kBAAkB,IAAI,CAAC,CAAC;IAC/C,sFAAsF;IACtF,2FAA2F;IAC3F,MAAM,eAAe,GAAG,GAAG,EAAE,eAAe,IAAI,IAAI,CAAC;IAErD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7C,IAAI,MAAM,GAAkB,OAAO,CAAC;IACpC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;IACrD,MAAM,OAAO,GAAkC,EAAE,CAAC;IAClD,MAAM,SAAS,GAAG,GAAkB,EAAE,CAAC,MAAM,CAAC;IAE9C,iEAAiE;IACjE,MAAM,WAAW,GAAoB;QACnC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;QACf,KAAK,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;QACtD,gBAAgB,EAAE,IAAI,GAAG,CAAC;YACxB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC;YACjC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;YAC1B,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC;SAC5B,CAAC;KACH,CAAC;IACF,MAAM,EAAE,GAAqB,eAAe,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,CAAC;IAEpF,iEAAiE;IACjE,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,SAAS,MAAM,CAAC,IAAY;QAC1B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;IACtE,CAAC;IAED,+DAA+D;IAE/D,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,OAA6B;QACnE,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE9D,qCAAqC;QACrC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxG,OAAO,CAAC,KAAK,CAAC;YACZ,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC;YAC5B,OAAO,EAAE,YAAY,MAAM,0EAA0E;YACrG,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtC,CAAC,CAAC;QAEH,IAAI,iBAAiB,GAAG,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC;QAClD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,+EAA+E;QAC/E,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG;YACf,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS;SACzE,CAAC;QACF,MAAM,QAAQ,GAAG,+BAA+B,CAC9C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAChG,CAAC;QACF,MAAM,SAAS,GAAG,yBAAyB,CACzC,EAAE,EAAE,WAAW,EAAE,UAAU,EAC3B,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,EAC3C,OAAO,EAAE,aAAa,CACvB,CAAC;QAEF,kDAAkD;QAClD,IAAI,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,gBAAgB,GAAyC,IAAI,CAAC;QAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1D,aAAa,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACpH,EAAE,CAAC,gBAAgB,EAAE,CAAC;YAEtB,oDAAoD;YACpD,QAAQ,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;YAE7B,2EAA2E;YAC3E,4FAA4F;YAC5F,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CACpC,gBAAgB,EAChB,QAAQ,EACR,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CACvD,CAAC;YACF,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC;YAC3B,MAAM,OAAO,GAAyB,SAAS,CAAC,MAAM,CAAC;YAEvD,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/D,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC;YACzB,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC;YAEvC,iDAAiD;YACjD,iBAAiB,IAAI,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAC3D,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;YAE7D,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAClC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;gBAC5C,MAAM;YACR,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,kBAAkB,IAAI,iBAAiB,CAAC;QACxC,mBAAmB,IAAI,kBAAkB,CAAC;QAC1C,MAAM,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;QAC5G,cAAc,IAAI,aAAa,CAAC;QAEhC,MAAM,WAAW,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;QAE3D,MAAM,MAAM,GAAG,UAAU;YACvB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,6CAA6C,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvF,CAAC,CAAC,mCAAmC,CAAC,CAAC;QAC3C,OAAO,CAAC;YACN,IAAI,EAAE,MAAM,EAAE,MAAM;YACpB,QAAQ,EAAE;gBACR,WAAW;gBACX,WAAW,EAAE,YAAY;gBACzB,oBAAoB,EAAE,QAAQ,CAAC,aAAa;gBAC5C,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,iBAAiB;gBAC9B,YAAY,EAAE,kBAAkB;gBAChC,cAAc;gBACd,kBAAkB;gBAClB,mBAAmB;gBACnB,OAAO;aACR;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+DAA+D;IAE/D,SAAS,UAAU,CAAC,MAAc,EAAE,OAA6B;QAC/D,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QACjF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,IAAI,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAChE,MAAM,GAAG,SAAS,CAAC;YACnB,WAAW,EAAE,CAAC;YACd,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC,yBAAyB,WAAW,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC/C,UAAU,IAAI,iBAAiB,WAAW,SAAS,MAAM,uBAAuB,MAAM,IAAI,CAAC;gBAC3F,MAAM,CAAC,MAAM,CAAC,CAAC;gBACf,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,SAAS,EAAE,KAAK,MAAM;oBAAE,MAAM,GAAG,OAAO,CAAC;gBAC7C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,SAAS,EAAE,KAAK,MAAM;oBAAE,MAAM,GAAG,OAAO,CAAC;gBAC7C,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,CAAC;gBACnC,MAAM,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;gBACxC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACtD,CAAC;QACH,CAAC,CAAmD,CAAC;IACvD,CAAC;IAED,iEAAiE;IAEjE,MAAM,OAAO,GAAe;QAC1B,EAAE;QACF,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,CAAgB,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,UAAU,KAAK,OAAO,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,IAAI,WAAW,KAAK,OAAO,WAAW,CAAC,CAAC,CAAC;QACzC,IAAI,WAAW,CAAC,CAAS,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,cAAc,KAAK,OAAO,cAAc,CAAC,CAAC,CAAC;QAC/C,IAAI,cAAc,CAAC,CAAO,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,OAAO,UAAU,CAAC,CAAC,CAAC;QACvC,QAAQ,CAAC,EAA0B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,EAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,UAAU,CAAC,CAAS,IAAI,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,gBAAgB,CAAC,CAAS,EAAE,OAA4B,IAAI,OAAO,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,KAAkB,CAAC;QACzB,IAAI;YACF,MAAM,GAAG,MAAM,CAAC;YAChB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;QAC9D,CAAC;QACD,SAAS,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;QAC7B,IAAI,cAAc,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;KACtC,CAAC;IAEF,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAmB,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * CognitiveEventBusSink — bridges the pacta cognitive algebra (CognitiveEvent)
3
+ * to the Universal Event Bus (RuntimeEvent, PRD 026).
4
+ *
5
+ * PRD-057 / S2 §14 Q6 / C5: the class is named `CognitiveEventBusSink` to
6
+ * disambiguate from `@methodts/pacta`'s `CognitiveEvent` producer concept. The
7
+ * shorter legacy name `CognitiveSink` is aliased for back-compat in
8
+ * `@methodts/bridge/domains/sessions/cognitive-sink.ts` until C7 cleanup.
9
+ *
10
+ * The sink has two responsibilities:
11
+ * 1. Expose a handle(event: CognitiveEvent) method that cognitive-provider.ts
12
+ * calls instead of emitting ad-hoc StreamEvents. The sink translates each
13
+ * of the 9 CognitiveEvent algebra types into a typed RuntimeEvent and
14
+ * emits it on the injected EventBus.
15
+ * 2. Implement EventSink so it can optionally be registered with the bus by
16
+ * the composition root (server-entry.ts) for passthrough or fan-out use.
17
+ *
18
+ * Severity mapping:
19
+ * info — module_step, monitoring_signal, control_directive, workspace_write, cycle_phase
20
+ * warning — control_policy_violation, workspace_eviction, learn_failed
21
+ * error — cycle_aborted
22
+ *
23
+ * RuntimeEvent shape produced:
24
+ * domain = 'cognitive'
25
+ * type = 'cognitive.{variant}' (colon replaced with dot, e.g. 'cognitive.module_step')
26
+ * payload = full CognitiveEvent data + optional experimentId, runId, cycleNumber fields
27
+ * source = 'runtime/sessions/cognitive-sink'
28
+ */
29
+ import type { RuntimeEvent, RuntimeEventInput, EventBus, EventSink } from '../ports/event-bus.js';
30
+ import type { CognitiveEvent } from '@methodts/pacta';
31
+ export interface CognitiveEventContext {
32
+ sessionId?: string;
33
+ projectId?: string;
34
+ experimentId?: string;
35
+ runId?: string;
36
+ }
37
+ /**
38
+ * Adapter that translates typed CognitiveEvents from the pacta algebra
39
+ * into RuntimeEvents on the Universal Event Bus.
40
+ *
41
+ * Constructor-injected EventBus is the only hard dependency (port pattern, DR-15).
42
+ */
43
+ export declare class CognitiveEventBusSink implements EventSink {
44
+ readonly name = "cognitive";
45
+ private readonly bus;
46
+ private context;
47
+ constructor(bus: EventBus, context?: CognitiveEventContext);
48
+ /**
49
+ * Update the ambient context attached to every emitted RuntimeEvent.
50
+ * Call when session, experiment, or run identity changes.
51
+ */
52
+ setContext(context: CognitiveEventContext): void;
53
+ /**
54
+ * Translate a CognitiveEvent into a RuntimeEvent and emit it on the bus.
55
+ * This is the method cognitive-provider.ts calls — one call per algebra event.
56
+ */
57
+ handle(event: CognitiveEvent): void;
58
+ /**
59
+ * EventSink.onEvent — receives RuntimeEvents already on the bus.
60
+ * Used when this sink is registered in the composition root for passthrough.
61
+ * Filters to domain='cognitive' and re-emits (no-op for other domains).
62
+ */
63
+ onEvent(_event: RuntimeEvent): void;
64
+ onError(error: Error, event: RuntimeEvent): void;
65
+ /**
66
+ * Map a CognitiveEvent to a RuntimeEventInput, deriving domain, type,
67
+ * severity, and payload from the algebra discriminant.
68
+ */
69
+ toRuntimeEventInput(event: CognitiveEvent): RuntimeEventInput;
70
+ /** @deprecated Alias retained for migration. Prefer `toRuntimeEventInput`. */
71
+ toBridgeEventInput(event: CognitiveEvent): RuntimeEventInput;
72
+ }
73
+ //# sourceMappingURL=cognitive-sink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cognitive-sink.d.ts","sourceRoot":"","sources":["../../src/sessions/cognitive-sink.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;;;;GAKG;AACH,qBAAa,qBAAsB,YAAW,SAAS;IACrD,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAW;IAC/B,OAAO,CAAC,OAAO,CAAwB;gBAE3B,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAE,qBAA0B;IAO9D;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAMhD;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAOnC;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAMnC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAMhD;;;OAGG;IACH,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,iBAAiB;IAkC7D,8EAA8E;IAC9E,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,iBAAiB;CAG7D"}
@@ -0,0 +1,154 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * CognitiveEventBusSink — bridges the pacta cognitive algebra (CognitiveEvent)
4
+ * to the Universal Event Bus (RuntimeEvent, PRD 026).
5
+ *
6
+ * PRD-057 / S2 §14 Q6 / C5: the class is named `CognitiveEventBusSink` to
7
+ * disambiguate from `@methodts/pacta`'s `CognitiveEvent` producer concept. The
8
+ * shorter legacy name `CognitiveSink` is aliased for back-compat in
9
+ * `@methodts/bridge/domains/sessions/cognitive-sink.ts` until C7 cleanup.
10
+ *
11
+ * The sink has two responsibilities:
12
+ * 1. Expose a handle(event: CognitiveEvent) method that cognitive-provider.ts
13
+ * calls instead of emitting ad-hoc StreamEvents. The sink translates each
14
+ * of the 9 CognitiveEvent algebra types into a typed RuntimeEvent and
15
+ * emits it on the injected EventBus.
16
+ * 2. Implement EventSink so it can optionally be registered with the bus by
17
+ * the composition root (server-entry.ts) for passthrough or fan-out use.
18
+ *
19
+ * Severity mapping:
20
+ * info — module_step, monitoring_signal, control_directive, workspace_write, cycle_phase
21
+ * warning — control_policy_violation, workspace_eviction, learn_failed
22
+ * error — cycle_aborted
23
+ *
24
+ * RuntimeEvent shape produced:
25
+ * domain = 'cognitive'
26
+ * type = 'cognitive.{variant}' (colon replaced with dot, e.g. 'cognitive.module_step')
27
+ * payload = full CognitiveEvent data + optional experimentId, runId, cycleNumber fields
28
+ * source = 'runtime/sessions/cognitive-sink'
29
+ */
30
+ // ── CognitiveEventBusSink ───────────────────────────────────────
31
+ /**
32
+ * Adapter that translates typed CognitiveEvents from the pacta algebra
33
+ * into RuntimeEvents on the Universal Event Bus.
34
+ *
35
+ * Constructor-injected EventBus is the only hard dependency (port pattern, DR-15).
36
+ */
37
+ export class CognitiveEventBusSink {
38
+ name = 'cognitive';
39
+ bus;
40
+ context;
41
+ constructor(bus, context = {}) {
42
+ this.bus = bus;
43
+ this.context = context;
44
+ }
45
+ // ── Context mutation ─────────────────────────────────────────
46
+ /**
47
+ * Update the ambient context attached to every emitted RuntimeEvent.
48
+ * Call when session, experiment, or run identity changes.
49
+ */
50
+ setContext(context) {
51
+ this.context = { ...this.context, ...context };
52
+ }
53
+ // ── Primary entry point ──────────────────────────────────────
54
+ /**
55
+ * Translate a CognitiveEvent into a RuntimeEvent and emit it on the bus.
56
+ * This is the method cognitive-provider.ts calls — one call per algebra event.
57
+ */
58
+ handle(event) {
59
+ const input = this.toRuntimeEventInput(event);
60
+ this.bus.emit(input);
61
+ }
62
+ // ── EventSink interface (passthrough / fan-out) ───────────────
63
+ /**
64
+ * EventSink.onEvent — receives RuntimeEvents already on the bus.
65
+ * Used when this sink is registered in the composition root for passthrough.
66
+ * Filters to domain='cognitive' and re-emits (no-op for other domains).
67
+ */
68
+ onEvent(_event) {
69
+ // No-op: CognitiveEventBusSink is a producer, not a consumer. The composition
70
+ // root may register it as a sink for structural completeness, but this path
71
+ // is intentionally inert to avoid double-emission loops.
72
+ }
73
+ onError(error, event) {
74
+ console.error(`[cognitive-sink] Error processing event ${event.id}:`, error.message);
75
+ }
76
+ // ── Mapping logic ────────────────────────────────────────────
77
+ /**
78
+ * Map a CognitiveEvent to a RuntimeEventInput, deriving domain, type,
79
+ * severity, and payload from the algebra discriminant.
80
+ */
81
+ toRuntimeEventInput(event) {
82
+ const { sessionId, projectId, experimentId, runId } = this.context;
83
+ const source = 'runtime/sessions/cognitive-sink';
84
+ // Strip 'cognitive:' prefix and replace with dot form for runtime type
85
+ // convention: e.g. 'cognitive:module_step' → 'cognitive.module_step'.
86
+ const type = event.type.replace(':', '.');
87
+ const basePayload = {
88
+ ...event,
89
+ };
90
+ // Forward optional ambient context fields when present.
91
+ if (experimentId !== undefined)
92
+ basePayload.experimentId = experimentId;
93
+ if (runId !== undefined)
94
+ basePayload.runId = runId;
95
+ // cycleNumber is present on several event types — surface it at payload
96
+ // top-level for consumers that want to filter/group by cycle without
97
+ // parsing the full payload.
98
+ const cycleNumber = extractCycleNumber(event);
99
+ if (cycleNumber !== undefined)
100
+ basePayload.cycleNumber = cycleNumber;
101
+ return {
102
+ version: 1,
103
+ domain: 'cognitive',
104
+ type,
105
+ severity: deriveSeverity(event),
106
+ source,
107
+ ...(sessionId !== undefined && { sessionId }),
108
+ ...(projectId !== undefined && { projectId }),
109
+ payload: basePayload,
110
+ };
111
+ }
112
+ /** @deprecated Alias retained for migration. Prefer `toRuntimeEventInput`. */
113
+ toBridgeEventInput(event) {
114
+ return this.toRuntimeEventInput(event);
115
+ }
116
+ }
117
+ // ── Helpers ────────────────────────────────────────────────────
118
+ /**
119
+ * Derive RuntimeEvent severity from the CognitiveEvent variant.
120
+ *
121
+ * info — normal execution signals (steps, directives, writes, phases, monitoring)
122
+ * warning — anomalies that may require attention (policy violation, eviction, LEARN failure)
123
+ * error — unrecoverable failures that halt the cycle (cycle aborted)
124
+ */
125
+ function deriveSeverity(event) {
126
+ switch (event.type) {
127
+ case 'cognitive:module_step': return 'info';
128
+ case 'cognitive:monitoring_signal': return 'info';
129
+ case 'cognitive:control_directive': return 'info';
130
+ case 'cognitive:workspace_write': return 'info';
131
+ case 'cognitive:cycle_phase': return 'info';
132
+ case 'cognitive:control_policy_violation': return 'warning';
133
+ case 'cognitive:workspace_eviction': return 'warning';
134
+ case 'cognitive:learn_failed': return 'warning';
135
+ case 'cognitive:cycle_aborted': return 'error';
136
+ default:
137
+ // Exhaustive check — TypeScript narrows to never here.
138
+ // Runtime fallback for forward-compatibility with new event types.
139
+ return 'info';
140
+ }
141
+ }
142
+ /**
143
+ * Extract cycleNumber from events that carry it, returning undefined otherwise.
144
+ */
145
+ function extractCycleNumber(event) {
146
+ switch (event.type) {
147
+ case 'cognitive:cycle_phase': return event.cycleNumber;
148
+ case 'cognitive:learn_failed': return event.cycleNumber;
149
+ case 'cognitive:cycle_aborted': return event.cycleNumber;
150
+ default:
151
+ return undefined;
152
+ }
153
+ }
154
+ //# sourceMappingURL=cognitive-sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cognitive-sink.js","sourceRoot":"","sources":["../../src/sessions/cognitive-sink.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import type { AdaptiveSettleDelay } from './print-session.js';
2
+ export interface SessionDiagnostics {
3
+ /** Time from spawn to first PTY output (ms). */
4
+ time_to_first_output_ms: number | null;
5
+ /** Time from spawn to first tool call detection (ms). */
6
+ time_to_first_tool_ms: number | null;
7
+ /** Total tool calls observed (from PTY watcher). */
8
+ tool_call_count: number;
9
+ /** Total settle delay overhead (sum of all settle waits, ms). */
10
+ total_settle_overhead_ms: number;
11
+ /** Number of false-positive settle cutoffs detected. */
12
+ false_positive_settles: number;
13
+ /** Current adaptive settle delay (ms). */
14
+ current_settle_delay_ms: number;
15
+ /** Number of times the session went idle (back to prompt). */
16
+ idle_transitions: number;
17
+ /** Longest continuous idle period (ms). */
18
+ longest_idle_ms: number;
19
+ /** Whether the session ever received a permission prompt. */
20
+ permission_prompt_detected: boolean;
21
+ /** Stall classification (null if not stalled). */
22
+ stall_reason: 'resource_contention' | 'permission_blocked' | 'task_complexity' | 'unknown' | null;
23
+ }
24
+ /**
25
+ * Per-session diagnostics tracker. Created at spawn, collects metrics
26
+ * throughout the session lifetime, produces snapshots on demand.
27
+ */
28
+ export declare class DiagnosticsTracker {
29
+ private readonly spawnedAt;
30
+ private firstOutputAt;
31
+ private firstToolAt;
32
+ private _toolCallCount;
33
+ private _totalSettleOverheadMs;
34
+ private _falsePositiveSettles;
35
+ private readonly _settleDelayMs;
36
+ private _idleTransitions;
37
+ private _longestIdleMs;
38
+ private _idleStartedAt;
39
+ private _permissionPromptDetected;
40
+ /** PRD 012 Phase 2: Optional adaptive settle reference for dynamic metrics. */
41
+ private readonly _adaptiveSettle;
42
+ constructor(settleDelayMs: number, adaptiveSettle?: AdaptiveSettleDelay | null);
43
+ /** Called on first PTY data chunk. */
44
+ recordFirstOutput(): void;
45
+ /** Called when PTY watcher detects a tool call. */
46
+ recordToolCall(): void;
47
+ /** Called when PTY watcher detects an idle transition (prompt char after activity). */
48
+ recordIdleTransition(): void;
49
+ /** Called when any non-idle activity is detected — ends the current idle period. */
50
+ recordActivity(): void;
51
+ /** Called when a permission prompt is detected in PTY output. */
52
+ recordPermissionPrompt(): void;
53
+ /** Called after each prompt response completes. Adds one settle wait to overhead. */
54
+ recordPromptCompletion(): void;
55
+ /** Returns current diagnostics snapshot. */
56
+ snapshot(): SessionDiagnostics;
57
+ /**
58
+ * Classify the stall reason for an idle session.
59
+ * Called by the pool when building status for a stale/idle session.
60
+ *
61
+ * PRD 012 heuristic:
62
+ * - No tool calls ever → permission_blocked
63
+ * - Tool calls + many idle transitions → task_complexity
64
+ * - Slow first output + other agents slow → resource_contention
65
+ * - None of above → unknown
66
+ */
67
+ classifyStall(otherSessionsSlow: boolean): SessionDiagnostics['stall_reason'];
68
+ private endIdlePeriod;
69
+ }
70
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/sessions/diagnostics.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,yDAAyD;IACzD,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,wBAAwB,EAAE,MAAM,CAAC;IACjC,wDAAwD;IACxD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0CAA0C;IAC1C,uBAAuB,EAAE,MAAM,CAAC;IAChC,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,0BAA0B,EAAE,OAAO,CAAC;IACpC,kDAAkD;IAClD,YAAY,EAAE,qBAAqB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC;CACnG;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,yBAAyB,CAAS;IAC1C,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;gBAEjD,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAM9E,sCAAsC;IACtC,iBAAiB,IAAI,IAAI;IAMzB,mDAAmD;IACnD,cAAc,IAAI,IAAI;IAStB,uFAAuF;IACvF,oBAAoB,IAAI,IAAI;IAK5B,oFAAoF;IACpF,cAAc,IAAI,IAAI;IAItB,iEAAiE;IACjE,sBAAsB,IAAI,IAAI;IAI9B,qFAAqF;IACrF,sBAAsB,IAAI,IAAI;IAQ9B,4CAA4C;IAC5C,QAAQ,IAAI,kBAAkB;IAgC9B;;;;;;;;;OASG;IACH,aAAa,CAAC,iBAAiB,EAAE,OAAO,GAAG,kBAAkB,CAAC,cAAc,CAAC;IAe7E,OAAO,CAAC,aAAa;CAStB"}