@weave-kit/engine 0.4.0 → 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 (132) hide show
  1. package/dist/adapters/openapi/schema.d.ts.map +1 -1
  2. package/dist/adapters/openapi/schema.js +7 -3
  3. package/dist/adapters/openapi/schema.js.map +1 -1
  4. package/dist/cli/commands/field-add.d.ts.map +1 -1
  5. package/dist/cli/commands/field-add.js +12 -6
  6. package/dist/cli/commands/field-add.js.map +1 -1
  7. package/dist/cli/commands/field-types.d.ts.map +1 -1
  8. package/dist/cli/commands/field-types.js +10 -1
  9. package/dist/cli/commands/field-types.js.map +1 -1
  10. package/dist/cli/commands/schema-map.d.ts.map +1 -1
  11. package/dist/cli/commands/schema-map.js +6 -0
  12. package/dist/cli/commands/schema-map.js.map +1 -1
  13. package/dist/cli/index.js +2 -0
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/types/commands.d.ts +2 -0
  16. package/dist/cli/types/commands.d.ts.map +1 -1
  17. package/dist/core/api/error.js +1 -1
  18. package/dist/core/api/error.js.map +1 -1
  19. package/dist/core/i18n/ar.d.ts.map +1 -1
  20. package/dist/core/i18n/ar.js +22 -0
  21. package/dist/core/i18n/ar.js.map +1 -1
  22. package/dist/core/i18n/de.d.ts.map +1 -1
  23. package/dist/core/i18n/de.js +22 -0
  24. package/dist/core/i18n/de.js.map +1 -1
  25. package/dist/core/i18n/en.d.ts +22 -0
  26. package/dist/core/i18n/en.d.ts.map +1 -1
  27. package/dist/core/i18n/en.js +22 -0
  28. package/dist/core/i18n/en.js.map +1 -1
  29. package/dist/core/i18n/es.d.ts.map +1 -1
  30. package/dist/core/i18n/es.js +22 -0
  31. package/dist/core/i18n/es.js.map +1 -1
  32. package/dist/core/i18n/fr.d.ts.map +1 -1
  33. package/dist/core/i18n/fr.js +22 -0
  34. package/dist/core/i18n/fr.js.map +1 -1
  35. package/dist/core/i18n/hi.d.ts.map +1 -1
  36. package/dist/core/i18n/hi.js +22 -0
  37. package/dist/core/i18n/hi.js.map +1 -1
  38. package/dist/core/i18n/id.d.ts.map +1 -1
  39. package/dist/core/i18n/id.js +22 -0
  40. package/dist/core/i18n/id.js.map +1 -1
  41. package/dist/core/i18n/ja.d.ts.map +1 -1
  42. package/dist/core/i18n/ja.js +22 -0
  43. package/dist/core/i18n/ja.js.map +1 -1
  44. package/dist/core/i18n/ko.d.ts.map +1 -1
  45. package/dist/core/i18n/ko.js +22 -0
  46. package/dist/core/i18n/ko.js.map +1 -1
  47. package/dist/core/i18n/pt.d.ts.map +1 -1
  48. package/dist/core/i18n/pt.js +22 -0
  49. package/dist/core/i18n/pt.js.map +1 -1
  50. package/dist/core/i18n/ru.d.ts.map +1 -1
  51. package/dist/core/i18n/ru.js +22 -0
  52. package/dist/core/i18n/ru.js.map +1 -1
  53. package/dist/core/i18n/vi.d.ts.map +1 -1
  54. package/dist/core/i18n/vi.js +22 -0
  55. package/dist/core/i18n/vi.js.map +1 -1
  56. package/dist/core/i18n/zh-hant.d.ts.map +1 -1
  57. package/dist/core/i18n/zh-hant.js +22 -0
  58. package/dist/core/i18n/zh-hant.js.map +1 -1
  59. package/dist/core/i18n/zh.d.ts.map +1 -1
  60. package/dist/core/i18n/zh.js +22 -0
  61. package/dist/core/i18n/zh.js.map +1 -1
  62. package/dist/core/object/describe.d.ts +29 -1
  63. package/dist/core/object/describe.d.ts.map +1 -1
  64. package/dist/core/object/describe.js +34 -4
  65. package/dist/core/object/describe.js.map +1 -1
  66. package/dist/core/object/gen-types.d.ts.map +1 -1
  67. package/dist/core/object/gen-types.js +2 -0
  68. package/dist/core/object/gen-types.js.map +1 -1
  69. package/dist/core/object/graph.d.ts +3 -0
  70. package/dist/core/object/graph.d.ts.map +1 -1
  71. package/dist/core/object/graph.js +47 -1
  72. package/dist/core/object/graph.js.map +1 -1
  73. package/dist/core/object/index.d.ts +1 -1
  74. package/dist/core/object/index.d.ts.map +1 -1
  75. package/dist/core/object/index.js.map +1 -1
  76. package/dist/core/object/migrations.d.ts.map +1 -1
  77. package/dist/core/object/migrations.js +6 -0
  78. package/dist/core/object/migrations.js.map +1 -1
  79. package/dist/core/object/registry.js +1 -1
  80. package/dist/core/object/registry.js.map +1 -1
  81. package/dist/core/object/schema-version.d.ts +1 -1
  82. package/dist/core/object/schema-version.js +1 -1
  83. package/dist/core/object/validate/constraints.d.ts +9 -0
  84. package/dist/core/object/validate/constraints.d.ts.map +1 -0
  85. package/dist/core/object/validate/constraints.js +45 -0
  86. package/dist/core/object/validate/constraints.js.map +1 -0
  87. package/dist/core/object/validate/field.d.ts.map +1 -1
  88. package/dist/core/object/validate/field.js +105 -32
  89. package/dist/core/object/validate/field.js.map +1 -1
  90. package/dist/core/object/validate/object.d.ts.map +1 -1
  91. package/dist/core/object/validate/object.js +3 -0
  92. package/dist/core/object/validate/object.js.map +1 -1
  93. package/dist/core/storage/diff.d.ts +6 -0
  94. package/dist/core/storage/diff.d.ts.map +1 -1
  95. package/dist/core/storage/diff.js +21 -2
  96. package/dist/core/storage/diff.js.map +1 -1
  97. package/dist/core/storage/map.d.ts +14 -5
  98. package/dist/core/storage/map.d.ts.map +1 -1
  99. package/dist/core/storage/map.js +129 -15
  100. package/dist/core/storage/map.js.map +1 -1
  101. package/dist/core/storage/report.d.ts +10 -0
  102. package/dist/core/storage/report.d.ts.map +1 -1
  103. package/dist/core/storage/report.js +14 -2
  104. package/dist/core/storage/report.js.map +1 -1
  105. package/dist/core/types/field-type.d.ts +56 -5
  106. package/dist/core/types/field-type.d.ts.map +1 -1
  107. package/dist/core/types/field-type.js +19 -3
  108. package/dist/core/types/field-type.js.map +1 -1
  109. package/dist/core/types/fields.d.ts +13 -1
  110. package/dist/core/types/fields.d.ts.map +1 -1
  111. package/dist/core/types/index.d.ts +6 -6
  112. package/dist/core/types/index.d.ts.map +1 -1
  113. package/dist/core/types/index.js +2 -2
  114. package/dist/core/types/index.js.map +1 -1
  115. package/dist/core/types/object.d.ts +9 -1
  116. package/dist/core/types/object.d.ts.map +1 -1
  117. package/dist/core/types/values.d.ts +5 -0
  118. package/dist/core/types/values.d.ts.map +1 -1
  119. package/dist/core/types/values.js +4 -0
  120. package/dist/core/types/values.js.map +1 -1
  121. package/dist/runtime/data-access/query.d.ts.map +1 -1
  122. package/dist/runtime/data-access/query.js +18 -0
  123. package/dist/runtime/data-access/query.js.map +1 -1
  124. package/dist/runtime/data-access/validate.d.ts.map +1 -1
  125. package/dist/runtime/data-access/validate.js +124 -41
  126. package/dist/runtime/data-access/validate.js.map +1 -1
  127. package/dist/runtime/fieldtypes/loader.d.ts.map +1 -1
  128. package/dist/runtime/fieldtypes/loader.js +72 -1
  129. package/dist/runtime/fieldtypes/loader.js.map +1 -1
  130. package/dist/version.d.ts +1 -1
  131. package/dist/version.js +1 -1
  132. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/core/types/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/core/types/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7D,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAC;IACrB,mDAAmD;IACnD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,oEAAoE;IACpE,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
@@ -83,6 +83,11 @@ export declare const INDEX_TYPES: {
83
83
  readonly GIST: "gist";
84
84
  };
85
85
  export type IndexType = typeof INDEX_TYPES[keyof typeof INDEX_TYPES];
86
+ /** declarative table-level constraint kinds */
87
+ export declare const CONSTRAINT_TYPES: {
88
+ readonly UNIQUE: "unique";
89
+ };
90
+ export type ConstraintType = typeof CONSTRAINT_TYPES[keyof typeof CONSTRAINT_TYPES];
86
91
  /** seq_no counter restart strategy */
87
92
  export declare const SEQUENCE_CYCLES: {
88
93
  readonly NONE: "none";
@@ -1 +1 @@
1
- {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/core/types/values.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qDAAqD;AACrD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;CAyBd,CAAC;AACX,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAC5E;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEzD,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;CAgBrB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAEzF,kEAAkE;AAClE,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEtF,oCAAoC;AACpC,eAAO,MAAM,WAAW;;;;CAId,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAErE,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEtF,0BAA0B;AAC1B,eAAO,MAAM,WAAW;;;;CAId,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAErE,sCAAsC;AACtC,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF,6DAA6D;AAC7D,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF,iEAAiE;AACjE,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF,0DAA0D;AAC1D,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/core/types/values.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qDAAqD;AACrD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;CAyBd,CAAC;AACX,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAC5E;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEzD,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;CAgBrB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAEzF,kEAAkE;AAClE,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEtF,oCAAoC;AACpC,eAAO,MAAM,WAAW;;;;CAId,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAErE,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEtF,0BAA0B;AAC1B,eAAO,MAAM,WAAW;;;;CAId,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAErE,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB;;CAEnB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEpF,sCAAsC;AACtC,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF,6DAA6D;AAC7D,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF,iEAAiE;AACjE,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF,0DAA0D;AAC1D,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC"}
@@ -73,6 +73,10 @@ export const INDEX_TYPES = {
73
73
  GIN: 'gin',
74
74
  GIST: 'gist',
75
75
  };
76
+ /** declarative table-level constraint kinds */
77
+ export const CONSTRAINT_TYPES = {
78
+ UNIQUE: 'unique',
79
+ };
76
80
  /** seq_no counter restart strategy */
77
81
  export const SEQUENCE_CYCLES = {
78
82
  NONE: 'none',
@@ -1 +1 @@
1
- {"version":3,"file":"values.js","sourceRoot":"","sources":["../../../src/core/types/values.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qDAAqD;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,eAAe;IAC/B,MAAM,EAAE,QAAQ;IAChB,qEAAqE;IACrE,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,qFAAqF;IACrF,MAAM,EAAE,QAAQ;IAChB,yFAAyF;IACzF,UAAU,EAAE,YAAY;CAChB,CAAC;AAUX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAGX,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAGX,oCAAoC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACF,CAAC;AAGX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AAGX,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACJ,CAAC;AAGX,sCAAsC;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACJ,CAAC;AAGX,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACF,CAAC;AAGX,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX,0DAA0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,eAAe;CACvB,CAAC"}
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../../../src/core/types/values.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qDAAqD;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,eAAe;IAC/B,MAAM,EAAE,QAAQ;IAChB,qEAAqE;IACrE,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,qFAAqF;IACrF,MAAM,EAAE,QAAQ;IAChB,yFAAyF;IACzF,UAAU,EAAE,YAAY;CAChB,CAAC;AAUX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAGX,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAGX,oCAAoC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACF,CAAC;AAGX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AAGX,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACJ,CAAC;AAGX,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX,sCAAsC;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACJ,CAAC;AAGX,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACF,CAAC;AAGX,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX,0DAA0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,eAAe;CACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/runtime/data-access/query.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAwC,KAAK,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAKpI,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAyH/F,+DAA+D;AAC/D,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAiB;IACzC,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAExC,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,cAAc,CAAA;KAAO;IAOrH;;;;;;OAMG;YACW,SAAS;IA6BvB;;;;OAIG;YACW,aAAa;IAgB3B;;;;OAIG;YACW,YAAY;IA8BpB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAWnB,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAUd,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,CAAC,CAAC;IA8GP,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,CAAC,CAAC;IAgFP,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAgDpF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CAAO,GAAG,gBAAgB,CAE5J"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/runtime/data-access/query.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAwC,KAAK,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAKpI,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA4I/F,+DAA+D;AAC/D,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAiB;IACzC,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAExC,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,cAAc,CAAA;KAAO;IAOrH;;;;;;OAMG;YACW,SAAS;IA6BvB;;;;OAIG;YACW,aAAa;IAgB3B;;;;OAIG;YACW,YAAY;IA8BpB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAWnB,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAUd,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,CAAC,CAAC;IA8GP,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,CAAC,CAAC;IAgFP,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAgDpF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CAAO,GAAG,gBAAgB,CAE5J"}
@@ -21,6 +21,21 @@ function undefinedColumnOf(error) {
21
21
  const m = /column "([^"]+)" of relation/.exec(message);
22
22
  return m?.[1];
23
23
  }
24
+ /** PG error 23505 = unique_violation: a unique constraint (column or object constraint) was hit */
25
+ function isUniqueViolation(error) {
26
+ return typeof error === 'object' && error !== null && error.code === '23505';
27
+ }
28
+ /** readable field list behind a unique violation (from the detail `Key (a, b)=(...)`) */
29
+ function uniqueFieldsOf(error) {
30
+ const detail = error?.detail;
31
+ if (typeof detail === 'string') {
32
+ const m = /Key \(([^)]+)\)/.exec(detail);
33
+ if (m?.[1] !== undefined)
34
+ return m[1];
35
+ }
36
+ const constraint = error?.constraint;
37
+ return typeof constraint === 'string' ? constraint : '?';
38
+ }
24
39
  /**
25
40
  * Run a SQL statement against an object's table, mapping PG `undefined_column`
26
41
  * (42703) — a schema/DB drift (schema declares a field the table lacks) — to an
@@ -35,6 +50,9 @@ async function runTableQuery(q, objectName, sql, params, locale) {
35
50
  const field = undefinedColumnOf(error);
36
51
  throw new SchemaError('data.schemaDrift', { object: objectName, field: field ?? '' }, locale);
37
52
  }
53
+ if (isUniqueViolation(error)) {
54
+ throw new SchemaError('data.unique', { object: objectName, fields: uniqueFieldsOf(error) }, locale);
55
+ }
38
56
  throw error;
39
57
  }
40
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/runtime/data-access/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/runtime/data-access/query.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/runtime/data-access/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAQ1D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA0HD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/runtime/data-access/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAQ1D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAoND;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
@@ -1,5 +1,5 @@
1
- import { SchemaError, primaryKeyOf } from '../../core/index.js';
2
- import { DETAILS_COLUMNS, FIELD_TYPES } from '../../core/index.js';
1
+ import { SchemaError, fieldBase, primaryFieldOf, primaryKeyOf } from '../../core/index.js';
2
+ import { DETAILS_COLUMNS, DEFAULT_FIELD_TYPE_REGISTRY, FIELD_TYPES } from '../../core/index.js';
3
3
  import { WRITE_MODES } from './values.js';
4
4
  const PARENT_COLUMNS = new Set([
5
5
  DETAILS_COLUMNS.PARENT_ID,
@@ -9,6 +9,34 @@ const PARENT_COLUMNS = new Set([
9
9
  function fail(vc, code, params) {
10
10
  throw new SchemaError(code, { object: vc.object, ...params }, vc.locale);
11
11
  }
12
+ /**
13
+ * Validate a record-reference value against the target primary key's value kind
14
+ * (so relations to integer/boolean/... keys work, not just string keys). The
15
+ * target is the referenced object's PK field (undefined → treat as string).
16
+ */
17
+ function checkReferenceKind(fieldTypes, targetPk, fieldName, value, vc) {
18
+ const base = targetPk === undefined ? FIELD_TYPES.STRING : fieldBase(fieldTypes, targetPk.type);
19
+ switch (base) {
20
+ case FIELD_TYPES.INTEGER:
21
+ if (typeof value !== 'number' || !Number.isInteger(value)) {
22
+ fail(vc, 'data.field.type', { field: fieldName, type: 'integer' });
23
+ }
24
+ return;
25
+ case FIELD_TYPES.NUMBER:
26
+ case FIELD_TYPES.CURRENCY:
27
+ if (typeof value !== 'number' || Number.isNaN(value)) {
28
+ fail(vc, 'data.field.type', { field: fieldName, type: 'number' });
29
+ }
30
+ return;
31
+ case FIELD_TYPES.BOOLEAN:
32
+ if (typeof value !== 'boolean')
33
+ fail(vc, 'data.field.type', { field: fieldName, type: 'boolean' });
34
+ return;
35
+ default:
36
+ if (typeof value !== 'string')
37
+ fail(vc, 'data.field.type', { field: fieldName, type: 'string' });
38
+ }
39
+ }
12
40
  /** engine-managed values users cannot set (system/formula/seq_no) */
13
41
  function isReadonly(field) {
14
42
  return field.system === true || field.type === FIELD_TYPES.SEQ_NO || field.formula !== undefined;
@@ -23,7 +51,25 @@ async function checkValue(field, value, vc) {
23
51
  // to a present value; required-ness is enforced separately by validateRecord.
24
52
  if (value === null || value === undefined)
25
53
  return;
26
- if (f.type === FIELD_TYPES.STRING || f.type === FIELD_TYPES.TEXT || f.type === FIELD_TYPES.FIRST_NAME || f.type === FIELD_TYPES.LAST_NAME || f.type === FIELD_TYPES.EMAIL || f.type === FIELD_TYPES.PHONE) {
54
+ // Resolve the base primitive through the field-type registry so user/plugin
55
+ // registered types inherit the value validation of the primitive they are
56
+ // layered over (a registered type's own `type` is a namespaced name).
57
+ const fieldTypes = vc.registry.fieldTypes ?? DEFAULT_FIELD_TYPE_REGISTRY;
58
+ const base = fieldBase(fieldTypes, f.type);
59
+ // media (image) shares `string` as its base but has array semantics — take it first
60
+ if (f.type === FIELD_TYPES.IMAGE) {
61
+ const im = f;
62
+ if (im.multiple === true) {
63
+ if (!Array.isArray(value) || !value.every((v) => typeof v === 'string')) {
64
+ fail(vc, 'data.field.type', { field: f.name, type: 'string array' });
65
+ }
66
+ return;
67
+ }
68
+ if (typeof value !== 'string')
69
+ fail(vc, 'data.field.type', { field: f.name, type: 'string' });
70
+ return;
71
+ }
72
+ if (base === FIELD_TYPES.STRING || base === FIELD_TYPES.TEXT) {
27
73
  if (typeof value !== 'string')
28
74
  fail(vc, 'data.field.type', { field: f.name, type: 'string' });
29
75
  const str = value;
@@ -36,84 +82,103 @@ async function checkValue(field, value, vc) {
36
82
  fail(vc, 'data.field.regex', { field: f.name });
37
83
  return;
38
84
  }
39
- if (f.type === FIELD_TYPES.IMAGE) {
40
- if (f.multiple === true) {
41
- if (!Array.isArray(value) || !value.every((v) => typeof v === 'string')) {
42
- fail(vc, 'data.field.type', { field: f.name, type: 'string array' });
43
- }
44
- return;
45
- }
46
- if (typeof value !== 'string')
47
- fail(vc, 'data.field.type', { field: f.name, type: 'string' });
48
- return;
49
- }
50
- if (f.type === FIELD_TYPES.INTEGER || f.type === FIELD_TYPES.NUMBER || f.type === FIELD_TYPES.CURRENCY) {
85
+ if (base === FIELD_TYPES.INTEGER || base === FIELD_TYPES.NUMBER || base === FIELD_TYPES.CURRENCY) {
86
+ const n = f;
51
87
  if (typeof value !== 'number' || Number.isNaN(value))
52
88
  fail(vc, 'data.field.type', { field: f.name, type: 'number' });
53
- if (f.type === FIELD_TYPES.INTEGER && !Number.isInteger(value))
89
+ if (base === FIELD_TYPES.INTEGER && !Number.isInteger(value))
54
90
  fail(vc, 'data.field.type', { field: f.name, type: 'integer' });
55
- if (f.min !== undefined && value < f.min)
56
- fail(vc, 'data.field.min', { field: f.name, min: f.min });
57
- if (f.max !== undefined && value > f.max)
58
- fail(vc, 'data.field.max', { field: f.name, max: f.max });
91
+ if (n.min !== undefined && value < n.min)
92
+ fail(vc, 'data.field.min', { field: f.name, min: n.min });
93
+ if (n.max !== undefined && value > n.max)
94
+ fail(vc, 'data.field.max', { field: f.name, max: n.max });
59
95
  return;
60
96
  }
61
- if (f.type === FIELD_TYPES.BOOLEAN) {
97
+ if (base === FIELD_TYPES.BOOLEAN) {
62
98
  if (typeof value !== 'boolean')
63
99
  fail(vc, 'data.field.type', { field: f.name, type: 'boolean' });
64
100
  return;
65
101
  }
66
- if (f.type === FIELD_TYPES.DATETIME || f.type === FIELD_TYPES.DATE) {
102
+ if (base === FIELD_TYPES.DATETIME || base === FIELD_TYPES.DATE) {
67
103
  if (typeof value !== 'string')
68
104
  fail(vc, 'data.field.type', { field: f.name, type: 'date-time' });
69
105
  return;
70
106
  }
71
- if (f.type === FIELD_TYPES.JSON) {
107
+ if (base === FIELD_TYPES.JSON) {
72
108
  // any JSON value accepted
73
109
  return;
74
110
  }
75
- if (f.type === FIELD_TYPES.ENUM) {
76
- if (f.multiple === true) {
111
+ if (base === FIELD_TYPES.ENUM) {
112
+ const e = f;
113
+ // data-driven options: membership in the target object's column
114
+ if (!Array.isArray(e.options)) {
115
+ const { object: refObject, column } = e.options.from;
116
+ const target = vc.registry.get(refObject);
117
+ if (target === undefined)
118
+ return; // schema-level error already handled elsewhere
119
+ const col = column ?? primaryKeyOf(target); // targets always declare a primary
120
+ if (e.multiple === true) {
121
+ if (!Array.isArray(value) || !value.every((v) => typeof v === 'string')) {
122
+ fail(vc, 'data.field.type', { field: f.name, type: 'string array' });
123
+ }
124
+ const unique = [...new Set(value)];
125
+ if (unique.length === 0)
126
+ return;
127
+ const res = await vc.pool.query(`SELECT DISTINCT "${col}"::text AS v FROM "${target.name}" WHERE "${col}"::text = ANY($1)`, [unique]);
128
+ if ((res.rowCount ?? 0) !== unique.length) {
129
+ fail(vc, 'data.field.optionsFrom', { field: f.name, ref: refObject });
130
+ }
131
+ return;
132
+ }
133
+ if (typeof value !== 'string')
134
+ fail(vc, 'data.field.type', { field: f.name, type: 'enum value' });
135
+ const res = await vc.pool.query(`SELECT 1 FROM "${target.name}" WHERE "${col}"::text = $1 LIMIT 1`, [value]);
136
+ if (res.rowCount === 0)
137
+ fail(vc, 'data.field.optionsFrom', { field: f.name, ref: refObject });
138
+ return;
139
+ }
140
+ // inline options
141
+ if (e.multiple === true) {
77
142
  if (!Array.isArray(value) || !value.every((v) => typeof v === 'string')) {
78
143
  fail(vc, 'data.field.type', { field: f.name, type: 'string array' });
79
144
  }
80
145
  for (const v of value) {
81
- if (!f.options.includes(v))
82
- fail(vc, 'data.field.enum', { field: f.name, options: f.options.join('/') });
146
+ if (!e.options.includes(v))
147
+ fail(vc, 'data.field.enum', { field: f.name, options: e.options.join('/') });
83
148
  }
84
149
  return;
85
150
  }
86
151
  if (typeof value !== 'string')
87
152
  fail(vc, 'data.field.type', { field: f.name, type: 'enum value' });
88
- if (!f.options.includes(value))
89
- fail(vc, 'data.field.enum', { field: f.name, options: f.options.join('/') });
153
+ if (!e.options.includes(value))
154
+ fail(vc, 'data.field.enum', { field: f.name, options: e.options.join('/') });
90
155
  return;
91
156
  }
92
- if (f.type === FIELD_TYPES.RELATION || f.type === FIELD_TYPES.PERSON || f.type === FIELD_TYPES.DEPARTMENT) {
93
- if (typeof value !== 'string')
94
- fail(vc, 'data.field.type', { field: f.name, type: 'record id' });
157
+ if (base === FIELD_TYPES.RELATION) {
95
158
  const target = await targetDef(vc, f.target);
96
159
  if (target === undefined)
97
160
  return; // schema-level error already handled elsewhere
98
- const table = target.name;
99
- const pk = primaryKeyOf(target); // targets always declare a primary (schema-validated)
100
- const res = await vc.pool.query(`SELECT 1 FROM "${table}" WHERE "${pk}" = $1`, [value]);
161
+ const pkField = primaryFieldOf(target);
162
+ const pk = pkField?.name ?? primaryKeyOf(target); // targets always declare a primary
163
+ checkReferenceKind(fieldTypes, pkField, f.name, value, vc);
164
+ const res = await vc.pool.query(`SELECT 1 FROM "${target.name}" WHERE "${pk}" = $1`, [value]);
101
165
  if (res.rowCount === 0)
102
166
  fail(vc, 'data.field.relationMissing', { field: f.name, value });
103
167
  return;
104
168
  }
105
- if (f.type === FIELD_TYPES.MULTI_RELATION) {
106
- if (!Array.isArray(value) || !value.every((v) => typeof v === 'string')) {
169
+ if (base === FIELD_TYPES.MULTI_RELATION) {
170
+ if (!Array.isArray(value))
107
171
  fail(vc, 'data.field.type', { field: f.name, type: 'record id array' });
108
- }
109
172
  if (value.length === 0)
110
173
  return;
111
174
  const target = await targetDef(vc, f.target);
112
175
  if (target === undefined)
113
176
  return;
114
- const table = target.name;
115
- const pk = primaryKeyOf(target); // targets always declare a primary (schema-validated)
116
- const res = await vc.pool.query(`SELECT 1 FROM "${table}" WHERE "${pk}" = ANY($1)`, [value]);
177
+ const pkField = primaryFieldOf(target);
178
+ const pk = pkField?.name ?? primaryKeyOf(target); // targets always declare a primary
179
+ for (const item of value)
180
+ checkReferenceKind(fieldTypes, pkField, f.name, item, vc);
181
+ const res = await vc.pool.query(`SELECT 1 FROM "${target.name}" WHERE "${pk}" = ANY($1)`, [value]);
117
182
  if ((res.rowCount ?? 0) !== value.length) {
118
183
  fail(vc, 'data.field.multiRelationMissing', { field: f.name });
119
184
  }
@@ -121,6 +186,23 @@ async function checkValue(field, value, vc) {
121
186
  }
122
187
  // details / seq_no: handled by details/seqno modules
123
188
  }
189
+ /**
190
+ * Apply a registered type's own pure `validate` hook, after the base-primitive
191
+ * validation in `checkValue`. Built-in types carry no hook, so this is a no-op
192
+ * for them.
193
+ */
194
+ function checkRegistered(field, value, vc) {
195
+ if (value === null || value === undefined)
196
+ return;
197
+ const descriptor = (vc.registry.fieldTypes ?? DEFAULT_FIELD_TYPE_REGISTRY).get(field.type);
198
+ if (descriptor === undefined)
199
+ return;
200
+ if (descriptor.validate !== undefined) {
201
+ const detail = descriptor.validate(field, value);
202
+ if (detail !== undefined)
203
+ fail(vc, 'data.field.custom', { field: field.name, detail });
204
+ }
205
+ }
124
206
  /**
125
207
  * Validate a record before write:
126
208
  * - rejects unknown fields and writes to read-only (system/formula/seq_no) fields
@@ -175,6 +257,7 @@ export async function validateRecord(object, data, mode, options) {
175
257
  if (field === undefined || field.type === FIELD_TYPES.DETAILS)
176
258
  continue;
177
259
  await checkValue(field, data[key], vc);
260
+ checkRegistered(field, data[key], vc);
178
261
  }
179
262
  }
180
263
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/runtime/data-access/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/runtime/data-access/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/runtime/fieldtypes/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAgClD,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,YAAY,EAAE,qBAAqB,CAAC;CACrC;AAUD,wEAAwE;AACxE,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,qBAAqB,CA2CnG;AAUD,wFAAwF;AACxF,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,eAAe,EAAE,CAAC,CA+B5B;AAED,yFAAyF;AACzF,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAU7B"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/runtime/fieldtypes/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAgClD,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,YAAY,EAAE,qBAAqB,CAAC;CACrC;AA6ED,wEAAwE;AACxE,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,qBAAqB,CA+CnG;AAUD,wFAAwF;AACxF,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,eAAe,EAAE,CAAC,CA+B5B;AAED,yFAAyF;AACzF,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAU7B"}
@@ -1,7 +1,7 @@
1
1
  import { readdir, stat } from 'node:fs/promises';
2
2
  import { join } from 'node:path';
3
3
  import { pathToFileURL } from 'node:url';
4
- import { FIELD_TYPE_NAME_PATTERN, buildFieldTypeRegistry, } from '../../core/index.js';
4
+ import { ATTR_KINDS, FIELD_TYPE_NAME_PATTERN, buildFieldTypeRegistry, } from '../../core/index.js';
5
5
  import { FIELD_TYPES } from '../../core/index.js';
6
6
  import { SchemaError } from '../../core/index.js';
7
7
  /**
@@ -33,9 +33,77 @@ const BUILTIN_NAMES = new Set(Object.values(FIELD_TYPES));
33
33
  function isPlainObject(value) {
34
34
  return value !== null && typeof value === 'object' && !Array.isArray(value);
35
35
  }
36
+ const ATTR_NAME_RE = /^[a-z][a-zA-Z0-9_]*$/;
37
+ const ATTR_KIND_VALUES = Object.values(ATTR_KINDS);
36
38
  function invalid(detail, locale) {
37
39
  return new SchemaError('fieldtype.invalid', { detail }, locale);
38
40
  }
41
+ /** validate the declared `attrs` spec map (shape + kinds), fail-closed at load */
42
+ function validateAttrSpecs(raw, name, locale) {
43
+ const attrs = raw.attrs;
44
+ if (attrs === undefined)
45
+ return;
46
+ if (!isPlainObject(attrs))
47
+ throw new SchemaError('fieldtype.attr.invalid', { name, attr: '', detail: 'attrs must be an object of AttrSpec' }, locale);
48
+ for (const [attr, spec] of Object.entries(attrs)) {
49
+ if (!ATTR_NAME_RE.test(attr)) {
50
+ throw new SchemaError('fieldtype.attr.invalid', { name, attr, detail: 'attr name must be camel/snake case' }, locale);
51
+ }
52
+ if (!isPlainObject(spec)) {
53
+ throw new SchemaError('fieldtype.attr.invalid', { name, attr, detail: 'spec must be an object' }, locale);
54
+ }
55
+ const kind = spec.type;
56
+ if (typeof kind !== 'string' || !ATTR_KIND_VALUES.includes(kind)) {
57
+ throw new SchemaError('fieldtype.attr.invalid', { name, attr, detail: `unknown type "${String(kind)}"` }, locale);
58
+ }
59
+ if (kind === ATTR_KINDS.ENUM) {
60
+ const values = spec.values;
61
+ if (!Array.isArray(values) || values.length === 0 || !values.every((v) => typeof v === 'string')) {
62
+ throw new SchemaError('fieldtype.attr.invalid', { name, attr, detail: 'enum requires non-empty string `values`' }, locale);
63
+ }
64
+ }
65
+ if (spec.default !== undefined) {
66
+ const valid = (() => {
67
+ switch (kind) {
68
+ case ATTR_KINDS.STRING:
69
+ return typeof spec.default === 'string';
70
+ case ATTR_KINDS.NUMBER:
71
+ return typeof spec.default === 'number' && !Number.isNaN(spec.default);
72
+ case ATTR_KINDS.INTEGER:
73
+ return typeof spec.default === 'number' && Number.isInteger(spec.default);
74
+ case ATTR_KINDS.BOOLEAN:
75
+ return typeof spec.default === 'boolean';
76
+ case ATTR_KINDS.JSON:
77
+ return true;
78
+ case ATTR_KINDS.ENUM:
79
+ return typeof spec.default === 'string' && spec.values.includes(spec.default);
80
+ default:
81
+ return false;
82
+ }
83
+ })();
84
+ if (!valid) {
85
+ throw new SchemaError('fieldtype.attr.invalid', { name, attr, detail: `default is not a valid ${kind}` }, locale);
86
+ }
87
+ }
88
+ }
89
+ }
90
+ /** validate `storage` / `validate` hooks (non-relation value bases only) */
91
+ function validateHooks(raw, name, relationLike, locale) {
92
+ if (raw.storage !== undefined) {
93
+ if (relationLike)
94
+ throw invalid(`"${name}" storage is not allowed on relation-like types`, locale);
95
+ if (!isPlainObject(raw.storage) || typeof raw.storage.pgType !== 'function') {
96
+ throw new SchemaError('fieldtype.storage.invalid', { name, detail: 'storage must be { pgType: (field) => string }' }, locale);
97
+ }
98
+ }
99
+ if (raw.validate !== undefined) {
100
+ if (relationLike)
101
+ throw invalid(`"${name}" validate is not allowed on relation-like types`, locale);
102
+ if (typeof raw.validate !== 'function') {
103
+ throw new SchemaError('fieldtype.validate.invalid', { name, detail: 'validate must be a function' }, locale);
104
+ }
105
+ }
106
+ }
39
107
  /** normalize + validate one raw registration into its effective name */
40
108
  export function normalizeFieldTypeRegistration(raw, locale) {
41
109
  if (!isPlainObject(raw))
@@ -73,6 +141,9 @@ export function normalizeFieldTypeRegistration(raw, locale) {
73
141
  throw invalid(`"${effective}" reverse is not allowed on relation-like types`, locale);
74
142
  }
75
143
  }
144
+ const relationLike = base === FIELD_TYPES.RELATION || raw.relationLike === true;
145
+ validateAttrSpecs(raw, effective, locale);
146
+ validateHooks(raw, effective, relationLike, locale);
76
147
  const registration = { ...raw, name: effective };
77
148
  if (ns !== undefined)
78
149
  registration.namespace = ns;