@api-client/core 0.18.63 → 0.18.64

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 (35) hide show
  1. package/build/src/modeling/ai/Semantics.d.ts +7 -0
  2. package/build/src/modeling/ai/Semantics.d.ts.map +1 -0
  3. package/build/src/modeling/ai/Semantics.js +552 -0
  4. package/build/src/modeling/ai/Semantics.js.map +1 -0
  5. package/build/src/modeling/definitions/Calculated.d.ts +1 -1
  6. package/build/src/modeling/definitions/Calculated.js.map +1 -1
  7. package/build/src/modeling/definitions/Country.d.ts +1 -1
  8. package/build/src/modeling/definitions/Country.js.map +1 -1
  9. package/build/src/modeling/definitions/Derived.d.ts +1 -1
  10. package/build/src/modeling/definitions/Derived.js.map +1 -1
  11. package/build/src/modeling/definitions/Description.d.ts +0 -1
  12. package/build/src/modeling/definitions/Description.d.ts.map +1 -1
  13. package/build/src/modeling/definitions/Description.js.map +1 -1
  14. package/build/src/modeling/definitions/Email.d.ts +5 -1
  15. package/build/src/modeling/definitions/Email.d.ts.map +1 -1
  16. package/build/src/modeling/definitions/Email.js.map +1 -1
  17. package/build/src/modeling/definitions/HTML.d.ts +0 -22
  18. package/build/src/modeling/definitions/HTML.d.ts.map +1 -1
  19. package/build/src/modeling/definitions/HTML.js +0 -1
  20. package/build/src/modeling/definitions/HTML.js.map +1 -1
  21. package/build/src/modeling/definitions/Markdown.d.ts +0 -16
  22. package/build/src/modeling/definitions/Markdown.d.ts.map +1 -1
  23. package/build/src/modeling/definitions/Markdown.js +0 -1
  24. package/build/src/modeling/definitions/Markdown.js.map +1 -1
  25. package/build/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +1 -1
  27. package/src/modeling/ai/Semantics.ts +597 -0
  28. package/src/modeling/ai/readme.md +7 -0
  29. package/src/modeling/definitions/Calculated.ts +1 -1
  30. package/src/modeling/definitions/Country.ts +1 -1
  31. package/src/modeling/definitions/Derived.ts +1 -1
  32. package/src/modeling/definitions/Description.ts +0 -1
  33. package/src/modeling/definitions/Email.ts +5 -1
  34. package/src/modeling/definitions/HTML.ts +0 -23
  35. package/src/modeling/definitions/Markdown.ts +0 -17
@@ -0,0 +1,7 @@
1
+ import { SemanticType } from '../Semantics.js';
2
+ /**
3
+ * JSON Schema definition of the configuration options for AI/LLMs
4
+ * to understand what parameters are available on this Semantic.
5
+ */
6
+ export declare const AiSemanticsConfig: Record<SemanticType, Record<string, unknown>>;
7
+ //# sourceMappingURL=Semantics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Semantics.d.ts","sourceRoot":"","sources":["../../../../src/modeling/ai/Semantics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8kB3E,CAAA"}
@@ -0,0 +1,552 @@
1
+ import { SemanticType } from '../Semantics.js';
2
+ /**
3
+ * JSON Schema definition of the configuration options for AI/LLMs
4
+ * to understand what parameters are available on this Semantic.
5
+ */
6
+ export const AiSemanticsConfig = {
7
+ [SemanticType.Address]: {
8
+ type: 'object',
9
+ properties: {},
10
+ },
11
+ [SemanticType.Calculated]: {
12
+ type: 'object',
13
+ description: 'Use Calculated when you need mathematical operations, aggregations, or complex business logic.',
14
+ properties: {
15
+ formula: {
16
+ type: 'string',
17
+ description: 'Formula to calculate the value (e.g., "price * quantity").',
18
+ },
19
+ dependencies: {
20
+ type: 'array',
21
+ items: { type: 'string' },
22
+ description: 'List of field keys this calculation depends on.',
23
+ },
24
+ recalculateOnUpdate: {
25
+ type: 'boolean',
26
+ default: true,
27
+ description: 'Whether to automatically recalculate when source fields change.',
28
+ },
29
+ allowManualOverride: {
30
+ type: 'boolean',
31
+ default: false,
32
+ description: 'Whether users can manually override the calculated value.',
33
+ },
34
+ },
35
+ },
36
+ [SemanticType.Categories]: {
37
+ type: 'object',
38
+ description: 'Controls allowed categories, hierarchy, and formatting for associations.',
39
+ properties: {
40
+ allowedCategories: {
41
+ type: 'array',
42
+ items: { type: 'string' },
43
+ description: 'Pre-defined list of allowed categories.',
44
+ },
45
+ allowCustomCategories: {
46
+ type: 'boolean',
47
+ default: true,
48
+ description: 'Whether users can create new categories not in the allowed list.',
49
+ },
50
+ allowHierarchy: {
51
+ type: 'boolean',
52
+ default: true,
53
+ description: 'Whether categories can have sub-categories (parent-child relationship).',
54
+ },
55
+ maxDepth: { type: 'number', description: 'Maximum nesting depth for category hierarchies.' },
56
+ caseSensitive: { type: 'boolean', default: false },
57
+ allowUnicode: { type: 'boolean', default: false },
58
+ },
59
+ },
60
+ [SemanticType.City]: {
61
+ type: 'object',
62
+ properties: {},
63
+ },
64
+ [SemanticType.ClientIPAddress]: {
65
+ type: 'object',
66
+ properties: {},
67
+ },
68
+ [SemanticType.Country]: {
69
+ type: 'object',
70
+ properties: {
71
+ format: {
72
+ type: 'string',
73
+ enum: ['ISO_3166_Alpha_2', 'ISO_3166_Alpha_3', 'Name'],
74
+ default: 'ISO_3166_Alpha_2',
75
+ description: 'Format to store the country in. Alpha_2 is standard 2-letter code (e.g. US), ' +
76
+ 'Alpha_3 is 3-letter (e.g. USA), Name is full name.',
77
+ },
78
+ allowedCountries: {
79
+ type: 'array',
80
+ items: { type: 'string' },
81
+ description: 'List of allowed countries in the specified format. If empty, all are allowed.',
82
+ },
83
+ disallowedCountries: {
84
+ type: 'array',
85
+ items: { type: 'string' },
86
+ description: 'List of explicitly forbidden countries.',
87
+ },
88
+ },
89
+ },
90
+ [SemanticType.CreatedTimestamp]: {
91
+ type: 'object',
92
+ properties: {},
93
+ },
94
+ [SemanticType.Currency]: {
95
+ type: 'object',
96
+ description: 'Controls monetary value storage, validation, currency handling, and precision.',
97
+ properties: {
98
+ storageFormat: {
99
+ type: 'string',
100
+ enum: ['decimal', 'integer_cents', 'complex_object'],
101
+ default: 'decimal',
102
+ description: 'Format to store currency. decimal relies on decimal floating points, ' +
103
+ 'integer_cents stores values as an integer of cents, and ' +
104
+ 'complex_object stores both amount and currency code.',
105
+ },
106
+ defaultCurrency: {
107
+ type: 'string',
108
+ default: 'USD',
109
+ description: 'Default ISO 4217 currency code if none is provided.',
110
+ },
111
+ allowedCurrencies: {
112
+ type: 'array',
113
+ items: { type: 'string' },
114
+ description: 'List of allowed ISO 4217 currency codes. If empty, all are allowed.',
115
+ },
116
+ decimalPlaces: { type: 'number', default: 2, description: 'Number of decimal places to enforce/round to.' },
117
+ allowNegative: { type: 'boolean', default: false, description: 'Whether to allow negative currency values.' },
118
+ validateCurrencyCode: {
119
+ type: 'boolean',
120
+ default: true,
121
+ description: 'Whether to validate the currency code against standard ISO codes.',
122
+ },
123
+ },
124
+ },
125
+ [SemanticType.DeletedFlag]: {
126
+ type: 'object',
127
+ properties: {},
128
+ },
129
+ [SemanticType.DeletedTimestamp]: {
130
+ type: 'object',
131
+ properties: {},
132
+ },
133
+ [SemanticType.Derived]: {
134
+ type: 'object',
135
+ description: 'Use Derived when you need to combine, format, or transform existing field values',
136
+ properties: {
137
+ sourceFields: {
138
+ type: 'array',
139
+ items: { type: 'string' },
140
+ description: 'Array of field keys that this derived field depends on.',
141
+ },
142
+ transformation: {
143
+ type: 'string',
144
+ description: 'Name of a transformation function to apply to the source fields.',
145
+ },
146
+ recalculateOnUpdate: {
147
+ type: 'boolean',
148
+ default: true,
149
+ description: 'Whether to automatically recalculate when source fields change.',
150
+ },
151
+ allowManualOverride: {
152
+ type: 'boolean',
153
+ default: false,
154
+ description: 'Whether users can manually override the derived value.',
155
+ },
156
+ },
157
+ },
158
+ [SemanticType.Description]: {
159
+ type: 'object',
160
+ description: "The description field doesn't have any configuration options.",
161
+ properties: {},
162
+ },
163
+ [SemanticType.Email]: {
164
+ type: 'object',
165
+ properties: {
166
+ allowedDomains: {
167
+ type: 'array',
168
+ items: { type: 'string' },
169
+ description: 'List of allowed domains (e.g. example.com). If empty, all valid domains are permitted.',
170
+ },
171
+ disallowedDomains: {
172
+ type: 'array',
173
+ items: { type: 'string' },
174
+ description: 'List of disallowed domains (e.g. example.com).',
175
+ },
176
+ requireVerification: {
177
+ type: 'boolean',
178
+ default: true,
179
+ description: 'Whether the email address requires a verification confirm loop.',
180
+ },
181
+ allowSubaddressing: {
182
+ type: 'boolean',
183
+ default: true,
184
+ description: 'Whether to allow plus addressing e.g. user+tag@example.com',
185
+ },
186
+ allowInternational: {
187
+ type: 'boolean',
188
+ default: true,
189
+ description: 'Whether to allow internationalized domain names and characters in the local part.',
190
+ },
191
+ },
192
+ },
193
+ [SemanticType.FileURL]: {
194
+ type: 'object',
195
+ properties: {},
196
+ },
197
+ [SemanticType.GeospatialCoordinates]: {
198
+ type: 'object',
199
+ properties: {
200
+ format: {
201
+ type: 'string',
202
+ enum: ['lat,lon', 'lon,lat', 'postgis', 'degree', 'wkt', 'geojson'],
203
+ default: 'lat,lon',
204
+ },
205
+ spatialReferenceSystem: {
206
+ type: 'string',
207
+ enum: ['EPSG:4326', 'EPSG:3857', 'EPSG:4269', 'EPSG:4267'],
208
+ default: 'EPSG:4326',
209
+ description: 'The spatial reference system (SRS) for the coordinates. Defaults to WGS84 (EPSG:4326).',
210
+ },
211
+ defaultDistanceUnit: {
212
+ type: 'string',
213
+ enum: ['meters', 'kilometers', 'miles', 'feet', 'yards', 'nautical_miles'],
214
+ default: 'meters',
215
+ description: 'The default distance unit for spatial queries.',
216
+ },
217
+ enableSpatialIndexing: { type: 'boolean', default: true },
218
+ enableValidation: { type: 'boolean', default: true },
219
+ validationBounds: {
220
+ type: 'object',
221
+ properties: {
222
+ minLatitude: { type: 'number' },
223
+ maxLatitude: { type: 'number' },
224
+ minLongitude: { type: 'number' },
225
+ maxLongitude: { type: 'number' },
226
+ },
227
+ description: 'Custom validation rules for coordinate bounds in decimal degrees.',
228
+ },
229
+ enablePostGISIntegration: { type: 'boolean', default: true },
230
+ postGISGeometryType: {
231
+ type: 'string',
232
+ enum: ['POINT', 'LINESTRING', 'POLYGON', 'MULTIPOINT', 'MULTILINESTRING', 'MULTIPOLYGON'],
233
+ default: 'POINT',
234
+ description: 'The PostGIS geometry type to use for storage. Defines the shape of the data and the types of queries.',
235
+ },
236
+ enableDistanceQueries: { type: 'boolean', default: true },
237
+ maxQueryDistance: { type: 'number', default: 100000 },
238
+ enableBoundingBoxQueries: { type: 'boolean', default: true },
239
+ enablePolygonQueries: { type: 'boolean', default: false },
240
+ apiEndpointPrefix: { type: 'string', default: '/nearby' },
241
+ includeElevation: { type: 'boolean', default: false },
242
+ coordinatePrecision: { type: 'number', default: 6 },
243
+ enableReverseGeocoding: { type: 'boolean', default: false },
244
+ },
245
+ },
246
+ [SemanticType.HTML]: {
247
+ type: 'object',
248
+ properties: {
249
+ allowedTags: {
250
+ type: 'array',
251
+ items: { type: 'string' },
252
+ description: 'List of allowed HTML tags. Tags not in this list will be stripped.',
253
+ },
254
+ sanitizeLevel: {
255
+ type: 'string',
256
+ enum: ['strict', 'moderate', 'none'],
257
+ default: 'strict',
258
+ description: 'Sanitization level. Strict removes almost all styling and scripts. ' +
259
+ 'Moderate allows some unsafe constructs like scripts. None bypasses sanitization.',
260
+ },
261
+ allowImages: { type: 'boolean', default: true },
262
+ allowLinks: { type: 'boolean', default: true },
263
+ allowTables: { type: 'boolean', default: true },
264
+ allowForms: { type: 'boolean', default: false },
265
+ allowScripts: { type: 'boolean', default: false },
266
+ allowIframes: { type: 'boolean', default: false },
267
+ allowEmbedded: { type: 'boolean', default: false },
268
+ allowStyles: { type: 'boolean', default: false },
269
+ allowDataAttributes: { type: 'boolean', default: false },
270
+ },
271
+ },
272
+ [SemanticType.ImageURL]: {
273
+ type: 'object',
274
+ properties: {},
275
+ },
276
+ [SemanticType.Markdown]: {
277
+ type: 'object',
278
+ properties: {
279
+ allowedTags: { type: 'array', items: { type: 'string' }, description: 'Allowed HTML tags within the Markdown.' },
280
+ sanitizeLevel: {
281
+ type: 'string',
282
+ enum: ['strict', 'moderate', 'none'],
283
+ default: 'strict',
284
+ description: 'Sanitization level for HTML within Markdown. Strict removes all. ' +
285
+ 'Moderate allows basic formatting tags. None bypasses sanitization.',
286
+ },
287
+ allowImages: { type: 'boolean', default: true },
288
+ allowLinks: { type: 'boolean', default: true },
289
+ allowTables: { type: 'boolean', default: true },
290
+ allowHtml: { type: 'boolean', default: false },
291
+ allowFootnotes: { type: 'boolean', default: false },
292
+ allowTaskLists: { type: 'boolean', default: false },
293
+ allowStrikethrough: { type: 'boolean', default: true },
294
+ allowMath: { type: 'boolean', default: false },
295
+ },
296
+ },
297
+ [SemanticType.Name]: {
298
+ type: 'object',
299
+ properties: {},
300
+ },
301
+ [SemanticType.Password]: {
302
+ type: 'object',
303
+ properties: {
304
+ requireSpecialChars: { type: 'boolean', default: false },
305
+ requireNumbers: { type: 'boolean', default: false },
306
+ requireUppercase: { type: 'boolean', default: false },
307
+ requireLowercase: { type: 'boolean', default: false },
308
+ encryptionAlgorithm: {
309
+ type: 'string',
310
+ enum: ['bcrypt', 'argon2', 'scrypt'],
311
+ default: 'bcrypt',
312
+ description: 'The algorithm used to hash the password before storage.',
313
+ },
314
+ saltRounds: {
315
+ type: 'number',
316
+ default: 12,
317
+ description: 'Work factor for hashing algorithms like bcrypt or argon2.',
318
+ },
319
+ maxAge: { type: 'number', description: 'Maximum age in days before the password expires.' },
320
+ preventReuse: { type: 'boolean', default: false, description: 'Whether to prevent reuse of previous passwords.' },
321
+ preventReuseCount: {
322
+ type: 'number',
323
+ default: 5,
324
+ description: 'Number of previous passwords to remember and prevent reuse of.',
325
+ },
326
+ customPattern: { type: 'string', description: 'Custom regex pattern for password validation.' },
327
+ customErrorMessage: { type: 'string' },
328
+ allowCommonPasswords: {
329
+ type: 'boolean',
330
+ default: false,
331
+ description: 'Whether to check against dictionaries of common/compromised passwords.',
332
+ },
333
+ },
334
+ },
335
+ [SemanticType.Phone]: {
336
+ type: 'object',
337
+ properties: {
338
+ allowedCountries: {
339
+ type: 'array',
340
+ items: { type: 'string' },
341
+ description: 'List of allowed country codes (ISO 3166-1 alpha-2 format).',
342
+ },
343
+ requireCountryCode: {
344
+ type: 'boolean',
345
+ default: true,
346
+ description: 'Whether the phone number must include a country code.',
347
+ },
348
+ format: {
349
+ type: 'string',
350
+ enum: ['national', 'international', 'custom'],
351
+ default: 'international',
352
+ description: 'Format for phone validation and display. national omits country code, ' +
353
+ 'international uses E.164 (+1...), custom uses customFormat pattern.',
354
+ },
355
+ customFormat: {
356
+ type: 'string',
357
+ description: 'Custom pattern like "(###) ###-####"; only used when format is custom.',
358
+ },
359
+ allowExtension: { type: 'boolean', default: false },
360
+ requireVerification: { type: 'boolean', default: false },
361
+ verificationMethod: { type: 'string', enum: ['sms', 'call'], default: 'sms' },
362
+ },
363
+ },
364
+ [SemanticType.PostalCode]: {
365
+ type: 'object',
366
+ properties: {
367
+ validate: { type: 'boolean', default: false, description: 'Whether to validate the postal code format.' },
368
+ allowedPostalCodes: {
369
+ type: 'array',
370
+ items: { type: 'string' },
371
+ description: 'List of exactly allowed postal codes.',
372
+ },
373
+ disallowedPostalCodes: {
374
+ type: 'array',
375
+ items: { type: 'string' },
376
+ description: 'List of explicitly forbidden postal codes.',
377
+ },
378
+ },
379
+ },
380
+ [SemanticType.PublicUniqueName]: {
381
+ type: 'object',
382
+ properties: {
383
+ sourceField: { type: 'string', description: 'The field to derive the public unique name from.' },
384
+ separator: {
385
+ type: 'string',
386
+ default: '-',
387
+ description: 'Character used to replace spaces or combine multiple words (e.g. "-" for slugs).',
388
+ },
389
+ caseSensitive: { type: 'boolean', default: false },
390
+ allowUnicode: { type: 'boolean', default: false, description: 'Whether to allow non-ASCII characters.' },
391
+ allowDuplicates: {
392
+ type: 'boolean',
393
+ default: false,
394
+ description: 'Whether to append random suffix if the name is already taken. Defaults to failing uniqueness.',
395
+ },
396
+ fallbackField: { type: 'string', description: 'A field to use if the source field is empty.' },
397
+ },
398
+ },
399
+ [SemanticType.Region]: {
400
+ type: 'object',
401
+ properties: {},
402
+ },
403
+ [SemanticType.ResourceOwnerIdentifier]: {
404
+ type: 'object',
405
+ properties: {},
406
+ },
407
+ [SemanticType.SKU]: {
408
+ type: 'object',
409
+ properties: {
410
+ validationMode: {
411
+ type: 'string',
412
+ enum: ['strict', 'lenient', 'custom'],
413
+ default: 'strict',
414
+ description: 'Validation strictness. strict enforces alphanumeric + hyphens/underscores. ' +
415
+ 'lenient allows more special chars. custom uses customPattern.',
416
+ },
417
+ customPattern: { type: 'string', description: 'Regex pattern applied when validationMode is custom.' },
418
+ caseMode: { type: 'string', enum: ['uppercase', 'lowercase', 'preserve'], default: 'uppercase' },
419
+ prefix: { type: 'string', description: 'Required prefix for all SKUs.' },
420
+ enforceUniqueness: { type: 'boolean', default: true },
421
+ autoGenerate: { type: 'boolean', default: false, description: 'Whether to automatically generate the SKU.' },
422
+ autoGenerateSource: { type: 'string', description: 'Field to derive the SKU from, if autoGenerate is true.' },
423
+ validateReservedWords: { type: 'boolean', default: true },
424
+ reservedValues: {
425
+ type: 'array',
426
+ items: { type: 'string' },
427
+ description: 'Specific SKUs that are not permitted to be used.',
428
+ },
429
+ },
430
+ },
431
+ [SemanticType.Status]: {
432
+ type: 'object',
433
+ properties: {
434
+ allowedStates: {
435
+ type: 'array',
436
+ items: { type: 'string' },
437
+ description: 'Pre-defined list of valid states (e.g., draft, published, archived).',
438
+ },
439
+ defaultState: { type: 'string', description: 'The initial state assigned when an entity is created.' },
440
+ transitions: {
441
+ type: 'object',
442
+ additionalProperties: { type: 'array', items: { type: 'string' } },
443
+ description: 'Map representing allowed state transitions. ' +
444
+ 'Key is current state and value is array of valid next states.',
445
+ },
446
+ stateBehaviors: {
447
+ type: 'object',
448
+ additionalProperties: {
449
+ type: 'object',
450
+ properties: {
451
+ isPublic: { type: 'boolean', default: true },
452
+ isEditable: { type: 'boolean', default: true },
453
+ isDeletable: { type: 'boolean', default: false },
454
+ requiresApproval: { type: 'boolean', default: false },
455
+ displayName: { type: 'string' },
456
+ description: { type: 'string' },
457
+ color: { type: 'string' },
458
+ icon: { type: 'string' },
459
+ },
460
+ },
461
+ },
462
+ workflow: {
463
+ type: 'object',
464
+ properties: {
465
+ requiresApproval: { type: 'boolean', default: false },
466
+ approvalRoles: { type: 'array', items: { type: 'string' } },
467
+ sendNotifications: { type: 'boolean', default: false },
468
+ notificationChannels: {
469
+ type: 'array',
470
+ items: {
471
+ type: 'string',
472
+ enum: ['email', 'sms', 'push', 'webhook'],
473
+ },
474
+ },
475
+ logHistory: { type: 'boolean', default: true },
476
+ allowBulkChanges: { type: 'boolean', default: false },
477
+ },
478
+ },
479
+ autoTransitions: {
480
+ type: 'array',
481
+ items: {
482
+ type: 'object',
483
+ properties: {
484
+ from: { type: 'string' },
485
+ to: { type: 'string' },
486
+ condition: { type: 'string' },
487
+ requiresApproval: { type: 'boolean', default: false },
488
+ },
489
+ required: ['from', 'to', 'condition'],
490
+ },
491
+ },
492
+ },
493
+ },
494
+ [SemanticType.StreetAddress]: {
495
+ type: 'object',
496
+ properties: {},
497
+ },
498
+ [SemanticType.StreetAddressSupplemental]: {
499
+ type: 'object',
500
+ properties: {},
501
+ },
502
+ [SemanticType.Summary]: {
503
+ type: 'object',
504
+ properties: {},
505
+ },
506
+ [SemanticType.Tags]: {
507
+ type: 'object',
508
+ properties: {
509
+ allowedTags: { type: 'array', items: { type: 'string' } },
510
+ allowCustomTags: { type: 'boolean', default: true },
511
+ caseSensitive: { type: 'boolean', default: false },
512
+ allowUnicode: { type: 'boolean', default: false },
513
+ },
514
+ },
515
+ [SemanticType.Title]: {
516
+ type: 'object',
517
+ properties: {},
518
+ },
519
+ [SemanticType.UpdatedTimestamp]: {
520
+ type: 'object',
521
+ properties: {},
522
+ },
523
+ [SemanticType.URL]: {
524
+ type: 'object',
525
+ properties: {
526
+ requireHttps: { type: 'boolean', default: false },
527
+ allowQueryParams: { type: 'boolean', default: true },
528
+ allowFragments: { type: 'boolean', default: true },
529
+ allowInternational: { type: 'boolean', default: true },
530
+ allowIP: { type: 'boolean', default: true },
531
+ allowPort: { type: 'boolean', default: true },
532
+ allowAuthentication: { type: 'boolean', default: false },
533
+ },
534
+ },
535
+ [SemanticType.User]: {
536
+ type: 'object',
537
+ properties: {},
538
+ },
539
+ [SemanticType.Username]: {
540
+ type: 'object',
541
+ properties: {},
542
+ },
543
+ [SemanticType.UserRole]: {
544
+ type: 'object',
545
+ properties: {},
546
+ },
547
+ [SemanticType.Version]: {
548
+ type: 'object',
549
+ properties: {},
550
+ },
551
+ };
552
+ //# sourceMappingURL=Semantics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Semantics.js","sourceRoot":"","sources":["../../../../src/modeling/ai/Semantics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkD;IAC9E,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QACtB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;QACzB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gGAAgG;QAC7G,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4DAA4D;aAC1E;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,iDAAiD;aAC/D;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,iEAAiE;aAC/E;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,2DAA2D;aACzE;SACF;KACF;IAED,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;QACzB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0EAA0E;QACvF,UAAU,EAAE;YACV,iBAAiB,EAAE;gBACjB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,yCAAyC;aACvD;YACD,qBAAqB,EAAE;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,kEAAkE;aAChF;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,yEAAyE;aACvF;YACD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;YAC5F,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAClD,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SAClD;KACF;IAED,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE;QAC9B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QACtB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,CAAC;gBACtD,OAAO,EAAE,kBAAkB;gBAC3B,WAAW,EACT,+EAA+E;oBAC/E,oDAAoD;aACvD;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,+EAA+E;aAC7F;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,yCAAyC;aACvD;SACF;KACF;IAED,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gFAAgF;QAC7F,UAAU,EAAE;YACV,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,gBAAgB,CAAC;gBACpD,OAAO,EAAE,SAAS;gBAClB,WAAW,EACT,uEAAuE;oBACvE,0DAA0D;oBAC1D,sDAAsD;aACzD;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,qDAAqD;aACnE;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,qEAAqE;aACnF;YACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE;YAC3G,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,4CAA4C,EAAE;YAC7G,oBAAoB,EAAE;gBACpB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,mEAAmE;aACjF;SACF;KACF;IAED,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;QAC1B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QACtB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kFAAkF;QAC/F,UAAU,EAAE;YACV,YAAY,EAAE;gBACZ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,yDAAyD;aACvE;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kEAAkE;aAChF;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,iEAAiE;aAC/E;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,wDAAwD;aACtE;SACF;KACF;IAED,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;QAC1B,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+DAA+D;QAC5E,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QACpB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,cAAc,EAAE;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,wFAAwF;aACtG;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,gDAAgD;aAC9D;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,iEAAiE;aAC/E;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,4DAA4D;aAC1E;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,mFAAmF;aACjG;SACF;KACF;IAED,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QACtB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC;gBACnE,OAAO,EAAE,SAAS;aACnB;YACD,sBAAsB,EAAE;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;gBAC1D,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,wFAAwF;aACtG;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC;gBAC1E,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,gDAAgD;aAC9D;YACD,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACzD,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACpD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACjC;gBACD,WAAW,EAAE,mEAAmE;aACjF;YACD,wBAAwB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC5D,mBAAmB,EAAE;gBACnB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,CAAC;gBACzF,OAAO,EAAE,OAAO;gBAChB,WAAW,EACT,uGAAuG;aAC1G;YACD,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACzD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YACrD,wBAAwB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC5D,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACzD,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;YACzD,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACrD,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;YACnD,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SAC5D;KACF;IAED,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,oEAAoE;aAClF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC;gBACpC,OAAO,EAAE,QAAQ;gBACjB,WAAW,EACT,qEAAqE;oBACrE,kFAAkF;aACrF;YACD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC/C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC9C,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC/C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAC/C,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACjD,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACjD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAClD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAChD,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SACzD;KACF;IAED,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,wCAAwC,EAAE;YAChH,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC;gBACpC,OAAO,EAAE,QAAQ;gBACjB,WAAW,EACT,mEAAmE;oBACnE,oEAAoE;aACvE;YACD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC/C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC9C,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC/C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAC9C,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACnD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACnD,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACtD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SAC/C;KACF;IAED,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACxD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACnD,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACrD,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACrD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBACpC,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,yDAAyD;aACvE;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,2DAA2D;aACzE;YACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;YAC3F,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,iDAAiD,EAAE;YACjH,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,gEAAgE;aAC9E;YACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;YAC/F,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,oBAAoB,EAAE;gBACpB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,wEAAwE;aACtF;SACF;KACF;IAED,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QACpB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,gBAAgB,EAAE;gBAChB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,4DAA4D;aAC1E;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,uDAAuD;aACrE;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC;gBAC7C,OAAO,EAAE,eAAe;gBACxB,WAAW,EACT,wEAAwE;oBACxE,qEAAqE;aACxE;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wEAAwE;aACtF;YACD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACnD,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACxD,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;SAC9E;KACF;IAED,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;QACzB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,6CAA6C,EAAE;YACzG,kBAAkB,EAAE;gBAClB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,uCAAuC;aACrD;YACD,qBAAqB,EAAE;gBACrB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,4CAA4C;aAC1D;SACF;KACF;IAED,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;YAChG,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG;gBACZ,WAAW,EAAE,kFAAkF;aAChG;YACD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAClD,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,wCAAwC,EAAE;YACxG,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,+FAA+F;aAC7G;YACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;SAC/F;KACF;IAED,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QACrB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE;QACtC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;QAClB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACrC,OAAO,EAAE,QAAQ;gBACjB,WAAW,EACT,6EAA6E;oBAC7E,+DAA+D;aAClE;YACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sDAAsD,EAAE;YACtG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE;YAChG,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;YACxE,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACrD,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,4CAA4C,EAAE;YAC5G,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wDAAwD,EAAE;YAC7G,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACzD,cAAc,EAAE;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,kDAAkD;aAChE;SACF;KACF;IAED,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QACrB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,sEAAsE;aACpF;YACD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;YACtG,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAClE,WAAW,EACT,8CAA8C;oBAC9C,+DAA+D;aAClE;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE;oBACpB,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;wBAC5C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;wBAC9C,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;wBAChD,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;wBACrD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACzB;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;oBACrD,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;oBAC3D,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;oBACtD,oBAAoB,EAAE;wBACpB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;yBAC1C;qBACF;oBACD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;oBAC9C,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;iBACtD;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACxB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACtB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC7B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;qBACtD;oBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC;iBACtC;aACF;SACF;KACF;IAED,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;QAC5B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE;QACxC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QACtB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACzD,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACnD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAClD,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SAClD;KACF;IAED,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QACpB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;QAClB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACjD,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACpD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAClD,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACtD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC7C,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SACzD;KACF;IAED,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IAED,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QACtB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;CACF,CAAA","sourcesContent":["import { SemanticType } from '../Semantics.js'\n\n/**\n * JSON Schema definition of the configuration options for AI/LLMs\n * to understand what parameters are available on this Semantic.\n */\nexport const AiSemanticsConfig: Record<SemanticType, Record<string, unknown>> = {\n [SemanticType.Address]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.Calculated]: {\n type: 'object',\n description: 'Use Calculated when you need mathematical operations, aggregations, or complex business logic.',\n properties: {\n formula: {\n type: 'string',\n description: 'Formula to calculate the value (e.g., \"price * quantity\").',\n },\n dependencies: {\n type: 'array',\n items: { type: 'string' },\n description: 'List of field keys this calculation depends on.',\n },\n recalculateOnUpdate: {\n type: 'boolean',\n default: true,\n description: 'Whether to automatically recalculate when source fields change.',\n },\n allowManualOverride: {\n type: 'boolean',\n default: false,\n description: 'Whether users can manually override the calculated value.',\n },\n },\n },\n\n [SemanticType.Categories]: {\n type: 'object',\n description: 'Controls allowed categories, hierarchy, and formatting for associations.',\n properties: {\n allowedCategories: {\n type: 'array',\n items: { type: 'string' },\n description: 'Pre-defined list of allowed categories.',\n },\n allowCustomCategories: {\n type: 'boolean',\n default: true,\n description: 'Whether users can create new categories not in the allowed list.',\n },\n allowHierarchy: {\n type: 'boolean',\n default: true,\n description: 'Whether categories can have sub-categories (parent-child relationship).',\n },\n maxDepth: { type: 'number', description: 'Maximum nesting depth for category hierarchies.' },\n caseSensitive: { type: 'boolean', default: false },\n allowUnicode: { type: 'boolean', default: false },\n },\n },\n\n [SemanticType.City]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.ClientIPAddress]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.Country]: {\n type: 'object',\n properties: {\n format: {\n type: 'string',\n enum: ['ISO_3166_Alpha_2', 'ISO_3166_Alpha_3', 'Name'],\n default: 'ISO_3166_Alpha_2',\n description:\n 'Format to store the country in. Alpha_2 is standard 2-letter code (e.g. US), ' +\n 'Alpha_3 is 3-letter (e.g. USA), Name is full name.',\n },\n allowedCountries: {\n type: 'array',\n items: { type: 'string' },\n description: 'List of allowed countries in the specified format. If empty, all are allowed.',\n },\n disallowedCountries: {\n type: 'array',\n items: { type: 'string' },\n description: 'List of explicitly forbidden countries.',\n },\n },\n },\n\n [SemanticType.CreatedTimestamp]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.Currency]: {\n type: 'object',\n description: 'Controls monetary value storage, validation, currency handling, and precision.',\n properties: {\n storageFormat: {\n type: 'string',\n enum: ['decimal', 'integer_cents', 'complex_object'],\n default: 'decimal',\n description:\n 'Format to store currency. decimal relies on decimal floating points, ' +\n 'integer_cents stores values as an integer of cents, and ' +\n 'complex_object stores both amount and currency code.',\n },\n defaultCurrency: {\n type: 'string',\n default: 'USD',\n description: 'Default ISO 4217 currency code if none is provided.',\n },\n allowedCurrencies: {\n type: 'array',\n items: { type: 'string' },\n description: 'List of allowed ISO 4217 currency codes. If empty, all are allowed.',\n },\n decimalPlaces: { type: 'number', default: 2, description: 'Number of decimal places to enforce/round to.' },\n allowNegative: { type: 'boolean', default: false, description: 'Whether to allow negative currency values.' },\n validateCurrencyCode: {\n type: 'boolean',\n default: true,\n description: 'Whether to validate the currency code against standard ISO codes.',\n },\n },\n },\n\n [SemanticType.DeletedFlag]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.DeletedTimestamp]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.Derived]: {\n type: 'object',\n description: 'Use Derived when you need to combine, format, or transform existing field values',\n properties: {\n sourceFields: {\n type: 'array',\n items: { type: 'string' },\n description: 'Array of field keys that this derived field depends on.',\n },\n transformation: {\n type: 'string',\n description: 'Name of a transformation function to apply to the source fields.',\n },\n recalculateOnUpdate: {\n type: 'boolean',\n default: true,\n description: 'Whether to automatically recalculate when source fields change.',\n },\n allowManualOverride: {\n type: 'boolean',\n default: false,\n description: 'Whether users can manually override the derived value.',\n },\n },\n },\n\n [SemanticType.Description]: {\n type: 'object',\n description: \"The description field doesn't have any configuration options.\",\n properties: {},\n },\n\n [SemanticType.Email]: {\n type: 'object',\n properties: {\n allowedDomains: {\n type: 'array',\n items: { type: 'string' },\n description: 'List of allowed domains (e.g. example.com). If empty, all valid domains are permitted.',\n },\n disallowedDomains: {\n type: 'array',\n items: { type: 'string' },\n description: 'List of disallowed domains (e.g. example.com).',\n },\n requireVerification: {\n type: 'boolean',\n default: true,\n description: 'Whether the email address requires a verification confirm loop.',\n },\n allowSubaddressing: {\n type: 'boolean',\n default: true,\n description: 'Whether to allow plus addressing e.g. user+tag@example.com',\n },\n allowInternational: {\n type: 'boolean',\n default: true,\n description: 'Whether to allow internationalized domain names and characters in the local part.',\n },\n },\n },\n\n [SemanticType.FileURL]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.GeospatialCoordinates]: {\n type: 'object',\n properties: {\n format: {\n type: 'string',\n enum: ['lat,lon', 'lon,lat', 'postgis', 'degree', 'wkt', 'geojson'],\n default: 'lat,lon',\n },\n spatialReferenceSystem: {\n type: 'string',\n enum: ['EPSG:4326', 'EPSG:3857', 'EPSG:4269', 'EPSG:4267'],\n default: 'EPSG:4326',\n description: 'The spatial reference system (SRS) for the coordinates. Defaults to WGS84 (EPSG:4326).',\n },\n defaultDistanceUnit: {\n type: 'string',\n enum: ['meters', 'kilometers', 'miles', 'feet', 'yards', 'nautical_miles'],\n default: 'meters',\n description: 'The default distance unit for spatial queries.',\n },\n enableSpatialIndexing: { type: 'boolean', default: true },\n enableValidation: { type: 'boolean', default: true },\n validationBounds: {\n type: 'object',\n properties: {\n minLatitude: { type: 'number' },\n maxLatitude: { type: 'number' },\n minLongitude: { type: 'number' },\n maxLongitude: { type: 'number' },\n },\n description: 'Custom validation rules for coordinate bounds in decimal degrees.',\n },\n enablePostGISIntegration: { type: 'boolean', default: true },\n postGISGeometryType: {\n type: 'string',\n enum: ['POINT', 'LINESTRING', 'POLYGON', 'MULTIPOINT', 'MULTILINESTRING', 'MULTIPOLYGON'],\n default: 'POINT',\n description:\n 'The PostGIS geometry type to use for storage. Defines the shape of the data and the types of queries.',\n },\n enableDistanceQueries: { type: 'boolean', default: true },\n maxQueryDistance: { type: 'number', default: 100000 },\n enableBoundingBoxQueries: { type: 'boolean', default: true },\n enablePolygonQueries: { type: 'boolean', default: false },\n apiEndpointPrefix: { type: 'string', default: '/nearby' },\n includeElevation: { type: 'boolean', default: false },\n coordinatePrecision: { type: 'number', default: 6 },\n enableReverseGeocoding: { type: 'boolean', default: false },\n },\n },\n\n [SemanticType.HTML]: {\n type: 'object',\n properties: {\n allowedTags: {\n type: 'array',\n items: { type: 'string' },\n description: 'List of allowed HTML tags. Tags not in this list will be stripped.',\n },\n sanitizeLevel: {\n type: 'string',\n enum: ['strict', 'moderate', 'none'],\n default: 'strict',\n description:\n 'Sanitization level. Strict removes almost all styling and scripts. ' +\n 'Moderate allows some unsafe constructs like scripts. None bypasses sanitization.',\n },\n allowImages: { type: 'boolean', default: true },\n allowLinks: { type: 'boolean', default: true },\n allowTables: { type: 'boolean', default: true },\n allowForms: { type: 'boolean', default: false },\n allowScripts: { type: 'boolean', default: false },\n allowIframes: { type: 'boolean', default: false },\n allowEmbedded: { type: 'boolean', default: false },\n allowStyles: { type: 'boolean', default: false },\n allowDataAttributes: { type: 'boolean', default: false },\n },\n },\n\n [SemanticType.ImageURL]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.Markdown]: {\n type: 'object',\n properties: {\n allowedTags: { type: 'array', items: { type: 'string' }, description: 'Allowed HTML tags within the Markdown.' },\n sanitizeLevel: {\n type: 'string',\n enum: ['strict', 'moderate', 'none'],\n default: 'strict',\n description:\n 'Sanitization level for HTML within Markdown. Strict removes all. ' +\n 'Moderate allows basic formatting tags. None bypasses sanitization.',\n },\n allowImages: { type: 'boolean', default: true },\n allowLinks: { type: 'boolean', default: true },\n allowTables: { type: 'boolean', default: true },\n allowHtml: { type: 'boolean', default: false },\n allowFootnotes: { type: 'boolean', default: false },\n allowTaskLists: { type: 'boolean', default: false },\n allowStrikethrough: { type: 'boolean', default: true },\n allowMath: { type: 'boolean', default: false },\n },\n },\n\n [SemanticType.Name]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.Password]: {\n type: 'object',\n properties: {\n requireSpecialChars: { type: 'boolean', default: false },\n requireNumbers: { type: 'boolean', default: false },\n requireUppercase: { type: 'boolean', default: false },\n requireLowercase: { type: 'boolean', default: false },\n encryptionAlgorithm: {\n type: 'string',\n enum: ['bcrypt', 'argon2', 'scrypt'],\n default: 'bcrypt',\n description: 'The algorithm used to hash the password before storage.',\n },\n saltRounds: {\n type: 'number',\n default: 12,\n description: 'Work factor for hashing algorithms like bcrypt or argon2.',\n },\n maxAge: { type: 'number', description: 'Maximum age in days before the password expires.' },\n preventReuse: { type: 'boolean', default: false, description: 'Whether to prevent reuse of previous passwords.' },\n preventReuseCount: {\n type: 'number',\n default: 5,\n description: 'Number of previous passwords to remember and prevent reuse of.',\n },\n customPattern: { type: 'string', description: 'Custom regex pattern for password validation.' },\n customErrorMessage: { type: 'string' },\n allowCommonPasswords: {\n type: 'boolean',\n default: false,\n description: 'Whether to check against dictionaries of common/compromised passwords.',\n },\n },\n },\n\n [SemanticType.Phone]: {\n type: 'object',\n properties: {\n allowedCountries: {\n type: 'array',\n items: { type: 'string' },\n description: 'List of allowed country codes (ISO 3166-1 alpha-2 format).',\n },\n requireCountryCode: {\n type: 'boolean',\n default: true,\n description: 'Whether the phone number must include a country code.',\n },\n format: {\n type: 'string',\n enum: ['national', 'international', 'custom'],\n default: 'international',\n description:\n 'Format for phone validation and display. national omits country code, ' +\n 'international uses E.164 (+1...), custom uses customFormat pattern.',\n },\n customFormat: {\n type: 'string',\n description: 'Custom pattern like \"(###) ###-####\"; only used when format is custom.',\n },\n allowExtension: { type: 'boolean', default: false },\n requireVerification: { type: 'boolean', default: false },\n verificationMethod: { type: 'string', enum: ['sms', 'call'], default: 'sms' },\n },\n },\n\n [SemanticType.PostalCode]: {\n type: 'object',\n properties: {\n validate: { type: 'boolean', default: false, description: 'Whether to validate the postal code format.' },\n allowedPostalCodes: {\n type: 'array',\n items: { type: 'string' },\n description: 'List of exactly allowed postal codes.',\n },\n disallowedPostalCodes: {\n type: 'array',\n items: { type: 'string' },\n description: 'List of explicitly forbidden postal codes.',\n },\n },\n },\n\n [SemanticType.PublicUniqueName]: {\n type: 'object',\n properties: {\n sourceField: { type: 'string', description: 'The field to derive the public unique name from.' },\n separator: {\n type: 'string',\n default: '-',\n description: 'Character used to replace spaces or combine multiple words (e.g. \"-\" for slugs).',\n },\n caseSensitive: { type: 'boolean', default: false },\n allowUnicode: { type: 'boolean', default: false, description: 'Whether to allow non-ASCII characters.' },\n allowDuplicates: {\n type: 'boolean',\n default: false,\n description: 'Whether to append random suffix if the name is already taken. Defaults to failing uniqueness.',\n },\n fallbackField: { type: 'string', description: 'A field to use if the source field is empty.' },\n },\n },\n\n [SemanticType.Region]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.ResourceOwnerIdentifier]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.SKU]: {\n type: 'object',\n properties: {\n validationMode: {\n type: 'string',\n enum: ['strict', 'lenient', 'custom'],\n default: 'strict',\n description:\n 'Validation strictness. strict enforces alphanumeric + hyphens/underscores. ' +\n 'lenient allows more special chars. custom uses customPattern.',\n },\n customPattern: { type: 'string', description: 'Regex pattern applied when validationMode is custom.' },\n caseMode: { type: 'string', enum: ['uppercase', 'lowercase', 'preserve'], default: 'uppercase' },\n prefix: { type: 'string', description: 'Required prefix for all SKUs.' },\n enforceUniqueness: { type: 'boolean', default: true },\n autoGenerate: { type: 'boolean', default: false, description: 'Whether to automatically generate the SKU.' },\n autoGenerateSource: { type: 'string', description: 'Field to derive the SKU from, if autoGenerate is true.' },\n validateReservedWords: { type: 'boolean', default: true },\n reservedValues: {\n type: 'array',\n items: { type: 'string' },\n description: 'Specific SKUs that are not permitted to be used.',\n },\n },\n },\n\n [SemanticType.Status]: {\n type: 'object',\n properties: {\n allowedStates: {\n type: 'array',\n items: { type: 'string' },\n description: 'Pre-defined list of valid states (e.g., draft, published, archived).',\n },\n defaultState: { type: 'string', description: 'The initial state assigned when an entity is created.' },\n transitions: {\n type: 'object',\n additionalProperties: { type: 'array', items: { type: 'string' } },\n description:\n 'Map representing allowed state transitions. ' +\n 'Key is current state and value is array of valid next states.',\n },\n stateBehaviors: {\n type: 'object',\n additionalProperties: {\n type: 'object',\n properties: {\n isPublic: { type: 'boolean', default: true },\n isEditable: { type: 'boolean', default: true },\n isDeletable: { type: 'boolean', default: false },\n requiresApproval: { type: 'boolean', default: false },\n displayName: { type: 'string' },\n description: { type: 'string' },\n color: { type: 'string' },\n icon: { type: 'string' },\n },\n },\n },\n workflow: {\n type: 'object',\n properties: {\n requiresApproval: { type: 'boolean', default: false },\n approvalRoles: { type: 'array', items: { type: 'string' } },\n sendNotifications: { type: 'boolean', default: false },\n notificationChannels: {\n type: 'array',\n items: {\n type: 'string',\n enum: ['email', 'sms', 'push', 'webhook'],\n },\n },\n logHistory: { type: 'boolean', default: true },\n allowBulkChanges: { type: 'boolean', default: false },\n },\n },\n autoTransitions: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n from: { type: 'string' },\n to: { type: 'string' },\n condition: { type: 'string' },\n requiresApproval: { type: 'boolean', default: false },\n },\n required: ['from', 'to', 'condition'],\n },\n },\n },\n },\n\n [SemanticType.StreetAddress]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.StreetAddressSupplemental]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.Summary]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.Tags]: {\n type: 'object',\n properties: {\n allowedTags: { type: 'array', items: { type: 'string' } },\n allowCustomTags: { type: 'boolean', default: true },\n caseSensitive: { type: 'boolean', default: false },\n allowUnicode: { type: 'boolean', default: false },\n },\n },\n\n [SemanticType.Title]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.UpdatedTimestamp]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.URL]: {\n type: 'object',\n properties: {\n requireHttps: { type: 'boolean', default: false },\n allowQueryParams: { type: 'boolean', default: true },\n allowFragments: { type: 'boolean', default: true },\n allowInternational: { type: 'boolean', default: true },\n allowIP: { type: 'boolean', default: true },\n allowPort: { type: 'boolean', default: true },\n allowAuthentication: { type: 'boolean', default: false },\n },\n },\n\n [SemanticType.User]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.Username]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.UserRole]: {\n type: 'object',\n properties: {},\n },\n\n [SemanticType.Version]: {\n type: 'object',\n properties: {},\n },\n}\n"]}
@@ -12,7 +12,7 @@ export interface CalculatedConfig {
12
12
  */
13
13
  formula: string;
14
14
  /**
15
- * List of field names this calculation depends on.
15
+ * List of field keys this calculation depends on.
16
16
  */
17
17
  dependencies?: string[];
18
18
  /**