@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,95 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * Continuation envelope — PRD-067 cross-app extension tests.
4
+ *
5
+ * Gates:
6
+ * - G-ENVELOPE-BACKWARD-COMPAT: pre-PRD-067 envelopes (no crossApp field)
7
+ * round-trip byte-identically via JSON.
8
+ * - version literal stays 1 (additive extension — no version bump).
9
+ */
10
+ import { describe, it } from 'node:test';
11
+ import assert from 'node:assert/strict';
12
+ import { parseContinuationEnvelope, } from './continuation-envelope.js';
13
+ function preCrossAppEnvelope() {
14
+ return {
15
+ version: 1,
16
+ sessionId: 'sess-xyz',
17
+ turnIndex: 3,
18
+ checkpointRef: { id: 'cp1', hash: 'h', sizeBytes: 100 },
19
+ budgetRef: {
20
+ reservationId: 'res1',
21
+ strategy: 'fresh-per-continuation',
22
+ remainingUsd: 1.0,
23
+ expiresAt: Date.now() + 60_000,
24
+ },
25
+ nextAction: { type: 'resume', reason: 'async_io' },
26
+ pactKey: 'pact-1',
27
+ tokenContext: {
28
+ userSub: 'user-1',
29
+ exchangeDepth: 1,
30
+ originatingRequestId: 'req-1',
31
+ },
32
+ emittedAt: Date.now(),
33
+ traceId: 'trace-1',
34
+ };
35
+ }
36
+ describe('ContinuationEnvelope — PRD-067 extension', () => {
37
+ it('G-ENVELOPE-BACKWARD-COMPAT: pre-PRD-067 envelope round-trips byte-identical', () => {
38
+ const envelope = preCrossAppEnvelope();
39
+ const serialised = JSON.stringify(envelope);
40
+ const reparsed = JSON.parse(serialised);
41
+ assert.equal(reparsed.version, 1);
42
+ assert.equal('crossApp' in reparsed, false);
43
+ const reserialised = JSON.stringify(reparsed);
44
+ assert.equal(serialised, reserialised, 'serialisation must be byte-identical');
45
+ const parsed = parseContinuationEnvelope(JSON.parse(serialised));
46
+ assert.equal(parsed.version, 1);
47
+ });
48
+ it('accepts optional crossApp field without version bump', () => {
49
+ const crossApp = {
50
+ callerNodeId: 'commission',
51
+ targetAppId: 'feature-dev-agent',
52
+ operation: 'commission_fix',
53
+ originatingRequestId: 'req-1',
54
+ targetDecisionId: 'd-1',
55
+ phase: 'awaiting_callee',
56
+ };
57
+ const envelope = { ...preCrossAppEnvelope(), crossApp };
58
+ const serialised = JSON.stringify(envelope);
59
+ const parsed = parseContinuationEnvelope(JSON.parse(serialised));
60
+ assert.equal(parsed.version, 1, 'version stays 1 — additive extension');
61
+ assert.ok(parsed.crossApp);
62
+ assert.equal(parsed.crossApp.phase, 'awaiting_callee');
63
+ assert.equal(parsed.crossApp.targetAppId, 'feature-dev-agent');
64
+ });
65
+ it('supports completed + failed phases carrying callee output / failure reason', () => {
66
+ const base = preCrossAppEnvelope();
67
+ const completed = {
68
+ ...base,
69
+ crossApp: {
70
+ callerNodeId: 'n',
71
+ targetAppId: 't',
72
+ operation: 'o',
73
+ originatingRequestId: 'req-1',
74
+ targetDecisionId: 'd',
75
+ phase: 'completed',
76
+ calleeOutput: { pr_url: 'x', effort: 'S' },
77
+ },
78
+ };
79
+ const failed = {
80
+ ...base,
81
+ crossApp: {
82
+ callerNodeId: 'n',
83
+ targetAppId: 't',
84
+ operation: 'o',
85
+ originatingRequestId: 'req-1',
86
+ targetDecisionId: 'd',
87
+ phase: 'failed',
88
+ failureReason: 'target 5xx',
89
+ },
90
+ };
91
+ assert.equal(JSON.parse(JSON.stringify(completed)).crossApp.phase, 'completed');
92
+ assert.equal(JSON.parse(JSON.stringify(failed)).crossApp.phase, 'failed');
93
+ });
94
+ });
95
+ //# sourceMappingURL=continuation-envelope-cross-app.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-envelope-cross-app.test.js","sourceRoot":"","sources":["../../src/ports/continuation-envelope-cross-app.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ /**
2
+ * ContinuationEnvelope v1 — the wire format for pact continuations (PRD-062 / S5 §2.1).
3
+ *
4
+ * Frozen: 2026-04-14 — see `.method/sessions/fcd-surface-job-backed-executor/decision.md`.
5
+ *
6
+ * Written to `ctx.jobs` as the job payload whenever a pact yields (suspends)
7
+ * between workers. The next worker pulls it, rehydrates via SessionStore,
8
+ * and invokes the pact with `nextAction` as the resumption signal.
9
+ *
10
+ * INVARIANT: `(sessionId, turnIndex)` is the idempotency key. At-least-once
11
+ * SQS delivery may invoke a handler with the same envelope twice; the
12
+ * runtime MUST detect duplicates via SessionStore's `lastAckedTurn` and
13
+ * ack-without-re-executing on replay.
14
+ *
15
+ * Breaking changes require `version: 2` + a dual-parse window. Gate
16
+ * `G-ENVELOPE-VERSION` enforces the literal `version: 1` in this file.
17
+ */
18
+ /** Opaque reference to a checkpoint in SessionStore (S4). */
19
+ export interface CheckpointRef {
20
+ /** SessionStore-scoped id; opaque to Cortex. */
21
+ id: string;
22
+ /** Content hash for integrity check on load. */
23
+ hash: string;
24
+ /** Size hint (bytes) — lets workers reject oversized loads fast. */
25
+ sizeBytes: number;
26
+ }
27
+ /**
28
+ * Budget carry-over strategies (S5 §5).
29
+ *
30
+ * Wave 1 ships `fresh-per-continuation` only. `batched-held` and
31
+ * `predictive-prereserve` are gated on Cortex Open Question O1
32
+ * (`ctx.llm.reserve()/settle()` API). The executor throws
33
+ * `BudgetStrategyNotImplemented` at runtime when an unimplemented
34
+ * strategy is requested; unknown strategy values fall back defensively
35
+ * to `batched-held` per S5 §9.
36
+ */
37
+ export type BudgetCarryStrategy = 'fresh-per-continuation' | 'batched-held' | 'predictive-prereserve';
38
+ /** Opaque reference to a budget reservation. */
39
+ export interface BudgetRef {
40
+ /** Reservation id returned by `ctx.llm` reservation call (S3). */
41
+ reservationId: string;
42
+ /** Strategy the envelope was issued under (see §5). */
43
+ strategy: BudgetCarryStrategy;
44
+ /**
45
+ * Budget remaining at envelope emission (USD). Advisory — authoritative
46
+ * value lives in ctx.llm.
47
+ */
48
+ remainingUsd: number;
49
+ /**
50
+ * Absolute wall-clock deadline (UTC ms). After this, the continuation
51
+ * MUST refuse.
52
+ */
53
+ expiresAt: number;
54
+ }
55
+ /**
56
+ * What the resumption turn must perform (S5 §2.1).
57
+ *
58
+ * Scoped to the continuation envelope — this is NOT the same shape as
59
+ * `NextAction` in `./session-store-types.ts`, which is the S4 checkpoint
60
+ * resume hint. Consumers should import this type by its re-exported
61
+ * alias `ContinuationNextAction` from the `/ports` barrel to disambiguate.
62
+ */
63
+ export type NextAction = {
64
+ type: 'resume';
65
+ reason: 'async_io' | 'scheduled' | 'checkpoint_yield';
66
+ } | {
67
+ type: 'retry';
68
+ attempt: number;
69
+ lastError: string;
70
+ } | {
71
+ type: 'gate_wait';
72
+ gateId: string;
73
+ waitingFor: string;
74
+ };
75
+ export interface TokenContext {
76
+ /** User the pact acts on behalf of (sub claim). */
77
+ userSub: string;
78
+ /** Exchange depth so far (RFC 8693). Cortex caps at 2. */
79
+ exchangeDepth: number;
80
+ /** Original request id for audit trail. */
81
+ originatingRequestId: string;
82
+ }
83
+ /**
84
+ * PRD-067: cross-app continuation context.
85
+ *
86
+ * Present only when the continuation arose from or is awaiting a
87
+ * `cross-app-invoke` node. Absent for pure in-app pacts — envelopes
88
+ * serialised pre-PRD-067 round-trip byte-identically
89
+ * (G-ENVELOPE-BACKWARD-COMPAT).
90
+ *
91
+ * Surface freeze: 2026-04-15 — additive extension of S5 `version: 1` per
92
+ * S5 §9 ("Additional envelope fields — MUST keep version: 1 semantics
93
+ * compatible; add optional fields only.").
94
+ */
95
+ export interface CrossAppContinuationContext {
96
+ /** Node id in the caller's DAG that triggered the cross-app call. */
97
+ readonly callerNodeId: string;
98
+ /** Target app id the caller dispatched to. */
99
+ readonly targetAppId: string;
100
+ /** Operation name on the target app. */
101
+ readonly operation: string;
102
+ /** Originating request id on the caller side — lets the resumption path
103
+ * correlate with the caller's audit entry. Matches
104
+ * `tokenContext.originatingRequestId` of the emitting envelope. */
105
+ readonly originatingRequestId: string;
106
+ /** Cortex PRD-080 decisionId returned on the outbound invoke — lookup key
107
+ * for audit correlation and (when async) callee-completion polling. */
108
+ readonly targetDecisionId: string;
109
+ /**
110
+ * Phase of the cross-app call (PRD-067 §6.3):
111
+ * - "awaiting_callee" — caller suspended, callee's pact is running in
112
+ * its own app's job queue; resumption happens when the caller's
113
+ * ctx.events subscription receives
114
+ * `method.cross_app.target_event.type=completed`.
115
+ * - "completed" — output merged into DAG bundle, envelope moves on.
116
+ * - "failed" — target returned error; strategy gate decides retry.
117
+ */
118
+ readonly phase: 'awaiting_callee' | 'completed' | 'failed';
119
+ /** Populated only when `phase === 'completed'` — opaque JSON merged by
120
+ * the `output_merge` policy of the caller node. */
121
+ readonly calleeOutput?: Readonly<Record<string, unknown>>;
122
+ /** Populated only when `phase === 'failed'` — human-readable reason for
123
+ * the gate decision. */
124
+ readonly failureReason?: string;
125
+ }
126
+ /**
127
+ * The canonical continuation envelope. Frozen wire schema at `version: 1`.
128
+ *
129
+ * Extension rule: additional OPTIONAL fields may be added without a
130
+ * version bump; any structural/required-field change requires `version: 2`
131
+ * + a dual-parse window. The literal `version: 1` MUST be preserved
132
+ * (G-ENVELOPE-VERSION).
133
+ */
134
+ export interface ContinuationEnvelope {
135
+ /** Envelope schema version. Bump on breaking changes. */
136
+ version: 1;
137
+ /** Stable pact identifier — survives across all continuations. */
138
+ sessionId: string;
139
+ /** Monotonic turn counter. n-th continuation has turnIndex = n. */
140
+ turnIndex: number;
141
+ /** Pointer into SessionStore for the checkpoint the next worker must load. */
142
+ checkpointRef: CheckpointRef;
143
+ /** Pointer into the budget reservation the next worker inherits. */
144
+ budgetRef: BudgetRef;
145
+ /** What the next worker must do when it wakes. */
146
+ nextAction: NextAction;
147
+ /** Pact factory registration key — which pact to instantiate. */
148
+ pactKey: string;
149
+ /** Parent user token context for RFC 8693 re-exchange on resume. */
150
+ tokenContext: TokenContext;
151
+ /** Timestamp the previous worker emitted the envelope (UTC ms). */
152
+ emittedAt: number;
153
+ /** Opaque tracing id spanning the full pact lifecycle. */
154
+ traceId: string;
155
+ /**
156
+ * PRD-067: OPTIONAL cross-app continuation context.
157
+ *
158
+ * Present only when this continuation arose from or is awaiting a
159
+ * `cross-app-invoke` node. Absent for pure in-app pacts; an envelope
160
+ * serialised pre-PRD-067 round-trips byte-identically when this field is
161
+ * missing (G-ENVELOPE-BACKWARD-COMPAT).
162
+ *
163
+ * This is an ADDITIVE extension of S5 `version: 1` per S5 §9 and does not
164
+ * require a `version: 2` bump. See `CrossAppContinuationContext` above.
165
+ */
166
+ readonly crossApp?: CrossAppContinuationContext;
167
+ }
168
+ /**
169
+ * Soft cap (bytes) on a serialised envelope, enforced by the executor at
170
+ * `yield()` time (S5 §10.2). Well under the 256 KB SQS cap; keeps
171
+ * envelopes small + cheap to transport.
172
+ */
173
+ export declare const ENVELOPE_SIZE_SOFT_CAP_BYTES: number;
174
+ /**
175
+ * Error thrown when the executor encounters a continuation whose
176
+ * `version` is not `1`. The runtime MUST NOT attempt to parse forward.
177
+ */
178
+ export declare class EnvelopeVersionError extends Error {
179
+ readonly observedVersion: unknown;
180
+ constructor(observedVersion: unknown);
181
+ }
182
+ /**
183
+ * Error thrown when a continuation arrives after its budget reservation
184
+ * has expired (`BudgetRef.expiresAt <= now`). Terminal — session is
185
+ * finalised and a DLQ event is emitted (S5 §5 expiry, §7 DLQ).
186
+ */
187
+ export declare class BudgetExpiredError extends Error {
188
+ readonly expiresAt: number;
189
+ readonly now: number;
190
+ constructor(expiresAt: number, now: number);
191
+ }
192
+ /**
193
+ * Structural validation of a raw payload into a `ContinuationEnvelope`.
194
+ * Throws `EnvelopeVersionError` if `version !== 1`. Returns the same
195
+ * reference on success (no structural copy — callers should treat as
196
+ * immutable).
197
+ */
198
+ export declare function parseContinuationEnvelope(payload: unknown): ContinuationEnvelope;
199
+ //# sourceMappingURL=continuation-envelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-envelope.d.ts","sourceRoot":"","sources":["../../src/ports/continuation-envelope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * ContinuationEnvelope v1 — the wire format for pact continuations (PRD-062 / S5 §2.1).
4
+ *
5
+ * Frozen: 2026-04-14 — see `.method/sessions/fcd-surface-job-backed-executor/decision.md`.
6
+ *
7
+ * Written to `ctx.jobs` as the job payload whenever a pact yields (suspends)
8
+ * between workers. The next worker pulls it, rehydrates via SessionStore,
9
+ * and invokes the pact with `nextAction` as the resumption signal.
10
+ *
11
+ * INVARIANT: `(sessionId, turnIndex)` is the idempotency key. At-least-once
12
+ * SQS delivery may invoke a handler with the same envelope twice; the
13
+ * runtime MUST detect duplicates via SessionStore's `lastAckedTurn` and
14
+ * ack-without-re-executing on replay.
15
+ *
16
+ * Breaking changes require `version: 2` + a dual-parse window. Gate
17
+ * `G-ENVELOPE-VERSION` enforces the literal `version: 1` in this file.
18
+ */
19
+ /**
20
+ * Soft cap (bytes) on a serialised envelope, enforced by the executor at
21
+ * `yield()` time (S5 §10.2). Well under the 256 KB SQS cap; keeps
22
+ * envelopes small + cheap to transport.
23
+ */
24
+ export const ENVELOPE_SIZE_SOFT_CAP_BYTES = 32 * 1024;
25
+ /**
26
+ * Error thrown when the executor encounters a continuation whose
27
+ * `version` is not `1`. The runtime MUST NOT attempt to parse forward.
28
+ */
29
+ export class EnvelopeVersionError extends Error {
30
+ observedVersion;
31
+ constructor(observedVersion) {
32
+ super(`ContinuationEnvelope.version ${String(observedVersion)} not supported — runtime speaks version: 1`);
33
+ this.name = 'EnvelopeVersionError';
34
+ this.observedVersion = observedVersion;
35
+ }
36
+ }
37
+ /**
38
+ * Error thrown when a continuation arrives after its budget reservation
39
+ * has expired (`BudgetRef.expiresAt <= now`). Terminal — session is
40
+ * finalised and a DLQ event is emitted (S5 §5 expiry, §7 DLQ).
41
+ */
42
+ export class BudgetExpiredError extends Error {
43
+ expiresAt;
44
+ now;
45
+ constructor(expiresAt, now) {
46
+ super(`BudgetRef expired at ${new Date(expiresAt).toISOString()} (now ${new Date(now).toISOString()})`);
47
+ this.name = 'BudgetExpiredError';
48
+ this.expiresAt = expiresAt;
49
+ this.now = now;
50
+ }
51
+ }
52
+ /**
53
+ * Structural validation of a raw payload into a `ContinuationEnvelope`.
54
+ * Throws `EnvelopeVersionError` if `version !== 1`. Returns the same
55
+ * reference on success (no structural copy — callers should treat as
56
+ * immutable).
57
+ */
58
+ export function parseContinuationEnvelope(payload) {
59
+ if (!payload || typeof payload !== 'object') {
60
+ throw new EnvelopeVersionError(undefined);
61
+ }
62
+ const maybe = payload;
63
+ if (maybe.version !== 1) {
64
+ throw new EnvelopeVersionError(maybe.version);
65
+ }
66
+ // Duck-typed: downstream consumers (the executor) validate shape by use.
67
+ return payload;
68
+ }
69
+ //# sourceMappingURL=continuation-envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-envelope.js","sourceRoot":"","sources":["../../src/ports/continuation-envelope.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;;;;;;;;GAgBG;AAoKH;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtD;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,eAAe,CAAU;IAClC,YAAY,eAAwB;QAClC,KAAK,CACH,gCAAgC,MAAM,CAAC,eAAe,CAAC,4CAA4C,CACpG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,SAAS,CAAS;IAClB,GAAG,CAAS;IACrB,YAAY,SAAiB,EAAE,GAAW;QACxC,KAAK,CAAC,wBAAwB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACxG,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,KAAK,GAAG,OAAgC,CAAC;IAC/C,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,yEAAyE;IACzE,OAAO,OAA+B,CAAC;AACzC,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * ConversationPort — Human-agent conversation for Build Orchestrator gates.
3
+ *
4
+ * Provides the communication channel between the orchestrator agent and
5
+ * the human via the dashboard conversation panel. Supports rich cards,
6
+ * threading, per-gate action buttons, and on-demand skill invocation.
7
+ *
8
+ * @see PRD 047 — Build Orchestrator §Surfaces
9
+ */
10
+ import type { ConversationMessage } from './checkpoint.js';
11
+ export interface ConversationPort {
12
+ /** Send a message from the orchestrator to the human (renders in chat panel). */
13
+ sendAgentMessage(buildId: string, message: AgentMessage): Promise<void>;
14
+ /** Send a system notification (phase transition, checkpoint, status). */
15
+ sendSystemMessage(buildId: string, message: string): Promise<void>;
16
+ /** Wait for the human to respond (blocks until message received via UI). */
17
+ waitForHumanMessage(buildId: string): Promise<HumanMessage>;
18
+ /** Wait for a gate decision (blocks until approve/reject via UI). */
19
+ waitForGateDecision(buildId: string, gate: GateType): Promise<GateDecision>;
20
+ /** Get full conversation history for a build. */
21
+ getHistory(buildId: string): Promise<ConversationMessage[]>;
22
+ /** Human requests an optional skill invocation mid-pipeline. */
23
+ requestSkillInvocation(buildId: string, skill: SkillRequest): Promise<void>;
24
+ /** Deliver a human message from the REST route (resolves waitForHumanMessage). */
25
+ receiveHumanMessage(buildId: string, message: HumanMessage): void;
26
+ /** Deliver a gate decision from the REST route (resolves waitForGateDecision). */
27
+ receiveGateDecision(buildId: string, decision: GateDecision): void;
28
+ }
29
+ export interface AgentMessage {
30
+ readonly type: "text" | "card" | "artifact";
31
+ readonly content: string;
32
+ readonly card?: StructuredCard;
33
+ readonly replyTo?: string;
34
+ }
35
+ export interface HumanMessage {
36
+ readonly content: string;
37
+ readonly replyTo?: string;
38
+ }
39
+ export interface GateDecision {
40
+ readonly gate: GateType;
41
+ readonly decision: "approve" | "reject" | "adjust";
42
+ readonly feedback?: string;
43
+ readonly adjustments?: Record<string, unknown>;
44
+ }
45
+ export type GateType = "specify" | "design" | "plan" | "review" | "escalation";
46
+ /** Per-gate action sets rendered by the UI. */
47
+ export declare const GATE_ACTIONS: Record<GateType, readonly string[]>;
48
+ export type SkillRequest = {
49
+ type: "debate";
50
+ context: string;
51
+ } | {
52
+ type: "review";
53
+ commissionId?: string;
54
+ context: string;
55
+ } | {
56
+ type: "surface";
57
+ domains: [string, string];
58
+ description: string;
59
+ };
60
+ export interface StructuredCard {
61
+ readonly type: "feature-spec" | "prd-summary" | "commission-plan" | "review-findings" | "evidence-report" | "debate-decision";
62
+ readonly data: Record<string, unknown>;
63
+ }
64
+ //# sourceMappingURL=conversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/ports/conversation.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI3D,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,yEAAyE;IACzE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,4EAA4E;IAC5E,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5D,qEAAqE;IACrE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5E,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC5D,gEAAgE;IAChE,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,kFAAkF;IAClF,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAClE,kFAAkF;IAClF,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;CACpE;AAID,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD;AAID,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE/E,+CAA+C;AAC/C,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAMnD,CAAC;AAIX,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAIxE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;IAC9H,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC"}
@@ -0,0 +1,19 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * ConversationPort — Human-agent conversation for Build Orchestrator gates.
4
+ *
5
+ * Provides the communication channel between the orchestrator agent and
6
+ * the human via the dashboard conversation panel. Supports rich cards,
7
+ * threading, per-gate action buttons, and on-demand skill invocation.
8
+ *
9
+ * @see PRD 047 — Build Orchestrator §Surfaces
10
+ */
11
+ /** Per-gate action sets rendered by the UI. */
12
+ export const GATE_ACTIONS = {
13
+ specify: ["Approve Spec"],
14
+ design: ["Approve Design"],
15
+ plan: ["Approve Plan"],
16
+ review: ["Approve", "Approve with Comments", "Request Changes"],
17
+ escalation: ["Retry with Direction", "Fix Manually", "Abort"],
18
+ };
19
+ //# sourceMappingURL=conversation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../src/ports/conversation.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;GAQG;AAkDH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAwC;IAC/D,OAAO,EAAE,CAAC,cAAc,CAAC;IACzB,MAAM,EAAE,CAAC,gBAAgB,CAAC;IAC1B,IAAI,EAAE,CAAC,cAAc,CAAC;IACtB,MAAM,EAAE,CAAC,SAAS,EAAE,uBAAuB,EAAE,iBAAiB,CAAC;IAC/D,UAAU,EAAE,CAAC,sBAAsB,EAAE,cAAc,EAAE,OAAO,CAAC;CACrD,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * CostOracle — Port interface (PRD 051 S1).
3
+ *
4
+ * Consumed by strategies domain (dry-run) and MCP tool.
5
+ * Implemented by cost-governor domain.
6
+ */
7
+ import type { InvocationSignature, CostBand } from '@methodts/types';
8
+ export interface NodeEstimate {
9
+ readonly nodeId: string;
10
+ readonly signature: InvocationSignature;
11
+ readonly cost: CostBand;
12
+ readonly durationMs: CostBand;
13
+ }
14
+ export interface StrategyEstimate {
15
+ readonly nodes: readonly NodeEstimate[];
16
+ readonly totalCost: CostBand;
17
+ readonly totalDurationMs: CostBand;
18
+ readonly unknownNodes: readonly string[];
19
+ }
20
+ export interface CostOracle {
21
+ /** Walk a DAG and estimate total cost/time via critical-path with parallelism-discount. */
22
+ estimateStrategy(nodeSignatures: ReadonlyMap<string, InvocationSignature>, dagEdges: ReadonlyMap<string, readonly string[]>): StrategyEstimate;
23
+ /** Record an actual outcome. Called after releaseSlot. */
24
+ record(sig: InvocationSignature, actualCostUsd: number, actualDurationMs: number, accountId: string): void;
25
+ }
26
+ //# sourceMappingURL=cost-oracle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-oracle.d.ts","sourceRoot":"","sources":["../../src/ports/cost-oracle.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAIrE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAID,MAAM,WAAW,UAAU;IACzB,2FAA2F;IAC3F,gBAAgB,CACd,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACxD,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAC/C,gBAAgB,CAAC;IAEpB,0DAA0D;IAC1D,MAAM,CACJ,GAAG,EAAE,mBAAmB,EACxB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,GAChB,IAAI,CAAC;CACT"}
@@ -0,0 +1,9 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * CostOracle — Port interface (PRD 051 S1).
4
+ *
5
+ * Consumed by strategies domain (dry-run) and MCP tool.
6
+ * Implemented by cost-governor domain.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=cost-oracle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-oracle.js","sourceRoot":"","sources":["../../src/ports/cost-oracle.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;GAKG"}