@weave-kit/engine 0.2.2 → 0.3.1

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 (177) hide show
  1. package/dist/adapters/mcp/generate.d.ts +2 -1
  2. package/dist/adapters/mcp/generate.d.ts.map +1 -1
  3. package/dist/adapters/mcp/generate.js +23 -23
  4. package/dist/adapters/mcp/generate.js.map +1 -1
  5. package/dist/adapters/openapi/document.js +1 -1
  6. package/dist/adapters/openapi/document.js.map +1 -1
  7. package/dist/adapters/openapi/schema.d.ts +5 -4
  8. package/dist/adapters/openapi/schema.d.ts.map +1 -1
  9. package/dist/adapters/openapi/schema.js +16 -16
  10. package/dist/adapters/openapi/schema.js.map +1 -1
  11. package/dist/adapters/openapi/types.d.ts +2 -0
  12. package/dist/adapters/openapi/types.d.ts.map +1 -1
  13. package/dist/cli/commands/build.d.ts.map +1 -1
  14. package/dist/cli/commands/build.js +22 -0
  15. package/dist/cli/commands/build.js.map +1 -1
  16. package/dist/cli/commands/dev.d.ts.map +1 -1
  17. package/dist/cli/commands/dev.js +9 -6
  18. package/dist/cli/commands/dev.js.map +1 -1
  19. package/dist/cli/commands/field-add.d.ts.map +1 -1
  20. package/dist/cli/commands/field-add.js +15 -11
  21. package/dist/cli/commands/field-add.js.map +1 -1
  22. package/dist/cli/commands/field-types.d.ts +13 -0
  23. package/dist/cli/commands/field-types.d.ts.map +1 -0
  24. package/dist/cli/commands/field-types.js +131 -0
  25. package/dist/cli/commands/field-types.js.map +1 -0
  26. package/dist/cli/commands/introspect.d.ts.map +1 -1
  27. package/dist/cli/commands/introspect.js +6 -1
  28. package/dist/cli/commands/introspect.js.map +1 -1
  29. package/dist/cli/commands/migrate.d.ts.map +1 -1
  30. package/dist/cli/commands/migrate.js +3 -0
  31. package/dist/cli/commands/migrate.js.map +1 -1
  32. package/dist/cli/commands/openapi.d.ts.map +1 -1
  33. package/dist/cli/commands/openapi.js +4 -0
  34. package/dist/cli/commands/openapi.js.map +1 -1
  35. package/dist/cli/commands/schema-map.d.ts.map +1 -1
  36. package/dist/cli/commands/schema-map.js +2 -0
  37. package/dist/cli/commands/schema-map.js.map +1 -1
  38. package/dist/cli/commands/types.d.ts.map +1 -1
  39. package/dist/cli/commands/types.js +8 -2
  40. package/dist/cli/commands/types.js.map +1 -1
  41. package/dist/cli/index.js +13 -0
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/cli/resolve-field-types.d.ts +9 -0
  44. package/dist/cli/resolve-field-types.d.ts.map +1 -0
  45. package/dist/cli/resolve-field-types.js +17 -0
  46. package/dist/cli/resolve-field-types.js.map +1 -0
  47. package/dist/cli/types/commands.d.ts +8 -0
  48. package/dist/cli/types/commands.d.ts.map +1 -1
  49. package/dist/cli/types/index.d.ts +1 -1
  50. package/dist/cli/types/index.d.ts.map +1 -1
  51. package/dist/cli/types/values.d.ts +2 -0
  52. package/dist/cli/types/values.d.ts.map +1 -1
  53. package/dist/cli/types/values.js +2 -0
  54. package/dist/cli/types/values.js.map +1 -1
  55. package/dist/core/i18n/ar.d.ts.map +1 -1
  56. package/dist/core/i18n/ar.js +6 -0
  57. package/dist/core/i18n/ar.js.map +1 -1
  58. package/dist/core/i18n/de.d.ts.map +1 -1
  59. package/dist/core/i18n/de.js +6 -0
  60. package/dist/core/i18n/de.js.map +1 -1
  61. package/dist/core/i18n/en.d.ts +6 -0
  62. package/dist/core/i18n/en.d.ts.map +1 -1
  63. package/dist/core/i18n/en.js +6 -0
  64. package/dist/core/i18n/en.js.map +1 -1
  65. package/dist/core/i18n/es.d.ts.map +1 -1
  66. package/dist/core/i18n/es.js +6 -0
  67. package/dist/core/i18n/es.js.map +1 -1
  68. package/dist/core/i18n/fr.d.ts.map +1 -1
  69. package/dist/core/i18n/fr.js +6 -0
  70. package/dist/core/i18n/fr.js.map +1 -1
  71. package/dist/core/i18n/hi.d.ts.map +1 -1
  72. package/dist/core/i18n/hi.js +6 -0
  73. package/dist/core/i18n/hi.js.map +1 -1
  74. package/dist/core/i18n/id.d.ts.map +1 -1
  75. package/dist/core/i18n/id.js +6 -0
  76. package/dist/core/i18n/id.js.map +1 -1
  77. package/dist/core/i18n/ja.d.ts.map +1 -1
  78. package/dist/core/i18n/ja.js +6 -0
  79. package/dist/core/i18n/ja.js.map +1 -1
  80. package/dist/core/i18n/ko.d.ts.map +1 -1
  81. package/dist/core/i18n/ko.js +6 -0
  82. package/dist/core/i18n/ko.js.map +1 -1
  83. package/dist/core/i18n/pt.d.ts.map +1 -1
  84. package/dist/core/i18n/pt.js +6 -0
  85. package/dist/core/i18n/pt.js.map +1 -1
  86. package/dist/core/i18n/ru.d.ts.map +1 -1
  87. package/dist/core/i18n/ru.js +6 -0
  88. package/dist/core/i18n/ru.js.map +1 -1
  89. package/dist/core/i18n/vi.d.ts.map +1 -1
  90. package/dist/core/i18n/vi.js +6 -0
  91. package/dist/core/i18n/vi.js.map +1 -1
  92. package/dist/core/i18n/zh-hant.d.ts.map +1 -1
  93. package/dist/core/i18n/zh-hant.js +6 -0
  94. package/dist/core/i18n/zh-hant.js.map +1 -1
  95. package/dist/core/i18n/zh.d.ts.map +1 -1
  96. package/dist/core/i18n/zh.js +6 -0
  97. package/dist/core/i18n/zh.js.map +1 -1
  98. package/dist/core/object/describe.d.ts.map +1 -1
  99. package/dist/core/object/describe.js +8 -13
  100. package/dist/core/object/describe.js.map +1 -1
  101. package/dist/core/object/gen-types.d.ts +2 -1
  102. package/dist/core/object/gen-types.d.ts.map +1 -1
  103. package/dist/core/object/gen-types.js +16 -18
  104. package/dist/core/object/gen-types.js.map +1 -1
  105. package/dist/core/object/registry.d.ts +10 -0
  106. package/dist/core/object/registry.d.ts.map +1 -1
  107. package/dist/core/object/registry.js +10 -0
  108. package/dist/core/object/registry.js.map +1 -1
  109. package/dist/core/object/validate/field.d.ts +9 -1
  110. package/dist/core/object/validate/field.d.ts.map +1 -1
  111. package/dist/core/object/validate/field.js +75 -5
  112. package/dist/core/object/validate/field.js.map +1 -1
  113. package/dist/core/object/validate/object.d.ts +3 -0
  114. package/dist/core/object/validate/object.d.ts.map +1 -1
  115. package/dist/core/object/validate/object.js +6 -5
  116. package/dist/core/object/validate/object.js.map +1 -1
  117. package/dist/core/storage/diff.d.ts +2 -1
  118. package/dist/core/storage/diff.d.ts.map +1 -1
  119. package/dist/core/storage/diff.js +7 -7
  120. package/dist/core/storage/diff.js.map +1 -1
  121. package/dist/core/storage/introspect.d.ts +3 -0
  122. package/dist/core/storage/introspect.d.ts.map +1 -1
  123. package/dist/core/storage/introspect.js +35 -6
  124. package/dist/core/storage/introspect.js.map +1 -1
  125. package/dist/core/storage/map.d.ts +6 -3
  126. package/dist/core/storage/map.d.ts.map +1 -1
  127. package/dist/core/storage/map.js +23 -22
  128. package/dist/core/storage/map.js.map +1 -1
  129. package/dist/core/storage/migrate.js +1 -1
  130. package/dist/core/storage/migrate.js.map +1 -1
  131. package/dist/core/storage/report.d.ts +2 -1
  132. package/dist/core/storage/report.d.ts.map +1 -1
  133. package/dist/core/storage/report.js +3 -3
  134. package/dist/core/storage/report.js.map +1 -1
  135. package/dist/core/types/field-type.d.ts +49 -0
  136. package/dist/core/types/field-type.d.ts.map +1 -0
  137. package/dist/core/types/field-type.js +12 -0
  138. package/dist/core/types/field-type.js.map +1 -0
  139. package/dist/core/types/fields.d.ts +22 -3
  140. package/dist/core/types/fields.d.ts.map +1 -1
  141. package/dist/core/types/index.d.ts +4 -3
  142. package/dist/core/types/index.d.ts.map +1 -1
  143. package/dist/core/types/index.js +2 -1
  144. package/dist/core/types/index.js.map +1 -1
  145. package/dist/core/types/registry.d.ts +19 -31
  146. package/dist/core/types/registry.d.ts.map +1 -1
  147. package/dist/core/types/registry.js +53 -19
  148. package/dist/core/types/registry.js.map +1 -1
  149. package/dist/core/types/values.d.ts +8 -1
  150. package/dist/core/types/values.d.ts.map +1 -1
  151. package/dist/core/types/values.js.map +1 -1
  152. package/dist/index.d.ts +2 -0
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +17 -1
  155. package/dist/index.js.map +1 -1
  156. package/dist/runtime/engine.d.ts +11 -1
  157. package/dist/runtime/engine.d.ts.map +1 -1
  158. package/dist/runtime/engine.js.map +1 -1
  159. package/dist/runtime/fieldtypes/index.d.ts +3 -0
  160. package/dist/runtime/fieldtypes/index.d.ts.map +1 -0
  161. package/dist/runtime/fieldtypes/index.js +2 -0
  162. package/dist/runtime/fieldtypes/index.js.map +1 -0
  163. package/dist/runtime/fieldtypes/loader.d.ts +21 -0
  164. package/dist/runtime/fieldtypes/loader.d.ts.map +1 -0
  165. package/dist/runtime/fieldtypes/loader.js +135 -0
  166. package/dist/runtime/fieldtypes/loader.js.map +1 -0
  167. package/dist/runtime/git/loader.d.ts +2 -1
  168. package/dist/runtime/git/loader.d.ts.map +1 -1
  169. package/dist/runtime/git/loader.js +12 -3
  170. package/dist/runtime/git/loader.js.map +1 -1
  171. package/dist/runtime/git/sync.d.ts +3 -1
  172. package/dist/runtime/git/sync.d.ts.map +1 -1
  173. package/dist/runtime/git/sync.js +5 -1
  174. package/dist/runtime/git/sync.js.map +1 -1
  175. package/dist/version.d.ts +1 -1
  176. package/dist/version.js +1 -1
  177. package/package.json +1 -1
@@ -1,9 +1,14 @@
1
1
  import { parseFormula } from '../../formula/index.js';
2
+ import { DEFAULT_FIELD_TYPE_REGISTRY, FIELD_TYPE_NAME_PATTERN, fieldBase, } from '../../types/index.js';
2
3
  import { FIELD_TYPES, ROW_SCOPE_MARKERS } from '../../types/values.js';
3
4
  import { validateLabels } from './labels.js';
4
5
  import { fail, isRecord, expectString, expectBoolean, expectNumber, expectPositiveInt, SNAKE_CASE, FIELD_TYPE_VALUES, ON_DELETE_ACTION_VALUES, SEQUENCE_PLACEHOLDER, SEQUENCE_TOKEN_VALUES, SEQUENCE_CYCLE_VALUES, } from './primitives.js';
5
6
  /** keys always allowed on any field */
6
7
  const BASE_KEYS = ['name', 'type', 'labels', 'description', 'primary', 'system', 'sensitive'];
8
+ /** broad field-type-name shape: built-ins (camelCase) + registered (namespaced) names */
9
+ const FIELD_TYPE_NAME_RE = /^[a-z][a-zA-Z0-9_]*$/;
10
+ /** registered-type name shape (namespace segment required) */
11
+ const REGISTERED_FIELD_TYPE_RE = new RegExp(FIELD_TYPE_NAME_PATTERN);
7
12
  /** extra keys allowed per field type */
8
13
  const EXTRA_KEYS = {
9
14
  string: ['minLength', 'maxLength', 'regex', 'required', 'unique', 'default', 'formula', ROW_SCOPE_MARKERS.OWNERSHIP, ROW_SCOPE_MARKERS.TEAM],
@@ -107,7 +112,9 @@ function parseFormulaAttr(raw, vc) {
107
112
  return raw.formula;
108
113
  }
109
114
  /** validate a single field definition into its typed discriminated-union member */
110
- export function validateField(raw, vc, allowedFieldTypes) {
115
+ export function validateField(raw, vc, options = {}) {
116
+ const allowedFieldTypes = options.allowedFieldTypes;
117
+ const registry = options.fieldTypes ?? DEFAULT_FIELD_TYPE_REGISTRY;
111
118
  if (!isRecord(raw))
112
119
  fail(vc, 'field.notObject');
113
120
  const name = expectString(raw, 'name', vc);
@@ -116,13 +123,25 @@ export function validateField(raw, vc, allowedFieldTypes) {
116
123
  if (!SNAKE_CASE.test(name))
117
124
  fail(vc, 'field.name.snake', { name });
118
125
  const rawType = raw.type;
119
- if (typeof rawType !== 'string' || !FIELD_TYPE_VALUES.includes(rawType)) {
126
+ if (typeof rawType !== 'string' || !FIELD_TYPE_NAME_RE.test(rawType)) {
120
127
  fail(vc, 'field.type.invalid', { type: String(rawType) });
121
128
  }
122
- const type = rawType;
123
- if (allowedFieldTypes !== undefined && !allowedFieldTypes.includes(type)) {
124
- fail(vc, 'field.type.disabled', { type });
129
+ const isBuiltin = FIELD_TYPE_VALUES.includes(rawType);
130
+ const descriptor = isBuiltin ? undefined : registry.get(rawType);
131
+ if (!isBuiltin) {
132
+ if (!REGISTERED_FIELD_TYPE_RE.test(rawType))
133
+ fail(vc, 'field.type.invalid', { type: rawType });
134
+ if (descriptor === undefined)
135
+ fail(vc, 'field.type.unknown', { type: rawType });
136
+ }
137
+ if (allowedFieldTypes !== undefined && !allowedFieldTypes.includes(rawType)) {
138
+ fail(vc, 'field.type.disabled', { type: rawType });
139
+ }
140
+ // registered (non-builtin) type → generic, descriptor-driven path
141
+ if (!isBuiltin && descriptor !== undefined) {
142
+ return validateRegisteredField(raw, name, rawType, descriptor, vc);
125
143
  }
144
+ const type = rawType;
126
145
  checkAllowedKeys(raw, type, vc);
127
146
  const labels = validateLabels(raw.labels, vc);
128
147
  const description = expectString(raw, 'description', vc);
@@ -429,4 +448,55 @@ export function validateField(raw, vc, allowedFieldTypes) {
429
448
  }
430
449
  }
431
450
  }
451
+ /**
452
+ * Validate a field whose type is a user/plugin registered type. Attributes are
453
+ * checked against the registration's allow-list (plus the base's conveniences);
454
+ * storage/TS/MCP/OpenAPI behaviour is inherited from `base` at consumption time.
455
+ */
456
+ function validateRegisteredField(raw, name, type, descriptor, vc) {
457
+ const base = descriptor.base;
458
+ if (base === undefined)
459
+ fail(vc, 'field.type.invalid', { type });
460
+ const resolvedBase = fieldBase(DEFAULT_FIELD_TYPE_REGISTRY, base);
461
+ const relationLike = descriptor.relationLike === true || resolvedBase === FIELD_TYPES.RELATION;
462
+ const allowed = new Set([...BASE_KEYS, ...(descriptor.attrs ?? []), 'required', 'unique', 'default']);
463
+ if (relationLike) {
464
+ allowed.add('target');
465
+ allowed.add('onDelete');
466
+ }
467
+ if (resolvedBase === FIELD_TYPES.STRING || resolvedBase === FIELD_TYPES.TEXT)
468
+ allowed.add('multiple');
469
+ for (const key of Object.keys(raw)) {
470
+ if (!allowed.has(key))
471
+ fail(vc, 'field.attr.notAllowed', { type, attr: key });
472
+ }
473
+ const labels = validateLabels(raw.labels, vc);
474
+ const description = expectString(raw, 'description', vc);
475
+ const primary = expectBoolean(raw, 'primary', vc);
476
+ const system = expectBoolean(raw, 'system', vc);
477
+ const sensitive = expectBoolean(raw, 'sensitive', vc);
478
+ const required = expectBoolean(raw, 'required', vc);
479
+ const unique = expectBoolean(raw, 'unique', vc);
480
+ const multiple = expectBoolean(raw, 'multiple', vc);
481
+ const out = { name, type, labels, description, primary, system, sensitive, required, unique };
482
+ if (multiple !== undefined)
483
+ out.multiple = multiple;
484
+ if (relationLike) {
485
+ const target = expectString(raw, 'target', vc);
486
+ if (target === undefined)
487
+ fail(vc, 'field.relation.target.required');
488
+ if (!SNAKE_CASE.test(target))
489
+ fail(vc, 'field.relation.target.snake', { target });
490
+ const onDelete = expectString(raw, 'onDelete', vc);
491
+ if (onDelete !== undefined && !ON_DELETE_ACTION_VALUES.includes(onDelete)) {
492
+ fail(vc, 'field.relation.onDelete.invalid', { actions: ON_DELETE_ACTION_VALUES.join('/') });
493
+ }
494
+ out.target = target;
495
+ if (onDelete !== undefined)
496
+ out.onDelete = onDelete;
497
+ }
498
+ if (raw.default !== undefined)
499
+ out.default = raw.default;
500
+ return out;
501
+ }
432
502
  //# sourceMappingURL=field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../src/core/object/validate/field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../src/core/object/validate/field.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Locale } from '../../i18n/index.js';
2
2
  import type { ObjectDefinition } from '../../types/index.js';
3
+ import { type FieldTypeRegistry } from '../../types/index.js';
3
4
  export interface ValidateOptions {
4
5
  /** directory name hint; must equal object name when provided */
5
6
  nameHint?: string;
@@ -11,6 +12,8 @@ export interface ValidateOptions {
11
12
  * to all types (gating is opt-in via config).
12
13
  */
13
14
  allowedFieldTypes?: readonly string[];
15
+ /** effective field-type registry (built-ins + user registrations) */
16
+ fieldTypes?: FieldTypeRegistry;
14
17
  }
15
18
  /**
16
19
  * Validate a raw object definition (single object, self-contained checks only).
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/object/validate/object.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAS9E,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,gBAAgB,CA2FxF"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/object/validate/object.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAkD,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAS9G,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,qEAAqE;IACrE,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,gBAAgB,CA8FxF"}
@@ -1,12 +1,13 @@
1
1
  import { DEFAULT_LOCALE } from '../../i18n/index.js';
2
2
  import { SCHEMA_FORMAT_VERSION } from '../schema-version.js';
3
+ import { DEFAULT_FIELD_TYPE_REGISTRY, isScalarFieldType } from '../../types/index.js';
3
4
  import { FIELD_TYPES, READ_SCOPES } from '../../types/values.js';
4
5
  import { validateField } from './field.js';
5
6
  import { validateFormulas } from './formulas.js';
6
7
  import { validateIndexes } from './indexes.js';
7
8
  import { validateLabels } from './labels.js';
8
9
  import { validatePermissions } from './permissions.js';
9
- import { fail, isRecord, expectString, SNAKE_CASE, SCALAR_TYPE_VALUES, TITLE_PLACEHOLDER_RE } from './primitives.js';
10
+ import { fail, isRecord, expectString, SNAKE_CASE, TITLE_PLACEHOLDER_RE } from './primitives.js';
10
11
  /**
11
12
  * Validate a raw object definition (single object, self-contained checks only).
12
13
  * Includes field validation, primary-key rules, titleTemplate placeholder checks
@@ -14,6 +15,7 @@ import { fail, isRecord, expectString, SNAKE_CASE, SCALAR_TYPE_VALUES, TITLE_PLA
14
15
  */
15
16
  export function validateObject(raw, options) {
16
17
  const vc = { object: '(unknown)', locale: options?.locale ?? DEFAULT_LOCALE };
18
+ const registry = options?.fieldTypes ?? DEFAULT_FIELD_TYPE_REGISTRY;
17
19
  if (!isRecord(raw))
18
20
  fail(vc, 'object.notObject');
19
21
  const name = expectString(raw, 'name', vc);
@@ -47,7 +49,7 @@ export function validateObject(raw, options) {
47
49
  const rawFields = raw.fields;
48
50
  if (!Array.isArray(rawFields) || rawFields.length === 0)
49
51
  fail(vc, 'object.fields.required');
50
- const fields = rawFields.map((f) => validateField(f, vc, options?.allowedFieldTypes));
52
+ const fields = rawFields.map((f) => validateField(f, vc, { allowedFieldTypes: options?.allowedFieldTypes, fieldTypes: options?.fieldTypes }));
51
53
  const seen = new Set();
52
54
  for (const field of fields) {
53
55
  if (seen.has(field.name))
@@ -61,7 +63,7 @@ export function validateObject(raw, options) {
61
63
  if (primaries.length > 1)
62
64
  fail(vc, 'object.primary.many');
63
65
  const primaryField = primaries[0];
64
- if (primaryField !== undefined && !SCALAR_TYPE_VALUES.includes(primaryField.type)) {
66
+ if (primaryField !== undefined && !isScalarFieldType(registry, primaryField.type)) {
65
67
  fail(vc, 'object.primary.scalarOnly', { type: primaryField.type });
66
68
  }
67
69
  if (primaryField !== undefined && primaryField.formula !== undefined) {
@@ -116,8 +118,7 @@ function validateTitleTemplate(raw, fields, vc) {
116
118
  if (field === undefined) {
117
119
  fail(vc, 'title.placeholder.missing', { field: fieldName });
118
120
  }
119
- else if (field.type === FIELD_TYPES.DETAILS ||
120
- field.type === FIELD_TYPES.MULTI_RELATION) {
121
+ else if (field.type === FIELD_TYPES.DETAILS || field.type === FIELD_TYPES.MULTI_RELATION) {
121
122
  fail(vc, 'title.placeholder.relation', { field: fieldName, type: field.type });
122
123
  }
123
124
  else if (field.type === FIELD_TYPES.ENUM && field.multiple === true) {
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/object/validate/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,EAAW,MAAM,iBAAiB,CAAC;AAe9H;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,OAAyB;IACpE,MAAM,EAAE,GAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,CAAC;IAClF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACzD,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,EAAE,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACjE,IAAI,CAAC,EAAE,EAAE,0BAA0B,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,uEAAuE;IACvE,IAAI,aAAiC,CAAC;IACtC,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC;IACrC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IACE,OAAO,UAAU,KAAK,QAAQ;YAC9B,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;YAC7B,UAAU,GAAG,CAAC;YACd,UAAU,GAAG,qBAAqB,EAClC,CAAC;YACD,IAAI,CAAC,EAAE,EAAE,4BAA4B,EAAE;gBACrC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;gBAC3B,SAAS,EAAE,qBAAqB;aACjC,CAAC,CAAC;QACL,CAAC;QACD,aAAa,GAAG,UAAU,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAEzD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAE5F,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACtF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,EAAE,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC,EAAE,EAAE,2BAA2B,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAK,YAAqC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/F,IAAI,CAAC,EAAE,EAAE,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEjD,wEAAwE;IACxE,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;IAEjC,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAE3E,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAA6B,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IAChG,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAwB,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACjF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAEvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG,IAAI,CAAC,YAAY;gBAAE,IAAI,CAAC,EAAE,EAAE,+BAA+B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,EAAE,EAAE,2BAA2B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa;QACb,IAAI;QACJ,MAAM;QACN,WAAW;QACX,MAAM;QACN,WAAW;QACX,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO;QACP,aAAa;QACb,KAAK;KACN,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,SAAS,qBAAqB,CAC5B,GAAY,EACZ,MAAyB,EACzB,EAAM;IAEN,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,EAAE,EAAE,2BAA2B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,IACL,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO;YAClC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,cAAc,EACzC,CAAC;YACD,IAAI,CAAC,EAAE,EAAE,4BAA4B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtE,IAAI,CAAC,EAAE,EAAE,6BAA6B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/object/validate/object.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { ObjectDefinition } from '../types/index.js';
2
+ import type { FieldTypeRegistry } from '../types/index.js';
2
3
  import type { Locale } from '../i18n/index.js';
3
4
  import type { ActualTable } from './inspect.js';
4
5
  export interface ExpectedColumn {
@@ -30,7 +31,7 @@ export interface ExpectedTable {
30
31
  * Build the expected table spec for one object, resolving cross-object
31
32
  * information (relation FK target + type, details-child auto columns).
32
33
  */
33
- export declare function buildExpectedTable(def: ObjectDefinition, defs: ReadonlyMap<string, ObjectDefinition>): ExpectedTable;
34
+ export declare function buildExpectedTable(def: ObjectDefinition, defs: ReadonlyMap<string, ObjectDefinition>, registry?: FieldTypeRegistry): ExpectedTable;
34
35
  /** statements to bring one expected table in line with the actual table (undefined = missing) */
35
36
  export declare function diffTable(t: ExpectedTable, actual: ActualTable | undefined, locale?: Locale): string[];
36
37
  /** diff all expected tables vs actual, ordered safely (creates → alters → constraints → indexes) */
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/core/storage/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,GAAG,EAAE,UAAU,EAAE,CAAC;IAClB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAQD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC1C,aAAa,CA0Ef;AAmBD,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAyDtG;AAED,oGAAoG;AACpG,wBAAgB,OAAO,CACrB,QAAQ,EAAE,aAAa,EAAE,EACzB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACxC,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,EAAE,CAsBV;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAuBtG"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/core/storage/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,GAAG,EAAE,UAAU,EAAE,CAAC;IAClB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAQD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAC3C,QAAQ,GAAE,iBAA+C,GACxD,aAAa,CA0Ef;AAmBD,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAyDtG;AAED,oGAAoG;AACpG,wBAAgB,OAAO,CACrB,QAAQ,EAAE,aAAa,EAAE,EACzB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACxC,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,EAAE,CAsBV;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAuBtG"}
@@ -1,18 +1,18 @@
1
- import { DETAILS_COLUMNS, FIELD_TYPES, primaryFieldOf, primaryKeyOf } from '../types/index.js';
1
+ import { DEFAULT_FIELD_TYPE_REGISTRY, DETAILS_COLUMNS, FIELD_TYPES, primaryFieldOf, primaryKeyOf } from '../types/index.js';
2
2
  import { SchemaError } from '../types/index.js';
3
3
  import { buildRlsGrantDdl, buildRlsPolicy, policyName } from '../rbac/index.js';
4
4
  import { defaultExpr, onDeleteClause, pgType } from './map.js';
5
5
  const q = (id) => `"${id}"`;
6
6
  /** mapped PK type of an object (for relation FK columns), or undefined */
7
- function targetPkType(def) {
7
+ function targetPkType(def, registry) {
8
8
  const pkField = primaryFieldOf(def);
9
- return pkField === undefined ? undefined : pgType(pkField, undefined);
9
+ return pkField === undefined ? undefined : pgType(pkField, undefined, registry);
10
10
  }
11
11
  /**
12
12
  * Build the expected table spec for one object, resolving cross-object
13
13
  * information (relation FK target + type, details-child auto columns).
14
14
  */
15
- export function buildExpectedTable(def, defs) {
15
+ export function buildExpectedTable(def, defs, registry = DEFAULT_FIELD_TYPE_REGISTRY) {
16
16
  const name = def.name;
17
17
  const columns = [];
18
18
  const fks = [];
@@ -23,16 +23,16 @@ export function buildExpectedTable(def, defs) {
23
23
  let type;
24
24
  if (field.type === FIELD_TYPES.RELATION || field.type === FIELD_TYPES.PERSON || field.type === FIELD_TYPES.DEPARTMENT) {
25
25
  const targetDef = defs.get(field.target);
26
- type = targetDef === undefined ? 'VARCHAR(255)' : (targetPkType(targetDef) ?? 'VARCHAR(255)');
26
+ type = targetDef === undefined ? 'VARCHAR(255)' : (targetPkType(targetDef, registry) ?? 'VARCHAR(255)');
27
27
  }
28
28
  else {
29
- type = pgType(field, undefined);
29
+ type = pgType(field, undefined, registry);
30
30
  }
31
31
  columns.push({
32
32
  name: field.name,
33
33
  type,
34
34
  notNull: field.required === true || field.primary === true,
35
- default: defaultExpr(field),
35
+ default: defaultExpr(field, registry),
36
36
  primary: field.primary === true,
37
37
  unique: field.unique === true,
38
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/core/storage/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/core/storage/diff.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type FieldTypeRegistry } from '../types/index.js';
1
2
  import type { ObjectDefinition } from '../types/index.js';
2
3
  import type { ActualTable } from './inspect.js';
3
4
  /** one object produced by reverse modeling (already validated) */
@@ -25,6 +26,8 @@ export interface IntrospectMapOptions {
25
26
  include?: string[];
26
27
  /** never convert these tables (table names) */
27
28
  exclude?: string[];
29
+ /** effective field-type registry; registrations with a `reverse` hint are matched back */
30
+ fieldTypes?: FieldTypeRegistry;
28
31
  }
29
32
  /**
30
33
  * Reverse-model live PostgreSQL tables into engine object drafts. Pure (no I/O):
@@ -1 +1 @@
1
- {"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../../src/core/storage/introspect.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA8B,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9D,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AA0ID;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAE,oBAAyB,GAAG,gBAAgB,CA2ElH"}
1
+ {"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../../src/core/storage/introspect.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExF,OAAO,KAAK,EAA8B,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,cAAc,CAAC;AAG9D,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAmLD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAE,oBAAyB,GAAG,gBAAgB,CA6ElH"}
@@ -1,6 +1,17 @@
1
1
  import { DEFAULT_LOCALE } from '../i18n/index.js';
2
2
  import { validateObject } from '../object/validate.js';
3
+ import { DEFAULT_FIELD_TYPE_REGISTRY } from '../types/index.js';
3
4
  import { FIELD_TYPES, ON_DELETE_ACTIONS } from '../types/values.js';
5
+ import { pgTypeMatches } from './map.js';
6
+ /** collect `reverse` hints from the registry */
7
+ function buildReverseMatchers(registry) {
8
+ const out = [];
9
+ for (const descriptor of registry.values()) {
10
+ if (descriptor.reverse !== undefined)
11
+ out.push({ name: descriptor.name, pgType: descriptor.reverse.pgType });
12
+ }
13
+ return out;
14
+ }
4
15
  const SNAKE_CASE = /^[a-z][a-z0-9_]*$/;
5
16
  /** PostgreSQL `information_schema.columns.data_type` → engine field type (primitives only) */
6
17
  const PG_TO_FIELD = {
@@ -69,7 +80,7 @@ function normalizeDefault(raw, type) {
69
80
  }
70
81
  }
71
82
  /** map one PostgreSQL column to an engine field (undefined = unsupported; a warning is pushed) */
72
- function mapColumn(col, table, warnings) {
83
+ function mapColumn(col, table, warnings, matchers = []) {
73
84
  const base = { name: col.name };
74
85
  if (col.comment !== undefined)
75
86
  base.labels = { [DEFAULT_LOCALE]: col.comment };
@@ -116,16 +127,32 @@ function mapColumn(col, table, warnings) {
116
127
  warnings.push(`column "${table.name}.${col.name}": type "${col.dataType}" not supported — skipped`);
117
128
  return undefined;
118
129
  }
130
+ // reverse mapping: a single matching registered type overrides the primitive
131
+ let resolvedType = fieldType;
132
+ const hits = matchers.filter((m) => pgTypeMatches(m.pgType, {
133
+ dataType: col.dataType,
134
+ udtName: col.udtName,
135
+ numericPrecision: col.numericPrecision ?? null,
136
+ numericScale: col.numericScale ?? null,
137
+ }));
138
+ if (hits.length === 1) {
139
+ resolvedType = hits[0].name;
140
+ }
141
+ else if (hits.length > 1) {
142
+ warnings.push(`column "${table.name}.${col.name}": matches multiple registered types (${hits
143
+ .map((h) => h.name)
144
+ .join(', ')}) — keeping "${fieldType}"`);
145
+ }
119
146
  if (col.dataType === 'bigint')
120
147
  warnings.push(`column "${table.name}.${col.name}": bigint mapped to number`);
121
148
  if (col.dataType === 'uuid')
122
149
  warnings.push(`column "${table.name}.${col.name}": uuid mapped to string (no engine uuid type)`);
123
- const field = { ...base, type: fieldType };
150
+ const field = { ...base, type: resolvedType };
124
151
  if (required === true)
125
152
  field.required = true;
126
153
  if (unique)
127
154
  field.unique = true;
128
- if (fieldType === FIELD_TYPES.NUMBER && col.numericPrecision !== undefined && col.numericPrecision !== null) {
155
+ if (resolvedType === FIELD_TYPES.NUMBER && col.numericPrecision !== undefined && col.numericPrecision !== null) {
129
156
  field.precision = col.numericPrecision;
130
157
  }
131
158
  if (col.columnDefault !== null) {
@@ -146,6 +173,8 @@ function mapColumn(col, table, warnings) {
146
173
  export function mapToSchema(tables, options = {}) {
147
174
  const include = options.include === undefined ? undefined : new Set(options.include);
148
175
  const exclude = options.exclude === undefined ? undefined : new Set(options.exclude);
176
+ const fieldTypes = options.fieldTypes ?? DEFAULT_FIELD_TYPE_REGISTRY;
177
+ const matchers = buildReverseMatchers(fieldTypes);
149
178
  const objects = [];
150
179
  const skipped = [];
151
180
  const warnings = [];
@@ -188,7 +217,7 @@ export function mapToSchema(tables, options = {}) {
188
217
  skipped.push({ table: name, reason: `column name "${badColumn}" is not snake_case` });
189
218
  continue;
190
219
  }
191
- const pkField = mapColumn(pkCol, table, warnings);
220
+ const pkField = mapColumn(pkCol, table, warnings, matchers);
192
221
  if (pkField === undefined) {
193
222
  skipped.push({ table: name, reason: `primary key column "${pkName}" type not supported` });
194
223
  continue;
@@ -198,7 +227,7 @@ export function mapToSchema(tables, options = {}) {
198
227
  for (const col of table.columns) {
199
228
  if (col.name === pkName)
200
229
  continue;
201
- const mapped = mapColumn(col, table, warnings);
230
+ const mapped = mapColumn(col, table, warnings, matchers);
202
231
  if (mapped !== undefined)
203
232
  fields.push(mapped);
204
233
  }
@@ -206,7 +235,7 @@ export function mapToSchema(tables, options = {}) {
206
235
  if (table.comment !== undefined)
207
236
  schema.labels = { [DEFAULT_LOCALE]: table.comment };
208
237
  try {
209
- const validated = validateObject(schema, { nameHint: name });
238
+ const validated = validateObject(schema, { nameHint: name, fieldTypes });
210
239
  objects.push({ name, table: name, schema: validated });
211
240
  for (const f of validated.fields) {
212
241
  if (f.name === 'owner_id' && f.ownership !== true)
@@ -1 +1 @@
1
- {"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../../src/core/storage/introspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkCpE,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAEvC,8FAA8F;AAC9F,MAAM,WAAW,GAA8B;IAC7C,mBAAmB,EAAE,WAAW,CAAC,MAAM;IACvC,SAAS,EAAE,WAAW,CAAC,MAAM;IAC7B,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,QAAQ,EAAE,WAAW,CAAC,OAAO;IAC7B,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,OAAO,EAAE,WAAW,CAAC,MAAM;IAC3B,OAAO,EAAE,WAAW,CAAC,MAAM;IAC3B,IAAI,EAAE,WAAW,CAAC,MAAM;IACxB,kBAAkB,EAAE,WAAW,CAAC,MAAM;IACtC,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,0BAA0B,EAAE,WAAW,CAAC,QAAQ;IAChD,6BAA6B,EAAE,WAAW,CAAC,QAAQ;IACnD,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,KAAK,EAAE,WAAW,CAAC,IAAI;IACvB,IAAI,EAAE,WAAW,CAAC,MAAM;CACzB,CAAC;AAEF,uHAAuH;AACvH,MAAM,YAAY,GAA2B;IAC3C,OAAO,EAAE,iBAAiB,CAAC,OAAO;IAClC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;CACrC,CAAC;AAOF,sGAAsG;AACtG,SAAS,gBAAgB,CAAC,GAAW,EAAE,IAAe;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,KAAK,WAAW,CAAC,QAAQ,IAAI,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC/G,CAAC;IACD,sFAAsF;IACtF,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAErD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAE/E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,OAAO;YACtB,IAAI,OAAO,KAAK,MAAM;gBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC/C,IAAI,OAAO,KAAK,OAAO;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YACjD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC/B,KAAK,WAAW,CAAC,OAAO,CAAC;QACzB,KAAK,WAAW,CAAC,MAAM,CAAC;QACxB,KAAK,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QACD,KAAK,WAAW,CAAC,QAAQ,CAAC;QAC1B,KAAK,WAAW,CAAC,IAAI,CAAC;QACtB,KAAK,WAAW,CAAC,MAAM,CAAC;QACxB,KAAK,WAAW,CAAC,IAAI,CAAC;QACtB,KAAK,WAAW,CAAC,IAAI,CAAC;QACtB,KAAK,WAAW,CAAC,UAAU,CAAC;QAC5B,KAAK,WAAW,CAAC,SAAS,CAAC;QAC3B,KAAK,WAAW,CAAC,KAAK,CAAC;QACvB,KAAK,WAAW,CAAC,KAAK,CAAC;QACvB,KAAK,WAAW,CAAC,KAAK;YACpB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC5B;YACE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED,kGAAkG;AAClG,SAAS,SAAS,CAAC,GAAiB,EAAE,KAAkB,EAAE,QAAkB;IAC1E,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/E,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEhG,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,QAAQ,wCAAwC,CAAC,CAAC;YAC3H,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAA4B,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpG,IAAI,QAAQ,KAAK,IAAI;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7C,IAAI,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAChC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnF,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtD,OAAO,KAAmC,CAAC;IAC7C,CAAC;IAED,0DAA0D;IAC1D,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,KAAK,GAA4B,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACzG,IAAI,QAAQ,KAAK,IAAI;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7C,IAAI,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAChC,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;iBAClD,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,aAAa,+BAA+B,CAAC,CAAC;QACrJ,CAAC;QACD,OAAO,KAAmC,CAAC;IAC7C,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,uCAAuC,CAAC,CAAC;QACxF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,QAAQ,2BAA2B,CAAC,CAAC;QACpG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,4BAA4B,CAAC,CAAC;IAC5G,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,gDAAgD,CAAC,CAAC;IAE9H,MAAM,KAAK,GAA4B,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACpE,IAAI,QAAQ,KAAK,IAAI;QAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7C,IAAI,MAAM;QAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAChC,IAAI,SAAS,KAAK,WAAW,CAAC,MAAM,IAAI,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC5G,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACzC,CAAC;IACD,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;aAClD,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,aAAa,+BAA+B,CAAC,CAAC;IACrJ,CAAC;IACD,OAAO,KAAmC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAgC,EAAE,UAAgC,EAAE;IAC9F,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrF,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC1D,IAAI,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI;YAAE,SAAS;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAElC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,yEAAyE,EAAE,CAAC,CAAC;YACjH,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qCAAqC;aAC9F,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,uBAAuB,MAAM,aAAa,EAAE,CAAC,CAAC;YAClF,SAAS;QACX,CAAC;QAED,IAAI,SAA6B,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS;YAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;gBACrB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,SAAS,qBAAqB,EAAE,CAAC,CAAC;YACtF,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,uBAAuB,MAAM,sBAAsB,EAAE,CAAC,CAAC;YAC3F,SAAS;QACX,CAAC;QACA,OAA8C,CAAC,OAAO,GAAG,IAAI,CAAC;QAE/D,MAAM,MAAM,GAAsB,CAAC,OAAO,CAAC,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS;YAClC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAErF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACvD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACjC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;oBAAE,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,8CAA8C,CAAC,CAAC;gBAC5H,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;oBAAE,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,wCAAwC,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../../src/core/storage/introspect.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import type { FieldDefinition } from '../types/index.js';
2
+ import { type FieldTypeRegistry } from '../types/index.js';
2
3
  /**
3
- * Map a field's declared type to a PostgreSQL column type.
4
+ * Map a field's declared type to a PostgreSQL column type. Dispatch is driven by
5
+ * the type's **base** primitive (resolved through the field-type registry), so a
6
+ * user/plugin registered type inherits its base's storage automatically.
4
7
  * `targetPkType` is the mapped PK type of the target object (for `relation`).
5
8
  */
6
- export declare function pgType(field: FieldDefinition, targetPkType: string | undefined): string;
9
+ export declare function pgType(field: FieldDefinition, targetPkType: string | undefined, registry?: FieldTypeRegistry): string;
7
10
  /** SQL DEFAULT expression for a field's `default` value, or undefined (no default) */
8
- export declare function defaultExpr(field: FieldDefinition): string | undefined;
11
+ export declare function defaultExpr(field: FieldDefinition, registry?: FieldTypeRegistry): string | undefined;
9
12
  /**
10
13
  * Compare a declared column type (`pgType()` output, e.g. `VARCHAR(255)`,
11
14
  * `NUMERIC(12,2)`, `TEXT[]`) against a live `information_schema` column, for