@stigmer/server 3.14.0-dev.20260910084630

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 (1822) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +93 -0
  3. package/dist/artifactstorage/artifact-storage.d.ts +185 -0
  4. package/dist/artifactstorage/artifact-storage.d.ts.map +1 -0
  5. package/dist/artifactstorage/artifact-storage.js +298 -0
  6. package/dist/artifactstorage/artifact-storage.js.map +1 -0
  7. package/dist/artifactstorage/r2-storage.d.ts +55 -0
  8. package/dist/artifactstorage/r2-storage.d.ts.map +1 -0
  9. package/dist/artifactstorage/r2-storage.js +225 -0
  10. package/dist/artifactstorage/r2-storage.js.map +1 -0
  11. package/dist/boot/compose.d.ts +97 -0
  12. package/dist/boot/compose.d.ts.map +1 -0
  13. package/dist/boot/compose.js +1037 -0
  14. package/dist/boot/compose.js.map +1 -0
  15. package/dist/boot/config.d.ts +205 -0
  16. package/dist/boot/config.d.ts.map +1 -0
  17. package/dist/boot/config.js +205 -0
  18. package/dist/boot/config.js.map +1 -0
  19. package/dist/boot/inprocess.d.ts +101 -0
  20. package/dist/boot/inprocess.d.ts.map +1 -0
  21. package/dist/boot/inprocess.js +226 -0
  22. package/dist/boot/inprocess.js.map +1 -0
  23. package/dist/boot/logger.d.ts +65 -0
  24. package/dist/boot/logger.d.ts.map +1 -0
  25. package/dist/boot/logger.js +61 -0
  26. package/dist/boot/logger.js.map +1 -0
  27. package/dist/domain/agent/controller.d.ts +40 -0
  28. package/dist/domain/agent/controller.d.ts.map +1 -0
  29. package/dist/domain/agent/controller.js +278 -0
  30. package/dist/domain/agent/controller.js.map +1 -0
  31. package/dist/domain/agent/defaultagent.d.ts +37 -0
  32. package/dist/domain/agent/defaultagent.d.ts.map +1 -0
  33. package/dist/domain/agent/defaultagent.js +104 -0
  34. package/dist/domain/agent/defaultagent.js.map +1 -0
  35. package/dist/domain/agent/search-extractor.d.ts +3 -0
  36. package/dist/domain/agent/search-extractor.d.ts.map +1 -0
  37. package/dist/domain/agent/search-extractor.js +50 -0
  38. package/dist/domain/agent/search-extractor.js.map +1 -0
  39. package/dist/domain/agent/steps.d.ts +81 -0
  40. package/dist/domain/agent/steps.d.ts.map +1 -0
  41. package/dist/domain/agent/steps.js +482 -0
  42. package/dist/domain/agent/steps.js.map +1 -0
  43. package/dist/domain/agentchannel/channel-runtime.d.ts +137 -0
  44. package/dist/domain/agentchannel/channel-runtime.d.ts.map +1 -0
  45. package/dist/domain/agentchannel/channel-runtime.js +2 -0
  46. package/dist/domain/agentchannel/channel-runtime.js.map +1 -0
  47. package/dist/domain/agentchannel/constants.d.ts +77 -0
  48. package/dist/domain/agentchannel/constants.d.ts.map +1 -0
  49. package/dist/domain/agentchannel/constants.js +90 -0
  50. package/dist/domain/agentchannel/constants.js.map +1 -0
  51. package/dist/domain/agentchannel/controller.d.ts +57 -0
  52. package/dist/domain/agentchannel/controller.d.ts.map +1 -0
  53. package/dist/domain/agentchannel/controller.js +377 -0
  54. package/dist/domain/agentchannel/controller.js.map +1 -0
  55. package/dist/domain/agentchannel/conversation.d.ts +45 -0
  56. package/dist/domain/agentchannel/conversation.d.ts.map +1 -0
  57. package/dist/domain/agentchannel/conversation.js +69 -0
  58. package/dist/domain/agentchannel/conversation.js.map +1 -0
  59. package/dist/domain/agentchannel/message.d.ts +48 -0
  60. package/dist/domain/agentchannel/message.d.ts.map +1 -0
  61. package/dist/domain/agentchannel/message.js +40 -0
  62. package/dist/domain/agentchannel/message.js.map +1 -0
  63. package/dist/domain/agentchannel/steps.d.ts +79 -0
  64. package/dist/domain/agentchannel/steps.d.ts.map +1 -0
  65. package/dist/domain/agentchannel/steps.js +264 -0
  66. package/dist/domain/agentchannel/steps.js.map +1 -0
  67. package/dist/domain/agentexecution/approval/author.d.ts +57 -0
  68. package/dist/domain/agentexecution/approval/author.d.ts.map +1 -0
  69. package/dist/domain/agentexecution/approval/author.js +194 -0
  70. package/dist/domain/agentexecution/approval/author.js.map +1 -0
  71. package/dist/domain/agentexecution/approval/compute-from-events.d.ts +10 -0
  72. package/dist/domain/agentexecution/approval/compute-from-events.d.ts.map +1 -0
  73. package/dist/domain/agentexecution/approval/compute-from-events.js +80 -0
  74. package/dist/domain/agentexecution/approval/compute-from-events.js.map +1 -0
  75. package/dist/domain/agentexecution/approval/compute.d.ts +26 -0
  76. package/dist/domain/agentexecution/approval/compute.d.ts.map +1 -0
  77. package/dist/domain/agentexecution/approval/compute.js +118 -0
  78. package/dist/domain/agentexecution/approval/compute.js.map +1 -0
  79. package/dist/domain/agentexecution/approval/emit.d.ts +70 -0
  80. package/dist/domain/agentexecution/approval/emit.d.ts.map +1 -0
  81. package/dist/domain/agentexecution/approval/emit.js +212 -0
  82. package/dist/domain/agentexecution/approval/emit.js.map +1 -0
  83. package/dist/domain/agentexecution/approval/lease-scope.d.ts +37 -0
  84. package/dist/domain/agentexecution/approval/lease-scope.d.ts.map +1 -0
  85. package/dist/domain/agentexecution/approval/lease-scope.js +26 -0
  86. package/dist/domain/agentexecution/approval/lease-scope.js.map +1 -0
  87. package/dist/domain/agentexecution/approval/preserve.d.ts +4 -0
  88. package/dist/domain/agentexecution/approval/preserve.d.ts.map +1 -0
  89. package/dist/domain/agentexecution/approval/preserve.js +62 -0
  90. package/dist/domain/agentexecution/approval/preserve.js.map +1 -0
  91. package/dist/domain/agentexecution/approval/project.d.ts +9 -0
  92. package/dist/domain/agentexecution/approval/project.d.ts.map +1 -0
  93. package/dist/domain/agentexecution/approval/project.js +105 -0
  94. package/dist/domain/agentexecution/approval/project.js.map +1 -0
  95. package/dist/domain/agentexecution/approval/tool-category.d.ts +22 -0
  96. package/dist/domain/agentexecution/approval/tool-category.d.ts.map +1 -0
  97. package/dist/domain/agentexecution/approval/tool-category.js +55 -0
  98. package/dist/domain/agentexecution/approval/tool-category.js.map +1 -0
  99. package/dist/domain/agentexecution/artifacts.d.ts +50 -0
  100. package/dist/domain/agentexecution/artifacts.d.ts.map +1 -0
  101. package/dist/domain/agentexecution/artifacts.js +376 -0
  102. package/dist/domain/agentexecution/artifacts.js.map +1 -0
  103. package/dist/domain/agentexecution/constants.d.ts +24 -0
  104. package/dist/domain/agentexecution/constants.d.ts.map +1 -0
  105. package/dist/domain/agentexecution/constants.js +26 -0
  106. package/dist/domain/agentexecution/constants.js.map +1 -0
  107. package/dist/domain/agentexecution/controller.d.ts +102 -0
  108. package/dist/domain/agentexecution/controller.d.ts.map +1 -0
  109. package/dist/domain/agentexecution/controller.js +256 -0
  110. package/dist/domain/agentexecution/controller.js.map +1 -0
  111. package/dist/domain/agentexecution/create-execution-context-step.d.ts +104 -0
  112. package/dist/domain/agentexecution/create-execution-context-step.d.ts.map +1 -0
  113. package/dist/domain/agentexecution/create-execution-context-step.js +756 -0
  114. package/dist/domain/agentexecution/create-execution-context-step.js.map +1 -0
  115. package/dist/domain/agentexecution/create-steps.d.ts +159 -0
  116. package/dist/domain/agentexecution/create-steps.d.ts.map +1 -0
  117. package/dist/domain/agentexecution/create-steps.js +660 -0
  118. package/dist/domain/agentexecution/create-steps.js.map +1 -0
  119. package/dist/domain/agentexecution/engine.d.ts +100 -0
  120. package/dist/domain/agentexecution/engine.d.ts.map +1 -0
  121. package/dist/domain/agentexecution/engine.js +49 -0
  122. package/dist/domain/agentexecution/engine.js.map +1 -0
  123. package/dist/domain/agentexecution/filereview/author.d.ts +119 -0
  124. package/dist/domain/agentexecution/filereview/author.d.ts.map +1 -0
  125. package/dist/domain/agentexecution/filereview/author.js +257 -0
  126. package/dist/domain/agentexecution/filereview/author.js.map +1 -0
  127. package/dist/domain/agentexecution/filereview/autokeep.d.ts +20 -0
  128. package/dist/domain/agentexecution/filereview/autokeep.d.ts.map +1 -0
  129. package/dist/domain/agentexecution/filereview/autokeep.js +189 -0
  130. package/dist/domain/agentexecution/filereview/autokeep.js.map +1 -0
  131. package/dist/domain/agentexecution/filereview/cas-blob.d.ts +23 -0
  132. package/dist/domain/agentexecution/filereview/cas-blob.d.ts.map +1 -0
  133. package/dist/domain/agentexecution/filereview/cas-blob.js +45 -0
  134. package/dist/domain/agentexecution/filereview/cas-blob.js.map +1 -0
  135. package/dist/domain/agentexecution/filereview/digest.d.ts +16 -0
  136. package/dist/domain/agentexecution/filereview/digest.d.ts.map +1 -0
  137. package/dist/domain/agentexecution/filereview/digest.js +52 -0
  138. package/dist/domain/agentexecution/filereview/digest.js.map +1 -0
  139. package/dist/domain/agentexecution/filereview/gate.d.ts +38 -0
  140. package/dist/domain/agentexecution/filereview/gate.d.ts.map +1 -0
  141. package/dist/domain/agentexecution/filereview/gate.js +45 -0
  142. package/dist/domain/agentexecution/filereview/gate.js.map +1 -0
  143. package/dist/domain/agentexecution/filereview/progress.d.ts +3 -0
  144. package/dist/domain/agentexecution/filereview/progress.d.ts.map +1 -0
  145. package/dist/domain/agentexecution/filereview/progress.js +37 -0
  146. package/dist/domain/agentexecution/filereview/progress.js.map +1 -0
  147. package/dist/domain/agentexecution/filereview/project.d.ts +9 -0
  148. package/dist/domain/agentexecution/filereview/project.d.ts.map +1 -0
  149. package/dist/domain/agentexecution/filereview/project.js +152 -0
  150. package/dist/domain/agentexecution/filereview/project.js.map +1 -0
  151. package/dist/domain/agentexecution/lifecycle.d.ts +74 -0
  152. package/dist/domain/agentexecution/lifecycle.d.ts.map +1 -0
  153. package/dist/domain/agentexecution/lifecycle.js +570 -0
  154. package/dist/domain/agentexecution/lifecycle.js.map +1 -0
  155. package/dist/domain/agentexecution/phases.d.ts +22 -0
  156. package/dist/domain/agentexecution/phases.d.ts.map +1 -0
  157. package/dist/domain/agentexecution/phases.js +36 -0
  158. package/dist/domain/agentexecution/phases.js.map +1 -0
  159. package/dist/domain/agentexecution/record-runner-lineage-labels.d.ts +42 -0
  160. package/dist/domain/agentexecution/record-runner-lineage-labels.d.ts.map +1 -0
  161. package/dist/domain/agentexecution/record-runner-lineage-labels.js +38 -0
  162. package/dist/domain/agentexecution/record-runner-lineage-labels.js.map +1 -0
  163. package/dist/domain/agentexecution/search-extractor.d.ts +3 -0
  164. package/dist/domain/agentexecution/search-extractor.d.ts.map +1 -0
  165. package/dist/domain/agentexecution/search-extractor.js +48 -0
  166. package/dist/domain/agentexecution/search-extractor.js.map +1 -0
  167. package/dist/domain/agentexecution/status-observers.d.ts +26 -0
  168. package/dist/domain/agentexecution/status-observers.d.ts.map +1 -0
  169. package/dist/domain/agentexecution/status-observers.js +83 -0
  170. package/dist/domain/agentexecution/status-observers.js.map +1 -0
  171. package/dist/domain/agentexecution/steps.d.ts +51 -0
  172. package/dist/domain/agentexecution/steps.d.ts.map +1 -0
  173. package/dist/domain/agentexecution/steps.js +160 -0
  174. package/dist/domain/agentexecution/steps.js.map +1 -0
  175. package/dist/domain/agentexecution/stream-broker.d.ts +63 -0
  176. package/dist/domain/agentexecution/stream-broker.d.ts.map +1 -0
  177. package/dist/domain/agentexecution/stream-broker.js +87 -0
  178. package/dist/domain/agentexecution/stream-broker.js.map +1 -0
  179. package/dist/domain/agentexecution/submit-approval.d.ts +41 -0
  180. package/dist/domain/agentexecution/submit-approval.d.ts.map +1 -0
  181. package/dist/domain/agentexecution/submit-approval.js +393 -0
  182. package/dist/domain/agentexecution/submit-approval.js.map +1 -0
  183. package/dist/domain/agentexecution/submit-file-decision.d.ts +21 -0
  184. package/dist/domain/agentexecution/submit-file-decision.d.ts.map +1 -0
  185. package/dist/domain/agentexecution/submit-file-decision.js +286 -0
  186. package/dist/domain/agentexecution/submit-file-decision.js.map +1 -0
  187. package/dist/domain/agentexecution/subscribe.d.ts +16 -0
  188. package/dist/domain/agentexecution/subscribe.d.ts.map +1 -0
  189. package/dist/domain/agentexecution/subscribe.js +120 -0
  190. package/dist/domain/agentexecution/subscribe.js.map +1 -0
  191. package/dist/domain/agentexecution/temporal/config.d.ts +99 -0
  192. package/dist/domain/agentexecution/temporal/config.d.ts.map +1 -0
  193. package/dist/domain/agentexecution/temporal/config.js +106 -0
  194. package/dist/domain/agentexecution/temporal/config.js.map +1 -0
  195. package/dist/domain/agentexecution/tool-call-settle.d.ts +31 -0
  196. package/dist/domain/agentexecution/tool-call-settle.d.ts.map +1 -0
  197. package/dist/domain/agentexecution/tool-call-settle.js +36 -0
  198. package/dist/domain/agentexecution/tool-call-settle.js.map +1 -0
  199. package/dist/domain/agentexecution/update-status.d.ts +45 -0
  200. package/dist/domain/agentexecution/update-status.d.ts.map +1 -0
  201. package/dist/domain/agentexecution/update-status.js +381 -0
  202. package/dist/domain/agentexecution/update-status.js.map +1 -0
  203. package/dist/domain/agentexecution/usage.d.ts +114 -0
  204. package/dist/domain/agentexecution/usage.d.ts.map +1 -0
  205. package/dist/domain/agentexecution/usage.js +675 -0
  206. package/dist/domain/agentexecution/usage.js.map +1 -0
  207. package/dist/domain/agentexecution/validate-service-tier.d.ts +29 -0
  208. package/dist/domain/agentexecution/validate-service-tier.d.ts.map +1 -0
  209. package/dist/domain/agentexecution/validate-service-tier.js +39 -0
  210. package/dist/domain/agentexecution/validate-service-tier.js.map +1 -0
  211. package/dist/domain/agentexecution/validate-thinking-mode.d.ts +32 -0
  212. package/dist/domain/agentexecution/validate-thinking-mode.d.ts.map +1 -0
  213. package/dist/domain/agentexecution/validate-thinking-mode.js +41 -0
  214. package/dist/domain/agentexecution/validate-thinking-mode.js.map +1 -0
  215. package/dist/domain/agentinstance/controller.d.ts +47 -0
  216. package/dist/domain/agentinstance/controller.d.ts.map +1 -0
  217. package/dist/domain/agentinstance/controller.js +278 -0
  218. package/dist/domain/agentinstance/controller.js.map +1 -0
  219. package/dist/domain/agentinstance/defaultinstance.d.ts +24 -0
  220. package/dist/domain/agentinstance/defaultinstance.d.ts.map +1 -0
  221. package/dist/domain/agentinstance/defaultinstance.js +74 -0
  222. package/dist/domain/agentinstance/defaultinstance.js.map +1 -0
  223. package/dist/domain/agentinstance/search-extractor.d.ts +3 -0
  224. package/dist/domain/agentinstance/search-extractor.d.ts.map +1 -0
  225. package/dist/domain/agentinstance/search-extractor.js +43 -0
  226. package/dist/domain/agentinstance/search-extractor.js.map +1 -0
  227. package/dist/domain/agentinstance/steps.d.ts +77 -0
  228. package/dist/domain/agentinstance/steps.d.ts.map +1 -0
  229. package/dist/domain/agentinstance/steps.js +261 -0
  230. package/dist/domain/agentinstance/steps.js.map +1 -0
  231. package/dist/domain/agentshare/constants.d.ts +47 -0
  232. package/dist/domain/agentshare/constants.d.ts.map +1 -0
  233. package/dist/domain/agentshare/constants.js +56 -0
  234. package/dist/domain/agentshare/constants.js.map +1 -0
  235. package/dist/domain/agentshare/controller.d.ts +42 -0
  236. package/dist/domain/agentshare/controller.d.ts.map +1 -0
  237. package/dist/domain/agentshare/controller.js +535 -0
  238. package/dist/domain/agentshare/controller.js.map +1 -0
  239. package/dist/domain/agentshare/steps.d.ts +84 -0
  240. package/dist/domain/agentshare/steps.d.ts.map +1 -0
  241. package/dist/domain/agentshare/steps.js +363 -0
  242. package/dist/domain/agentshare/steps.js.map +1 -0
  243. package/dist/domain/apikey/controller.d.ts +43 -0
  244. package/dist/domain/apikey/controller.d.ts.map +1 -0
  245. package/dist/domain/apikey/controller.js +154 -0
  246. package/dist/domain/apikey/controller.js.map +1 -0
  247. package/dist/domain/apikey/keymaterial.d.ts +23 -0
  248. package/dist/domain/apikey/keymaterial.d.ts.map +1 -0
  249. package/dist/domain/apikey/keymaterial.js +59 -0
  250. package/dist/domain/apikey/keymaterial.js.map +1 -0
  251. package/dist/domain/apikey/lookup.d.ts +10 -0
  252. package/dist/domain/apikey/lookup.d.ts.map +1 -0
  253. package/dist/domain/apikey/lookup.js +36 -0
  254. package/dist/domain/apikey/lookup.js.map +1 -0
  255. package/dist/domain/apikey/steps.d.ts +41 -0
  256. package/dist/domain/apikey/steps.d.ts.map +1 -0
  257. package/dist/domain/apikey/steps.js +123 -0
  258. package/dist/domain/apikey/steps.js.map +1 -0
  259. package/dist/domain/apikey/verifier.d.ts +8 -0
  260. package/dist/domain/apikey/verifier.d.ts.map +1 -0
  261. package/dist/domain/apikey/verifier.js +68 -0
  262. package/dist/domain/apikey/verifier.js.map +1 -0
  263. package/dist/domain/artifact/constants.d.ts +36 -0
  264. package/dist/domain/artifact/constants.d.ts.map +1 -0
  265. package/dist/domain/artifact/constants.js +40 -0
  266. package/dist/domain/artifact/constants.js.map +1 -0
  267. package/dist/domain/artifact/controller.d.ts +15 -0
  268. package/dist/domain/artifact/controller.d.ts.map +1 -0
  269. package/dist/domain/artifact/controller.js +468 -0
  270. package/dist/domain/artifact/controller.js.map +1 -0
  271. package/dist/domain/artifact/file-server.d.ts +29 -0
  272. package/dist/domain/artifact/file-server.d.ts.map +1 -0
  273. package/dist/domain/artifact/file-server.js +173 -0
  274. package/dist/domain/artifact/file-server.js.map +1 -0
  275. package/dist/domain/channelapp/constants.d.ts +45 -0
  276. package/dist/domain/channelapp/constants.d.ts.map +1 -0
  277. package/dist/domain/channelapp/constants.js +54 -0
  278. package/dist/domain/channelapp/constants.js.map +1 -0
  279. package/dist/domain/channelapp/controller.d.ts +41 -0
  280. package/dist/domain/channelapp/controller.d.ts.map +1 -0
  281. package/dist/domain/channelapp/controller.js +237 -0
  282. package/dist/domain/channelapp/controller.js.map +1 -0
  283. package/dist/domain/channelapp/steps.d.ts +72 -0
  284. package/dist/domain/channelapp/steps.d.ts.map +1 -0
  285. package/dist/domain/channelapp/steps.js +285 -0
  286. package/dist/domain/channelapp/steps.js.map +1 -0
  287. package/dist/domain/environment/constants.d.ts +48 -0
  288. package/dist/domain/environment/constants.d.ts.map +1 -0
  289. package/dist/domain/environment/constants.js +57 -0
  290. package/dist/domain/environment/constants.js.map +1 -0
  291. package/dist/domain/environment/controller.d.ts +40 -0
  292. package/dist/domain/environment/controller.d.ts.map +1 -0
  293. package/dist/domain/environment/controller.js +429 -0
  294. package/dist/domain/environment/controller.js.map +1 -0
  295. package/dist/domain/environment/redact.d.ts +43 -0
  296. package/dist/domain/environment/redact.d.ts.map +1 -0
  297. package/dist/domain/environment/redact.js +54 -0
  298. package/dist/domain/environment/redact.js.map +1 -0
  299. package/dist/domain/environment/resolution/resolution.d.ts +47 -0
  300. package/dist/domain/environment/resolution/resolution.d.ts.map +1 -0
  301. package/dist/domain/environment/resolution/resolution.js +120 -0
  302. package/dist/domain/environment/resolution/resolution.js.map +1 -0
  303. package/dist/domain/environment/search-extractor.d.ts +3 -0
  304. package/dist/domain/environment/search-extractor.d.ts.map +1 -0
  305. package/dist/domain/environment/search-extractor.js +43 -0
  306. package/dist/domain/environment/search-extractor.js.map +1 -0
  307. package/dist/domain/environment/steps.d.ts +141 -0
  308. package/dist/domain/environment/steps.d.ts.map +1 -0
  309. package/dist/domain/environment/steps.js +445 -0
  310. package/dist/domain/environment/steps.js.map +1 -0
  311. package/dist/domain/executioncontext/constants.d.ts +36 -0
  312. package/dist/domain/executioncontext/constants.d.ts.map +1 -0
  313. package/dist/domain/executioncontext/constants.js +42 -0
  314. package/dist/domain/executioncontext/constants.js.map +1 -0
  315. package/dist/domain/executioncontext/controller.d.ts +63 -0
  316. package/dist/domain/executioncontext/controller.d.ts.map +1 -0
  317. package/dist/domain/executioncontext/controller.js +189 -0
  318. package/dist/domain/executioncontext/controller.js.map +1 -0
  319. package/dist/domain/executioncontext/redact.d.ts +28 -0
  320. package/dist/domain/executioncontext/redact.d.ts.map +1 -0
  321. package/dist/domain/executioncontext/redact.js +32 -0
  322. package/dist/domain/executioncontext/redact.js.map +1 -0
  323. package/dist/domain/executioncontext/resolve-values-for-caller.d.ts +72 -0
  324. package/dist/domain/executioncontext/resolve-values-for-caller.d.ts.map +1 -0
  325. package/dist/domain/executioncontext/resolve-values-for-caller.js +130 -0
  326. package/dist/domain/executioncontext/resolve-values-for-caller.js.map +1 -0
  327. package/dist/domain/executioncontext/search-extractor.d.ts +3 -0
  328. package/dist/domain/executioncontext/search-extractor.d.ts.map +1 -0
  329. package/dist/domain/executioncontext/search-extractor.js +43 -0
  330. package/dist/domain/executioncontext/search-extractor.js.map +1 -0
  331. package/dist/domain/executioncontext/steps.d.ts +104 -0
  332. package/dist/domain/executioncontext/steps.d.ts.map +1 -0
  333. package/dist/domain/executioncontext/steps.js +216 -0
  334. package/dist/domain/executioncontext/steps.js.map +1 -0
  335. package/dist/domain/executioncontext/temporal/delete-execution-context.d.ts +11 -0
  336. package/dist/domain/executioncontext/temporal/delete-execution-context.d.ts.map +1 -0
  337. package/dist/domain/executioncontext/temporal/delete-execution-context.js +71 -0
  338. package/dist/domain/executioncontext/temporal/delete-execution-context.js.map +1 -0
  339. package/dist/domain/github/controller.d.ts +12 -0
  340. package/dist/domain/github/controller.d.ts.map +1 -0
  341. package/dist/domain/github/controller.js +141 -0
  342. package/dist/domain/github/controller.js.map +1 -0
  343. package/dist/domain/mcpserver/complete-oauth-connect.d.ts +23 -0
  344. package/dist/domain/mcpserver/complete-oauth-connect.d.ts.map +1 -0
  345. package/dist/domain/mcpserver/complete-oauth-connect.js +232 -0
  346. package/dist/domain/mcpserver/complete-oauth-connect.js.map +1 -0
  347. package/dist/domain/mcpserver/connect-status.d.ts +100 -0
  348. package/dist/domain/mcpserver/connect-status.d.ts.map +1 -0
  349. package/dist/domain/mcpserver/connect-status.js +219 -0
  350. package/dist/domain/mcpserver/connect-status.js.map +1 -0
  351. package/dist/domain/mcpserver/connect.d.ts +235 -0
  352. package/dist/domain/mcpserver/connect.d.ts.map +1 -0
  353. package/dist/domain/mcpserver/connect.js +805 -0
  354. package/dist/domain/mcpserver/connect.js.map +1 -0
  355. package/dist/domain/mcpserver/controller.d.ts +19 -0
  356. package/dist/domain/mcpserver/controller.d.ts.map +1 -0
  357. package/dist/domain/mcpserver/controller.js +344 -0
  358. package/dist/domain/mcpserver/controller.js.map +1 -0
  359. package/dist/domain/mcpserver/disconnect-oauth.d.ts +5 -0
  360. package/dist/domain/mcpserver/disconnect-oauth.d.ts.map +1 -0
  361. package/dist/domain/mcpserver/disconnect-oauth.js +82 -0
  362. package/dist/domain/mcpserver/disconnect-oauth.js.map +1 -0
  363. package/dist/domain/mcpserver/enabledtools/enabledtools.d.ts +63 -0
  364. package/dist/domain/mcpserver/enabledtools/enabledtools.d.ts.map +1 -0
  365. package/dist/domain/mcpserver/enabledtools/enabledtools.js +46 -0
  366. package/dist/domain/mcpserver/enabledtools/enabledtools.js.map +1 -0
  367. package/dist/domain/mcpserver/engine.d.ts +171 -0
  368. package/dist/domain/mcpserver/engine.d.ts.map +1 -0
  369. package/dist/domain/mcpserver/engine.js +27 -0
  370. package/dist/domain/mcpserver/engine.js.map +1 -0
  371. package/dist/domain/mcpserver/get-oauth-grant-status.d.ts +20 -0
  372. package/dist/domain/mcpserver/get-oauth-grant-status.d.ts.map +1 -0
  373. package/dist/domain/mcpserver/get-oauth-grant-status.js +77 -0
  374. package/dist/domain/mcpserver/get-oauth-grant-status.js.map +1 -0
  375. package/dist/domain/mcpserver/initiate-oauth-connect.d.ts +52 -0
  376. package/dist/domain/mcpserver/initiate-oauth-connect.d.ts.map +1 -0
  377. package/dist/domain/mcpserver/initiate-oauth-connect.js +331 -0
  378. package/dist/domain/mcpserver/initiate-oauth-connect.js.map +1 -0
  379. package/dist/domain/mcpserver/oauth/dcr.d.ts +17 -0
  380. package/dist/domain/mcpserver/oauth/dcr.d.ts.map +1 -0
  381. package/dist/domain/mcpserver/oauth/dcr.js +62 -0
  382. package/dist/domain/mcpserver/oauth/dcr.js.map +1 -0
  383. package/dist/domain/mcpserver/oauth/discovery.d.ts +37 -0
  384. package/dist/domain/mcpserver/oauth/discovery.d.ts.map +1 -0
  385. package/dist/domain/mcpserver/oauth/discovery.js +93 -0
  386. package/dist/domain/mcpserver/oauth/discovery.js.map +1 -0
  387. package/dist/domain/mcpserver/oauth/managed-env.d.ts +69 -0
  388. package/dist/domain/mcpserver/oauth/managed-env.d.ts.map +1 -0
  389. package/dist/domain/mcpserver/oauth/managed-env.js +111 -0
  390. package/dist/domain/mcpserver/oauth/managed-env.js.map +1 -0
  391. package/dist/domain/mcpserver/oauth/pkce.d.ts +14 -0
  392. package/dist/domain/mcpserver/oauth/pkce.d.ts.map +1 -0
  393. package/dist/domain/mcpserver/oauth/pkce.js +22 -0
  394. package/dist/domain/mcpserver/oauth/pkce.js.map +1 -0
  395. package/dist/domain/mcpserver/oauth/preflight.d.ts +31 -0
  396. package/dist/domain/mcpserver/oauth/preflight.d.ts.map +1 -0
  397. package/dist/domain/mcpserver/oauth/preflight.js +82 -0
  398. package/dist/domain/mcpserver/oauth/preflight.js.map +1 -0
  399. package/dist/domain/mcpserver/oauth/refresh.d.ts +34 -0
  400. package/dist/domain/mcpserver/oauth/refresh.d.ts.map +1 -0
  401. package/dist/domain/mcpserver/oauth/refresh.js +74 -0
  402. package/dist/domain/mcpserver/oauth/refresh.js.map +1 -0
  403. package/dist/domain/mcpserver/oauth/token.d.ts +32 -0
  404. package/dist/domain/mcpserver/oauth/token.d.ts.map +1 -0
  405. package/dist/domain/mcpserver/oauth/token.js +112 -0
  406. package/dist/domain/mcpserver/oauth/token.js.map +1 -0
  407. package/dist/domain/mcpserver/oauth/truncate-body.d.ts +8 -0
  408. package/dist/domain/mcpserver/oauth/truncate-body.d.ts.map +1 -0
  409. package/dist/domain/mcpserver/oauth/truncate-body.js +11 -0
  410. package/dist/domain/mcpserver/oauth/truncate-body.js.map +1 -0
  411. package/dist/domain/mcpserver/search-extractor.d.ts +3 -0
  412. package/dist/domain/mcpserver/search-extractor.d.ts.map +1 -0
  413. package/dist/domain/mcpserver/search-extractor.js +45 -0
  414. package/dist/domain/mcpserver/search-extractor.js.map +1 -0
  415. package/dist/domain/mcpserver/start-connect.d.ts +38 -0
  416. package/dist/domain/mcpserver/start-connect.d.ts.map +1 -0
  417. package/dist/domain/mcpserver/start-connect.js +175 -0
  418. package/dist/domain/mcpserver/start-connect.js.map +1 -0
  419. package/dist/domain/mcpserver/steps.d.ts +63 -0
  420. package/dist/domain/mcpserver/steps.d.ts.map +1 -0
  421. package/dist/domain/mcpserver/steps.js +144 -0
  422. package/dist/domain/mcpserver/steps.js.map +1 -0
  423. package/dist/domain/memory/constants.d.ts +47 -0
  424. package/dist/domain/memory/constants.d.ts.map +1 -0
  425. package/dist/domain/memory/constants.js +49 -0
  426. package/dist/domain/memory/constants.js.map +1 -0
  427. package/dist/domain/memory/controller.d.ts +79 -0
  428. package/dist/domain/memory/controller.d.ts.map +1 -0
  429. package/dist/domain/memory/controller.js +250 -0
  430. package/dist/domain/memory/controller.js.map +1 -0
  431. package/dist/domain/memory/steps.d.ts +161 -0
  432. package/dist/domain/memory/steps.d.ts.map +1 -0
  433. package/dist/domain/memory/steps.js +468 -0
  434. package/dist/domain/memory/steps.js.map +1 -0
  435. package/dist/domain/oauthapp/constants.d.ts +32 -0
  436. package/dist/domain/oauthapp/constants.d.ts.map +1 -0
  437. package/dist/domain/oauthapp/constants.js +35 -0
  438. package/dist/domain/oauthapp/constants.js.map +1 -0
  439. package/dist/domain/oauthapp/controller.d.ts +42 -0
  440. package/dist/domain/oauthapp/controller.d.ts.map +1 -0
  441. package/dist/domain/oauthapp/controller.js +232 -0
  442. package/dist/domain/oauthapp/controller.js.map +1 -0
  443. package/dist/domain/oauthapp/refresolution/refresolution.d.ts +12 -0
  444. package/dist/domain/oauthapp/refresolution/refresolution.d.ts.map +1 -0
  445. package/dist/domain/oauthapp/refresolution/refresolution.js +79 -0
  446. package/dist/domain/oauthapp/refresolution/refresolution.js.map +1 -0
  447. package/dist/domain/oauthapp/refresolution.d.ts +12 -0
  448. package/dist/domain/oauthapp/refresolution.d.ts.map +1 -0
  449. package/dist/domain/oauthapp/refresolution.js +83 -0
  450. package/dist/domain/oauthapp/refresolution.js.map +1 -0
  451. package/dist/domain/oauthapp/steps.d.ts +47 -0
  452. package/dist/domain/oauthapp/steps.d.ts.map +1 -0
  453. package/dist/domain/oauthapp/steps.js +169 -0
  454. package/dist/domain/oauthapp/steps.js.map +1 -0
  455. package/dist/domain/organization/controller.d.ts +46 -0
  456. package/dist/domain/organization/controller.d.ts.map +1 -0
  457. package/dist/domain/organization/controller.js +323 -0
  458. package/dist/domain/organization/controller.js.map +1 -0
  459. package/dist/domain/organization/search-extractor.d.ts +3 -0
  460. package/dist/domain/organization/search-extractor.d.ts.map +1 -0
  461. package/dist/domain/organization/search-extractor.js +43 -0
  462. package/dist/domain/organization/search-extractor.js.map +1 -0
  463. package/dist/domain/organization/steps.d.ts +30 -0
  464. package/dist/domain/organization/steps.d.ts.map +1 -0
  465. package/dist/domain/organization/steps.js +89 -0
  466. package/dist/domain/organization/steps.js.map +1 -0
  467. package/dist/domain/platform/controller.d.ts +60 -0
  468. package/dist/domain/platform/controller.d.ts.map +1 -0
  469. package/dist/domain/platform/controller.js +172 -0
  470. package/dist/domain/platform/controller.js.map +1 -0
  471. package/dist/domain/platform/version.d.ts +15 -0
  472. package/dist/domain/platform/version.d.ts.map +1 -0
  473. package/dist/domain/platform/version.js +18 -0
  474. package/dist/domain/platform/version.js.map +1 -0
  475. package/dist/domain/project/controller.d.ts +48 -0
  476. package/dist/domain/project/controller.d.ts.map +1 -0
  477. package/dist/domain/project/controller.js +192 -0
  478. package/dist/domain/project/controller.js.map +1 -0
  479. package/dist/domain/project/reconcile.d.ts +77 -0
  480. package/dist/domain/project/reconcile.d.ts.map +1 -0
  481. package/dist/domain/project/reconcile.js +175 -0
  482. package/dist/domain/project/reconcile.js.map +1 -0
  483. package/dist/domain/project/search-extractor.d.ts +3 -0
  484. package/dist/domain/project/search-extractor.d.ts.map +1 -0
  485. package/dist/domain/project/search-extractor.js +43 -0
  486. package/dist/domain/project/search-extractor.js.map +1 -0
  487. package/dist/domain/schedule/clock.d.ts +54 -0
  488. package/dist/domain/schedule/clock.d.ts.map +1 -0
  489. package/dist/domain/schedule/clock.js +143 -0
  490. package/dist/domain/schedule/clock.js.map +1 -0
  491. package/dist/domain/schedule/controller.d.ts +67 -0
  492. package/dist/domain/schedule/controller.d.ts.map +1 -0
  493. package/dist/domain/schedule/controller.js +383 -0
  494. package/dist/domain/schedule/controller.js.map +1 -0
  495. package/dist/domain/schedule/cron.d.ts +29 -0
  496. package/dist/domain/schedule/cron.d.ts.map +1 -0
  497. package/dist/domain/schedule/cron.js +130 -0
  498. package/dist/domain/schedule/cron.js.map +1 -0
  499. package/dist/domain/schedule/list-runs.d.ts +24 -0
  500. package/dist/domain/schedule/list-runs.d.ts.map +1 -0
  501. package/dist/domain/schedule/list-runs.js +203 -0
  502. package/dist/domain/schedule/list-runs.js.map +1 -0
  503. package/dist/domain/schedule/persist-update.d.ts +5 -0
  504. package/dist/domain/schedule/persist-update.d.ts.map +1 -0
  505. package/dist/domain/schedule/persist-update.js +62 -0
  506. package/dist/domain/schedule/persist-update.js.map +1 -0
  507. package/dist/domain/schedule/resume.d.ts +33 -0
  508. package/dist/domain/schedule/resume.d.ts.map +1 -0
  509. package/dist/domain/schedule/resume.js +82 -0
  510. package/dist/domain/schedule/resume.js.map +1 -0
  511. package/dist/domain/schedule/steps.d.ts +96 -0
  512. package/dist/domain/schedule/steps.d.ts.map +1 -0
  513. package/dist/domain/schedule/steps.js +208 -0
  514. package/dist/domain/schedule/steps.js.map +1 -0
  515. package/dist/domain/schedule/trigger.d.ts +59 -0
  516. package/dist/domain/schedule/trigger.d.ts.map +1 -0
  517. package/dist/domain/schedule/trigger.js +195 -0
  518. package/dist/domain/schedule/trigger.js.map +1 -0
  519. package/dist/domain/session/controller.d.ts +66 -0
  520. package/dist/domain/session/controller.d.ts.map +1 -0
  521. package/dist/domain/session/controller.js +282 -0
  522. package/dist/domain/session/controller.js.map +1 -0
  523. package/dist/domain/session/search-extractor.d.ts +3 -0
  524. package/dist/domain/session/search-extractor.d.ts.map +1 -0
  525. package/dist/domain/session/search-extractor.js +43 -0
  526. package/dist/domain/session/search-extractor.js.map +1 -0
  527. package/dist/domain/session/steps.d.ts +96 -0
  528. package/dist/domain/session/steps.d.ts.map +1 -0
  529. package/dist/domain/session/steps.js +592 -0
  530. package/dist/domain/session/steps.js.map +1 -0
  531. package/dist/domain/skill/constants.d.ts +64 -0
  532. package/dist/domain/skill/constants.d.ts.map +1 -0
  533. package/dist/domain/skill/constants.js +64 -0
  534. package/dist/domain/skill/constants.js.map +1 -0
  535. package/dist/domain/skill/controller.d.ts +38 -0
  536. package/dist/domain/skill/controller.d.ts.map +1 -0
  537. package/dist/domain/skill/controller.js +476 -0
  538. package/dist/domain/skill/controller.js.map +1 -0
  539. package/dist/domain/skill/push.d.ts +97 -0
  540. package/dist/domain/skill/push.d.ts.map +1 -0
  541. package/dist/domain/skill/push.js +485 -0
  542. package/dist/domain/skill/push.js.map +1 -0
  543. package/dist/domain/skill/search-extractor.d.ts +3 -0
  544. package/dist/domain/skill/search-extractor.d.ts.map +1 -0
  545. package/dist/domain/skill/search-extractor.js +44 -0
  546. package/dist/domain/skill/search-extractor.js.map +1 -0
  547. package/dist/domain/skill/storage/artifact-storage.d.ts +33 -0
  548. package/dist/domain/skill/storage/artifact-storage.d.ts.map +1 -0
  549. package/dist/domain/skill/storage/artifact-storage.js +106 -0
  550. package/dist/domain/skill/storage/artifact-storage.js.map +1 -0
  551. package/dist/domain/skill/storage/frontmatter.d.ts +16 -0
  552. package/dist/domain/skill/storage/frontmatter.d.ts.map +1 -0
  553. package/dist/domain/skill/storage/frontmatter.js +143 -0
  554. package/dist/domain/skill/storage/frontmatter.js.map +1 -0
  555. package/dist/domain/skill/storage/prefilter.d.ts +77 -0
  556. package/dist/domain/skill/storage/prefilter.d.ts.map +1 -0
  557. package/dist/domain/skill/storage/prefilter.js +127 -0
  558. package/dist/domain/skill/storage/prefilter.js.map +1 -0
  559. package/dist/domain/skill/storage/zip-gate.d.ts +20 -0
  560. package/dist/domain/skill/storage/zip-gate.d.ts.map +1 -0
  561. package/dist/domain/skill/storage/zip-gate.js +186 -0
  562. package/dist/domain/skill/storage/zip-gate.js.map +1 -0
  563. package/dist/domain/skill/transfer/handler.d.ts +36 -0
  564. package/dist/domain/skill/transfer/handler.d.ts.map +1 -0
  565. package/dist/domain/skill/transfer/handler.js +120 -0
  566. package/dist/domain/skill/transfer/handler.js.map +1 -0
  567. package/dist/domain/skill/transfer/slots.d.ts +79 -0
  568. package/dist/domain/skill/transfer/slots.d.ts.map +1 -0
  569. package/dist/domain/skill/transfer/slots.js +216 -0
  570. package/dist/domain/skill/transfer/slots.js.map +1 -0
  571. package/dist/domain/skill/version-resolution.d.ts +16 -0
  572. package/dist/domain/skill/version-resolution.d.ts.map +1 -0
  573. package/dist/domain/skill/version-resolution.js +254 -0
  574. package/dist/domain/skill/version-resolution.js.map +1 -0
  575. package/dist/domain/workflow/controller.d.ts +45 -0
  576. package/dist/domain/workflow/controller.d.ts.map +1 -0
  577. package/dist/domain/workflow/controller.js +751 -0
  578. package/dist/domain/workflow/controller.js.map +1 -0
  579. package/dist/domain/workflow/converter/converter.d.ts +8 -0
  580. package/dist/domain/workflow/converter/converter.d.ts.map +1 -0
  581. package/dist/domain/workflow/converter/converter.js +122 -0
  582. package/dist/domain/workflow/converter/converter.js.map +1 -0
  583. package/dist/domain/workflow/converter/task-converters.d.ts +30 -0
  584. package/dist/domain/workflow/converter/task-converters.d.ts.map +1 -0
  585. package/dist/domain/workflow/converter/task-converters.js +608 -0
  586. package/dist/domain/workflow/converter/task-converters.js.map +1 -0
  587. package/dist/domain/workflow/converter/types.d.ts +13 -0
  588. package/dist/domain/workflow/converter/types.d.ts.map +1 -0
  589. package/dist/domain/workflow/converter/types.js +2 -0
  590. package/dist/domain/workflow/converter/types.js.map +1 -0
  591. package/dist/domain/workflow/converter/unmarshal.d.ts +39 -0
  592. package/dist/domain/workflow/converter/unmarshal.d.ts.map +1 -0
  593. package/dist/domain/workflow/converter/unmarshal.js +165 -0
  594. package/dist/domain/workflow/converter/unmarshal.js.map +1 -0
  595. package/dist/domain/workflow/registry/bundled.d.ts +3 -0
  596. package/dist/domain/workflow/registry/bundled.d.ts.map +1 -0
  597. package/dist/domain/workflow/registry/bundled.js +21 -0
  598. package/dist/domain/workflow/registry/bundled.js.map +1 -0
  599. package/dist/domain/workflow/registry/data/model-registry.json +1236 -0
  600. package/dist/domain/workflow/registry/data/task-kind-registry.json +3177 -0
  601. package/dist/domain/workflow/registry/document-catalog.d.ts +68 -0
  602. package/dist/domain/workflow/registry/document-catalog.d.ts.map +1 -0
  603. package/dist/domain/workflow/registry/document-catalog.js +238 -0
  604. package/dist/domain/workflow/registry/document-catalog.js.map +1 -0
  605. package/dist/domain/workflow/registry/model-catalog-provider.d.ts +108 -0
  606. package/dist/domain/workflow/registry/model-catalog-provider.d.ts.map +1 -0
  607. package/dist/domain/workflow/registry/model-catalog-provider.js +34 -0
  608. package/dist/domain/workflow/registry/model-catalog-provider.js.map +1 -0
  609. package/dist/domain/workflow/registry/model-registry-store.d.ts +151 -0
  610. package/dist/domain/workflow/registry/model-registry-store.d.ts.map +1 -0
  611. package/dist/domain/workflow/registry/model-registry-store.js +196 -0
  612. package/dist/domain/workflow/registry/model-registry-store.js.map +1 -0
  613. package/dist/domain/workflow/registry/pin-validation.d.ts +67 -0
  614. package/dist/domain/workflow/registry/pin-validation.d.ts.map +1 -0
  615. package/dist/domain/workflow/registry/pin-validation.js +151 -0
  616. package/dist/domain/workflow/registry/pin-validation.js.map +1 -0
  617. package/dist/domain/workflow/search-extractor.d.ts +3 -0
  618. package/dist/domain/workflow/search-extractor.d.ts.map +1 -0
  619. package/dist/domain/workflow/search-extractor.js +44 -0
  620. package/dist/domain/workflow/search-extractor.js.map +1 -0
  621. package/dist/domain/workflow/steps.d.ts +72 -0
  622. package/dist/domain/workflow/steps.d.ts.map +1 -0
  623. package/dist/domain/workflow/steps.js +536 -0
  624. package/dist/domain/workflow/steps.js.map +1 -0
  625. package/dist/domain/workflow/validation/budget-warnings.d.ts +3 -0
  626. package/dist/domain/workflow/validation/budget-warnings.d.ts.map +1 -0
  627. package/dist/domain/workflow/validation/budget-warnings.js +109 -0
  628. package/dist/domain/workflow/validation/budget-warnings.js.map +1 -0
  629. package/dist/domain/workflow/validation/crossref.d.ts +31 -0
  630. package/dist/domain/workflow/validation/crossref.d.ts.map +1 -0
  631. package/dist/domain/workflow/validation/crossref.js +338 -0
  632. package/dist/domain/workflow/validation/crossref.js.map +1 -0
  633. package/dist/domain/workflow/validation/expression-warnings.d.ts +3 -0
  634. package/dist/domain/workflow/validation/expression-warnings.d.ts.map +1 -0
  635. package/dist/domain/workflow/validation/expression-warnings.js +78 -0
  636. package/dist/domain/workflow/validation/expression-warnings.js.map +1 -0
  637. package/dist/domain/workflow/validation/format-violation.d.ts +23 -0
  638. package/dist/domain/workflow/validation/format-violation.d.ts.map +1 -0
  639. package/dist/domain/workflow/validation/format-violation.js +37 -0
  640. package/dist/domain/workflow/validation/format-violation.js.map +1 -0
  641. package/dist/domain/workflow/validation/human-input-validation.d.ts +3 -0
  642. package/dist/domain/workflow/validation/human-input-validation.d.ts.map +1 -0
  643. package/dist/domain/workflow/validation/human-input-validation.js +78 -0
  644. package/dist/domain/workflow/validation/human-input-validation.js.map +1 -0
  645. package/dist/domain/workflow/validation/model-validation.d.ts +13 -0
  646. package/dist/domain/workflow/validation/model-validation.d.ts.map +1 -0
  647. package/dist/domain/workflow/validation/model-validation.js +175 -0
  648. package/dist/domain/workflow/validation/model-validation.js.map +1 -0
  649. package/dist/domain/workflow/validation/task-config-constraints.d.ts +7 -0
  650. package/dist/domain/workflow/validation/task-config-constraints.d.ts.map +1 -0
  651. package/dist/domain/workflow/validation/task-config-constraints.js +126 -0
  652. package/dist/domain/workflow/validation/task-config-constraints.js.map +1 -0
  653. package/dist/domain/workflow/validation/validator.d.ts +11 -0
  654. package/dist/domain/workflow/validation/validator.d.ts.map +1 -0
  655. package/dist/domain/workflow/validation/validator.js +116 -0
  656. package/dist/domain/workflow/validation/validator.js.map +1 -0
  657. package/dist/domain/workflowexecution/constants.d.ts +83 -0
  658. package/dist/domain/workflowexecution/constants.d.ts.map +1 -0
  659. package/dist/domain/workflowexecution/constants.js +87 -0
  660. package/dist/domain/workflowexecution/constants.js.map +1 -0
  661. package/dist/domain/workflowexecution/controller.d.ts +95 -0
  662. package/dist/domain/workflowexecution/controller.d.ts.map +1 -0
  663. package/dist/domain/workflowexecution/controller.js +270 -0
  664. package/dist/domain/workflowexecution/controller.js.map +1 -0
  665. package/dist/domain/workflowexecution/create-execution-context-step.d.ts +30 -0
  666. package/dist/domain/workflowexecution/create-execution-context-step.d.ts.map +1 -0
  667. package/dist/domain/workflowexecution/create-execution-context-step.js +141 -0
  668. package/dist/domain/workflowexecution/create-execution-context-step.js.map +1 -0
  669. package/dist/domain/workflowexecution/create-steps.d.ts +70 -0
  670. package/dist/domain/workflowexecution/create-steps.d.ts.map +1 -0
  671. package/dist/domain/workflowexecution/create-steps.js +254 -0
  672. package/dist/domain/workflowexecution/create-steps.js.map +1 -0
  673. package/dist/domain/workflowexecution/engine.d.ts +131 -0
  674. package/dist/domain/workflowexecution/engine.d.ts.map +1 -0
  675. package/dist/domain/workflowexecution/engine.js +38 -0
  676. package/dist/domain/workflowexecution/engine.js.map +1 -0
  677. package/dist/domain/workflowexecution/execution-filter.d.ts +38 -0
  678. package/dist/domain/workflowexecution/execution-filter.d.ts.map +1 -0
  679. package/dist/domain/workflowexecution/execution-filter.js +177 -0
  680. package/dist/domain/workflowexecution/execution-filter.js.map +1 -0
  681. package/dist/domain/workflowexecution/get-event-log.d.ts +16 -0
  682. package/dist/domain/workflowexecution/get-event-log.d.ts.map +1 -0
  683. package/dist/domain/workflowexecution/get-event-log.js +95 -0
  684. package/dist/domain/workflowexecution/get-event-log.js.map +1 -0
  685. package/dist/domain/workflowexecution/get-execution-summary.d.ts +20 -0
  686. package/dist/domain/workflowexecution/get-execution-summary.d.ts.map +1 -0
  687. package/dist/domain/workflowexecution/get-execution-summary.js +212 -0
  688. package/dist/domain/workflowexecution/get-execution-summary.js.map +1 -0
  689. package/dist/domain/workflowexecution/lifecycle.d.ts +80 -0
  690. package/dist/domain/workflowexecution/lifecycle.d.ts.map +1 -0
  691. package/dist/domain/workflowexecution/lifecycle.js +560 -0
  692. package/dist/domain/workflowexecution/lifecycle.js.map +1 -0
  693. package/dist/domain/workflowexecution/list-pending-approvals.d.ts +13 -0
  694. package/dist/domain/workflowexecution/list-pending-approvals.d.ts.map +1 -0
  695. package/dist/domain/workflowexecution/list-pending-approvals.js +69 -0
  696. package/dist/domain/workflowexecution/list-pending-approvals.js.map +1 -0
  697. package/dist/domain/workflowexecution/normalize-workflow-ref-step.d.ts +6 -0
  698. package/dist/domain/workflowexecution/normalize-workflow-ref-step.d.ts.map +1 -0
  699. package/dist/domain/workflowexecution/normalize-workflow-ref-step.js +54 -0
  700. package/dist/domain/workflowexecution/normalize-workflow-ref-step.js.map +1 -0
  701. package/dist/domain/workflowexecution/pin-workflow-version-step.d.ts +8 -0
  702. package/dist/domain/workflowexecution/pin-workflow-version-step.d.ts.map +1 -0
  703. package/dist/domain/workflowexecution/pin-workflow-version-step.js +81 -0
  704. package/dist/domain/workflowexecution/pin-workflow-version-step.js.map +1 -0
  705. package/dist/domain/workflowexecution/queries.d.ts +10 -0
  706. package/dist/domain/workflowexecution/queries.d.ts.map +1 -0
  707. package/dist/domain/workflowexecution/queries.js +40 -0
  708. package/dist/domain/workflowexecution/queries.js.map +1 -0
  709. package/dist/domain/workflowexecution/search-extractor.d.ts +3 -0
  710. package/dist/domain/workflowexecution/search-extractor.d.ts.map +1 -0
  711. package/dist/domain/workflowexecution/search-extractor.js +44 -0
  712. package/dist/domain/workflowexecution/search-extractor.js.map +1 -0
  713. package/dist/domain/workflowexecution/send-signal.d.ts +16 -0
  714. package/dist/domain/workflowexecution/send-signal.d.ts.map +1 -0
  715. package/dist/domain/workflowexecution/send-signal.js +189 -0
  716. package/dist/domain/workflowexecution/send-signal.js.map +1 -0
  717. package/dist/domain/workflowexecution/stream-broker.d.ts +70 -0
  718. package/dist/domain/workflowexecution/stream-broker.d.ts.map +1 -0
  719. package/dist/domain/workflowexecution/stream-broker.js +87 -0
  720. package/dist/domain/workflowexecution/stream-broker.js.map +1 -0
  721. package/dist/domain/workflowexecution/submit-approval.d.ts +40 -0
  722. package/dist/domain/workflowexecution/submit-approval.d.ts.map +1 -0
  723. package/dist/domain/workflowexecution/submit-approval.js +105 -0
  724. package/dist/domain/workflowexecution/submit-approval.js.map +1 -0
  725. package/dist/domain/workflowexecution/submit-file-decision.d.ts +26 -0
  726. package/dist/domain/workflowexecution/submit-file-decision.d.ts.map +1 -0
  727. package/dist/domain/workflowexecution/submit-file-decision.js +118 -0
  728. package/dist/domain/workflowexecution/submit-file-decision.js.map +1 -0
  729. package/dist/domain/workflowexecution/submit-workflow-task-approval.d.ts +16 -0
  730. package/dist/domain/workflowexecution/submit-workflow-task-approval.d.ts.map +1 -0
  731. package/dist/domain/workflowexecution/submit-workflow-task-approval.js +119 -0
  732. package/dist/domain/workflowexecution/submit-workflow-task-approval.js.map +1 -0
  733. package/dist/domain/workflowexecution/subscribe-events.d.ts +14 -0
  734. package/dist/domain/workflowexecution/subscribe-events.d.ts.map +1 -0
  735. package/dist/domain/workflowexecution/subscribe-events.js +155 -0
  736. package/dist/domain/workflowexecution/subscribe-events.js.map +1 -0
  737. package/dist/domain/workflowexecution/subscribe.d.ts +24 -0
  738. package/dist/domain/workflowexecution/subscribe.d.ts.map +1 -0
  739. package/dist/domain/workflowexecution/subscribe.js +124 -0
  740. package/dist/domain/workflowexecution/subscribe.js.map +1 -0
  741. package/dist/domain/workflowexecution/temporal/config.d.ts +108 -0
  742. package/dist/domain/workflowexecution/temporal/config.d.ts.map +1 -0
  743. package/dist/domain/workflowexecution/temporal/config.js +111 -0
  744. package/dist/domain/workflowexecution/temporal/config.js.map +1 -0
  745. package/dist/domain/workflowexecution/update-status.d.ts +41 -0
  746. package/dist/domain/workflowexecution/update-status.d.ts.map +1 -0
  747. package/dist/domain/workflowexecution/update-status.js +280 -0
  748. package/dist/domain/workflowexecution/update-status.js.map +1 -0
  749. package/dist/domain/workflowinstance/controller.d.ts +44 -0
  750. package/dist/domain/workflowinstance/controller.d.ts.map +1 -0
  751. package/dist/domain/workflowinstance/controller.js +387 -0
  752. package/dist/domain/workflowinstance/controller.js.map +1 -0
  753. package/dist/domain/workflowinstance/defaultinstance.d.ts +23 -0
  754. package/dist/domain/workflowinstance/defaultinstance.d.ts.map +1 -0
  755. package/dist/domain/workflowinstance/defaultinstance.js +58 -0
  756. package/dist/domain/workflowinstance/defaultinstance.js.map +1 -0
  757. package/dist/domain/workflowinstance/search-extractor.d.ts +3 -0
  758. package/dist/domain/workflowinstance/search-extractor.d.ts.map +1 -0
  759. package/dist/domain/workflowinstance/search-extractor.js +44 -0
  760. package/dist/domain/workflowinstance/search-extractor.js.map +1 -0
  761. package/dist/domain/workflowinstance/steps.d.ts +57 -0
  762. package/dist/domain/workflowinstance/steps.d.ts.map +1 -0
  763. package/dist/domain/workflowinstance/steps.js +143 -0
  764. package/dist/domain/workflowinstance/steps.js.map +1 -0
  765. package/dist/encryption/codec.d.ts +102 -0
  766. package/dist/encryption/codec.d.ts.map +1 -0
  767. package/dist/encryption/codec.js +2 -0
  768. package/dist/encryption/codec.js.map +1 -0
  769. package/dist/encryption/encryption.d.ts +210 -0
  770. package/dist/encryption/encryption.d.ts.map +1 -0
  771. package/dist/encryption/encryption.js +418 -0
  772. package/dist/encryption/encryption.js.map +1 -0
  773. package/dist/encryption/errors.d.ts +66 -0
  774. package/dist/encryption/errors.d.ts.map +1 -0
  775. package/dist/encryption/errors.js +83 -0
  776. package/dist/encryption/errors.js.map +1 -0
  777. package/dist/encryption/key-manager.d.ts +23 -0
  778. package/dist/encryption/key-manager.d.ts.map +1 -0
  779. package/dist/encryption/key-manager.js +130 -0
  780. package/dist/encryption/key-manager.js.map +1 -0
  781. package/dist/encryption/scope.d.ts +80 -0
  782. package/dist/encryption/scope.d.ts.map +1 -0
  783. package/dist/encryption/scope.js +133 -0
  784. package/dist/encryption/scope.js.map +1 -0
  785. package/dist/encryption/v1-codec.d.ts +36 -0
  786. package/dist/encryption/v1-codec.d.ts.map +1 -0
  787. package/dist/encryption/v1-codec.js +120 -0
  788. package/dist/encryption/v1-codec.js.map +1 -0
  789. package/dist/envmerge/envmerge.d.ts +45 -0
  790. package/dist/envmerge/envmerge.d.ts.map +1 -0
  791. package/dist/envmerge/envmerge.js +88 -0
  792. package/dist/envmerge/envmerge.js.map +1 -0
  793. package/dist/extensions/authorizer.d.ts +70 -0
  794. package/dist/extensions/authorizer.d.ts.map +1 -0
  795. package/dist/extensions/authorizer.js +2 -0
  796. package/dist/extensions/authorizer.js.map +1 -0
  797. package/dist/extensions/caller-guards.d.ts +56 -0
  798. package/dist/extensions/caller-guards.d.ts.map +1 -0
  799. package/dist/extensions/caller-guards.js +2 -0
  800. package/dist/extensions/caller-guards.js.map +1 -0
  801. package/dist/extensions/drivers.d.ts +140 -0
  802. package/dist/extensions/drivers.d.ts.map +1 -0
  803. package/dist/extensions/drivers.js +2 -0
  804. package/dist/extensions/drivers.js.map +1 -0
  805. package/dist/extensions/gate-slots.d.ts +68 -0
  806. package/dist/extensions/gate-slots.d.ts.map +1 -0
  807. package/dist/extensions/gate-slots.js +32 -0
  808. package/dist/extensions/gate-slots.js.map +1 -0
  809. package/dist/extensions/identity.d.ts +91 -0
  810. package/dist/extensions/identity.d.ts.map +1 -0
  811. package/dist/extensions/identity.js +16 -0
  812. package/dist/extensions/identity.js.map +1 -0
  813. package/dist/extensions/list-read-scope.d.ts +108 -0
  814. package/dist/extensions/list-read-scope.d.ts.map +1 -0
  815. package/dist/extensions/list-read-scope.js +31 -0
  816. package/dist/extensions/list-read-scope.js.map +1 -0
  817. package/dist/extensions/organization-directory.d.ts +49 -0
  818. package/dist/extensions/organization-directory.d.ts.map +1 -0
  819. package/dist/extensions/organization-directory.js +6 -0
  820. package/dist/extensions/organization-directory.js.map +1 -0
  821. package/dist/extensions/registry.d.ts +221 -0
  822. package/dist/extensions/registry.d.ts.map +1 -0
  823. package/dist/extensions/registry.js +230 -0
  824. package/dist/extensions/registry.js.map +1 -0
  825. package/dist/extensions/resource-authorization.d.ts +135 -0
  826. package/dist/extensions/resource-authorization.d.ts.map +1 -0
  827. package/dist/extensions/resource-authorization.js +2 -0
  828. package/dist/extensions/resource-authorization.js.map +1 -0
  829. package/dist/extensions/schedule-fire-caller.d.ts +33 -0
  830. package/dist/extensions/schedule-fire-caller.d.ts.map +1 -0
  831. package/dist/extensions/schedule-fire-caller.js +2 -0
  832. package/dist/extensions/schedule-fire-caller.js.map +1 -0
  833. package/dist/extensions/status-hooks.d.ts +47 -0
  834. package/dist/extensions/status-hooks.d.ts.map +1 -0
  835. package/dist/extensions/status-hooks.js +2 -0
  836. package/dist/extensions/status-hooks.js.map +1 -0
  837. package/dist/gocompat/query-escape.d.ts +22 -0
  838. package/dist/gocompat/query-escape.d.ts.map +1 -0
  839. package/dist/gocompat/query-escape.js +42 -0
  840. package/dist/gocompat/query-escape.js.map +1 -0
  841. package/dist/gocompat/trim.d.ts +10 -0
  842. package/dist/gocompat/trim.d.ts.map +1 -0
  843. package/dist/gocompat/trim.js +31 -0
  844. package/dist/gocompat/trim.js.map +1 -0
  845. package/dist/identity/oidc-verifier.d.ts +14 -0
  846. package/dist/identity/oidc-verifier.d.ts.map +1 -0
  847. package/dist/identity/oidc-verifier.js +136 -0
  848. package/dist/identity/oidc-verifier.js.map +1 -0
  849. package/dist/index.d.ts +98 -0
  850. package/dist/index.d.ts.map +1 -0
  851. package/dist/index.js +143 -0
  852. package/dist/index.js.map +1 -0
  853. package/dist/main.d.ts +2 -0
  854. package/dist/main.d.ts.map +1 -0
  855. package/dist/main.js +62 -0
  856. package/dist/main.js.map +1 -0
  857. package/dist/observability/rpc-metrics.d.ts +89 -0
  858. package/dist/observability/rpc-metrics.d.ts.map +1 -0
  859. package/dist/observability/rpc-metrics.js +151 -0
  860. package/dist/observability/rpc-metrics.js.map +1 -0
  861. package/dist/pipeline/apiresource-labels.d.ts +52 -0
  862. package/dist/pipeline/apiresource-labels.d.ts.map +1 -0
  863. package/dist/pipeline/apiresource-labels.js +39 -0
  864. package/dist/pipeline/apiresource-labels.js.map +1 -0
  865. package/dist/pipeline/apiresource-meta.d.ts +35 -0
  866. package/dist/pipeline/apiresource-meta.d.ts.map +1 -0
  867. package/dist/pipeline/apiresource-meta.js +114 -0
  868. package/dist/pipeline/apiresource-meta.js.map +1 -0
  869. package/dist/pipeline/chain.d.ts +45 -0
  870. package/dist/pipeline/chain.d.ts.map +1 -0
  871. package/dist/pipeline/chain.js +14 -0
  872. package/dist/pipeline/chain.js.map +1 -0
  873. package/dist/pipeline/errors.d.ts +83 -0
  874. package/dist/pipeline/errors.d.ts.map +1 -0
  875. package/dist/pipeline/errors.js +129 -0
  876. package/dist/pipeline/errors.js.map +1 -0
  877. package/dist/pipeline/interceptors/apiresource.d.ts +10 -0
  878. package/dist/pipeline/interceptors/apiresource.d.ts.map +1 -0
  879. package/dist/pipeline/interceptors/apiresource.js +38 -0
  880. package/dist/pipeline/interceptors/apiresource.js.map +1 -0
  881. package/dist/pipeline/interceptors/auth.d.ts +138 -0
  882. package/dist/pipeline/interceptors/auth.d.ts.map +1 -0
  883. package/dist/pipeline/interceptors/auth.js +371 -0
  884. package/dist/pipeline/interceptors/auth.js.map +1 -0
  885. package/dist/pipeline/interceptors/error-boundary.d.ts +48 -0
  886. package/dist/pipeline/interceptors/error-boundary.d.ts.map +1 -0
  887. package/dist/pipeline/interceptors/error-boundary.js +185 -0
  888. package/dist/pipeline/interceptors/error-boundary.js.map +1 -0
  889. package/dist/pipeline/interceptors/logging.d.ts +4 -0
  890. package/dist/pipeline/interceptors/logging.d.ts.map +1 -0
  891. package/dist/pipeline/interceptors/logging.js +68 -0
  892. package/dist/pipeline/interceptors/logging.js.map +1 -0
  893. package/dist/pipeline/interceptors/protovalidate.d.ts +3 -0
  894. package/dist/pipeline/interceptors/protovalidate.d.ts.map +1 -0
  895. package/dist/pipeline/interceptors/protovalidate.js +50 -0
  896. package/dist/pipeline/interceptors/protovalidate.js.map +1 -0
  897. package/dist/pipeline/interceptors/request-metrics.d.ts +5 -0
  898. package/dist/pipeline/interceptors/request-metrics.d.ts.map +1 -0
  899. package/dist/pipeline/interceptors/request-metrics.js +99 -0
  900. package/dist/pipeline/interceptors/request-metrics.js.map +1 -0
  901. package/dist/pipeline/pipeline.d.ts +36 -0
  902. package/dist/pipeline/pipeline.d.ts.map +1 -0
  903. package/dist/pipeline/pipeline.js +93 -0
  904. package/dist/pipeline/pipeline.js.map +1 -0
  905. package/dist/pipeline/request-context.d.ts +39 -0
  906. package/dist/pipeline/request-context.d.ts.map +1 -0
  907. package/dist/pipeline/request-context.js +76 -0
  908. package/dist/pipeline/request-context.js.map +1 -0
  909. package/dist/pipeline/steps/authorization-tuples.d.ts +105 -0
  910. package/dist/pipeline/steps/authorization-tuples.d.ts.map +1 -0
  911. package/dist/pipeline/steps/authorization-tuples.js +315 -0
  912. package/dist/pipeline/steps/authorization-tuples.js.map +1 -0
  913. package/dist/pipeline/steps/authorize.d.ts +61 -0
  914. package/dist/pipeline/steps/authorize.d.ts.map +1 -0
  915. package/dist/pipeline/steps/authorize.js +221 -0
  916. package/dist/pipeline/steps/authorize.js.map +1 -0
  917. package/dist/pipeline/steps/build-update-state.d.ts +4 -0
  918. package/dist/pipeline/steps/build-update-state.d.ts.map +1 -0
  919. package/dist/pipeline/steps/build-update-state.js +93 -0
  920. package/dist/pipeline/steps/build-update-state.js.map +1 -0
  921. package/dist/pipeline/steps/defaults.d.ts +97 -0
  922. package/dist/pipeline/steps/defaults.d.ts.map +1 -0
  923. package/dist/pipeline/steps/defaults.js +251 -0
  924. package/dist/pipeline/steps/defaults.js.map +1 -0
  925. package/dist/pipeline/steps/delete.d.ts +21 -0
  926. package/dist/pipeline/steps/delete.d.ts.map +1 -0
  927. package/dist/pipeline/steps/delete.js +60 -0
  928. package/dist/pipeline/steps/delete.js.map +1 -0
  929. package/dist/pipeline/steps/duplicate.d.ts +12 -0
  930. package/dist/pipeline/steps/duplicate.d.ts.map +1 -0
  931. package/dist/pipeline/steps/duplicate.js +31 -0
  932. package/dist/pipeline/steps/duplicate.js.map +1 -0
  933. package/dist/pipeline/steps/guard-memory-capture.d.ts +61 -0
  934. package/dist/pipeline/steps/guard-memory-capture.d.ts.map +1 -0
  935. package/dist/pipeline/steps/guard-memory-capture.js +83 -0
  936. package/dist/pipeline/steps/guard-memory-capture.js.map +1 -0
  937. package/dist/pipeline/steps/guard-reserved-labels.d.ts +13 -0
  938. package/dist/pipeline/steps/guard-reserved-labels.d.ts.map +1 -0
  939. package/dist/pipeline/steps/guard-reserved-labels.js +138 -0
  940. package/dist/pipeline/steps/guard-reserved-labels.js.map +1 -0
  941. package/dist/pipeline/steps/helpers.d.ts +38 -0
  942. package/dist/pipeline/steps/helpers.d.ts.map +1 -0
  943. package/dist/pipeline/steps/helpers.js +122 -0
  944. package/dist/pipeline/steps/helpers.js.map +1 -0
  945. package/dist/pipeline/steps/index-search.d.ts +23 -0
  946. package/dist/pipeline/steps/index-search.d.ts.map +1 -0
  947. package/dist/pipeline/steps/index-search.js +56 -0
  948. package/dist/pipeline/steps/index-search.js.map +1 -0
  949. package/dist/pipeline/steps/load-by-reference.d.ts +12 -0
  950. package/dist/pipeline/steps/load-by-reference.d.ts.map +1 -0
  951. package/dist/pipeline/steps/load-by-reference.js +29 -0
  952. package/dist/pipeline/steps/load-by-reference.js.map +1 -0
  953. package/dist/pipeline/steps/load-existing.d.ts +19 -0
  954. package/dist/pipeline/steps/load-existing.d.ts.map +1 -0
  955. package/dist/pipeline/steps/load-existing.js +44 -0
  956. package/dist/pipeline/steps/load-existing.js.map +1 -0
  957. package/dist/pipeline/steps/load-for-apply.d.ts +21 -0
  958. package/dist/pipeline/steps/load-for-apply.d.ts.map +1 -0
  959. package/dist/pipeline/steps/load-for-apply.js +60 -0
  960. package/dist/pipeline/steps/load-for-apply.js.map +1 -0
  961. package/dist/pipeline/steps/load-target.d.ts +20 -0
  962. package/dist/pipeline/steps/load-target.d.ts.map +1 -0
  963. package/dist/pipeline/steps/load-target.js +29 -0
  964. package/dist/pipeline/steps/load-target.js.map +1 -0
  965. package/dist/pipeline/steps/persist.d.ts +9 -0
  966. package/dist/pipeline/steps/persist.d.ts.map +1 -0
  967. package/dist/pipeline/steps/persist.js +23 -0
  968. package/dist/pipeline/steps/persist.js.map +1 -0
  969. package/dist/pipeline/steps/references.d.ts +22 -0
  970. package/dist/pipeline/steps/references.d.ts.map +1 -0
  971. package/dist/pipeline/steps/references.js +128 -0
  972. package/dist/pipeline/steps/references.js.map +1 -0
  973. package/dist/pipeline/steps/secret-cleanup.d.ts +47 -0
  974. package/dist/pipeline/steps/secret-cleanup.d.ts.map +1 -0
  975. package/dist/pipeline/steps/secret-cleanup.js +56 -0
  976. package/dist/pipeline/steps/secret-cleanup.js.map +1 -0
  977. package/dist/pipeline/steps/server-stamped-reserved-labels.d.ts +36 -0
  978. package/dist/pipeline/steps/server-stamped-reserved-labels.d.ts.map +1 -0
  979. package/dist/pipeline/steps/server-stamped-reserved-labels.js +25 -0
  980. package/dist/pipeline/steps/server-stamped-reserved-labels.js.map +1 -0
  981. package/dist/pipeline/steps/shapes.d.ts +43 -0
  982. package/dist/pipeline/steps/shapes.d.ts.map +1 -0
  983. package/dist/pipeline/steps/shapes.js +69 -0
  984. package/dist/pipeline/steps/shapes.js.map +1 -0
  985. package/dist/pipeline/steps/slug.d.ts +18 -0
  986. package/dist/pipeline/steps/slug.d.ts.map +1 -0
  987. package/dist/pipeline/steps/slug.js +34 -0
  988. package/dist/pipeline/steps/slug.js.map +1 -0
  989. package/dist/pipeline/steps/validate-visibility.d.ts +29 -0
  990. package/dist/pipeline/steps/validate-visibility.d.ts.map +1 -0
  991. package/dist/pipeline/steps/validate-visibility.js +52 -0
  992. package/dist/pipeline/steps/validate-visibility.js.map +1 -0
  993. package/dist/pipeline/steps/validation.d.ts +6 -0
  994. package/dist/pipeline/steps/validation.d.ts.map +1 -0
  995. package/dist/pipeline/steps/validation.js +35 -0
  996. package/dist/pipeline/steps/validation.js.map +1 -0
  997. package/dist/pipeline/steps/visibility-gates.d.ts +19 -0
  998. package/dist/pipeline/steps/visibility-gates.d.ts.map +1 -0
  999. package/dist/pipeline/steps/visibility-gates.js +134 -0
  1000. package/dist/pipeline/steps/visibility-gates.js.map +1 -0
  1001. package/dist/query/activity/controller.d.ts +28 -0
  1002. package/dist/query/activity/controller.d.ts.map +1 -0
  1003. package/dist/query/activity/controller.js +20 -0
  1004. package/dist/query/activity/controller.js.map +1 -0
  1005. package/dist/query/activity/handler.d.ts +84 -0
  1006. package/dist/query/activity/handler.d.ts.map +1 -0
  1007. package/dist/query/activity/handler.js +269 -0
  1008. package/dist/query/activity/handler.js.map +1 -0
  1009. package/dist/query/search/controller.d.ts +33 -0
  1010. package/dist/query/search/controller.d.ts.map +1 -0
  1011. package/dist/query/search/controller.js +43 -0
  1012. package/dist/query/search/controller.js.map +1 -0
  1013. package/dist/query/search/criteria.d.ts +95 -0
  1014. package/dist/query/search/criteria.d.ts.map +1 -0
  1015. package/dist/query/search/criteria.js +172 -0
  1016. package/dist/query/search/criteria.js.map +1 -0
  1017. package/dist/query/search/extractor.d.ts +45 -0
  1018. package/dist/query/search/extractor.d.ts.map +1 -0
  1019. package/dist/query/search/extractor.js +52 -0
  1020. package/dist/query/search/extractor.js.map +1 -0
  1021. package/dist/query/search/handler.d.ts +27 -0
  1022. package/dist/query/search/handler.d.ts.map +1 -0
  1023. package/dist/query/search/handler.js +86 -0
  1024. package/dist/query/search/handler.js.map +1 -0
  1025. package/dist/query/search/paged-result.d.ts +25 -0
  1026. package/dist/query/search/paged-result.d.ts.map +1 -0
  1027. package/dist/query/search/paged-result.js +26 -0
  1028. package/dist/query/search/paged-result.js.map +1 -0
  1029. package/dist/query/search/query-store.d.ts +38 -0
  1030. package/dist/query/search/query-store.d.ts.map +1 -0
  1031. package/dist/query/search/query-store.js +186 -0
  1032. package/dist/query/search/query-store.js.map +1 -0
  1033. package/dist/query/search/registry.d.ts +51 -0
  1034. package/dist/query/search/registry.d.ts.map +1 -0
  1035. package/dist/query/search/registry.js +108 -0
  1036. package/dist/query/search/registry.js.map +1 -0
  1037. package/dist/runnerauth/runner-credential-provider.d.ts +279 -0
  1038. package/dist/runnerauth/runner-credential-provider.d.ts.map +1 -0
  1039. package/dist/runnerauth/runner-credential-provider.js +28 -0
  1040. package/dist/runnerauth/runner-credential-provider.js.map +1 -0
  1041. package/dist/runnerauth/runnerauth.d.ts +87 -0
  1042. package/dist/runnerauth/runnerauth.d.ts.map +1 -0
  1043. package/dist/runnerauth/runnerauth.js +203 -0
  1044. package/dist/runnerauth/runnerauth.js.map +1 -0
  1045. package/dist/sandbox/builtins.d.ts +3 -0
  1046. package/dist/sandbox/builtins.d.ts.map +1 -0
  1047. package/dist/sandbox/builtins.js +18 -0
  1048. package/dist/sandbox/builtins.js.map +1 -0
  1049. package/dist/sandbox/docker.d.ts +3 -0
  1050. package/dist/sandbox/docker.d.ts.map +1 -0
  1051. package/dist/sandbox/docker.js +168 -0
  1052. package/dist/sandbox/docker.js.map +1 -0
  1053. package/dist/sandbox/kubernetes.d.ts +27 -0
  1054. package/dist/sandbox/kubernetes.d.ts.map +1 -0
  1055. package/dist/sandbox/kubernetes.js +378 -0
  1056. package/dist/sandbox/kubernetes.js.map +1 -0
  1057. package/dist/sandbox/lane.d.ts +53 -0
  1058. package/dist/sandbox/lane.d.ts.map +1 -0
  1059. package/dist/sandbox/lane.js +34 -0
  1060. package/dist/sandbox/lane.js.map +1 -0
  1061. package/dist/sandbox/local-process.d.ts +3 -0
  1062. package/dist/sandbox/local-process.d.ts.map +1 -0
  1063. package/dist/sandbox/local-process.js +155 -0
  1064. package/dist/sandbox/local-process.js.map +1 -0
  1065. package/dist/sandbox/naming.d.ts +11 -0
  1066. package/dist/sandbox/naming.d.ts.map +1 -0
  1067. package/dist/sandbox/naming.js +33 -0
  1068. package/dist/sandbox/naming.js.map +1 -0
  1069. package/dist/sandbox/provisioner.d.ts +138 -0
  1070. package/dist/sandbox/provisioner.d.ts.map +1 -0
  1071. package/dist/sandbox/provisioner.js +31 -0
  1072. package/dist/sandbox/provisioner.js.map +1 -0
  1073. package/dist/sandbox/steps.d.ts +92 -0
  1074. package/dist/sandbox/steps.d.ts.map +1 -0
  1075. package/dist/sandbox/steps.js +267 -0
  1076. package/dist/sandbox/steps.js.map +1 -0
  1077. package/dist/store/interface.d.ts +585 -0
  1078. package/dist/store/interface.d.ts.map +1 -0
  1079. package/dist/store/interface.js +51 -0
  1080. package/dist/store/interface.js.map +1 -0
  1081. package/dist/store/logger.d.ts +13 -0
  1082. package/dist/store/logger.d.ts.map +1 -0
  1083. package/dist/store/logger.js +3 -0
  1084. package/dist/store/logger.js.map +1 -0
  1085. package/dist/store/postgres/migrations.d.ts +60 -0
  1086. package/dist/store/postgres/migrations.d.ts.map +1 -0
  1087. package/dist/store/postgres/migrations.js +242 -0
  1088. package/dist/store/postgres/migrations.js.map +1 -0
  1089. package/dist/store/postgres/store.d.ts +69 -0
  1090. package/dist/store/postgres/store.d.ts.map +1 -0
  1091. package/dist/store/postgres/store.js +873 -0
  1092. package/dist/store/postgres/store.js.map +1 -0
  1093. package/dist/store/postgres/tsquery.d.ts +54 -0
  1094. package/dist/store/postgres/tsquery.d.ts.map +1 -0
  1095. package/dist/store/postgres/tsquery.js +78 -0
  1096. package/dist/store/postgres/tsquery.js.map +1 -0
  1097. package/dist/store/proto-fields.d.ts +42 -0
  1098. package/dist/store/proto-fields.d.ts.map +1 -0
  1099. package/dist/store/proto-fields.js +171 -0
  1100. package/dist/store/proto-fields.js.map +1 -0
  1101. package/dist/store/rfc3339.d.ts +11 -0
  1102. package/dist/store/rfc3339.d.ts.map +1 -0
  1103. package/dist/store/rfc3339.js +13 -0
  1104. package/dist/store/rfc3339.js.map +1 -0
  1105. package/dist/store/sqlite/fts5.d.ts +40 -0
  1106. package/dist/store/sqlite/fts5.d.ts.map +1 -0
  1107. package/dist/store/sqlite/fts5.js +68 -0
  1108. package/dist/store/sqlite/fts5.js.map +1 -0
  1109. package/dist/store/sqlite/migrations.d.ts +50 -0
  1110. package/dist/store/sqlite/migrations.d.ts.map +1 -0
  1111. package/dist/store/sqlite/migrations.js +291 -0
  1112. package/dist/store/sqlite/migrations.js.map +1 -0
  1113. package/dist/store/sqlite/store.d.ts +64 -0
  1114. package/dist/store/sqlite/store.d.ts.map +1 -0
  1115. package/dist/store/sqlite/store.js +874 -0
  1116. package/dist/store/sqlite/store.js.map +1 -0
  1117. package/dist/temporal/agentexecution/activities.d.ts +45 -0
  1118. package/dist/temporal/agentexecution/activities.d.ts.map +1 -0
  1119. package/dist/temporal/agentexecution/activities.js +158 -0
  1120. package/dist/temporal/agentexecution/activities.js.map +1 -0
  1121. package/dist/temporal/agentexecution/dispatch.d.ts +24 -0
  1122. package/dist/temporal/agentexecution/dispatch.d.ts.map +1 -0
  1123. package/dist/temporal/agentexecution/dispatch.js +106 -0
  1124. package/dist/temporal/agentexecution/dispatch.js.map +1 -0
  1125. package/dist/temporal/agentexecution/engine-client.d.ts +63 -0
  1126. package/dist/temporal/agentexecution/engine-client.d.ts.map +1 -0
  1127. package/dist/temporal/agentexecution/engine-client.js +144 -0
  1128. package/dist/temporal/agentexecution/engine-client.js.map +1 -0
  1129. package/dist/temporal/agentexecution/names.d.ts +82 -0
  1130. package/dist/temporal/agentexecution/names.d.ts.map +1 -0
  1131. package/dist/temporal/agentexecution/names.js +88 -0
  1132. package/dist/temporal/agentexecution/names.js.map +1 -0
  1133. package/dist/temporal/agentexecution/runner-result.d.ts +27 -0
  1134. package/dist/temporal/agentexecution/runner-result.d.ts.map +1 -0
  1135. package/dist/temporal/agentexecution/runner-result.js +50 -0
  1136. package/dist/temporal/agentexecution/runner-result.js.map +1 -0
  1137. package/dist/temporal/agentexecution/worker.d.ts +40 -0
  1138. package/dist/temporal/agentexecution/worker.d.ts.map +1 -0
  1139. package/dist/temporal/agentexecution/worker.js +37 -0
  1140. package/dist/temporal/agentexecution/worker.js.map +1 -0
  1141. package/dist/temporal/agentexecution/workflow-input.d.ts +41 -0
  1142. package/dist/temporal/agentexecution/workflow-input.d.ts.map +1 -0
  1143. package/dist/temporal/agentexecution/workflow-input.js +2 -0
  1144. package/dist/temporal/agentexecution/workflow-input.js.map +1 -0
  1145. package/dist/temporal/agentexecution/workflows/index.d.ts +16 -0
  1146. package/dist/temporal/agentexecution/workflows/index.d.ts.map +1 -0
  1147. package/dist/temporal/agentexecution/workflows/index.js +16 -0
  1148. package/dist/temporal/agentexecution/workflows/index.js.map +1 -0
  1149. package/dist/temporal/agentexecution/workflows/invoke-agent-execution.d.ts +3 -0
  1150. package/dist/temporal/agentexecution/workflows/invoke-agent-execution.d.ts.map +1 -0
  1151. package/dist/temporal/agentexecution/workflows/invoke-agent-execution.js +1091 -0
  1152. package/dist/temporal/agentexecution/workflows/invoke-agent-execution.js.map +1 -0
  1153. package/dist/temporal/manager.d.ts +175 -0
  1154. package/dist/temporal/manager.d.ts.map +1 -0
  1155. package/dist/temporal/manager.js +465 -0
  1156. package/dist/temporal/manager.js.map +1 -0
  1157. package/dist/temporal/mcpserver/engine-client.d.ts +48 -0
  1158. package/dist/temporal/mcpserver/engine-client.d.ts.map +1 -0
  1159. package/dist/temporal/mcpserver/engine-client.js +211 -0
  1160. package/dist/temporal/mcpserver/engine-client.js.map +1 -0
  1161. package/dist/temporal/mcpserver/names.d.ts +20 -0
  1162. package/dist/temporal/mcpserver/names.d.ts.map +1 -0
  1163. package/dist/temporal/mcpserver/names.js +22 -0
  1164. package/dist/temporal/mcpserver/names.js.map +1 -0
  1165. package/dist/temporal/payload-codec.d.ts +71 -0
  1166. package/dist/temporal/payload-codec.d.ts.map +1 -0
  1167. package/dist/temporal/payload-codec.js +57 -0
  1168. package/dist/temporal/payload-codec.js.map +1 -0
  1169. package/dist/temporal/runner-failure.d.ts +13 -0
  1170. package/dist/temporal/runner-failure.d.ts.map +1 -0
  1171. package/dist/temporal/runner-failure.js +65 -0
  1172. package/dist/temporal/runner-failure.js.map +1 -0
  1173. package/dist/temporal/schedule/activities.d.ts +22 -0
  1174. package/dist/temporal/schedule/activities.d.ts.map +1 -0
  1175. package/dist/temporal/schedule/activities.js +350 -0
  1176. package/dist/temporal/schedule/activities.js.map +1 -0
  1177. package/dist/temporal/schedule/artifact.d.ts +61 -0
  1178. package/dist/temporal/schedule/artifact.d.ts.map +1 -0
  1179. package/dist/temporal/schedule/artifact.js +119 -0
  1180. package/dist/temporal/schedule/artifact.js.map +1 -0
  1181. package/dist/temporal/schedule/config.d.ts +153 -0
  1182. package/dist/temporal/schedule/config.d.ts.map +1 -0
  1183. package/dist/temporal/schedule/config.js +186 -0
  1184. package/dist/temporal/schedule/config.js.map +1 -0
  1185. package/dist/temporal/schedule/model-pinning.d.ts +31 -0
  1186. package/dist/temporal/schedule/model-pinning.d.ts.map +1 -0
  1187. package/dist/temporal/schedule/model-pinning.js +18 -0
  1188. package/dist/temporal/schedule/model-pinning.js.map +1 -0
  1189. package/dist/temporal/schedule/names.d.ts +105 -0
  1190. package/dist/temporal/schedule/names.d.ts.map +1 -0
  1191. package/dist/temporal/schedule/names.js +72 -0
  1192. package/dist/temporal/schedule/names.js.map +1 -0
  1193. package/dist/temporal/schedule/reconciler.d.ts +94 -0
  1194. package/dist/temporal/schedule/reconciler.d.ts.map +1 -0
  1195. package/dist/temporal/schedule/reconciler.js +254 -0
  1196. package/dist/temporal/schedule/reconciler.js.map +1 -0
  1197. package/dist/temporal/schedule/run-ledger.d.ts +67 -0
  1198. package/dist/temporal/schedule/run-ledger.d.ts.map +1 -0
  1199. package/dist/temporal/schedule/run-ledger.js +154 -0
  1200. package/dist/temporal/schedule/run-ledger.js.map +1 -0
  1201. package/dist/temporal/schedule/run-starter.d.ts +122 -0
  1202. package/dist/temporal/schedule/run-starter.d.ts.map +1 -0
  1203. package/dist/temporal/schedule/run-starter.js +406 -0
  1204. package/dist/temporal/schedule/run-starter.js.map +1 -0
  1205. package/dist/temporal/schedule/status-writes.d.ts +14 -0
  1206. package/dist/temporal/schedule/status-writes.d.ts.map +1 -0
  1207. package/dist/temporal/schedule/status-writes.js +43 -0
  1208. package/dist/temporal/schedule/status-writes.js.map +1 -0
  1209. package/dist/temporal/schedule/syncer.d.ts +77 -0
  1210. package/dist/temporal/schedule/syncer.d.ts.map +1 -0
  1211. package/dist/temporal/schedule/syncer.js +161 -0
  1212. package/dist/temporal/schedule/syncer.js.map +1 -0
  1213. package/dist/temporal/schedule/worker.d.ts +36 -0
  1214. package/dist/temporal/schedule/worker.d.ts.map +1 -0
  1215. package/dist/temporal/schedule/worker.js +37 -0
  1216. package/dist/temporal/schedule/worker.js.map +1 -0
  1217. package/dist/temporal/schedule/workflows/index.d.ts +12 -0
  1218. package/dist/temporal/schedule/workflows/index.d.ts.map +1 -0
  1219. package/dist/temporal/schedule/workflows/index.js +12 -0
  1220. package/dist/temporal/schedule/workflows/index.js.map +1 -0
  1221. package/dist/temporal/schedule/workflows/tick.d.ts +24 -0
  1222. package/dist/temporal/schedule/workflows/tick.d.ts.map +1 -0
  1223. package/dist/temporal/schedule/workflows/tick.js +283 -0
  1224. package/dist/temporal/schedule/workflows/tick.js.map +1 -0
  1225. package/dist/temporal/workflow-source.d.ts +22 -0
  1226. package/dist/temporal/workflow-source.d.ts.map +1 -0
  1227. package/dist/temporal/workflow-source.js +44 -0
  1228. package/dist/temporal/workflow-source.js.map +1 -0
  1229. package/dist/temporal/workflowexecution/activities.d.ts +34 -0
  1230. package/dist/temporal/workflowexecution/activities.d.ts.map +1 -0
  1231. package/dist/temporal/workflowexecution/activities.js +145 -0
  1232. package/dist/temporal/workflowexecution/activities.js.map +1 -0
  1233. package/dist/temporal/workflowexecution/dispatch.d.ts +38 -0
  1234. package/dist/temporal/workflowexecution/dispatch.d.ts.map +1 -0
  1235. package/dist/temporal/workflowexecution/dispatch.js +28 -0
  1236. package/dist/temporal/workflowexecution/dispatch.js.map +1 -0
  1237. package/dist/temporal/workflowexecution/engine-client.d.ts +67 -0
  1238. package/dist/temporal/workflowexecution/engine-client.d.ts.map +1 -0
  1239. package/dist/temporal/workflowexecution/engine-client.js +145 -0
  1240. package/dist/temporal/workflowexecution/engine-client.js.map +1 -0
  1241. package/dist/temporal/workflowexecution/names.d.ts +69 -0
  1242. package/dist/temporal/workflowexecution/names.d.ts.map +1 -0
  1243. package/dist/temporal/workflowexecution/names.js +71 -0
  1244. package/dist/temporal/workflowexecution/names.js.map +1 -0
  1245. package/dist/temporal/workflowexecution/worker.d.ts +40 -0
  1246. package/dist/temporal/workflowexecution/worker.d.ts.map +1 -0
  1247. package/dist/temporal/workflowexecution/worker.js +37 -0
  1248. package/dist/temporal/workflowexecution/worker.js.map +1 -0
  1249. package/dist/temporal/workflowexecution/workflow-input.d.ts +42 -0
  1250. package/dist/temporal/workflowexecution/workflow-input.d.ts.map +1 -0
  1251. package/dist/temporal/workflowexecution/workflow-input.js +2 -0
  1252. package/dist/temporal/workflowexecution/workflow-input.js.map +1 -0
  1253. package/dist/temporal/workflowexecution/workflows/index.d.ts +16 -0
  1254. package/dist/temporal/workflowexecution/workflows/index.d.ts.map +1 -0
  1255. package/dist/temporal/workflowexecution/workflows/index.js +16 -0
  1256. package/dist/temporal/workflowexecution/workflows/index.js.map +1 -0
  1257. package/dist/temporal/workflowexecution/workflows/invoke-workflow-execution.d.ts +3 -0
  1258. package/dist/temporal/workflowexecution/workflows/invoke-workflow-execution.d.ts.map +1 -0
  1259. package/dist/temporal/workflowexecution/workflows/invoke-workflow-execution.js +430 -0
  1260. package/dist/temporal/workflowexecution/workflows/invoke-workflow-execution.js.map +1 -0
  1261. package/dist/transport/console/assets.d.ts +16 -0
  1262. package/dist/transport/console/assets.d.ts.map +1 -0
  1263. package/dist/transport/console/assets.js +66 -0
  1264. package/dist/transport/console/assets.js.map +1 -0
  1265. package/dist/transport/console/handler.d.ts +20 -0
  1266. package/dist/transport/console/handler.d.ts.map +1 -0
  1267. package/dist/transport/console/handler.js +252 -0
  1268. package/dist/transport/console/handler.js.map +1 -0
  1269. package/dist/transport/console/resolver.d.ts +66 -0
  1270. package/dist/transport/console/resolver.d.ts.map +1 -0
  1271. package/dist/transport/console/resolver.js +163 -0
  1272. package/dist/transport/console/resolver.js.map +1 -0
  1273. package/dist/transport/constants.d.ts +44 -0
  1274. package/dist/transport/constants.d.ts.map +1 -0
  1275. package/dist/transport/constants.js +44 -0
  1276. package/dist/transport/constants.js.map +1 -0
  1277. package/dist/transport/cors.d.ts +51 -0
  1278. package/dist/transport/cors.d.ts.map +1 -0
  1279. package/dist/transport/cors.js +67 -0
  1280. package/dist/transport/cors.js.map +1 -0
  1281. package/dist/transport/demux.d.ts +61 -0
  1282. package/dist/transport/demux.d.ts.map +1 -0
  1283. package/dist/transport/demux.js +107 -0
  1284. package/dist/transport/demux.js.map +1 -0
  1285. package/dist/transport/health.d.ts +15 -0
  1286. package/dist/transport/health.d.ts.map +1 -0
  1287. package/dist/transport/health.js +105 -0
  1288. package/dist/transport/health.js.map +1 -0
  1289. package/dist/transport/lanes.d.ts +13 -0
  1290. package/dist/transport/lanes.d.ts.map +1 -0
  1291. package/dist/transport/lanes.js +2 -0
  1292. package/dist/transport/lanes.js.map +1 -0
  1293. package/dist/transport/registry/lanes.d.ts +35 -0
  1294. package/dist/transport/registry/lanes.d.ts.map +1 -0
  1295. package/dist/transport/registry/lanes.js +26 -0
  1296. package/dist/transport/registry/lanes.js.map +1 -0
  1297. package/dist/transport/server.d.ts +63 -0
  1298. package/dist/transport/server.d.ts.map +1 -0
  1299. package/dist/transport/server.js +137 -0
  1300. package/dist/transport/server.js.map +1 -0
  1301. package/package.json +92 -0
  1302. package/src/artifactstorage/__tests__/artifact-storage.test.ts +356 -0
  1303. package/src/artifactstorage/__tests__/r2-storage.test.ts +144 -0
  1304. package/src/artifactstorage/artifact-storage.ts +453 -0
  1305. package/src/artifactstorage/r2-storage.ts +279 -0
  1306. package/src/boot/__tests__/auth-enabled-composition.test.ts +245 -0
  1307. package/src/boot/__tests__/compose.test.ts +97 -0
  1308. package/src/boot/__tests__/config.test.ts +82 -0
  1309. package/src/boot/__tests__/logger.test.ts +147 -0
  1310. package/src/boot/compose.ts +1301 -0
  1311. package/src/boot/config.ts +495 -0
  1312. package/src/boot/inprocess.ts +415 -0
  1313. package/src/boot/logger.ts +111 -0
  1314. package/src/domain/agent/__tests__/agent.test.ts +522 -0
  1315. package/src/domain/agent/controller.ts +557 -0
  1316. package/src/domain/agent/defaultagent.ts +135 -0
  1317. package/src/domain/agent/search-extractor.ts +72 -0
  1318. package/src/domain/agent/steps.ts +691 -0
  1319. package/src/domain/agentchannel/__tests__/agentchannel.test.ts +1025 -0
  1320. package/src/domain/agentchannel/__tests__/channel-runtime.test.ts +548 -0
  1321. package/src/domain/agentchannel/channel-runtime.ts +211 -0
  1322. package/src/domain/agentchannel/constants.ts +112 -0
  1323. package/src/domain/agentchannel/controller.ts +742 -0
  1324. package/src/domain/agentchannel/conversation.ts +147 -0
  1325. package/src/domain/agentchannel/message.ts +92 -0
  1326. package/src/domain/agentchannel/steps.ts +371 -0
  1327. package/src/domain/agentexecution/__tests__/agentexecution.test.ts +1502 -0
  1328. package/src/domain/agentexecution/__tests__/artifacts.test.ts +600 -0
  1329. package/src/domain/agentexecution/__tests__/create-execution-context-step.test.ts +286 -0
  1330. package/src/domain/agentexecution/__tests__/create-steps.test.ts +984 -0
  1331. package/src/domain/agentexecution/__tests__/engine-stub.ts +20 -0
  1332. package/src/domain/agentexecution/__tests__/engine.test.ts +67 -0
  1333. package/src/domain/agentexecution/__tests__/lifecycle.test.ts +1221 -0
  1334. package/src/domain/agentexecution/__tests__/read-authorization.test.ts +128 -0
  1335. package/src/domain/agentexecution/__tests__/record-runner-lineage-labels.test.ts +136 -0
  1336. package/src/domain/agentexecution/__tests__/status-observers.test.ts +164 -0
  1337. package/src/domain/agentexecution/__tests__/stream-broker.test.ts +119 -0
  1338. package/src/domain/agentexecution/__tests__/update-status.test.ts +369 -0
  1339. package/src/domain/agentexecution/__tests__/usage.test.ts +186 -0
  1340. package/src/domain/agentexecution/__tests__/validate-service-tier.test.ts +117 -0
  1341. package/src/domain/agentexecution/__tests__/validate-thinking-mode.test.ts +143 -0
  1342. package/src/domain/agentexecution/approval/__tests__/corpus-support.ts +100 -0
  1343. package/src/domain/agentexecution/approval/__tests__/lease-scope-corpus.test.ts +78 -0
  1344. package/src/domain/agentexecution/approval/__tests__/policy-source-corpus.test.ts +49 -0
  1345. package/src/domain/agentexecution/approval/__tests__/scenarios-corpus.test.ts +73 -0
  1346. package/src/domain/agentexecution/approval/__tests__/sequence-corpus.test.ts +279 -0
  1347. package/src/domain/agentexecution/approval/author.ts +280 -0
  1348. package/src/domain/agentexecution/approval/compute-from-events.ts +92 -0
  1349. package/src/domain/agentexecution/approval/compute.ts +143 -0
  1350. package/src/domain/agentexecution/approval/emit.ts +274 -0
  1351. package/src/domain/agentexecution/approval/lease-scope.ts +53 -0
  1352. package/src/domain/agentexecution/approval/preserve.ts +88 -0
  1353. package/src/domain/agentexecution/approval/project.ts +139 -0
  1354. package/src/domain/agentexecution/approval/tool-category.ts +58 -0
  1355. package/src/domain/agentexecution/artifacts.ts +512 -0
  1356. package/src/domain/agentexecution/constants.ts +30 -0
  1357. package/src/domain/agentexecution/controller.ts +594 -0
  1358. package/src/domain/agentexecution/create-execution-context-step.ts +1094 -0
  1359. package/src/domain/agentexecution/create-steps.ts +919 -0
  1360. package/src/domain/agentexecution/engine.ts +156 -0
  1361. package/src/domain/agentexecution/filereview/__tests__/file-review-corpus.test.ts +198 -0
  1362. package/src/domain/agentexecution/filereview/author.ts +338 -0
  1363. package/src/domain/agentexecution/filereview/autokeep.ts +249 -0
  1364. package/src/domain/agentexecution/filereview/cas-blob.ts +52 -0
  1365. package/src/domain/agentexecution/filereview/digest.ts +58 -0
  1366. package/src/domain/agentexecution/filereview/gate.ts +68 -0
  1367. package/src/domain/agentexecution/filereview/progress.ts +51 -0
  1368. package/src/domain/agentexecution/filereview/project.ts +171 -0
  1369. package/src/domain/agentexecution/lifecycle.ts +884 -0
  1370. package/src/domain/agentexecution/phases.ts +39 -0
  1371. package/src/domain/agentexecution/record-runner-lineage-labels.ts +76 -0
  1372. package/src/domain/agentexecution/search-extractor.ts +70 -0
  1373. package/src/domain/agentexecution/status-observers.ts +108 -0
  1374. package/src/domain/agentexecution/steps.ts +218 -0
  1375. package/src/domain/agentexecution/stream-broker.ts +126 -0
  1376. package/src/domain/agentexecution/submit-approval.ts +584 -0
  1377. package/src/domain/agentexecution/submit-file-decision.ts +477 -0
  1378. package/src/domain/agentexecution/subscribe.ts +165 -0
  1379. package/src/domain/agentexecution/temporal/config.ts +119 -0
  1380. package/src/domain/agentexecution/tool-call-settle.ts +75 -0
  1381. package/src/domain/agentexecution/update-status.ts +534 -0
  1382. package/src/domain/agentexecution/usage.ts +987 -0
  1383. package/src/domain/agentexecution/validate-service-tier.ts +76 -0
  1384. package/src/domain/agentexecution/validate-thinking-mode.ts +90 -0
  1385. package/src/domain/agentinstance/__tests__/agentinstance.test.ts +344 -0
  1386. package/src/domain/agentinstance/controller.ts +629 -0
  1387. package/src/domain/agentinstance/defaultinstance.ts +87 -0
  1388. package/src/domain/agentinstance/search-extractor.ts +61 -0
  1389. package/src/domain/agentinstance/steps.ts +377 -0
  1390. package/src/domain/agentshare/__tests__/agentshare.test.ts +897 -0
  1391. package/src/domain/agentshare/constants.ts +72 -0
  1392. package/src/domain/agentshare/controller.ts +927 -0
  1393. package/src/domain/agentshare/steps.ts +459 -0
  1394. package/src/domain/apikey/__tests__/apikey.test.ts +253 -0
  1395. package/src/domain/apikey/__tests__/verifier.test.ts +180 -0
  1396. package/src/domain/apikey/controller.ts +330 -0
  1397. package/src/domain/apikey/keymaterial.ts +65 -0
  1398. package/src/domain/apikey/lookup.ts +46 -0
  1399. package/src/domain/apikey/steps.ts +159 -0
  1400. package/src/domain/apikey/verifier.ts +76 -0
  1401. package/src/domain/artifact/__tests__/artifact.test.ts +410 -0
  1402. package/src/domain/artifact/__tests__/file-server-host.test.ts +59 -0
  1403. package/src/domain/artifact/constants.ts +47 -0
  1404. package/src/domain/artifact/controller.ts +685 -0
  1405. package/src/domain/artifact/file-server.ts +213 -0
  1406. package/src/domain/channelapp/__tests__/channelapp.test.ts +684 -0
  1407. package/src/domain/channelapp/constants.ts +66 -0
  1408. package/src/domain/channelapp/controller.ts +474 -0
  1409. package/src/domain/channelapp/steps.ts +409 -0
  1410. package/src/domain/environment/__tests__/environment.test.ts +672 -0
  1411. package/src/domain/environment/constants.ts +67 -0
  1412. package/src/domain/environment/controller.ts +836 -0
  1413. package/src/domain/environment/redact.ts +75 -0
  1414. package/src/domain/environment/resolution/__tests__/resolution.test.ts +209 -0
  1415. package/src/domain/environment/resolution/resolution.ts +155 -0
  1416. package/src/domain/environment/search-extractor.ts +63 -0
  1417. package/src/domain/environment/steps.ts +621 -0
  1418. package/src/domain/executioncontext/__tests__/executioncontext.test.ts +790 -0
  1419. package/src/domain/executioncontext/__tests__/resolve-values-capability.test.ts +130 -0
  1420. package/src/domain/executioncontext/constants.ts +51 -0
  1421. package/src/domain/executioncontext/controller.ts +414 -0
  1422. package/src/domain/executioncontext/redact.ts +42 -0
  1423. package/src/domain/executioncontext/resolve-values-for-caller.ts +236 -0
  1424. package/src/domain/executioncontext/search-extractor.ts +61 -0
  1425. package/src/domain/executioncontext/steps.ts +283 -0
  1426. package/src/domain/executioncontext/temporal/delete-execution-context.ts +96 -0
  1427. package/src/domain/github/__tests__/github.test.ts +196 -0
  1428. package/src/domain/github/controller.ts +203 -0
  1429. package/src/domain/mcpserver/__tests__/connect-authorization.test.ts +261 -0
  1430. package/src/domain/mcpserver/__tests__/connect.test.ts +629 -0
  1431. package/src/domain/mcpserver/__tests__/mcpserver.test.ts +446 -0
  1432. package/src/domain/mcpserver/__tests__/oauth-handshake.test.ts +635 -0
  1433. package/src/domain/mcpserver/__tests__/seal-unseal.test.ts +110 -0
  1434. package/src/domain/mcpserver/complete-oauth-connect.ts +338 -0
  1435. package/src/domain/mcpserver/connect-status.ts +302 -0
  1436. package/src/domain/mcpserver/connect.ts +1208 -0
  1437. package/src/domain/mcpserver/controller.ts +609 -0
  1438. package/src/domain/mcpserver/disconnect-oauth.ts +106 -0
  1439. package/src/domain/mcpserver/enabledtools/__tests__/enabledtools.test.ts +75 -0
  1440. package/src/domain/mcpserver/enabledtools/enabledtools.ts +93 -0
  1441. package/src/domain/mcpserver/engine.ts +176 -0
  1442. package/src/domain/mcpserver/get-oauth-grant-status.ts +105 -0
  1443. package/src/domain/mcpserver/initiate-oauth-connect.ts +487 -0
  1444. package/src/domain/mcpserver/oauth/__tests__/dcr.test.ts +90 -0
  1445. package/src/domain/mcpserver/oauth/__tests__/discovery.test.ts +150 -0
  1446. package/src/domain/mcpserver/oauth/__tests__/pkce.test.ts +34 -0
  1447. package/src/domain/mcpserver/oauth/__tests__/preflight.test.ts +75 -0
  1448. package/src/domain/mcpserver/oauth/__tests__/token-exchange.test.ts +167 -0
  1449. package/src/domain/mcpserver/oauth/__tests__/token-refresh.test.ts +345 -0
  1450. package/src/domain/mcpserver/oauth/dcr.ts +92 -0
  1451. package/src/domain/mcpserver/oauth/discovery.ts +142 -0
  1452. package/src/domain/mcpserver/oauth/managed-env.ts +175 -0
  1453. package/src/domain/mcpserver/oauth/pkce.ts +28 -0
  1454. package/src/domain/mcpserver/oauth/preflight.ts +107 -0
  1455. package/src/domain/mcpserver/oauth/refresh.ts +118 -0
  1456. package/src/domain/mcpserver/oauth/token.ts +187 -0
  1457. package/src/domain/mcpserver/oauth/truncate-body.ts +11 -0
  1458. package/src/domain/mcpserver/search-extractor.ts +63 -0
  1459. package/src/domain/mcpserver/start-connect.ts +309 -0
  1460. package/src/domain/mcpserver/steps.ts +185 -0
  1461. package/src/domain/memory/__tests__/capture-credential.test.ts +84 -0
  1462. package/src/domain/memory/__tests__/memory.test.ts +483 -0
  1463. package/src/domain/memory/constants.ts +60 -0
  1464. package/src/domain/memory/controller.ts +495 -0
  1465. package/src/domain/memory/steps.ts +588 -0
  1466. package/src/domain/oauthapp/__tests__/oauthapp.test.ts +487 -0
  1467. package/src/domain/oauthapp/__tests__/refresolution.test.ts +86 -0
  1468. package/src/domain/oauthapp/constants.ts +46 -0
  1469. package/src/domain/oauthapp/controller.ts +469 -0
  1470. package/src/domain/oauthapp/refresolution/refresolution.ts +94 -0
  1471. package/src/domain/oauthapp/refresolution.ts +98 -0
  1472. package/src/domain/oauthapp/steps.ts +249 -0
  1473. package/src/domain/organization/__tests__/organization.test.ts +194 -0
  1474. package/src/domain/organization/controller.ts +588 -0
  1475. package/src/domain/organization/search-extractor.ts +61 -0
  1476. package/src/domain/organization/steps.ts +100 -0
  1477. package/src/domain/platform/__tests__/platform.test.ts +377 -0
  1478. package/src/domain/platform/controller.ts +283 -0
  1479. package/src/domain/platform/version.ts +21 -0
  1480. package/src/domain/project/__tests__/project.composed.test.ts +381 -0
  1481. package/src/domain/project/__tests__/reconcile.test.ts +401 -0
  1482. package/src/domain/project/controller.ts +387 -0
  1483. package/src/domain/project/reconcile.ts +291 -0
  1484. package/src/domain/project/search-extractor.ts +71 -0
  1485. package/src/domain/schedule/__tests__/cron.test.ts +166 -0
  1486. package/src/domain/schedule/__tests__/schedule.composed.test.ts +525 -0
  1487. package/src/domain/schedule/clock.ts +192 -0
  1488. package/src/domain/schedule/controller.ts +753 -0
  1489. package/src/domain/schedule/cron.ts +150 -0
  1490. package/src/domain/schedule/list-runs.ts +245 -0
  1491. package/src/domain/schedule/persist-update.ts +76 -0
  1492. package/src/domain/schedule/resume.ts +122 -0
  1493. package/src/domain/schedule/steps.ts +281 -0
  1494. package/src/domain/schedule/trigger.ts +283 -0
  1495. package/src/domain/session/__tests__/session.test.ts +782 -0
  1496. package/src/domain/session/controller.ts +586 -0
  1497. package/src/domain/session/search-extractor.ts +61 -0
  1498. package/src/domain/session/steps.ts +872 -0
  1499. package/src/domain/skill/__tests__/artifact-storage.test.ts +82 -0
  1500. package/src/domain/skill/__tests__/frontmatter.test.ts +124 -0
  1501. package/src/domain/skill/__tests__/prefilter.test.ts +163 -0
  1502. package/src/domain/skill/__tests__/push-degradation.test.ts +171 -0
  1503. package/src/domain/skill/__tests__/skill.test.ts +600 -0
  1504. package/src/domain/skill/__tests__/slots.test.ts +132 -0
  1505. package/src/domain/skill/__tests__/zip-gate.test.ts +194 -0
  1506. package/src/domain/skill/constants.ts +77 -0
  1507. package/src/domain/skill/controller.ts +848 -0
  1508. package/src/domain/skill/push.ts +617 -0
  1509. package/src/domain/skill/search-extractor.ts +61 -0
  1510. package/src/domain/skill/storage/artifact-storage.ts +139 -0
  1511. package/src/domain/skill/storage/frontmatter.ts +181 -0
  1512. package/src/domain/skill/storage/prefilter.ts +200 -0
  1513. package/src/domain/skill/storage/zip-gate.ts +244 -0
  1514. package/src/domain/skill/transfer/handler.ts +185 -0
  1515. package/src/domain/skill/transfer/slots.ts +253 -0
  1516. package/src/domain/skill/version-resolution.ts +336 -0
  1517. package/src/domain/workflow/__tests__/workflow.test.ts +410 -0
  1518. package/src/domain/workflow/controller.ts +1244 -0
  1519. package/src/domain/workflow/converter/__tests__/converter.test.ts +924 -0
  1520. package/src/domain/workflow/converter/converter.ts +149 -0
  1521. package/src/domain/workflow/converter/task-converters.ts +750 -0
  1522. package/src/domain/workflow/converter/types.ts +15 -0
  1523. package/src/domain/workflow/converter/unmarshal.ts +200 -0
  1524. package/src/domain/workflow/registry/__tests__/document-catalog.test.ts +116 -0
  1525. package/src/domain/workflow/registry/__tests__/model-registry-store.test.ts +274 -0
  1526. package/src/domain/workflow/registry/__tests__/pin-validation.test.ts +105 -0
  1527. package/src/domain/workflow/registry/bundled.ts +22 -0
  1528. package/src/domain/workflow/registry/data/model-registry.json +1236 -0
  1529. package/src/domain/workflow/registry/data/task-kind-registry.json +3177 -0
  1530. package/src/domain/workflow/registry/document-catalog.ts +355 -0
  1531. package/src/domain/workflow/registry/model-catalog-provider.ts +134 -0
  1532. package/src/domain/workflow/registry/model-registry-store.ts +298 -0
  1533. package/src/domain/workflow/registry/pin-validation.ts +175 -0
  1534. package/src/domain/workflow/search-extractor.ts +63 -0
  1535. package/src/domain/workflow/steps.ts +711 -0
  1536. package/src/domain/workflow/validation/__tests__/budget-warnings.test.ts +143 -0
  1537. package/src/domain/workflow/validation/__tests__/crossref.test.ts +181 -0
  1538. package/src/domain/workflow/validation/__tests__/expression-warnings.test.ts +81 -0
  1539. package/src/domain/workflow/validation/__tests__/human-input-validation.test.ts +61 -0
  1540. package/src/domain/workflow/validation/__tests__/model-validation.test.ts +232 -0
  1541. package/src/domain/workflow/validation/__tests__/task-config-constraints.test.ts +149 -0
  1542. package/src/domain/workflow/validation/__tests__/validator.test.ts +138 -0
  1543. package/src/domain/workflow/validation/budget-warnings.ts +162 -0
  1544. package/src/domain/workflow/validation/crossref.ts +410 -0
  1545. package/src/domain/workflow/validation/expression-warnings.ts +103 -0
  1546. package/src/domain/workflow/validation/format-violation.ts +61 -0
  1547. package/src/domain/workflow/validation/human-input-validation.ts +93 -0
  1548. package/src/domain/workflow/validation/model-validation.ts +262 -0
  1549. package/src/domain/workflow/validation/task-config-constraints.ts +150 -0
  1550. package/src/domain/workflow/validation/validator.ts +142 -0
  1551. package/src/domain/workflowexecution/__tests__/create-steps.test.ts +385 -0
  1552. package/src/domain/workflowexecution/__tests__/engine-stub.ts +64 -0
  1553. package/src/domain/workflowexecution/__tests__/execution-filter.test.ts +390 -0
  1554. package/src/domain/workflowexecution/__tests__/lifecycle.test.ts +617 -0
  1555. package/src/domain/workflowexecution/__tests__/list-read-scope-summaries.test.ts +193 -0
  1556. package/src/domain/workflowexecution/__tests__/read-authorization.test.ts +166 -0
  1557. package/src/domain/workflowexecution/__tests__/send-signal.test.ts +327 -0
  1558. package/src/domain/workflowexecution/__tests__/stream-broker.test.ts +100 -0
  1559. package/src/domain/workflowexecution/__tests__/subscribe.test.ts +204 -0
  1560. package/src/domain/workflowexecution/__tests__/update-status.test.ts +576 -0
  1561. package/src/domain/workflowexecution/__tests__/workflowexecution.test.ts +1407 -0
  1562. package/src/domain/workflowexecution/constants.ts +102 -0
  1563. package/src/domain/workflowexecution/controller.ts +564 -0
  1564. package/src/domain/workflowexecution/create-execution-context-step.ts +233 -0
  1565. package/src/domain/workflowexecution/create-steps.ts +380 -0
  1566. package/src/domain/workflowexecution/engine.ts +170 -0
  1567. package/src/domain/workflowexecution/execution-filter.ts +255 -0
  1568. package/src/domain/workflowexecution/get-event-log.ts +139 -0
  1569. package/src/domain/workflowexecution/get-execution-summary.ts +318 -0
  1570. package/src/domain/workflowexecution/lifecycle.ts +951 -0
  1571. package/src/domain/workflowexecution/list-pending-approvals.ts +120 -0
  1572. package/src/domain/workflowexecution/normalize-workflow-ref-step.ts +79 -0
  1573. package/src/domain/workflowexecution/pin-workflow-version-step.ts +114 -0
  1574. package/src/domain/workflowexecution/queries.ts +48 -0
  1575. package/src/domain/workflowexecution/search-extractor.ts +63 -0
  1576. package/src/domain/workflowexecution/send-signal.ts +306 -0
  1577. package/src/domain/workflowexecution/stream-broker.ts +133 -0
  1578. package/src/domain/workflowexecution/submit-approval.ts +201 -0
  1579. package/src/domain/workflowexecution/submit-file-decision.ts +194 -0
  1580. package/src/domain/workflowexecution/submit-workflow-task-approval.ts +219 -0
  1581. package/src/domain/workflowexecution/subscribe-events.ts +218 -0
  1582. package/src/domain/workflowexecution/subscribe.ts +172 -0
  1583. package/src/domain/workflowexecution/temporal/config.ts +129 -0
  1584. package/src/domain/workflowexecution/update-status.ts +396 -0
  1585. package/src/domain/workflowinstance/controller.ts +829 -0
  1586. package/src/domain/workflowinstance/defaultinstance.ts +71 -0
  1587. package/src/domain/workflowinstance/search-extractor.ts +62 -0
  1588. package/src/domain/workflowinstance/steps.ts +209 -0
  1589. package/src/encryption/__tests__/codec-seam.test.ts +363 -0
  1590. package/src/encryption/__tests__/encryption.test.ts +237 -0
  1591. package/src/encryption/__tests__/fixtures/go-ciphertext.json +40 -0
  1592. package/src/encryption/__tests__/key-manager.test.ts +127 -0
  1593. package/src/encryption/codec.ts +113 -0
  1594. package/src/encryption/encryption.ts +525 -0
  1595. package/src/encryption/errors.ts +86 -0
  1596. package/src/encryption/key-manager.ts +156 -0
  1597. package/src/encryption/scope.ts +152 -0
  1598. package/src/encryption/v1-codec.ts +143 -0
  1599. package/src/envmerge/__tests__/envmerge.test.ts +350 -0
  1600. package/src/envmerge/envmerge.ts +115 -0
  1601. package/src/extensions/__tests__/direct-handler-authorization.test.ts +308 -0
  1602. package/src/extensions/__tests__/extension-composition.test.ts +1124 -0
  1603. package/src/extensions/__tests__/list-read-scope-composed.test.ts +276 -0
  1604. package/src/extensions/__tests__/list-read-scope.test.ts +151 -0
  1605. package/src/extensions/__tests__/registry.test.ts +669 -0
  1606. package/src/extensions/__tests__/secret-cleanup-composed.test.ts +356 -0
  1607. package/src/extensions/authorizer.ts +64 -0
  1608. package/src/extensions/caller-guards.ts +61 -0
  1609. package/src/extensions/drivers.ts +146 -0
  1610. package/src/extensions/gate-slots.ts +95 -0
  1611. package/src/extensions/identity.ts +99 -0
  1612. package/src/extensions/list-read-scope.ts +143 -0
  1613. package/src/extensions/organization-directory.ts +54 -0
  1614. package/src/extensions/registry.ts +544 -0
  1615. package/src/extensions/resource-authorization.ts +145 -0
  1616. package/src/extensions/schedule-fire-caller.ts +33 -0
  1617. package/src/extensions/status-hooks.ts +55 -0
  1618. package/src/gocompat/__tests__/query-escape.test.ts +35 -0
  1619. package/src/gocompat/__tests__/trim.test.ts +46 -0
  1620. package/src/gocompat/query-escape.ts +41 -0
  1621. package/src/gocompat/trim.ts +38 -0
  1622. package/src/identity/__tests__/oidc-verifier.test.ts +205 -0
  1623. package/src/identity/oidc-verifier.ts +172 -0
  1624. package/src/index.ts +351 -0
  1625. package/src/main.ts +67 -0
  1626. package/src/observability/__tests__/in-memory-meter.ts +101 -0
  1627. package/src/observability/rpc-metrics.ts +203 -0
  1628. package/src/pipeline/__tests__/apiresource-labels.test.ts +67 -0
  1629. package/src/pipeline/__tests__/chain.test.ts +199 -0
  1630. package/src/pipeline/__tests__/pipeline.test.ts +141 -0
  1631. package/src/pipeline/__tests__/router-transport.test.ts +172 -0
  1632. package/src/pipeline/__tests__/steps.test.ts +621 -0
  1633. package/src/pipeline/__tests__/support.ts +20 -0
  1634. package/src/pipeline/apiresource-labels.ts +60 -0
  1635. package/src/pipeline/apiresource-meta.ts +136 -0
  1636. package/src/pipeline/chain.ts +63 -0
  1637. package/src/pipeline/errors.ts +146 -0
  1638. package/src/pipeline/interceptors/__tests__/auth.test.ts +649 -0
  1639. package/src/pipeline/interceptors/__tests__/error-boundary.test.ts +358 -0
  1640. package/src/pipeline/interceptors/__tests__/request-metrics.test.ts +573 -0
  1641. package/src/pipeline/interceptors/apiresource.ts +43 -0
  1642. package/src/pipeline/interceptors/auth.ts +431 -0
  1643. package/src/pipeline/interceptors/error-boundary.ts +246 -0
  1644. package/src/pipeline/interceptors/logging.ts +71 -0
  1645. package/src/pipeline/interceptors/protovalidate.ts +68 -0
  1646. package/src/pipeline/interceptors/request-metrics.ts +114 -0
  1647. package/src/pipeline/pipeline.ts +111 -0
  1648. package/src/pipeline/request-context.ts +92 -0
  1649. package/src/pipeline/steps/__tests__/authorization-tuples.test.ts +318 -0
  1650. package/src/pipeline/steps/__tests__/authorize.test.ts +500 -0
  1651. package/src/pipeline/steps/__tests__/guard-memory-capture.test.ts +222 -0
  1652. package/src/pipeline/steps/__tests__/guard-reserved-labels.test.ts +190 -0
  1653. package/src/pipeline/steps/__tests__/secret-cleanup.test.ts +237 -0
  1654. package/src/pipeline/steps/__tests__/server-stamped-reserved-labels.test.ts +56 -0
  1655. package/src/pipeline/steps/__tests__/visibility-gates.test.ts +187 -0
  1656. package/src/pipeline/steps/authorization-tuples.ts +467 -0
  1657. package/src/pipeline/steps/authorize.ts +302 -0
  1658. package/src/pipeline/steps/build-update-state.ts +148 -0
  1659. package/src/pipeline/steps/defaults.ts +355 -0
  1660. package/src/pipeline/steps/delete.ts +98 -0
  1661. package/src/pipeline/steps/duplicate.ts +55 -0
  1662. package/src/pipeline/steps/guard-memory-capture.ts +154 -0
  1663. package/src/pipeline/steps/guard-reserved-labels.ts +171 -0
  1664. package/src/pipeline/steps/helpers.ts +154 -0
  1665. package/src/pipeline/steps/index-search.ts +90 -0
  1666. package/src/pipeline/steps/load-by-reference.ts +56 -0
  1667. package/src/pipeline/steps/load-existing.ts +73 -0
  1668. package/src/pipeline/steps/load-for-apply.ts +82 -0
  1669. package/src/pipeline/steps/load-target.ts +56 -0
  1670. package/src/pipeline/steps/persist.ts +41 -0
  1671. package/src/pipeline/steps/references.ts +172 -0
  1672. package/src/pipeline/steps/secret-cleanup.ts +109 -0
  1673. package/src/pipeline/steps/server-stamped-reserved-labels.ts +56 -0
  1674. package/src/pipeline/steps/shapes.ts +102 -0
  1675. package/src/pipeline/steps/slug.ts +48 -0
  1676. package/src/pipeline/steps/validate-visibility.ts +93 -0
  1677. package/src/pipeline/steps/validation.ts +45 -0
  1678. package/src/pipeline/steps/visibility-gates.ts +171 -0
  1679. package/src/query/README.md +16 -0
  1680. package/src/query/__tests__/query-services.test.ts +211 -0
  1681. package/src/query/activity/__tests__/handler.test.ts +333 -0
  1682. package/src/query/activity/controller.ts +53 -0
  1683. package/src/query/activity/handler.ts +341 -0
  1684. package/src/query/search/__tests__/controller.test.ts +147 -0
  1685. package/src/query/search/__tests__/criteria.test.ts +185 -0
  1686. package/src/query/search/__tests__/paged-result.test.ts +60 -0
  1687. package/src/query/search/__tests__/query-store.test.ts +478 -0
  1688. package/src/query/search/__tests__/registry.test.ts +103 -0
  1689. package/src/query/search/controller.ts +93 -0
  1690. package/src/query/search/criteria.ts +204 -0
  1691. package/src/query/search/extractor.ts +93 -0
  1692. package/src/query/search/handler.ts +125 -0
  1693. package/src/query/search/paged-result.ts +54 -0
  1694. package/src/query/search/query-store.ts +254 -0
  1695. package/src/query/search/registry.ts +121 -0
  1696. package/src/runnerauth/__tests__/runner-credential-provider.test.ts +86 -0
  1697. package/src/runnerauth/__tests__/runnerauth.test.ts +186 -0
  1698. package/src/runnerauth/runner-credential-provider.ts +328 -0
  1699. package/src/runnerauth/runnerauth.ts +251 -0
  1700. package/src/sandbox/__tests__/docker.integration.test.ts +103 -0
  1701. package/src/sandbox/__tests__/kubernetes.test.ts +228 -0
  1702. package/src/sandbox/__tests__/local-process.integration.test.ts +124 -0
  1703. package/src/sandbox/__tests__/provisioner.test.ts +145 -0
  1704. package/src/sandbox/__tests__/steps.test.ts +648 -0
  1705. package/src/sandbox/builtins.ts +22 -0
  1706. package/src/sandbox/docker.ts +206 -0
  1707. package/src/sandbox/kubernetes.ts +478 -0
  1708. package/src/sandbox/lane.ts +89 -0
  1709. package/src/sandbox/local-process.ts +188 -0
  1710. package/src/sandbox/naming.ts +38 -0
  1711. package/src/sandbox/provisioner.ts +175 -0
  1712. package/src/sandbox/steps.ts +395 -0
  1713. package/src/store/README.md +40 -0
  1714. package/src/store/__tests__/proto-fields.test.ts +84 -0
  1715. package/src/store/__tests__/store-contract.ts +1587 -0
  1716. package/src/store/__tests__/support.ts +33 -0
  1717. package/src/store/interface.ts +835 -0
  1718. package/src/store/logger.ts +13 -0
  1719. package/src/store/postgres/__tests__/migrations.test.ts +175 -0
  1720. package/src/store/postgres/__tests__/store-contract.test.ts +129 -0
  1721. package/src/store/postgres/__tests__/support.ts +67 -0
  1722. package/src/store/postgres/__tests__/tsquery.test.ts +76 -0
  1723. package/src/store/postgres/migrations.ts +298 -0
  1724. package/src/store/postgres/store.ts +1396 -0
  1725. package/src/store/postgres/tsquery.ts +80 -0
  1726. package/src/store/proto-fields.ts +212 -0
  1727. package/src/store/rfc3339.ts +12 -0
  1728. package/src/store/sqlite/__tests__/fixtures/go-v6-database.sql +150 -0
  1729. package/src/store/sqlite/__tests__/fts5.test.ts +83 -0
  1730. package/src/store/sqlite/__tests__/migrations.test.ts +308 -0
  1731. package/src/store/sqlite/__tests__/store-contract.test.ts +41 -0
  1732. package/src/store/sqlite/__tests__/store.test.ts +105 -0
  1733. package/src/store/sqlite/__tests__/support.ts +62 -0
  1734. package/src/store/sqlite/fts5.ts +70 -0
  1735. package/src/store/sqlite/migrations.ts +359 -0
  1736. package/src/store/sqlite/store.ts +1401 -0
  1737. package/src/temporal/README.md +17 -0
  1738. package/src/temporal/__tests__/manager.test.ts +325 -0
  1739. package/src/temporal/__tests__/payload-codec.test.ts +178 -0
  1740. package/src/temporal/__tests__/runner-failure.test.ts +66 -0
  1741. package/src/temporal/agentexecution/__tests__/activities.test.ts +352 -0
  1742. package/src/temporal/agentexecution/__tests__/dispatch.test.ts +336 -0
  1743. package/src/temporal/agentexecution/__tests__/engine-client.test.ts +320 -0
  1744. package/src/temporal/agentexecution/__tests__/invoke-workflow.test.ts +845 -0
  1745. package/src/temporal/agentexecution/__tests__/own-behalf-status-writes.test.ts +305 -0
  1746. package/src/temporal/agentexecution/__tests__/replay-histories/happy-completed.json +568 -0
  1747. package/src/temporal/agentexecution/__tests__/replay-histories/hitl-approval-parented.json +1070 -0
  1748. package/src/temporal/agentexecution/__tests__/replay-histories/hitl-approval.json +864 -0
  1749. package/src/temporal/agentexecution/__tests__/replay-histories/pause-resume.json +915 -0
  1750. package/src/temporal/agentexecution/__tests__/replay.test.ts +64 -0
  1751. package/src/temporal/agentexecution/activities.ts +252 -0
  1752. package/src/temporal/agentexecution/dispatch.ts +148 -0
  1753. package/src/temporal/agentexecution/engine-client.ts +230 -0
  1754. package/src/temporal/agentexecution/names.ts +104 -0
  1755. package/src/temporal/agentexecution/runner-result.ts +58 -0
  1756. package/src/temporal/agentexecution/worker.ts +85 -0
  1757. package/src/temporal/agentexecution/workflow-input.ts +40 -0
  1758. package/src/temporal/agentexecution/workflows/index.ts +15 -0
  1759. package/src/temporal/agentexecution/workflows/invoke-agent-execution.ts +1495 -0
  1760. package/src/temporal/manager.ts +593 -0
  1761. package/src/temporal/mcpserver/engine-client.ts +273 -0
  1762. package/src/temporal/mcpserver/names.ts +23 -0
  1763. package/src/temporal/payload-codec.ts +92 -0
  1764. package/src/temporal/runner-failure.ts +71 -0
  1765. package/src/temporal/schedule/__tests__/activities.test.ts +301 -0
  1766. package/src/temporal/schedule/__tests__/artifact.test.ts +144 -0
  1767. package/src/temporal/schedule/__tests__/config.test.ts +137 -0
  1768. package/src/temporal/schedule/__tests__/reconciler.test.ts +345 -0
  1769. package/src/temporal/schedule/__tests__/replay-histories/tick-completed-run.json +726 -0
  1770. package/src/temporal/schedule/__tests__/replay-histories/tick-skipped-disabled.json +280 -0
  1771. package/src/temporal/schedule/__tests__/replay-histories/tick-start-failed.json +592 -0
  1772. package/src/temporal/schedule/__tests__/replay.test.ts +55 -0
  1773. package/src/temporal/schedule/__tests__/run-starter.test.ts +482 -0
  1774. package/src/temporal/schedule/__tests__/syncer.test.ts +195 -0
  1775. package/src/temporal/schedule/__tests__/tick-workflow.test.ts +368 -0
  1776. package/src/temporal/schedule/activities.ts +544 -0
  1777. package/src/temporal/schedule/artifact.ts +137 -0
  1778. package/src/temporal/schedule/config.ts +186 -0
  1779. package/src/temporal/schedule/model-pinning.ts +47 -0
  1780. package/src/temporal/schedule/names.ts +168 -0
  1781. package/src/temporal/schedule/reconciler.ts +332 -0
  1782. package/src/temporal/schedule/run-ledger.ts +233 -0
  1783. package/src/temporal/schedule/run-starter.ts +560 -0
  1784. package/src/temporal/schedule/status-writes.ts +50 -0
  1785. package/src/temporal/schedule/syncer.ts +208 -0
  1786. package/src/temporal/schedule/worker.ts +81 -0
  1787. package/src/temporal/schedule/workflows/index.ts +11 -0
  1788. package/src/temporal/schedule/workflows/tick.ts +394 -0
  1789. package/src/temporal/workflow-source.ts +72 -0
  1790. package/src/temporal/workflowexecution/__tests__/activities.test.ts +262 -0
  1791. package/src/temporal/workflowexecution/__tests__/dispatch.test.ts +98 -0
  1792. package/src/temporal/workflowexecution/__tests__/engine-client.test.ts +268 -0
  1793. package/src/temporal/workflowexecution/__tests__/invoke-workflow.test.ts +354 -0
  1794. package/src/temporal/workflowexecution/__tests__/replay-histories/child-failed.json +678 -0
  1795. package/src/temporal/workflowexecution/__tests__/replay-histories/happy-completed.json +504 -0
  1796. package/src/temporal/workflowexecution/__tests__/replay-histories/pause-resume.json +1116 -0
  1797. package/src/temporal/workflowexecution/__tests__/replay.test.ts +57 -0
  1798. package/src/temporal/workflowexecution/__tests__/test-workflows.ts +90 -0
  1799. package/src/temporal/workflowexecution/activities.ts +209 -0
  1800. package/src/temporal/workflowexecution/dispatch.ts +70 -0
  1801. package/src/temporal/workflowexecution/engine-client.ts +242 -0
  1802. package/src/temporal/workflowexecution/names.ts +84 -0
  1803. package/src/temporal/workflowexecution/worker.ts +85 -0
  1804. package/src/temporal/workflowexecution/workflow-input.ts +42 -0
  1805. package/src/temporal/workflowexecution/workflows/index.ts +15 -0
  1806. package/src/temporal/workflowexecution/workflows/invoke-workflow-execution.ts +574 -0
  1807. package/src/transport/__tests__/demux.test.ts +213 -0
  1808. package/src/transport/__tests__/server.test.ts +146 -0
  1809. package/src/transport/console/__tests__/handler.test.ts +281 -0
  1810. package/src/transport/console/__tests__/nginx-equivalence.test.ts +144 -0
  1811. package/src/transport/console/__tests__/resolver.test.ts +181 -0
  1812. package/src/transport/console/assets.ts +80 -0
  1813. package/src/transport/console/handler.ts +309 -0
  1814. package/src/transport/console/resolver.ts +199 -0
  1815. package/src/transport/constants.ts +47 -0
  1816. package/src/transport/cors.ts +119 -0
  1817. package/src/transport/demux.ts +190 -0
  1818. package/src/transport/health.ts +127 -0
  1819. package/src/transport/lanes.ts +17 -0
  1820. package/src/transport/registry/__tests__/lanes.test.ts +131 -0
  1821. package/src/transport/registry/lanes.ts +65 -0
  1822. package/src/transport/server.ts +238 -0
@@ -0,0 +1,1396 @@
1
+ /**
2
+ * Postgres driver — implements the Store contract over node-postgres
3
+ * (DD-010), method-for-method against sqlite/store.ts so the two drivers
4
+ * stay contract-twins: same typed errors, same full-scan find* semantics
5
+ * (shared scanners in ../proto-fields.ts), same ledger string formats.
6
+ * Selected at boot when DATABASE_URL is set (boot/config.ts precedence).
7
+ *
8
+ * Concurrency model (DD-010, the recorded semantic widening): atomicity is
9
+ * per-resource, not global. updateResource runs
10
+ * BEGIN → SELECT ... FOR UPDATE → modify() → UPDATE → COMMIT on one pooled
11
+ * connection — the synchronous `modify` contract (interface.ts) means no
12
+ * caller I/O can ever hold the row lock open. Concurrent writes to
13
+ * DIFFERENT resources may interleave; sqlite's incidental global write
14
+ * serialization is deliberately NOT emulated (rejected alternative in
15
+ * DD-010 — an advisory lock around every write would discard the
16
+ * concurrency a team-scale database exists to provide).
17
+ *
18
+ * Other write contracts and their mechanisms here:
19
+ * - first-writer-wins event appends: one multi-row INSERT ON CONFLICT DO
20
+ * NOTHING, rowCount = the true inserted count;
21
+ * - fire-identity schedule-run upserts: ON CONFLICT DO UPDATE guarded by
22
+ * completed_at = '' (terminal rows immutable);
23
+ * - single-holder audit tags: two UPDATEs in one transaction, missing
24
+ * target rolls back (the #341 head-repoint contract);
25
+ * - at-most-once OAuth state redemption: DELETE ... RETURNING (atomic
26
+ * without an explicit transaction).
27
+ *
28
+ * BIGINT/COUNT results arrive from pg as strings (precision posture);
29
+ * every numeric read is explicitly Number()-converted at the row mapping.
30
+ *
31
+ * Proven by the shared store contract suite (../__tests__/store-contract.ts)
32
+ * under TEST_DATABASE_URL, __tests__/ (migrations, tsquery, driver
33
+ * physicals), and end-to-end by the conformance suites on local-postgres /
34
+ * local-postgres-execution (DD-011).
35
+ */
36
+ import { fromBinary, toBinary } from "@bufbuild/protobuf";
37
+ import type { DescMessage, MessageShape } from "@bufbuild/protobuf";
38
+ import pg from "pg";
39
+ import type { Pool, PoolClient } from "pg";
40
+
41
+ import type { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
42
+
43
+ import {
44
+ AuditNotFoundError,
45
+ DELIVERED_SIGNAL_DEDUPE_TTL_MS,
46
+ PENDING_OAUTH_STATE_TTL_MS,
47
+ ResourceNotFoundError,
48
+ } from "../interface.js";
49
+ import type {
50
+ AuditRecord,
51
+ BootstrapStateStore,
52
+ ClaimResult,
53
+ OAuthGrant,
54
+ OAuthGrantStore,
55
+ PendingOAuthState,
56
+ PendingOAuthStateStore,
57
+ RawResourceDocument,
58
+ ScheduleRunRecord,
59
+ SearchIndexEntry,
60
+ SearchIndexHit,
61
+ SearchIndexQuery,
62
+ SearchIndexQueryResult,
63
+ SignalDedupeRecord,
64
+ SignalDedupeStatus,
65
+ SignalDedupeStore,
66
+ Store,
67
+ WorkflowExecutionEventRecord,
68
+ } from "../interface.js";
69
+ import { NOOP_STORE_LOGGER } from "../logger.js";
70
+ import type { StoreLogger } from "../logger.js";
71
+ import {
72
+ apiResourceKindName,
73
+ filterRowsByLabel,
74
+ scanForFieldMatch,
75
+ } from "../proto-fields.js";
76
+ import { rfc3339Seconds } from "../rfc3339.js";
77
+ import { runMigrations } from "./migrations.js";
78
+ import { normalizeTsRankScore, renderTsQueryExpression } from "./tsquery.js";
79
+
80
+ /**
81
+ * The text search config every query-side to_tsquery call must name —
82
+ * it MUST match the config baked into the migration's generated tsvector
83
+ * (a mismatched config searches a differently-stemmed document and
84
+ * silently returns wrong membership).
85
+ */
86
+ const TEXT_SEARCH_CONFIG = "english";
87
+
88
+ export class PostgresStore implements Store {
89
+ readonly bootstrapState: BootstrapStateStore;
90
+ readonly signalDedupe: SignalDedupeStore;
91
+ readonly oauthGrants: OAuthGrantStore;
92
+ readonly pendingOAuthStates: PendingOAuthStateStore;
93
+
94
+ private pool: Pool | undefined;
95
+ private readonly logger: StoreLogger;
96
+
97
+ private constructor(pool: Pool, logger: StoreLogger) {
98
+ this.pool = pool;
99
+ this.logger = logger;
100
+ this.bootstrapState = new PostgresBootstrapStateStore(() => this.open());
101
+ this.signalDedupe = new PostgresSignalDedupeStore(
102
+ () => this.open(),
103
+ logger,
104
+ );
105
+ this.oauthGrants = new PostgresOAuthGrantStore(() => this.open());
106
+ this.pendingOAuthStates = new PostgresPendingOAuthStateStore(() =>
107
+ this.open(),
108
+ );
109
+ }
110
+
111
+ /**
112
+ * Connects to databaseUrl, runs migrations (advisory-locked, so
113
+ * concurrent boots serialize), and returns the ready store. Any failure
114
+ * here is a loud boot throw — never a degraded server (the same posture
115
+ * as SqliteStore.open; the composition root does not catch it).
116
+ */
117
+ static async open(
118
+ databaseUrl: string,
119
+ logger: StoreLogger = NOOP_STORE_LOGGER,
120
+ ): Promise<PostgresStore> {
121
+ const pool = new pg.Pool({ connectionString: databaseUrl });
122
+ // An idle pooled connection dropping (server restart, network blip)
123
+ // emits 'error' on the pool; without a listener that is a process
124
+ // crash. The next query checks out a fresh connection, so warn-only.
125
+ pool.on("error", (error) => {
126
+ logger.warn("postgres pool idle-connection error", {
127
+ error: error.message,
128
+ });
129
+ });
130
+
131
+ // Migrations run on a dedicated client: pg_advisory_lock is
132
+ // session-scoped, so lock and unlock must ride the same connection.
133
+ const client = await pool.connect();
134
+ try {
135
+ await runMigrations(client);
136
+ } catch (error) {
137
+ client.release();
138
+ await pool.end();
139
+ throw error;
140
+ }
141
+ client.release();
142
+
143
+ return new PostgresStore(pool, logger);
144
+ }
145
+
146
+ // ---------------------------------------------------------------------------
147
+ // Resource operations
148
+ // ---------------------------------------------------------------------------
149
+
150
+ async saveResource<Desc extends DescMessage>(
151
+ kind: ApiResourceKind,
152
+ id: string,
153
+ schema: Desc,
154
+ msg: MessageShape<Desc>,
155
+ ): Promise<void> {
156
+ const data = toBinary(schema, msg);
157
+ await this.open().query(
158
+ `INSERT INTO resources (kind, id, data, updated_at) VALUES ($1, $2, $3, now())
159
+ ON CONFLICT (kind, id) DO UPDATE SET data = excluded.data, updated_at = now()`,
160
+ [apiResourceKindName(kind), id, Buffer.from(data)],
161
+ );
162
+ }
163
+
164
+ async getResource<Desc extends DescMessage>(
165
+ kind: ApiResourceKind,
166
+ id: string,
167
+ schema: Desc,
168
+ ): Promise<MessageShape<Desc>> {
169
+ const kindName = apiResourceKindName(kind);
170
+ const result = await this.open().query(
171
+ `SELECT data FROM resources WHERE kind = $1 AND id = $2`,
172
+ [kindName, id],
173
+ );
174
+ const row = result.rows[0] as { data: Uint8Array } | undefined;
175
+ if (row === undefined) {
176
+ throw new ResourceNotFoundError(`${kindName}/${id}`);
177
+ }
178
+ return fromBinary(schema, row.data);
179
+ }
180
+
181
+ async updateResource<Desc extends DescMessage>(
182
+ kind: ApiResourceKind,
183
+ id: string,
184
+ schema: Desc,
185
+ modify: (msg: MessageShape<Desc>) => void,
186
+ ): Promise<MessageShape<Desc>> {
187
+ const kindName = apiResourceKindName(kind);
188
+
189
+ // FOR UPDATE locks exactly this row for the transaction — the DD-010
190
+ // per-resource atomicity contract. `modify` is synchronous by contract
191
+ // (interface.ts), so no caller I/O can extend the lock's hold time.
192
+ return this.withTransaction(async (client) => {
193
+ const result = await client.query(
194
+ `SELECT data FROM resources WHERE kind = $1 AND id = $2 FOR UPDATE`,
195
+ [kindName, id],
196
+ );
197
+ const row = result.rows[0] as { data: Uint8Array } | undefined;
198
+ if (row === undefined) {
199
+ throw new ResourceNotFoundError(`${kindName}/${id}`);
200
+ }
201
+
202
+ const msg = fromBinary(schema, row.data);
203
+ modify(msg);
204
+
205
+ const data = toBinary(schema, msg);
206
+ await client.query(
207
+ `UPDATE resources SET data = $3, updated_at = now() WHERE kind = $1 AND id = $2`,
208
+ [kindName, id, Buffer.from(data)],
209
+ );
210
+ return msg;
211
+ });
212
+ }
213
+
214
+ async listResources(kind: ApiResourceKind): Promise<Uint8Array[]> {
215
+ const result = await this.open().query(
216
+ `SELECT data FROM resources WHERE kind = $1`,
217
+ [apiResourceKindName(kind)],
218
+ );
219
+ return (result.rows as Array<{ data: Uint8Array }>).map((row) => row.data);
220
+ }
221
+
222
+ async deleteResource(kind: ApiResourceKind, id: string): Promise<void> {
223
+ await this.open().query(
224
+ `DELETE FROM resources WHERE kind = $1 AND id = $2`,
225
+ [apiResourceKindName(kind), id],
226
+ );
227
+ }
228
+
229
+ async findByField<Desc extends DescMessage>(
230
+ kind: ApiResourceKind,
231
+ fieldPath: string,
232
+ value: string,
233
+ schema: Desc,
234
+ ): Promise<MessageShape<Desc>> {
235
+ const kindName = apiResourceKindName(kind);
236
+ const rows = await this.listResources(kind);
237
+ const match = scanForFieldMatch(rows, schema, fieldPath, value);
238
+ if (match === undefined) {
239
+ throw new ResourceNotFoundError(
240
+ `${kindName} where ${fieldPath}=${value}`,
241
+ );
242
+ }
243
+ return match;
244
+ }
245
+
246
+ async findAllByField(
247
+ kind: ApiResourceKind,
248
+ fieldPath: string,
249
+ value: string,
250
+ ): Promise<Uint8Array[]> {
251
+ // Go-parity quirk preserved (interface.ts doc; both drivers mirror it):
252
+ // returns ALL rows of the kind, unfiltered. The parameters are kept so
253
+ // the signature stays surface-identical.
254
+ void fieldPath;
255
+ void value;
256
+ return this.listResources(kind);
257
+ }
258
+
259
+ async findAllByLabel<Desc extends DescMessage>(
260
+ kind: ApiResourceKind,
261
+ labelKey: string,
262
+ labelValue: string,
263
+ schema: Desc,
264
+ ): Promise<Uint8Array[]> {
265
+ const rows = await this.listResources(kind);
266
+ return filterRowsByLabel(rows, schema, labelKey, labelValue);
267
+ }
268
+
269
+ async findResourcesRawOrderedAfter(
270
+ kind: ApiResourceKind,
271
+ afterIdExclusive: string,
272
+ limit: number,
273
+ ): Promise<RawResourceDocument[]> {
274
+ if (limit <= 0) {
275
+ throw new Error(`limit must be positive, got ${limit}`);
276
+ }
277
+ // Keyset pagination over the (kind, id) primary key — stable under
278
+ // concurrent writes (the interface's maintenance-surface contract).
279
+ const result = await this.open().query(
280
+ `SELECT id, data FROM resources WHERE kind = $1 AND id > $2 ORDER BY id LIMIT $3`,
281
+ [apiResourceKindName(kind), afterIdExclusive, limit],
282
+ );
283
+ return result.rows as Array<{ id: string; data: Uint8Array }>;
284
+ }
285
+
286
+ async replaceResourceDataIfUnchanged(
287
+ kind: ApiResourceKind,
288
+ id: string,
289
+ expectedData: Uint8Array,
290
+ newData: Uint8Array,
291
+ ): Promise<boolean> {
292
+ // BYTEA equality in the WHERE clause makes the compare-and-swap one
293
+ // atomic statement: zero rows changed means the row moved on (or was
294
+ // deleted) since the read — a lost swap, never an upsert.
295
+ const result = await this.open().query(
296
+ `UPDATE resources SET data = $1, updated_at = now() WHERE kind = $2 AND id = $3 AND data = $4`,
297
+ [
298
+ Buffer.from(newData),
299
+ apiResourceKindName(kind),
300
+ id,
301
+ Buffer.from(expectedData),
302
+ ],
303
+ );
304
+ return result.rowCount === 1;
305
+ }
306
+
307
+ async deleteResourcesByKind(kind: ApiResourceKind): Promise<number> {
308
+ const result = await this.open().query(
309
+ `DELETE FROM resources WHERE kind = $1`,
310
+ [apiResourceKindName(kind)],
311
+ );
312
+ return result.rowCount ?? 0;
313
+ }
314
+
315
+ async deleteResourcesByIdPrefix(
316
+ kind: ApiResourceKind,
317
+ idPrefix: string,
318
+ ): Promise<number> {
319
+ // LIKE with the wildcard characters of the PREFIX escaped — sqlite's
320
+ // GLOB has no LIKE-metacharacter hazard, this port must not either.
321
+ const result = await this.open().query(
322
+ `DELETE FROM resources WHERE kind = $1 AND id LIKE $2 ESCAPE '\\'`,
323
+ [apiResourceKindName(kind), `${escapeLikePattern(idPrefix)}%`],
324
+ );
325
+ return result.rowCount ?? 0;
326
+ }
327
+
328
+ // ---------------------------------------------------------------------------
329
+ // Audit operations
330
+ // ---------------------------------------------------------------------------
331
+
332
+ async saveAudit<Desc extends DescMessage>(
333
+ kind: ApiResourceKind,
334
+ resourceId: string,
335
+ schema: Desc,
336
+ msg: MessageShape<Desc>,
337
+ versionHash: string,
338
+ tag: string,
339
+ ): Promise<void> {
340
+ const data = toBinary(schema, msg);
341
+ await this.open().query(
342
+ `INSERT INTO resource_audit (kind, resource_id, data, version_hash, tag, archived_at)
343
+ VALUES ($1, $2, $3, $4, $5, now())`,
344
+ [
345
+ apiResourceKindName(kind),
346
+ resourceId,
347
+ Buffer.from(data),
348
+ versionHash,
349
+ tag,
350
+ ],
351
+ );
352
+ }
353
+
354
+ async getAuditByHash<Desc extends DescMessage>(
355
+ kind: ApiResourceKind,
356
+ resourceId: string,
357
+ versionHash: string,
358
+ schema: Desc,
359
+ ): Promise<MessageShape<Desc>> {
360
+ const record = await this.getAuditRecordByHash(
361
+ kind,
362
+ resourceId,
363
+ versionHash,
364
+ );
365
+ return fromBinary(schema, record.data);
366
+ }
367
+
368
+ async getAuditByTag<Desc extends DescMessage>(
369
+ kind: ApiResourceKind,
370
+ resourceId: string,
371
+ tag: string,
372
+ schema: Desc,
373
+ ): Promise<MessageShape<Desc>> {
374
+ const record = await this.getAuditRecordByTag(kind, resourceId, tag);
375
+ return fromBinary(schema, record.data);
376
+ }
377
+
378
+ async listAuditHistory(
379
+ kind: ApiResourceKind,
380
+ resourceId: string,
381
+ ): Promise<Uint8Array[]> {
382
+ const records = await this.listAuditRecords(kind, resourceId);
383
+ return records.map((record) => record.data);
384
+ }
385
+
386
+ async deleteAuditByResourceId(
387
+ kind: ApiResourceKind,
388
+ resourceId: string,
389
+ ): Promise<number> {
390
+ const result = await this.open().query(
391
+ `DELETE FROM resource_audit WHERE kind = $1 AND resource_id = $2`,
392
+ [apiResourceKindName(kind), resourceId],
393
+ );
394
+ return result.rowCount ?? 0;
395
+ }
396
+
397
+ async countAuditEntries(
398
+ kind: ApiResourceKind,
399
+ resourceId: string,
400
+ ): Promise<number> {
401
+ const result = await this.open().query(
402
+ `SELECT COUNT(*) AS count FROM resource_audit WHERE kind = $1 AND resource_id = $2`,
403
+ [apiResourceKindName(kind), resourceId],
404
+ );
405
+ return Number((result.rows[0] as { count: string | number }).count);
406
+ }
407
+
408
+ async getLatestAuditHash(
409
+ kind: ApiResourceKind,
410
+ resourceId: string,
411
+ ): Promise<string> {
412
+ const kindName = apiResourceKindName(kind);
413
+ // id DESC breaks archived_at ties from sub-timestamp inserts — the
414
+ // same recency contract as sqlite's rowid tie-break.
415
+ const result = await this.open().query(
416
+ `SELECT version_hash FROM resource_audit
417
+ WHERE kind = $1 AND resource_id = $2
418
+ ORDER BY archived_at DESC, id DESC
419
+ LIMIT 1`,
420
+ [kindName, resourceId],
421
+ );
422
+ const row = result.rows[0] as { version_hash: string | null } | undefined;
423
+ if (row === undefined) {
424
+ throw new AuditNotFoundError(`${kindName}/${resourceId}`);
425
+ }
426
+ return row.version_hash ?? "";
427
+ }
428
+
429
+ async setAuditTag(
430
+ kind: ApiResourceKind,
431
+ resourceId: string,
432
+ versionHash: string,
433
+ tag: string,
434
+ ): Promise<void> {
435
+ const kindName = apiResourceKindName(kind);
436
+
437
+ // Single transaction: clear the prior holder, assign the target. A
438
+ // missing target rolls back, leaving the prior holder untouched — the
439
+ // #341 head-repoint contract.
440
+ await this.withTransaction(async (client) => {
441
+ await client.query(
442
+ `UPDATE resource_audit SET tag = ''
443
+ WHERE kind = $1 AND resource_id = $2 AND tag = $3`,
444
+ [kindName, resourceId, tag],
445
+ );
446
+
447
+ const result = await client.query(
448
+ `UPDATE resource_audit SET tag = $1
449
+ WHERE kind = $2 AND resource_id = $3 AND version_hash = $4`,
450
+ [tag, kindName, resourceId, versionHash],
451
+ );
452
+
453
+ if ((result.rowCount ?? 0) === 0) {
454
+ throw new AuditNotFoundError(
455
+ `${kindName}/${resourceId} (hash=${versionHash})`,
456
+ );
457
+ }
458
+ });
459
+ }
460
+
461
+ async listAuditRecords(
462
+ kind: ApiResourceKind,
463
+ resourceId: string,
464
+ ): Promise<AuditRecord[]> {
465
+ const result = await this.open().query(
466
+ `SELECT data, version_hash, tag FROM resource_audit
467
+ WHERE kind = $1 AND resource_id = $2
468
+ ORDER BY archived_at DESC, id DESC`,
469
+ [apiResourceKindName(kind), resourceId],
470
+ );
471
+ return (
472
+ result.rows as Array<{
473
+ data: Uint8Array;
474
+ version_hash: string | null;
475
+ tag: string | null;
476
+ }>
477
+ ).map((row) => ({
478
+ data: row.data,
479
+ versionHash: row.version_hash ?? "",
480
+ tag: row.tag ?? "",
481
+ }));
482
+ }
483
+
484
+ async getAuditRecordByHash(
485
+ kind: ApiResourceKind,
486
+ resourceId: string,
487
+ versionHash: string,
488
+ ): Promise<AuditRecord> {
489
+ const kindName = apiResourceKindName(kind);
490
+ // Duplicates for one hash are legal — newest wins (stigmer-cloud#191).
491
+ const result = await this.open().query(
492
+ `SELECT data, tag FROM resource_audit
493
+ WHERE kind = $1 AND resource_id = $2 AND version_hash = $3
494
+ ORDER BY archived_at DESC, id DESC
495
+ LIMIT 1`,
496
+ [kindName, resourceId, versionHash],
497
+ );
498
+ const row = result.rows[0] as
499
+ | { data: Uint8Array; tag: string | null }
500
+ | undefined;
501
+ if (row === undefined) {
502
+ throw new AuditNotFoundError(
503
+ `${kindName}/${resourceId} (hash=${versionHash})`,
504
+ );
505
+ }
506
+ return { data: row.data, versionHash, tag: row.tag ?? "" };
507
+ }
508
+
509
+ async getAuditRecordByTag(
510
+ kind: ApiResourceKind,
511
+ resourceId: string,
512
+ tag: string,
513
+ ): Promise<AuditRecord> {
514
+ const kindName = apiResourceKindName(kind);
515
+ const result = await this.open().query(
516
+ `SELECT data, version_hash FROM resource_audit
517
+ WHERE kind = $1 AND resource_id = $2 AND tag = $3
518
+ ORDER BY archived_at DESC, id DESC
519
+ LIMIT 1`,
520
+ [kindName, resourceId, tag],
521
+ );
522
+ const row = result.rows[0] as
523
+ | { data: Uint8Array; version_hash: string | null }
524
+ | undefined;
525
+ if (row === undefined) {
526
+ throw new AuditNotFoundError(`${kindName}/${resourceId} (tag=${tag})`);
527
+ }
528
+ return { data: row.data, versionHash: row.version_hash ?? "", tag };
529
+ }
530
+
531
+ // ---------------------------------------------------------------------------
532
+ // Workflow execution events
533
+ // ---------------------------------------------------------------------------
534
+
535
+ async appendWorkflowExecutionEvents(
536
+ executionId: string,
537
+ events: readonly WorkflowExecutionEventRecord[],
538
+ ): Promise<number> {
539
+ if (events.length === 0) {
540
+ return 0;
541
+ }
542
+
543
+ // One multi-row INSERT: atomic without an explicit transaction, and
544
+ // ON CONFLICT DO NOTHING makes rowCount the true first-writer-wins
545
+ // inserted count (oss#308).
546
+ const values: unknown[] = [];
547
+ const tuples: string[] = [];
548
+ for (const [i, event] of events.entries()) {
549
+ const base = i * 5;
550
+ tuples.push(
551
+ `($${base + 1}, $${base + 2}, $${base + 3}, $${base + 4}, $${base + 5})`,
552
+ );
553
+ values.push(
554
+ executionId,
555
+ event.sequenceNumber,
556
+ event.eventType,
557
+ event.taskName,
558
+ Buffer.from(event.data),
559
+ );
560
+ }
561
+
562
+ const result = await this.open().query(
563
+ `INSERT INTO workflow_execution_events (execution_id, sequence_number, event_type, task_name, data)
564
+ VALUES ${tuples.join(", ")}
565
+ ON CONFLICT (execution_id, sequence_number) DO NOTHING`,
566
+ values,
567
+ );
568
+ return result.rowCount ?? 0;
569
+ }
570
+
571
+ async getWorkflowExecutionEvents(
572
+ executionId: string,
573
+ afterSequence: number,
574
+ eventType: string,
575
+ taskName: string,
576
+ limit: number,
577
+ ): Promise<WorkflowExecutionEventRecord[]> {
578
+ const effectiveLimit = limit <= 0 ? 100 : limit;
579
+
580
+ let query = `SELECT execution_id, sequence_number, event_type, task_name, data, created_at
581
+ FROM workflow_execution_events
582
+ WHERE execution_id = $1 AND sequence_number > $2`;
583
+ const args: unknown[] = [executionId, afterSequence];
584
+ if (eventType !== "") {
585
+ args.push(eventType);
586
+ query += ` AND event_type = $${args.length}`;
587
+ }
588
+ if (taskName !== "") {
589
+ args.push(taskName);
590
+ query += ` AND task_name = $${args.length}`;
591
+ }
592
+ args.push(effectiveLimit);
593
+ query += ` ORDER BY sequence_number ASC LIMIT $${args.length}`;
594
+
595
+ const result = await this.open().query(query, args);
596
+ return (
597
+ result.rows as Array<{
598
+ execution_id: string;
599
+ sequence_number: string | number;
600
+ event_type: string;
601
+ task_name: string;
602
+ data: Uint8Array;
603
+ created_at: string;
604
+ }>
605
+ ).map((row) => ({
606
+ executionId: row.execution_id,
607
+ sequenceNumber: Number(row.sequence_number),
608
+ eventType: row.event_type,
609
+ taskName: row.task_name,
610
+ data: row.data,
611
+ createdAt: row.created_at,
612
+ }));
613
+ }
614
+
615
+ async getMaxEventSequence(executionId: string): Promise<number> {
616
+ const result = await this.open().query(
617
+ `SELECT COALESCE(MAX(sequence_number), 0) AS max_seq FROM workflow_execution_events WHERE execution_id = $1`,
618
+ [executionId],
619
+ );
620
+ return Number((result.rows[0] as { max_seq: string | number }).max_seq);
621
+ }
622
+
623
+ // ---------------------------------------------------------------------------
624
+ // Schedule runs (fire ledger)
625
+ // ---------------------------------------------------------------------------
626
+
627
+ async upsertScheduleRun(record: ScheduleRunRecord): Promise<void> {
628
+ // Default recorded_at is RFC-3339 whole seconds (Go time.RFC3339) —
629
+ // the ledger's house convention for lexicographic comparison.
630
+ const recordedAt =
631
+ record.recordedAt !== "" ? record.recordedAt : rfc3339Seconds(new Date());
632
+
633
+ // The ON CONFLICT WHERE guard is the terminal-immutability contract:
634
+ // rows with a completed_at never get downgraded by a replayed write.
635
+ await this.open().query(
636
+ `INSERT INTO schedule_runs
637
+ (schedule_id, org, nominal_fire_time, origin, outcome, reason, execution_id, recorded_at, completed_at)
638
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
639
+ ON CONFLICT (schedule_id, nominal_fire_time, origin) DO UPDATE SET
640
+ outcome = excluded.outcome,
641
+ reason = excluded.reason,
642
+ execution_id = excluded.execution_id,
643
+ completed_at = excluded.completed_at
644
+ WHERE schedule_runs.completed_at = ''`,
645
+ [
646
+ record.scheduleId,
647
+ record.org,
648
+ record.nominalFireTime,
649
+ record.origin,
650
+ record.outcome,
651
+ record.reason,
652
+ record.executionId,
653
+ recordedAt,
654
+ record.completedAt,
655
+ ],
656
+ );
657
+ }
658
+
659
+ async markLatestScheduleRunTerminal(
660
+ scheduleId: string,
661
+ origin: string,
662
+ outcome: string,
663
+ reason: string,
664
+ completedAt: string,
665
+ ): Promise<void> {
666
+ await this.open().query(
667
+ `UPDATE schedule_runs SET outcome = $1, reason = $2, completed_at = $3
668
+ WHERE schedule_id = $4 AND origin = $5 AND completed_at = ''
669
+ AND nominal_fire_time = (
670
+ SELECT MAX(nominal_fire_time) FROM schedule_runs
671
+ WHERE schedule_id = $4 AND origin = $5 AND completed_at = ''
672
+ )`,
673
+ [outcome, reason, completedAt, scheduleId, origin],
674
+ );
675
+ }
676
+
677
+ async listScheduleRuns(
678
+ scheduleId: string,
679
+ offset: number,
680
+ limit: number,
681
+ ): Promise<{ runs: ScheduleRunRecord[]; total: number }> {
682
+ const effectiveLimit = limit <= 0 ? 50 : limit;
683
+ const effectiveOffset = offset < 0 ? 0 : offset;
684
+
685
+ const totalResult = await this.open().query(
686
+ `SELECT COUNT(*) AS total FROM schedule_runs WHERE schedule_id = $1`,
687
+ [scheduleId],
688
+ );
689
+
690
+ const result = await this.open().query(
691
+ `SELECT schedule_id, org, nominal_fire_time, origin, outcome, reason, execution_id, recorded_at, completed_at
692
+ FROM schedule_runs
693
+ WHERE schedule_id = $1
694
+ ORDER BY nominal_fire_time DESC, origin DESC
695
+ LIMIT $2 OFFSET $3`,
696
+ [scheduleId, effectiveLimit, effectiveOffset],
697
+ );
698
+
699
+ return {
700
+ total: Number((totalResult.rows[0] as { total: string | number }).total),
701
+ runs: (
702
+ result.rows as Array<{
703
+ schedule_id: string;
704
+ org: string;
705
+ nominal_fire_time: string;
706
+ origin: string;
707
+ outcome: string;
708
+ reason: string;
709
+ execution_id: string;
710
+ recorded_at: string;
711
+ completed_at: string;
712
+ }>
713
+ ).map((row) => ({
714
+ scheduleId: row.schedule_id,
715
+ org: row.org,
716
+ nominalFireTime: row.nominal_fire_time,
717
+ origin: row.origin,
718
+ outcome: row.outcome,
719
+ reason: row.reason,
720
+ executionId: row.execution_id,
721
+ recordedAt: row.recorded_at,
722
+ completedAt: row.completed_at,
723
+ })),
724
+ };
725
+ }
726
+
727
+ async deleteScheduleRunsBySchedule(scheduleId: string): Promise<number> {
728
+ const result = await this.open().query(
729
+ `DELETE FROM schedule_runs WHERE schedule_id = $1`,
730
+ [scheduleId],
731
+ );
732
+ return result.rowCount ?? 0;
733
+ }
734
+
735
+ async pruneScheduleRuns(recordedBefore: string): Promise<number> {
736
+ const result = await this.open().query(
737
+ `DELETE FROM schedule_runs WHERE recorded_at < $1`,
738
+ [recordedBefore],
739
+ );
740
+ return result.rowCount ?? 0;
741
+ }
742
+
743
+ // ---------------------------------------------------------------------------
744
+ // Search index (tsvector/tsquery — DD-009's Postgres rendering)
745
+ // ---------------------------------------------------------------------------
746
+
747
+ async upsertSearchIndex(
748
+ kind: ApiResourceKind,
749
+ resourceId: string,
750
+ entry: SearchIndexEntry,
751
+ ): Promise<void> {
752
+ const kindName = apiResourceKindName(kind);
753
+
754
+ // DELETE + INSERT in one transaction, not ON CONFLICT DO UPDATE: a
755
+ // re-upserted row must take a fresh `seq`, keeping the list-mode
756
+ // tie-break "newest write last-wins" — the same recency semantics the
757
+ // sqlite driver gets from FTS5's delete+insert rowid.
758
+ await this.withTransaction(async (client) => {
759
+ await client.query(
760
+ `DELETE FROM search_index WHERE kind = $1 AND resource_id = $2`,
761
+ [kindName, resourceId],
762
+ );
763
+ await client.query(
764
+ `INSERT INTO search_index (kind, resource_id, name, description, tags, org, visibility, created_at)
765
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8)`,
766
+ [
767
+ kindName,
768
+ resourceId,
769
+ entry.name,
770
+ entry.description,
771
+ entry.tags,
772
+ entry.org,
773
+ entry.visibility,
774
+ entry.createdAt,
775
+ ],
776
+ );
777
+ });
778
+ }
779
+
780
+ async deleteSearchIndex(
781
+ kind: ApiResourceKind,
782
+ resourceId: string,
783
+ ): Promise<void> {
784
+ await this.open().query(
785
+ `DELETE FROM search_index WHERE kind = $1 AND resource_id = $2`,
786
+ [apiResourceKindName(kind), resourceId],
787
+ );
788
+ }
789
+
790
+ async querySearchIndex(
791
+ query: SearchIndexQuery,
792
+ ): Promise<SearchIndexQueryResult> {
793
+ // Search mode is "terms present", even when they sanitize to an empty
794
+ // tsquery expression — to_tsquery's rejection of that expression is
795
+ // the preserved behavior for such queries (see tsquery.ts; the FTS5
796
+ // driver fails the same way on an empty MATCH).
797
+ const searchMode = query.terms !== undefined;
798
+
799
+ const args: unknown[] = [];
800
+ const push = (value: unknown): string => {
801
+ args.push(value);
802
+ return `$${args.length}`;
803
+ };
804
+
805
+ let matchClause = "";
806
+ if (query.terms !== undefined) {
807
+ const param = push(renderTsQueryExpression(query.terms));
808
+ matchClause = `search @@ to_tsquery('${TEXT_SEARCH_CONFIG}', ${param}) AND `;
809
+ }
810
+
811
+ // `::text[]` is load-bearing: node-pg serializes a JS array as a
812
+ // Postgres array literal, but ANY() without the cast can fail to
813
+ // infer the element type ("op ANY/ALL (array) requires array on
814
+ // right side").
815
+ const kindParam = `${push(query.kinds as string[])}::text[]`;
816
+
817
+ // The scope-filter fragments — same composition as the sqlite driver's
818
+ // port of Go's buildScopeFilter: org (strict or public-widened) and
819
+ // the independent public subtraction.
820
+ const scopeClauses: string[] = [];
821
+ if (query.orgFilter !== "") {
822
+ const orgParam = push(query.orgFilter);
823
+ scopeClauses.push(
824
+ query.crossOrgPublic
825
+ ? `AND (org = ${orgParam} OR visibility = 'visibility_public')`
826
+ : `AND org = ${orgParam}`,
827
+ );
828
+ }
829
+ if (query.excludePublic) {
830
+ scopeClauses.push(`AND visibility != 'visibility_public'`);
831
+ }
832
+ if (query.authorizedIdsByKind !== undefined) {
833
+ // The 20260830.01 scoping arm: per-kind resource_id allowlists.
834
+ // An empty set contributes NO clause — that kind matches nothing —
835
+ // and all-kinds-empty renders a constant-false predicate (never an
836
+ // `IN ()` accident, per the interface contract).
837
+ const kindClauses: string[] = [];
838
+ for (const kind of query.kinds) {
839
+ const ids = query.authorizedIdsByKind.get(kind);
840
+ if (ids === undefined) {
841
+ kindClauses.push(`kind = ${push(kind)}`);
842
+ } else if (ids.size > 0) {
843
+ const idsParam = `${push([...ids])}::text[]`;
844
+ kindClauses.push(
845
+ `(kind = ${push(kind)} AND resource_id = ANY(${idsParam}))`,
846
+ );
847
+ }
848
+ }
849
+ scopeClauses.push(
850
+ kindClauses.length === 0
851
+ ? `AND FALSE`
852
+ : `AND (${kindClauses.join(" OR ")})`,
853
+ );
854
+ }
855
+ const scopeSql = scopeClauses.join("\n ");
856
+
857
+ // Statement 1 — full counts per kind (zero-count kinds never appear:
858
+ // the counts come from GROUP BY over matches).
859
+ const countResult = await this.open().query(
860
+ `SELECT kind, COUNT(*) AS cnt
861
+ FROM search_index
862
+ WHERE ${matchClause}kind = ANY(${kindParam})
863
+ ${scopeSql}
864
+ GROUP BY kind`,
865
+ args,
866
+ );
867
+
868
+ const countsByKind: Record<string, number> = {};
869
+ let totalCount = 0;
870
+ for (const row of countResult.rows as Array<{
871
+ kind: string;
872
+ cnt: string | number;
873
+ }>) {
874
+ const cnt = Number(row.cnt);
875
+ countsByKind[row.kind] = cnt;
876
+ totalCount += cnt;
877
+ }
878
+
879
+ // Count short-circuit before the page statement (contract-twin of the
880
+ // sqlite driver's port of Go's EmptyResult).
881
+ if (totalCount === 0) {
882
+ return { countsByKind: {}, totalCount: 0, hits: [] };
883
+ }
884
+
885
+ // Statement 2 — the ranked page. Search mode: ts_rank over the
886
+ // weighted document, higher = better, with explicit (kind,
887
+ // resource_id) tie-breaks for the within-driver determinism DD-009
888
+ // requires. List mode: score pinned exactly 1.0, newest first with the
889
+ // seq tie-break (created_at is whole seconds — see migrations.ts).
890
+ const limitParam = push(query.limit);
891
+ const offsetParam = push(query.offset);
892
+ const pageSql = searchMode
893
+ ? `SELECT kind, resource_id, ts_rank(search, to_tsquery('${TEXT_SEARCH_CONFIG}', $1)) AS rank
894
+ FROM search_index
895
+ WHERE search @@ to_tsquery('${TEXT_SEARCH_CONFIG}', $1) AND kind = ANY(${kindParam})
896
+ ${scopeSql}
897
+ ORDER BY rank DESC, kind ASC, resource_id ASC
898
+ LIMIT ${limitParam} OFFSET ${offsetParam}`
899
+ : `SELECT kind, resource_id, 1.0 AS rank
900
+ FROM search_index
901
+ WHERE kind = ANY(${kindParam})
902
+ ${scopeSql}
903
+ ORDER BY created_at DESC, seq DESC
904
+ LIMIT ${limitParam} OFFSET ${offsetParam}`;
905
+
906
+ const pageResult = await this.open().query(pageSql, args);
907
+
908
+ // The interface promises wire-ready scores: normalize ts_rank here;
909
+ // list mode's score is pinned exactly 1.0 (P1 DD-001 — the driver
910
+ // returns the wire score).
911
+ const hits: SearchIndexHit[] = (
912
+ pageResult.rows as Array<{
913
+ kind: string;
914
+ resource_id: string;
915
+ rank: string | number;
916
+ }>
917
+ ).map((row) => ({
918
+ kind: row.kind,
919
+ resourceId: row.resource_id,
920
+ score: searchMode ? normalizeTsRankScore(Number(row.rank)) : 1.0,
921
+ }));
922
+
923
+ return { countsByKind, totalCount, hits };
924
+ }
925
+
926
+ async clearSearchIndex(): Promise<void> {
927
+ await this.open().query(`DELETE FROM search_index`);
928
+ }
929
+
930
+ // ---------------------------------------------------------------------------
931
+ // Lifecycle
932
+ // ---------------------------------------------------------------------------
933
+
934
+ async close(): Promise<void> {
935
+ if (this.pool === undefined) {
936
+ return; // already closed
937
+ }
938
+ const pool = this.pool;
939
+ this.pool = undefined;
940
+ await pool.end();
941
+ }
942
+
943
+ /** Live pool or the contract's "store is closed" error (both drivers). */
944
+ private open(): Pool {
945
+ if (this.pool === undefined) {
946
+ throw new Error("store is closed");
947
+ }
948
+ return this.pool;
949
+ }
950
+
951
+ /**
952
+ * BEGIN/COMMIT/ROLLBACK on one checked-out client — pg pools route each
953
+ * query to any idle connection, so multi-statement transactions must pin
954
+ * one. The rollback error (connection already broken) never masks the
955
+ * original failure.
956
+ */
957
+ private async withTransaction<T>(
958
+ fn: (client: PoolClient) => Promise<T>,
959
+ ): Promise<T> {
960
+ const client = await this.open().connect();
961
+ try {
962
+ await client.query("BEGIN");
963
+ const result = await fn(client);
964
+ await client.query("COMMIT");
965
+ return result;
966
+ } catch (error) {
967
+ try {
968
+ await client.query("ROLLBACK");
969
+ } catch (rollbackError) {
970
+ this.logger.warn("postgres transaction rollback failed", {
971
+ error: String(rollbackError),
972
+ });
973
+ }
974
+ throw error;
975
+ } finally {
976
+ client.release();
977
+ }
978
+ }
979
+ }
980
+
981
+ // =============================================================================
982
+ // Bootstrap state
983
+ // =============================================================================
984
+
985
+ class PostgresBootstrapStateStore implements BootstrapStateStore {
986
+ constructor(private readonly open: () => Pool) {}
987
+
988
+ async get(key: string): Promise<string> {
989
+ const result = await this.open().query(
990
+ `SELECT value FROM bootstrap_state WHERE key = $1`,
991
+ [key],
992
+ );
993
+ const row = result.rows[0] as { value: string } | undefined;
994
+ // Missing key → "" and NOT an error — the cross-driver contract.
995
+ return row?.value ?? "";
996
+ }
997
+
998
+ async set(key: string, value: string): Promise<void> {
999
+ await this.open().query(
1000
+ `INSERT INTO bootstrap_state (key, value, updated_at) VALUES ($1, $2, now())
1001
+ ON CONFLICT (key) DO UPDATE SET value = excluded.value, updated_at = now()`,
1002
+ [key, value],
1003
+ );
1004
+ }
1005
+
1006
+ async getAll(): Promise<Map<string, string>> {
1007
+ const result = await this.open().query(
1008
+ `SELECT key, value FROM bootstrap_state`,
1009
+ );
1010
+ return new Map(
1011
+ (result.rows as Array<{ key: string; value: string }>).map((row) => [
1012
+ row.key,
1013
+ row.value,
1014
+ ]),
1015
+ );
1016
+ }
1017
+
1018
+ async delete(key: string): Promise<void> {
1019
+ await this.open().query(`DELETE FROM bootstrap_state WHERE key = $1`, [
1020
+ key,
1021
+ ]);
1022
+ }
1023
+
1024
+ async clear(): Promise<void> {
1025
+ await this.open().query(`DELETE FROM bootstrap_state`);
1026
+ }
1027
+ }
1028
+
1029
+ // =============================================================================
1030
+ // Signal dedupe
1031
+ // =============================================================================
1032
+
1033
+ class PostgresSignalDedupeStore implements SignalDedupeStore {
1034
+ constructor(
1035
+ private readonly open: () => Pool,
1036
+ private readonly logger: StoreLogger,
1037
+ ) {}
1038
+
1039
+ async claim(
1040
+ org: string,
1041
+ idempotencyKey: string,
1042
+ executionId: string,
1043
+ signalName: string,
1044
+ ttlMs: number,
1045
+ ): Promise<ClaimResult> {
1046
+ const pool = this.open();
1047
+ const id = buildDedupeKey(org, idempotencyKey);
1048
+ const now = new Date();
1049
+ const createdAt = now.toISOString();
1050
+ const expiresAt = new Date(now.getTime() + ttlMs).toISOString();
1051
+
1052
+ // Expired rows are cleaned before claiming so keys become reusable —
1053
+ // failure is non-critical (warn and continue), the cross-driver
1054
+ // contract.
1055
+ try {
1056
+ await pool.query(`DELETE FROM signal_dedupe WHERE expires_at < $1`, [
1057
+ now.toISOString(),
1058
+ ]);
1059
+ } catch (error) {
1060
+ this.logger.warn("failed to cleanup expired dedupe records", {
1061
+ error: String(error),
1062
+ });
1063
+ }
1064
+
1065
+ // ON CONFLICT DO NOTHING instead of catch-the-unique-violation: same
1066
+ // first-claimer-wins outcome, no error-text sniffing.
1067
+ const result = await pool.query(
1068
+ `INSERT INTO signal_dedupe (id, org, idempotency_key, execution_id, signal_name, status, created_at, expires_at)
1069
+ VALUES ($1, $2, $3, $4, $5, 'CLAIMED', $6, $7)
1070
+ ON CONFLICT (id) DO NOTHING`,
1071
+ [id, org, idempotencyKey, executionId, signalName, createdAt, expiresAt],
1072
+ );
1073
+
1074
+ if ((result.rowCount ?? 0) === 1) {
1075
+ return { status: "SUCCESS" };
1076
+ }
1077
+
1078
+ const record = await this.loadRecord(pool, id);
1079
+ if (record === undefined) {
1080
+ // The holder vanished between INSERT and SELECT — surface as a
1081
+ // claim failure rather than fabricating a record.
1082
+ throw new Error(`load existing record: ${id} disappeared`);
1083
+ }
1084
+ return { status: "DUPLICATE", record };
1085
+ }
1086
+
1087
+ async markDelivered(org: string, idempotencyKey: string): Promise<void> {
1088
+ const id = buildDedupeKey(org, idempotencyKey);
1089
+ const now = new Date();
1090
+
1091
+ // Extending expires_at here is the load-bearing half of the two-phase
1092
+ // hold: delivery earns DELIVERED_SIGNAL_DEDUPE_TTL_MS. The status guard
1093
+ // makes re-marking a no-op and keeps a takeover's fresh claim intact.
1094
+ const result = await this.open().query(
1095
+ `UPDATE signal_dedupe
1096
+ SET status = 'DELIVERED', delivered_at = $1, expires_at = $2
1097
+ WHERE id = $3 AND status = 'CLAIMED'`,
1098
+ [
1099
+ now.toISOString(),
1100
+ new Date(now.getTime() + DELIVERED_SIGNAL_DEDUPE_TTL_MS).toISOString(),
1101
+ id,
1102
+ ],
1103
+ );
1104
+
1105
+ if ((result.rowCount ?? 0) === 0) {
1106
+ this.logger.warn(
1107
+ "no dedupe record updated - may be already delivered or doesn't exist",
1108
+ { id },
1109
+ );
1110
+ }
1111
+ }
1112
+
1113
+ async release(org: string, idempotencyKey: string): Promise<void> {
1114
+ const id = buildDedupeKey(org, idempotencyKey);
1115
+
1116
+ // Status-guarded DELETE: only an in-flight claim can be freed, so a
1117
+ // release racing markDelivered can never unblock a delivered key.
1118
+ await this.open().query(
1119
+ `DELETE FROM signal_dedupe WHERE id = $1 AND status = 'CLAIMED'`,
1120
+ [id],
1121
+ );
1122
+ }
1123
+
1124
+ private async loadRecord(
1125
+ pool: Pool,
1126
+ id: string,
1127
+ ): Promise<SignalDedupeRecord | undefined> {
1128
+ const result = await pool.query(
1129
+ `SELECT id, org, idempotency_key, execution_id, signal_name, status, created_at, delivered_at, expires_at
1130
+ FROM signal_dedupe WHERE id = $1`,
1131
+ [id],
1132
+ );
1133
+ const row = result.rows[0] as
1134
+ | {
1135
+ id: string;
1136
+ org: string;
1137
+ idempotency_key: string;
1138
+ execution_id: string;
1139
+ signal_name: string;
1140
+ status: string;
1141
+ created_at: string;
1142
+ delivered_at: string | null;
1143
+ expires_at: string;
1144
+ }
1145
+ | undefined;
1146
+ if (row === undefined) {
1147
+ return undefined;
1148
+ }
1149
+ return {
1150
+ id: row.id,
1151
+ org: row.org,
1152
+ idempotencyKey: row.idempotency_key,
1153
+ executionId: row.execution_id,
1154
+ signalName: row.signal_name,
1155
+ status: row.status as SignalDedupeStatus,
1156
+ createdAt: row.created_at,
1157
+ deliveredAt: row.delivered_at ?? "",
1158
+ expiresAt: row.expires_at,
1159
+ };
1160
+ }
1161
+ }
1162
+
1163
+ /** Composite dedupe key: "{org}:{idempotency_key}" (both drivers). */
1164
+ function buildDedupeKey(org: string, idempotencyKey: string): string {
1165
+ return `${org}:${idempotencyKey}`;
1166
+ }
1167
+
1168
+ // =============================================================================
1169
+ // MCP OAuth grants
1170
+ // =============================================================================
1171
+
1172
+ class PostgresOAuthGrantStore implements OAuthGrantStore {
1173
+ constructor(private readonly open: () => Pool) {}
1174
+
1175
+ async upsert(grant: OAuthGrant): Promise<void> {
1176
+ const now = Math.floor(Date.now() / 1000);
1177
+ const createdAt = grant.createdAt !== 0 ? grant.createdAt : now;
1178
+
1179
+ await this.open().query(
1180
+ `INSERT INTO oauth_grant (
1181
+ identity_account_id, resource_id, resource_kind, org_id,
1182
+ access_token_expires_at, client_id, auth_method, token_endpoint,
1183
+ access_token_env_var, refresh_token_env_var, environment_id,
1184
+ created_at, updated_at
1185
+ ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13)
1186
+ ON CONFLICT (identity_account_id, resource_id, org_id) DO UPDATE SET
1187
+ resource_kind = excluded.resource_kind,
1188
+ access_token_expires_at = excluded.access_token_expires_at,
1189
+ client_id = excluded.client_id,
1190
+ auth_method = excluded.auth_method,
1191
+ token_endpoint = excluded.token_endpoint,
1192
+ access_token_env_var = excluded.access_token_env_var,
1193
+ refresh_token_env_var = excluded.refresh_token_env_var,
1194
+ environment_id = excluded.environment_id,
1195
+ updated_at = excluded.updated_at`,
1196
+ [
1197
+ grant.identityAccountId,
1198
+ grant.resourceId,
1199
+ grant.resourceKind,
1200
+ grant.orgId,
1201
+ grant.accessTokenExpiresAt,
1202
+ grant.clientId,
1203
+ grant.authMethod,
1204
+ grant.tokenEndpoint,
1205
+ grant.accessTokenEnvVar,
1206
+ grant.refreshTokenEnvVar,
1207
+ grant.environmentId,
1208
+ createdAt,
1209
+ now,
1210
+ ],
1211
+ );
1212
+ }
1213
+
1214
+ async find(
1215
+ identityAccountId: string,
1216
+ resourceId: string,
1217
+ orgId: string,
1218
+ ): Promise<OAuthGrant | undefined> {
1219
+ const result = await this.open().query(
1220
+ `SELECT identity_account_id, resource_id, resource_kind, org_id,
1221
+ access_token_expires_at, client_id, auth_method, token_endpoint,
1222
+ access_token_env_var, refresh_token_env_var, environment_id,
1223
+ created_at, updated_at
1224
+ FROM oauth_grant
1225
+ WHERE identity_account_id = $1 AND resource_id = $2 AND org_id = $3`,
1226
+ [identityAccountId, resourceId, orgId],
1227
+ );
1228
+ const row = result.rows[0] as
1229
+ | {
1230
+ identity_account_id: string;
1231
+ resource_id: string;
1232
+ resource_kind: string;
1233
+ org_id: string;
1234
+ access_token_expires_at: string | number;
1235
+ client_id: string;
1236
+ auth_method: string;
1237
+ token_endpoint: string;
1238
+ access_token_env_var: string;
1239
+ refresh_token_env_var: string;
1240
+ environment_id: string;
1241
+ created_at: string | number;
1242
+ updated_at: string | number;
1243
+ }
1244
+ | undefined;
1245
+ if (row === undefined) {
1246
+ return undefined; // no grant is a normal state, not an error
1247
+ }
1248
+ return {
1249
+ identityAccountId: row.identity_account_id,
1250
+ resourceId: row.resource_id,
1251
+ resourceKind: row.resource_kind,
1252
+ orgId: row.org_id,
1253
+ accessTokenExpiresAt: Number(row.access_token_expires_at),
1254
+ clientId: row.client_id,
1255
+ authMethod: row.auth_method,
1256
+ tokenEndpoint: row.token_endpoint,
1257
+ accessTokenEnvVar: row.access_token_env_var,
1258
+ refreshTokenEnvVar: row.refresh_token_env_var,
1259
+ environmentId: row.environment_id,
1260
+ createdAt: Number(row.created_at),
1261
+ updatedAt: Number(row.updated_at),
1262
+ };
1263
+ }
1264
+
1265
+ async delete(
1266
+ identityAccountId: string,
1267
+ resourceId: string,
1268
+ orgId: string,
1269
+ ): Promise<void> {
1270
+ await this.open().query(
1271
+ `DELETE FROM oauth_grant
1272
+ WHERE identity_account_id = $1 AND resource_id = $2 AND org_id = $3`,
1273
+ [identityAccountId, resourceId, orgId],
1274
+ );
1275
+ }
1276
+
1277
+ async deleteByResourceId(resourceId: string, orgId: string): Promise<number> {
1278
+ const result = await this.open().query(
1279
+ `DELETE FROM oauth_grant
1280
+ WHERE resource_id = $1 AND org_id = $2`,
1281
+ [resourceId, orgId],
1282
+ );
1283
+ return result.rowCount ?? 0;
1284
+ }
1285
+ }
1286
+
1287
+ // =============================================================================
1288
+ // MCP pending OAuth state
1289
+ // =============================================================================
1290
+
1291
+ class PostgresPendingOAuthStateStore implements PendingOAuthStateStore {
1292
+ constructor(private readonly open: () => Pool) {}
1293
+
1294
+ async save(state: PendingOAuthState): Promise<void> {
1295
+ const createdAt =
1296
+ state.createdAt !== 0 ? state.createdAt : Math.floor(Date.now() / 1000);
1297
+ await this.open().query(
1298
+ `INSERT INTO pending_oauth_state (
1299
+ state, code_verifier, client_id, client_secret, token_endpoint,
1300
+ mcp_server_id, identity_account_id, target_env_var, auth_method,
1301
+ token_auth_method, redirect_uri, org, created_at
1302
+ ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13)`,
1303
+ [
1304
+ state.state,
1305
+ state.codeVerifier,
1306
+ state.clientId,
1307
+ state.clientSecret,
1308
+ state.tokenEndpoint,
1309
+ state.mcpServerId,
1310
+ state.identityAccountId,
1311
+ state.targetEnvVar,
1312
+ state.authMethod,
1313
+ state.tokenAuthMethod,
1314
+ state.redirectUri,
1315
+ state.org,
1316
+ createdAt,
1317
+ ],
1318
+ );
1319
+ }
1320
+
1321
+ async getAndDelete(
1322
+ stateParam: string,
1323
+ ): Promise<PendingOAuthState | undefined> {
1324
+ // DELETE ... RETURNING is the at-most-once redemption in one atomic
1325
+ // statement — the same contract sqlite implements as a read+delete
1326
+ // transaction.
1327
+ const result = await this.open().query(
1328
+ `DELETE FROM pending_oauth_state WHERE state = $1
1329
+ RETURNING state, code_verifier, client_id, client_secret, token_endpoint,
1330
+ mcp_server_id, identity_account_id, target_env_var, auth_method,
1331
+ token_auth_method, redirect_uri, org, created_at`,
1332
+ [stateParam],
1333
+ );
1334
+ const row = result.rows[0] as
1335
+ | {
1336
+ state: string;
1337
+ code_verifier: string;
1338
+ client_id: string;
1339
+ client_secret: string;
1340
+ token_endpoint: string;
1341
+ mcp_server_id: string;
1342
+ identity_account_id: string;
1343
+ target_env_var: string;
1344
+ auth_method: string;
1345
+ token_auth_method: string;
1346
+ redirect_uri: string;
1347
+ org: string;
1348
+ created_at: string | number;
1349
+ }
1350
+ | undefined;
1351
+
1352
+ if (row === undefined) {
1353
+ return undefined;
1354
+ }
1355
+
1356
+ const createdAt = Number(row.created_at);
1357
+ const ageMs = Date.now() - createdAt * 1000;
1358
+ if (ageMs > PENDING_OAUTH_STATE_TTL_MS) {
1359
+ return undefined; // expired: deleted on the way out, never redeemed
1360
+ }
1361
+
1362
+ return {
1363
+ state: row.state,
1364
+ codeVerifier: row.code_verifier,
1365
+ clientId: row.client_id,
1366
+ clientSecret: row.client_secret,
1367
+ tokenEndpoint: row.token_endpoint,
1368
+ mcpServerId: row.mcp_server_id,
1369
+ identityAccountId: row.identity_account_id,
1370
+ targetEnvVar: row.target_env_var,
1371
+ authMethod: row.auth_method,
1372
+ tokenAuthMethod: row.token_auth_method,
1373
+ redirectUri: row.redirect_uri,
1374
+ org: row.org,
1375
+ createdAt,
1376
+ };
1377
+ }
1378
+
1379
+ async cleanupExpired(): Promise<number> {
1380
+ const cutoff =
1381
+ Math.floor(Date.now() / 1000) - PENDING_OAUTH_STATE_TTL_MS / 1000;
1382
+ const result = await this.open().query(
1383
+ `DELETE FROM pending_oauth_state WHERE created_at < $1`,
1384
+ [cutoff],
1385
+ );
1386
+ return result.rowCount ?? 0;
1387
+ }
1388
+ }
1389
+
1390
+ /** Escapes LIKE metacharacters so a prefix matches literally. */
1391
+ function escapeLikePattern(value: string): string {
1392
+ return value
1393
+ .replaceAll("\\", "\\\\")
1394
+ .replaceAll("%", "\\%")
1395
+ .replaceAll("_", "\\_");
1396
+ }