@plumbus/core 0.4.1 → 0.5.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 (309) hide show
  1. package/README.md +14 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/api/exposure.d.ts +4 -0
  4. package/dist/api/exposure.d.ts.map +1 -0
  5. package/dist/api/exposure.js +5 -0
  6. package/dist/api/exposure.js.map +1 -0
  7. package/dist/api/index.d.ts +1 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +2 -1
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/route-generator.d.ts.map +1 -1
  12. package/dist/api/route-generator.js +27 -14
  13. package/dist/api/route-generator.js.map +1 -1
  14. package/dist/cli/cli.d.ts.map +1 -1
  15. package/dist/cli/cli.js +3 -1
  16. package/dist/cli/cli.js.map +1 -1
  17. package/dist/cli/commands/api-manifest.d.ts +26 -0
  18. package/dist/cli/commands/api-manifest.d.ts.map +1 -0
  19. package/dist/cli/commands/api-manifest.js +54 -0
  20. package/dist/cli/commands/api-manifest.js.map +1 -0
  21. package/dist/cli/commands/api.d.ts +3 -0
  22. package/dist/cli/commands/api.d.ts.map +1 -0
  23. package/dist/cli/commands/api.js +179 -0
  24. package/dist/cli/commands/api.js.map +1 -0
  25. package/dist/cli/commands/dev.d.ts.map +1 -1
  26. package/dist/cli/commands/dev.js +38 -149
  27. package/dist/cli/commands/dev.js.map +1 -1
  28. package/dist/cli/commands/doctor.d.ts +6 -0
  29. package/dist/cli/commands/doctor.d.ts.map +1 -1
  30. package/dist/cli/commands/doctor.js +92 -4
  31. package/dist/cli/commands/doctor.js.map +1 -1
  32. package/dist/cli/commands/event.d.ts.map +1 -1
  33. package/dist/cli/commands/event.js +3 -0
  34. package/dist/cli/commands/event.js.map +1 -1
  35. package/dist/cli/commands/events-ops.d.ts +4 -0
  36. package/dist/cli/commands/events-ops.d.ts.map +1 -0
  37. package/dist/cli/commands/events-ops.js +203 -0
  38. package/dist/cli/commands/events-ops.js.map +1 -0
  39. package/dist/cli/commands/flow.d.ts.map +1 -1
  40. package/dist/cli/commands/flow.js +49 -1
  41. package/dist/cli/commands/flow.js.map +1 -1
  42. package/dist/cli/commands/generate.d.ts +4 -0
  43. package/dist/cli/commands/generate.d.ts.map +1 -1
  44. package/dist/cli/commands/generate.js +94 -3
  45. package/dist/cli/commands/generate.js.map +1 -1
  46. package/dist/cli/commands/index.d.ts +2 -0
  47. package/dist/cli/commands/index.d.ts.map +1 -1
  48. package/dist/cli/commands/index.js +3 -0
  49. package/dist/cli/commands/index.js.map +1 -1
  50. package/dist/cli/commands/init.d.ts +1 -1
  51. package/dist/cli/commands/init.d.ts.map +1 -1
  52. package/dist/cli/commands/init.js +41 -4
  53. package/dist/cli/commands/init.js.map +1 -1
  54. package/dist/cli/commands/mcp.d.ts.map +1 -1
  55. package/dist/cli/commands/mcp.js +2 -0
  56. package/dist/cli/commands/mcp.js.map +1 -1
  57. package/dist/cli/commands/start.d.ts +3 -6
  58. package/dist/cli/commands/start.d.ts.map +1 -1
  59. package/dist/cli/commands/start.js +71 -180
  60. package/dist/cli/commands/start.js.map +1 -1
  61. package/dist/cli/commands/verify.d.ts +3 -1
  62. package/dist/cli/commands/verify.d.ts.map +1 -1
  63. package/dist/cli/commands/verify.js +25 -3
  64. package/dist/cli/commands/verify.js.map +1 -1
  65. package/dist/cli/commands/worker.d.ts +19 -0
  66. package/dist/cli/commands/worker.d.ts.map +1 -0
  67. package/dist/cli/commands/worker.js +234 -0
  68. package/dist/cli/commands/worker.js.map +1 -0
  69. package/dist/cli/mcp-serve-context.d.ts +3 -0
  70. package/dist/cli/mcp-serve-context.d.ts.map +1 -1
  71. package/dist/cli/mcp-serve-context.js +16 -1
  72. package/dist/cli/mcp-serve-context.js.map +1 -1
  73. package/dist/cli/templates/resources.d.ts.map +1 -1
  74. package/dist/cli/templates/resources.js +13 -2
  75. package/dist/cli/templates/resources.js.map +1 -1
  76. package/dist/cli/utils.d.ts +4 -0
  77. package/dist/cli/utils.d.ts.map +1 -1
  78. package/dist/cli/utils.js +9 -0
  79. package/dist/cli/utils.js.map +1 -1
  80. package/dist/data/drift-inspector.d.ts +2 -2
  81. package/dist/data/drift-inspector.d.ts.map +1 -1
  82. package/dist/data/drift-inspector.js +2 -1
  83. package/dist/data/drift-inspector.js.map +1 -1
  84. package/dist/data/migration.d.ts.map +1 -1
  85. package/dist/data/migration.js +2 -0
  86. package/dist/data/migration.js.map +1 -1
  87. package/dist/define/defineCapability.d.ts +8 -2
  88. package/dist/define/defineCapability.d.ts.map +1 -1
  89. package/dist/define/defineCapability.js +104 -1
  90. package/dist/define/defineCapability.js.map +1 -1
  91. package/dist/errors/http.d.ts.map +1 -1
  92. package/dist/errors/http.js +1 -0
  93. package/dist/errors/http.js.map +1 -1
  94. package/dist/errors/index.d.ts.map +1 -1
  95. package/dist/errors/index.js +1 -0
  96. package/dist/errors/index.js.map +1 -1
  97. package/dist/events/dispatcher.d.ts +4 -0
  98. package/dist/events/dispatcher.d.ts.map +1 -1
  99. package/dist/events/dispatcher.js +24 -1
  100. package/dist/events/dispatcher.js.map +1 -1
  101. package/dist/events/emitter.d.ts +2 -0
  102. package/dist/events/emitter.d.ts.map +1 -1
  103. package/dist/events/emitter.js +6 -3
  104. package/dist/events/emitter.js.map +1 -1
  105. package/dist/events/queue-adapter.d.ts +7 -0
  106. package/dist/events/queue-adapter.d.ts.map +1 -0
  107. package/dist/events/queue-adapter.js +4 -0
  108. package/dist/events/queue-adapter.js.map +1 -0
  109. package/dist/events/queue.d.ts +16 -13
  110. package/dist/events/queue.d.ts.map +1 -1
  111. package/dist/events/queue.js +79 -22
  112. package/dist/events/queue.js.map +1 -1
  113. package/dist/events/worker.d.ts +4 -0
  114. package/dist/events/worker.d.ts.map +1 -1
  115. package/dist/events/worker.js +47 -1
  116. package/dist/events/worker.js.map +1 -1
  117. package/dist/execution/canonical-name.d.ts +13 -0
  118. package/dist/execution/canonical-name.d.ts.map +1 -0
  119. package/dist/execution/canonical-name.js +17 -0
  120. package/dist/execution/canonical-name.js.map +1 -0
  121. package/dist/execution/capability-executor.d.ts +1 -1
  122. package/dist/execution/capability-executor.d.ts.map +1 -1
  123. package/dist/execution/capability-executor.js +52 -24
  124. package/dist/execution/capability-executor.js.map +1 -1
  125. package/dist/execution/capability-invocation.d.ts +34 -0
  126. package/dist/execution/capability-invocation.d.ts.map +1 -0
  127. package/dist/execution/capability-invocation.js +138 -0
  128. package/dist/execution/capability-invocation.js.map +1 -0
  129. package/dist/execution/capability-registry.d.ts +6 -4
  130. package/dist/execution/capability-registry.d.ts.map +1 -1
  131. package/dist/execution/capability-registry.js +13 -7
  132. package/dist/execution/capability-registry.js.map +1 -1
  133. package/dist/execution/context-factory.d.ts.map +1 -1
  134. package/dist/execution/context-factory.js +12 -1
  135. package/dist/execution/context-factory.js.map +1 -1
  136. package/dist/execution/index.d.ts +4 -0
  137. package/dist/execution/index.d.ts.map +1 -1
  138. package/dist/execution/index.js +2 -0
  139. package/dist/execution/index.js.map +1 -1
  140. package/dist/execution/invocation-emit-scope.d.ts +11 -0
  141. package/dist/execution/invocation-emit-scope.d.ts.map +1 -0
  142. package/dist/execution/invocation-emit-scope.js +8 -0
  143. package/dist/execution/invocation-emit-scope.js.map +1 -0
  144. package/dist/flows/engine.d.ts +7 -1
  145. package/dist/flows/engine.d.ts.map +1 -1
  146. package/dist/flows/engine.js +73 -10
  147. package/dist/flows/engine.js.map +1 -1
  148. package/dist/flows/flow-delayed.d.ts +34 -0
  149. package/dist/flows/flow-delayed.d.ts.map +1 -0
  150. package/dist/flows/flow-delayed.js +60 -0
  151. package/dist/flows/flow-delayed.js.map +1 -0
  152. package/dist/flows/flow-queue.d.ts +10 -0
  153. package/dist/flows/flow-queue.d.ts.map +1 -0
  154. package/dist/flows/flow-queue.js +25 -0
  155. package/dist/flows/flow-queue.js.map +1 -0
  156. package/dist/flows/scheduler.d.ts +0 -12
  157. package/dist/flows/scheduler.d.ts.map +1 -1
  158. package/dist/flows/scheduler.js +15 -0
  159. package/dist/flows/scheduler.js.map +1 -1
  160. package/dist/flows/schema.d.ts +17 -0
  161. package/dist/flows/schema.d.ts.map +1 -1
  162. package/dist/flows/schema.js +2 -0
  163. package/dist/flows/schema.js.map +1 -1
  164. package/dist/flows/step-consumer.d.ts +24 -0
  165. package/dist/flows/step-consumer.d.ts.map +1 -0
  166. package/dist/flows/step-consumer.js +72 -0
  167. package/dist/flows/step-consumer.js.map +1 -0
  168. package/dist/flows/triggers.d.ts +1 -1
  169. package/dist/flows/triggers.d.ts.map +1 -1
  170. package/dist/flows/triggers.js +5 -7
  171. package/dist/flows/triggers.js.map +1 -1
  172. package/dist/governance/capability-source-scan.d.ts +7 -0
  173. package/dist/governance/capability-source-scan.d.ts.map +1 -0
  174. package/dist/governance/capability-source-scan.js +80 -0
  175. package/dist/governance/capability-source-scan.js.map +1 -0
  176. package/dist/governance/index.d.ts +1 -1
  177. package/dist/governance/index.d.ts.map +1 -1
  178. package/dist/governance/index.js +1 -1
  179. package/dist/governance/index.js.map +1 -1
  180. package/dist/governance/rules/api.d.ts +13 -0
  181. package/dist/governance/rules/api.d.ts.map +1 -0
  182. package/dist/governance/rules/api.js +124 -0
  183. package/dist/governance/rules/api.js.map +1 -0
  184. package/dist/governance/rules/architecture.d.ts.map +1 -1
  185. package/dist/governance/rules/architecture.js +2 -0
  186. package/dist/governance/rules/architecture.js.map +1 -1
  187. package/dist/governance/rules/capability-dependencies.d.ts +8 -0
  188. package/dist/governance/rules/capability-dependencies.d.ts.map +1 -0
  189. package/dist/governance/rules/capability-dependencies.js +195 -0
  190. package/dist/governance/rules/capability-dependencies.js.map +1 -0
  191. package/dist/governance/rules/index.d.ts +3 -0
  192. package/dist/governance/rules/index.d.ts.map +1 -1
  193. package/dist/governance/rules/index.js +3 -0
  194. package/dist/governance/rules/index.js.map +1 -1
  195. package/dist/governance/rules/worker.d.ts +9 -0
  196. package/dist/governance/rules/worker.d.ts.map +1 -0
  197. package/dist/governance/rules/worker.js +89 -0
  198. package/dist/governance/rules/worker.js.map +1 -0
  199. package/dist/index.d.ts +8 -3
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +5 -3
  202. package/dist/index.js.map +1 -1
  203. package/dist/jobs/dispatch.d.ts +18 -0
  204. package/dist/jobs/dispatch.d.ts.map +1 -0
  205. package/dist/jobs/dispatch.js +50 -0
  206. package/dist/jobs/dispatch.js.map +1 -0
  207. package/dist/jobs/index.d.ts +9 -0
  208. package/dist/jobs/index.d.ts.map +1 -0
  209. package/dist/jobs/index.js +8 -0
  210. package/dist/jobs/index.js.map +1 -0
  211. package/dist/jobs/routes.d.ts +10 -0
  212. package/dist/jobs/routes.d.ts.map +1 -0
  213. package/dist/jobs/routes.js +44 -0
  214. package/dist/jobs/routes.js.map +1 -0
  215. package/dist/jobs/schema.d.ts +264 -0
  216. package/dist/jobs/schema.d.ts.map +1 -0
  217. package/dist/jobs/schema.js +34 -0
  218. package/dist/jobs/schema.js.map +1 -0
  219. package/dist/jobs/service.d.ts +52 -0
  220. package/dist/jobs/service.d.ts.map +1 -0
  221. package/dist/jobs/service.js +168 -0
  222. package/dist/jobs/service.js.map +1 -0
  223. package/dist/jobs/types.d.ts +30 -0
  224. package/dist/jobs/types.d.ts.map +1 -0
  225. package/dist/jobs/types.js +4 -0
  226. package/dist/jobs/types.js.map +1 -0
  227. package/dist/mcp/manifest-generator.d.ts.map +1 -1
  228. package/dist/mcp/manifest-generator.js +3 -2
  229. package/dist/mcp/manifest-generator.js.map +1 -1
  230. package/dist/observability/metrics.d.ts +9 -1
  231. package/dist/observability/metrics.d.ts.map +1 -1
  232. package/dist/observability/metrics.js +28 -1
  233. package/dist/observability/metrics.js.map +1 -1
  234. package/dist/runtime/bootstrap.d.ts +51 -0
  235. package/dist/runtime/bootstrap.d.ts.map +1 -0
  236. package/dist/runtime/bootstrap.js +140 -0
  237. package/dist/runtime/bootstrap.js.map +1 -0
  238. package/dist/runtime/index.d.ts +7 -0
  239. package/dist/runtime/index.d.ts.map +1 -0
  240. package/dist/runtime/index.js +6 -0
  241. package/dist/runtime/index.js.map +1 -0
  242. package/dist/runtime/load-extensions.d.ts +4 -0
  243. package/dist/runtime/load-extensions.d.ts.map +1 -0
  244. package/dist/runtime/load-extensions.js +41 -0
  245. package/dist/runtime/load-extensions.js.map +1 -0
  246. package/dist/runtime/queue-factory.d.ts +44 -0
  247. package/dist/runtime/queue-factory.d.ts.map +1 -0
  248. package/dist/runtime/queue-factory.js +156 -0
  249. package/dist/runtime/queue-factory.js.map +1 -0
  250. package/dist/runtime/register-consumers.d.ts +29 -0
  251. package/dist/runtime/register-consumers.d.ts.map +1 -0
  252. package/dist/runtime/register-consumers.js +233 -0
  253. package/dist/runtime/register-consumers.js.map +1 -0
  254. package/dist/runtime/start-worker-pool.d.ts +32 -0
  255. package/dist/runtime/start-worker-pool.d.ts.map +1 -0
  256. package/dist/runtime/start-worker-pool.js +91 -0
  257. package/dist/runtime/start-worker-pool.js.map +1 -0
  258. package/dist/runtime/worker-health.d.ts +19 -0
  259. package/dist/runtime/worker-health.d.ts.map +1 -0
  260. package/dist/runtime/worker-health.js +41 -0
  261. package/dist/runtime/worker-health.js.map +1 -0
  262. package/dist/server/bootstrap.d.ts +6 -0
  263. package/dist/server/bootstrap.d.ts.map +1 -1
  264. package/dist/server/bootstrap.js +18 -1
  265. package/dist/server/bootstrap.js.map +1 -1
  266. package/dist/testing/context.d.ts +3 -0
  267. package/dist/testing/context.d.ts.map +1 -1
  268. package/dist/testing/context.js +10 -0
  269. package/dist/testing/context.js.map +1 -1
  270. package/dist/testing/simulate-flow.d.ts.map +1 -1
  271. package/dist/testing/simulate-flow.js +10 -0
  272. package/dist/testing/simulate-flow.js.map +1 -1
  273. package/dist/types/capability.d.ts +67 -1
  274. package/dist/types/capability.d.ts.map +1 -1
  275. package/dist/types/capability.js +15 -1
  276. package/dist/types/capability.js.map +1 -1
  277. package/dist/types/config.d.ts +2 -0
  278. package/dist/types/config.d.ts.map +1 -1
  279. package/dist/types/context.d.ts +34 -1
  280. package/dist/types/context.d.ts.map +1 -1
  281. package/dist/types/enums.d.ts +1 -0
  282. package/dist/types/enums.d.ts.map +1 -1
  283. package/dist/types/enums.js +1 -0
  284. package/dist/types/enums.js.map +1 -1
  285. package/dist/types/errors.d.ts +1 -0
  286. package/dist/types/errors.d.ts.map +1 -1
  287. package/dist/types/event.d.ts +10 -0
  288. package/dist/types/event.d.ts.map +1 -1
  289. package/dist/types/event.js +5 -1
  290. package/dist/types/event.js.map +1 -1
  291. package/dist/types/index.d.ts +1 -1
  292. package/dist/types/index.d.ts.map +1 -1
  293. package/dist/types/index.js.map +1 -1
  294. package/dist/worker/bootstrap.d.ts +32 -1
  295. package/dist/worker/bootstrap.d.ts.map +1 -1
  296. package/dist/worker/bootstrap.js +166 -2
  297. package/dist/worker/bootstrap.js.map +1 -1
  298. package/instructions/api.md +19 -0
  299. package/instructions/capabilities.md +36 -1
  300. package/instructions/deployment.md +96 -11
  301. package/instructions/events.md +11 -0
  302. package/instructions/flows.md +12 -4
  303. package/instructions/governance.md +6 -0
  304. package/instructions/mcp.md +1 -1
  305. package/instructions/patterns.md +1 -0
  306. package/instructions/security.md +9 -0
  307. package/instructions/testing.md +12 -1
  308. package/instructions/upgrading-0.5-capabilities.md +181 -0
  309. package/package.json +16 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,cAAc,EACd,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,GACT,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/D,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,cAAc,EACd,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,GACT,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/D,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,iEAAiE;AACjE,uEAAuE;AACvE,8EAA8E;AAgD9E,0BAA0B;AAC1B,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,iEAAiE;AACjE,uEAAuE;AACvE,8EAA8E;AAwD9E,0BAA0B;AAC1B,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,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":"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"}
@@ -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');
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/worker/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/worker/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ # Partner API — Core surface
2
+
3
+ Plumbus capabilities can be exposed to partners on versioned HTTP routes. **Contract and CLI** live in `@plumbus/core`; **runtime server, manifest tooling, OpenAPI export, and test intent** live in `@plumbus/api`.
4
+
5
+ ## Where to read
6
+
7
+ | Layer | Location |
8
+ |-------|----------|
9
+ | **Agent recipes (start here when `@plumbus/api` is installed)** | `node_modules/@plumbus/api/instructions/README.md` |
10
+ | **Conceptual docs** | `docs/api/` in the monorepo — [overview](../../../docs/api/overview.md), [exposure model](../../../docs/api/exposure-model.md), [manifest](../../../docs/api/manifest.md), [OpenAPI](../../../docs/api/openapi.md) |
11
+
12
+ ## Core responsibilities
13
+
14
+ - **`exposeAs: ['api']`** on `defineCapability` — opt-in per capability.
15
+ - **`kind: 'query'` and `kind: 'action'`** — eligible for partner routes. **`kind: 'eventHandler'`** and **`kind: 'job'`** cannot be API-exposed.
16
+ - **`plumbus api validate` / `generate` / `diff` / `test-fixtures validate`** — CLI entry points; dynamic import of `@plumbus/api`.
17
+ - **`registerApiRoutes()`** — mount partner routes at app bootstrap (requires `@plumbus/api` install).
18
+
19
+ Install the runtime when serving partners: `pnpm add @plumbus/api` (optional peer of `@plumbus/core`, version-locked `0.1.x`).
@@ -23,6 +23,7 @@ export const getUser = defineCapability({
23
23
  data: ["User"],
24
24
  events: [],
25
25
  external: [],
26
+ capabilities: [], // canonical invoke targets: ["billing.getInvoice"]
26
27
  ai: false,
27
28
  },
28
29
 
@@ -106,11 +107,35 @@ Every capability must declare its side effects in the `effects` field:
106
107
  - `data` — entity names this capability reads from or writes to
107
108
  - `events` — event types this capability may emit
108
109
  - `external` — external integrations this capability calls (APIs, services)
110
+ - `capabilities` — canonical names (`<domain>.<name>`) this handler may invoke via `ctx.capabilities.invoke`
109
111
  - `flows` — flow names this capability may start (optional)
110
112
  - `ai` — whether this capability uses AI operations
111
113
 
112
114
  Effects are used by governance rules to analyze the system.
113
115
 
116
+ ## Capability-to-capability invocation
117
+
118
+ The only sanctioned path for synchronous composition is `ctx.capabilities.invoke`:
119
+
120
+ ```ts
121
+ handler: async (ctx, input) => {
122
+ const invoice = await ctx.capabilities.invoke("billing.getInvoice", {
123
+ invoiceId: input.invoiceId,
124
+ });
125
+ return { invoice };
126
+ }
127
+ ```
128
+
129
+ Rules:
130
+
131
+ - Declare every invoke target in `effects.capabilities` using **canonical names** (`billing.getInvoice`, not `getInvoice`).
132
+ - Undeclared calls, cycles, missing targets, and synchronous job invokes fail at runtime with `dependencyViolation`.
133
+ - Do **not** import other capability handlers or call `.handler` directly — `plumbus verify` flags direct handler imports.
134
+ - Handler-visible `ctx.__runtime` does not expose internal invokers; use `ctx.capabilities.invoke` only.
135
+ - Prefer flows for multi-step orchestration; use invoke when you need a callee's result in the same execution path.
136
+
137
+ The local `name` field in `defineCapability` stays short (`getInvoice`); the framework derives the canonical registry key from `domain` + `name`. Run `plumbus generate` after changes so `RegisteredCapabilityName` and manifests stay in sync.
138
+
114
139
  ## Explanation Tracking
115
140
 
116
141
  Capabilities that use AI (`effects.ai: true`) should enable explanation tracking:
@@ -208,4 +233,14 @@ export const generateReport = defineCapability({
208
233
  });
209
234
  ```
210
235
 
211
- Job capabilities are exposed as `POST` endpoints that return `202 Accepted` with the job output. The framework provides job status tracking and progress monitoring automatically.
236
+ Job capabilities are exposed as `POST` endpoints. From **0.5.0**, when the API wires `jobQueue` (any job capability on `plumbus dev` / `plumbus start` — including in-memory queues), routes return **`202 Accepted`** with `{ data: { jobId, status: "accepted" } }` and enqueue via the jobs queue. This is **not** gated on whether a worker pool runs in the same process; `PLUMBUS_RUNTIME_ROLE=api` still returns **202** but needs a separate `plumbus worker` to execute jobs.
237
+
238
+ Poll completion with:
239
+
240
+ ```
241
+ GET /api/jobs/:jobId
242
+ ```
243
+
244
+ Response: `{ data: { jobId, status, output, error, … } }`. Status values include `queued`, `running`, `completed`, `failed`, and `dead_lettered` from `job_executions`. Run `plumbus migrate generate && plumbus migrate apply` **before** job traffic — routes fail at the DB layer if the table is missing.
245
+
246
+ **Pre-0.5.0 note:** job routes often returned **200** with the handler output synchronously because the server did not wire a job queue. Update HTTP clients that assumed synchronous job responses. See `deployment.md` (Upgrading to 0.5) for the full checklist.