@plumbus/core 0.2.5 → 0.2.7

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 (138) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ai/__tests__/model-pricing.test.d.ts +2 -0
  3. package/dist/ai/__tests__/model-pricing.test.d.ts.map +1 -0
  4. package/dist/ai/__tests__/model-pricing.test.js +112 -0
  5. package/dist/ai/__tests__/model-pricing.test.js.map +1 -0
  6. package/dist/ai/__tests__/provider.test.js +15 -2
  7. package/dist/ai/__tests__/provider.test.js.map +1 -1
  8. package/dist/ai/ai-service.d.ts.map +1 -1
  9. package/dist/ai/ai-service.js +13 -1
  10. package/dist/ai/ai-service.js.map +1 -1
  11. package/dist/ai/index.d.ts +2 -1
  12. package/dist/ai/index.d.ts.map +1 -1
  13. package/dist/ai/index.js +3 -1
  14. package/dist/ai/index.js.map +1 -1
  15. package/dist/ai/model-pricing.d.ts +29 -0
  16. package/dist/ai/model-pricing.d.ts.map +1 -0
  17. package/dist/ai/model-pricing.js +133 -0
  18. package/dist/ai/model-pricing.js.map +1 -0
  19. package/dist/ai/provider.d.ts +4 -0
  20. package/dist/ai/provider.d.ts.map +1 -1
  21. package/dist/ai/provider.js +4 -0
  22. package/dist/ai/provider.js.map +1 -1
  23. package/dist/ai/validation.d.ts.map +1 -1
  24. package/dist/ai/validation.js +2 -0
  25. package/dist/ai/validation.js.map +1 -1
  26. package/dist/api/__tests__/route-generator.test.js +112 -0
  27. package/dist/api/__tests__/route-generator.test.js.map +1 -1
  28. package/dist/api/route-generator.d.ts +12 -0
  29. package/dist/api/route-generator.d.ts.map +1 -1
  30. package/dist/api/route-generator.js +69 -1
  31. package/dist/api/route-generator.js.map +1 -1
  32. package/dist/cli/__tests__/cli.test.js +4 -1
  33. package/dist/cli/__tests__/cli.test.js.map +1 -1
  34. package/dist/cli/__tests__/create.test.js +11 -1
  35. package/dist/cli/__tests__/create.test.js.map +1 -1
  36. package/dist/cli/__tests__/generate.test.js +120 -12
  37. package/dist/cli/__tests__/generate.test.js.map +1 -1
  38. package/dist/cli/__tests__/ui.test.js +15 -1
  39. package/dist/cli/__tests__/ui.test.js.map +1 -1
  40. package/dist/cli/cli.d.ts.map +1 -1
  41. package/dist/cli/cli.js +12 -1
  42. package/dist/cli/cli.js.map +1 -1
  43. package/dist/cli/commands/create.js +2 -2
  44. package/dist/cli/commands/create.js.map +1 -1
  45. package/dist/cli/commands/dev.d.ts.map +1 -1
  46. package/dist/cli/commands/dev.js +130 -1
  47. package/dist/cli/commands/dev.js.map +1 -1
  48. package/dist/cli/commands/generate.d.ts +6 -0
  49. package/dist/cli/commands/generate.d.ts.map +1 -1
  50. package/dist/cli/commands/generate.js +94 -4
  51. package/dist/cli/commands/generate.js.map +1 -1
  52. package/dist/cli/commands/start.d.ts.map +1 -1
  53. package/dist/cli/commands/start.js +130 -1
  54. package/dist/cli/commands/start.js.map +1 -1
  55. package/dist/cli/commands/ui.d.ts +1 -0
  56. package/dist/cli/commands/ui.d.ts.map +1 -1
  57. package/dist/cli/commands/ui.js +41 -5
  58. package/dist/cli/commands/ui.js.map +1 -1
  59. package/dist/data/__tests__/repository.test.js +203 -0
  60. package/dist/data/__tests__/repository.test.js.map +1 -1
  61. package/dist/data/index.d.ts +1 -0
  62. package/dist/data/index.d.ts.map +1 -1
  63. package/dist/data/index.js +2 -0
  64. package/dist/data/index.js.map +1 -1
  65. package/dist/data/repository.d.ts +1 -1
  66. package/dist/data/repository.d.ts.map +1 -1
  67. package/dist/data/repository.js +67 -3
  68. package/dist/data/repository.js.map +1 -1
  69. package/dist/errors/__tests__/errors.test.js +30 -2
  70. package/dist/errors/__tests__/errors.test.js.map +1 -1
  71. package/dist/errors/http.d.ts +3 -3
  72. package/dist/errors/http.d.ts.map +1 -1
  73. package/dist/errors/http.js.map +1 -1
  74. package/dist/errors/index.d.ts +12 -1
  75. package/dist/errors/index.d.ts.map +1 -1
  76. package/dist/errors/index.js +22 -1
  77. package/dist/errors/index.js.map +1 -1
  78. package/dist/execution/__tests__/authorization.test.js +11 -0
  79. package/dist/execution/__tests__/authorization.test.js.map +1 -1
  80. package/dist/execution/authorization.d.ts.map +1 -1
  81. package/dist/execution/authorization.js +4 -0
  82. package/dist/execution/authorization.js.map +1 -1
  83. package/dist/execution/capability-executor.d.ts +2 -2
  84. package/dist/execution/capability-executor.d.ts.map +1 -1
  85. package/dist/execution/capability-executor.js +8 -2
  86. package/dist/execution/capability-executor.js.map +1 -1
  87. package/dist/flows/__tests__/step-executor.test.js +62 -10
  88. package/dist/flows/__tests__/step-executor.test.js.map +1 -1
  89. package/dist/flows/engine.d.ts +12 -1
  90. package/dist/flows/engine.d.ts.map +1 -1
  91. package/dist/flows/engine.js +56 -10
  92. package/dist/flows/engine.js.map +1 -1
  93. package/dist/flows/step-executor.d.ts +5 -2
  94. package/dist/flows/step-executor.d.ts.map +1 -1
  95. package/dist/flows/step-executor.js +38 -4
  96. package/dist/flows/step-executor.js.map +1 -1
  97. package/dist/index.d.ts +4 -4
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +3 -3
  100. package/dist/index.js.map +1 -1
  101. package/dist/server/__tests__/bootstrap.test.js +108 -0
  102. package/dist/server/__tests__/bootstrap.test.js.map +1 -1
  103. package/dist/server/bootstrap.d.ts +50 -1
  104. package/dist/server/bootstrap.d.ts.map +1 -1
  105. package/dist/server/bootstrap.js +85 -2
  106. package/dist/server/bootstrap.js.map +1 -1
  107. package/dist/testing/__tests__/simulate-flow.test.js +10 -0
  108. package/dist/testing/__tests__/simulate-flow.test.js.map +1 -1
  109. package/dist/testing/context.d.ts.map +1 -1
  110. package/dist/testing/context.js +73 -6
  111. package/dist/testing/context.js.map +1 -1
  112. package/dist/testing/simulate-flow.d.ts.map +1 -1
  113. package/dist/testing/simulate-flow.js +31 -4
  114. package/dist/testing/simulate-flow.js.map +1 -1
  115. package/dist/types/context.d.ts +31 -7
  116. package/dist/types/context.d.ts.map +1 -1
  117. package/dist/types/errors.d.ts +6 -6
  118. package/dist/types/errors.d.ts.map +1 -1
  119. package/dist/types/index.d.ts +3 -3
  120. package/dist/types/index.d.ts.map +1 -1
  121. package/dist/types/index.js.map +1 -1
  122. package/dist/types/registry.d.ts +6 -0
  123. package/dist/types/registry.d.ts.map +1 -1
  124. package/dist/types/registry.js +3 -1
  125. package/dist/types/registry.js.map +1 -1
  126. package/dist/types/security.d.ts +2 -0
  127. package/dist/types/security.d.ts.map +1 -1
  128. package/dist/worker/__tests__/bootstrap.test.js +23 -0
  129. package/dist/worker/__tests__/bootstrap.test.js.map +1 -1
  130. package/dist/worker/bootstrap.d.ts +12 -1
  131. package/dist/worker/bootstrap.d.ts.map +1 -1
  132. package/dist/worker/bootstrap.js +47 -8
  133. package/dist/worker/bootstrap.js.map +1 -1
  134. package/instructions/ai.md +30 -4
  135. package/instructions/capabilities.md +4 -0
  136. package/instructions/cli.md +2 -0
  137. package/instructions/framework.md +49 -0
  138. package/package.json +2 -1
@@ -1,7 +1,9 @@
1
- import { describe, expect, it } from 'vitest';
1
+ import * as fs from 'node:fs';
2
+ import * as path from 'node:path';
3
+ import { afterEach, describe, expect, it } from 'vitest';
2
4
  import { z } from 'zod';
3
5
  import { field } from '../../fields/index.js';
4
- import { generateAll, generateCapabilityNameType, generateCapabilityTypes, generateClientFunction, generateDataServiceMap, generateEntityInterface, generateEntityTypeFile, generateEventNameType, generateFlowNameType, generateManifestEntry, generateOpenApiPath, generatePlumbusDeclaration, generateReactHook, zodTypeToString, } from '../commands/generate.js';
6
+ import { ensureTsconfigIncludesGenerated, generateAll, generateCapabilityNameType, generateCapabilityTypes, generateClientFunction, generateDataServiceMap, generateEntityInterface, generateEntityTypeFile, generateEventNameType, generateFlowNameType, generateManifestEntry, generateOpenApiPath, generatePlumbusDeclaration, generateReactHook, zodTypeToString, } from '../commands/generate.js';
5
7
  function mockCapability(overrides) {
6
8
  return {
7
9
  name: 'getInvoice',
@@ -197,8 +199,9 @@ describe('Entity type generation', () => {
197
199
  });
198
200
  it('marks required fields as non-optional', () => {
199
201
  const result = generateEntityInterface(mockEntity());
200
- expect(result).toContain(' email: string;');
201
- expect(result).not.toContain('email?');
202
+ const recordSection = result.split('export interface UserRecord {')[1]?.split('}')[0] ?? '';
203
+ expect(recordSection).toContain(' email: string;');
204
+ expect(recordSection).not.toContain('email?');
202
205
  });
203
206
  it('auto-adds updatedAt for entities without it', () => {
204
207
  const result = generateEntityInterface(mockEntity());
@@ -252,6 +255,34 @@ describe('Entity type generation', () => {
252
255
  const result = generateEntityInterface(entity);
253
256
  expect(result).toContain('export interface OrderItemRecord {');
254
257
  });
258
+ it('generates CreateInput that omits system fields', () => {
259
+ const result = generateEntityInterface(mockEntity());
260
+ expect(result).toContain('export interface UserCreateInput {');
261
+ expect(result).toContain('export interface UserUpdateInput {');
262
+ // CreateInput should contain user-defined fields
263
+ const createSection = result.split('export interface UserCreateInput {')[1]?.split('}')[0] ?? '';
264
+ expect(createSection).toContain('email: string;');
265
+ expect(createSection).toContain('name?:');
266
+ // CreateInput should NOT contain system fields
267
+ expect(createSection).not.toContain('id:');
268
+ expect(createSection).not.toContain('createdAt');
269
+ expect(createSection).not.toContain('updatedAt');
270
+ });
271
+ it('generates UpdateInput with all non-system fields optional', () => {
272
+ const result = generateEntityInterface(mockEntity());
273
+ const updateSection = result.split('export interface UserUpdateInput {')[1]?.split('}')[0] ?? '';
274
+ expect(updateSection).toContain('email?: string;');
275
+ expect(updateSection).toContain('name?: string;');
276
+ expect(updateSection).not.toContain('id:');
277
+ expect(updateSection).not.toContain('createdAt');
278
+ expect(updateSection).not.toContain('updatedAt');
279
+ });
280
+ it('omits tenantId from CreateInput for tenant-scoped entities', () => {
281
+ const entity = mockEntity({ tenantScoped: true });
282
+ const result = generateEntityInterface(entity);
283
+ const createSection = result.split('export interface UserCreateInput {')[1]?.split('}')[0] ?? '';
284
+ expect(createSection).not.toContain('tenantId');
285
+ });
255
286
  });
256
287
  describe('generateDataServiceMap', () => {
257
288
  it('generates a DataServiceMap with repository types', () => {
@@ -264,8 +295,8 @@ describe('Entity type generation', () => {
264
295
  expect(result).toContain('export interface UserRecord {');
265
296
  expect(result).toContain('export interface OrderRecord {');
266
297
  expect(result).toContain('export interface DataServiceMap {');
267
- expect(result).toContain('User: Repository<UserRecord>;');
268
- expect(result).toContain('Order: Repository<OrderRecord>;');
298
+ expect(result).toContain('User: Repository<UserRecord, UserCreateInput, UserUpdateInput>;');
299
+ expect(result).toContain('Order: Repository<OrderRecord, OrderCreateInput, OrderUpdateInput>;');
269
300
  });
270
301
  });
271
302
  describe('generateEntityTypeFile', () => {
@@ -332,14 +363,15 @@ describe('generatePlumbusDeclaration', () => {
332
363
  expect(result).toContain('capabilityName: "getInvoice" | "createOrder"');
333
364
  expect(result).toContain('eventName: "user.created"');
334
365
  expect(result).toContain('flowName: "onboardUser"');
335
- expect(result).toContain('User: Repository<UserRecord>');
366
+ expect(result).toContain('User: Repository<UserRecord, UserCreateInput, UserUpdateInput>');
336
367
  expect(result).toContain('import type { Repository } from "@plumbus/core"');
337
- expect(result).toContain('import type { UserRecord } from "./entity-types.js"');
368
+ expect(result).toContain('import type { UserRecord, UserCreateInput, UserUpdateInput } from "./entity-types.js"');
338
369
  });
339
370
  it('generates never for empty collections', () => {
340
371
  const result = generatePlumbusDeclaration([], [], [], []);
341
372
  expect(result).toContain('capabilityName: never');
342
373
  expect(result).toContain('eventName: never');
374
+ expect(result).toContain('eventPayloads: Record<string, never>');
343
375
  expect(result).toContain('flowName: never');
344
376
  expect(result).toContain('entities: Record<string, never>');
345
377
  expect(result).not.toContain('import type { Repository }');
@@ -348,16 +380,32 @@ describe('generatePlumbusDeclaration', () => {
348
380
  const result = generatePlumbusDeclaration([], [], [], []);
349
381
  expect(result).toContain('Auto-generated by `plumbus generate`');
350
382
  });
383
+ it('generates event payload map with typed payloads', () => {
384
+ const events = [
385
+ mockEvent({ name: 'user.created', payload: z.object({ userId: z.string() }) }),
386
+ mockEvent({
387
+ name: 'order.completed',
388
+ payload: z.object({ orderId: z.string(), total: z.number() }),
389
+ }),
390
+ ];
391
+ const result = generatePlumbusDeclaration([], events, [], []);
392
+ expect(result).toContain('eventPayloads: {');
393
+ expect(result).toContain('"user.created":');
394
+ expect(result).toContain('userId: string;');
395
+ expect(result).toContain('"order.completed":');
396
+ expect(result).toContain('orderId: string;');
397
+ expect(result).toContain('total: number;');
398
+ });
351
399
  it('handles multiple entities in the entities map', () => {
352
400
  const entities = [
353
401
  mockEntity(),
354
402
  mockEntity({ name: 'Order', fields: { id: field.id(), total: field.number() } }),
355
403
  ];
356
404
  const result = generatePlumbusDeclaration([], [], [], entities);
357
- expect(result).toContain('User: Repository<UserRecord>');
358
- expect(result).toContain('Order: Repository<OrderRecord>');
359
- expect(result).toContain('import type { UserRecord } from "./entity-types.js"');
360
- expect(result).toContain('import type { OrderRecord } from "./entity-types.js"');
405
+ expect(result).toContain('User: Repository<UserRecord, UserCreateInput, UserUpdateInput>');
406
+ expect(result).toContain('Order: Repository<OrderRecord, OrderCreateInput, OrderUpdateInput>');
407
+ expect(result).toContain('import type { UserRecord, UserCreateInput, UserUpdateInput } from "./entity-types.js"');
408
+ expect(result).toContain('import type { OrderRecord, OrderCreateInput, OrderUpdateInput } from "./entity-types.js"');
361
409
  });
362
410
  });
363
411
  describe('generateAll with events and flows', () => {
@@ -367,4 +415,64 @@ describe('generateAll with events and flows', () => {
367
415
  expect(generated).toContain('plumbus.d.ts');
368
416
  });
369
417
  });
418
+ describe('ensureTsconfigIncludesGenerated', () => {
419
+ const tmpDir = `/tmp/plumbus-tsconfig-test-${Date.now()}`;
420
+ const tsconfigPath = path.join(tmpDir, 'tsconfig.json');
421
+ afterEach(() => {
422
+ if (fs.existsSync(tmpDir)) {
423
+ fs.rmSync(tmpDir, { recursive: true });
424
+ }
425
+ });
426
+ it('adds .plumbus/generated to include array', () => {
427
+ fs.mkdirSync(tmpDir, { recursive: true });
428
+ fs.writeFileSync(tsconfigPath, JSON.stringify({ compilerOptions: {}, include: ['app', 'config'] }));
429
+ const modified = ensureTsconfigIncludesGenerated(tsconfigPath);
430
+ expect(modified).toBe(true);
431
+ const tsconfig = JSON.parse(fs.readFileSync(tsconfigPath, 'utf-8'));
432
+ expect(tsconfig.include).toContain('.plumbus/generated');
433
+ });
434
+ it('preserves JSONC comments when modifying', () => {
435
+ fs.mkdirSync(tmpDir, { recursive: true });
436
+ const content = [
437
+ '{',
438
+ ' // Compiler settings',
439
+ ' "compilerOptions": {},',
440
+ ' "include": ["app"]',
441
+ '}',
442
+ '',
443
+ ].join('\n');
444
+ fs.writeFileSync(tsconfigPath, content);
445
+ const modified = ensureTsconfigIncludesGenerated(tsconfigPath);
446
+ expect(modified).toBe(true);
447
+ const result = fs.readFileSync(tsconfigPath, 'utf-8');
448
+ expect(result).toContain('// Compiler settings');
449
+ expect(result).toContain('.plumbus/generated');
450
+ });
451
+ it('preserves trailing newline', () => {
452
+ fs.mkdirSync(tmpDir, { recursive: true });
453
+ fs.writeFileSync(tsconfigPath, '{\n "include": ["app"]\n}\n');
454
+ ensureTsconfigIncludesGenerated(tsconfigPath);
455
+ const result = fs.readFileSync(tsconfigPath, 'utf-8');
456
+ expect(result.endsWith('\n')).toBe(true);
457
+ });
458
+ it('does not duplicate if already present', () => {
459
+ fs.mkdirSync(tmpDir, { recursive: true });
460
+ fs.writeFileSync(tsconfigPath, JSON.stringify({ compilerOptions: {}, include: ['app', '.plumbus/generated'] }));
461
+ const modified = ensureTsconfigIncludesGenerated(tsconfigPath);
462
+ expect(modified).toBe(false);
463
+ const tsconfig = JSON.parse(fs.readFileSync(tsconfigPath, 'utf-8'));
464
+ const count = tsconfig.include.filter((e) => e === '.plumbus/generated').length;
465
+ expect(count).toBe(1);
466
+ });
467
+ it('returns false if tsconfig does not exist', () => {
468
+ const modified = ensureTsconfigIncludesGenerated('/tmp/nonexistent-tsconfig-12345.json');
469
+ expect(modified).toBe(false);
470
+ });
471
+ it('returns false if include is not an array', () => {
472
+ fs.mkdirSync(tmpDir, { recursive: true });
473
+ fs.writeFileSync(tsconfigPath, JSON.stringify({ compilerOptions: {} }));
474
+ const modified = ensureTsconfigIncludesGenerated(tsconfigPath);
475
+ expect(modified).toBe(false);
476
+ });
477
+ });
370
478
  //# sourceMappingURL=generate.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/generate.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/generate.test.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,10 @@ function mockUiGenerators() {
28
28
  generateHooksModule: () => 'hooks-module',
29
29
  generateAuthModule: () => 'auth-module',
30
30
  generateFormHintsModule: () => 'form-hints-module',
31
- generateNextjsTemplate: () => [{ path: 'app/page.tsx', content: 'page-module' }],
31
+ generateNextjsTemplate: () => [
32
+ { path: 'app/page.tsx', content: 'page-module' },
33
+ { path: 'app/layout.tsx', content: 'layout-module' },
34
+ ],
32
35
  };
33
36
  }
34
37
  describe('plumbus ui helpers', () => {
@@ -53,6 +56,17 @@ describe('plumbus ui helpers', () => {
53
56
  expect(paths).toContain('lib/auth.ts');
54
57
  expect(paths).toContain('lib/form-hints.ts');
55
58
  });
59
+ it('separates template files from module files in nextjs output', () => {
60
+ const files = generateNextjsAppFiles('TestApp', [mockCapability()], [mockFlow()], mockUiGenerators(), { apiBaseUrl: 'http://localhost:3000' });
61
+ // Template files (from generateNextjsTemplate)
62
+ expect(files.map((f) => f.path)).toContain('app/page.tsx');
63
+ expect(files.map((f) => f.path)).toContain('app/layout.tsx');
64
+ // Module files (from generateUiModuleFiles) — always regenerated
65
+ const moduleFiles = ['lib/client.ts', 'hooks/hooks.ts', 'lib/auth.ts', 'lib/form-hints.ts'];
66
+ for (const modFile of moduleFiles) {
67
+ expect(files.map((f) => f.path)).toContain(modFile);
68
+ }
69
+ });
56
70
  it('generates an E2E Vitest config without external imports', () => {
57
71
  const config = generateE2EVitestConfig('http://localhost:3001');
58
72
  expect(config).toContain('export default {');
@@ -1 +1 @@
1
- {"version":3,"file":"ui.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/ui.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,mBAAmB,CAAC;AAE3B,SAAS,cAAc,CAAC,YAAyC,EAAE;IACjE,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACnC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;QAC1D,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;QACvC,GAAG,SAAS;KACS,CAAC;AAC1B,CAAC;AAED,SAAS,QAAQ,CAAC,YAAqC,EAAE;IACvD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACvC,KAAK,EAAE,EAAE;QACT,GAAG,SAAS;KACK,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,oBAAoB,EAAE,GAAG,EAAE,CAAC,eAAe;QAC3C,mBAAmB,EAAE,GAAG,EAAE,CAAC,cAAc;QACzC,kBAAkB,EAAE,GAAG,EAAE,CAAC,aAAa;QACvC,uBAAuB,EAAE,GAAG,EAAE,CAAC,mBAAmB;QAClD,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE;YACxF,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7C,eAAe;YACf,gBAAgB;YAChB,aAAa;YACb,mBAAmB;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,KAAK,GAAG,sBAAsB,CAClC,UAAU,EACV,CAAC,cAAc,EAAE,CAAC,EAClB,CAAC,QAAQ,EAAE,CAAC,EACZ,gBAAgB,EAAE,EAClB,EAAE,UAAU,EAAE,uBAAuB,EAAE,CACxC,CAAC;QAEF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;QAEhE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ui.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/ui.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC,wBAAgB,SAAS,IAAI,OAAO,CA8CnC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCpC,wBAAgB,SAAS,IAAI,OAAO,CA8CnC"}
package/dist/cli/cli.js CHANGED
@@ -1,14 +1,25 @@
1
1
  // ── CLI Entry Point ──
2
2
  // Main `plumbus` command with subcommands
3
+ import { createRequire } from 'node:module';
3
4
  import { Command } from 'commander';
4
5
  import { registerAgentCommand, registerCapabilityCommand, registerCertifyCommand, registerCreateCommand, registerDbCommand, registerDevCommand, registerDoctorCommand, registerE2ECommand, registerEntityCommand, registerEventCommand, registerFlowCommand, registerGenerateCommand, registerInitCommand, registerMigrateCommand, registerPromptCommand, registerRagCommand, registerRunCommand, registerSeedCommand, registerStartCommand, registerTestCommand, registerTranslationCommand, registerUiCommand, registerUpgradeCommand, registerVerifyCommand, } from './commands/index.js';
5
6
  import { assertInsidePlumbusProject, commandRequiresProject } from './utils.js';
7
+ function getVersion() {
8
+ try {
9
+ const require = createRequire(import.meta.url);
10
+ const pkg = require('../../package.json');
11
+ return pkg.version;
12
+ }
13
+ catch {
14
+ return 'unknown';
15
+ }
16
+ }
6
17
  export function createCli() {
7
18
  const program = new Command();
8
19
  program
9
20
  .name('plumbus')
10
21
  .description('Plumbus Framework CLI — AI-native, contract-driven TypeScript applications')
11
- .version('0.1.0');
22
+ .version(getVersion());
12
23
  // Guard: ensure most commands run inside a Plumbus project
13
24
  program.hook('preAction', (_thisCommand, actionCommand) => {
14
25
  // Walk up to the direct child of the program to get the top-level subcommand
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,0CAA0C;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,4EAA4E,CAAC;SACzF,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,2DAA2D;IAC3D,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE;QACxD,6EAA6E;QAC7E,IAAI,GAAG,GAAG,aAAa,CAAC;QACxB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC1B,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;QACnB,CAAC;QACD,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACvC,0BAA0B,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5B,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
@@ -214,11 +214,11 @@ function generateMonorepoStructure(appName, options) {
214
214
  }, null, 2));
215
215
  files.set('.gitignore', `node_modules/
216
216
  dist/
217
- .plumbus/generated/
217
+ **/.plumbus/generated/
218
218
  .env
219
219
  *.log
220
220
  `);
221
- files.set('.env.example', `DB_HOST=localhost
221
+ files.set('backend/.env.example', `DB_HOST=localhost
222
222
  DB_PORT=5432
223
223
  DB_NAME=${kebab}
224
224
  DB_USER=postgres
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK/D,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG;IAC3C,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACtC,UAAU,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB,CAwCA;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC;IACpF,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC,CAkID;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwCzD"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AASpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAQ/D,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG;IAC3C,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACtC,UAAU,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB,CAwCA;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC;IACpF,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC,CAgRD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwCzD"}
@@ -5,14 +5,20 @@ import * as fs from 'node:fs';
5
5
  import { createRequire } from 'node:module';
6
6
  import * as path from 'node:path';
7
7
  import { pathToFileURL } from 'node:url';
8
+ import { createAIService, singleProviderConfig } from '../../ai/ai-service.js';
9
+ import { createCostTracker } from '../../ai/cost-tracker.js';
8
10
  import { PromptRegistry } from '../../ai/prompt-registry.js';
11
+ import { createProviderAdapter } from '../../ai/provider.js';
9
12
  import { loadConfig, validateConfig } from '../../config/loader.js';
10
13
  import { EntityRegistry } from '../../data/registry.js';
11
14
  import { ConsumerRegistry } from '../../events/consumer-registry.js';
15
+ import { createInMemoryQueue } from '../../events/queue.js';
12
16
  import { EventRegistry } from '../../events/registry.js';
17
+ import { executeCapability } from '../../execution/capability-executor.js';
13
18
  import { CapabilityRegistry } from '../../execution/capability-registry.js';
14
19
  import { FlowRegistry } from '../../flows/registry.js';
15
- import { createServer } from '../../server/bootstrap.js';
20
+ import { createServer, wrapAIServiceWithDynamicOverrides } from '../../server/bootstrap.js';
21
+ import { createWorkerPool } from '../../worker/bootstrap.js';
16
22
  import { discoverResources } from '../discover.js';
17
23
  import { info, error as logError, warn } from '../utils.js';
18
24
  /**
@@ -124,12 +130,20 @@ export async function startDevServer(options) {
124
130
  // tsx not available; only .js extensions will work
125
131
  }
126
132
  let onRoutesRegistered;
133
+ let resolveAiOverrides;
134
+ let onCapabilityError;
135
+ let onProcessError;
136
+ let onFlowError;
127
137
  for (const ext of ['app/server.ts', 'app/server.js']) {
128
138
  const extPath = path.resolve(process.cwd(), ext);
129
139
  if (fs.existsSync(extPath)) {
130
140
  try {
131
141
  const mod = await import(pathToFileURL(extPath).href);
132
142
  onRoutesRegistered = mod.onRoutesRegistered ?? mod.default?.onRoutesRegistered;
143
+ resolveAiOverrides = mod.resolveAiOverrides ?? mod.default?.resolveAiOverrides;
144
+ onCapabilityError = mod.onCapabilityError ?? mod.default?.onCapabilityError;
145
+ onProcessError = mod.onProcessError ?? mod.default?.onProcessError;
146
+ onFlowError = mod.onFlowError ?? mod.default?.onFlowError;
133
147
  if (onRoutesRegistered) {
134
148
  info(`Loaded server extensions from ${ext}`);
135
149
  }
@@ -153,17 +167,109 @@ export async function startDevServer(options) {
153
167
  host,
154
168
  port,
155
169
  onRoutesRegistered,
170
+ resolveAiOverrides,
171
+ onCapabilityError,
172
+ onProcessError,
156
173
  ...(process.env.TRUST_PROXY && {
157
174
  trustProxy: process.env.TRUST_PROXY === 'true' || process.env.TRUST_PROXY,
158
175
  }),
159
176
  });
160
177
  // Graceful shutdown handler
161
178
  let shuttingDown = false;
179
+ let workerPool;
180
+ // Start worker pool if flows with triggers exist
181
+ if (flows.getAll().some((f) => f.trigger?.event)) {
182
+ const queue = createInMemoryQueue();
183
+ // Build AI service for worker (same logic as server)
184
+ let workerAiService;
185
+ if (config.aiProviders) {
186
+ const providerAdapters = {};
187
+ for (const [name, provCfg] of Object.entries(config.aiProviders.providers)) {
188
+ providerAdapters[name] = createProviderAdapter(name, provCfg);
189
+ }
190
+ const costTracker = createCostTracker({
191
+ maxTokensPerRequest: Object.values(config.aiProviders.providers)[0]?.maxTokensPerRequest,
192
+ dailyCostLimit: Object.values(config.aiProviders.providers)[0]?.dailyCostLimit,
193
+ });
194
+ const workerAiServiceConfig = {
195
+ providers: providerAdapters,
196
+ defaultProvider: config.aiProviders.defaultProvider,
197
+ defaultModel: config.aiProviders.defaultModel,
198
+ costTracker,
199
+ promptRegistry,
200
+ };
201
+ workerAiService = createAIService(workerAiServiceConfig);
202
+ if (resolveAiOverrides) {
203
+ workerAiService = wrapAIServiceWithDynamicOverrides(workerAiService, workerAiServiceConfig, resolveAiOverrides, db);
204
+ }
205
+ }
206
+ else if (config.ai) {
207
+ const adapter = createProviderAdapter(config.ai.provider, config.ai);
208
+ const costTracker = createCostTracker({
209
+ maxTokensPerRequest: config.ai.maxTokensPerRequest,
210
+ dailyCostLimit: config.ai.dailyCostLimit,
211
+ });
212
+ workerAiService = createAIService(singleProviderConfig(adapter, { costTracker, promptRegistry }));
213
+ }
214
+ // Build step executor deps
215
+ const stepDeps = {
216
+ executeCapability: async (capabilityName, ctx, input) => {
217
+ const capability = capabilities.get(capabilityName);
218
+ if (!capability) {
219
+ return {
220
+ success: false,
221
+ error: { code: 'not_found', message: `Capability "${capabilityName}" not found` },
222
+ };
223
+ }
224
+ return executeCapability(capability, ctx, input);
225
+ },
226
+ evaluateCondition: (expression, state) => {
227
+ try {
228
+ const stateObj = state && typeof state === 'object' ? state : {};
229
+ const fn = new Function('state', `return Boolean(${expression})`);
230
+ return fn(stateObj);
231
+ }
232
+ catch {
233
+ return false;
234
+ }
235
+ },
236
+ };
237
+ workerPool = createWorkerPool({
238
+ config,
239
+ db: db,
240
+ queue,
241
+ consumers,
242
+ flows,
243
+ stepDeps,
244
+ aiService: workerAiService,
245
+ createDataService: (auth) => {
246
+ const effectiveAuth = auth ?? {
247
+ userId: 'system-flow-runner',
248
+ roles: ['system'],
249
+ scopes: [],
250
+ provider: 'worker',
251
+ };
252
+ return entities.createDataService({
253
+ db: db,
254
+ auth: effectiveAuth,
255
+ bypassTenantScope: !effectiveAuth.tenantId,
256
+ });
257
+ },
258
+ eventRegistry: events,
259
+ onFlowError,
260
+ });
261
+ await workerPool.start();
262
+ info(`Worker pool started (${flows.getAll().filter((f) => f.trigger?.event).length} event-triggered flows)`);
263
+ }
162
264
  const shutdown = async () => {
163
265
  if (shuttingDown)
164
266
  return;
165
267
  shuttingDown = true;
166
268
  info('Graceful shutdown initiated...');
269
+ if (workerPool) {
270
+ await workerPool.stop();
271
+ info('Worker pool stopped');
272
+ }
167
273
  await server.stop();
168
274
  info('Server stopped');
169
275
  };
@@ -172,6 +278,29 @@ export async function startDevServer(options) {
172
278
  };
173
279
  process.on('SIGINT', onSignal);
174
280
  process.on('SIGTERM', onSignal);
281
+ // Process-level error handlers — catch crashes that bypass capability/flow hooks
282
+ if (onProcessError) {
283
+ const errorHook = onProcessError;
284
+ process.on('uncaughtException', (err) => {
285
+ logError(`Uncaught exception: ${err.message}`);
286
+ Promise.resolve(errorHook({
287
+ source: 'uncaughtException',
288
+ message: err.message,
289
+ stack: err.stack,
290
+ })).catch(() => { });
291
+ });
292
+ process.on('unhandledRejection', (reason) => {
293
+ const message = reason instanceof Error ? reason.message : String(reason ?? 'Unknown rejection');
294
+ const stack = reason instanceof Error ? reason.stack : undefined;
295
+ logError(`Unhandled rejection: ${message}`);
296
+ Promise.resolve(errorHook({
297
+ source: 'unhandledRejection',
298
+ message,
299
+ stack,
300
+ })).catch(() => { });
301
+ });
302
+ info('Process-level error handlers registered');
303
+ }
175
304
  // Start listening
176
305
  const address = await server.start();
177
306
  info(`Server listening on ${address}`);