@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,132 @@
1
+ /**
2
+ * SessionStore + Checkpoint type definitions — PRD-061 / S4 §4.3.
3
+ *
4
+ * Owner: @methodts/runtime
5
+ * Frozen: 2026-04-14 (FCD surface `fcd-surface-session-store`)
6
+ *
7
+ * These types flow across the port interface and are serialized to every
8
+ * backing store. They MUST remain backend-neutral: no Mongo / BSON / file
9
+ * handle types are permitted to appear in these signatures (gate
10
+ * G-SESSIONSTORE-PORT-PURITY).
11
+ */
12
+ export type SessionStatus = 'initializing' | 'running' | 'idle' | 'paused' | 'suspended' | 'completed' | 'failed' | 'dead';
13
+ /** Opaque reference to the pact that produced this session. */
14
+ export interface PactRef {
15
+ readonly id: string;
16
+ readonly version: string;
17
+ /** Hash of the resolved pact document — detects drift on resume. */
18
+ readonly fingerprint: string;
19
+ }
20
+ /**
21
+ * The canonical session-state envelope persisted by every SessionStore.
22
+ *
23
+ * Envelope version is frozen at 1 in v1 of the surface. Unknown schema
24
+ * versions MUST be rejected with `SCHEMA_INCOMPATIBLE` — silent coercion is
25
+ * explicitly forbidden.
26
+ */
27
+ export interface SessionSnapshot {
28
+ readonly schemaVersion: 1;
29
+ readonly sessionId: string;
30
+ /** Stable scope id — appId in Cortex, workdir path in bridge. */
31
+ readonly scopeId: string;
32
+ readonly pactRef: PactRef;
33
+ readonly status: SessionStatus;
34
+ readonly createdAt: string;
35
+ readonly updatedAt: string;
36
+ /** Sequence of the latest appended checkpoint, or null if none. */
37
+ readonly latestCheckpointSequence: number | null;
38
+ readonly nickname?: string;
39
+ readonly parentSessionId?: string;
40
+ readonly depth: number;
41
+ /** Free-form per-adapter metadata — opaque to consumers. */
42
+ readonly metadata?: Record<string, unknown>;
43
+ }
44
+ /** Cursor into the bus event stream. */
45
+ export interface EventCursor {
46
+ readonly sequence: number;
47
+ readonly id: string;
48
+ }
49
+ /**
50
+ * Opaque blob from the agent's perspective. The adapter stores it; the
51
+ * runtime parses it. Large blobs (>16KB recommended threshold) should be
52
+ * written to an external blob ref.
53
+ */
54
+ export type AgentStateBlob = {
55
+ readonly kind: 'inline';
56
+ readonly data: Record<string, unknown>;
57
+ } | {
58
+ readonly kind: 'blob-ref';
59
+ readonly ref: string;
60
+ readonly sizeBytes: number;
61
+ };
62
+ /** Durable reservation handle for an active LLM budget. */
63
+ export interface BudgetReservation {
64
+ readonly handle: string;
65
+ readonly expiresAt: string;
66
+ readonly amount: {
67
+ readonly usd: number;
68
+ readonly tokens: number;
69
+ };
70
+ /** Issuer tag — 'ctx.llm' | 'bridge/cost-governor' | ... */
71
+ readonly issuer: string;
72
+ }
73
+ /** Advisory hint for what the runtime should do on resume. */
74
+ export type NextAction = {
75
+ readonly kind: 'await-prompt';
76
+ } | {
77
+ readonly kind: 'continue-turn';
78
+ readonly pendingToolCalls?: readonly string[];
79
+ } | {
80
+ readonly kind: 'await-human-approval';
81
+ readonly gateId: string;
82
+ } | {
83
+ readonly kind: 'await-schedule';
84
+ readonly wakeAt: string;
85
+ } | {
86
+ readonly kind: 'terminal';
87
+ readonly status: SessionStatus;
88
+ };
89
+ /** One durable checkpoint. Append-only, monotonic per session. */
90
+ export interface Checkpoint {
91
+ readonly schemaVersion: 1;
92
+ readonly sequence: number;
93
+ readonly sessionId: string;
94
+ readonly createdAt: string;
95
+ readonly eventCursor: EventCursor;
96
+ readonly agentState: AgentStateBlob;
97
+ readonly pendingBudget: BudgetReservation | null;
98
+ readonly nextAction: NextAction;
99
+ readonly note?: string;
100
+ }
101
+ /** Lightweight checkpoint projection for listing. */
102
+ export interface CheckpointMeta {
103
+ readonly sequence: number;
104
+ readonly createdAt: string;
105
+ readonly note?: string;
106
+ readonly nextAction: NextAction;
107
+ }
108
+ /** Options accepted by `SessionStore.resume`. */
109
+ export interface ResumeOptions {
110
+ /** Requested lease TTL in ms. Store may clamp. Default 30_000. */
111
+ readonly leaseTtlMs?: number;
112
+ /** If true, require the pact fingerprint to match. Default true. */
113
+ readonly requireFingerprint?: boolean;
114
+ /** Optional fingerprint to match against `snapshot.pactRef.fingerprint`. */
115
+ readonly expectedFingerprint?: string;
116
+ }
117
+ /** Result of a successful `resume()` call. */
118
+ export interface ResumeContext {
119
+ readonly snapshot: SessionSnapshot;
120
+ readonly checkpoint: Checkpoint | null;
121
+ readonly fencingToken: string;
122
+ readonly leaseExpiresAt: string;
123
+ /**
124
+ * Populated only if the adapter was wired with an EventReader.
125
+ * Callers without a reader should coordinate replay themselves.
126
+ */
127
+ readonly replayHint?: {
128
+ readonly fromSequence: number;
129
+ readonly fromEventId: string;
130
+ };
131
+ }
132
+ //# sourceMappingURL=session-store-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store-types.d.ts","sourceRoot":"","sources":["../../src/ports/session-store-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * SessionStore + Checkpoint type definitions — PRD-061 / S4 §4.3.
4
+ *
5
+ * Owner: @methodts/runtime
6
+ * Frozen: 2026-04-14 (FCD surface `fcd-surface-session-store`)
7
+ *
8
+ * These types flow across the port interface and are serialized to every
9
+ * backing store. They MUST remain backend-neutral: no Mongo / BSON / file
10
+ * handle types are permitted to appear in these signatures (gate
11
+ * G-SESSIONSTORE-PORT-PURITY).
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=session-store-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store-types.js","sourceRoot":"","sources":["../../src/ports/session-store-types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;;GAUG"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * SessionStore — persistence port for agent sessions and checkpoints.
3
+ *
4
+ * Owner: @methodts/runtime
5
+ * Consumers: @methodts/pacta (ResumableMode), @methodts/methodts (strategy executor),
6
+ * @methodts/bridge (sessions + strategies domains), @methodts/agent-runtime
7
+ * Producers: FsSessionStore (bridge JSONL+FS), CortexSessionStore (ctx.storage)
8
+ * Direction: runtime ↔ adapter (CRUD + lease)
9
+ * Co-designed: 2026-04-14 (FCD surface session `fcd-surface-session-store`)
10
+ * PRD: .method/sessions/fcd-design-prd-061-session-store/prd.md
11
+ *
12
+ * Contract invariants:
13
+ * I-1 load(sessionId) is idempotent; it never mutates state.
14
+ * I-2 resume(sessionId, workerId) acquires a lease; concurrent callers receive
15
+ * FENCED from that point until the lease expires or is released.
16
+ * I-3 appendCheckpoint rejects stale fencing tokens with FENCED.
17
+ * I-4 Checkpoints for a given session are totally ordered by `sequence`.
18
+ * I-5 The store never blocks emit of bus events — CheckpointSink is async.
19
+ * I-6 Implementations must not leak backend-specific types through this port.
20
+ */
21
+ import type { Checkpoint, CheckpointMeta, ResumeContext, ResumeOptions, SessionSnapshot, SessionStatus } from './session-store-types.js';
22
+ export interface SessionStore {
23
+ /** Create a new session record. Throws DUPLICATE if sessionId exists. */
24
+ create(snapshot: SessionSnapshot): Promise<void>;
25
+ /** Load the latest snapshot or null. Pure read; no lease. */
26
+ load(sessionId: string): Promise<SessionSnapshot | null>;
27
+ /**
28
+ * Resume a session. Atomically:
29
+ * (1) loads the latest snapshot + latest checkpoint,
30
+ * (2) acquires a lease owned by `workerId`,
31
+ * (3) returns a ResumeContext carrying a fencingToken.
32
+ *
33
+ * If a live lease is held by a different worker: `SessionStoreError{ FENCED }`.
34
+ * If the caller's lease is still valid (same workerId), the existing token is
35
+ * returned (idempotent re-fetch — invariant for G-RESUME-IDEMPOTENT).
36
+ */
37
+ resume(sessionId: string, workerId: string, opts?: ResumeOptions): Promise<ResumeContext>;
38
+ /** Release a lease early. Idempotent. */
39
+ releaseLease(sessionId: string, fencingToken: string): Promise<void>;
40
+ /**
41
+ * Renew a lease before it expires. Throws FENCED if stolen.
42
+ * Returns the new expiry timestamp.
43
+ */
44
+ renewLease(sessionId: string, fencingToken: string, ttlMs?: number): Promise<string>;
45
+ /**
46
+ * Append a new checkpoint. Must carry a valid fencingToken from an
47
+ * active lease held by this worker. Rejects stale tokens with FENCED.
48
+ * Updates the snapshot's `latestCheckpointSequence` atomically.
49
+ */
50
+ appendCheckpoint(sessionId: string, checkpoint: Checkpoint, fencingToken: string): Promise<void>;
51
+ /** Load a specific checkpoint or null. */
52
+ loadCheckpoint(sessionId: string, sequence: number): Promise<Checkpoint | null>;
53
+ /** Load the latest checkpoint or null. */
54
+ loadLatestCheckpoint(sessionId: string): Promise<Checkpoint | null>;
55
+ /**
56
+ * List checkpoints for a session (most-recent first).
57
+ * Bounded by `limit`; default 10.
58
+ */
59
+ listCheckpoints(sessionId: string, limit?: number): Promise<CheckpointMeta[]>;
60
+ /**
61
+ * Mark a session terminal. Sets status, persists the final snapshot,
62
+ * releases any held lease. Checkpoint ring is retained per the store's
63
+ * retention policy.
64
+ */
65
+ finalize(sessionId: string, status: SessionStatus, reason?: string): Promise<void>;
66
+ /** Remove a session and all its checkpoints. Irreversible. */
67
+ destroy(sessionId: string): Promise<void>;
68
+ }
69
+ //# sourceMappingURL=session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/ports/session-store.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,YAAY;IAG3B,yEAAyE;IACzE,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD,6DAA6D;IAC7D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEzD;;;;;;;;;OASG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1F,yCAAyC;IACzC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAIrF;;;;OAIG;IACH,gBAAgB,CACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,0CAA0C;IAC1C,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEhF,0CAA0C;IAC1C,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEpE;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAI9E;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF,8DAA8D;IAC9D,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
@@ -0,0 +1,23 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * SessionStore — persistence port for agent sessions and checkpoints.
4
+ *
5
+ * Owner: @methodts/runtime
6
+ * Consumers: @methodts/pacta (ResumableMode), @methodts/methodts (strategy executor),
7
+ * @methodts/bridge (sessions + strategies domains), @methodts/agent-runtime
8
+ * Producers: FsSessionStore (bridge JSONL+FS), CortexSessionStore (ctx.storage)
9
+ * Direction: runtime ↔ adapter (CRUD + lease)
10
+ * Co-designed: 2026-04-14 (FCD surface session `fcd-surface-session-store`)
11
+ * PRD: .method/sessions/fcd-design-prd-061-session-store/prd.md
12
+ *
13
+ * Contract invariants:
14
+ * I-1 load(sessionId) is idempotent; it never mutates state.
15
+ * I-2 resume(sessionId, workerId) acquires a lease; concurrent callers receive
16
+ * FENCED from that point until the lease expires or is released.
17
+ * I-3 appendCheckpoint rejects stale fencing tokens with FENCED.
18
+ * I-4 Checkpoints for a given session are totally ordered by `sequence`.
19
+ * I-5 The store never blocks emit of bus events — CheckpointSink is async.
20
+ * I-6 Implementations must not leak backend-specific types through this port.
21
+ */
22
+ export {};
23
+ //# sourceMappingURL=session-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/ports/session-store.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;;;;;;;;;;;GAmBG"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * YamlLoader — Port interface for YAML parse/dump.
3
+ *
4
+ * PRD-057 / S2 §5.3: Only the interface lives in runtime. The js-yaml
5
+ * adapter (`JsYamlLoader`) stays in bridge.
6
+ *
7
+ * Note: Runtime itself may still depend on js-yaml as a utility (parser is
8
+ * transport-free) — what stays in bridge is the **adapter** that implements
9
+ * this port surface.
10
+ */
11
+ export interface YamlLoader {
12
+ load(content: string): unknown;
13
+ dump(value: unknown): string;
14
+ }
15
+ //# sourceMappingURL=yaml-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml-loader.d.ts","sourceRoot":"","sources":["../../src/ports/yaml-loader.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAIH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CAC9B"}
@@ -0,0 +1,13 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * YamlLoader — Port interface for YAML parse/dump.
4
+ *
5
+ * PRD-057 / S2 §5.3: Only the interface lives in runtime. The js-yaml
6
+ * adapter (`JsYamlLoader`) stays in bridge.
7
+ *
8
+ * Note: Runtime itself may still depend on js-yaml as a utility (parser is
9
+ * transport-free) — what stays in bridge is the **adapter** that implements
10
+ * this port surface.
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=yaml-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml-loader.js","sourceRoot":"","sources":["../../src/ports/yaml-loader.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;GASG"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @methodts/runtime/scheduling — PRD-062 / S5.
3
+ */
4
+ export { ScheduledPact, isScheduledPactPayload, } from './scheduled-pact.js';
5
+ export type { ScheduleOptions, ScheduledPactPayload, ScheduleBindOptions, } from './scheduled-pact.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scheduling/index.ts"],"names":[],"mappings":"AACA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,6 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * @methodts/runtime/scheduling — PRD-062 / S5.
4
+ */
5
+ export { ScheduledPact, isScheduledPactPayload, } from './scheduled-pact.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scheduling/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,sBAAsB,GACvB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * ScheduledPact — binds a Cortex-app `schedules[]` entry to a pact factory.
3
+ *
4
+ * PRD-062 / S5 §2.3. Frozen: 2026-04-14.
5
+ *
6
+ * Two usage modes:
7
+ *
8
+ * Declarative (preferred for Wave 1):
9
+ * ```
10
+ * cortexApp({
11
+ * schedules: [{
12
+ * name: 'daily-twin-report',
13
+ * cron: '0 9 * * MON-FRI',
14
+ * job: 'method.pact.continue',
15
+ * payload: ScheduledPact.payload('daily-twin-report', {
16
+ * initialContext: { twinId: 'franco' },
17
+ * budgetStrategy: 'fresh-per-continuation',
18
+ * perTickBudgetUsd: 2.0,
19
+ * }),
20
+ * }],
21
+ * });
22
+ * ```
23
+ *
24
+ * Imperative:
25
+ * ```
26
+ * await ScheduledPact.bind(ctx.schedule, {
27
+ * name: 'incident-sla-check',
28
+ * cron: '* /15 * * * *',
29
+ * pactKey: 'incident-sla-check',
30
+ * });
31
+ * ```
32
+ *
33
+ * The helper's `bind`/`unbind` static methods operate on a `ScheduleClient`
34
+ * port (S5 §2.3). They never import from `@cortex/infra` or
35
+ * `EventBridgeScheduler` — gate `G-BOUNDARY`.
36
+ */
37
+ import type { BudgetCarryStrategy } from '../ports/continuation-envelope.js';
38
+ import type { ScheduleClient } from '../ports/schedule-client.js';
39
+ /**
40
+ * Options passed into `ScheduledPact.payload()`. All optional; defaults
41
+ * documented per field.
42
+ */
43
+ export interface ScheduleOptions {
44
+ /** Input context passed to the pact factory on each tick. */
45
+ initialContext?: Record<string, unknown>;
46
+ /** Per-tick budget cap (USD). Overrides pact default. */
47
+ perTickBudgetUsd?: number;
48
+ /** Budget strategy for this scheduled pact. Default `fresh-per-continuation`. */
49
+ budgetStrategy?: BudgetCarryStrategy;
50
+ }
51
+ /**
52
+ * The JSON payload a Cortex schedule entry carries to instantiate the
53
+ * named pact on tick. Opaque to Cortex; parsed by the runtime handler.
54
+ *
55
+ * The `kind: 'scheduled-pact-tick'` discriminator lets the single
56
+ * `method.pact.continue` handler distinguish synthetic schedule starts
57
+ * from real continuation envelopes.
58
+ */
59
+ export interface ScheduledPactPayload {
60
+ kind: 'scheduled-pact-tick';
61
+ pactKey: string;
62
+ initialContext: Record<string, unknown>;
63
+ budgetStrategy: BudgetCarryStrategy;
64
+ perTickBudgetUsd?: number;
65
+ }
66
+ export interface ScheduleBindOptions {
67
+ name: string;
68
+ cron: string;
69
+ pactKey: string;
70
+ options?: ScheduleOptions;
71
+ }
72
+ /**
73
+ * ScheduledPact — static helper. Not constructible; used as a namespace.
74
+ */
75
+ export declare const ScheduledPact: {
76
+ /**
77
+ * Build the JSON payload a Cortex schedule entry must carry to instantiate
78
+ * the named pact on tick. Opaque to Cortex; parsed by the runtime handler.
79
+ */
80
+ readonly payload: (pactKey: string, options?: ScheduleOptions) => ScheduledPactPayload;
81
+ /**
82
+ * Register the schedule at runtime against `ctx.schedule`. Useful for
83
+ * pacts created/destroyed based on runtime state (e.g. user-configured
84
+ * schedules in the Twin UI). Returns the schedule name for later
85
+ * `unbind`.
86
+ */
87
+ readonly bind: (schedules: ScheduleClient, options: ScheduleBindOptions) => Promise<string>;
88
+ /** Unbind a previously registered schedule. Idempotent. */
89
+ readonly unbind: (schedules: ScheduleClient, name: string) => Promise<void>;
90
+ };
91
+ /**
92
+ * Type guard — narrows an unknown payload to `ScheduledPactPayload`.
93
+ * Used by the continuation handler to distinguish schedule ticks from
94
+ * regular continuation envelopes.
95
+ */
96
+ export declare function isScheduledPactPayload(payload: unknown): payload is ScheduledPactPayload;
97
+ //# sourceMappingURL=scheduled-pact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-pact.d.ts","sourceRoot":"","sources":["../../src/scheduling/scheduled-pact.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,cAAc,EAAE,mBAAmB,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB;;;OAGG;gCACc,MAAM,YAAY,eAAe,KAAG,oBAAoB;IAazE;;;;;OAKG;+BACmB,cAAc,WAAW,mBAAmB,KAAG,OAAO,CAAC,MAAM,CAAC;IAUpF,2DAA2D;iCACnC,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;CAG5D,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,oBAAoB,CAIxF"}
@@ -0,0 +1,89 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * ScheduledPact — binds a Cortex-app `schedules[]` entry to a pact factory.
4
+ *
5
+ * PRD-062 / S5 §2.3. Frozen: 2026-04-14.
6
+ *
7
+ * Two usage modes:
8
+ *
9
+ * Declarative (preferred for Wave 1):
10
+ * ```
11
+ * cortexApp({
12
+ * schedules: [{
13
+ * name: 'daily-twin-report',
14
+ * cron: '0 9 * * MON-FRI',
15
+ * job: 'method.pact.continue',
16
+ * payload: ScheduledPact.payload('daily-twin-report', {
17
+ * initialContext: { twinId: 'franco' },
18
+ * budgetStrategy: 'fresh-per-continuation',
19
+ * perTickBudgetUsd: 2.0,
20
+ * }),
21
+ * }],
22
+ * });
23
+ * ```
24
+ *
25
+ * Imperative:
26
+ * ```
27
+ * await ScheduledPact.bind(ctx.schedule, {
28
+ * name: 'incident-sla-check',
29
+ * cron: '* /15 * * * *',
30
+ * pactKey: 'incident-sla-check',
31
+ * });
32
+ * ```
33
+ *
34
+ * The helper's `bind`/`unbind` static methods operate on a `ScheduleClient`
35
+ * port (S5 §2.3). They never import from `@cortex/infra` or
36
+ * `EventBridgeScheduler` — gate `G-BOUNDARY`.
37
+ */
38
+ /**
39
+ * ScheduledPact — static helper. Not constructible; used as a namespace.
40
+ */
41
+ export const ScheduledPact = {
42
+ /**
43
+ * Build the JSON payload a Cortex schedule entry must carry to instantiate
44
+ * the named pact on tick. Opaque to Cortex; parsed by the runtime handler.
45
+ */
46
+ payload(pactKey, options) {
47
+ const payload = {
48
+ kind: 'scheduled-pact-tick',
49
+ pactKey,
50
+ initialContext: options?.initialContext ?? {},
51
+ budgetStrategy: options?.budgetStrategy ?? 'fresh-per-continuation',
52
+ };
53
+ if (options?.perTickBudgetUsd !== undefined) {
54
+ payload.perTickBudgetUsd = options.perTickBudgetUsd;
55
+ }
56
+ return payload;
57
+ },
58
+ /**
59
+ * Register the schedule at runtime against `ctx.schedule`. Useful for
60
+ * pacts created/destroyed based on runtime state (e.g. user-configured
61
+ * schedules in the Twin UI). Returns the schedule name for later
62
+ * `unbind`.
63
+ */
64
+ async bind(schedules, options) {
65
+ const payload = ScheduledPact.payload(options.pactKey, options.options);
66
+ await schedules.create(options.name, {
67
+ cron: options.cron,
68
+ job: 'method.pact.continue',
69
+ payload,
70
+ });
71
+ return options.name;
72
+ },
73
+ /** Unbind a previously registered schedule. Idempotent. */
74
+ async unbind(schedules, name) {
75
+ await schedules.delete(name);
76
+ },
77
+ };
78
+ /**
79
+ * Type guard — narrows an unknown payload to `ScheduledPactPayload`.
80
+ * Used by the continuation handler to distinguish schedule ticks from
81
+ * regular continuation envelopes.
82
+ */
83
+ export function isScheduledPactPayload(payload) {
84
+ if (!payload || typeof payload !== 'object')
85
+ return false;
86
+ const p = payload;
87
+ return p.kind === 'scheduled-pact-tick' && typeof p.pactKey === 'string';
88
+ }
89
+ //# sourceMappingURL=scheduled-pact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-pact.js","sourceRoot":"","sources":["../../src/scheduling/scheduled-pact.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAyCH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;;;OAGG;IACH,OAAO,CAAC,OAAe,EAAE,OAAyB;QAChD,MAAM,OAAO,GAAyB;YACpC,IAAI,EAAE,qBAAqB;YAC3B,OAAO;YACP,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,EAAE;YAC7C,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,wBAAwB;SACpE,CAAC;QACF,IAAI,OAAO,EAAE,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACtD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,SAAyB,EAAE,OAA4B;QAChE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,sBAAsB;YAC3B,OAAO;SACR,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,MAAM,CAAC,SAAyB,EAAE,IAAY;QAClD,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACO,CAAC;AAEX;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,GAAG,OAAgD,CAAC;IAC3D,OAAO,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tests for cognitive-modules.ts — BridgeReasonerActorModule and BridgeMonitorModule.
3
+ *
4
+ * PRD 042 Phase 1-4: CognitiveModule implementations extracted from the
5
+ * monolithic cognitive-provider.ts inline loop, plus manual composition integration.
6
+ *
7
+ * 12 test scenarios covering AC-1 through AC-7 and AC-11.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=cognitive-modules.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cognitive-modules.test.d.ts","sourceRoot":"","sources":["../../../src/sessions/__tests__/cognitive-modules.test.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG"}