@plumbus/core 0.4.2 → 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 (280) hide show
  1. package/README.md +1 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/api/route-generator.d.ts.map +1 -1
  4. package/dist/api/route-generator.js +27 -14
  5. package/dist/api/route-generator.js.map +1 -1
  6. package/dist/cli/cli.d.ts.map +1 -1
  7. package/dist/cli/cli.js +2 -1
  8. package/dist/cli/cli.js.map +1 -1
  9. package/dist/cli/commands/dev.d.ts.map +1 -1
  10. package/dist/cli/commands/dev.js +38 -149
  11. package/dist/cli/commands/dev.js.map +1 -1
  12. package/dist/cli/commands/doctor.d.ts +6 -0
  13. package/dist/cli/commands/doctor.d.ts.map +1 -1
  14. package/dist/cli/commands/doctor.js +92 -4
  15. package/dist/cli/commands/doctor.js.map +1 -1
  16. package/dist/cli/commands/event.d.ts.map +1 -1
  17. package/dist/cli/commands/event.js +3 -0
  18. package/dist/cli/commands/event.js.map +1 -1
  19. package/dist/cli/commands/events-ops.d.ts +4 -0
  20. package/dist/cli/commands/events-ops.d.ts.map +1 -0
  21. package/dist/cli/commands/events-ops.js +203 -0
  22. package/dist/cli/commands/events-ops.js.map +1 -0
  23. package/dist/cli/commands/flow.d.ts.map +1 -1
  24. package/dist/cli/commands/flow.js +49 -1
  25. package/dist/cli/commands/flow.js.map +1 -1
  26. package/dist/cli/commands/generate.d.ts +4 -0
  27. package/dist/cli/commands/generate.d.ts.map +1 -1
  28. package/dist/cli/commands/generate.js +94 -3
  29. package/dist/cli/commands/generate.js.map +1 -1
  30. package/dist/cli/commands/index.d.ts +1 -0
  31. package/dist/cli/commands/index.d.ts.map +1 -1
  32. package/dist/cli/commands/index.js +1 -0
  33. package/dist/cli/commands/index.js.map +1 -1
  34. package/dist/cli/commands/init.d.ts +1 -1
  35. package/dist/cli/commands/init.d.ts.map +1 -1
  36. package/dist/cli/commands/init.js +13 -3
  37. package/dist/cli/commands/init.js.map +1 -1
  38. package/dist/cli/commands/mcp.d.ts.map +1 -1
  39. package/dist/cli/commands/mcp.js +2 -0
  40. package/dist/cli/commands/mcp.js.map +1 -1
  41. package/dist/cli/commands/start.d.ts +3 -6
  42. package/dist/cli/commands/start.d.ts.map +1 -1
  43. package/dist/cli/commands/start.js +71 -180
  44. package/dist/cli/commands/start.js.map +1 -1
  45. package/dist/cli/commands/verify.d.ts +3 -1
  46. package/dist/cli/commands/verify.d.ts.map +1 -1
  47. package/dist/cli/commands/verify.js +17 -9
  48. package/dist/cli/commands/verify.js.map +1 -1
  49. package/dist/cli/commands/worker.d.ts +19 -0
  50. package/dist/cli/commands/worker.d.ts.map +1 -0
  51. package/dist/cli/commands/worker.js +234 -0
  52. package/dist/cli/commands/worker.js.map +1 -0
  53. package/dist/cli/mcp-serve-context.d.ts +3 -0
  54. package/dist/cli/mcp-serve-context.d.ts.map +1 -1
  55. package/dist/cli/mcp-serve-context.js +16 -1
  56. package/dist/cli/mcp-serve-context.js.map +1 -1
  57. package/dist/cli/templates/resources.d.ts.map +1 -1
  58. package/dist/cli/templates/resources.js +7 -2
  59. package/dist/cli/templates/resources.js.map +1 -1
  60. package/dist/cli/utils.d.ts +4 -0
  61. package/dist/cli/utils.d.ts.map +1 -1
  62. package/dist/cli/utils.js +9 -0
  63. package/dist/cli/utils.js.map +1 -1
  64. package/dist/data/drift-inspector.d.ts +2 -2
  65. package/dist/data/drift-inspector.d.ts.map +1 -1
  66. package/dist/data/drift-inspector.js +2 -1
  67. package/dist/data/drift-inspector.js.map +1 -1
  68. package/dist/data/migration.d.ts.map +1 -1
  69. package/dist/data/migration.js +2 -0
  70. package/dist/data/migration.js.map +1 -1
  71. package/dist/define/defineCapability.d.ts +5 -0
  72. package/dist/define/defineCapability.d.ts.map +1 -1
  73. package/dist/define/defineCapability.js +23 -0
  74. package/dist/define/defineCapability.js.map +1 -1
  75. package/dist/errors/http.d.ts.map +1 -1
  76. package/dist/errors/http.js +1 -0
  77. package/dist/errors/http.js.map +1 -1
  78. package/dist/errors/index.d.ts.map +1 -1
  79. package/dist/errors/index.js +1 -0
  80. package/dist/errors/index.js.map +1 -1
  81. package/dist/events/dispatcher.d.ts +4 -0
  82. package/dist/events/dispatcher.d.ts.map +1 -1
  83. package/dist/events/dispatcher.js +24 -1
  84. package/dist/events/dispatcher.js.map +1 -1
  85. package/dist/events/emitter.d.ts +2 -0
  86. package/dist/events/emitter.d.ts.map +1 -1
  87. package/dist/events/emitter.js +6 -3
  88. package/dist/events/emitter.js.map +1 -1
  89. package/dist/events/queue-adapter.d.ts +7 -0
  90. package/dist/events/queue-adapter.d.ts.map +1 -0
  91. package/dist/events/queue-adapter.js +4 -0
  92. package/dist/events/queue-adapter.js.map +1 -0
  93. package/dist/events/queue.d.ts +16 -13
  94. package/dist/events/queue.d.ts.map +1 -1
  95. package/dist/events/queue.js +79 -22
  96. package/dist/events/queue.js.map +1 -1
  97. package/dist/events/worker.d.ts +4 -0
  98. package/dist/events/worker.d.ts.map +1 -1
  99. package/dist/events/worker.js +47 -1
  100. package/dist/events/worker.js.map +1 -1
  101. package/dist/execution/canonical-name.d.ts +13 -0
  102. package/dist/execution/canonical-name.d.ts.map +1 -0
  103. package/dist/execution/canonical-name.js +17 -0
  104. package/dist/execution/canonical-name.js.map +1 -0
  105. package/dist/execution/capability-executor.d.ts +1 -1
  106. package/dist/execution/capability-executor.d.ts.map +1 -1
  107. package/dist/execution/capability-executor.js +52 -24
  108. package/dist/execution/capability-executor.js.map +1 -1
  109. package/dist/execution/capability-invocation.d.ts +34 -0
  110. package/dist/execution/capability-invocation.d.ts.map +1 -0
  111. package/dist/execution/capability-invocation.js +138 -0
  112. package/dist/execution/capability-invocation.js.map +1 -0
  113. package/dist/execution/capability-registry.d.ts +6 -4
  114. package/dist/execution/capability-registry.d.ts.map +1 -1
  115. package/dist/execution/capability-registry.js +13 -7
  116. package/dist/execution/capability-registry.js.map +1 -1
  117. package/dist/execution/context-factory.d.ts.map +1 -1
  118. package/dist/execution/context-factory.js +12 -1
  119. package/dist/execution/context-factory.js.map +1 -1
  120. package/dist/execution/index.d.ts +4 -0
  121. package/dist/execution/index.d.ts.map +1 -1
  122. package/dist/execution/index.js +2 -0
  123. package/dist/execution/index.js.map +1 -1
  124. package/dist/execution/invocation-emit-scope.d.ts +11 -0
  125. package/dist/execution/invocation-emit-scope.d.ts.map +1 -0
  126. package/dist/execution/invocation-emit-scope.js +8 -0
  127. package/dist/execution/invocation-emit-scope.js.map +1 -0
  128. package/dist/flows/engine.d.ts +7 -1
  129. package/dist/flows/engine.d.ts.map +1 -1
  130. package/dist/flows/engine.js +73 -10
  131. package/dist/flows/engine.js.map +1 -1
  132. package/dist/flows/flow-delayed.d.ts +34 -0
  133. package/dist/flows/flow-delayed.d.ts.map +1 -0
  134. package/dist/flows/flow-delayed.js +60 -0
  135. package/dist/flows/flow-delayed.js.map +1 -0
  136. package/dist/flows/flow-queue.d.ts +10 -0
  137. package/dist/flows/flow-queue.d.ts.map +1 -0
  138. package/dist/flows/flow-queue.js +25 -0
  139. package/dist/flows/flow-queue.js.map +1 -0
  140. package/dist/flows/scheduler.d.ts +0 -12
  141. package/dist/flows/scheduler.d.ts.map +1 -1
  142. package/dist/flows/scheduler.js +15 -0
  143. package/dist/flows/scheduler.js.map +1 -1
  144. package/dist/flows/schema.d.ts +17 -0
  145. package/dist/flows/schema.d.ts.map +1 -1
  146. package/dist/flows/schema.js +2 -0
  147. package/dist/flows/schema.js.map +1 -1
  148. package/dist/flows/step-consumer.d.ts +24 -0
  149. package/dist/flows/step-consumer.d.ts.map +1 -0
  150. package/dist/flows/step-consumer.js +72 -0
  151. package/dist/flows/step-consumer.js.map +1 -0
  152. package/dist/flows/triggers.d.ts +1 -1
  153. package/dist/flows/triggers.d.ts.map +1 -1
  154. package/dist/flows/triggers.js +5 -7
  155. package/dist/flows/triggers.js.map +1 -1
  156. package/dist/governance/capability-source-scan.d.ts +7 -0
  157. package/dist/governance/capability-source-scan.d.ts.map +1 -0
  158. package/dist/governance/capability-source-scan.js +80 -0
  159. package/dist/governance/capability-source-scan.js.map +1 -0
  160. package/dist/governance/rules/architecture.d.ts.map +1 -1
  161. package/dist/governance/rules/architecture.js +2 -0
  162. package/dist/governance/rules/architecture.js.map +1 -1
  163. package/dist/governance/rules/capability-dependencies.d.ts +8 -0
  164. package/dist/governance/rules/capability-dependencies.d.ts.map +1 -0
  165. package/dist/governance/rules/capability-dependencies.js +195 -0
  166. package/dist/governance/rules/capability-dependencies.js.map +1 -0
  167. package/dist/governance/rules/index.d.ts +2 -0
  168. package/dist/governance/rules/index.d.ts.map +1 -1
  169. package/dist/governance/rules/index.js +2 -0
  170. package/dist/governance/rules/index.js.map +1 -1
  171. package/dist/governance/rules/worker.d.ts +9 -0
  172. package/dist/governance/rules/worker.d.ts.map +1 -0
  173. package/dist/governance/rules/worker.js +89 -0
  174. package/dist/governance/rules/worker.js.map +1 -0
  175. package/dist/index.d.ts +6 -1
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +3 -1
  178. package/dist/index.js.map +1 -1
  179. package/dist/jobs/dispatch.d.ts +18 -0
  180. package/dist/jobs/dispatch.d.ts.map +1 -0
  181. package/dist/jobs/dispatch.js +50 -0
  182. package/dist/jobs/dispatch.js.map +1 -0
  183. package/dist/jobs/index.d.ts +9 -0
  184. package/dist/jobs/index.d.ts.map +1 -0
  185. package/dist/jobs/index.js +8 -0
  186. package/dist/jobs/index.js.map +1 -0
  187. package/dist/jobs/routes.d.ts +10 -0
  188. package/dist/jobs/routes.d.ts.map +1 -0
  189. package/dist/jobs/routes.js +44 -0
  190. package/dist/jobs/routes.js.map +1 -0
  191. package/dist/jobs/schema.d.ts +264 -0
  192. package/dist/jobs/schema.d.ts.map +1 -0
  193. package/dist/jobs/schema.js +34 -0
  194. package/dist/jobs/schema.js.map +1 -0
  195. package/dist/jobs/service.d.ts +52 -0
  196. package/dist/jobs/service.d.ts.map +1 -0
  197. package/dist/jobs/service.js +168 -0
  198. package/dist/jobs/service.js.map +1 -0
  199. package/dist/jobs/types.d.ts +30 -0
  200. package/dist/jobs/types.d.ts.map +1 -0
  201. package/dist/jobs/types.js +4 -0
  202. package/dist/jobs/types.js.map +1 -0
  203. package/dist/mcp/manifest-generator.d.ts.map +1 -1
  204. package/dist/mcp/manifest-generator.js +3 -2
  205. package/dist/mcp/manifest-generator.js.map +1 -1
  206. package/dist/observability/metrics.d.ts +9 -1
  207. package/dist/observability/metrics.d.ts.map +1 -1
  208. package/dist/observability/metrics.js +28 -1
  209. package/dist/observability/metrics.js.map +1 -1
  210. package/dist/runtime/bootstrap.d.ts +51 -0
  211. package/dist/runtime/bootstrap.d.ts.map +1 -0
  212. package/dist/runtime/bootstrap.js +140 -0
  213. package/dist/runtime/bootstrap.js.map +1 -0
  214. package/dist/runtime/index.d.ts +7 -0
  215. package/dist/runtime/index.d.ts.map +1 -0
  216. package/dist/runtime/index.js +6 -0
  217. package/dist/runtime/index.js.map +1 -0
  218. package/dist/runtime/load-extensions.d.ts +4 -0
  219. package/dist/runtime/load-extensions.d.ts.map +1 -0
  220. package/dist/runtime/load-extensions.js +41 -0
  221. package/dist/runtime/load-extensions.js.map +1 -0
  222. package/dist/runtime/queue-factory.d.ts +44 -0
  223. package/dist/runtime/queue-factory.d.ts.map +1 -0
  224. package/dist/runtime/queue-factory.js +156 -0
  225. package/dist/runtime/queue-factory.js.map +1 -0
  226. package/dist/runtime/register-consumers.d.ts +29 -0
  227. package/dist/runtime/register-consumers.d.ts.map +1 -0
  228. package/dist/runtime/register-consumers.js +233 -0
  229. package/dist/runtime/register-consumers.js.map +1 -0
  230. package/dist/runtime/start-worker-pool.d.ts +32 -0
  231. package/dist/runtime/start-worker-pool.d.ts.map +1 -0
  232. package/dist/runtime/start-worker-pool.js +91 -0
  233. package/dist/runtime/start-worker-pool.js.map +1 -0
  234. package/dist/runtime/worker-health.d.ts +19 -0
  235. package/dist/runtime/worker-health.d.ts.map +1 -0
  236. package/dist/runtime/worker-health.js +41 -0
  237. package/dist/runtime/worker-health.js.map +1 -0
  238. package/dist/server/bootstrap.d.ts +6 -0
  239. package/dist/server/bootstrap.d.ts.map +1 -1
  240. package/dist/server/bootstrap.js +18 -1
  241. package/dist/server/bootstrap.js.map +1 -1
  242. package/dist/testing/context.d.ts +3 -0
  243. package/dist/testing/context.d.ts.map +1 -1
  244. package/dist/testing/context.js +10 -0
  245. package/dist/testing/context.js.map +1 -1
  246. package/dist/testing/simulate-flow.d.ts.map +1 -1
  247. package/dist/testing/simulate-flow.js +10 -0
  248. package/dist/testing/simulate-flow.js.map +1 -1
  249. package/dist/types/capability.d.ts +8 -0
  250. package/dist/types/capability.d.ts.map +1 -1
  251. package/dist/types/capability.js.map +1 -1
  252. package/dist/types/config.d.ts +2 -0
  253. package/dist/types/config.d.ts.map +1 -1
  254. package/dist/types/context.d.ts +34 -1
  255. package/dist/types/context.d.ts.map +1 -1
  256. package/dist/types/enums.d.ts +1 -0
  257. package/dist/types/enums.d.ts.map +1 -1
  258. package/dist/types/enums.js +1 -0
  259. package/dist/types/enums.js.map +1 -1
  260. package/dist/types/errors.d.ts +1 -0
  261. package/dist/types/errors.d.ts.map +1 -1
  262. package/dist/types/event.d.ts +10 -0
  263. package/dist/types/event.d.ts.map +1 -1
  264. package/dist/types/event.js +5 -1
  265. package/dist/types/event.js.map +1 -1
  266. package/dist/worker/bootstrap.d.ts +32 -1
  267. package/dist/worker/bootstrap.d.ts.map +1 -1
  268. package/dist/worker/bootstrap.js +166 -2
  269. package/dist/worker/bootstrap.js.map +1 -1
  270. package/instructions/capabilities.md +36 -1
  271. package/instructions/deployment.md +96 -11
  272. package/instructions/events.md +11 -0
  273. package/instructions/flows.md +12 -4
  274. package/instructions/governance.md +6 -0
  275. package/instructions/mcp.md +1 -1
  276. package/instructions/patterns.md +1 -0
  277. package/instructions/security.md +9 -0
  278. package/instructions/testing.md +12 -1
  279. package/instructions/upgrading-0.5-capabilities.md +181 -0
  280. package/package.json +12 -4
@@ -25,17 +25,5 @@ export declare function createFlowScheduler(config: SchedulerConfig): {
25
25
  stop(): void;
26
26
  readonly isRunning: boolean;
27
27
  };
28
- /**
29
- * Compute the next run time from a cron expression or interval pattern.
30
- *
31
- * Supports:
32
- * - Simple intervals: "every:60m", "every:24h", "every:1d"
33
- * - Standard 5-field cron: "minute hour day-of-month month day-of-week"
34
- *
35
- * Cron fields: minute (0-59), hour (0-23), day-of-month (1-31),
36
- * month (1-12), day-of-week (0-6, 0=Sunday).
37
- * Supports wildcards, specific values, ranges (1-5), step values,
38
- * comma-separated lists, and day/month name abbreviations.
39
- */
40
28
  export declare function computeNextRun(cron: string, from: Date): Date;
41
29
  //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/flows/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,kBAAkB,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC5C,0CAA0C;IAC1C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe;yBAgBzB,OAAO,CAAC,MAAM,CAAC;gBA6BxB,OAAO,CAAC,MAAM,CAAC;aAuC3B,IAAI;YAQL,IAAI;wBAQK,OAAO;EAI3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAsB7D"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/flows/scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,kBAAkB,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC5C,0CAA0C;IAC1C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe;yBAgBzB,OAAO,CAAC,MAAM,CAAC;gBA6BxB,OAAO,CAAC,MAAM,CAAC;aAuC3B,IAAI;YAQL,IAAI;wBAQK,OAAO;EAI3B;AA8BD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CA2B7D"}
@@ -1,3 +1,4 @@
1
+ import { createRequire } from 'node:module';
1
2
  import { eq, lte } from 'drizzle-orm';
2
3
  import { flowSchedulesTable } from './schema.js';
3
4
  /**
@@ -114,7 +115,21 @@ export function createFlowScheduler(config) {
114
115
  * Supports wildcards, specific values, ranges (1-5), step values,
115
116
  * comma-separated lists, and day/month name abbreviations.
116
117
  */
118
+ const localRequire = createRequire(import.meta.url);
119
+ function tryCronParserNext(cron, from) {
120
+ try {
121
+ const cronParser = localRequire('cron-parser');
122
+ return cronParser.parseExpression(cron, { currentDate: from }).next().toDate();
123
+ }
124
+ catch {
125
+ return undefined;
126
+ }
127
+ }
117
128
  export function computeNextRun(cron, from) {
129
+ const parsed = tryCronParserNext(cron, from);
130
+ if (parsed) {
131
+ return parsed;
132
+ }
118
133
  // Parse simple interval patterns like "every:60m", "every:24h", "every:1d"
119
134
  const match = cron.match(/^every:(\d+)([mhd])$/);
120
135
  if (match) {
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/flows/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/flows/scheduler.ts"],"names":[],"mappings":"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"}
@@ -244,6 +244,23 @@ export declare const flowExecutionsTable: import("drizzle-orm/pg-core").PgTableW
244
244
  identity: undefined;
245
245
  generated: undefined;
246
246
  }, {}, {}>;
247
+ authSnapshotJson: import("drizzle-orm/pg-core").PgColumn<{
248
+ name: "auth_snapshot_json";
249
+ tableName: "flow_executions";
250
+ dataType: "json";
251
+ columnType: "PgJsonb";
252
+ data: unknown;
253
+ driverParam: unknown;
254
+ notNull: false;
255
+ hasDefault: false;
256
+ isPrimaryKey: false;
257
+ isAutoincrement: false;
258
+ hasRuntimeDefault: false;
259
+ enumValues: undefined;
260
+ baseColumn: never;
261
+ identity: undefined;
262
+ generated: undefined;
263
+ }, {}, {}>;
247
264
  correlationId: import("drizzle-orm/pg-core").PgColumn<{
248
265
  name: "correlation_id";
249
266
  tableName: "flow_executions";
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/flows/schema.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/flows/schema.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC"}
@@ -20,6 +20,8 @@ export const flowExecutionsTable = pgTable('flow_executions', {
20
20
  wakeAt: timestamp('wake_at', { withTimezone: true }),
21
21
  actor: text('actor').notNull(),
22
22
  tenantId: text('tenant_id'),
23
+ /** Caller auth at enqueue time (roles/scopes/provider); used for step execution instead of worker auth. */
24
+ authSnapshotJson: jsonb('auth_snapshot_json'),
23
25
  correlationId: text('correlation_id'),
24
26
  triggerEventId: text('trigger_event_id'),
25
27
  createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/flows/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/flows/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { EventQueue } from '../events/queue.js';
2
+ import type { ExecutionContext } from '../types/context.js';
3
+ import type { PlumbusMetrics } from '../observability/metrics.js';
4
+ import type { createFlowEngine } from './engine.js';
5
+ import type { LoggerService } from '../types/context.js';
6
+ export interface FlowStepConsumerConfig {
7
+ flowsQueue: EventQueue;
8
+ engine: ReturnType<typeof createFlowEngine>;
9
+ buildContext: () => ExecutionContext;
10
+ logger?: LoggerService;
11
+ metrics?: PlumbusMetrics;
12
+ /** Re-enqueue when execution still running after a drain cycle. */
13
+ onReenqueue?: (executionId: string) => Promise<void>;
14
+ maxStepsPerCycle?: number;
15
+ }
16
+ /**
17
+ * Subscribe to the flows queue and execute flow steps when wake messages arrive.
18
+ * Complements the DB poll loop — queue provides immediate wake, poll is fallback.
19
+ */
20
+ export declare function createFlowStepConsumer(config: FlowStepConsumerConfig): {
21
+ start(): void;
22
+ stop(): void;
23
+ };
24
+ //# sourceMappingURL=step-consumer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-consumer.d.ts","sourceRoot":"","sources":["../../src/flows/step-consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC5C,YAAY,EAAE,MAAM,gBAAgB,CAAC;IACrC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,mEAAmE;IACnE,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG;IACtE,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd,CA+DA"}
@@ -0,0 +1,72 @@
1
+ import { FlowStatus } from './state-machine.js';
2
+ import { parseFlowStepExecutionId } from './flow-queue.js';
3
+ /**
4
+ * Subscribe to the flows queue and execute flow steps when wake messages arrive.
5
+ * Complements the DB poll loop — queue provides immediate wake, poll is fallback.
6
+ */
7
+ export function createFlowStepConsumer(config) {
8
+ const { flowsQueue, engine, buildContext, logger, onReenqueue, metrics } = config;
9
+ const maxSteps = config.maxStepsPerCycle ?? 1000;
10
+ let unsubscribe = null;
11
+ async function handleEnvelope(envelope) {
12
+ const executionId = parseFlowStepExecutionId(envelope.eventType);
13
+ if (!executionId)
14
+ return;
15
+ const claimed = await engine.claimExecution(executionId);
16
+ if (!claimed) {
17
+ logger?.debug?.('Flow step wake skipped — execution not claimable', { executionId });
18
+ return;
19
+ }
20
+ const baseCtx = buildContext();
21
+ let stepsRun = 0;
22
+ const started = Date.now();
23
+ try {
24
+ while (stepsRun < maxSteps) {
25
+ const result = await engine.runNext(executionId, baseCtx);
26
+ stepsRun += 1;
27
+ if (result.status !== FlowStatus.Running) {
28
+ metrics?.flowCompleted.inc({ source: 'queue' });
29
+ return;
30
+ }
31
+ }
32
+ if (onReenqueue) {
33
+ await onReenqueue(executionId);
34
+ }
35
+ }
36
+ catch (err) {
37
+ metrics?.flowFailed.inc({ source: 'queue' });
38
+ logger?.error('Flow step consumer failed', {
39
+ executionId,
40
+ error: err instanceof Error ? err.message : String(err),
41
+ });
42
+ try {
43
+ await engine.markFailedFromRunner(executionId, err);
44
+ }
45
+ catch (finalizeErr) {
46
+ logger?.error('Failed to finalize flow after step consumer error', {
47
+ executionId,
48
+ error: finalizeErr instanceof Error ? finalizeErr.message : String(finalizeErr),
49
+ });
50
+ }
51
+ }
52
+ finally {
53
+ metrics?.flowStepDuration.observe(Date.now() - started, {
54
+ source: 'queue',
55
+ });
56
+ }
57
+ }
58
+ return {
59
+ start() {
60
+ if (unsubscribe)
61
+ return;
62
+ unsubscribe = flowsQueue.subscribe(handleEnvelope);
63
+ },
64
+ stop() {
65
+ if (unsubscribe) {
66
+ unsubscribe();
67
+ unsubscribe = null;
68
+ }
69
+ },
70
+ };
71
+ }
72
+ //# sourceMappingURL=step-consumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-consumer.js","sourceRoot":"","sources":["../../src/flows/step-consumer.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,6 @@ export declare function createFlowTriggerHandler(config: {
10
10
  registry: FlowRegistry;
11
11
  engine: ReturnType<typeof createFlowEngine>;
12
12
  }): {
13
- handleEvent: (envelope: EventEnvelope) => Promise<number>;
13
+ handleEvent: (envelope: EventEnvelope) => Promise<string[]>;
14
14
  };
15
15
  //# sourceMappingURL=triggers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../src/flows/triggers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAC7C;4BAOsC,aAAa,KAAG,OAAO,CAAC,MAAM,CAAC;EA0BrE"}
1
+ {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../src/flows/triggers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAC7C;4BAOsC,aAAa,KAAG,OAAO,CAAC,MAAM,EAAE,CAAC;EAyBvE"}
@@ -11,8 +11,7 @@ export function createFlowTriggerHandler(config) {
11
11
  */
12
12
  async function handleEvent(envelope) {
13
13
  const matchingFlows = registry.getByTriggerEvent(envelope.eventType);
14
- if (matchingFlows.length === 0)
15
- return 0;
14
+ const executionIds = [];
16
15
  const auth = {
17
16
  userId: envelope.actor,
18
17
  tenantId: envelope.tenantId,
@@ -20,16 +19,15 @@ export function createFlowTriggerHandler(config) {
20
19
  scopes: [],
21
20
  provider: 'event-trigger',
22
21
  };
23
- let started = 0;
24
22
  for (const flow of matchingFlows) {
25
- await engine.start(flow.name, envelope.payload, auth, {
23
+ const exec = await engine.start(flow.name, envelope.payload, auth, {
26
24
  correlationId: envelope.correlationId,
27
25
  triggerEventId: envelope.id,
28
26
  });
29
- started++;
27
+ executionIds.push(exec.id);
30
28
  }
31
- const resumed = await engine.resumeWaitingByEvent(envelope.eventType, envelope.payload);
32
- return started + resumed;
29
+ const resumedIds = await engine.resumeWaitingByEvent(envelope.eventType, envelope.payload);
30
+ return [...executionIds, ...resumedIds];
33
31
  }
34
32
  return { handleEvent };
35
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../src/flows/triggers.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAGxC;IACC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEpC;;;OAGG;IACH,KAAK,UAAU,WAAW,CAAC,QAAuB;QAChD,MAAM,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAgB;YACxB,MAAM,EAAE,QAAQ,CAAC,KAAK;YACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,eAAe;SAC1B,CAAC;QAEF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE;gBACpD,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,cAAc,EAAE,QAAQ,CAAC,EAAE;aAC5B,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxF,OAAO,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../src/flows/triggers.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAGxC;IACC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEpC;;;OAGG;IACH,KAAK,UAAU,WAAW,CAAC,QAAuB;QAChD,MAAM,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,MAAM,IAAI,GAAgB;YACxB,MAAM,EAAE,QAAQ,CAAC,KAAK;YACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,eAAe;SAC1B,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE;gBACjE,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,cAAc,EAAE,QAAQ,CAAC,EAAE;aAC5B,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { GovernanceSignal } from '../types/governance.js';
2
+ /**
3
+ * Scan capability source files under app/capabilities for patterns that bypass
4
+ * ctx.capabilities.invoke. Advisory only in v1.
5
+ */
6
+ export declare function scanCapabilityDirectImports(appRoot?: string): GovernanceSignal[];
7
+ //# sourceMappingURL=capability-source-scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-source-scan.d.ts","sourceRoot":"","sources":["../../src/governance/capability-source-scan.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,MAAsB,GAAG,gBAAgB,EAAE,CAgD/F"}
@@ -0,0 +1,80 @@
1
+ // ── Capability source scan for direct handler imports ──
2
+ import * as fs from 'node:fs';
3
+ import * as path from 'node:path';
4
+ import { GovernanceSeverity } from '../types/enums.js';
5
+ const CAPABILITY_IMPORT = /import\s+.*\s+from\s+['"](?:\.\.?\/)*.*capabilities\/[^'"]+['"]/;
6
+ const HANDLER_ACCESS = /\b\w+\.handler\b/;
7
+ const EXECUTE_CAPABILITY = /\bexecuteCapability\s*\(/;
8
+ /**
9
+ * Scan capability source files under app/capabilities for patterns that bypass
10
+ * ctx.capabilities.invoke. Advisory only in v1.
11
+ */
12
+ export function scanCapabilityDirectImports(appRoot = process.cwd()) {
13
+ const capDir = path.join(appRoot, 'app', 'capabilities');
14
+ if (!fs.existsSync(capDir)) {
15
+ return [];
16
+ }
17
+ const signals = [];
18
+ const files = listCapabilitySourceFiles(capDir);
19
+ for (const filePath of files) {
20
+ const content = fs.readFileSync(filePath, 'utf8');
21
+ const rel = path.relative(appRoot, filePath);
22
+ if (CAPABILITY_IMPORT.test(content)) {
23
+ signals.push({
24
+ severity: GovernanceSeverity.Warning,
25
+ rule: 'architecture.direct-capability-handler-import',
26
+ description: `Capability module "${rel}" imports another capability module directly`,
27
+ affectedComponent: `file:${rel}`,
28
+ remediation: 'Use ctx.capabilities.invoke(...) and declare the target in effects.capabilities instead of importing capability modules',
29
+ });
30
+ }
31
+ if (HANDLER_ACCESS.test(content)) {
32
+ signals.push({
33
+ severity: GovernanceSeverity.Warning,
34
+ rule: 'architecture.direct-capability-handler-import',
35
+ description: `Capability module "${rel}" accesses another capability's .handler directly`,
36
+ affectedComponent: `file:${rel}`,
37
+ remediation: 'Use ctx.capabilities.invoke(...) and declare the target in effects.capabilities',
38
+ });
39
+ }
40
+ if (EXECUTE_CAPABILITY.test(content)) {
41
+ signals.push({
42
+ severity: GovernanceSeverity.Warning,
43
+ rule: 'architecture.direct-capability-handler-import',
44
+ description: `Capability module "${rel}" calls executeCapability() from application code`,
45
+ affectedComponent: `file:${rel}`,
46
+ remediation: 'Use ctx.capabilities.invoke(...) from inside capability handlers instead of calling executeCapability directly',
47
+ });
48
+ }
49
+ }
50
+ return signals;
51
+ }
52
+ function listCapabilitySourceFiles(dir) {
53
+ const results = [];
54
+ walkCapabilityDir(dir, results);
55
+ return results;
56
+ }
57
+ function walkCapabilityDir(dir, results) {
58
+ if (!fs.existsSync(dir))
59
+ return;
60
+ for (const ent of fs.readdirSync(dir, { withFileTypes: true })) {
61
+ const fullPath = path.join(dir, ent.name);
62
+ if (ent.isDirectory()) {
63
+ if (ent.name === '__tests__')
64
+ continue;
65
+ walkCapabilityDir(fullPath, results);
66
+ continue;
67
+ }
68
+ if (!ent.isFile())
69
+ continue;
70
+ if (!ent.name.endsWith('.ts') && !ent.name.endsWith('.js'))
71
+ continue;
72
+ if (ent.name.endsWith('.test.ts') ||
73
+ ent.name.endsWith('.test.js') ||
74
+ ent.name.endsWith('.d.ts')) {
75
+ continue;
76
+ }
77
+ results.push(fullPath);
78
+ }
79
+ }
80
+ //# sourceMappingURL=capability-source-scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-source-scan.js","sourceRoot":"","sources":["../../src/governance/capability-source-scan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"architecture.d.ts","sourceRoot":"","sources":["../../../src/governance/rules/architecture.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,EAAE,cAwBlC,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,0BAA0B,EAAE,cAsBxC,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,sBAAsB,EAAE,cAkBpC,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,sBAAsB,EAAE,cAgBpC,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,4BAA4B,EAAE,cAgB1C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAO7C,CAAC"}
1
+ {"version":3,"file":"architecture.d.ts","sourceRoot":"","sources":["../../../src/governance/rules/architecture.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,EAAE,cAwBlC,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,0BAA0B,EAAE,cAsBxC,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,sBAAsB,EAAE,cAkBpC,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,sBAAsB,EAAE,cAgBpC,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,4BAA4B,EAAE,cAgB1C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAQ7C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // ── Built-in Architecture Governance Rules ──
2
2
  import { GovernanceSeverity } from '../../types/enums.js';
3
+ import { capabilityDependencyRules } from './capability-dependencies.js';
3
4
  import { ruleMcpMissingDescription } from './mcp.js';
4
5
  /** Capabilities with too many side effects */
5
6
  export const ruleExcessiveEffects = {
@@ -112,5 +113,6 @@ export const architectureRules = [
112
113
  ruleExcessiveFlowSteps,
113
114
  ruleEntityMissingDescription,
114
115
  ruleMcpMissingDescription,
116
+ ...capabilityDependencyRules,
115
117
  ];
116
118
  //# sourceMappingURL=architecture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"architecture.js","sourceRoot":"","sources":["../../../src/governance/rules/architecture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"architecture.js","sourceRoot":"","sources":["../../../src/governance/rules/architecture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { GovernanceRule } from '../rule-engine.js';
2
+ export declare const ruleMissingCapabilityDependency: GovernanceRule;
3
+ export declare const ruleCircularCapabilityDependency: GovernanceRule;
4
+ export declare const ruleDeepCapabilityChain: GovernanceRule;
5
+ export declare const ruleNonCanonicalCapabilityReference: GovernanceRule;
6
+ export declare const ruleJobCapabilityDependency: GovernanceRule;
7
+ export declare const capabilityDependencyRules: GovernanceRule[];
8
+ //# sourceMappingURL=capability-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-dependencies.d.ts","sourceRoot":"","sources":["../../../src/governance/rules/capability-dependencies.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA0DxD,eAAO,MAAM,+BAA+B,EAAE,cAuB7C,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,cAmB9C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,cAqBrC,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,cAqCjD,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,cA4BzC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,cAAc,EAMrD,CAAC"}