@plumbus/core 0.4.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/README.md +2 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/ai/ai/cost-tracker.d.ts +93 -0
  4. package/dist/ai/ai/derive-ledger-usage.d.ts +10 -0
  5. package/dist/ai/ai/model-pricing.d.ts +51 -0
  6. package/dist/ai/ai/provider.d.ts +214 -0
  7. package/dist/ai/ai/refusal.d.ts +27 -0
  8. package/dist/ai/ai/usage-client.d.ts +30 -0
  9. package/dist/ai/ai-service.d.ts +1 -1
  10. package/dist/ai/ai-service.d.ts.map +1 -1
  11. package/dist/ai/ai-service.js +21 -16
  12. package/dist/ai/ai-service.js.map +1 -1
  13. package/dist/ai/cost-tracker.d.ts +17 -1
  14. package/dist/ai/cost-tracker.d.ts.map +1 -1
  15. package/dist/ai/cost-tracker.js +8 -6
  16. package/dist/ai/cost-tracker.js.map +1 -1
  17. package/dist/ai/derive-ledger-usage.d.ts +11 -0
  18. package/dist/ai/derive-ledger-usage.d.ts.map +1 -0
  19. package/dist/ai/derive-ledger-usage.js +36 -0
  20. package/dist/ai/derive-ledger-usage.js.map +1 -0
  21. package/dist/ai/index.d.ts +1 -0
  22. package/dist/ai/index.d.ts.map +1 -1
  23. package/dist/ai/index.js +1 -0
  24. package/dist/ai/index.js.map +1 -1
  25. package/dist/ai/types/config.d.ts +72 -0
  26. package/dist/ai/types/enums.d.ts +73 -0
  27. package/dist/api/route-generator.d.ts.map +1 -1
  28. package/dist/api/route-generator.js +27 -14
  29. package/dist/api/route-generator.js.map +1 -1
  30. package/dist/cli/cli.d.ts.map +1 -1
  31. package/dist/cli/cli.js +3 -1
  32. package/dist/cli/cli.js.map +1 -1
  33. package/dist/cli/commands/dev.d.ts.map +1 -1
  34. package/dist/cli/commands/dev.js +38 -149
  35. package/dist/cli/commands/dev.js.map +1 -1
  36. package/dist/cli/commands/doctor.d.ts +6 -0
  37. package/dist/cli/commands/doctor.d.ts.map +1 -1
  38. package/dist/cli/commands/doctor.js +92 -4
  39. package/dist/cli/commands/doctor.js.map +1 -1
  40. package/dist/cli/commands/event.d.ts.map +1 -1
  41. package/dist/cli/commands/event.js +3 -0
  42. package/dist/cli/commands/event.js.map +1 -1
  43. package/dist/cli/commands/events-ops.d.ts +4 -0
  44. package/dist/cli/commands/events-ops.d.ts.map +1 -0
  45. package/dist/cli/commands/events-ops.js +203 -0
  46. package/dist/cli/commands/events-ops.js.map +1 -0
  47. package/dist/cli/commands/flow-schedule-list.d.ts +31 -0
  48. package/dist/cli/commands/flow-schedule-list.d.ts.map +1 -0
  49. package/dist/cli/commands/flow-schedule-list.js +93 -0
  50. package/dist/cli/commands/flow-schedule-list.js.map +1 -0
  51. package/dist/cli/commands/flow.d.ts.map +1 -1
  52. package/dist/cli/commands/flow.js +75 -1
  53. package/dist/cli/commands/flow.js.map +1 -1
  54. package/dist/cli/commands/generate.d.ts +4 -0
  55. package/dist/cli/commands/generate.d.ts.map +1 -1
  56. package/dist/cli/commands/generate.js +94 -3
  57. package/dist/cli/commands/generate.js.map +1 -1
  58. package/dist/cli/commands/index.d.ts +2 -0
  59. package/dist/cli/commands/index.d.ts.map +1 -1
  60. package/dist/cli/commands/index.js +2 -0
  61. package/dist/cli/commands/index.js.map +1 -1
  62. package/dist/cli/commands/init.d.ts +1 -1
  63. package/dist/cli/commands/init.d.ts.map +1 -1
  64. package/dist/cli/commands/init.js +55 -4
  65. package/dist/cli/commands/init.js.map +1 -1
  66. package/dist/cli/commands/mcp.d.ts.map +1 -1
  67. package/dist/cli/commands/mcp.js +2 -0
  68. package/dist/cli/commands/mcp.js.map +1 -1
  69. package/dist/cli/commands/start.d.ts +3 -6
  70. package/dist/cli/commands/start.d.ts.map +1 -1
  71. package/dist/cli/commands/start.js +71 -180
  72. package/dist/cli/commands/start.js.map +1 -1
  73. package/dist/cli/commands/verify.d.ts +3 -1
  74. package/dist/cli/commands/verify.d.ts.map +1 -1
  75. package/dist/cli/commands/verify.js +17 -9
  76. package/dist/cli/commands/verify.js.map +1 -1
  77. package/dist/cli/commands/voice.d.ts +12 -0
  78. package/dist/cli/commands/voice.d.ts.map +1 -0
  79. package/dist/cli/commands/voice.js +109 -0
  80. package/dist/cli/commands/voice.js.map +1 -0
  81. package/dist/cli/commands/worker.d.ts +19 -0
  82. package/dist/cli/commands/worker.d.ts.map +1 -0
  83. package/dist/cli/commands/worker.js +234 -0
  84. package/dist/cli/commands/worker.js.map +1 -0
  85. package/dist/cli/mcp-serve-context.d.ts +3 -0
  86. package/dist/cli/mcp-serve-context.d.ts.map +1 -1
  87. package/dist/cli/mcp-serve-context.js +133 -111
  88. package/dist/cli/mcp-serve-context.js.map +1 -1
  89. package/dist/cli/templates/resources.d.ts.map +1 -1
  90. package/dist/cli/templates/resources.js +7 -2
  91. package/dist/cli/templates/resources.js.map +1 -1
  92. package/dist/cli/utils.d.ts +4 -0
  93. package/dist/cli/utils.d.ts.map +1 -1
  94. package/dist/cli/utils.js +9 -0
  95. package/dist/cli/utils.js.map +1 -1
  96. package/dist/cli/voice-agent-bootstrap.d.ts +22 -0
  97. package/dist/cli/voice-agent-bootstrap.d.ts.map +1 -0
  98. package/dist/cli/voice-agent-bootstrap.js +12 -0
  99. package/dist/cli/voice-agent-bootstrap.js.map +1 -0
  100. package/dist/cli/voice-serve-context.d.ts +7 -0
  101. package/dist/cli/voice-serve-context.d.ts.map +1 -0
  102. package/dist/cli/voice-serve-context.js +26 -0
  103. package/dist/cli/voice-serve-context.js.map +1 -0
  104. package/dist/data/drift-inspector.d.ts +2 -2
  105. package/dist/data/drift-inspector.d.ts.map +1 -1
  106. package/dist/data/drift-inspector.js +2 -1
  107. package/dist/data/drift-inspector.js.map +1 -1
  108. package/dist/data/migration.d.ts.map +1 -1
  109. package/dist/data/migration.js +2 -0
  110. package/dist/data/migration.js.map +1 -1
  111. package/dist/define/defineCapability.d.ts +5 -0
  112. package/dist/define/defineCapability.d.ts.map +1 -1
  113. package/dist/define/defineCapability.js +23 -0
  114. package/dist/define/defineCapability.js.map +1 -1
  115. package/dist/errors/http.d.ts.map +1 -1
  116. package/dist/errors/http.js +1 -0
  117. package/dist/errors/http.js.map +1 -1
  118. package/dist/errors/index.d.ts.map +1 -1
  119. package/dist/errors/index.js +1 -0
  120. package/dist/errors/index.js.map +1 -1
  121. package/dist/events/dispatcher.d.ts +4 -0
  122. package/dist/events/dispatcher.d.ts.map +1 -1
  123. package/dist/events/dispatcher.js +24 -1
  124. package/dist/events/dispatcher.js.map +1 -1
  125. package/dist/events/emitter.d.ts +2 -0
  126. package/dist/events/emitter.d.ts.map +1 -1
  127. package/dist/events/emitter.js +6 -3
  128. package/dist/events/emitter.js.map +1 -1
  129. package/dist/events/queue-adapter.d.ts +7 -0
  130. package/dist/events/queue-adapter.d.ts.map +1 -0
  131. package/dist/events/queue-adapter.js +4 -0
  132. package/dist/events/queue-adapter.js.map +1 -0
  133. package/dist/events/queue.d.ts +16 -13
  134. package/dist/events/queue.d.ts.map +1 -1
  135. package/dist/events/queue.js +79 -22
  136. package/dist/events/queue.js.map +1 -1
  137. package/dist/events/worker.d.ts +4 -0
  138. package/dist/events/worker.d.ts.map +1 -1
  139. package/dist/events/worker.js +47 -1
  140. package/dist/events/worker.js.map +1 -1
  141. package/dist/execution/canonical-name.d.ts +13 -0
  142. package/dist/execution/canonical-name.d.ts.map +1 -0
  143. package/dist/execution/canonical-name.js +17 -0
  144. package/dist/execution/canonical-name.js.map +1 -0
  145. package/dist/execution/capability-executor.d.ts +1 -1
  146. package/dist/execution/capability-executor.d.ts.map +1 -1
  147. package/dist/execution/capability-executor.js +52 -24
  148. package/dist/execution/capability-executor.js.map +1 -1
  149. package/dist/execution/capability-invocation.d.ts +34 -0
  150. package/dist/execution/capability-invocation.d.ts.map +1 -0
  151. package/dist/execution/capability-invocation.js +138 -0
  152. package/dist/execution/capability-invocation.js.map +1 -0
  153. package/dist/execution/capability-registry.d.ts +6 -4
  154. package/dist/execution/capability-registry.d.ts.map +1 -1
  155. package/dist/execution/capability-registry.js +13 -7
  156. package/dist/execution/capability-registry.js.map +1 -1
  157. package/dist/execution/context-factory.d.ts.map +1 -1
  158. package/dist/execution/context-factory.js +18 -1
  159. package/dist/execution/context-factory.js.map +1 -1
  160. package/dist/execution/index.d.ts +4 -0
  161. package/dist/execution/index.d.ts.map +1 -1
  162. package/dist/execution/index.js +2 -0
  163. package/dist/execution/index.js.map +1 -1
  164. package/dist/execution/invocation-emit-scope.d.ts +11 -0
  165. package/dist/execution/invocation-emit-scope.d.ts.map +1 -0
  166. package/dist/execution/invocation-emit-scope.js +8 -0
  167. package/dist/execution/invocation-emit-scope.js.map +1 -0
  168. package/dist/flows/engine.d.ts +7 -1
  169. package/dist/flows/engine.d.ts.map +1 -1
  170. package/dist/flows/engine.js +75 -10
  171. package/dist/flows/engine.js.map +1 -1
  172. package/dist/flows/flow-delayed.d.ts +34 -0
  173. package/dist/flows/flow-delayed.d.ts.map +1 -0
  174. package/dist/flows/flow-delayed.js +60 -0
  175. package/dist/flows/flow-delayed.js.map +1 -0
  176. package/dist/flows/flow-queue.d.ts +10 -0
  177. package/dist/flows/flow-queue.d.ts.map +1 -0
  178. package/dist/flows/flow-queue.js +25 -0
  179. package/dist/flows/flow-queue.js.map +1 -0
  180. package/dist/flows/scheduler.d.ts +0 -12
  181. package/dist/flows/scheduler.d.ts.map +1 -1
  182. package/dist/flows/scheduler.js +15 -0
  183. package/dist/flows/scheduler.js.map +1 -1
  184. package/dist/flows/schema.d.ts +17 -0
  185. package/dist/flows/schema.d.ts.map +1 -1
  186. package/dist/flows/schema.js +2 -0
  187. package/dist/flows/schema.js.map +1 -1
  188. package/dist/flows/step-consumer.d.ts +24 -0
  189. package/dist/flows/step-consumer.d.ts.map +1 -0
  190. package/dist/flows/step-consumer.js +72 -0
  191. package/dist/flows/step-consumer.js.map +1 -0
  192. package/dist/flows/triggers.d.ts +1 -1
  193. package/dist/flows/triggers.d.ts.map +1 -1
  194. package/dist/flows/triggers.js +5 -7
  195. package/dist/flows/triggers.js.map +1 -1
  196. package/dist/governance/capability-source-scan.d.ts +7 -0
  197. package/dist/governance/capability-source-scan.d.ts.map +1 -0
  198. package/dist/governance/capability-source-scan.js +80 -0
  199. package/dist/governance/capability-source-scan.js.map +1 -0
  200. package/dist/governance/rules/architecture.d.ts.map +1 -1
  201. package/dist/governance/rules/architecture.js +2 -0
  202. package/dist/governance/rules/architecture.js.map +1 -1
  203. package/dist/governance/rules/capability-dependencies.d.ts +8 -0
  204. package/dist/governance/rules/capability-dependencies.d.ts.map +1 -0
  205. package/dist/governance/rules/capability-dependencies.js +195 -0
  206. package/dist/governance/rules/capability-dependencies.js.map +1 -0
  207. package/dist/governance/rules/index.d.ts +2 -0
  208. package/dist/governance/rules/index.d.ts.map +1 -1
  209. package/dist/governance/rules/index.js +2 -0
  210. package/dist/governance/rules/index.js.map +1 -1
  211. package/dist/governance/rules/worker.d.ts +9 -0
  212. package/dist/governance/rules/worker.d.ts.map +1 -0
  213. package/dist/governance/rules/worker.js +89 -0
  214. package/dist/governance/rules/worker.js.map +1 -0
  215. package/dist/index.d.ts +8 -3
  216. package/dist/index.d.ts.map +1 -1
  217. package/dist/index.js +4 -2
  218. package/dist/index.js.map +1 -1
  219. package/dist/jobs/dispatch.d.ts +18 -0
  220. package/dist/jobs/dispatch.d.ts.map +1 -0
  221. package/dist/jobs/dispatch.js +50 -0
  222. package/dist/jobs/dispatch.js.map +1 -0
  223. package/dist/jobs/index.d.ts +9 -0
  224. package/dist/jobs/index.d.ts.map +1 -0
  225. package/dist/jobs/index.js +8 -0
  226. package/dist/jobs/index.js.map +1 -0
  227. package/dist/jobs/routes.d.ts +10 -0
  228. package/dist/jobs/routes.d.ts.map +1 -0
  229. package/dist/jobs/routes.js +44 -0
  230. package/dist/jobs/routes.js.map +1 -0
  231. package/dist/jobs/schema.d.ts +264 -0
  232. package/dist/jobs/schema.d.ts.map +1 -0
  233. package/dist/jobs/schema.js +34 -0
  234. package/dist/jobs/schema.js.map +1 -0
  235. package/dist/jobs/service.d.ts +52 -0
  236. package/dist/jobs/service.d.ts.map +1 -0
  237. package/dist/jobs/service.js +168 -0
  238. package/dist/jobs/service.js.map +1 -0
  239. package/dist/jobs/types.d.ts +30 -0
  240. package/dist/jobs/types.d.ts.map +1 -0
  241. package/dist/jobs/types.js +4 -0
  242. package/dist/jobs/types.js.map +1 -0
  243. package/dist/mcp/manifest-generator.d.ts.map +1 -1
  244. package/dist/mcp/manifest-generator.js +3 -2
  245. package/dist/mcp/manifest-generator.js.map +1 -1
  246. package/dist/observability/metrics.d.ts +9 -1
  247. package/dist/observability/metrics.d.ts.map +1 -1
  248. package/dist/observability/metrics.js +28 -1
  249. package/dist/observability/metrics.js.map +1 -1
  250. package/dist/runtime/bootstrap.d.ts +51 -0
  251. package/dist/runtime/bootstrap.d.ts.map +1 -0
  252. package/dist/runtime/bootstrap.js +140 -0
  253. package/dist/runtime/bootstrap.js.map +1 -0
  254. package/dist/runtime/index.d.ts +7 -0
  255. package/dist/runtime/index.d.ts.map +1 -0
  256. package/dist/runtime/index.js +6 -0
  257. package/dist/runtime/index.js.map +1 -0
  258. package/dist/runtime/load-extensions.d.ts +4 -0
  259. package/dist/runtime/load-extensions.d.ts.map +1 -0
  260. package/dist/runtime/load-extensions.js +41 -0
  261. package/dist/runtime/load-extensions.js.map +1 -0
  262. package/dist/runtime/queue-factory.d.ts +44 -0
  263. package/dist/runtime/queue-factory.d.ts.map +1 -0
  264. package/dist/runtime/queue-factory.js +156 -0
  265. package/dist/runtime/queue-factory.js.map +1 -0
  266. package/dist/runtime/register-consumers.d.ts +29 -0
  267. package/dist/runtime/register-consumers.d.ts.map +1 -0
  268. package/dist/runtime/register-consumers.js +233 -0
  269. package/dist/runtime/register-consumers.js.map +1 -0
  270. package/dist/runtime/start-worker-pool.d.ts +32 -0
  271. package/dist/runtime/start-worker-pool.d.ts.map +1 -0
  272. package/dist/runtime/start-worker-pool.js +91 -0
  273. package/dist/runtime/start-worker-pool.js.map +1 -0
  274. package/dist/runtime/worker-health.d.ts +19 -0
  275. package/dist/runtime/worker-health.d.ts.map +1 -0
  276. package/dist/runtime/worker-health.js +41 -0
  277. package/dist/runtime/worker-health.js.map +1 -0
  278. package/dist/server/bootstrap.d.ts +6 -0
  279. package/dist/server/bootstrap.d.ts.map +1 -1
  280. package/dist/server/bootstrap.js +24 -1
  281. package/dist/server/bootstrap.js.map +1 -1
  282. package/dist/testing/context.d.ts +3 -0
  283. package/dist/testing/context.d.ts.map +1 -1
  284. package/dist/testing/context.js +12 -0
  285. package/dist/testing/context.js.map +1 -1
  286. package/dist/testing/e2e.d.ts +6 -0
  287. package/dist/testing/e2e.d.ts.map +1 -1
  288. package/dist/testing/e2e.js +2 -0
  289. package/dist/testing/e2e.js.map +1 -1
  290. package/dist/testing/simulate-flow.d.ts.map +1 -1
  291. package/dist/testing/simulate-flow.js +10 -0
  292. package/dist/testing/simulate-flow.js.map +1 -1
  293. package/dist/types/capability.d.ts +8 -0
  294. package/dist/types/capability.d.ts.map +1 -1
  295. package/dist/types/capability.js.map +1 -1
  296. package/dist/types/config.d.ts +2 -0
  297. package/dist/types/config.d.ts.map +1 -1
  298. package/dist/types/context.d.ts +49 -1
  299. package/dist/types/context.d.ts.map +1 -1
  300. package/dist/types/enums.d.ts +1 -0
  301. package/dist/types/enums.d.ts.map +1 -1
  302. package/dist/types/enums.js +1 -0
  303. package/dist/types/enums.js.map +1 -1
  304. package/dist/types/errors.d.ts +1 -0
  305. package/dist/types/errors.d.ts.map +1 -1
  306. package/dist/types/event.d.ts +10 -0
  307. package/dist/types/event.d.ts.map +1 -1
  308. package/dist/types/event.js +5 -1
  309. package/dist/types/event.js.map +1 -1
  310. package/dist/worker/bootstrap.d.ts +32 -1
  311. package/dist/worker/bootstrap.d.ts.map +1 -1
  312. package/dist/worker/bootstrap.js +166 -2
  313. package/dist/worker/bootstrap.js.map +1 -1
  314. package/instructions/capabilities.md +36 -1
  315. package/instructions/deployment.md +96 -11
  316. package/instructions/events.md +11 -0
  317. package/instructions/flows.md +12 -4
  318. package/instructions/governance.md +6 -0
  319. package/instructions/mcp.md +1 -1
  320. package/instructions/patterns.md +1 -0
  321. package/instructions/security.md +9 -0
  322. package/instructions/testing.md +12 -1
  323. package/instructions/upgrading-0.5-capabilities.md +181 -0
  324. package/package.json +16 -4
@@ -7,6 +7,8 @@ export interface CapabilityEffects {
7
7
  events: string[];
8
8
  external: string[];
9
9
  flows?: string[];
10
+ /** Canonical capability names this capability may invoke via ctx.capabilities.invoke */
11
+ capabilities?: string[];
10
12
  ai: boolean;
11
13
  }
12
14
  export interface CapabilityAuditConfig {
@@ -84,6 +86,10 @@ export interface ApiExposureConfig {
84
86
  docs?: ApiDocsConfig;
85
87
  deprecation?: ApiDeprecationConfig;
86
88
  }
89
+ export interface EventHandlerTrigger {
90
+ event: string;
91
+ versionConstraint?: string;
92
+ }
87
93
  export interface CapabilityContract<TInput extends z.ZodTypeAny = z.ZodTypeAny, TOutput extends z.ZodTypeAny = z.ZodTypeAny> {
88
94
  name: string;
89
95
  kind: CapabilityKind;
@@ -104,6 +110,8 @@ export interface CapabilityContract<TInput extends z.ZodTypeAny = z.ZodTypeAny,
104
110
  mcp?: McpExposureConfig;
105
111
  /** API-specific metadata when `exposeAs` includes `'api'` */
106
112
  api?: ApiExposureConfig;
113
+ /** Event subscription for kind: 'eventHandler' — optional; enables auto-registration */
114
+ trigger?: EventHandlerTrigger;
107
115
  handler: (ctx: ExecutionContext, input: z.infer<TInput>) => Promise<z.infer<TOutput>>;
108
116
  }
109
117
  //# sourceMappingURL=capability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/types/capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/types/capability.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/types/capability.ts"],"names":[],"mappings":"AAyCA,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAGX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC"}
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/types/capability.ts"],"names":[],"mappings":"AA2CA,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAGX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC"}
@@ -13,6 +13,8 @@ export interface QueueConfig {
13
13
  port: number;
14
14
  password?: string;
15
15
  prefix?: string;
16
+ /** Visibility timeout for Redis queue processing recovery (seconds, default 30). */
17
+ visibilityTimeoutSec?: number;
16
18
  }
17
19
  export interface AIProviderConfig {
18
20
  provider: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAGnE,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,eAAe,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC5C,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACvD;AAGD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACzC;AAGD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,yCAAyC;IACzC,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;CACjD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAGnE,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,eAAe,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC5C,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACvD;AAGD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACzC;AAGD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,yCAAyC;IACzC,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;CACjD"}
@@ -1,8 +1,11 @@
1
1
  import type { z } from 'zod';
2
+ import type { AICostRecordInput } from '../ai/cost-tracker.js';
2
3
  import type { ChatMessage } from '../ai/provider.js';
3
4
  import type { AuditService } from './audit.js';
4
5
  import type { ErrorService } from './errors.js';
5
- import type { RegisteredAppConfig, RegisteredEntities, RegisteredEventName, RegisteredEventPayloadMap, RegisteredFlowName } from './registry.js';
6
+ import type { RegisteredAppConfig, RegisteredCapabilityName, RegisteredEntities, RegisteredEventName, RegisteredEventPayloadMap, RegisteredFlowName } from './registry.js';
7
+ import type { InvocationEmitScope } from '../execution/invocation-emit-scope.js';
8
+ import type { CapabilityContract } from './capability.js';
6
9
  import type { AuthContext } from './security.js';
7
10
  import type { TranslationService } from './translation.js';
8
11
  export interface QueryOptions {
@@ -145,6 +148,20 @@ export interface AICostContext {
145
148
  relatedEntityId?: string;
146
149
  }
147
150
  export interface AIService {
151
+ /**
152
+ * Record provider-side spend directly when a caller already has normalized
153
+ * cost metadata (for example voice/media adapters that do not flow through
154
+ * token-based `generate*` helpers).
155
+ */
156
+ recordProviderCost(entry: AICostRecordInput, costContext?: AICostContext): Promise<void>;
157
+ /**
158
+ * Pre-check shared daily/per-request budgets before non-token provider work
159
+ * such as voice STT/TTS/transport adapters.
160
+ */
161
+ checkProviderCostBudget(config?: {
162
+ estimatedTokens?: number;
163
+ estimatedCostUsd?: number;
164
+ }): void;
148
165
  generate(config: {
149
166
  prompt: string;
150
167
  input: Record<string, unknown>;
@@ -232,6 +249,29 @@ export interface TimeService {
232
249
  now(): Date;
233
250
  }
234
251
  export type ConfigService = RegisteredAppConfig;
252
+ export interface CapabilityService {
253
+ invoke(name: RegisteredCapabilityName, input: unknown): Promise<unknown>;
254
+ }
255
+ export interface ExecutionRuntimeMetadata {
256
+ invokeCapability?: (name: string, ctx: ExecutionContext, input: unknown) => Promise<{
257
+ success: true;
258
+ data: unknown;
259
+ } | {
260
+ success: false;
261
+ error: {
262
+ code: string;
263
+ message: string;
264
+ metadata?: Record<string, unknown>;
265
+ };
266
+ }>;
267
+ resolveCapability?: (name: string) => CapabilityContract | undefined;
268
+ capabilityStack?: readonly string[];
269
+ correlationId?: string;
270
+ /** Canonical name of the capability that invoked the current handler (for nested audit/events). */
271
+ invocationCaller?: string;
272
+ /** @internal Mutable emit causation scope — not visible to capability handlers. */
273
+ invocationEmitScope?: InvocationEmitScope;
274
+ }
235
275
  export interface SecurityService {
236
276
  /** Check if the current user has a specific role */
237
277
  hasRole(role: string): boolean;
@@ -259,6 +299,11 @@ export interface ContextDependencies {
259
299
  translations?: TranslationService;
260
300
  request?: RequestMeta;
261
301
  progress?: ProgressService;
302
+ invokeCapability?: ExecutionRuntimeMetadata['invokeCapability'];
303
+ resolveCapability?: ExecutionRuntimeMetadata['resolveCapability'];
304
+ correlationId?: string;
305
+ /** @internal Wired by server/MCP bootstrap for nested event causation. */
306
+ invocationEmitScope?: ExecutionRuntimeMetadata['invocationEmitScope'];
262
307
  }
263
308
  export interface RequestMeta {
264
309
  /** Client IP address (may reflect X-Forwarded-For when behind a proxy) */
@@ -279,8 +324,11 @@ export interface ExecutionContext {
279
324
  config: ConfigService;
280
325
  security: SecurityService;
281
326
  translations: TranslationService;
327
+ capabilities: CapabilityService;
282
328
  /** HTTP request metadata (IP, User-Agent) — present when invoked via HTTP */
283
329
  request?: RequestMeta;
330
+ /** @internal Runtime-only invocation state — not part of the public SDK surface. */
331
+ __runtime?: ExecutionRuntimeMetadata;
284
332
  /** Worker process identity — present when running inside a flow worker */
285
333
  workerId?: string;
286
334
  state?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ export declare const ErrorCode: {
42
42
  readonly Internal: "internal";
43
43
  readonly LeaseLost: "leaseLost";
44
44
  readonly Cancelled: "cancelled";
45
+ readonly DependencyViolation: "dependencyViolation";
45
46
  };
46
47
  export type ErrorCode = (typeof ErrorCode)[keyof typeof ErrorCode];
47
48
  export declare const AuthRole: {
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/types/enums.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAGjG,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAGlF,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAG5E,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGrF,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAG5E,eAAO,MAAM,SAAS;;;;;;;;CAQZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAGnE,eAAO,MAAM,QAAQ;IACnB,+FAA+F;;CAEvF,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAGhE,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAG9F,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAG/E,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/types/enums.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAGjG,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAGlF,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAG5E,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGrF,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAG5E,eAAO,MAAM,SAAS;;;;;;;;;CASZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAGnE,eAAO,MAAM,QAAQ;IACnB,+FAA+F;;CAEvF,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAGhE,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAG9F,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAG/E,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC"}
@@ -43,6 +43,7 @@ export const ErrorCode = {
43
43
  Internal: 'internal',
44
44
  LeaseLost: 'leaseLost',
45
45
  Cancelled: 'cancelled',
46
+ DependencyViolation: 'dependencyViolation',
46
47
  };
47
48
  // ── Auth Role (well-known role names) ──
48
49
  export const AuthRole = {
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/types/enums.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,kBAAkB;CAC3B,CAAC;AAIX,wBAAwB;AACxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,YAAY,EAAE,cAAc;CACpB,CAAC;AAIX,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;CACd,CAAC;AAIX,yBAAyB;AACzB,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;CACN,CAAC;AAIX,sBAAsB;AACtB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;IACxB,UAAU,EAAE,cAAc;CAClB,CAAC;AAIX,mBAAmB;AACnB,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;CACd,CAAC;AAIX,0CAA0C;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,+FAA+F;IAC/F,MAAM,EAAE,QAAQ;CACR,CAAC;AAIX,4BAA4B;AAC5B,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX,uBAAuB;AACvB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,wBAAwB,EAAE,4BAA4B;CAC9C,CAAC;AAIX,+BAA+B;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;CACZ,CAAC"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/types/enums.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,kBAAkB;CAC3B,CAAC;AAIX,wBAAwB;AACxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,YAAY,EAAE,cAAc;CACpB,CAAC;AAIX,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;CACd,CAAC;AAIX,yBAAyB;AACzB,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;CACN,CAAC;AAIX,sBAAsB;AACtB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;IACxB,UAAU,EAAE,cAAc;CAClB,CAAC;AAIX,mBAAmB;AACnB,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,qBAAqB;CAClC,CAAC;AAIX,0CAA0C;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,+FAA+F;IAC/F,MAAM,EAAE,QAAQ;CACR,CAAC;AAIX,4BAA4B;AAC5B,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX,uBAAuB;AACvB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,wBAAwB,EAAE,4BAA4B;CAC9C,CAAC;AAIX,+BAA+B;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;CACZ,CAAC"}
@@ -10,5 +10,6 @@ export interface ErrorService {
10
10
  forbidden(message: string, metadata?: Record<string, unknown>): PlumbusErrorLike;
11
11
  conflict(message: string, metadata?: Record<string, unknown>): PlumbusErrorLike;
12
12
  internal(message: string, metadata?: Record<string, unknown>): PlumbusErrorLike;
13
+ dependencyViolation(message: string, metadata?: Record<string, unknown>): PlumbusErrorLike;
13
14
  }
14
15
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAKD,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IAChF,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;CACjF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAKD,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IAChF,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IAChF,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;CAC5F"}
@@ -17,5 +17,15 @@ export interface EventEnvelope<TPayload = unknown> {
17
17
  correlationId: string;
18
18
  causationId?: string;
19
19
  payload: TPayload;
20
+ /**
21
+ * Optional delivery metadata (not written to outbox). Used for trusted ops
22
+ * replay paths that bypass outbox tenant binding.
23
+ */
24
+ metadata?: Record<string, unknown>;
20
25
  }
26
+ /** Actors allowed to deliver events without a matching outbox row (ops replay). */
27
+ export declare const TrustedReplayActor: {
28
+ readonly OpsRetry: "ops-retry";
29
+ readonly OutboxReplay: "outbox-replay";
30
+ };
21
31
  //# sourceMappingURL=event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,OAAO,EAAE,QAAQ,CAAC;CACnB;AAGD,MAAM,WAAW,aAAa,CAAC,QAAQ,GAAG,OAAO;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,QAAQ,CAAC;CACnB"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,OAAO,EAAE,QAAQ,CAAC;CACnB;AAGD,MAAM,WAAW,aAAa,CAAC,QAAQ,GAAG,OAAO;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,QAAQ,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,mFAAmF;AACnF,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC"}
@@ -1,2 +1,6 @@
1
- export {};
1
+ /** Actors allowed to deliver events without a matching outbox row (ops replay). */
2
+ export const TrustedReplayActor = {
3
+ OpsRetry: 'ops-retry',
4
+ OutboxReplay: 'outbox-replay',
5
+ };
2
6
  //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AA+BA,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,eAAe;CACrB,CAAC"}
@@ -3,11 +3,16 @@ import type { ConsumerRegistry } from '../events/consumer-registry.js';
3
3
  import type { EventQueue } from '../events/queue.js';
4
4
  import type { EventRegistry } from '../events/registry.js';
5
5
  import type { FlowEngineConfig } from '../flows/engine.js';
6
+ import { createFlowEngine } from '../flows/engine.js';
6
7
  import type { FlowRegistry } from '../flows/registry.js';
7
8
  import type { StepExecutorDeps } from '../flows/step-executor.js';
9
+ import type { RedisClient } from '../events/queue.js';
10
+ import type { CapabilityRegistry } from '../execution/capability-registry.js';
11
+ import type { EntityRegistry } from '../data/registry.js';
8
12
  import type { AuditService } from '../types/audit.js';
9
13
  import type { PlumbusConfig } from '../types/config.js';
10
14
  import type { AIService, DataService, LoggerService } from '../types/context.js';
15
+ import type { PlumbusMetrics } from '../observability/metrics.js';
11
16
  import type { AuthContext } from '../types/security.js';
12
17
  export declare function assertFlowLeaseColumns(db: PostgresJsDatabase): Promise<void>;
13
18
  export interface WorkerPoolConfig {
@@ -15,8 +20,30 @@ export interface WorkerPoolConfig {
15
20
  config: PlumbusConfig;
16
21
  /** Database connection */
17
22
  db: PostgresJsDatabase;
18
- /** Event queue */
23
+ /** Events queue (outbox dispatcher + domain event delivery) */
19
24
  queue: EventQueue;
25
+ /** Jobs queue (async kind: 'job' capabilities). Defaults to queue when omitted. */
26
+ jobsQueue?: EventQueue;
27
+ /** Flows queue (step wake notifications). Defaults to queue when omitted. */
28
+ flowsQueue?: EventQueue;
29
+ /** When true, flow poll loop runs at reconciliation interval (queue handles immediate wake). */
30
+ queuesDurable?: boolean;
31
+ /** Close all queue backends (e.g. shared Redis connection). */
32
+ onQueuesClose?: () => Promise<void>;
33
+ /** Redis client for delayed flow promotion (durable deployments). */
34
+ redisClient?: RedisClient;
35
+ /** Flows queue Redis prefix for delayed sorted set. */
36
+ flowsPrefix?: string;
37
+ /** Refresh queue depth gauges (durable deployments). */
38
+ refreshQueueDepths?: () => Promise<void>;
39
+ /** Enqueue a flow step wake after flow start/trigger (optional). */
40
+ onFlowStepEnqueue?: (executionId: string, correlationId?: string) => Promise<void>;
41
+ /** Capability registry for auto consumer registration. */
42
+ capabilities?: CapabilityRegistry;
43
+ /** Entity registry for auto consumer registration. */
44
+ entities?: EntityRegistry;
45
+ /** Sync MCP task status when MCP-sourced jobs complete (optional @plumbus/mcp). */
46
+ onMcpJobComplete?: (jobId: string, result: 'completed' | 'failed', payload?: unknown, error?: unknown) => Promise<void>;
20
47
  /** Consumer registry */
21
48
  consumers: ConsumerRegistry;
22
49
  /** Flow registry */
@@ -27,6 +54,8 @@ export interface WorkerPoolConfig {
27
54
  audit?: AuditService;
28
55
  /** Optional logger */
29
56
  logger?: LoggerService;
57
+ /** Runtime metrics (optional — wired to worker /metrics endpoint). */
58
+ metrics?: PlumbusMetrics;
30
59
  /** Outbox poll interval ms (default: 1000) */
31
60
  outboxPollIntervalMs?: number;
32
61
  /** Scheduler poll interval ms (default: 60000) */
@@ -63,6 +92,8 @@ export interface WorkerPool {
63
92
  stop(): Promise<void>;
64
93
  /** Whether any worker is running */
65
94
  readonly isRunning: boolean;
95
+ /** Flow engine instance (for tests and consumer registration). */
96
+ readonly flowEngine: ReturnType<typeof createFlowEngine>;
66
97
  }
67
98
  /** Create and configure a worker pool with all background processes */
68
99
  export declare function createWorkerPool(poolConfig: WorkerPoolConfig): WorkerPool;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/worker/bootstrap.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA4DxD,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBlF;AAID,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,0BAA0B;IAC1B,EAAE,EAAE,kBAAkB,CAAC;IACvB,kBAAkB;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,wBAAwB;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,oBAAoB;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,sBAAsB;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,8CAA8C;IAC9C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kDAAkD;IAClD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0DAA0D;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,WAAW,CAAC;IACxD,oEAAoE;IACpE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,sEAAsE;IACtE,WAAW,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC9C,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kGAAkG;IAClG,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,4CAA4C;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,UAAU,CAkSzE"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/worker/bootstrap.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAK3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;AAGxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA4DxD,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBlF;AAID,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,0BAA0B;IAC1B,EAAE,EAAE,kBAAkB,CAAC;IACvB,+DAA+D;IAC/D,KAAK,EAAE,UAAU,CAAC;IAClB,mFAAmF;IACnF,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,gGAAgG;IAChG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,qEAAqE;IACrE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,0DAA0D;IAC1D,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,GAAG,QAAQ,EAC9B,OAAO,CAAC,EAAE,OAAO,EACjB,KAAK,CAAC,EAAE,OAAO,KACZ,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,oBAAoB;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,sBAAsB;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,sEAAsE;IACtE,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,8CAA8C;IAC9C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kDAAkD;IAClD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0DAA0D;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,WAAW,CAAC;IACxD,oEAAoE;IACpE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,sEAAsE;IACtE,WAAW,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC9C,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kGAAkG;IAClG,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,4CAA4C;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAC1D;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,UAAU,CAqdzE"}
@@ -8,12 +8,16 @@ import { createOutboxDispatcher } from '../events/dispatcher.js';
8
8
  import { createEventEmitter } from '../events/emitter.js';
9
9
  import { createIdempotencyService } from '../events/idempotency.js';
10
10
  import { createEventWorker } from '../events/worker.js';
11
+ import { buildCapabilityRuntimeDeps } from '../execution/capability-invocation.js';
11
12
  import { createExecutionContext } from '../execution/context-factory.js';
12
13
  import { createFlowEngine, generateWorkerId } from '../flows/engine.js';
13
14
  import { createFlowService } from '../flows/flow-service.js';
14
15
  import { FlowStatus } from '../flows/state-machine.js';
15
16
  import { createFlowScheduler } from '../flows/scheduler.js';
17
+ import { createFlowDelayedPromoter, scheduleDelayedFlowWake } from '../flows/flow-delayed.js';
18
+ import { createFlowStepConsumer } from '../flows/step-consumer.js';
16
19
  import { createFlowTriggerHandler } from '../flows/triggers.js';
20
+ import { registerCapabilityConsumers } from '../runtime/register-consumers.js';
17
21
  // ── Error description helper ──
18
22
  // Drizzle wraps the underlying driver error in `cause`, and its own `message`
19
23
  // is just the literal SQL with a "Failed query:" prefix. Without the cause
@@ -89,16 +93,31 @@ export async function assertFlowLeaseColumns(db) {
89
93
  }
90
94
  /** Create and configure a worker pool with all background processes */
91
95
  export function createWorkerPool(poolConfig) {
92
- const { db, queue, consumers, flows, stepDeps, audit, outboxPollIntervalMs = 1000, schedulerPollIntervalMs = 60_000, flowPollIntervalMs = 1000, enableDispatcher = true, enableEventWorker = true, enableScheduler = true, enableFlowRunner = true, } = poolConfig;
96
+ const { db, queue, consumers, flows, stepDeps, audit, outboxPollIntervalMs = 1000, schedulerPollIntervalMs = 60_000, flowPollIntervalMs: flowPollIntervalMsConfig = 1000, enableDispatcher = true, enableEventWorker = true, enableScheduler = true, enableFlowRunner = true, } = poolConfig;
97
+ const jobsQueue = poolConfig.jobsQueue ?? queue;
98
+ const flowsQueue = poolConfig.flowsQueue ?? queue;
99
+ const flowPollIntervalMs = poolConfig.queuesDurable
100
+ ? Math.max(flowPollIntervalMsConfig, 30_000)
101
+ : flowPollIntervalMsConfig;
93
102
  const logger = poolConfig.logger ?? createWorkerLogger();
103
+ const metrics = poolConfig.metrics;
94
104
  const eventRegistry = poolConfig.eventRegistry;
95
105
  // Idempotency service for event worker
96
106
  const idempotency = createIdempotencyService(db);
107
+ const systemWorkerAuth = {
108
+ userId: 'system-worker',
109
+ roles: ['system'],
110
+ scopes: [],
111
+ provider: 'worker',
112
+ };
113
+ const workerAudit = audit ?? createAuditService({ db, auth: systemWorkerAuth, component: 'event-worker' });
97
114
  // Outbox dispatcher
98
115
  const dispatcherConfig = {
99
116
  db,
100
117
  queue,
118
+ audit: workerAudit,
101
119
  pollIntervalMs: outboxPollIntervalMs,
120
+ metrics,
102
121
  };
103
122
  const dispatcher = enableDispatcher ? createOutboxDispatcher(dispatcherConfig) : null;
104
123
  // Event delivery worker
@@ -107,8 +126,20 @@ export function createWorkerPool(poolConfig) {
107
126
  queue,
108
127
  consumers,
109
128
  idempotency,
129
+ audit: workerAudit,
130
+ metrics,
110
131
  };
111
132
  const eventWorker = enableEventWorker ? createEventWorker(eventWorkerConfig) : null;
133
+ const jobEventWorker = enableEventWorker && jobsQueue !== queue
134
+ ? createEventWorker({
135
+ db,
136
+ queue: jobsQueue,
137
+ consumers,
138
+ idempotency,
139
+ audit: workerAudit,
140
+ metrics,
141
+ })
142
+ : null;
112
143
  // Flow engine + scheduler
113
144
  const { createDataService } = poolConfig;
114
145
  const flowEngineConfig = {
@@ -123,6 +154,17 @@ export function createWorkerPool(poolConfig) {
123
154
  flowHeartbeatIntervalMs: poolConfig.flowHeartbeatIntervalMs,
124
155
  flowClaimBatchSize: poolConfig.flowClaimBatchSize,
125
156
  logger,
157
+ onFlowStepEnqueue: poolConfig.queuesDurable ? poolConfig.onFlowStepEnqueue : undefined,
158
+ onFlowDelayedSchedule: poolConfig.queuesDurable && poolConfig.redisClient && poolConfig.flowsPrefix
159
+ ? async (executionId, wakeAt) => {
160
+ await scheduleDelayedFlowWake({
161
+ client: poolConfig.redisClient,
162
+ flowsPrefix: poolConfig.flowsPrefix,
163
+ executionId,
164
+ wakeAt,
165
+ });
166
+ }
167
+ : undefined,
126
168
  createDataService: createDataService ? (auth) => createDataService(auth) : undefined,
127
169
  createEventService: eventRegistry
128
170
  ? (auth) => createEventEmitter({
@@ -134,6 +176,21 @@ export function createWorkerPool(poolConfig) {
134
176
  : undefined,
135
177
  };
136
178
  const flowEngine = createFlowEngine(flowEngineConfig);
179
+ if (poolConfig.capabilities && poolConfig.entities && eventRegistry) {
180
+ registerCapabilityConsumers({
181
+ capabilities: poolConfig.capabilities,
182
+ consumers,
183
+ events: eventRegistry,
184
+ entities: poolConfig.entities,
185
+ db,
186
+ config: poolConfig.config,
187
+ flowEngine,
188
+ aiService: poolConfig.aiService,
189
+ logger,
190
+ metrics,
191
+ onMcpJobComplete: poolConfig.onMcpJobComplete,
192
+ });
193
+ }
137
194
  // Auto-register flow trigger consumer for all event-triggered flows
138
195
  const triggerEventTypes = new Set();
139
196
  for (const flow of flows.getAll()) {
@@ -200,6 +257,7 @@ export function createWorkerPool(poolConfig) {
200
257
  audit: systemAudit,
201
258
  logger,
202
259
  config: poolConfig.config,
260
+ ...(poolConfig.capabilities ? buildCapabilityRuntimeDeps(poolConfig.capabilities) : {}),
203
261
  });
204
262
  for (const row of claimed) {
205
263
  try {
@@ -272,8 +330,65 @@ export function createWorkerPool(poolConfig) {
272
330
  logger.error('Flow claim cycle failed', describeError(err));
273
331
  }
274
332
  }
333
+ function buildFlowRunnerContext() {
334
+ const systemAuth = {
335
+ userId: 'system-flow-runner',
336
+ roles: ['system'],
337
+ scopes: [],
338
+ provider: 'worker',
339
+ };
340
+ const systemAudit = audit ?? createAuditService({ db, auth: systemAuth });
341
+ const dataService = poolConfig.createDataService
342
+ ? poolConfig.createDataService()
343
+ : {};
344
+ const eventService = eventRegistry
345
+ ? createEventEmitter({
346
+ db,
347
+ auth: systemAuth,
348
+ registry: eventRegistry,
349
+ audit: systemAudit,
350
+ })
351
+ : undefined;
352
+ return createExecutionContext({
353
+ auth: systemAuth,
354
+ data: dataService,
355
+ events: eventService,
356
+ flows: createFlowService(flowEngine, systemAuth),
357
+ ai: poolConfig.aiService,
358
+ audit: systemAudit,
359
+ logger,
360
+ config: poolConfig.config,
361
+ ...(poolConfig.capabilities ? buildCapabilityRuntimeDeps(poolConfig.capabilities) : {}),
362
+ });
363
+ }
364
+ const flowStepConsumer = enableFlowRunner && flowsQueue
365
+ ? createFlowStepConsumer({
366
+ flowsQueue,
367
+ engine: flowEngine,
368
+ buildContext: buildFlowRunnerContext,
369
+ logger,
370
+ metrics,
371
+ onReenqueue: poolConfig.onFlowStepEnqueue
372
+ ? async (executionId) => {
373
+ await poolConfig.onFlowStepEnqueue?.(executionId);
374
+ }
375
+ : undefined,
376
+ })
377
+ : null;
378
+ const flowDelayedPromoter = enableFlowRunner && poolConfig.queuesDurable && poolConfig.redisClient && poolConfig.flowsPrefix
379
+ ? createFlowDelayedPromoter({
380
+ client: poolConfig.redisClient,
381
+ flowsPrefix: poolConfig.flowsPrefix,
382
+ flowsQueue,
383
+ logger,
384
+ })
385
+ : null;
386
+ let depthRefreshTimer = null;
275
387
  let running = false;
276
388
  return {
389
+ get flowEngine() {
390
+ return flowEngine;
391
+ },
277
392
  async start() {
278
393
  if (running)
279
394
  return;
@@ -308,6 +423,34 @@ export function createWorkerPool(poolConfig) {
308
423
  eventWorker.start();
309
424
  logger.info('Event delivery worker started');
310
425
  }
426
+ if (jobEventWorker) {
427
+ jobEventWorker.start();
428
+ logger.info('Job delivery worker started');
429
+ }
430
+ if (flowStepConsumer) {
431
+ flowStepConsumer.start();
432
+ logger.info('Flow step queue consumer started');
433
+ }
434
+ if (flowDelayedPromoter) {
435
+ flowDelayedPromoter.start();
436
+ logger.info('Flow delayed wake promoter started');
437
+ }
438
+ if (poolConfig.refreshQueueDepths && metrics) {
439
+ const refresh = async () => {
440
+ try {
441
+ await poolConfig.refreshQueueDepths?.();
442
+ }
443
+ catch (err) {
444
+ logger.warn('Queue depth refresh failed', {
445
+ error: err instanceof Error ? err.message : String(err),
446
+ });
447
+ }
448
+ };
449
+ await refresh();
450
+ depthRefreshTimer = setInterval(() => {
451
+ void refresh();
452
+ }, 15_000);
453
+ }
311
454
  logger.info('Worker pool started');
312
455
  },
313
456
  async stop() {
@@ -328,11 +471,32 @@ export function createWorkerPool(poolConfig) {
328
471
  dispatcher.stop();
329
472
  logger.info('Outbox dispatcher stopped');
330
473
  }
474
+ if (flowStepConsumer) {
475
+ flowStepConsumer.stop();
476
+ logger.info('Flow step queue consumer stopped');
477
+ }
478
+ if (flowDelayedPromoter) {
479
+ flowDelayedPromoter.stop();
480
+ logger.info('Flow delayed wake promoter stopped');
481
+ }
482
+ if (depthRefreshTimer) {
483
+ clearInterval(depthRefreshTimer);
484
+ depthRefreshTimer = null;
485
+ }
486
+ if (jobEventWorker && jobEventWorker !== eventWorker) {
487
+ jobEventWorker.stop();
488
+ logger.info('Job delivery worker stopped');
489
+ }
331
490
  if (eventWorker) {
332
491
  eventWorker.stop();
333
492
  logger.info('Event delivery worker stopped');
334
493
  }
335
- await queue.close();
494
+ if (poolConfig.onQueuesClose) {
495
+ await poolConfig.onQueuesClose();
496
+ }
497
+ else {
498
+ await queue.close();
499
+ }
336
500
  logger.info('Queue closed');
337
501
  running = false;
338
502
  logger.info('Worker pool stopped');