@standards/schema 1.0.0-alpha.384 → 1.0.0-alpha.386

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 (157) hide show
  1. package/dist/{all-C9OPP-r1.d.ts → all-4D2kFfWM.d.mts} +1115 -1116
  2. package/dist/{all-CYmW48oj.d.mts → all-DmTOfJJI.d.ts} +1115 -1116
  3. package/dist/api/index.d.mts +2890 -2890
  4. package/dist/api/index.d.ts +2890 -2890
  5. package/dist/api/index.js +1 -1
  6. package/dist/api/index.mjs +1 -1
  7. package/dist/attribute-validators-COsyRG9V.mjs +11 -0
  8. package/dist/attribute-validators-CUqsP1j_.js +11 -0
  9. package/dist/{attributes-D35Lcoui.d.ts → attributes-BcA_reJZ.d.ts} +58 -59
  10. package/dist/{attributes-CZD_B0mZ.d.mts → attributes-eqr1vdPP.d.mts} +58 -59
  11. package/dist/checkbox-C9aJ-6gq.d.ts +10 -0
  12. package/dist/checkbox-DfXrFM2z.d.mts +10 -0
  13. package/dist/config-C1CDWJf8.mjs +2 -0
  14. package/dist/config-eqfYa9Bh.js +2 -0
  15. package/dist/{core-397tQy5q.js → core-DAxRlJ5i.js} +1 -1
  16. package/dist/{core-BLHhNykL.mjs → core-rKI7Q9_U.mjs} +1 -1
  17. package/dist/{date-CQdP6Dxe.d.ts → date-BzggmHjS.d.mts} +5 -6
  18. package/dist/{date-B9051Wxe.d.mts → date-CdaoV9_L.d.ts} +5 -6
  19. package/dist/{exceptions-DoP6VK0v.d.mts → exceptions-CgzBcQIl.d.mts} +69 -70
  20. package/dist/{exceptions-DoP6VK0v.d.ts → exceptions-CgzBcQIl.d.ts} +69 -70
  21. package/dist/exceptions.d.mts +1 -1
  22. package/dist/exceptions.d.ts +1 -1
  23. package/dist/{index-E9rSexij.d.ts → index-BSYjSdhW.d.mts} +17 -18
  24. package/dist/{index-CgEVJG3l.d.ts → index-BmQgUhtq.d.mts} +2770 -2769
  25. package/dist/{index-BLXzRQr9.d.ts → index-CCH94vyR.d.ts} +6 -7
  26. package/dist/{index-D0L0GHU0.d.mts → index-D1iR2xuc.d.ts} +17 -18
  27. package/dist/{index-BS-60koN.d.mts → index-DjWbCMUZ.d.ts} +2770 -2769
  28. package/dist/{index-CH-Vc-pK.d.ts → index-e1Oh8ngS.d.ts} +73 -74
  29. package/dist/{index-B3wdnfLl.d.mts → index-jDwfdudj.d.mts} +73 -74
  30. package/dist/{index-CSDAHifu.d.mts → index-zJz3LbXr.d.mts} +6 -7
  31. package/dist/index.d.mts +13 -13
  32. package/dist/index.d.ts +13 -13
  33. package/dist/index.js +1 -1
  34. package/dist/index.mjs +1 -1
  35. package/dist/number-B3u9vPtb.d.ts +10 -0
  36. package/dist/number-Br56q0hL.d.mts +10 -0
  37. package/dist/object-5-wnsH0o.js +4 -0
  38. package/dist/object-BF5y6bgs.mjs +4 -0
  39. package/dist/{objects-CH22DJOx.d.ts → objects-CLxyZh-U.d.ts} +54 -55
  40. package/dist/{objects-DhKrQEo4.d.mts → objects-DxEMaC2Z.d.mts} +54 -55
  41. package/dist/phone-BGJea5sr.mjs +2 -0
  42. package/dist/phone-DHXyNkVY.js +2 -0
  43. package/dist/record-aggregates-Cj3p3_ce.js +2 -0
  44. package/dist/{record-aggregates-CzG86pUS.mjs → record-aggregates-DQXrIuGE.mjs} +1 -1
  45. package/dist/record-operation-7-DRRONb.mjs +2 -0
  46. package/dist/record-operation-BcbgQ-0b.js +2 -0
  47. package/dist/rolldown-runtime-DETHMehu.js +2 -0
  48. package/dist/text-BaxaZ5Vv.mjs +2 -0
  49. package/dist/text-Bvk4ila8.d.ts +10 -0
  50. package/dist/text-C5NnfCJg.d.mts +10 -0
  51. package/dist/text-DVrTGjjX.js +2 -0
  52. package/dist/{utils-gY3d9Dwp.js → utils-B-gGq3FS.js} +1 -1
  53. package/dist/{utils-C_J_p_tL.d.ts → utils-B2bq4zLb.d.ts} +15 -16
  54. package/dist/{utils-CkcPS_M9.d.mts → utils-CRx-eR8T.d.mts} +15 -16
  55. package/dist/{utils-fXIvFFl6.mjs → utils-DaejNWxh.mjs} +1 -1
  56. package/dist/utils.d.mts +1 -1
  57. package/dist/utils.d.ts +1 -1
  58. package/dist/utils.js +1 -1
  59. package/dist/utils.mjs +1 -1
  60. package/dist/validation/all.d.mts +4 -4
  61. package/dist/validation/all.d.ts +4 -4
  62. package/dist/validation/all.js +1 -1
  63. package/dist/validation/all.mjs +1 -1
  64. package/dist/validation/complex/currency.d.mts +4 -4
  65. package/dist/validation/complex/currency.d.ts +4 -4
  66. package/dist/validation/complex/currency.js +1 -1
  67. package/dist/validation/complex/currency.mjs +1 -1
  68. package/dist/validation/complex/location.d.mts +4 -4
  69. package/dist/validation/complex/location.d.ts +4 -4
  70. package/dist/validation/complex/location.js +1 -1
  71. package/dist/validation/complex/location.mjs +1 -1
  72. package/dist/validation/complex/phone.d.mts +4 -4
  73. package/dist/validation/complex/phone.d.ts +4 -4
  74. package/dist/validation/complex/phone.js +1 -1
  75. package/dist/validation/complex/phone.mjs +1 -1
  76. package/dist/validation/complex/relation.d.mts +6 -6
  77. package/dist/validation/complex/relation.d.ts +6 -6
  78. package/dist/validation/complex/relation.js +1 -1
  79. package/dist/validation/complex/relation.mjs +1 -1
  80. package/dist/validation/complex/richtext.d.mts +4 -4
  81. package/dist/validation/complex/richtext.d.ts +4 -4
  82. package/dist/validation/complex/richtext.js +1 -1
  83. package/dist/validation/complex/richtext.mjs +1 -1
  84. package/dist/validation/complex/select.d.mts +6 -6
  85. package/dist/validation/complex/select.d.ts +6 -6
  86. package/dist/validation/complex/select.js +1 -1
  87. package/dist/validation/complex/select.mjs +1 -1
  88. package/dist/validation/complex/user.d.mts +4 -4
  89. package/dist/validation/complex/user.d.ts +4 -4
  90. package/dist/validation/complex/user.js +1 -1
  91. package/dist/validation/complex/user.mjs +1 -1
  92. package/dist/validation/computed/formula.d.mts +4 -4
  93. package/dist/validation/computed/formula.d.ts +4 -4
  94. package/dist/validation/computed/formula.js +1 -1
  95. package/dist/validation/computed/formula.mjs +1 -1
  96. package/dist/validation/computed/rollup.d.mts +4 -4
  97. package/dist/validation/computed/rollup.d.ts +4 -4
  98. package/dist/validation/computed/rollup.js +1 -1
  99. package/dist/validation/computed/rollup.mjs +1 -1
  100. package/dist/validation/config/index.d.mts +1 -1
  101. package/dist/validation/config/index.d.ts +1 -1
  102. package/dist/validation/config/index.js +1 -1
  103. package/dist/validation/config/index.mjs +1 -1
  104. package/dist/validation/core/index.d.mts +1 -1
  105. package/dist/validation/core/index.d.ts +1 -1
  106. package/dist/validation/core/index.js +1 -1
  107. package/dist/validation/core/index.mjs +1 -1
  108. package/dist/validation/object/index.d.mts +1 -1
  109. package/dist/validation/object/index.d.ts +1 -1
  110. package/dist/validation/object/index.js +1 -1
  111. package/dist/validation/object/index.mjs +1 -1
  112. package/dist/validation/primitives/checkbox.d.mts +1 -1
  113. package/dist/validation/primitives/checkbox.d.ts +1 -1
  114. package/dist/validation/primitives/checkbox.js +1 -1
  115. package/dist/validation/primitives/checkbox.mjs +1 -1
  116. package/dist/validation/primitives/date.d.mts +1 -1
  117. package/dist/validation/primitives/date.d.ts +1 -1
  118. package/dist/validation/primitives/date.js +1 -1
  119. package/dist/validation/primitives/date.mjs +1 -1
  120. package/dist/validation/primitives/number.d.mts +1 -1
  121. package/dist/validation/primitives/number.d.ts +1 -1
  122. package/dist/validation/primitives/number.js +1 -1
  123. package/dist/validation/primitives/number.mjs +1 -1
  124. package/dist/validation/primitives/text.d.mts +1 -1
  125. package/dist/validation/primitives/text.d.ts +1 -1
  126. package/dist/validation/primitives/text.js +1 -1
  127. package/dist/validation/primitives/text.mjs +1 -1
  128. package/dist/view-config.schema-Dl5GkAzl.mjs +2 -0
  129. package/dist/view-config.schema-DwZVS0Gn.js +2 -0
  130. package/dist/zod-locale-D_QkXhnp.d.mts +2 -0
  131. package/dist/zod-locale-D_QkXhnp.d.ts +2 -0
  132. package/dist/zod-locale.d.mts +2 -0
  133. package/dist/zod-locale.d.ts +2 -0
  134. package/dist/zod-locale.js +2 -0
  135. package/dist/zod-locale.mjs +2 -0
  136. package/package.json +17 -3
  137. package/dist/attribute-validators-DRqhAt2t.mjs +0 -11
  138. package/dist/attribute-validators-WAoJbap5.js +0 -11
  139. package/dist/checkbox-CQRDh5tF.d.ts +0 -11
  140. package/dist/checkbox-D00iEidf.d.mts +0 -11
  141. package/dist/config-BIxnbUN8.mjs +0 -2
  142. package/dist/config-DdjlHdPg.js +0 -2
  143. package/dist/number-BwCSeK20.d.ts +0 -11
  144. package/dist/number-CisXUosg.d.mts +0 -11
  145. package/dist/object-DcgxLvip.js +0 -4
  146. package/dist/object-Dzl7sfq8.mjs +0 -4
  147. package/dist/phone-BB-tzcSr.js +0 -2
  148. package/dist/phone-Bca_xiOX.mjs +0 -2
  149. package/dist/record-aggregates-DwpIJ2Dv.js +0 -2
  150. package/dist/record-operation-B7t5aXW3.js +0 -2
  151. package/dist/record-operation-DueJTyDh.mjs +0 -2
  152. package/dist/text-A9AJ1wUO.js +0 -2
  153. package/dist/text-C8Lb-NFo.mjs +0 -2
  154. package/dist/text-SkYUYEnE.d.ts +0 -11
  155. package/dist/text-Z1_WL8cd.d.mts +0 -11
  156. package/dist/view-config.schema-BqO1hmWR.mjs +0 -2
  157. package/dist/view-config.schema-DVoE_g3g.js +0 -2
@@ -1,10 +1,10 @@
1
1
 
2
- import { r as Uuid } from "./utils-CkcPS_M9.mjs";
2
+ import { Uuid } from "./utils-CRx-eR8T.mjs";
3
3
  import { ColorId, CountryIso3, CurrencyCode, IconName } from "@standards/constants";
4
4
  //#region src/types/computed.d.ts
5
- declare const COMPUTED_RETURN_TYPES: readonly ["text", "number", "boolean", "date", "select", "multiselect"];
6
- type ComputedReturnType = (typeof COMPUTED_RETURN_TYPES)[number];
7
- interface ComputedOptionsSource {
5
+ export declare const COMPUTED_RETURN_TYPES: readonly ["text", "number", "boolean", "date", "select", "multiselect"];
6
+ export type ComputedReturnType = (typeof COMPUTED_RETURN_TYPES)[number];
7
+ export interface ComputedOptionsSource {
8
8
  objectName: string;
9
9
  attributeName: string;
10
10
  attributeId?: string;
@@ -17,14 +17,14 @@ interface ComputedOptionsSource {
17
17
  * IMPORTANT: Complex types (formula, rollup, relation, file, user, document, richtext)
18
18
  * are NOT supported to avoid duplicating backend behavior.
19
19
  */
20
- type PropertyType = "text" | "number" | "checkbox" | "date" | "phone" | "currency" | "status" | "select" | "multiselect" | "location";
20
+ export type PropertyType = "text" | "number" | "checkbox" | "date" | "phone" | "currency" | "status" | "select" | "multiselect" | "location";
21
21
  /**
22
22
  * Union of attribute types allowed as qualified relation properties.
23
23
  *
24
24
  * These are the same Attribute types used for object attributes,
25
25
  * restricted to simple types that don't require complex backend duplication.
26
26
  */
27
- type PropertyAttribute = TextAttribute | NumberAttribute | CheckboxAttribute | DateAttribute | PhoneAttribute | CurrencyAttribute | StatusAttribute | SelectAttribute | MultiselectAttribute | LocationAttribute;
27
+ export type PropertyAttribute = TextAttribute | NumberAttribute | CheckboxAttribute | DateAttribute | PhoneAttribute | CurrencyAttribute | StatusAttribute | SelectAttribute | MultiselectAttribute | LocationAttribute;
28
28
  /**
29
29
  * Schema defining properties for a qualified relation.
30
30
  *
@@ -40,7 +40,7 @@ type PropertyAttribute = TextAttribute | NumberAttribute | CheckboxAttribute | D
40
40
  * )
41
41
  * ```
42
42
  */
43
- interface PropertySchema {
43
+ export interface PropertySchema {
44
44
  definitions: PropertyAttribute[];
45
45
  }
46
46
  /**
@@ -49,11 +49,11 @@ interface PropertySchema {
49
49
  * shape (`{ definitions: [...] }`) and the raw-array shape used in test
50
50
  * fixtures (`PropertyAttribute[]`).
51
51
  */
52
- declare function resolvePropertyDefinitions(attr: unknown): PropertyAttribute[];
52
+ export declare function resolvePropertyDefinitions(attr: unknown): PropertyAttribute[];
53
53
  /**
54
54
  * Property attribute types that have an `options` array.
55
55
  */
56
- type OptionPropertyAttribute = SelectAttribute | StatusAttribute | MultiselectAttribute;
56
+ export type OptionPropertyAttribute = SelectAttribute | StatusAttribute | MultiselectAttribute;
57
57
  /**
58
58
  * Type guard to check if a property attribute has options.
59
59
  *
@@ -72,19 +72,19 @@ type OptionPropertyAttribute = SelectAttribute | StatusAttribute | MultiselectAt
72
72
  * }
73
73
  * ```
74
74
  */
75
- declare function hasOptions(attr: PropertyAttribute): attr is OptionPropertyAttribute;
75
+ export declare function hasOptions(attr: PropertyAttribute): attr is OptionPropertyAttribute;
76
76
  //#endregion
77
77
  //#region src/types/attributes.d.ts
78
- declare const ATTRIBUTE_TYPES: readonly ["text", "richtext", "number", "checkbox", "date", "phone", "currency", "status", "location", "select", "multiselect", "user", "relation", "formula", "rollup", "document"];
79
- type AttributeType = (typeof ATTRIBUTE_TYPES)[number];
78
+ export declare const ATTRIBUTE_TYPES: readonly ["text", "richtext", "number", "checkbox", "date", "phone", "currency", "status", "location", "select", "multiselect", "user", "relation", "formula", "rollup", "document"];
79
+ export type AttributeType = (typeof ATTRIBUTE_TYPES)[number];
80
80
  /**
81
81
  * Status group categorization
82
82
  */
83
- type StatusGroup = "idle" | "in_progress" | "finished";
83
+ export type StatusGroup = "idle" | "in_progress" | "finished";
84
84
  /**
85
85
  * Unified option type for select-like fields
86
86
  */
87
- interface Option {
87
+ export interface Option {
88
88
  value: string;
89
89
  label: string;
90
90
  color?: ColorId;
@@ -97,7 +97,7 @@ interface Option {
97
97
  /**
98
98
  * Attribute grouping for UI organization
99
99
  */
100
- interface AttributeGroup {
100
+ export interface AttributeGroup {
101
101
  id: string;
102
102
  label: string;
103
103
  description?: string;
@@ -106,7 +106,7 @@ interface AttributeGroup {
106
106
  collapsed?: boolean;
107
107
  order?: number;
108
108
  }
109
- interface BaseAttribute<DefaultValueType = unknown> {
109
+ export interface BaseAttribute<DefaultValueType = unknown> {
110
110
  id?: Uuid;
111
111
  objectId?: Uuid;
112
112
  name: string;
@@ -125,7 +125,7 @@ interface BaseAttribute<DefaultValueType = unknown> {
125
125
  unique?: boolean;
126
126
  metadata?: Record<string, unknown>;
127
127
  }
128
- interface TextAttribute extends BaseAttribute<string> {
128
+ export interface TextAttribute extends BaseAttribute<string> {
129
129
  type: "text";
130
130
  multiline?: boolean;
131
131
  minLength?: number;
@@ -133,8 +133,8 @@ interface TextAttribute extends BaseAttribute<string> {
133
133
  pattern?: string;
134
134
  format?: "email" | "url" | "slug";
135
135
  }
136
- type NumberUnit = "integer" | "decimal" | "percentage";
137
- interface NumberAttribute extends BaseAttribute<number> {
136
+ export type NumberUnit = "integer" | "decimal" | "percentage";
137
+ export interface NumberAttribute extends BaseAttribute<number> {
138
138
  type: "number";
139
139
  min?: number;
140
140
  max?: number;
@@ -142,14 +142,14 @@ interface NumberAttribute extends BaseAttribute<number> {
142
142
  decimals?: number;
143
143
  renderAs?: "number" | "rating";
144
144
  }
145
- interface CheckboxAttribute extends BaseAttribute<boolean> {
145
+ export interface CheckboxAttribute extends BaseAttribute<boolean> {
146
146
  type: "checkbox";
147
147
  }
148
- type DateFormat = "short" | "long" | "full" | "relative";
149
- type DateValue = string | "today";
150
- type TimeFormat = "12h" | "24h";
148
+ export type DateFormat = "short" | "long" | "full" | "relative";
149
+ export type DateValue = string | "today";
150
+ export type TimeFormat = "12h" | "24h";
151
151
  /** Stored value of a date attribute configured with `.endDate()`. */
152
- interface DateRangeValue {
152
+ export interface DateRangeValue {
153
153
  start: string;
154
154
  end: string | null;
155
155
  }
@@ -158,8 +158,8 @@ interface DateRangeValue {
158
158
  * always a full day; a narrower precision says the day (and the month, for a
159
159
  * year) is not part of the fact.
160
160
  */
161
- type DatePrecision = "day" | "month" | "year";
162
- interface DateAttribute extends BaseAttribute<string | DateRangeValue> {
161
+ export type DatePrecision = "day" | "month" | "year";
162
+ export interface DateAttribute extends BaseAttribute<string | DateRangeValue> {
163
163
  type: "date";
164
164
  dateFormat?: DateFormat;
165
165
  /** Defaults to "day". Refused with `includeTime` or `endDate` when narrower. */
@@ -173,19 +173,19 @@ interface DateAttribute extends BaseAttribute<string | DateRangeValue> {
173
173
  /** Display format for the time component. Defaults to "24h". */
174
174
  timeFormat?: TimeFormat;
175
175
  }
176
- interface Phone {
176
+ export interface Phone {
177
177
  countryCode: CountryIso3;
178
178
  phoneNumber: string;
179
179
  }
180
- interface PhoneAttribute extends BaseAttribute<Phone> {
180
+ export interface PhoneAttribute extends BaseAttribute<Phone> {
181
181
  type: "phone";
182
182
  defaultCountryCode?: CountryIso3;
183
183
  }
184
- interface Currency {
184
+ export interface Currency {
185
185
  code: CurrencyCode;
186
186
  value: number;
187
187
  }
188
- interface CurrencyAttribute extends BaseAttribute<Currency> {
188
+ export interface CurrencyAttribute extends BaseAttribute<Currency> {
189
189
  type: "currency";
190
190
  defaultCurrency?: CurrencyCode;
191
191
  allowedCurrencies?: CurrencyCode[];
@@ -197,11 +197,11 @@ interface CurrencyAttribute extends BaseAttribute<Currency> {
197
197
  * Use this for: Task status, Order status, Project phases, Process states
198
198
  * Use SelectAttribute for: Categories, Types, simple choices without workflow
199
199
  */
200
- interface StatusAttribute extends BaseAttribute<string> {
200
+ export interface StatusAttribute extends BaseAttribute<string> {
201
201
  type: "status";
202
202
  options: Option[];
203
203
  }
204
- interface Location {
204
+ export interface Location {
205
205
  address?: string;
206
206
  address2?: string;
207
207
  city?: string;
@@ -211,8 +211,8 @@ interface Location {
211
211
  latitude?: number;
212
212
  longitude?: number;
213
213
  }
214
- type LocationGranularity = "full" | "address" | "city" | "state" | "country" | "coordinates";
215
- interface LocationAttribute extends BaseAttribute<Location> {
214
+ export type LocationGranularity = "full" | "address" | "city" | "state" | "country" | "coordinates";
215
+ export interface LocationAttribute extends BaseAttribute<Location> {
216
216
  type: "location";
217
217
  granularity?: LocationGranularity;
218
218
  defaultCountry?: CountryIso3;
@@ -223,18 +223,18 @@ interface LocationAttribute extends BaseAttribute<Location> {
223
223
  * Use this for: Categories, Document types, Departments, Priorities
224
224
  * Options can be grouped (e.g., countries by continent) but no workflow logic
225
225
  */
226
- interface SelectAttribute extends BaseAttribute<string> {
226
+ export interface SelectAttribute extends BaseAttribute<string> {
227
227
  type: "select";
228
228
  options: Option[];
229
229
  renderAs?: "badges";
230
230
  }
231
- interface MultiselectAttribute extends BaseAttribute<string[]> {
231
+ export interface MultiselectAttribute extends BaseAttribute<string[]> {
232
232
  type: "multiselect";
233
233
  options: Option[];
234
234
  renderAs?: "badges";
235
235
  }
236
- type UserReferenceType = "user" | "agent";
237
- interface UserAttribute extends BaseAttribute<string | string[]> {
236
+ export type UserReferenceType = "user" | "agent";
237
+ export interface UserAttribute extends BaseAttribute<string | string[]> {
238
238
  type: "user";
239
239
  types?: UserReferenceType[];
240
240
  multiple?: boolean;
@@ -245,11 +245,11 @@ interface UserAttribute extends BaseAttribute<string | string[]> {
245
245
  * Wildcard marker for universal relations (can link to any object)
246
246
  * Use with `.toAny()` builder method
247
247
  */
248
- declare const RELATION_TARGET_ANY: "*";
248
+ export declare const RELATION_TARGET_ANY: "*";
249
249
  /**
250
250
  * Configuration for bilateral synchronization (bidirectional relations)
251
251
  */
252
- interface BilateralConfig {
252
+ export interface BilateralConfig {
253
253
  /** Target object containing the inverse attribute */
254
254
  object: string;
255
255
  /** Name of the inverse attribute */
@@ -265,7 +265,7 @@ interface BilateralConfig {
265
265
  /**
266
266
  * Target object for a relation - defines which objects can be linked
267
267
  */
268
- interface RelationTarget {
268
+ export interface RelationTarget {
269
269
  /** Object name (e.g., "companies", "contacts") or "*" for any object */
270
270
  object: string;
271
271
  /**
@@ -300,7 +300,7 @@ interface RelationAttributeBase extends Omit<BaseAttribute<unknown>, "defaultVal
300
300
  * Single relation attribute (one-to-one or many-to-one)
301
301
  * Stores a single record ID or null
302
302
  */
303
- interface SingleRelationAttribute extends RelationAttributeBase {
303
+ export interface SingleRelationAttribute extends RelationAttributeBase {
304
304
  cardinality: "one";
305
305
  defaultValue?: string | null;
306
306
  }
@@ -308,7 +308,7 @@ interface SingleRelationAttribute extends RelationAttributeBase {
308
308
  * Multi relation attribute (one-to-many or many-to-many)
309
309
  * Stores an array of record IDs
310
310
  */
311
- interface MultiRelationAttribute extends RelationAttributeBase {
311
+ export interface MultiRelationAttribute extends RelationAttributeBase {
312
312
  cardinality: "many";
313
313
  defaultValue?: string[];
314
314
  /** Maximum number of relations allowed */
@@ -345,7 +345,7 @@ interface MultiRelationAttribute extends RelationAttributeBase {
345
345
  * // → Can link to records from any of these objects
346
346
  * ```
347
347
  */
348
- type RelationAttribute = SingleRelationAttribute | MultiRelationAttribute;
348
+ export type RelationAttribute = SingleRelationAttribute | MultiRelationAttribute;
349
349
  /**
350
350
  * Check if a relation attribute is universal (can link to any object)
351
351
  * Universal relations have `targets: [{ object: "*" }]`
@@ -355,12 +355,12 @@ type RelationAttribute = SingleRelationAttribute | MultiRelationAttribute;
355
355
  * stripped. Any other attribute type — and a relation row whose config lost
356
356
  * its `targets` — yields no names.
357
357
  */
358
- declare function relationTargetsOf(attribute: Attribute): string[];
359
- declare function isUniversalRelation(attr: RelationAttribute): boolean;
358
+ export declare function relationTargetsOf(attribute: Attribute): string[];
359
+ export declare function isUniversalRelation(attr: RelationAttribute): boolean;
360
360
  /**
361
361
  * Check if a relation attribute has bilateral synchronization enabled
362
362
  */
363
- declare function isBilateralRelation(attr: RelationAttribute): attr is RelationAttribute & {
363
+ export declare function isBilateralRelation(attr: RelationAttribute): attr is RelationAttribute & {
364
364
  bilateral: BilateralConfig;
365
365
  };
366
366
  /**
@@ -368,7 +368,7 @@ declare function isBilateralRelation(attr: RelationAttribute): attr is RelationA
368
368
  * - one → many (contact.company ↔ company.contacts)
369
369
  * - many → many (contact.tags ↔ tag.contacts)
370
370
  */
371
- declare function inferInverseCardinality(cardinality: "one" | "many"): "one" | "many";
371
+ export declare function inferInverseCardinality(cardinality: "one" | "many"): "one" | "many";
372
372
  /**
373
373
  * RichtextAttribute - Rich text content using semantic markdown
374
374
  *
@@ -381,14 +381,14 @@ declare function inferInverseCardinality(cardinality: "one" | "many"): "one" | "
381
381
  * richtext("content", "Content").required()
382
382
  * ```
383
383
  */
384
- interface RichtextAttribute extends BaseAttribute<string> {
384
+ export interface RichtextAttribute extends BaseAttribute<string> {
385
385
  type: "richtext";
386
386
  }
387
- type RichTextAttribute = RichtextAttribute;
387
+ export type RichTextAttribute = RichtextAttribute;
388
388
  /**
389
389
  * Return type for formula expressions
390
390
  */
391
- type FormulaReturnType = ComputedReturnType;
391
+ export type FormulaReturnType = ComputedReturnType;
392
392
  /**
393
393
  * FormulaAttribute - Computed value based on other attributes
394
394
  *
@@ -410,7 +410,7 @@ type FormulaReturnType = ComputedReturnType;
410
410
  * .returns("text")
411
411
  * ```
412
412
  */
413
- interface FormulaAttribute extends Omit<BaseAttribute<never>, "defaultValue" | "required"> {
413
+ export interface FormulaAttribute extends Omit<BaseAttribute<never>, "defaultValue" | "required"> {
414
414
  type: "formula";
415
415
  /** Expression to evaluate (e.g., "price * quantity") */
416
416
  expression: string;
@@ -444,7 +444,7 @@ interface FormulaAttribute extends Omit<BaseAttribute<never>, "defaultValue" | "
444
444
  * - Percent (percentEmpty, percentNotEmpty): Universal
445
445
  * - Lookup (original): Returns all values as array, rendered as target type
446
446
  */
447
- type RollupFunction = "sum" | "avg" | "earliest" | "latest" | "count" | "countValues" | "countUniqueValues" | "countEmpty" | "percentEmpty" | "percentNotEmpty" | "original";
447
+ export type RollupFunction = "sum" | "avg" | "earliest" | "latest" | "count" | "countValues" | "countUniqueValues" | "countEmpty" | "percentEmpty" | "percentNotEmpty" | "original";
448
448
  /**
449
449
  * RollupAttribute - Aggregates values from related records
450
450
  *
@@ -468,7 +468,7 @@ type RollupFunction = "sum" | "avg" | "earliest" | "latest" | "count" | "countVa
468
468
  * .using("count")
469
469
  * ```
470
470
  */
471
- interface RollupAttribute extends Omit<BaseAttribute<never>, "defaultValue" | "required"> {
471
+ export interface RollupAttribute extends Omit<BaseAttribute<never>, "defaultValue" | "required"> {
472
472
  type: "rollup";
473
473
  /** Name of the relation attribute on this object */
474
474
  relationAttribute: string;
@@ -527,7 +527,7 @@ interface RollupAttribute extends Omit<BaseAttribute<never>, "defaultValue" | "r
527
527
  * .accepts(["application/pdf"])
528
528
  * ```
529
529
  */
530
- interface DocumentAttribute extends BaseAttribute<string[]> {
530
+ export interface DocumentAttribute extends BaseAttribute<string[]> {
531
531
  type: "document";
532
532
  /**
533
533
  * Schema for typed properties on the record→document edge.
@@ -546,12 +546,11 @@ interface DocumentAttribute extends BaseAttribute<string[]> {
546
546
  * Use this type when code needs to inspect or render attributes generically
547
547
  * across primitive, relation, computed, user, and document fields.
548
548
  */
549
- type Attribute = TextAttribute | RichtextAttribute | NumberAttribute | CheckboxAttribute | DateAttribute | PhoneAttribute | CurrencyAttribute | StatusAttribute | LocationAttribute | SelectAttribute | MultiselectAttribute | UserAttribute | RelationAttribute | FormulaAttribute | RollupAttribute | DocumentAttribute;
549
+ export type Attribute = TextAttribute | RichtextAttribute | NumberAttribute | CheckboxAttribute | DateAttribute | PhoneAttribute | CurrencyAttribute | StatusAttribute | LocationAttribute | SelectAttribute | MultiselectAttribute | UserAttribute | RelationAttribute | FormulaAttribute | RollupAttribute | DocumentAttribute;
550
550
  /**
551
551
  * Check if an attribute supports sorting based on its type.
552
552
  */
553
- declare function isAttributeSortable(attr: {
553
+ export declare function isAttributeSortable(attr: {
554
554
  type: AttributeType;
555
555
  }): boolean;
556
- //#endregion
557
- export { resolvePropertyDefinitions as $, RelationTarget as A, TimeFormat as B, NumberAttribute as C, PhoneAttribute as D, Phone as E, SelectAttribute as F, isBilateralRelation as G, UserReferenceType as H, SingleRelationAttribute as I, OptionPropertyAttribute as J, isUniversalRelation as K, StatusAttribute as L, RichtextAttribute as M, RollupAttribute as N, RELATION_TARGET_ANY as O, RollupFunction as P, hasOptions as Q, StatusGroup as R, MultiselectAttribute as S, Option as T, inferInverseCardinality as U, UserAttribute as V, isAttributeSortable as W, PropertySchema as X, PropertyAttribute as Y, PropertyType as Z, FormulaReturnType as _, BaseAttribute as a, LocationGranularity as b, Currency as c, DateFormat as d, COMPUTED_RETURN_TYPES as et, DatePrecision as f, FormulaAttribute as g, DocumentAttribute as h, AttributeType as i, RichTextAttribute as j, RelationAttribute as k, CurrencyAttribute as l, DateValue as m, Attribute as n, ComputedReturnType as nt, BilateralConfig as o, DateRangeValue as p, relationTargetsOf as q, AttributeGroup as r, CheckboxAttribute as s, ATTRIBUTE_TYPES as t, ComputedOptionsSource as tt, DateAttribute as u, Location as v, NumberUnit as w, MultiRelationAttribute as x, LocationAttribute as y, TextAttribute as z };
556
+ //#endregion
@@ -0,0 +1,10 @@
1
+
2
+ import { CheckboxAttribute } from "./attributes-BcA_reJZ.js";
3
+ import { ValidationMessages } from "./index-CCH94vyR.js";
4
+ import * as z$2 from "zod";
5
+ //#region src/validation/primitives/checkbox.d.ts
6
+ /**
7
+ * Create a Zod schema for a checkbox attribute
8
+ */
9
+ export declare function createCheckboxValidator(_attr: CheckboxAttribute, _messages?: ValidationMessages): z$2.ZodBoolean;
10
+ //#endregion
@@ -0,0 +1,10 @@
1
+
2
+ import { CheckboxAttribute } from "./attributes-eqr1vdPP.mjs";
3
+ import { ValidationMessages } from "./index-zJz3LbXr.mjs";
4
+ import * as z$2 from "zod";
5
+ //#region src/validation/primitives/checkbox.d.ts
6
+ /**
7
+ * Create a Zod schema for a checkbox attribute
8
+ */
9
+ export declare function createCheckboxValidator(_attr: CheckboxAttribute, _messages?: ValidationMessages): z$2.ZodBoolean;
10
+ //#endregion
@@ -0,0 +1,2 @@
1
+ /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
+ import{ValidationError as e}from"./exceptions.mjs";import"./zod-locale.mjs";import{ATTRIBUTE_NAME_SCHEMA as t,SCHEMA_LIMITS as n,colorIdSchema as r,iconNameSchema as i,isPlainRecord as a}from"./attribute-validators-COsyRG9V.mjs";import*as o from"zod";const s=[`text`,`number`,`boolean`,`date`,`select`,`multiselect`],c=o.object({placeholder:o.string().optional(),description:o.string().optional(),defaultValue:o.unknown().optional(),icon:o.string().optional(),order:o.number().int().optional(),hidden:o.boolean().optional(),archived:o.boolean().optional(),deprecated:o.boolean().optional(),metadata:o.record(o.string(),o.unknown()).optional()}),l=[`placeholder`,`description`,`defaultValue`,`icon`,`order`,`hidden`,`archived`,`deprecated`,`metadata`],u={relation:{icon:i.optional().describe(`Field icon from search_icons`)}},d={date:[`precision`],user:[`notifiesOnAssign`]};function wireOmittedConfigKeysFor(e){let t=u[e]??{};return[...l.filter(e=>!(e in t)),...d[e]??[]]}function wireHiddenTypeConfigMask(e){return Object.fromEntries((d[e]??[]).map(e=>[e,!0]))}function refuseForeignKeys(e,t,n=[]){let r=new Set(n);return function refuse(n,i,a,o=[]){let s=e[n];if(s!==void 0&&i!==void 0)for(let e of Object.keys(i))s.has(e)||r.has(e)||a.addIssue({code:`custom`,path:[...o,e],message:`"${e}" is not a ${n} ${t}; keys of ${n}: ${[...s].join(`, `)}`})}}const f=o.object({value:o.string().min(1).describe(`Stored value`),label:o.string().min(1).describe(`Label people see`),description:o.string().describe(`Extra context`).optional(),inverse:o.string().describe(`Paired option's value (symmetric)`).optional(),archived:o.boolean().describe(`Hides without deleting`).optional()}),p=o.enum([`idle`,`in_progress`,`finished`]).describe(`Workflow stage`),m=f.extend({color:r}).strict(),h=m,g=f.extend({color:r,group:p}).strict(),_=f.extend({color:o.string().optional().describe(`A color id`),group:p.optional()}).strict(),v=new Set(_.keyof().options),y=[`options`,`targetAttributeOptions`];function withoutUnknownOptionKeys(e){let t=e;for(let n of y){let r=e[n];if(!Array.isArray(r))continue;let i=!1,o=r.map(e=>!a(e)||Object.keys(e).every(e=>v.has(e))?e:(i=!0,Object.fromEntries(Object.entries(e).filter(([e])=>v.has(e)))));i&&(t={...t,[n]:o})}let n=e.properties;if(a(n)&&Array.isArray(n.definitions)){let e=n.definitions,r=e.map(e=>a(e)?withoutUnknownOptionKeys(e):e);r.some((t,n)=>t!==e[n])&&(t={...t,properties:{...n,definitions:r}})}return t}const b=o.array(_).min(1).refine(e=>{let t=e.map(e=>e.value);return new Set(t).size===t.length},{message:`Duplicate option values are not allowed`});function writeOptionsArraySchema(e){return o.array(e).min(1).max(n.optionsPerAttribute).refine(e=>{let t=e.map(e=>e.value);return new Set(t).size===t.length},{message:`Duplicate option values are not allowed`})}const x=writeOptionsArraySchema(m),S=writeOptionsArraySchema(h),C=writeOptionsArraySchema(g),ee=o.object({object:o.string().min(1).describe(`Target object`),displayTemplate:o.string().optional().describe(`Linked record label template`),filter:o.record(o.string(),o.unknown()).optional().describe(`Restricts linkable records`)}),w=o.object({object:o.string().min(1).describe(`Other side's object`),attribute:o.string().min(1).describe(`Other side's attribute`),cardinality:o.enum([`one`,`many`]).optional().describe(`Other side's cardinality`),label:o.string().min(1).optional().describe(`Other side's label`),storageOwner:o.boolean().optional().describe(`Owns the join storage`)}),T=o.object({objectName:o.string().min(1).describe(`API name of the object whose options are mirrored`),attributeName:o.string().min(1).describe(`API name of the select/status attribute to mirror options from`),attributeId:o.string().optional().describe(`Id of the source attribute, resolved by the server`)}),E=c.extend({multiline:o.boolean().describe(`Renders as a multi-line textarea`).optional(),minLength:o.number().int().min(0).describe(`Minimum character count`).optional(),maxLength:o.number().int().min(1).describe(`Maximum character count`).optional(),pattern:o.string().describe(`Regular expression the value must match`).optional(),format:o.enum([`email`,`url`,`slug`]).describe(`Validates and renders as this format`).optional()}),D=c,O=c.extend({renderAs:o.enum([`number`,`rating`]).describe(`Plain number or a star rating`).optional(),min:o.number().describe(`Minimum allowed value`).optional(),max:o.number().describe(`Maximum allowed value`).optional(),unit:o.enum([`integer`,`decimal`,`percentage`]).describe(`How the value is stored and rendered`).optional(),decimals:o.number().int().min(0).max(10).describe(`Decimal places shown`).optional()}),k=c,A=c.extend({dateFormat:o.enum([`short`,`long`,`full`,`relative`]).describe(`How the date is rendered`).optional(),precision:o.enum([`day`,`month`,`year`]).describe(`Whether the value records a day, a month or a year`).optional(),minDate:o.string().describe(`Earliest allowed date (ISO)`).optional(),maxDate:o.string().describe(`Latest allowed date (ISO)`).optional(),includeTime:o.boolean().describe(`Also captures a time of day`).optional(),endDate:o.boolean().describe(`Paired with another date attribute as a range's end`).optional(),timeFormat:o.enum([`12h`,`24h`]).describe(`Clock format when a time is included`).optional()}),j=c.extend({defaultCountryCode:o.string().length(3).describe(`ISO country code preselected in the dialer`).optional()}),M=c.extend({defaultCurrency:o.string().length(3).describe(`ISO currency code preselected for new values`).optional(),allowedCurrencies:o.array(o.string().length(3)).describe(`ISO currency codes a value may use; any currency when omitted`).optional(),allowNegative:o.boolean().describe(`Whether a negative amount is accepted`).optional()}),N=c.extend({options:b.describe(`The workflow statuses, in order`)}),P=c.extend({granularity:o.enum([`full`,`address`,`city`,`state`,`country`,`coordinates`]).describe(`How precise a location must be captured`).optional(),defaultCountry:o.string().length(3).describe(`ISO country code preselected for new values`).optional(),allowedCountries:o.array(o.string().length(3)).describe(`ISO country codes a value may use; any country when omitted`).optional()}),F=c.extend({options:b.describe(`Options`),renderAs:o.literal(`badges`).optional().describe(`Renders the chosen option as a colored badge`)}),I=c.extend({options:b.describe(`Options`),renderAs:o.literal(`badges`).optional().describe(`Renders the chosen options as colored badges`)}),L=c.extend({types:o.array(o.enum([`user`,`agent`])).min(1).optional().describe(`Which kinds of actor can be picked; both when omitted`),multiple:o.boolean().optional().describe(`Whether more than one actor can be picked`),notifiesOnAssign:o.boolean().optional().describe(`Whether each person added to the value is notified`)}),R={name:t.describe(`Property API name`),label:o.string().min(1).describe(`Label people see`),required:o.boolean().describe(`Required on every edge`).optional()},z={id:o.string().optional(),objectId:o.string().optional(),system:o.boolean().optional(),unique:o.boolean().optional()},B=Object.fromEntries(l.map(e=>[e,!0])),V=[`text`,`number`,`checkbox`,`date`,`phone`,`currency`,`location`],H=[...V,`select`,`multiselect`,`status`],U={text:E,number:O,checkbox:k,date:A,phone:j,currency:M,location:P,select:F,multiselect:I,status:N},W={...U,select:F.extend({options:x.describe(`Options`)}),multiselect:I.extend({options:S.describe(`Options`)}),status:N.extend({options:C.describe(`Statuses`)})},propertyWireConfigShapeFor=e=>W[e].omit(B).omit(wireHiddenTypeConfigMask(e)).shape,storedPropertyMember=e=>o.object({...R,...z,type:o.literal(e).describe(`Property type`),...U[e].shape}).strip(),G=o.discriminatedUnion(`type`,H.map(storedPropertyMember)),K=o.object({definitions:o.array(G).min(1).max(n.optionsPerAttribute).describe(`Edge properties`)}).strip().describe(`Properties carried by the edge itself (role, share, since…), never a third object`),q=refuseForeignKeys(Object.fromEntries(H.map(e=>[e,new Set(Object.keys(propertyWireConfigShapeFor(e)))])),`property key`,[...Object.keys(R),`type`]);function refuseForeignPropertyKeys(e,t){q(e.type,e,t)}const J=V.reduce((e,t)=>(Object.assign(e,propertyWireConfigShapeFor(t)),e),{}),optionPropertyWireMember=e=>o.object({...R,type:e.length===1?o.literal(e[0]).describe(`Property type`):o.enum(e).describe(`Property type`),...propertyWireConfigShapeFor(e[0])}).strict(),Y=o.discriminatedUnion(`type`,[optionPropertyWireMember([`select`,`multiselect`]),optionPropertyWireMember([`status`]),o.object({...R,type:o.enum(V).describe(`Property type`),...J}).strict().superRefine(refuseForeignPropertyKeys)]),X=o.object({definitions:o.array(Y).min(1).max(n.optionsPerAttribute).describe(`Edge properties`)}).strict().describe(`Properties carried by the edge itself (role, share, since…), never a third object`),Z=c.extend({targets:o.array(ee).min(1).describe(`Target object(s)`),cardinality:o.enum([`one`,`many`]).describe(`one or many`),maxItems:o.number().int().min(1).optional().describe(`Max linked records`),bilateral:w.optional().describe(`Syncs the other side's attribute`),properties:K.optional()}),Q=c.extend({expression:o.string().min(1).describe(`The formula expression, compiled against this object's attributes`),returnType:o.enum(s).describe(`The formula's result type`),decimals:o.number().int().min(0).max(10).optional().describe(`Decimal places shown for a number result`),currencyCode:o.string().length(3).optional().describe(`ISO 4217 code a number result renders with; presentation only`),allowRelations:o.boolean().optional().describe(`Whether the expression may read across a relation`),optionsSource:T.optional().describe(`Mirrors an option set`)}),te=c.extend({relationAttribute:o.string().min(1).optional().describe(`API name of the relation this rollup aggregates through`),relationPath:o.string().optional().describe(`Not supported yet — single-hop only`),targetAttribute:o.string().min(1).optional().describe(`API name of the attribute aggregated on the relation's target object; not read by count`),function:o.enum([`sum`,`avg`,`earliest`,`latest`,`count`,`countValues`,`countUniqueValues`,`countEmpty`,`percentEmpty`,`percentNotEmpty`,`original`]).describe(`The aggregation applied across the linked records`),decimals:o.number().int().min(0).max(10).optional().describe(`Decimal places shown for a numeric result`),targetAttributeType:o.string().optional().describe(`Server-set`),targetAttributeOptions:o.array(_).optional().describe(`Server-set`),targetCurrencyCode:o.string().length(3).optional().describe(`Server-set`),optionsSource:T.optional().describe(`Mirrors an option set`)});function rollupTargetIssue(e,t){if(e===`rollup`&&t.function!==`count`&&t.targetAttribute===void 0)return{path:[`targetAttribute`],message:`targetAttribute is required for a "${String(t.function)}" rollup`}}function datePrecisionIssues(e,t,n=[]){let r=[],i=t.precision;if(e===`date`&&i!==void 0&&i!==`day`)for(let e of[`includeTime`,`endDate`])t[e]===!0&&r.push({path:[...n,`precision`],message:`A "${String(i)}" precision cannot be combined with ${e}`});let o=t.properties;return a(o)&&Array.isArray(o.definitions)&&o.definitions.forEach((e,t)=>{a(e)&&r.push(...datePrecisionIssues(String(e.type),e,[...n,`properties`,`definitions`,t]))}),r}const $={text:E,richtext:D,number:O,checkbox:k,date:A,phone:j,currency:M,status:N,location:P,select:F,multiselect:I,user:L,relation:Z,formula:Q,rollup:te,document:c.extend({properties:K.optional(),accepts:o.array(o.string().min(1)).optional().describe("MIME prefixes or globs a file must match (e.g. `image/*`, `*.pdf`)"),maxFileSize:o.number().int().min(1).optional().describe(`Maximum file size in bytes`)})};function getAttributeConfigSchema(t){let n=$[t];if(!n)throw new e(`Unsupported attribute type: ${t}`,[]);return n}function parseAttributeConfig(e,t){let n=getAttributeConfigSchema(e).strip().parse(t),r=rollupTargetIssue(e,n);if(r)throw validationErrorFromIssues([r]);return n}function getAttributeConfigWriteSchema(e){let t=getAttributeConfigSchema(e).extend({icon:i.optional()});switch(e){case`select`:return t.extend({options:x.describe(`Options`)});case`multiselect`:return t.extend({options:S.describe(`Options`)});case`status`:return t.extend({options:C.describe(`Statuses`)});default:return t}}function validationErrorFromIssues(t){return e.fromZodErrors(t.map(e=>({path:e.path.map(e=>typeof e==`symbol`?String(e):e),message:e.message})))}function parseWriteSchema(e,t){let n=getAttributeConfigWriteSchema(e).strip().safeParse(t);if(!n.success)throw validationErrorFromIssues(n.error.issues);let r=rollupTargetIssue(e,n.data);if(r)throw validationErrorFromIssues([r]);let i=datePrecisionIssues(e,n.data);if(i.length>0)throw validationErrorFromIssues(i);return n.data}function parseAttributeConfigForCreate(e,t){return parseWriteSchema(e,t)}function validatePatchedIcon(t){if(!Object.prototype.hasOwnProperty.call(t,`icon`))return;let n=i.optional().safeParse(t.icon);if(!n.success)throw e.fromZodErrors(n.error.issues.map(e=>({path:[`icon`,...e.path.map(e=>typeof e==`symbol`?String(e):e)],message:e.message})))}function isSelectLike(e){return e===`select`||e===`multiselect`||e===`status`}function parseAttributeConfigForUpdate(e,t){let n=Object.prototype.hasOwnProperty.call(t,`options`),r=Object.prototype.hasOwnProperty.call(t,`icon`),i={...e,...t};if(validatePatchedIcon(t),n){let{icon:t,...n}=i,a=parseWriteSchema(e.type,r?i:n);return!r&&t!==void 0&&(a.icon=t),a}let a=e.options;isSelectLike(e.type)&&(i.options=[{value:`__legacy__`,label:`__legacy__`}]);let o=getAttributeConfigSchema(e.type).strip().safeParse(i);if(!o.success)throw validationErrorFromIssues(o.error.issues);let s=o.data,c=datePrecisionIssues(e.type,s);if(c.length>0)throw validationErrorFromIssues(c);return isSelectLike(e.type)&&(s.options=a),s}export{s as COMPUTED_RETURN_TYPES,V as SIMPLE_PROPERTY_TYPES,u as WIRE_OFFERED_BASE_CONFIG,l as WIRE_OMITTED_CONFIG_KEYS,$ as attributeConfigSchemas,datePrecisionIssues,getAttributeConfigSchema,getAttributeConfigWriteSchema,h as multiselectOptionWriteSchema,parseAttributeConfig,parseAttributeConfigForCreate,parseAttributeConfigForUpdate,G as propertyAttributeSchema,Y as propertyAttributeWireSchema,K as propertySchemaSchema,X as propertySchemaWireSchema,refuseForeignKeys,m as selectOptionWriteSchema,p as statusGroupSchema,g as statusOptionWriteSchema,wireHiddenTypeConfigMask,wireOmittedConfigKeysFor,withoutUnknownOptionKeys};
@@ -0,0 +1,2 @@
1
+ /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
+ const e=require("./rolldown-runtime-DETHMehu.js"),t=require("./exceptions.js");require("./zod-locale.js");const n=require("./attribute-validators-CUqsP1j_.js");let r=require("zod");r=e.__toESM(r);const i=[`text`,`number`,`boolean`,`date`,`select`,`multiselect`],a=r.object({placeholder:r.string().optional(),description:r.string().optional(),defaultValue:r.unknown().optional(),icon:r.string().optional(),order:r.number().int().optional(),hidden:r.boolean().optional(),archived:r.boolean().optional(),deprecated:r.boolean().optional(),metadata:r.record(r.string(),r.unknown()).optional()}),o=[`placeholder`,`description`,`defaultValue`,`icon`,`order`,`hidden`,`archived`,`deprecated`,`metadata`],s={relation:{icon:n.iconNameSchema.optional().describe(`Field icon from search_icons`)}},c={date:[`precision`],user:[`notifiesOnAssign`]};function wireOmittedConfigKeysFor(e){let t=s[e]??{};return[...o.filter(e=>!(e in t)),...c[e]??[]]}function wireHiddenTypeConfigMask(e){return Object.fromEntries((c[e]??[]).map(e=>[e,!0]))}function refuseForeignKeys(e,t,n=[]){let r=new Set(n);return function refuse(n,i,a,o=[]){let s=e[n];if(s!==void 0&&i!==void 0)for(let e of Object.keys(i))s.has(e)||r.has(e)||a.addIssue({code:`custom`,path:[...o,e],message:`"${e}" is not a ${n} ${t}; keys of ${n}: ${[...s].join(`, `)}`})}}const l=r.object({value:r.string().min(1).describe(`Stored value`),label:r.string().min(1).describe(`Label people see`),description:r.string().describe(`Extra context`).optional(),inverse:r.string().describe(`Paired option's value (symmetric)`).optional(),archived:r.boolean().describe(`Hides without deleting`).optional()}),u=r.enum([`idle`,`in_progress`,`finished`]).describe(`Workflow stage`),d=l.extend({color:n.colorIdSchema}).strict(),f=d,p=l.extend({color:n.colorIdSchema,group:u}).strict(),m=l.extend({color:r.string().optional().describe(`A color id`),group:u.optional()}).strict(),h=new Set(m.keyof().options),g=[`options`,`targetAttributeOptions`];function withoutUnknownOptionKeys(e){let t=e;for(let r of g){let i=e[r];if(!Array.isArray(i))continue;let a=!1,o=i.map(e=>!n.isPlainRecord(e)||Object.keys(e).every(e=>h.has(e))?e:(a=!0,Object.fromEntries(Object.entries(e).filter(([e])=>h.has(e)))));a&&(t={...t,[r]:o})}let r=e.properties;if(n.isPlainRecord(r)&&Array.isArray(r.definitions)){let e=r.definitions,i=e.map(e=>n.isPlainRecord(e)?withoutUnknownOptionKeys(e):e);i.some((t,n)=>t!==e[n])&&(t={...t,properties:{...r,definitions:i}})}return t}const _=r.array(m).min(1).refine(e=>{let t=e.map(e=>e.value);return new Set(t).size===t.length},{message:`Duplicate option values are not allowed`});function writeOptionsArraySchema(e){return r.array(e).min(1).max(n.SCHEMA_LIMITS.optionsPerAttribute).refine(e=>{let t=e.map(e=>e.value);return new Set(t).size===t.length},{message:`Duplicate option values are not allowed`})}const v=writeOptionsArraySchema(d),y=writeOptionsArraySchema(f),b=writeOptionsArraySchema(p),x=r.object({object:r.string().min(1).describe(`Target object`),displayTemplate:r.string().optional().describe(`Linked record label template`),filter:r.record(r.string(),r.unknown()).optional().describe(`Restricts linkable records`)}),S=r.object({object:r.string().min(1).describe(`Other side's object`),attribute:r.string().min(1).describe(`Other side's attribute`),cardinality:r.enum([`one`,`many`]).optional().describe(`Other side's cardinality`),label:r.string().min(1).optional().describe(`Other side's label`),storageOwner:r.boolean().optional().describe(`Owns the join storage`)}),C=r.object({objectName:r.string().min(1).describe(`API name of the object whose options are mirrored`),attributeName:r.string().min(1).describe(`API name of the select/status attribute to mirror options from`),attributeId:r.string().optional().describe(`Id of the source attribute, resolved by the server`)}),w=a.extend({multiline:r.boolean().describe(`Renders as a multi-line textarea`).optional(),minLength:r.number().int().min(0).describe(`Minimum character count`).optional(),maxLength:r.number().int().min(1).describe(`Maximum character count`).optional(),pattern:r.string().describe(`Regular expression the value must match`).optional(),format:r.enum([`email`,`url`,`slug`]).describe(`Validates and renders as this format`).optional()}),T=a,E=a.extend({renderAs:r.enum([`number`,`rating`]).describe(`Plain number or a star rating`).optional(),min:r.number().describe(`Minimum allowed value`).optional(),max:r.number().describe(`Maximum allowed value`).optional(),unit:r.enum([`integer`,`decimal`,`percentage`]).describe(`How the value is stored and rendered`).optional(),decimals:r.number().int().min(0).max(10).describe(`Decimal places shown`).optional()}),D=a,O=a.extend({dateFormat:r.enum([`short`,`long`,`full`,`relative`]).describe(`How the date is rendered`).optional(),precision:r.enum([`day`,`month`,`year`]).describe(`Whether the value records a day, a month or a year`).optional(),minDate:r.string().describe(`Earliest allowed date (ISO)`).optional(),maxDate:r.string().describe(`Latest allowed date (ISO)`).optional(),includeTime:r.boolean().describe(`Also captures a time of day`).optional(),endDate:r.boolean().describe(`Paired with another date attribute as a range's end`).optional(),timeFormat:r.enum([`12h`,`24h`]).describe(`Clock format when a time is included`).optional()}),k=a.extend({defaultCountryCode:r.string().length(3).describe(`ISO country code preselected in the dialer`).optional()}),A=a.extend({defaultCurrency:r.string().length(3).describe(`ISO currency code preselected for new values`).optional(),allowedCurrencies:r.array(r.string().length(3)).describe(`ISO currency codes a value may use; any currency when omitted`).optional(),allowNegative:r.boolean().describe(`Whether a negative amount is accepted`).optional()}),j=a.extend({options:_.describe(`The workflow statuses, in order`)}),M=a.extend({granularity:r.enum([`full`,`address`,`city`,`state`,`country`,`coordinates`]).describe(`How precise a location must be captured`).optional(),defaultCountry:r.string().length(3).describe(`ISO country code preselected for new values`).optional(),allowedCountries:r.array(r.string().length(3)).describe(`ISO country codes a value may use; any country when omitted`).optional()}),N=a.extend({options:_.describe(`Options`),renderAs:r.literal(`badges`).optional().describe(`Renders the chosen option as a colored badge`)}),P=a.extend({options:_.describe(`Options`),renderAs:r.literal(`badges`).optional().describe(`Renders the chosen options as colored badges`)}),F=a.extend({types:r.array(r.enum([`user`,`agent`])).min(1).optional().describe(`Which kinds of actor can be picked; both when omitted`),multiple:r.boolean().optional().describe(`Whether more than one actor can be picked`),notifiesOnAssign:r.boolean().optional().describe(`Whether each person added to the value is notified`)}),I={name:n.ATTRIBUTE_NAME_SCHEMA.describe(`Property API name`),label:r.string().min(1).describe(`Label people see`),required:r.boolean().describe(`Required on every edge`).optional()},L={id:r.string().optional(),objectId:r.string().optional(),system:r.boolean().optional(),unique:r.boolean().optional()},R=Object.fromEntries(o.map(e=>[e,!0])),z=[`text`,`number`,`checkbox`,`date`,`phone`,`currency`,`location`],B=[...z,`select`,`multiselect`,`status`],V={text:w,number:E,checkbox:D,date:O,phone:k,currency:A,location:M,select:N,multiselect:P,status:j},H={...V,select:N.extend({options:v.describe(`Options`)}),multiselect:P.extend({options:y.describe(`Options`)}),status:j.extend({options:b.describe(`Statuses`)})},propertyWireConfigShapeFor=e=>H[e].omit(R).omit(wireHiddenTypeConfigMask(e)).shape,storedPropertyMember=e=>r.object({...I,...L,type:r.literal(e).describe(`Property type`),...V[e].shape}).strip(),U=r.discriminatedUnion(`type`,B.map(storedPropertyMember)),W=r.object({definitions:r.array(U).min(1).max(n.SCHEMA_LIMITS.optionsPerAttribute).describe(`Edge properties`)}).strip().describe(`Properties carried by the edge itself (role, share, since…), never a third object`),G=refuseForeignKeys(Object.fromEntries(B.map(e=>[e,new Set(Object.keys(propertyWireConfigShapeFor(e)))])),`property key`,[...Object.keys(I),`type`]);function refuseForeignPropertyKeys(e,t){G(e.type,e,t)}const K=z.reduce((e,t)=>(Object.assign(e,propertyWireConfigShapeFor(t)),e),{}),optionPropertyWireMember=e=>r.object({...I,type:e.length===1?r.literal(e[0]).describe(`Property type`):r.enum(e).describe(`Property type`),...propertyWireConfigShapeFor(e[0])}).strict(),q=r.discriminatedUnion(`type`,[optionPropertyWireMember([`select`,`multiselect`]),optionPropertyWireMember([`status`]),r.object({...I,type:r.enum(z).describe(`Property type`),...K}).strict().superRefine(refuseForeignPropertyKeys)]),J=r.object({definitions:r.array(q).min(1).max(n.SCHEMA_LIMITS.optionsPerAttribute).describe(`Edge properties`)}).strict().describe(`Properties carried by the edge itself (role, share, since…), never a third object`),Y=a.extend({targets:r.array(x).min(1).describe(`Target object(s)`),cardinality:r.enum([`one`,`many`]).describe(`one or many`),maxItems:r.number().int().min(1).optional().describe(`Max linked records`),bilateral:S.optional().describe(`Syncs the other side's attribute`),properties:W.optional()}),X=a.extend({expression:r.string().min(1).describe(`The formula expression, compiled against this object's attributes`),returnType:r.enum(i).describe(`The formula's result type`),decimals:r.number().int().min(0).max(10).optional().describe(`Decimal places shown for a number result`),currencyCode:r.string().length(3).optional().describe(`ISO 4217 code a number result renders with; presentation only`),allowRelations:r.boolean().optional().describe(`Whether the expression may read across a relation`),optionsSource:C.optional().describe(`Mirrors an option set`)}),Z=a.extend({relationAttribute:r.string().min(1).optional().describe(`API name of the relation this rollup aggregates through`),relationPath:r.string().optional().describe(`Not supported yet — single-hop only`),targetAttribute:r.string().min(1).optional().describe(`API name of the attribute aggregated on the relation's target object; not read by count`),function:r.enum([`sum`,`avg`,`earliest`,`latest`,`count`,`countValues`,`countUniqueValues`,`countEmpty`,`percentEmpty`,`percentNotEmpty`,`original`]).describe(`The aggregation applied across the linked records`),decimals:r.number().int().min(0).max(10).optional().describe(`Decimal places shown for a numeric result`),targetAttributeType:r.string().optional().describe(`Server-set`),targetAttributeOptions:r.array(m).optional().describe(`Server-set`),targetCurrencyCode:r.string().length(3).optional().describe(`Server-set`),optionsSource:C.optional().describe(`Mirrors an option set`)});function rollupTargetIssue(e,t){if(e===`rollup`&&t.function!==`count`&&t.targetAttribute===void 0)return{path:[`targetAttribute`],message:`targetAttribute is required for a "${String(t.function)}" rollup`}}function datePrecisionIssues(e,t,r=[]){let i=[],a=t.precision;if(e===`date`&&a!==void 0&&a!==`day`)for(let e of[`includeTime`,`endDate`])t[e]===!0&&i.push({path:[...r,`precision`],message:`A "${String(a)}" precision cannot be combined with ${e}`});let o=t.properties;return n.isPlainRecord(o)&&Array.isArray(o.definitions)&&o.definitions.forEach((e,t)=>{n.isPlainRecord(e)&&i.push(...datePrecisionIssues(String(e.type),e,[...r,`properties`,`definitions`,t]))}),i}const Q={text:w,richtext:T,number:E,checkbox:D,date:O,phone:k,currency:A,status:j,location:M,select:N,multiselect:P,user:F,relation:Y,formula:X,rollup:Z,document:a.extend({properties:W.optional(),accepts:r.array(r.string().min(1)).optional().describe("MIME prefixes or globs a file must match (e.g. `image/*`, `*.pdf`)"),maxFileSize:r.number().int().min(1).optional().describe(`Maximum file size in bytes`)})};function getAttributeConfigSchema(e){let n=Q[e];if(!n)throw new t.ValidationError(`Unsupported attribute type: ${e}`,[]);return n}function parseAttributeConfig(e,t){let n=getAttributeConfigSchema(e).strip().parse(t),r=rollupTargetIssue(e,n);if(r)throw validationErrorFromIssues([r]);return n}function getAttributeConfigWriteSchema(e){let t=getAttributeConfigSchema(e).extend({icon:n.iconNameSchema.optional()});switch(e){case`select`:return t.extend({options:v.describe(`Options`)});case`multiselect`:return t.extend({options:y.describe(`Options`)});case`status`:return t.extend({options:b.describe(`Statuses`)});default:return t}}function validationErrorFromIssues(e){return t.ValidationError.fromZodErrors(e.map(e=>({path:e.path.map(e=>typeof e==`symbol`?String(e):e),message:e.message})))}function parseWriteSchema(e,t){let n=getAttributeConfigWriteSchema(e).strip().safeParse(t);if(!n.success)throw validationErrorFromIssues(n.error.issues);let r=rollupTargetIssue(e,n.data);if(r)throw validationErrorFromIssues([r]);let i=datePrecisionIssues(e,n.data);if(i.length>0)throw validationErrorFromIssues(i);return n.data}function parseAttributeConfigForCreate(e,t){return parseWriteSchema(e,t)}function validatePatchedIcon(e){if(!Object.prototype.hasOwnProperty.call(e,`icon`))return;let r=n.iconNameSchema.optional().safeParse(e.icon);if(!r.success)throw t.ValidationError.fromZodErrors(r.error.issues.map(e=>({path:[`icon`,...e.path.map(e=>typeof e==`symbol`?String(e):e)],message:e.message})))}function isSelectLike(e){return e===`select`||e===`multiselect`||e===`status`}function parseAttributeConfigForUpdate(e,t){let n=Object.prototype.hasOwnProperty.call(t,`options`),r=Object.prototype.hasOwnProperty.call(t,`icon`),i={...e,...t};if(validatePatchedIcon(t),n){let{icon:t,...n}=i,a=parseWriteSchema(e.type,r?i:n);return!r&&t!==void 0&&(a.icon=t),a}let a=e.options;isSelectLike(e.type)&&(i.options=[{value:`__legacy__`,label:`__legacy__`}]);let o=getAttributeConfigSchema(e.type).strip().safeParse(i);if(!o.success)throw validationErrorFromIssues(o.error.issues);let s=o.data,c=datePrecisionIssues(e.type,s);if(c.length>0)throw validationErrorFromIssues(c);return isSelectLike(e.type)&&(s.options=a),s}Object.defineProperty(exports,"COMPUTED_RETURN_TYPES",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"SIMPLE_PROPERTY_TYPES",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"WIRE_OFFERED_BASE_CONFIG",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"WIRE_OMITTED_CONFIG_KEYS",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"attributeConfigSchemas",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"datePrecisionIssues",{enumerable:!0,get:function(){return datePrecisionIssues}}),Object.defineProperty(exports,"getAttributeConfigSchema",{enumerable:!0,get:function(){return getAttributeConfigSchema}}),Object.defineProperty(exports,"getAttributeConfigWriteSchema",{enumerable:!0,get:function(){return getAttributeConfigWriteSchema}}),Object.defineProperty(exports,"multiselectOptionWriteSchema",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"parseAttributeConfig",{enumerable:!0,get:function(){return parseAttributeConfig}}),Object.defineProperty(exports,"parseAttributeConfigForCreate",{enumerable:!0,get:function(){return parseAttributeConfigForCreate}}),Object.defineProperty(exports,"parseAttributeConfigForUpdate",{enumerable:!0,get:function(){return parseAttributeConfigForUpdate}}),Object.defineProperty(exports,"propertyAttributeSchema",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"propertyAttributeWireSchema",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"propertySchemaSchema",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"propertySchemaWireSchema",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"refuseForeignKeys",{enumerable:!0,get:function(){return refuseForeignKeys}}),Object.defineProperty(exports,"selectOptionWriteSchema",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"statusGroupSchema",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"statusOptionWriteSchema",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"wireHiddenTypeConfigMask",{enumerable:!0,get:function(){return wireHiddenTypeConfigMask}}),Object.defineProperty(exports,"wireOmittedConfigKeysFor",{enumerable:!0,get:function(){return wireOmittedConfigKeysFor}}),Object.defineProperty(exports,"withoutUnknownOptionKeys",{enumerable:!0,get:function(){return withoutUnknownOptionKeys}});
@@ -1,2 +1,2 @@
1
1
  /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- const e={required:e=>`${e.label} is required`,invalidType:(e,t)=>`${e.label} must be a ${t}`,minLength:(e,t)=>`${e.label} must be at least ${t} characters`,maxLength:(e,t)=>`${e.label} must be at most ${t} characters`,invalidPattern:e=>`${e.label} format is invalid`,minValue:(e,t)=>`${e.label} must be at least ${t}`,maxValue:(e,t)=>`${e.label} must be at most ${t}`,mustBeInteger:e=>`${e.label} must be an integer`,invalidDate:e=>`${e.label} must be a valid date`,invalidOption:(e,t)=>`${e.label} must be one of: ${t.join(`, `)}`,invalidId:e=>`${e.label} must be a valid ID`,maxItems:(e,t)=>`${e.label} must have at most ${t} item${t>1?`s`:``}`,invalidRichtext:e=>`${e.label} must be valid rich text content`,invalidPhone:e=>`${e.label} must be a valid phone number`,invalidCurrency:e=>`${e.label} must be a valid currency value`,invalidLocation:e=>`${e.label} must be a valid location`};function formatZodErrors(e){return e.issues.map(e=>({path:e.path.map(String),message:e.message}))}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return formatZodErrors}});
2
+ const e={required:e=>`${e.label} is required`,invalidType:(e,t)=>`${e.label} must be a ${t}`,minLength:(e,t)=>`${e.label} must be at least ${t} characters`,maxLength:(e,t)=>`${e.label} must be at most ${t} characters`,invalidPattern:e=>`${e.label} format is invalid`,minValue:(e,t)=>`${e.label} must be at least ${t}`,maxValue:(e,t)=>`${e.label} must be at most ${t}`,mustBeInteger:e=>`${e.label} must be an integer`,invalidDate:e=>`${e.label} must be a valid date`,invalidOption:(e,t)=>`${e.label} must be one of: ${t.join(`, `)}`,invalidId:e=>`${e.label} must be a valid ID`,maxItems:(e,t)=>`${e.label} must have at most ${t} item${t>1?`s`:``}`,invalidRichtext:e=>`${e.label} must be valid rich text content`,invalidPhone:e=>`${e.label} must be a valid phone number`,invalidCurrency:e=>`${e.label} must be a valid currency value`,invalidLocation:e=>`${e.label} must be a valid location`};function formatZodErrors(e){return e.issues.map(e=>({path:e.path.map(String),message:e.message}))}Object.defineProperty(exports,"DEFAULT_VALIDATION_MESSAGES",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"formatZodErrors",{enumerable:!0,get:function(){return formatZodErrors}});
@@ -1,2 +1,2 @@
1
1
  /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- const e={required:e=>`${e.label} is required`,invalidType:(e,t)=>`${e.label} must be a ${t}`,minLength:(e,t)=>`${e.label} must be at least ${t} characters`,maxLength:(e,t)=>`${e.label} must be at most ${t} characters`,invalidPattern:e=>`${e.label} format is invalid`,minValue:(e,t)=>`${e.label} must be at least ${t}`,maxValue:(e,t)=>`${e.label} must be at most ${t}`,mustBeInteger:e=>`${e.label} must be an integer`,invalidDate:e=>`${e.label} must be a valid date`,invalidOption:(e,t)=>`${e.label} must be one of: ${t.join(`, `)}`,invalidId:e=>`${e.label} must be a valid ID`,maxItems:(e,t)=>`${e.label} must have at most ${t} item${t>1?`s`:``}`,invalidRichtext:e=>`${e.label} must be valid rich text content`,invalidPhone:e=>`${e.label} must be a valid phone number`,invalidCurrency:e=>`${e.label} must be a valid currency value`,invalidLocation:e=>`${e.label} must be a valid location`};function formatZodErrors(e){return e.issues.map(e=>({path:e.path.map(String),message:e.message}))}export{e as n,formatZodErrors as t};
2
+ const e={required:e=>`${e.label} is required`,invalidType:(e,t)=>`${e.label} must be a ${t}`,minLength:(e,t)=>`${e.label} must be at least ${t} characters`,maxLength:(e,t)=>`${e.label} must be at most ${t} characters`,invalidPattern:e=>`${e.label} format is invalid`,minValue:(e,t)=>`${e.label} must be at least ${t}`,maxValue:(e,t)=>`${e.label} must be at most ${t}`,mustBeInteger:e=>`${e.label} must be an integer`,invalidDate:e=>`${e.label} must be a valid date`,invalidOption:(e,t)=>`${e.label} must be one of: ${t.join(`, `)}`,invalidId:e=>`${e.label} must be a valid ID`,maxItems:(e,t)=>`${e.label} must have at most ${t} item${t>1?`s`:``}`,invalidRichtext:e=>`${e.label} must be valid rich text content`,invalidPhone:e=>`${e.label} must be a valid phone number`,invalidCurrency:e=>`${e.label} must be a valid currency value`,invalidLocation:e=>`${e.label} must be a valid location`};function formatZodErrors(e){return e.issues.map(e=>({path:e.path.map(String),message:e.message}))}export{e as DEFAULT_VALIDATION_MESSAGES,formatZodErrors};
@@ -1,7 +1,7 @@
1
1
 
2
- import { u as DateAttribute } from "./attributes-D35Lcoui.js";
3
- import { r as ValidationMessages } from "./index-BLXzRQr9.js";
4
- import { z as z$1 } from "zod";
2
+ import { DateAttribute } from "./attributes-eqr1vdPP.mjs";
3
+ import { ValidationMessages } from "./index-zJz3LbXr.mjs";
4
+ import * as z$2 from "zod";
5
5
  //#region src/validation/primitives/date.d.ts
6
6
  /**
7
7
  * Create a Zod schema for a date attribute.
@@ -19,6 +19,5 @@ import { z as z$1 } from "zod";
19
19
  * of ISO strings), never a coerced `Date`. This keeps the stored shape intact
20
20
  * for callers that persist `validator.safeParse(value).data`.
21
21
  */
22
- declare function createDateValidator(attr: DateAttribute, messages?: ValidationMessages): z$1.ZodTypeAny;
23
- //#endregion
24
- export { createDateValidator as t };
22
+ export declare function createDateValidator(attr: DateAttribute, messages?: ValidationMessages): z$2.ZodTypeAny;
23
+ //#endregion
@@ -1,7 +1,7 @@
1
1
 
2
- import { u as DateAttribute } from "./attributes-CZD_B0mZ.mjs";
3
- import { r as ValidationMessages } from "./index-CSDAHifu.mjs";
4
- import { z as z$1 } from "zod";
2
+ import { DateAttribute } from "./attributes-BcA_reJZ.js";
3
+ import { ValidationMessages } from "./index-CCH94vyR.js";
4
+ import * as z$2 from "zod";
5
5
  //#region src/validation/primitives/date.d.ts
6
6
  /**
7
7
  * Create a Zod schema for a date attribute.
@@ -19,6 +19,5 @@ import { z as z$1 } from "zod";
19
19
  * of ISO strings), never a coerced `Date`. This keeps the stored shape intact
20
20
  * for callers that persist `validator.safeParse(value).data`.
21
21
  */
22
- declare function createDateValidator(attr: DateAttribute, messages?: ValidationMessages): z$1.ZodTypeAny;
23
- //#endregion
24
- export { createDateValidator as t };
22
+ export declare function createDateValidator(attr: DateAttribute, messages?: ValidationMessages): z$2.ZodTypeAny;
23
+ //#endregion