@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,65 @@
1
+ /**
2
+ * CortexCrossAppInvoker — live Cortex adapter for the CrossAppInvoker port.
3
+ *
4
+ * STATUS: STUB — BLOCKED ON CORTEX PRD-080.
5
+ *
6
+ * PRD-067 Track B ships this class as a live adapter wrapping
7
+ * `ctx.apps.invoke` (PRD-080 §5.7). That capability is `🔜 deferred` in
8
+ * Cortex Wave 5 — Method cannot implement the real adapter until PRD-080
9
+ * freezes.
10
+ *
11
+ * This stub exists so:
12
+ * 1. The composition root can reference `CortexCrossAppInvoker` by name —
13
+ * the class + construction surface is named now so wiring code can be
14
+ * drafted against it.
15
+ * 2. Accidental wiring in test/dev bridges before PRD-080 lands fails
16
+ * fast with a typed, self-describing error rather than a silent
17
+ * undefined-behavior path.
18
+ * 3. When PRD-080 thaws, implementation lives next to this stub — a
19
+ * single file replacement (or `.stub.ts` → `.ts` rename + body swap)
20
+ * and the port surface stays identical.
21
+ *
22
+ * DO NOT call `new CortexCrossAppInvoker()` in production pacts. For tests
23
+ * and single-process demos use `InProcessCrossAppInvoker` instead.
24
+ *
25
+ * The eventual real home for the live adapter is `@methodts/agent-runtime/cortex/`
26
+ * (PRD-067 §7.2) — the stub lives in `@methodts/runtime/strategy/` for now so
27
+ * that the adapter class name is discoverable alongside the port it
28
+ * implements and the simulator it will replace.
29
+ */
30
+ import { type CrossAppInvokeRequest, type CrossAppInvokeResult, type CrossAppInvoker, type CrossAppInvokerCapabilities } from '../ports/cross-app-invoker.js';
31
+ /** Thrown whenever any method on `CortexCrossAppInvoker` is called while
32
+ * PRD-080 remains deferred. Carries the PRD reference in the message for
33
+ * fast triage. */
34
+ export declare class CortexCrossAppInvokerNotImplementedError extends Error {
35
+ readonly code: "CORTEX_CROSS_APP_INVOKER_NOT_IMPLEMENTED";
36
+ constructor(methodName: string);
37
+ }
38
+ /**
39
+ * Options the live adapter will accept once PRD-080 ships. Named now so
40
+ * composition-root wiring can be drafted; the fields will be honored by the
41
+ * real implementation.
42
+ */
43
+ export interface CortexCrossAppInvokerOptions {
44
+ /** Cortex SDK `ctx.apps` handle (PRD-080 §5.7). The stub takes `unknown`
45
+ * because the real `CortexCtxApps` type lives in `@cortex/sdk` — that
46
+ * import is forbidden from `@methodts/runtime` (G-BOUNDARY). The live
47
+ * adapter in `@methodts/agent-runtime/cortex/` will type this properly. */
48
+ readonly ctxApps: unknown;
49
+ /** App ids from the tenant's `requires.apps[]` manifest block — seeds
50
+ * `capabilities().allowedTargetAppIds` so compose-time checks reject
51
+ * un-declared targets before dispatch. */
52
+ readonly allowedTargetAppIds: ReadonlySet<string>;
53
+ /** Maximum RFC 8693 delegation depth — defaults to
54
+ * `CROSS_APP_DEFAULT_MAX_DELEGATION_DEPTH` (= 2) per PRD-061/PRD-080. */
55
+ readonly maxDelegationDepth?: number;
56
+ }
57
+ /** Live Cortex adapter — STUB pending PRD-080. Every method throws. */
58
+ export declare class CortexCrossAppInvoker implements CrossAppInvoker {
59
+ private readonly allowedTargetAppIds;
60
+ private readonly maxDelegationDepth;
61
+ constructor(options: CortexCrossAppInvokerOptions);
62
+ invoke<Input = unknown, Output = unknown>(_request: CrossAppInvokeRequest<Input>): Promise<CrossAppInvokeResult<Output>>;
63
+ capabilities(): CrossAppInvokerCapabilities;
64
+ }
65
+ //# sourceMappingURL=cortex-cross-app-invoker.stub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cortex-cross-app-invoker.stub.d.ts","sourceRoot":"","sources":["../../src/strategy/cortex-cross-app-invoker.stub.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EACjC,MAAM,+BAA+B,CAAC;AAEvC;;mBAEmB;AACnB,qBAAa,wCAAyC,SAAQ,KAAK;IACjE,QAAQ,CAAC,IAAI,EAAG,0CAA0C,CAAU;gBACxD,UAAU,EAAE,MAAM;CAQ/B;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;gFAG4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;+CAE2C;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAElD;8EAC0E;IAC1E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,uEAAuE;AACvE,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;gBAEhC,OAAO,EAAE,4BAA4B;IAW3C,MAAM,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAC5C,QAAQ,EAAE,qBAAqB,CAAC,KAAK,CAAC,GACrC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAIxC,YAAY,IAAI,2BAA2B;CAO5C"}
@@ -0,0 +1,68 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * CortexCrossAppInvoker — live Cortex adapter for the CrossAppInvoker port.
4
+ *
5
+ * STATUS: STUB — BLOCKED ON CORTEX PRD-080.
6
+ *
7
+ * PRD-067 Track B ships this class as a live adapter wrapping
8
+ * `ctx.apps.invoke` (PRD-080 §5.7). That capability is `🔜 deferred` in
9
+ * Cortex Wave 5 — Method cannot implement the real adapter until PRD-080
10
+ * freezes.
11
+ *
12
+ * This stub exists so:
13
+ * 1. The composition root can reference `CortexCrossAppInvoker` by name —
14
+ * the class + construction surface is named now so wiring code can be
15
+ * drafted against it.
16
+ * 2. Accidental wiring in test/dev bridges before PRD-080 lands fails
17
+ * fast with a typed, self-describing error rather than a silent
18
+ * undefined-behavior path.
19
+ * 3. When PRD-080 thaws, implementation lives next to this stub — a
20
+ * single file replacement (or `.stub.ts` → `.ts` rename + body swap)
21
+ * and the port surface stays identical.
22
+ *
23
+ * DO NOT call `new CortexCrossAppInvoker()` in production pacts. For tests
24
+ * and single-process demos use `InProcessCrossAppInvoker` instead.
25
+ *
26
+ * The eventual real home for the live adapter is `@methodts/agent-runtime/cortex/`
27
+ * (PRD-067 §7.2) — the stub lives in `@methodts/runtime/strategy/` for now so
28
+ * that the adapter class name is discoverable alongside the port it
29
+ * implements and the simulator it will replace.
30
+ */
31
+ /** Thrown whenever any method on `CortexCrossAppInvoker` is called while
32
+ * PRD-080 remains deferred. Carries the PRD reference in the message for
33
+ * fast triage. */
34
+ export class CortexCrossAppInvokerNotImplementedError extends Error {
35
+ code = 'CORTEX_CROSS_APP_INVOKER_NOT_IMPLEMENTED';
36
+ constructor(methodName) {
37
+ super(`CortexCrossAppInvoker.${methodName}() — NotImplemented: Blocked on Cortex PRD-080 (App-to-App Dependencies, \`🔜 deferred\` in Wave 5). ` +
38
+ `For tests + single-process demos, use InProcessCrossAppInvoker from @methodts/runtime/strategy. ` +
39
+ `The real adapter ships when PRD-080 thaws and Cortex exposes ctx.apps.invoke (PRD-080 §5.7).`);
40
+ this.name = 'CortexCrossAppInvokerNotImplementedError';
41
+ }
42
+ }
43
+ /** Live Cortex adapter — STUB pending PRD-080. Every method throws. */
44
+ export class CortexCrossAppInvoker {
45
+ allowedTargetAppIds;
46
+ maxDelegationDepth;
47
+ constructor(options) {
48
+ // Capture config so `capabilities()` can at least report the intended
49
+ // allowlist — useful for compose-time error messages even before the
50
+ // live adapter exists.
51
+ this.allowedTargetAppIds = options.allowedTargetAppIds;
52
+ this.maxDelegationDepth = options.maxDelegationDepth ?? 2;
53
+ // Intentionally DO NOT throw in the constructor — callers may want to
54
+ // inspect `capabilities()` without dispatching. Throw on `invoke` only.
55
+ void options.ctxApps;
56
+ }
57
+ async invoke(_request) {
58
+ throw new CortexCrossAppInvokerNotImplementedError('invoke');
59
+ }
60
+ capabilities() {
61
+ return {
62
+ enabled: false,
63
+ maxDelegationDepth: this.maxDelegationDepth,
64
+ allowedTargetAppIds: this.allowedTargetAppIds,
65
+ };
66
+ }
67
+ }
68
+ //# sourceMappingURL=cortex-cross-app-invoker.stub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cortex-cross-app-invoker.stub.js","sourceRoot":"","sources":["../../src/strategy/cortex-cross-app-invoker.stub.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AASH;;mBAEmB;AACnB,MAAM,OAAO,wCAAyC,SAAQ,KAAK;IACxD,IAAI,GAAG,0CAAmD,CAAC;IACpE,YAAY,UAAkB;QAC5B,KAAK,CACH,yBAAyB,UAAU,uGAAuG;YACxI,kGAAkG;YAClG,8FAA8F,CACjG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0CAA0C,CAAC;IACzD,CAAC;CACF;AAwBD,uEAAuE;AACvE,MAAM,OAAO,qBAAqB;IACf,mBAAmB,CAAsB;IACzC,kBAAkB,CAAS;IAE5C,YAAY,OAAqC;QAC/C,sEAAsE;QACtE,qEAAqE;QACrE,uBAAuB;QACvB,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC1D,sEAAsE;QACtE,wEAAwE;QACxE,KAAK,OAAO,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAsC;QAEtC,MAAM,IAAI,wCAAwC,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,YAAY;QACV,OAAO;YACL,OAAO,EAAE,KAAK;YACd,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;SAC9C,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * CrossAppNodeExecutorImpl — bridges the methodts `CrossAppNodeExecutor`
3
+ * port to the runtime's `CrossAppInvoker` port.
4
+ *
5
+ * PRD-067 §7.3: methodts cannot depend on `@methodts/runtime` (lower FCA layer
6
+ * can't see upper), so methodts defines `CrossAppNodeExecutor` as an
7
+ * injection port. This class is the runtime-side adapter — it projects the
8
+ * DAG bundle into the operation input per `input_projection`, dispatches
9
+ * through the `CrossAppInvoker`, merges the output per `output_merge`, and
10
+ * translates typed errors from the invoker into failures the methodts gate
11
+ * machinery resolves as node failures (G-FAILURE-ISOLATION).
12
+ *
13
+ * Owner: @methodts/runtime/strategy
14
+ * Producer: composition root wires `new CrossAppNodeExecutorImpl(invoker)`
15
+ * Consumer: methodts DagStrategyExecutor via the `CrossAppNodeExecutor` port
16
+ */
17
+ import type { CrossAppNodeExecutor } from '@methodts/methodts/strategy/dag-executor.js';
18
+ import type { StrategyDAG, StrategyNode, CrossAppInvokeNodeConfig } from '@methodts/methodts/strategy/dag-types.js';
19
+ import { type CrossAppInvoker, type DelegationCarry } from '../ports/cross-app-invoker.js';
20
+ /** Options wired from the composition root that the executor needs per-call. */
21
+ export interface CrossAppNodeExecutorOptions {
22
+ /**
23
+ * Supplier of the delegation context for each dispatch. The runtime's pact
24
+ * context carries the parent token + current exchange depth + originating
25
+ * request id; this callback projects it into the shape the port expects.
26
+ *
27
+ * In the simulator this can be a static function returning a fake
28
+ * `DelegationCarry`; in production the composition root wires the real
29
+ * pact context from `@methodts/agent-runtime`.
30
+ */
31
+ readonly delegationSupplier: (args: {
32
+ readonly sessionId: string;
33
+ readonly nodeId: string;
34
+ }) => DelegationCarry;
35
+ /** Default timeout (ms) when a node doesn't override. */
36
+ readonly defaultTimeoutMs?: number;
37
+ }
38
+ /** Project a DAG bundle into the target operation's input object per
39
+ * the `input_projection` map. */
40
+ export declare function applyInputProjection(bundle: Record<string, unknown>, projection: Readonly<Record<string, string>>): Record<string, unknown>;
41
+ /** Merge the target output into the DAG output bundle per `output_merge`. */
42
+ export declare function applyOutputMerge(nodeId: string, rawOutput: unknown, mode: 'spread' | 'namespace'): Record<string, unknown>;
43
+ export declare class CrossAppNodeExecutorImpl implements CrossAppNodeExecutor {
44
+ private readonly invoker;
45
+ private readonly options;
46
+ constructor(invoker: CrossAppInvoker, options: CrossAppNodeExecutorOptions);
47
+ executeCrossAppInvokeNode(_dag: StrategyDAG, node: StrategyNode, config: CrossAppInvokeNodeConfig, inputBundle: Record<string, unknown>, sessionId: string): Promise<{
48
+ output: Record<string, unknown>;
49
+ cost_usd: number;
50
+ num_turns: number;
51
+ duration_ms: number;
52
+ }>;
53
+ }
54
+ //# sourceMappingURL=cross-app-node-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-app-node-executor.d.ts","sourceRoot":"","sources":["../../src/strategy/cross-app-node-executor.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACrB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,wBAAwB,EACzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAEvC,gFAAgF;AAChF,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;;OAQG;IACH,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE;QAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,KAAK,eAAe,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAgBD;kCACkC;AAClC,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC3C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,QAAQ,GAAG,WAAW,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED,qBAAa,wBAAyB,YAAW,oBAAoB;IAEjE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,2BAA2B;IAGjD,yBAAyB,CAC7B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,wBAAwB,EAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CA6CH"}
@@ -0,0 +1,98 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * CrossAppNodeExecutorImpl — bridges the methodts `CrossAppNodeExecutor`
4
+ * port to the runtime's `CrossAppInvoker` port.
5
+ *
6
+ * PRD-067 §7.3: methodts cannot depend on `@methodts/runtime` (lower FCA layer
7
+ * can't see upper), so methodts defines `CrossAppNodeExecutor` as an
8
+ * injection port. This class is the runtime-side adapter — it projects the
9
+ * DAG bundle into the operation input per `input_projection`, dispatches
10
+ * through the `CrossAppInvoker`, merges the output per `output_merge`, and
11
+ * translates typed errors from the invoker into failures the methodts gate
12
+ * machinery resolves as node failures (G-FAILURE-ISOLATION).
13
+ *
14
+ * Owner: @methodts/runtime/strategy
15
+ * Producer: composition root wires `new CrossAppNodeExecutorImpl(invoker)`
16
+ * Consumer: methodts DagStrategyExecutor via the `CrossAppNodeExecutor` port
17
+ */
18
+ /** Dot-path projector. `"$.a.b"` → bundle.a.b. Unknown paths yield `undefined`. */
19
+ function projectDotPath(bundle, path) {
20
+ const trimmed = path.startsWith('$.') ? path.slice(2) : path;
21
+ if (trimmed === '')
22
+ return bundle;
23
+ const segments = trimmed.split('.');
24
+ let cursor = bundle;
25
+ for (const seg of segments) {
26
+ if (cursor === null || cursor === undefined)
27
+ return undefined;
28
+ if (typeof cursor !== 'object')
29
+ return undefined;
30
+ cursor = cursor[seg];
31
+ }
32
+ return cursor;
33
+ }
34
+ /** Project a DAG bundle into the target operation's input object per
35
+ * the `input_projection` map. */
36
+ export function applyInputProjection(bundle, projection) {
37
+ const out = {};
38
+ for (const [targetField, dotPath] of Object.entries(projection)) {
39
+ out[targetField] = projectDotPath(bundle, dotPath);
40
+ }
41
+ return out;
42
+ }
43
+ /** Merge the target output into the DAG output bundle per `output_merge`. */
44
+ export function applyOutputMerge(nodeId, rawOutput, mode) {
45
+ if (mode === 'spread') {
46
+ if (rawOutput === null || rawOutput === undefined)
47
+ return {};
48
+ if (typeof rawOutput !== 'object') {
49
+ // Scalar output in spread mode → store under "result" for safety.
50
+ return { result: rawOutput };
51
+ }
52
+ return { ...rawOutput };
53
+ }
54
+ // "namespace" (default, safer) — nests under node id
55
+ return { [nodeId]: rawOutput };
56
+ }
57
+ export class CrossAppNodeExecutorImpl {
58
+ invoker;
59
+ options;
60
+ constructor(invoker, options) {
61
+ this.invoker = invoker;
62
+ this.options = options;
63
+ }
64
+ async executeCrossAppInvokeNode(_dag, node, config, inputBundle, sessionId) {
65
+ // Project the input bundle.
66
+ const operationInput = applyInputProjection(inputBundle, config.input_projection);
67
+ // Resolve idempotency key — default to `${sessionId}:${nodeId}` when the
68
+ // strategy YAML does not supply an override (PRD-067 §6.2).
69
+ const idempotencyKey = config.idempotency_key && config.idempotency_key.trim() !== ''
70
+ ? config.idempotency_key
71
+ : `${sessionId}:${node.id}`;
72
+ const timeoutMs = config.timeout_ms ?? this.options.defaultTimeoutMs;
73
+ const delegation = this.options.delegationSupplier({
74
+ sessionId,
75
+ nodeId: node.id,
76
+ });
77
+ const request = {
78
+ targetAppId: config.target_app,
79
+ operation: config.operation,
80
+ input: operationInput,
81
+ timeoutMs,
82
+ idempotencyKey,
83
+ delegation,
84
+ caller: { sessionId, nodeId: node.id },
85
+ };
86
+ const startedAt = Date.now();
87
+ const result = await this.invoker.invoke(request);
88
+ const durationMs = Math.max(0, Date.now() - startedAt);
89
+ const merged = applyOutputMerge(node.id, result.output, config.output_merge ?? 'namespace');
90
+ return {
91
+ output: merged,
92
+ cost_usd: result.callerCostUsd,
93
+ num_turns: 0,
94
+ duration_ms: durationMs,
95
+ };
96
+ }
97
+ }
98
+ //# sourceMappingURL=cross-app-node-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-app-node-executor.js","sourceRoot":"","sources":["../../src/strategy/cross-app-node-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Tests for CrossAppNodeExecutorImpl — the runtime-side bridge from methodts
3
+ * `CrossAppNodeExecutor` port to the `CrossAppInvoker` port.
4
+ *
5
+ * Covers:
6
+ * - Input projection (dot-paths)
7
+ * - Output merge modes (namespace default, spread)
8
+ * - Default idempotency key derivation (`${sessionId}:${nodeId}`)
9
+ * - Delegation supplier is invoked with caller correlation ids
10
+ * - Cortex stub throws NotImplementedError on invoke (Track B blocked)
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=cross-app-node-executor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-app-node-executor.test.d.ts","sourceRoot":"","sources":["../../src/strategy/cross-app-node-executor.test.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG"}
@@ -0,0 +1,160 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * Tests for CrossAppNodeExecutorImpl — the runtime-side bridge from methodts
4
+ * `CrossAppNodeExecutor` port to the `CrossAppInvoker` port.
5
+ *
6
+ * Covers:
7
+ * - Input projection (dot-paths)
8
+ * - Output merge modes (namespace default, spread)
9
+ * - Default idempotency key derivation (`${sessionId}:${nodeId}`)
10
+ * - Delegation supplier is invoked with caller correlation ids
11
+ * - Cortex stub throws NotImplementedError on invoke (Track B blocked)
12
+ */
13
+ import { describe, it } from 'node:test';
14
+ import assert from 'node:assert/strict';
15
+ import { InProcessCrossAppInvoker } from './in-process-cross-app-invoker.js';
16
+ import { CrossAppNodeExecutorImpl, applyInputProjection, applyOutputMerge, } from './cross-app-node-executor.js';
17
+ import { CortexCrossAppInvoker, CortexCrossAppInvokerNotImplementedError, } from './cortex-cross-app-invoker.stub.js';
18
+ const BASE_DAG = {
19
+ id: 'test-strategy',
20
+ name: 'Test Strategy',
21
+ version: '1',
22
+ nodes: [],
23
+ strategy_gates: [],
24
+ capabilities: {},
25
+ oversight_rules: [],
26
+ context_inputs: [],
27
+ };
28
+ function makeNode(id) {
29
+ return {
30
+ id,
31
+ type: 'cross-app-invoke',
32
+ depends_on: [],
33
+ inputs: [],
34
+ outputs: [],
35
+ gates: [],
36
+ config: {
37
+ type: 'cross-app-invoke',
38
+ target_app: 'target',
39
+ operation: 'op',
40
+ input_projection: {},
41
+ },
42
+ };
43
+ }
44
+ function staticDelegation() {
45
+ return {
46
+ parentToken: 'tok',
47
+ currentDepth: 1,
48
+ originatingRequestId: 'req-1',
49
+ };
50
+ }
51
+ describe('applyInputProjection', () => {
52
+ it('projects top-level and nested dot-paths', () => {
53
+ const bundle = { classify: { label: 'defect', severity: 'high' }, other: 'ignored' };
54
+ const out = applyInputProjection(bundle, {
55
+ label: '$.classify.label',
56
+ severity: '$.classify.severity',
57
+ });
58
+ assert.deepEqual(out, { label: 'defect', severity: 'high' });
59
+ });
60
+ it('yields undefined for missing paths (caller responsible for shape)', () => {
61
+ const out = applyInputProjection({}, { x: '$.missing.path' });
62
+ assert.deepEqual(out, { x: undefined });
63
+ });
64
+ });
65
+ describe('applyOutputMerge', () => {
66
+ it('defaults to namespace mode', () => {
67
+ const merged = applyOutputMerge('my-node', { pr_url: 'x' }, 'namespace');
68
+ assert.deepEqual(merged, { 'my-node': { pr_url: 'x' } });
69
+ });
70
+ it('spread merges object outputs', () => {
71
+ const merged = applyOutputMerge('my-node', { pr_url: 'x', effort: 'S' }, 'spread');
72
+ assert.deepEqual(merged, { pr_url: 'x', effort: 'S' });
73
+ });
74
+ it('spread wraps scalar outputs as result', () => {
75
+ const merged = applyOutputMerge('my-node', 42, 'spread');
76
+ assert.deepEqual(merged, { result: 42 });
77
+ });
78
+ });
79
+ describe('CrossAppNodeExecutorImpl', () => {
80
+ it('dispatches via the CrossAppInvoker port and merges output per config', async () => {
81
+ const invoker = new InProcessCrossAppInvoker();
82
+ invoker.registerApp('target', {
83
+ op: (input) => ({ pr_url: `pr/${input.label}` }),
84
+ });
85
+ const executor = new CrossAppNodeExecutorImpl(invoker, {
86
+ delegationSupplier: staticDelegation,
87
+ });
88
+ const node = {
89
+ ...makeNode('commission'),
90
+ config: {
91
+ type: 'cross-app-invoke',
92
+ target_app: 'target',
93
+ operation: 'op',
94
+ input_projection: { label: '$.classify.label' },
95
+ output_merge: 'namespace',
96
+ },
97
+ };
98
+ const result = await executor.executeCrossAppInvokeNode(BASE_DAG, node, node.config, { classify: { label: 'bug' } }, 'session-1');
99
+ assert.deepEqual(result.output, { commission: { pr_url: 'pr/bug' } });
100
+ assert.equal(result.num_turns, 0);
101
+ assert.ok(result.duration_ms >= 0);
102
+ });
103
+ it('defaults idempotency key to `${sessionId}:${nodeId}`', async () => {
104
+ const invoker = new InProcessCrossAppInvoker();
105
+ let invocationCount = 0;
106
+ invoker.registerApp('target', {
107
+ op: () => {
108
+ invocationCount += 1;
109
+ return { n: invocationCount };
110
+ },
111
+ });
112
+ const executor = new CrossAppNodeExecutorImpl(invoker, {
113
+ delegationSupplier: staticDelegation,
114
+ });
115
+ const node = makeNode('n1');
116
+ await executor.executeCrossAppInvokeNode(BASE_DAG, node, node.config, {}, 'sess-abc');
117
+ await executor.executeCrossAppInvokeNode(BASE_DAG, node, node.config, {}, 'sess-abc');
118
+ assert.equal(invocationCount, 1, 'same (sessionId, nodeId) must dedupe');
119
+ });
120
+ it('passes caller correlation ids to the delegation supplier', async () => {
121
+ const invoker = new InProcessCrossAppInvoker();
122
+ invoker.registerApp('target', { op: () => ({}) });
123
+ const capturedArgs = [];
124
+ const executor = new CrossAppNodeExecutorImpl(invoker, {
125
+ delegationSupplier: (args) => {
126
+ capturedArgs.push(args);
127
+ return staticDelegation();
128
+ },
129
+ });
130
+ const node = makeNode('dispatch');
131
+ await executor.executeCrossAppInvokeNode(BASE_DAG, node, node.config, {}, 'S-99');
132
+ assert.deepEqual(capturedArgs, [{ sessionId: 'S-99', nodeId: 'dispatch' }]);
133
+ });
134
+ });
135
+ describe('CortexCrossAppInvoker (stub — Track B blocked on PRD-080)', () => {
136
+ it('throws NotImplementedError on invoke', async () => {
137
+ const invoker = new CortexCrossAppInvoker({
138
+ ctxApps: {},
139
+ allowedTargetAppIds: new Set(['x']),
140
+ });
141
+ await assert.rejects(() => invoker.invoke({
142
+ targetAppId: 'x',
143
+ operation: 'y',
144
+ input: {},
145
+ delegation: staticDelegation(),
146
+ caller: { sessionId: 's', nodeId: 'n' },
147
+ }), CortexCrossAppInvokerNotImplementedError);
148
+ });
149
+ it('capabilities() reports disabled + echoes declared allowlist', () => {
150
+ const allowed = new Set(['feature-dev-agent']);
151
+ const invoker = new CortexCrossAppInvoker({
152
+ ctxApps: {},
153
+ allowedTargetAppIds: allowed,
154
+ });
155
+ const caps = invoker.capabilities();
156
+ assert.equal(caps.enabled, false);
157
+ assert.deepEqual([...(caps.allowedTargetAppIds ?? [])], ['feature-dev-agent']);
158
+ });
159
+ });
160
+ //# sourceMappingURL=cross-app-node-executor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-app-node-executor.test.js","sourceRoot":"","sources":["../../src/strategy/cross-app-node-executor.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * PRD 017: Strategy Pipelines — Gate Framework
3
+ *
4
+ * Re-export from @methodts/methodts canonical gate evaluator. All gate evaluation,
5
+ * expression sandboxing, and retry feedback logic lives in methodts. This file
6
+ * preserves the runtime's import surface.
7
+ *
8
+ * PRD-057 / S2 §3.2 / C2: moved from @methodts/bridge/domains/strategies/.
9
+ */
10
+ export type { DagGateType as GateType, DagGateConfig as GateConfig, DagGateContext as GateContext, DagGateResult as GateResult, } from '@methodts/methodts/strategy/dag-types.js';
11
+ export { evaluateGateExpression, evaluateGate, buildRetryFeedback, } from '@methodts/methodts/strategy/dag-gates.js';
12
+ export { getDefaultRetries, getDefaultTimeout, } from '@methodts/methodts/strategy/dag-parser.js';
13
+ //# sourceMappingURL=gates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../src/strategy/gates.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,YAAY,EACV,WAAW,IAAI,QAAQ,EACvB,aAAa,IAAI,UAAU,EAC3B,cAAc,IAAI,WAAW,EAC7B,aAAa,IAAI,UAAU,GAC5B,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2CAA2C,CAAC"}
@@ -0,0 +1,13 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * PRD 017: Strategy Pipelines — Gate Framework
4
+ *
5
+ * Re-export from @methodts/methodts canonical gate evaluator. All gate evaluation,
6
+ * expression sandboxing, and retry feedback logic lives in methodts. This file
7
+ * preserves the runtime's import surface.
8
+ *
9
+ * PRD-057 / S2 §3.2 / C2: moved from @methodts/bridge/domains/strategies/.
10
+ */
11
+ export { evaluateGateExpression, evaluateGate, buildRetryFeedback, } from '@methodts/methodts/strategy/dag-gates.js';
12
+ export { getDefaultRetries, getDefaultTimeout, } from '@methodts/methodts/strategy/dag-parser.js';
13
+ //# sourceMappingURL=gates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gates.js","sourceRoot":"","sources":["../../src/strategy/gates.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;GAQG;AASH,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2CAA2C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gates.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gates.test.d.ts","sourceRoot":"","sources":["../../src/strategy/gates.test.ts"],"names":[],"mappings":""}