@api-client/core 0.15.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/TESTING_READY.md +114 -0
  2. package/TESTING_SETUP.md +198 -0
  3. package/build/src/modeling/Semantics.d.ts +126 -2
  4. package/build/src/modeling/Semantics.d.ts.map +1 -1
  5. package/build/src/modeling/Semantics.js +281 -13
  6. package/build/src/modeling/Semantics.js.map +1 -1
  7. package/build/src/modeling/definitions/Calculated.d.ts +54 -0
  8. package/build/src/modeling/definitions/Calculated.d.ts.map +1 -0
  9. package/build/src/modeling/definitions/Calculated.js +31 -0
  10. package/build/src/modeling/definitions/Calculated.js.map +1 -0
  11. package/build/src/modeling/definitions/Categories.d.ts +60 -0
  12. package/build/src/modeling/definitions/Categories.d.ts.map +1 -0
  13. package/build/src/modeling/definitions/Categories.js +33 -0
  14. package/build/src/modeling/definitions/Categories.js.map +1 -0
  15. package/build/src/modeling/definitions/Derived.d.ts +54 -0
  16. package/build/src/modeling/definitions/Derived.d.ts.map +1 -0
  17. package/build/src/modeling/definitions/Derived.js +31 -0
  18. package/build/src/modeling/definitions/Derived.js.map +1 -0
  19. package/build/src/modeling/definitions/Description.d.ts +36 -0
  20. package/build/src/modeling/definitions/Description.d.ts.map +1 -0
  21. package/build/src/modeling/definitions/Description.js +28 -0
  22. package/build/src/modeling/definitions/Description.js.map +1 -0
  23. package/build/src/modeling/definitions/Email.d.ts +66 -0
  24. package/build/src/modeling/definitions/Email.d.ts.map +1 -0
  25. package/build/src/modeling/definitions/Email.js +33 -0
  26. package/build/src/modeling/definitions/Email.js.map +1 -0
  27. package/build/src/modeling/definitions/GeospatialCoordinates.d.ts +212 -0
  28. package/build/src/modeling/definitions/GeospatialCoordinates.d.ts.map +1 -0
  29. package/build/src/modeling/definitions/GeospatialCoordinates.js +129 -0
  30. package/build/src/modeling/definitions/GeospatialCoordinates.js.map +1 -0
  31. package/build/src/modeling/definitions/HTML.d.ts +88 -0
  32. package/build/src/modeling/definitions/HTML.d.ts.map +1 -0
  33. package/build/src/modeling/definitions/HTML.js +42 -0
  34. package/build/src/modeling/definitions/HTML.js.map +1 -0
  35. package/build/src/modeling/definitions/Markdown.d.ts +84 -0
  36. package/build/src/modeling/definitions/Markdown.d.ts.map +1 -0
  37. package/build/src/modeling/definitions/Markdown.js +41 -0
  38. package/build/src/modeling/definitions/Markdown.js.map +1 -0
  39. package/build/src/modeling/definitions/Password.d.ts +112 -0
  40. package/build/src/modeling/definitions/Password.d.ts.map +1 -0
  41. package/build/src/modeling/definitions/Password.js +57 -0
  42. package/build/src/modeling/definitions/Password.js.map +1 -0
  43. package/build/src/modeling/definitions/Phone.d.ts +83 -0
  44. package/build/src/modeling/definitions/Phone.d.ts.map +1 -0
  45. package/build/src/modeling/definitions/Phone.js +39 -0
  46. package/build/src/modeling/definitions/Phone.js.map +1 -0
  47. package/build/src/modeling/definitions/Price.d.ts +102 -0
  48. package/build/src/modeling/definitions/Price.d.ts.map +1 -0
  49. package/build/src/modeling/definitions/Price.js +99 -0
  50. package/build/src/modeling/definitions/Price.js.map +1 -0
  51. package/build/src/modeling/definitions/PublicUniqueName.d.ts +69 -0
  52. package/build/src/modeling/definitions/PublicUniqueName.d.ts.map +1 -0
  53. package/build/src/modeling/definitions/PublicUniqueName.js +34 -0
  54. package/build/src/modeling/definitions/PublicUniqueName.js.map +1 -0
  55. package/build/src/modeling/definitions/SKU.d.ts +127 -0
  56. package/build/src/modeling/definitions/SKU.d.ts.map +1 -0
  57. package/build/src/modeling/definitions/SKU.js +142 -0
  58. package/build/src/modeling/definitions/SKU.js.map +1 -0
  59. package/build/src/modeling/definitions/Status.d.ts +150 -0
  60. package/build/src/modeling/definitions/Status.d.ts.map +1 -0
  61. package/build/src/modeling/definitions/Status.js +60 -0
  62. package/build/src/modeling/definitions/Status.js.map +1 -0
  63. package/build/src/modeling/definitions/Summary.d.ts +53 -0
  64. package/build/src/modeling/definitions/Summary.d.ts.map +1 -0
  65. package/build/src/modeling/definitions/Summary.js +50 -0
  66. package/build/src/modeling/definitions/Summary.js.map +1 -0
  67. package/build/src/modeling/definitions/Tags.d.ts +52 -0
  68. package/build/src/modeling/definitions/Tags.d.ts.map +1 -0
  69. package/build/src/modeling/definitions/Tags.js +32 -0
  70. package/build/src/modeling/definitions/Tags.js.map +1 -0
  71. package/build/src/modeling/definitions/URL.d.ts +68 -0
  72. package/build/src/modeling/definitions/URL.d.ts.map +1 -0
  73. package/build/src/modeling/definitions/URL.js +37 -0
  74. package/build/src/modeling/definitions/URL.js.map +1 -0
  75. package/build/src/modeling/validation/semantic_validation.d.ts +4 -0
  76. package/build/src/modeling/validation/semantic_validation.d.ts.map +1 -1
  77. package/build/src/modeling/validation/semantic_validation.js +32 -1
  78. package/build/src/modeling/validation/semantic_validation.js.map +1 -1
  79. package/build/tsconfig.tsbuildinfo +1 -1
  80. package/data/models/example-generator-api.json +11 -11
  81. package/package.json +1 -1
  82. package/src/modeling/Semantics.ts +297 -14
  83. package/src/modeling/definitions/Calculated.ts +76 -0
  84. package/src/modeling/definitions/Categories.ts +84 -0
  85. package/src/modeling/definitions/Derived.ts +76 -0
  86. package/src/modeling/definitions/Description.ts +55 -0
  87. package/src/modeling/definitions/Email.ts +90 -0
  88. package/src/modeling/definitions/GeospatialCoordinates.ts +274 -0
  89. package/src/modeling/definitions/HTML.ts +121 -0
  90. package/src/modeling/definitions/Markdown.ts +116 -0
  91. package/src/modeling/definitions/Password.ts +156 -0
  92. package/src/modeling/definitions/Phone.ts +116 -0
  93. package/src/modeling/definitions/Price.examples.md +158 -0
  94. package/src/modeling/definitions/Price.ts +180 -0
  95. package/src/modeling/definitions/PublicUniqueName.ts +98 -0
  96. package/src/modeling/definitions/SKU.examples.md +230 -0
  97. package/src/modeling/definitions/SKU.ts +254 -0
  98. package/src/modeling/definitions/Status.ts +227 -0
  99. package/src/modeling/definitions/Summary.ts +73 -0
  100. package/src/modeling/definitions/Tags.ts +75 -0
  101. package/src/modeling/definitions/URL.ts +96 -0
  102. package/src/modeling/validation/semantic_validation.ts +35 -1
  103. package/tests/example-test-setup.ts +133 -0
  104. package/tests/template-node.spec.ts +75 -0
  105. package/tests/test-utils.ts +293 -0
  106. package/tests/unit/modeling/definitions/calculated.spec.ts +33 -0
  107. package/tests/unit/modeling/definitions/categories.spec.ts +38 -0
  108. package/tests/unit/modeling/definitions/derived.spec.ts +34 -0
  109. package/tests/unit/modeling/definitions/description.spec.ts +38 -0
  110. package/tests/unit/modeling/definitions/email.spec.ts +38 -0
  111. package/tests/unit/modeling/definitions/geospatial-coordinates.spec.ts +41 -0
  112. package/tests/unit/modeling/definitions/html.spec.ts +38 -0
  113. package/tests/unit/modeling/definitions/markdown.spec.ts +38 -0
  114. package/tests/unit/modeling/definitions/password.spec.ts +347 -0
  115. package/tests/unit/modeling/definitions/phone.spec.ts +38 -0
  116. package/tests/unit/modeling/definitions/price.spec.ts +465 -0
  117. package/tests/unit/modeling/definitions/public-unique-name.spec.ts +38 -0
  118. package/tests/unit/modeling/definitions/sku.spec.ts +240 -0
  119. package/tests/unit/modeling/definitions/status.spec.ts +37 -0
  120. package/tests/unit/modeling/definitions/summary.spec.ts +36 -0
  121. package/tests/unit/modeling/definitions/tags.spec.ts +38 -0
  122. package/tests/unit/modeling/definitions/url.spec.ts +38 -0
  123. package/tests/unit/modeling/domain_property.spec.ts +106 -0
  124. package/tests/unit/modeling/domain_validation.spec.ts +5 -5
  125. package/tests/unit/modeling/semantic-configs.spec.ts +569 -0
  126. package/tests/unit/modeling/semantics.spec.ts +52 -0
@@ -0,0 +1,33 @@
1
+ import { SemanticType } from '../Semantics.js';
2
+ /**
3
+ * Type guard to check if a semantic is a Categories semantic.
4
+ */
5
+ export const isCategoriesSemantic = (semantic) => {
6
+ return semantic.id === SemanticType.Categories;
7
+ };
8
+ /**
9
+ * Helper function to create a Categories semantic with configuration.
10
+ */
11
+ export const createCategoriesSemantic = (config = {}) => {
12
+ const mergedConfig = {
13
+ ...DEFAULT_CATEGORIES_CONFIG,
14
+ ...config,
15
+ };
16
+ if (config.metadata) {
17
+ mergedConfig.metadata = { ...config.metadata };
18
+ }
19
+ return {
20
+ id: SemanticType.Categories,
21
+ config: mergedConfig,
22
+ };
23
+ };
24
+ /**
25
+ * Default configuration for Categories semantic.
26
+ */
27
+ export const DEFAULT_CATEGORIES_CONFIG = {
28
+ allowCustomCategories: true,
29
+ allowHierarchy: true,
30
+ caseSensitive: false,
31
+ allowUnicode: false,
32
+ };
33
+ //# sourceMappingURL=Categories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Categories.js","sourceRoot":"","sources":["../../../../src/modeling/definitions/Categories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAiD9C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAA6B,EAAyC,EAAE;IAC3G,OAAO,QAAQ,CAAC,EAAE,KAAK,YAAY,CAAC,UAAU,CAAA;AAChD,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAA2B,EAAE,EAA6B,EAAE;IACnG,MAAM,YAAY,GAAG;QACnB,GAAG,yBAAyB;QAC5B,GAAG,MAAM;KACV,CAAA;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,YAAY,CAAC,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;IAChD,CAAC;IAED,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,UAAU;QAC3B,MAAM,EAAE,YAAY;KACrB,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD,qBAAqB,EAAE,IAAI;IAC3B,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,KAAK;CACpB,CAAA","sourcesContent":["import type { AppliedDataSemantic } from '../Semantics.js'\nimport { SemanticType } from '../Semantics.js'\n\n/**\n * Configuration options for the Categories semantic.\n * Controls allowed categories, hierarchy, and formatting for associations.\n */\nexport interface CategoriesConfig {\n /**\n * List of allowed categories.\n */\n allowedCategories?: string[]\n /**\n * Whether to allow custom categories not in the allowedCategories list.\n */\n allowCustomCategories?: boolean\n /**\n * Whether to allow hierarchical categories (tree structure).\n */\n allowHierarchy?: boolean\n /**\n * Maximum depth of the category hierarchy.\n */\n maxDepth?: number\n /**\n * Whether categories are case sensitive.\n */\n caseSensitive?: boolean\n /**\n * Whether to allow Unicode characters in categories.\n */\n allowUnicode?: boolean\n /**\n * Custom metadata for the categories association.\n */\n metadata?: Record<string, unknown>\n /**\n * Index signature to allow additional properties.\n */\n [key: string]: unknown\n}\n\n/**\n * Type-safe configuration for Categories semantic.\n */\nexport interface AppliedCategoriesSemantic extends AppliedDataSemantic {\n id: SemanticType.Categories\n config?: CategoriesConfig\n}\n\n/**\n * Type guard to check if a semantic is a Categories semantic.\n */\nexport const isCategoriesSemantic = (semantic: AppliedDataSemantic): semantic is AppliedCategoriesSemantic => {\n return semantic.id === SemanticType.Categories\n}\n\n/**\n * Helper function to create a Categories semantic with configuration.\n */\nexport const createCategoriesSemantic = (config: CategoriesConfig = {}): AppliedCategoriesSemantic => {\n const mergedConfig = {\n ...DEFAULT_CATEGORIES_CONFIG,\n ...config,\n }\n if (config.metadata) {\n mergedConfig.metadata = { ...config.metadata }\n }\n\n return {\n id: SemanticType.Categories,\n config: mergedConfig,\n }\n}\n\n/**\n * Default configuration for Categories semantic.\n */\nexport const DEFAULT_CATEGORIES_CONFIG: CategoriesConfig = {\n allowCustomCategories: true,\n allowHierarchy: true,\n caseSensitive: false,\n allowUnicode: false,\n}\n"]}
@@ -0,0 +1,54 @@
1
+ import type { AppliedDataSemantic } from '../Semantics.js';
2
+ import { SemanticType } from '../Semantics.js';
3
+ /**
4
+ * Configuration options for the Derived semantic.
5
+ * Controls source fields, transformation, and recalculation behavior.
6
+ *
7
+ * Use Derived when you need to combine, format, or transform existing field values
8
+ */
9
+ export interface DerivedConfig {
10
+ /**
11
+ * List of source field names this value is derived from.
12
+ */
13
+ sourceFields: string[];
14
+ /**
15
+ * Name of a transformation function to apply to the source fields.
16
+ */
17
+ transformation?: string;
18
+ /**
19
+ * Whether to recalculate the value on update (default: true).
20
+ */
21
+ recalculateOnUpdate?: boolean;
22
+ /**
23
+ * Whether to allow manual override of the derived value.
24
+ */
25
+ allowManualOverride?: boolean;
26
+ /**
27
+ * Custom metadata for the derived field.
28
+ */
29
+ metadata?: Record<string, unknown>;
30
+ /**
31
+ * Index signature to allow additional properties.
32
+ */
33
+ [key: string]: unknown;
34
+ }
35
+ /**
36
+ * Type-safe configuration for Derived semantic.
37
+ */
38
+ export interface AppliedDerivedSemantic extends AppliedDataSemantic {
39
+ id: SemanticType.Derived;
40
+ config?: DerivedConfig;
41
+ }
42
+ /**
43
+ * Type guard to check if a semantic is a Derived semantic.
44
+ */
45
+ export declare const isDerivedSemantic: (semantic: AppliedDataSemantic) => semantic is AppliedDerivedSemantic;
46
+ /**
47
+ * Helper function to create a Derived semantic with configuration.
48
+ */
49
+ export declare const createDerivedSemantic: (config: DerivedConfig) => AppliedDerivedSemantic;
50
+ /**
51
+ * Default configuration for Derived semantic.
52
+ */
53
+ export declare const DEFAULT_DERIVED_CONFIG: Partial<DerivedConfig>;
54
+ //# sourceMappingURL=Derived.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Derived.d.ts","sourceRoot":"","sources":["../../../../src/modeling/definitions/Derived.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,EAAE,EAAE,YAAY,CAAC,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,mBAAmB,KAAG,QAAQ,IAAI,sBAE7E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,aAAa,KAAG,sBAa7D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,aAAa,CAGzD,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { SemanticType } from '../Semantics.js';
2
+ /**
3
+ * Type guard to check if a semantic is a Derived semantic.
4
+ */
5
+ export const isDerivedSemantic = (semantic) => {
6
+ return semantic.id === SemanticType.Derived;
7
+ };
8
+ /**
9
+ * Helper function to create a Derived semantic with configuration.
10
+ */
11
+ export const createDerivedSemantic = (config) => {
12
+ const mergedConfig = {
13
+ ...DEFAULT_DERIVED_CONFIG,
14
+ ...config,
15
+ };
16
+ if (config.metadata) {
17
+ mergedConfig.metadata = { ...config.metadata };
18
+ }
19
+ return {
20
+ id: SemanticType.Derived,
21
+ config: mergedConfig,
22
+ };
23
+ };
24
+ /**
25
+ * Default configuration for Derived semantic.
26
+ */
27
+ export const DEFAULT_DERIVED_CONFIG = {
28
+ recalculateOnUpdate: true,
29
+ allowManualOverride: false,
30
+ };
31
+ //# sourceMappingURL=Derived.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Derived.js","sourceRoot":"","sources":["../../../../src/modeling/definitions/Derived.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AA2C9C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAA6B,EAAsC,EAAE;IACrG,OAAO,QAAQ,CAAC,EAAE,KAAK,YAAY,CAAC,OAAO,CAAA;AAC7C,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAqB,EAA0B,EAAE;IACrF,MAAM,YAAY,GAAG;QACnB,GAAG,sBAAsB;QACzB,GAAG,MAAM;KACV,CAAA;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,YAAY,CAAC,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;IAChD,CAAC;IAED,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,OAAO;QACxB,MAAM,EAAE,YAAY;KACrB,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC5D,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,KAAK;CAC3B,CAAA","sourcesContent":["import type { AppliedDataSemantic } from '../Semantics.js'\nimport { SemanticType } from '../Semantics.js'\n\n/**\n * Configuration options for the Derived semantic.\n * Controls source fields, transformation, and recalculation behavior.\n *\n * Use Derived when you need to combine, format, or transform existing field values\n */\nexport interface DerivedConfig {\n /**\n * List of source field names this value is derived from.\n */\n sourceFields: string[]\n /**\n * Name of a transformation function to apply to the source fields.\n */\n transformation?: string\n /**\n * Whether to recalculate the value on update (default: true).\n */\n recalculateOnUpdate?: boolean\n /**\n * Whether to allow manual override of the derived value.\n */\n allowManualOverride?: boolean\n /**\n * Custom metadata for the derived field.\n */\n metadata?: Record<string, unknown>\n /**\n * Index signature to allow additional properties.\n */\n [key: string]: unknown\n}\n\n/**\n * Type-safe configuration for Derived semantic.\n */\nexport interface AppliedDerivedSemantic extends AppliedDataSemantic {\n id: SemanticType.Derived\n config?: DerivedConfig\n}\n\n/**\n * Type guard to check if a semantic is a Derived semantic.\n */\nexport const isDerivedSemantic = (semantic: AppliedDataSemantic): semantic is AppliedDerivedSemantic => {\n return semantic.id === SemanticType.Derived\n}\n\n/**\n * Helper function to create a Derived semantic with configuration.\n */\nexport const createDerivedSemantic = (config: DerivedConfig): AppliedDerivedSemantic => {\n const mergedConfig = {\n ...DEFAULT_DERIVED_CONFIG,\n ...config,\n }\n if (config.metadata) {\n mergedConfig.metadata = { ...config.metadata }\n }\n\n return {\n id: SemanticType.Derived,\n config: mergedConfig,\n }\n}\n\n/**\n * Default configuration for Derived semantic.\n */\nexport const DEFAULT_DERIVED_CONFIG: Partial<DerivedConfig> = {\n recalculateOnUpdate: true,\n allowManualOverride: false,\n}\n"]}
@@ -0,0 +1,36 @@
1
+ import type { AppliedDataSemantic } from '../Semantics.js';
2
+ import { SemanticType } from '../Semantics.js';
3
+ /**
4
+ * Configuration options for the Description semantic.
5
+ * Controls length, formatting, and markdown support.
6
+ */
7
+ export interface DescriptionConfig {
8
+ /**
9
+ * Custom metadata for the description field.
10
+ */
11
+ metadata?: Record<string, unknown>;
12
+ /**
13
+ * Index signature to allow additional properties.
14
+ */
15
+ [key: string]: unknown;
16
+ }
17
+ /**
18
+ * Type-safe configuration for Description semantic.
19
+ */
20
+ export interface AppliedDescriptionSemantic extends AppliedDataSemantic {
21
+ id: SemanticType.Description;
22
+ config?: DescriptionConfig;
23
+ }
24
+ /**
25
+ * Type guard to check if a semantic is a Description semantic.
26
+ */
27
+ export declare const isDescriptionSemantic: (semantic: AppliedDataSemantic) => semantic is AppliedDescriptionSemantic;
28
+ /**
29
+ * Helper function to create a Description semantic with configuration.
30
+ */
31
+ export declare const createDescriptionSemantic: (config?: DescriptionConfig) => AppliedDescriptionSemantic;
32
+ /**
33
+ * Default configuration for Description semantic.
34
+ */
35
+ export declare const DEFAULT_DESCRIPTION_CONFIG: DescriptionConfig;
36
+ //# sourceMappingURL=Description.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Description.d.ts","sourceRoot":"","sources":["../../../../src/modeling/definitions/Description.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,EAAE,EAAE,YAAY,CAAC,WAAW,CAAA;IAC5B,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,mBAAmB,KAAG,QAAQ,IAAI,0BAEjF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,SAAQ,iBAAsB,KAAG,0BAa1E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAsB,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { SemanticType } from '../Semantics.js';
2
+ /**
3
+ * Type guard to check if a semantic is a Description semantic.
4
+ */
5
+ export const isDescriptionSemantic = (semantic) => {
6
+ return semantic.id === SemanticType.Description;
7
+ };
8
+ /**
9
+ * Helper function to create a Description semantic with configuration.
10
+ */
11
+ export const createDescriptionSemantic = (config = {}) => {
12
+ const mergedConfig = {
13
+ ...DEFAULT_DESCRIPTION_CONFIG,
14
+ ...config,
15
+ };
16
+ if (config.metadata) {
17
+ mergedConfig.metadata = { ...config.metadata };
18
+ }
19
+ return {
20
+ id: SemanticType.Description,
21
+ config: mergedConfig,
22
+ };
23
+ };
24
+ /**
25
+ * Default configuration for Description semantic.
26
+ */
27
+ export const DEFAULT_DESCRIPTION_CONFIG = {};
28
+ //# sourceMappingURL=Description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Description.js","sourceRoot":"","sources":["../../../../src/modeling/definitions/Description.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAyB9C;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAA6B,EAA0C,EAAE;IAC7G,OAAO,QAAQ,CAAC,EAAE,KAAK,YAAY,CAAC,WAAW,CAAA;AACjD,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,SAA4B,EAAE,EAA8B,EAAE;IACtG,MAAM,YAAY,GAAG;QACnB,GAAG,0BAA0B;QAC7B,GAAG,MAAM;KACV,CAAA;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,YAAY,CAAC,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;IAChD,CAAC;IAED,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,WAAW;QAC5B,MAAM,EAAE,YAAY;KACrB,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAsB,EAAE,CAAA","sourcesContent":["import type { AppliedDataSemantic } from '../Semantics.js'\nimport { SemanticType } from '../Semantics.js'\n\n/**\n * Configuration options for the Description semantic.\n * Controls length, formatting, and markdown support.\n */\nexport interface DescriptionConfig {\n /**\n * Custom metadata for the description field.\n */\n metadata?: Record<string, unknown>\n /**\n * Index signature to allow additional properties.\n */\n [key: string]: unknown\n}\n\n/**\n * Type-safe configuration for Description semantic.\n */\nexport interface AppliedDescriptionSemantic extends AppliedDataSemantic {\n id: SemanticType.Description\n config?: DescriptionConfig\n}\n\n/**\n * Type guard to check if a semantic is a Description semantic.\n */\nexport const isDescriptionSemantic = (semantic: AppliedDataSemantic): semantic is AppliedDescriptionSemantic => {\n return semantic.id === SemanticType.Description\n}\n\n/**\n * Helper function to create a Description semantic with configuration.\n */\nexport const createDescriptionSemantic = (config: DescriptionConfig = {}): AppliedDescriptionSemantic => {\n const mergedConfig = {\n ...DEFAULT_DESCRIPTION_CONFIG,\n ...config,\n }\n if (config.metadata) {\n mergedConfig.metadata = { ...config.metadata }\n }\n\n return {\n id: SemanticType.Description,\n config: mergedConfig,\n }\n}\n\n/**\n * Default configuration for Description semantic.\n */\nexport const DEFAULT_DESCRIPTION_CONFIG: DescriptionConfig = {}\n"]}
@@ -0,0 +1,66 @@
1
+ import type { AppliedDataSemantic } from '../Semantics.js';
2
+ import { SemanticType } from '../Semantics.js';
3
+ /**
4
+ * Configuration options for the Email semantic.
5
+ * Controls validation, allowed domains, and verification.
6
+ */
7
+ export interface EmailConfig {
8
+ /**
9
+ * List of allowed email domains (e.g., ['example.com']).
10
+ */
11
+ allowedDomains?: string[];
12
+ /**
13
+ * Whether email verification is required.
14
+ */
15
+ requireVerification?: boolean;
16
+ /**
17
+ * Method to use for verification: 'email', 'sms', or 'none'.
18
+ */
19
+ verificationMethod?: 'email' | 'sms' | 'none';
20
+ /**
21
+ * Whether to allow subaddressing (user+tag@domain.com).
22
+ */
23
+ allowSubaddressing?: boolean;
24
+ /**
25
+ * Whether to allow internationalized email addresses.
26
+ *
27
+ * - When true (default): Allows email addresses with non-ASCII characters in the domain part,
28
+ * like user@münchen.de or user@café.com
29
+ * - When false: Only allows ASCII characters in the domain part, like user@example.com
30
+ *
31
+ * Why it exists:
32
+ * - Internationalization: Many countries have domain names with native characters (like German umlauts,
33
+ * French accents, etc.)
34
+ * - RFC 6531: The standard for internationalized email addresses
35
+ * - Validation flexibility: Some systems may need to restrict to ASCII-only domains for compatibility reasons
36
+ */
37
+ allowInternational?: boolean;
38
+ /**
39
+ * Custom metadata for the email field.
40
+ */
41
+ metadata?: Record<string, unknown>;
42
+ /**
43
+ * Index signature to allow additional properties.
44
+ */
45
+ [key: string]: unknown;
46
+ }
47
+ /**
48
+ * Type-safe configuration for Email semantic.
49
+ */
50
+ export interface AppliedEmailSemantic extends AppliedDataSemantic {
51
+ id: SemanticType.Email;
52
+ config?: EmailConfig;
53
+ }
54
+ /**
55
+ * Type guard to check if a semantic is an Email semantic.
56
+ */
57
+ export declare const isEmailSemantic: (semantic: AppliedDataSemantic) => semantic is AppliedEmailSemantic;
58
+ /**
59
+ * Helper function to create an Email semantic with configuration.
60
+ */
61
+ export declare const createEmailSemantic: (config?: EmailConfig) => AppliedEmailSemantic;
62
+ /**
63
+ * Default configuration for Email semantic.
64
+ */
65
+ export declare const DEFAULT_EMAIL_CONFIG: EmailConfig;
66
+ //# sourceMappingURL=Email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Email.d.ts","sourceRoot":"","sources":["../../../../src/modeling/definitions/Email.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAA;IAC7C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,EAAE,EAAE,YAAY,CAAC,KAAK,CAAA;IACtB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,mBAAmB,KAAG,QAAQ,IAAI,oBAE3E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAQ,WAAgB,KAAG,oBAa9D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { SemanticType } from '../Semantics.js';
2
+ /**
3
+ * Type guard to check if a semantic is an Email semantic.
4
+ */
5
+ export const isEmailSemantic = (semantic) => {
6
+ return semantic.id === SemanticType.Email;
7
+ };
8
+ /**
9
+ * Helper function to create an Email semantic with configuration.
10
+ */
11
+ export const createEmailSemantic = (config = {}) => {
12
+ const mergedConfig = {
13
+ ...DEFAULT_EMAIL_CONFIG,
14
+ ...config,
15
+ };
16
+ if (config.metadata) {
17
+ mergedConfig.metadata = { ...config.metadata };
18
+ }
19
+ return {
20
+ id: SemanticType.Email,
21
+ config: mergedConfig,
22
+ };
23
+ };
24
+ /**
25
+ * Default configuration for Email semantic.
26
+ */
27
+ export const DEFAULT_EMAIL_CONFIG = {
28
+ requireVerification: false,
29
+ verificationMethod: 'email',
30
+ allowSubaddressing: true,
31
+ allowInternational: true,
32
+ };
33
+ //# sourceMappingURL=Email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Email.js","sourceRoot":"","sources":["../../../../src/modeling/definitions/Email.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAuD9C;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAA6B,EAAoC,EAAE;IACjG,OAAO,QAAQ,CAAC,EAAE,KAAK,YAAY,CAAC,KAAK,CAAA;AAC3C,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAsB,EAAE,EAAwB,EAAE;IACpF,MAAM,YAAY,GAAG;QACnB,GAAG,oBAAoB;QACvB,GAAG,MAAM;KACV,CAAA;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,YAAY,CAAC,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;IAChD,CAAC;IAED,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,KAAK;QACtB,MAAM,EAAE,YAAY;KACrB,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,mBAAmB,EAAE,KAAK;IAC1B,kBAAkB,EAAE,OAAO;IAC3B,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,IAAI;CACzB,CAAA","sourcesContent":["import type { AppliedDataSemantic } from '../Semantics.js'\nimport { SemanticType } from '../Semantics.js'\n\n/**\n * Configuration options for the Email semantic.\n * Controls validation, allowed domains, and verification.\n */\nexport interface EmailConfig {\n /**\n * List of allowed email domains (e.g., ['example.com']).\n */\n allowedDomains?: string[]\n /**\n * Whether email verification is required.\n */\n requireVerification?: boolean\n /**\n * Method to use for verification: 'email', 'sms', or 'none'.\n */\n verificationMethod?: 'email' | 'sms' | 'none'\n /**\n * Whether to allow subaddressing (user+tag@domain.com).\n */\n allowSubaddressing?: boolean\n /**\n * Whether to allow internationalized email addresses.\n *\n * - When true (default): Allows email addresses with non-ASCII characters in the domain part,\n * like user@münchen.de or user@café.com\n * - When false: Only allows ASCII characters in the domain part, like user@example.com\n *\n * Why it exists:\n * - Internationalization: Many countries have domain names with native characters (like German umlauts,\n * French accents, etc.)\n * - RFC 6531: The standard for internationalized email addresses\n * - Validation flexibility: Some systems may need to restrict to ASCII-only domains for compatibility reasons\n */\n allowInternational?: boolean\n /**\n * Custom metadata for the email field.\n */\n metadata?: Record<string, unknown>\n /**\n * Index signature to allow additional properties.\n */\n [key: string]: unknown\n}\n\n/**\n * Type-safe configuration for Email semantic.\n */\nexport interface AppliedEmailSemantic extends AppliedDataSemantic {\n id: SemanticType.Email\n config?: EmailConfig\n}\n\n/**\n * Type guard to check if a semantic is an Email semantic.\n */\nexport const isEmailSemantic = (semantic: AppliedDataSemantic): semantic is AppliedEmailSemantic => {\n return semantic.id === SemanticType.Email\n}\n\n/**\n * Helper function to create an Email semantic with configuration.\n */\nexport const createEmailSemantic = (config: EmailConfig = {}): AppliedEmailSemantic => {\n const mergedConfig = {\n ...DEFAULT_EMAIL_CONFIG,\n ...config,\n }\n if (config.metadata) {\n mergedConfig.metadata = { ...config.metadata }\n }\n\n return {\n id: SemanticType.Email,\n config: mergedConfig,\n }\n}\n\n/**\n * Default configuration for Email semantic.\n */\nexport const DEFAULT_EMAIL_CONFIG: EmailConfig = {\n requireVerification: false,\n verificationMethod: 'email',\n allowSubaddressing: true,\n allowInternational: true,\n}\n"]}
@@ -0,0 +1,212 @@
1
+ import type { AppliedDataSemantic } from '../Semantics.js';
2
+ import { SemanticType } from '../Semantics.js';
3
+ /**
4
+ * Supported coordinate formats for geospatial data.
5
+ */
6
+ export declare enum GeospatialCoordinateFormat {
7
+ /**
8
+ * Latitude, Longitude format: "40.7128,-74.0060"
9
+ */
10
+ LatLon = "lat,lon",
11
+ /**
12
+ * Longitude, Latitude format: "-74.0060,40.7128"
13
+ */
14
+ LonLat = "lon,lat",
15
+ /**
16
+ * PostGIS POINT format: "POINT(-74.0060 40.7128)"
17
+ */
18
+ PostGIS = "postgis",
19
+ /**
20
+ * Degree format with cardinal directions: "40.7128°N, 74.0060°W"
21
+ */
22
+ Degree = "degree",
23
+ /**
24
+ * Well-Known Text (WKT) format: "POINT(-74.0060 40.7128)"
25
+ */
26
+ WKT = "wkt",
27
+ /**
28
+ * GeoJSON format: {"type": "Point", "coordinates": [-74.0060, 40.7128]}
29
+ */
30
+ GeoJSON = "geojson"
31
+ }
32
+ /**
33
+ * Supported distance units for spatial queries.
34
+ */
35
+ export declare enum GeospatialDistanceUnit {
36
+ /**
37
+ * Meters (SI unit)
38
+ */
39
+ Meters = "meters",
40
+ /**
41
+ * Kilometers
42
+ */
43
+ Kilometers = "kilometers",
44
+ /**
45
+ * Miles (imperial)
46
+ */
47
+ Miles = "miles",
48
+ /**
49
+ * Feet (imperial)
50
+ */
51
+ Feet = "feet",
52
+ /**
53
+ * Yards (imperial)
54
+ */
55
+ Yards = "yards",
56
+ /**
57
+ * Nautical miles
58
+ */
59
+ NauticalMiles = "nautical_miles"
60
+ }
61
+ /**
62
+ * Supported spatial reference systems.
63
+ */
64
+ export declare enum GeospatialSpatialReferenceSystem {
65
+ /**
66
+ * WGS84 (World Geodetic System 1984) - Most common for GPS coordinates
67
+ */
68
+ WGS84 = "EPSG:4326",
69
+ /**
70
+ * Web Mercator - Common for web mapping
71
+ */
72
+ WebMercator = "EPSG:3857",
73
+ /**
74
+ * NAD83 (North American Datum 1983)
75
+ */
76
+ NAD83 = "EPSG:4269",
77
+ /**
78
+ * NAD27 (North American Datum 1927)
79
+ */
80
+ NAD27 = "EPSG:4267"
81
+ }
82
+ /**
83
+ * Configuration options for the GeospatialCoordinates semantic.
84
+ * These options control how the runtime handles geospatial data and queries.
85
+ */
86
+ export interface GeospatialCoordinatesConfig {
87
+ /**
88
+ * The coordinate format expected for input/output.
89
+ * Defaults to 'lat,lon' if not specified.
90
+ */
91
+ format?: GeospatialCoordinateFormat;
92
+ /**
93
+ * The spatial reference system (SRS) for the coordinates.
94
+ * Defaults to WGS84 (EPSG:4326) if not specified.
95
+ */
96
+ spatialReferenceSystem?: GeospatialSpatialReferenceSystem;
97
+ /**
98
+ * The default distance unit for spatial queries.
99
+ * Defaults to 'meters' if not specified.
100
+ */
101
+ defaultDistanceUnit?: GeospatialDistanceUnit;
102
+ /**
103
+ * Whether to enable automatic spatial indexing.
104
+ * Defaults to true if not specified.
105
+ */
106
+ enableSpatialIndexing?: boolean;
107
+ /**
108
+ * Whether to enable automatic coordinate validation.
109
+ * Defaults to true if not specified.
110
+ */
111
+ enableValidation?: boolean;
112
+ /**
113
+ * Custom validation rules for coordinate bounds.
114
+ * If not specified, uses standard latitude (-90 to 90) and longitude (-180 to 180) bounds.
115
+ */
116
+ validationBounds?: {
117
+ /**
118
+ * Minimum latitude value
119
+ */
120
+ minLatitude?: number;
121
+ /**
122
+ * Maximum latitude value
123
+ */
124
+ maxLatitude?: number;
125
+ /**
126
+ * Minimum longitude value
127
+ */
128
+ minLongitude?: number;
129
+ /**
130
+ * Maximum longitude value
131
+ */
132
+ maxLongitude?: number;
133
+ };
134
+ /**
135
+ * Whether to enable automatic PostGIS integration when using PostgreSQL.
136
+ * Defaults to true if not specified.
137
+ */
138
+ enablePostGISIntegration?: boolean;
139
+ /**
140
+ * The PostGIS geometry type to use for storage.
141
+ * Defaults to 'POINT' if not specified.
142
+ */
143
+ postGISGeometryType?: 'POINT' | 'LINESTRING' | 'POLYGON' | 'MULTIPOINT' | 'MULTILINESTRING' | 'MULTIPOLYGON';
144
+ /**
145
+ * Whether to enable distance-based query endpoints.
146
+ * Defaults to true if not specified.
147
+ */
148
+ enableDistanceQueries?: boolean;
149
+ /**
150
+ * Maximum distance allowed in distance queries (in the default distance unit).
151
+ * Defaults to 100000 (100km) if not specified.
152
+ */
153
+ maxQueryDistance?: number;
154
+ /**
155
+ * Whether to enable bounding box query endpoints.
156
+ * Defaults to true if not specified.
157
+ */
158
+ enableBoundingBoxQueries?: boolean;
159
+ /**
160
+ * Whether to enable polygon intersection query endpoints.
161
+ * Defaults to false if not specified.
162
+ */
163
+ enablePolygonQueries?: boolean;
164
+ /**
165
+ * Custom API endpoint prefix for geospatial queries.
166
+ * Defaults to '/nearby' if not specified.
167
+ */
168
+ apiEndpointPrefix?: string;
169
+ /**
170
+ * Whether to include elevation data in coordinates (3D coordinates).
171
+ * Defaults to false if not specified.
172
+ */
173
+ includeElevation?: boolean;
174
+ /**
175
+ * Precision for coordinate storage (number of decimal places).
176
+ * Defaults to 6 if not specified.
177
+ */
178
+ coordinatePrecision?: number;
179
+ /**
180
+ * Whether to enable reverse geocoding capabilities.
181
+ * Defaults to false if not specified.
182
+ */
183
+ enableReverseGeocoding?: boolean;
184
+ /**
185
+ * Custom metadata for the geospatial field.
186
+ */
187
+ metadata?: Record<string, unknown>;
188
+ /**
189
+ * Index signature to allow additional properties.
190
+ */
191
+ [key: string]: unknown;
192
+ }
193
+ /**
194
+ * Type-safe configuration for GeospatialCoordinates semantic.
195
+ */
196
+ export interface AppliedGeospatialCoordinatesSemantic extends AppliedDataSemantic {
197
+ id: SemanticType.GeospatialCoordinates;
198
+ config?: GeospatialCoordinatesConfig;
199
+ }
200
+ /**
201
+ * Type guard to check if a semantic is a GeospatialCoordinates semantic.
202
+ */
203
+ export declare const isGeospatialCoordinatesSemantic: (semantic: AppliedDataSemantic) => semantic is AppliedGeospatialCoordinatesSemantic;
204
+ /**
205
+ * Helper function to create a GeospatialCoordinates semantic with configuration.
206
+ */
207
+ export declare const createGeospatialCoordinatesSemantic: (config?: GeospatialCoordinatesConfig) => AppliedGeospatialCoordinatesSemantic;
208
+ /**
209
+ * Default configuration for GeospatialCoordinates semantic.
210
+ */
211
+ export declare const DEFAULT_GEOSPATIAL_CONFIG: GeospatialCoordinatesConfig;
212
+ //# sourceMappingURL=GeospatialCoordinates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeospatialCoordinates.d.ts","sourceRoot":"","sources":["../../../../src/modeling/definitions/GeospatialCoordinates.ts"],"names":[],"mappings":"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"}