@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
@@ -0,0 +1,203 @@
1
+ // ── plumbus events (operational) ──
2
+ // Outbox backlog, dead-letter management, and event replay.
3
+ import { and, desc, eq, gte, sql } from 'drizzle-orm';
4
+ import { loadConfig } from '../../config/loader.js';
5
+ import { closeDatabaseConnection, resolveDatabaseConnection } from '../../data/connection.js';
6
+ import { deadLetterTable, idempotencyTable, outboxTable } from '../../events/outbox.js';
7
+ import { TrustedReplayActor } from '../../types/event.js';
8
+ import { resolveRuntimeQueues } from '../../runtime/queue-factory.js';
9
+ import { info, error as logError } from '../utils.js';
10
+ async function withDb(fn) {
11
+ const config = loadConfig();
12
+ const connection = await resolveDatabaseConnection(config.database, {});
13
+ try {
14
+ return await fn(connection.db);
15
+ }
16
+ finally {
17
+ await closeDatabaseConnection(connection);
18
+ }
19
+ }
20
+ export async function getEventsStatus() {
21
+ return withDb(async (db) => {
22
+ const pending = await db
23
+ .select({ count: sql `count(*)::int` })
24
+ .from(outboxTable)
25
+ .where(eq(outboxTable.status, 'pending'));
26
+ const dlq = await db.select({ count: sql `count(*)::int` }).from(deadLetterTable);
27
+ const oldest = await db
28
+ .select({ occurredAt: outboxTable.occurredAt })
29
+ .from(outboxTable)
30
+ .where(eq(outboxTable.status, 'pending'))
31
+ .orderBy(outboxTable.occurredAt)
32
+ .limit(1);
33
+ const config = loadConfig();
34
+ const queues = await resolveRuntimeQueues(config, { preferInMemory: true });
35
+ const queueDepths = queues.getDepths ? await queues.getDepths() : null;
36
+ return {
37
+ outboxPending: pending[0]?.count ?? 0,
38
+ deadLetterCount: dlq[0]?.count ?? 0,
39
+ oldestPendingAt: oldest[0]?.occurredAt?.toISOString() ?? null,
40
+ queueBackend: queues.backend,
41
+ queueDepths,
42
+ };
43
+ });
44
+ }
45
+ export function registerEventsOpsCommands(eventsCmd) {
46
+ eventsCmd
47
+ .command('status')
48
+ .description('Outbox backlog, DLQ count, queue backend summary')
49
+ .option('--json', 'Output JSON')
50
+ .action(async (opts) => {
51
+ try {
52
+ const status = await getEventsStatus();
53
+ if (opts.json) {
54
+ console.log(JSON.stringify(status, null, 2));
55
+ return;
56
+ }
57
+ info(`Outbox pending: ${status.outboxPending}`);
58
+ info(`Dead letter: ${status.deadLetterCount}`);
59
+ info(`Oldest pending: ${status.oldestPendingAt ?? 'n/a'}`);
60
+ info(`Queue backend: ${status.queueBackend}`);
61
+ if (status.queueDepths) {
62
+ const d = status.queueDepths;
63
+ info(`Queue depths — events: ${d.events}, flows: ${d.flows}, jobs: ${d.jobs}`);
64
+ }
65
+ }
66
+ catch (err) {
67
+ logError(err instanceof Error ? err.message : String(err));
68
+ process.exit(1);
69
+ }
70
+ });
71
+ const dlq = eventsCmd.command('dead-letter').description('Manage event dead-letter queue');
72
+ dlq
73
+ .command('list')
74
+ .description('List event dead-letter rows')
75
+ .option('--limit <n>', 'Max rows', '20')
76
+ .option('--json', 'Output JSON')
77
+ .action(async (opts) => {
78
+ const limit = parseInt(opts.limit ?? '20', 10);
79
+ try {
80
+ const rows = await withDb(async (db) => db.select().from(deadLetterTable).orderBy(desc(deadLetterTable.failedAt)).limit(limit));
81
+ if (opts.json) {
82
+ console.log(JSON.stringify(rows, null, 2));
83
+ return;
84
+ }
85
+ for (const row of rows) {
86
+ info(`${row.id} ${row.eventType} consumer=${row.consumerId ?? 'n/a'} retries=${row.retryCount}`);
87
+ }
88
+ }
89
+ catch (err) {
90
+ logError(err instanceof Error ? err.message : String(err));
91
+ process.exit(1);
92
+ }
93
+ });
94
+ dlq
95
+ .command('retry <id>')
96
+ .description('Re-publish a dead-letter event to the events queue')
97
+ .action(async (id) => {
98
+ try {
99
+ await withDb(async (db) => {
100
+ const rows = await db
101
+ .select()
102
+ .from(deadLetterTable)
103
+ .where(eq(deadLetterTable.id, id))
104
+ .limit(1);
105
+ const row = rows[0];
106
+ if (!row) {
107
+ throw new Error(`Dead-letter row "${id}" not found`);
108
+ }
109
+ const config = loadConfig();
110
+ const queues = await resolveRuntimeQueues(config);
111
+ const dlqMeta = row.metadata;
112
+ await queues.events.publish({
113
+ id: row.eventId,
114
+ eventType: row.eventType,
115
+ version: '1',
116
+ occurredAt: new Date(),
117
+ actor: TrustedReplayActor.OpsRetry,
118
+ tenantId: dlqMeta?.tenantId ?? undefined,
119
+ correlationId: row.eventId,
120
+ payload: row.payload,
121
+ metadata: dlqMeta?.tenantId != null ? { tenantId: dlqMeta.tenantId } : undefined,
122
+ });
123
+ await queues.close();
124
+ });
125
+ info(`Re-published dead-letter ${id} to events queue`);
126
+ }
127
+ catch (err) {
128
+ logError(err instanceof Error ? err.message : String(err));
129
+ process.exit(1);
130
+ }
131
+ });
132
+ eventsCmd
133
+ .command('replay <eventId>')
134
+ .description('Re-dispatch outbox event(s) to the queue')
135
+ .option('--consumer <id>', 'Clear idempotency for this consumer before replay')
136
+ .option('--from <date>', 'Bulk replay dispatched events from ISO date')
137
+ .action(async (eventId, opts) => {
138
+ try {
139
+ await withDb(async (db) => {
140
+ const config = loadConfig();
141
+ const queues = await resolveRuntimeQueues(config);
142
+ if (opts.from) {
143
+ const rows = await db
144
+ .select()
145
+ .from(outboxTable)
146
+ .where(and(eq(outboxTable.status, 'dispatched'), gte(outboxTable.occurredAt, new Date(opts.from))))
147
+ .limit(100);
148
+ for (const row of rows) {
149
+ if (opts.consumer) {
150
+ await db
151
+ .delete(idempotencyTable)
152
+ .where(and(eq(idempotencyTable.eventId, row.id), eq(idempotencyTable.consumerId, opts.consumer)));
153
+ }
154
+ await queues.events.publish({
155
+ id: row.id,
156
+ eventType: row.eventType,
157
+ version: row.version,
158
+ occurredAt: row.occurredAt,
159
+ actor: TrustedReplayActor.OutboxReplay,
160
+ tenantId: row.tenantId ?? undefined,
161
+ correlationId: row.correlationId,
162
+ payload: row.payload,
163
+ });
164
+ }
165
+ info(`Replayed ${rows.length} outbox event(s)`);
166
+ }
167
+ else {
168
+ const rows = await db
169
+ .select()
170
+ .from(outboxTable)
171
+ .where(eq(outboxTable.id, eventId))
172
+ .limit(1);
173
+ const row = rows[0];
174
+ if (!row) {
175
+ throw new Error(`Outbox event "${eventId}" not found`);
176
+ }
177
+ if (opts.consumer) {
178
+ await db
179
+ .delete(idempotencyTable)
180
+ .where(and(eq(idempotencyTable.eventId, eventId), eq(idempotencyTable.consumerId, opts.consumer)));
181
+ }
182
+ await queues.events.publish({
183
+ id: row.id,
184
+ eventType: row.eventType,
185
+ version: row.version,
186
+ occurredAt: row.occurredAt,
187
+ actor: TrustedReplayActor.OutboxReplay,
188
+ tenantId: row.tenantId ?? undefined,
189
+ correlationId: row.correlationId,
190
+ payload: row.payload,
191
+ });
192
+ info(`Replayed outbox event ${eventId}`);
193
+ }
194
+ await queues.close();
195
+ });
196
+ }
197
+ catch (err) {
198
+ logError(err instanceof Error ? err.message : String(err));
199
+ process.exit(1);
200
+ }
201
+ });
202
+ }
203
+ //# sourceMappingURL=events-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events-ops.js","sourceRoot":"","sources":["../../../src/cli/commands/events-ops.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsB1D"}
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiE1D"}
@@ -1,10 +1,58 @@
1
1
  // ── plumbus flow new ──
2
2
  // Scaffold a new flow
3
3
  import * as path from 'node:path';
4
+ import { desc } from 'drizzle-orm';
5
+ import { loadConfig } from '../../config/loader.js';
6
+ import { closeDatabaseConnection, resolveDatabaseConnection } from '../../data/connection.js';
7
+ import { flowDeadLetterTable } from '../../flows/schema.js';
8
+ import { enqueueFlowStep } from '../../flows/flow-queue.js';
9
+ import { resolveRuntimeQueues } from '../../runtime/queue-factory.js';
4
10
  import { flowTemplate, flowTestTemplate } from '../templates/resources.js';
5
- import { error, exists, resolvePath, success, toKebabCase, writeFile } from '../utils.js';
11
+ import { error, exists, info, resolvePath, success, toKebabCase, writeFile } from '../utils.js';
6
12
  export function registerFlowCommand(program) {
7
13
  const cmd = program.command('flow').description('Manage flows');
14
+ const dlq = cmd.command('dead-letter').description('Flow dead-letter operations');
15
+ dlq
16
+ .command('list')
17
+ .description('List flow dead-letter rows')
18
+ .option('--limit <n>', 'Max rows', '20')
19
+ .option('--json', 'Output JSON')
20
+ .action(async (opts) => {
21
+ const limit = parseInt(opts.limit ?? '20', 10);
22
+ const config = loadConfig();
23
+ const connection = await resolveDatabaseConnection(config.database, {});
24
+ try {
25
+ const rows = await connection.db
26
+ .select()
27
+ .from(flowDeadLetterTable)
28
+ .orderBy(desc(flowDeadLetterTable.failedAt))
29
+ .limit(limit);
30
+ if (opts.json) {
31
+ console.log(JSON.stringify(rows, null, 2));
32
+ return;
33
+ }
34
+ for (const row of rows) {
35
+ info(`${row.executionId} flow=${row.flowName} retries=${row.retryCount}`);
36
+ }
37
+ }
38
+ finally {
39
+ await closeDatabaseConnection(connection);
40
+ }
41
+ });
42
+ dlq
43
+ .command('retry <executionId>')
44
+ .description('Re-enqueue a flow step after operator fix')
45
+ .action(async (executionId) => {
46
+ const config = loadConfig();
47
+ const queues = await resolveRuntimeQueues(config);
48
+ try {
49
+ await enqueueFlowStep(queues.flows, executionId);
50
+ success(`Re-enqueued flow step for execution ${executionId}`);
51
+ }
52
+ finally {
53
+ await queues.close();
54
+ }
55
+ });
8
56
  cmd
9
57
  .command('new <name>')
10
58
  .description('Scaffold a new flow')
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,sBAAsB;AAGtB,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1F,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAEhE,GAAG;SACA,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,SAAS,CAAC;SACrD,MAAM,CAAC,CAAC,IAAY,EAAE,IAAyB,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;QACxC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAE3D,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACpB,KAAK,CAAC,SAAS,KAAK,+BAA+B,MAAM,GAAG,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACrE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,UAAU,CAAC,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAE3F,OAAO,CAAC,2BAA2B,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,8 @@ export declare function generateReactHook(cap: CapabilityContract): string;
35
35
  export declare function generateOpenApiPath(cap: CapabilityContract): Record<string, unknown>;
36
36
  /** Generate a manifest entry for a capability */
37
37
  export declare function generateManifestEntry(cap: CapabilityContract): Record<string, unknown>;
38
+ /** Generate a mermaid capability dependency graph from declared effects edges. */
39
+ export declare function generateCapabilityGraphMarkdown(capabilities: CapabilityContract[]): string;
38
40
  /**
39
41
  * Generate a TypeScript interface for a single entity definition.
40
42
  */
@@ -47,6 +49,8 @@ export declare function generateDataServiceMap(entities: EntityDefinition[]): st
47
49
  * Generate the full entity types file content.
48
50
  */
49
51
  export declare function generateEntityTypeFile(entities: EntityDefinition[]): string;
52
+ /** Generate auto-registered queue consumer manifest from capabilities. */
53
+ export declare function generateConsumerManifest(capabilities: CapabilityContract[]): Record<string, unknown>[];
50
54
  /** Run full code generation for a set of capabilities */
51
55
  export declare function generateAll(capabilities: CapabilityContract[], outputDir: string, entities?: EntityDefinition[], events?: EventDefinition[], flows?: FlowDefinition[], sharedTypesDir?: string): string[];
52
56
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAe1D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,CA0C5D;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAKvE;AAED,oDAAoD;AACpD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAMrF;AAED,+CAA+C;AAC/C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAMvE;AAED,8CAA8C;AAC9C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,CAMpE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,kBAAkB,EAAE,EAClC,MAAM,EAAE,eAAe,EAAE,EACzB,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,MAAM,CA8ER;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CA+BtE;AAED,6CAA6C;AAC7C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAuCjE;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2BpF;AAED,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAStF;AA8BD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAyDxE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAoB3E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAM3E;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CACzB,YAAY,EAAE,kBAAkB,EAAE,EAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,gBAAgB,EAAO,EACjC,MAAM,GAAE,eAAe,EAAO,EAC9B,KAAK,GAAE,cAAc,EAAO,EAC5B,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,EAAE,CA2GV;AAID;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAuC7E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwE9D"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgB1D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,CA0C5D;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAKvE;AAED,oDAAoD;AACpD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAMrF;AAED,+CAA+C;AAC/C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAMvE;AAED,8CAA8C;AAC9C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,CAMpE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,kBAAkB,EAAE,EAClC,MAAM,EAAE,eAAe,EAAE,EACzB,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,MAAM,CA8ER;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CA+BtE;AAED,6CAA6C;AAC7C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAuCjE;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2BpF;AAED,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUtF;AAED,kFAAkF;AAClF,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,MAAM,CA8D1F;AAkCD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAyDxE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAoB3E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAM3E;AAED,0EAA0E;AAC1E,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,kBAAkB,EAAE,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAoB3B;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CACzB,YAAY,EAAE,kBAAkB,EAAE,EAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,gBAAgB,EAAO,EACjC,MAAM,GAAE,eAAe,EAAO,EAC9B,KAAK,GAAE,cAAc,EAAO,EAC5B,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,EAAE,CA2HV;AAID;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAuC7E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwE9D"}
@@ -4,9 +4,11 @@ import * as JSONC from 'jsonc-parser';
4
4
  import * as fs from 'node:fs';
5
5
  import * as path from 'node:path';
6
6
  import { z } from 'zod';
7
+ import { getCanonicalCapabilityName } from '../../execution/canonical-name.js';
7
8
  import { CapabilityRegistry } from '../../execution/capability-registry.js';
8
9
  import { buildMcpManifest, isMcpExposed, renderSkillFile } from '../../mcp/index.js';
9
10
  import { discoverResources } from '../discover.js';
11
+ import { jobEventType } from '../../jobs/types.js';
10
12
  import { detectMonorepoLayout, exists, info, resolvePath, success, toCamelCase, toKebabCase, toPascalCase, warn, writeFile, } from '../utils.js';
11
13
  /**
12
14
  * Convert a Zod type to a TypeScript type string for code generation.
@@ -84,7 +86,7 @@ export function generateCapabilityNameType(capabilities) {
84
86
  if (capabilities.length === 0) {
85
87
  return 'export type CapabilityName = never;';
86
88
  }
87
- const names = capabilities.map((c) => `"${c.name}"`).join(' | ');
89
+ const names = capabilities.map((c) => `"${getCanonicalCapabilityName(c)}"`).join(' | ');
88
90
  return `export type CapabilityName = ${names};`;
89
91
  }
90
92
  /** Generate a union type of all event names */
@@ -128,7 +130,7 @@ export function generatePlumbusDeclaration(capabilities, events, flows, entities
128
130
  lines.push(' interface PlumbusRegistry {');
129
131
  // capabilityName
130
132
  if (capabilities.length > 0) {
131
- const capNames = capabilities.map((c) => `"${c.name}"`).join(' | ');
133
+ const capNames = capabilities.map((c) => `"${getCanonicalCapabilityName(c)}"`).join(' | ');
132
134
  lines.push(` capabilityName: ${capNames};`);
133
135
  }
134
136
  else {
@@ -278,7 +280,8 @@ export function generateOpenApiPath(cap) {
278
280
  /** Generate a manifest entry for a capability */
279
281
  export function generateManifestEntry(cap) {
280
282
  return {
281
- name: cap.name,
283
+ name: getCanonicalCapabilityName(cap),
284
+ localName: cap.name,
282
285
  kind: cap.kind,
283
286
  domain: cap.domain,
284
287
  description: cap.description,
@@ -286,6 +289,64 @@ export function generateManifestEntry(cap) {
286
289
  access: cap.access,
287
290
  };
288
291
  }
292
+ /** Generate a mermaid capability dependency graph from declared effects edges. */
293
+ export function generateCapabilityGraphMarkdown(capabilities) {
294
+ const lines = [
295
+ '# Capability dependency graph',
296
+ '',
297
+ 'Auto-generated by `plumbus generate` from declared capability effects.',
298
+ '',
299
+ 'Solid arrows: `effects.capabilities` invoke dependencies. Dotted arrows: data, events, flows, and external effects.',
300
+ '',
301
+ '```mermaid',
302
+ 'flowchart LR',
303
+ ];
304
+ const nodeIds = new Set();
305
+ function ensureNode(id, label) {
306
+ if (nodeIds.has(id))
307
+ return;
308
+ nodeIds.add(id);
309
+ lines.push(` ${id}["${label}"]`);
310
+ }
311
+ for (const cap of capabilities) {
312
+ const from = getCanonicalCapabilityName(cap);
313
+ ensureNode(sanitizeMermaidId(from), from);
314
+ for (const dep of cap.effects.capabilities ?? []) {
315
+ ensureNode(sanitizeMermaidId(dep), dep);
316
+ lines.push(` ${sanitizeMermaidId(from)} --> ${sanitizeMermaidId(dep)}`);
317
+ }
318
+ for (const entity of cap.effects.data ?? []) {
319
+ const targetId = sanitizeMermaidId(`data_${entity}`);
320
+ ensureNode(targetId, `data:${entity}`);
321
+ lines.push(` ${sanitizeMermaidId(from)} -.->|data| ${targetId}`);
322
+ }
323
+ for (const eventName of cap.effects.events ?? []) {
324
+ const targetId = sanitizeMermaidId(`event_${eventName}`);
325
+ ensureNode(targetId, `event:${eventName}`);
326
+ lines.push(` ${sanitizeMermaidId(from)} -.->|event| ${targetId}`);
327
+ }
328
+ for (const flowName of cap.effects.flows ?? []) {
329
+ const targetId = sanitizeMermaidId(`flow_${flowName}`);
330
+ ensureNode(targetId, `flow:${flowName}`);
331
+ lines.push(` ${sanitizeMermaidId(from)} -.->|flow| ${targetId}`);
332
+ }
333
+ for (const external of cap.effects.external ?? []) {
334
+ const targetId = sanitizeMermaidId(`external_${external}`);
335
+ ensureNode(targetId, `external:${external}`);
336
+ lines.push(` ${sanitizeMermaidId(from)} -.->|external| ${targetId}`);
337
+ }
338
+ if (cap.effects.ai) {
339
+ const targetId = sanitizeMermaidId(`ai_${from}`);
340
+ ensureNode(targetId, 'ai:true');
341
+ lines.push(` ${sanitizeMermaidId(from)} -.->|ai| ${targetId}`);
342
+ }
343
+ }
344
+ lines.push('```', '');
345
+ return lines.join('\n');
346
+ }
347
+ function sanitizeMermaidId(name) {
348
+ return name.replace(/[^a-zA-Z0-9_]/g, '_');
349
+ }
289
350
  /**
290
351
  * Map an entity FieldDescriptor type to its TypeScript type string.
291
352
  */
@@ -398,6 +459,28 @@ export function generateEntityTypeFile(entities) {
398
459
  }
399
460
  return `${header}\n${generateDataServiceMap(entities)}\n`;
400
461
  }
462
+ /** Generate auto-registered queue consumer manifest from capabilities. */
463
+ export function generateConsumerManifest(capabilities) {
464
+ const consumers = [];
465
+ for (const cap of capabilities) {
466
+ if (cap.kind === 'eventHandler' && cap.trigger?.event) {
467
+ consumers.push({
468
+ id: cap.name,
469
+ kind: 'eventHandler',
470
+ eventTypes: [cap.trigger.event],
471
+ versionConstraint: cap.trigger.versionConstraint,
472
+ });
473
+ }
474
+ if (cap.kind === 'job') {
475
+ consumers.push({
476
+ id: `job:${cap.domain}:${cap.name}`,
477
+ kind: 'job',
478
+ eventTypes: [jobEventType(cap.domain, cap.name)],
479
+ });
480
+ }
481
+ }
482
+ return consumers;
483
+ }
401
484
  /** Run full code generation for a set of capabilities */
402
485
  export function generateAll(capabilities, outputDir, entities = [], events = [], flows = [], sharedTypesDir) {
403
486
  const generated = [];
@@ -458,6 +541,14 @@ export function generateAll(capabilities, outputDir, entities = [], events = [],
458
541
  };
459
542
  writeFile(path.join(outputDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
460
543
  generated.push('manifest.json');
544
+ writeFile(path.join(outputDir, 'capability-graph.md'), generateCapabilityGraphMarkdown(capabilities));
545
+ generated.push('capability-graph.md');
546
+ const consumerManifest = {
547
+ generatedAt: new Date().toISOString(),
548
+ consumers: generateConsumerManifest(capabilities),
549
+ };
550
+ writeFile(path.join(outputDir, 'consumers-manifest.json'), JSON.stringify(consumerManifest, null, 2));
551
+ generated.push('consumers-manifest.json');
461
552
  // MCP manifest + skill files
462
553
  const mcpRegistry = new CapabilityRegistry();
463
554
  for (const cap of capabilities) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export { registerAgentCommand } from './agent.js';
2
+ export { registerApiCommand } from './api.js';
2
3
  export { registerBrowserExtensionCommand } from './browser-extension.js';
3
4
  export { registerCapabilityCommand } from './capability.js';
4
5
  export { registerCertifyCommand } from './certify.js';
@@ -23,4 +24,5 @@ export { registerTranslationCommand } from './translation.js';
23
24
  export { registerUiCommand } from './ui.js';
24
25
  export { registerUpgradeCommand } from './upgrade.js';
25
26
  export { registerVerifyCommand } from './verify.js';
27
+ export { registerWorkerCommand } from './worker.js';
26
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -4,6 +4,7 @@
4
4
  //
5
5
  // Available commands:
6
6
  // agent — Generate AI agent briefs for resources
7
+ // api — External API contract validate, generate, diff
7
8
  // capability — Scaffold a new capability
8
9
  // certify — Run compliance profile assessment
9
10
  // create — Scaffold a new Plumbus application
@@ -27,6 +28,7 @@
27
28
  // upgrade — Migrate legacy artifacts after framework upgrades
28
29
  // verify — Run governance rules
29
30
  export { registerAgentCommand } from './agent.js';
31
+ export { registerApiCommand } from './api.js';
30
32
  export { registerBrowserExtensionCommand } from './browser-extension.js';
31
33
  export { registerCapabilityCommand } from './capability.js';
32
34
  export { registerCertifyCommand } from './certify.js';
@@ -51,4 +53,5 @@ export { registerTranslationCommand } from './translation.js';
51
53
  export { registerUiCommand } from './ui.js';
52
54
  export { registerUpgradeCommand } from './upgrade.js';
53
55
  export { registerVerifyCommand } from './verify.js';
56
+ export { registerWorkerCommand } from './worker.js';
54
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,6CAA6C;AAC7C,6EAA6E;AAC7E,EAAE;AACF,sBAAsB;AACtB,wDAAwD;AACxD,2CAA2C;AAC3C,mDAAmD;AACnD,oDAAoD;AACpD,0DAA0D;AAC1D,6CAA6C;AAC7C,oEAAoE;AACpE,uCAAuC;AACvC,sCAAsC;AACtC,qCAAqC;AACrC,4DAA4D;AAC5D,gDAAgD;AAChD,+DAA+D;AAC/D,6CAA6C;AAC7C,uCAAuC;AACvC,wCAAwC;AACxC,4DAA4D;AAC5D,yDAAyD;AACzD,yCAAyC;AACzC,6CAA6C;AAC7C,8DAA8D;AAC9D,mEAAmE;AACnE,sCAAsC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,6CAA6C;AAC7C,6EAA6E;AAC7E,EAAE;AACF,sBAAsB;AACtB,wDAAwD;AACxD,gEAAgE;AAChE,2CAA2C;AAC3C,mDAAmD;AACnD,oDAAoD;AACpD,0DAA0D;AAC1D,6CAA6C;AAC7C,oEAAoE;AACpE,uCAAuC;AACvC,sCAAsC;AACtC,qCAAqC;AACrC,4DAA4D;AAC5D,gDAAgD;AAChD,+DAA+D;AAC/D,6CAA6C;AAC7C,uCAAuC;AACvC,wCAAwC;AACxC,4DAA4D;AAC5D,yDAAyD;AACzD,yCAAyC;AACzC,6CAA6C;AAC7C,8DAA8D;AAC9D,mEAAmE;AACnE,sCAAsC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}