@plumbus/core 0.7.6 → 0.7.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 (39) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +5 -3
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/ai/types/fields.d.ts +6 -0
  5. package/dist/cli/cli.d.ts.map +1 -1
  6. package/dist/cli/cli.js +2 -1
  7. package/dist/cli/cli.js.map +1 -1
  8. package/dist/cli/commands/index.d.ts +1 -0
  9. package/dist/cli/commands/index.d.ts.map +1 -1
  10. package/dist/cli/commands/index.js +1 -0
  11. package/dist/cli/commands/index.js.map +1 -1
  12. package/dist/cli/commands/init.d.ts +1 -1
  13. package/dist/cli/commands/init.d.ts.map +1 -1
  14. package/dist/cli/commands/init.js +61 -3
  15. package/dist/cli/commands/init.js.map +1 -1
  16. package/dist/cli/commands/payments.d.ts +56 -0
  17. package/dist/cli/commands/payments.d.ts.map +1 -0
  18. package/dist/cli/commands/payments.js +184 -0
  19. package/dist/cli/commands/payments.js.map +1 -0
  20. package/dist/cli/discover.d.ts.map +1 -1
  21. package/dist/cli/discover.js +20 -3
  22. package/dist/cli/discover.js.map +1 -1
  23. package/dist/data/schema-generator.d.ts.map +1 -1
  24. package/dist/data/schema-generator.js +2 -2
  25. package/dist/data/schema-generator.js.map +1 -1
  26. package/dist/fields/index.d.ts +7 -0
  27. package/dist/fields/index.d.ts.map +1 -1
  28. package/dist/fields/index.js +10 -1
  29. package/dist/fields/index.js.map +1 -1
  30. package/dist/testing/field-validation.d.ts.map +1 -1
  31. package/dist/testing/field-validation.js +3 -0
  32. package/dist/testing/field-validation.js.map +1 -1
  33. package/dist/types/fields.d.ts +6 -0
  34. package/dist/types/fields.d.ts.map +1 -1
  35. package/instructions/cli.md +18 -0
  36. package/instructions/entities.md +3 -1
  37. package/instructions/framework.md +4 -0
  38. package/instructions/peer-dependencies.md +2 -1
  39. package/package.json +3 -3
@@ -9,9 +9,25 @@ import * as path from 'node:path';
9
9
  import { pathToFileURL } from 'node:url';
10
10
  import { is } from 'drizzle-orm';
11
11
  import { PgTable } from 'drizzle-orm/pg-core';
12
+ /**
13
+ * What one export contributes: the value itself, or — for a plain object or an
14
+ * array that is not itself a resource — the values it holds, one level down.
15
+ * Add-ons hand apps a collection (`export const paymentCapabilities =
16
+ * payments.capabilities`), so enabling a feature needs no new export names.
17
+ */
18
+ function exportedValues(value) {
19
+ if (Array.isArray(value))
20
+ return value;
21
+ if (typeof value === 'object' && value !== null && !('name' in value)) {
22
+ const proto = Object.getPrototypeOf(value);
23
+ if (proto === Object.prototype || proto === null)
24
+ return Object.values(value);
25
+ }
26
+ return [value];
27
+ }
12
28
  /**
13
29
  * Scan a directory for .ts/.js files and dynamically import all exports.
14
- * Returns an array of all exported values.
30
+ * Returns every exported value (collections expanded, each value once).
15
31
  */
16
32
  async function scanDir(dir, strict = false) {
17
33
  if (!fs.existsSync(dir))
@@ -30,7 +46,7 @@ async function scanDir(dir, strict = false) {
30
46
  try {
31
47
  const mod = (await import(fileUrl));
32
48
  for (const value of Object.values(mod)) {
33
- exports.push(value);
49
+ exports.push(...exportedValues(value));
34
50
  }
35
51
  }
36
52
  catch {
@@ -39,7 +55,8 @@ async function scanDir(dir, strict = false) {
39
55
  // Skip files that fail to import
40
56
  }
41
57
  }
42
- return exports;
58
+ // The same resource exported twice (by name and inside a collection) counts once.
59
+ return [...new Set(exports)];
43
60
  }
44
61
  function isCapability(v) {
45
62
  return (typeof v === 'object' &&
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/cli/discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/cli/discover.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../../src/data/schema-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAwDvF;AA2DD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAMtC"}
1
+ {"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../../src/data/schema-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAwDvF;AA2DD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAMtC"}
@@ -1,4 +1,4 @@
1
- import { boolean, doublePrecision, index, integer, jsonb, pgTable, text, timestamp, uniqueIndex, uuid, } from 'drizzle-orm/pg-core';
1
+ import { bigint, boolean, doublePrecision, index, integer, jsonb, pgTable, text, timestamp, uniqueIndex, uuid, } from 'drizzle-orm/pg-core';
2
2
  /**
3
3
  * Convert an EntityDefinition into a Drizzle pgTable schema.
4
4
  * Returns the Drizzle table object ready for use in queries and migrations.
@@ -63,7 +63,7 @@ function mapFieldToColumn(colName, descriptor) {
63
63
  col = text(colName);
64
64
  break;
65
65
  case 'number':
66
- col = integer(colName);
66
+ col = descriptor.size === 'bigint' ? bigint(colName, { mode: 'number' }) : integer(colName);
67
67
  break;
68
68
  case 'decimal':
69
69
  col = doublePrecision(colName);
@@ -1 +1 @@
1
- {"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../src/data/schema-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../src/data/schema-generator.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,13 @@ export declare const field: {
4
4
  readonly id: (options?: BaseFieldOptions) => IdFieldDescriptor;
5
5
  readonly string: (options?: BaseFieldOptions) => StringFieldDescriptor;
6
6
  readonly number: (options?: BaseFieldOptions) => NumberFieldDescriptor;
7
+ /**
8
+ * 64-bit integer stored as PostgreSQL `bigint`, read and written as a JS number.
9
+ * Values must be safe integers (±2^53 − 1). Prefer this over `number()` for
10
+ * amounts in minor units (cents) and totals; never store money in `decimal()`,
11
+ * which is floating point.
12
+ */
13
+ readonly bigint: (options?: BaseFieldOptions) => NumberFieldDescriptor;
7
14
  readonly decimal: (options?: BaseFieldOptions) => DecimalFieldDescriptor;
8
15
  readonly boolean: (options?: BaseFieldOptions) => BooleanFieldDescriptor;
9
16
  readonly timestamp: (options?: BaseFieldOptions) => TimestampFieldDescriptor;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAM5B,eAAO,MAAM,KAAK;4BACH,gBAAgB,KAAG,iBAAiB;gCAIhC,gBAAgB,KAAG,qBAAqB;gCAIxC,gBAAgB,KAAG,qBAAqB;iCAIvC,gBAAgB,KAAG,sBAAsB;iCAIzC,gBAAgB,KAAG,sBAAsB;mCAIvC,gBAAgB,KAAG,wBAAwB;8BAIhD,gBAAgB,KAAG,mBAAmB;4BAIxC,SAAS,MAAM,EAAE,YAAY,gBAAgB,KAAG,mBAAmB;gCAO/D;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,YAAY,CAAC;QACnB,cAAc,CAAC,EAAE,mBAAmB,CAAC;QACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KAAG,uBAAuB;CAcnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAM5B,eAAO,MAAM,KAAK;4BACH,gBAAgB,KAAG,iBAAiB;gCAIhC,gBAAgB,KAAG,qBAAqB;gCAIxC,gBAAgB,KAAG,qBAAqB;IAIzD;;;;;OAKG;gCACc,gBAAgB,KAAG,qBAAqB;iCAIvC,gBAAgB,KAAG,sBAAsB;iCAIzC,gBAAgB,KAAG,sBAAsB;mCAIvC,gBAAgB,KAAG,wBAAwB;8BAIhD,gBAAgB,KAAG,mBAAmB;4BAIxC,SAAS,MAAM,EAAE,YAAY,gBAAgB,KAAG,mBAAmB;gCAO/D;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,YAAY,CAAC;QACnB,cAAc,CAAC,EAAE,mBAAmB,CAAC;QACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KAAG,uBAAuB;CAcnB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  // ── Fields Module ──
2
2
  // Field constructor factory for entity definitions.
3
- // Provides field.string(), field.number(), field.enum(), field.relation(), etc.
3
+ // Provides field.string(), field.number(), field.bigint(), field.enum(), field.relation(), etc.
4
4
  //
5
5
  // Key exports: field (namespace object with typed constructors)
6
6
  function opts(o) {
@@ -16,6 +16,15 @@ export const field = {
16
16
  number(options) {
17
17
  return { type: 'number', options: opts(options) };
18
18
  },
19
+ /**
20
+ * 64-bit integer stored as PostgreSQL `bigint`, read and written as a JS number.
21
+ * Values must be safe integers (±2^53 − 1). Prefer this over `number()` for
22
+ * amounts in minor units (cents) and totals; never store money in `decimal()`,
23
+ * which is floating point.
24
+ */
25
+ bigint(options) {
26
+ return { type: 'number', options: opts(options), size: 'bigint' };
27
+ },
19
28
  decimal(options) {
20
29
  return { type: 'decimal', options: opts(options) };
21
30
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,oDAAoD;AACpD,gFAAgF;AAChF,EAAE;AACF,gEAAgE;AAgBhE,SAAS,IAAI,CAAC,CAAoB;IAChC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,EAAE,CAAC,OAA0B;QAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,OAA0B;QAC/B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,OAA0B;QAC/B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,OAA0B;QAChC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,OAA0B;QAChC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,OAA0B;QAClC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,OAA0B;QAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,MAAyB,EAAE,OAA0B;QACxD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,MAKR;QACC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,YAAY,EAAE,MAAM,CAAC,IAAI;YACzB,OAAO,EAAE;gBACP,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC;IACJ,CAAC;CACO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,oDAAoD;AACpD,gGAAgG;AAChG,EAAE;AACF,gEAAgE;AAgBhE,SAAS,IAAI,CAAC,CAAoB;IAChC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,EAAE,CAAC,OAA0B;QAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,OAA0B;QAC/B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,OAA0B;QAC/B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAA0B;QAC/B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACpE,CAAC;IAED,OAAO,CAAC,OAA0B;QAChC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,OAA0B;QAChC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,OAA0B;QAClC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,OAA0B;QAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,MAAyB,EAAE,OAA0B;QACxD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,MAKR;QACC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,YAAY,EAAE,MAAM,CAAC,IAAI;YACzB,OAAO,EAAE;gBACP,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC;IACJ,CAAC;CACO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-validation.d.ts","sourceRoot":"","sources":["../../src/testing/field-validation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,oBAAoB,EAAE,CAcxB;AAiFD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAM9C"}
1
+ {"version":3,"file":"field-validation.d.ts","sourceRoot":"","sources":["../../src/testing/field-validation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,oBAAoB,EAAE,CAcxB;AAoFD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAM9C"}
@@ -40,6 +40,9 @@ function validateFieldValue(fieldName, descriptor, value) {
40
40
  value,
41
41
  };
42
42
  }
43
+ if (descriptor.size === 'bigint' && !Number.isSafeInteger(value)) {
44
+ return { field: fieldName, expected: 'safe integer', actual: 'unsafe integer', value };
45
+ }
43
46
  return null;
44
47
  case 'decimal':
45
48
  if (typeof value !== 'number') {
@@ -1 +1 @@
1
- {"version":3,"file":"field-validation.js","sourceRoot":"","sources":["../../src/testing/field-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-validation.js","sourceRoot":"","sources":["../../src/testing/field-validation.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,12 @@ export interface StringFieldDescriptor {
20
20
  export interface NumberFieldDescriptor {
21
21
  type: 'number';
22
22
  options: BaseFieldOptions;
23
+ /**
24
+ * Column width. Omitted (default) stores a 32-bit PostgreSQL `integer`;
25
+ * `'bigint'` stores a 64-bit `bigint` read back as a JS number (safe integers
26
+ * only). Use `field.bigint()` for money in minor units and running totals.
27
+ */
28
+ size?: 'bigint';
23
29
  }
24
30
  export interface DecimalFieldDescriptor {
25
31
  type: 'decimal';
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/types/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGpE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,GACxB,mBAAmB,GACnB,mBAAmB,GACnB,uBAAuB,CAAC"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/types/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGpE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,GACxB,mBAAmB,GACnB,mBAAmB,GACnB,uBAAuB,CAAC"}
@@ -222,6 +222,24 @@ If `@plumbus/mcp` is not installed, `plumbus mcp serve` prints `Run: pnpm add @p
222
222
 
223
223
  Read `node_modules/@plumbus/core/instructions/mcp.md` and `node_modules/@plumbus/mcp/instructions/README.md` for MCP.
224
224
 
225
+ ## Payments
226
+
227
+ For apps with the optional `@plumbus/payments` add-on. The commands load the `payments` export of `app/payments/index.ts`; core does not depend on the add-on.
228
+
229
+ ```bash
230
+ # Check the payments config; --live also checks keys, webhook destinations, and the billing catalog at the provider
231
+ plumbus payments doctor --live --webhook-url https://api.example.com/payments/webhooks/stripe
232
+
233
+ # Create the provider's webhook destinations (prints each signing secret once; re-run after upgrading the add-on)
234
+ plumbus payments webhooks setup --url https://api.example.com/payments/webhooks/stripe
235
+
236
+ # Create or update the billing catalog (plans, prices, features, meters) from `billing` in the config
237
+ plumbus payments catalog sync
238
+ plumbus payments catalog check # read-only; exits 1 when the provider differs (CI)
239
+ ```
240
+
241
+ Read `node_modules/@plumbus/payments/instructions/README.md` for payments.
242
+
225
243
  ## App Commands
226
244
 
227
245
  Run custom command scripts defined in your project's `app/commands/` directory. Use this for setup scripts, data migration tasks, and other one-off operations that need framework infrastructure (DB, config, password hashing).
@@ -35,7 +35,9 @@ export const User = defineEntity({
35
35
  |-------------|-----------|-------|
36
36
  | `field.id()` | UUID string | Primary key |
37
37
  | `field.string(opts)` | Text | General text |
38
- | `field.number(opts)` | Numeric | Integer or decimal |
38
+ | `field.number(opts)` | 32-bit integer | Counts and small integers |
39
+ | `field.bigint(opts)` | 64-bit integer | Money in minor units (cents) and totals; JS number, safe integers only (core 0.7.7+) |
40
+ | `field.decimal(opts)` | Floating point | Measurements; never money |
39
41
  | `field.boolean(opts)` | Boolean | |
40
42
  | `field.timestamp(opts)` | Datetime | ISO timestamps |
41
43
  | `field.json(opts)` | JSONB | Arbitrary structured data |
@@ -117,6 +117,10 @@ package.json # Private root — delegates scripts via pnpm -r
117
117
 
118
118
  In monorepo mode the `app/` and `config/` directories live under `backend/`. The CLI auto-detects the layout.
119
119
 
120
+ ### Discovery
121
+
122
+ The CLI registers every capability, entity, flow, event, prompt, and translation **exported** from a file under the matching `app/` directory (file names and nesting are free). An exported array, or a plain object without a `name` field, is expanded one level, so an add-on's collections register with one line each — for example `export const paymentCapabilities = payments.capabilities` and `export { paymentEntities } from '@plumbus/payments'`. A definition exported both alone and inside a collection is registered once.
123
+
120
124
  ## Framework-Provided Dependencies
121
125
 
122
126
  The framework provides common dependencies — **consumer apps must NOT install them separately**. Import through the framework's subpath exports:
@@ -19,6 +19,7 @@ The previous family remains on core 0.6.x, UI 0.7.x, MCP 0.5.x, voice 0.4.x, and
19
19
  | `@plumbus/chat` | `@plumbus/knowledge-base` | `"0.2.x"` (optional) |
20
20
  | `@plumbus/chat-ui` | `@plumbus/chat` | `"0.2.x"` |
21
21
  | `@plumbus/auth-cognito` | `@plumbus/auth` | `"0.2.x"` |
22
+ | `@plumbus/payments-stripe` | `@plumbus/payments` | `"0.2.x"` |
22
23
  | Every `@plumbus/voice-*` provider | `@plumbus/voice` | `"0.5.x"` |
23
24
 
24
25
  UI 0.8.0 replaces its direct core dependency with the required peer `"@plumbus/core": "0.7.x"` and uses `workspace:*` only for development. This prevents npm from accepting old application core plus a hidden new core nested inside UI. Install core and UI together. All Plumbus packages share the application runtime through peers.
@@ -41,4 +42,4 @@ Run lint, format checking, typechecking, tests, and packed npm install checks be
41
42
 
42
43
  ## Consumer upgrade
43
44
 
44
- Read [upgrading-security-release.md](./upgrading-security-release.md), explicitly select the new package versions for every installed Plumbus add-on, and run `plumbus init --patch --agent all` for current agent wiring (**v17** with core 0.7.4+). For classification/provider/model selection, read [ai-classification.md](./ai-classification.md). Keep application business logic in Plumbus primitives and `ctx.*`; do not bypass security checks to make a migration pass.
45
+ Read [upgrading-security-release.md](./upgrading-security-release.md), explicitly select the new package versions for every installed Plumbus add-on, and run `plumbus init --patch --agent all` for current agent wiring (**v18** with core 0.7.7+; v17 added the classification recipe). For classification/provider/model selection, read [ai-classification.md](./ai-classification.md). Keep application business logic in Plumbus primitives and `ctx.*`; do not bypass security checks to make a migration pass.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumbus/core",
3
- "version": "0.7.6",
3
+ "version": "0.7.7",
4
4
  "description": "Plumbus framework core — types, SDK, runtime, CLI, test utilities",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -104,10 +104,10 @@
104
104
  "@vitest/browser": "^3.0.0",
105
105
  "esbuild": "^0.25.12",
106
106
  "typescript": "^5.7.0",
107
+ "@plumbus/api": "0.2.1",
107
108
  "@plumbus/ai-bedrock": "0.2.1",
108
109
  "@plumbus/mcp": "0.6.1",
109
- "@plumbus/voice": "0.5.2",
110
- "@plumbus/api": "0.2.1"
110
+ "@plumbus/voice": "0.5.2"
111
111
  },
112
112
  "scripts": {
113
113
  "build": "tsc -b",