@objectstack/spec 0.1.2 → 0.3.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 (152) hide show
  1. package/README.md +127 -5
  2. package/dist/ai/index.d.ts +14 -0
  3. package/dist/ai/index.d.ts.map +1 -0
  4. package/dist/ai/index.js +29 -0
  5. package/dist/ai/model-registry.zod.d.ts +1389 -0
  6. package/dist/ai/model-registry.zod.d.ts.map +1 -0
  7. package/dist/ai/model-registry.zod.js +164 -0
  8. package/dist/ai/nlq.zod.d.ts +1126 -0
  9. package/dist/ai/nlq.zod.d.ts.map +1 -0
  10. package/dist/ai/nlq.zod.js +246 -0
  11. package/dist/ai/rag-pipeline.zod.d.ts +1034 -0
  12. package/dist/ai/rag-pipeline.zod.d.ts.map +1 -0
  13. package/dist/ai/rag-pipeline.zod.js +244 -0
  14. package/dist/api/index.d.ts +9 -0
  15. package/dist/api/index.d.ts.map +1 -0
  16. package/dist/api/index.js +24 -0
  17. package/dist/data/filter.zod.d.ts +295 -0
  18. package/dist/data/filter.zod.d.ts.map +1 -0
  19. package/dist/data/filter.zod.js +226 -0
  20. package/dist/data/index.d.ts +21 -0
  21. package/dist/data/index.d.ts.map +1 -0
  22. package/dist/data/index.js +36 -0
  23. package/dist/data/query.zod.d.ts +386 -3
  24. package/dist/data/query.zod.d.ts.map +1 -1
  25. package/dist/data/query.zod.js +386 -3
  26. package/dist/data/validation.zod.d.ts +349 -0
  27. package/dist/data/validation.zod.d.ts.map +1 -1
  28. package/dist/data/validation.zod.js +395 -0
  29. package/dist/index.d.ts +36 -39
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +64 -47
  32. package/dist/system/auth-protocol.d.ts +175 -0
  33. package/dist/system/auth-protocol.d.ts.map +1 -0
  34. package/dist/system/auth-protocol.js +60 -0
  35. package/dist/system/auth.zod.d.ts +3319 -0
  36. package/dist/system/auth.zod.d.ts.map +1 -0
  37. package/dist/system/auth.zod.js +499 -0
  38. package/dist/system/datasource.zod.d.ts +118 -38
  39. package/dist/system/datasource.zod.d.ts.map +1 -1
  40. package/dist/system/datasource.zod.js +25 -6
  41. package/dist/system/driver.zod.d.ts +106 -0
  42. package/dist/system/driver.zod.d.ts.map +1 -1
  43. package/dist/system/driver.zod.js +47 -0
  44. package/dist/system/identity.zod.d.ts +234 -180
  45. package/dist/system/identity.zod.d.ts.map +1 -1
  46. package/dist/system/identity.zod.js +168 -51
  47. package/dist/system/index.d.ts +28 -0
  48. package/dist/system/index.d.ts.map +1 -0
  49. package/dist/system/index.js +43 -0
  50. package/dist/system/manifest.zod.d.ts +10 -10
  51. package/dist/system/organization.zod.d.ts +179 -0
  52. package/dist/system/organization.zod.d.ts.map +1 -0
  53. package/dist/system/organization.zod.js +129 -0
  54. package/dist/system/policy.zod.d.ts +10 -10
  55. package/dist/ui/action.zod.d.ts +2 -2
  56. package/dist/ui/dashboard.zod.d.ts +10 -10
  57. package/dist/ui/dashboard.zod.d.ts.map +1 -1
  58. package/dist/ui/dashboard.zod.js +3 -2
  59. package/dist/ui/index.d.ts +17 -0
  60. package/dist/ui/index.d.ts.map +1 -0
  61. package/dist/ui/index.js +32 -0
  62. package/dist/ui/report.zod.d.ts +4 -32
  63. package/dist/ui/report.zod.d.ts.map +1 -1
  64. package/dist/ui/report.zod.js +3 -8
  65. package/dist/ui/theme.zod.d.ts +6 -6
  66. package/json-schema/Account.json +87 -0
  67. package/json-schema/AccountLinkingConfig.json +27 -0
  68. package/json-schema/AuthConfig.json +841 -0
  69. package/json-schema/AuthPluginConfig.json +28 -0
  70. package/json-schema/AuthStrategy.json +17 -0
  71. package/json-schema/AuthenticationConfig.json +601 -0
  72. package/json-schema/AuthenticationProvider.json +617 -0
  73. package/json-schema/CSRFConfig.json +31 -0
  74. package/json-schema/ChunkingStrategy.json +133 -0
  75. package/json-schema/ComparisonOperator.json +56 -0
  76. package/json-schema/Dashboard.json +20 -0
  77. package/json-schema/DashboardWidget.json +20 -0
  78. package/json-schema/DatabaseAdapter.json +38 -0
  79. package/json-schema/DatabaseMapping.json +48 -0
  80. package/json-schema/Datasource.json +25 -5
  81. package/json-schema/DatasourceCapabilities.json +25 -5
  82. package/json-schema/DocumentChunk.json +97 -0
  83. package/json-schema/DocumentLoaderConfig.json +69 -0
  84. package/json-schema/DocumentMetadata.json +61 -0
  85. package/json-schema/DriverCapabilities.json +30 -0
  86. package/json-schema/DriverDefinition.json +25 -5
  87. package/json-schema/DriverInterface.json +30 -0
  88. package/json-schema/EmailPasswordConfig.json +43 -0
  89. package/json-schema/EmbeddingModel.json +57 -0
  90. package/json-schema/EnterpriseAuthConfig.json +172 -0
  91. package/json-schema/Entity.json +55 -0
  92. package/json-schema/EqualityOperator.json +14 -0
  93. package/json-schema/FieldOperators.json +108 -0
  94. package/json-schema/FieldSynonymConfig.json +39 -0
  95. package/json-schema/FilterCondition.json +28 -0
  96. package/json-schema/Invitation.json +69 -0
  97. package/json-schema/InvitationStatus.json +15 -0
  98. package/json-schema/LDAPConfig.json +22 -5
  99. package/json-schema/MagicLinkConfig.json +21 -0
  100. package/json-schema/Member.json +46 -0
  101. package/json-schema/ModelCapability.json +47 -0
  102. package/json-schema/ModelConfig.json +181 -0
  103. package/json-schema/ModelLimits.json +45 -0
  104. package/json-schema/ModelPricing.json +28 -0
  105. package/json-schema/ModelProvider.json +19 -0
  106. package/json-schema/ModelRegistry.json +427 -0
  107. package/json-schema/ModelRegistryEntry.json +239 -0
  108. package/json-schema/ModelSelectionCriteria.json +50 -0
  109. package/json-schema/NLQAnalytics.json +106 -0
  110. package/json-schema/NLQFieldMapping.json +40 -0
  111. package/json-schema/NLQModelConfig.json +78 -0
  112. package/json-schema/NLQParseResult.json +252 -0
  113. package/json-schema/NLQRequest.json +110 -0
  114. package/json-schema/NLQResponse.json +288 -0
  115. package/json-schema/NLQTrainingExample.json +120 -0
  116. package/json-schema/NormalizedFilter.json +348 -0
  117. package/json-schema/OAuthProvider.json +66 -0
  118. package/json-schema/OIDCConfig.json +18 -3
  119. package/json-schema/Organization.json +52 -0
  120. package/json-schema/PasskeyConfig.json +54 -0
  121. package/json-schema/PromptTemplate.json +163 -0
  122. package/json-schema/PromptVariable.json +56 -0
  123. package/json-schema/QueryContext.json +72 -0
  124. package/json-schema/QueryFilter.json +34 -0
  125. package/json-schema/QueryIntent.json +21 -0
  126. package/json-schema/QueryTemplate.json +81 -0
  127. package/json-schema/RAGPipelineConfig.json +552 -0
  128. package/json-schema/RAGPipelineStatus.json +66 -0
  129. package/json-schema/RAGQueryRequest.json +64 -0
  130. package/json-schema/RAGQueryResponse.json +108 -0
  131. package/json-schema/RangeOperator.json +41 -0
  132. package/json-schema/RateLimitConfig.json +36 -0
  133. package/json-schema/Report.json +20 -26
  134. package/json-schema/RerankingConfig.json +34 -0
  135. package/json-schema/RetrievalStrategy.json +121 -0
  136. package/json-schema/SAMLConfig.json +17 -3
  137. package/json-schema/Session.json +63 -0
  138. package/json-schema/SessionConfig.json +56 -0
  139. package/json-schema/SetOperator.json +18 -0
  140. package/json-schema/SpecialOperator.json +18 -0
  141. package/json-schema/StandardAuthProvider.json +857 -0
  142. package/json-schema/StringOperator.json +21 -0
  143. package/json-schema/Timeframe.json +68 -0
  144. package/json-schema/TwoFactorConfig.json +40 -0
  145. package/json-schema/User.json +51 -0
  146. package/json-schema/UserFieldMapping.json +47 -0
  147. package/json-schema/VectorStoreConfig.json +82 -0
  148. package/json-schema/VectorStoreProvider.json +21 -0
  149. package/json-schema/VerificationToken.json +36 -0
  150. package/package.json +27 -1
  151. package/json-schema/AuthProtocol.json +0 -17
  152. package/json-schema/AuthProvider.json +0 -171
@@ -8,6 +8,30 @@
8
8
  "type": "boolean",
9
9
  "description": "Supports transactions"
10
10
  },
11
+ "queryFilters": {
12
+ "type": "boolean",
13
+ "description": "Supports WHERE clause filtering"
14
+ },
15
+ "queryAggregations": {
16
+ "type": "boolean",
17
+ "description": "Supports GROUP BY and aggregation functions"
18
+ },
19
+ "querySorting": {
20
+ "type": "boolean",
21
+ "description": "Supports ORDER BY sorting"
22
+ },
23
+ "queryPagination": {
24
+ "type": "boolean",
25
+ "description": "Supports LIMIT/OFFSET pagination"
26
+ },
27
+ "queryWindowFunctions": {
28
+ "type": "boolean",
29
+ "description": "Supports window functions with OVER clause"
30
+ },
31
+ "querySubqueries": {
32
+ "type": "boolean",
33
+ "description": "Supports subqueries"
34
+ },
11
35
  "joins": {
12
36
  "type": "boolean",
13
37
  "description": "Supports SQL joins"
@@ -27,6 +51,12 @@
27
51
  },
28
52
  "required": [
29
53
  "transactions",
54
+ "queryFilters",
55
+ "queryAggregations",
56
+ "querySorting",
57
+ "queryPagination",
58
+ "queryWindowFunctions",
59
+ "querySubqueries",
30
60
  "joins",
31
61
  "fullTextSearch",
32
62
  "jsonFields",
@@ -26,29 +26,49 @@
26
26
  "capabilities": {
27
27
  "type": "object",
28
28
  "properties": {
29
- "joins": {
29
+ "transactions": {
30
30
  "type": "boolean",
31
31
  "default": false
32
32
  },
33
- "transactions": {
33
+ "queryFilters": {
34
34
  "type": "boolean",
35
35
  "default": false
36
36
  },
37
- "fullTextSearch": {
37
+ "queryAggregations": {
38
38
  "type": "boolean",
39
39
  "default": false
40
40
  },
41
- "aggregation": {
41
+ "querySorting": {
42
42
  "type": "boolean",
43
43
  "default": false
44
44
  },
45
- "dynamicSchema": {
45
+ "queryPagination": {
46
+ "type": "boolean",
47
+ "default": false
48
+ },
49
+ "queryWindowFunctions": {
50
+ "type": "boolean",
51
+ "default": false
52
+ },
53
+ "querySubqueries": {
54
+ "type": "boolean",
55
+ "default": false
56
+ },
57
+ "joins": {
58
+ "type": "boolean",
59
+ "default": false
60
+ },
61
+ "fullTextSearch": {
46
62
  "type": "boolean",
47
63
  "default": false
48
64
  },
49
65
  "readOnly": {
50
66
  "type": "boolean",
51
67
  "default": false
68
+ },
69
+ "dynamicSchema": {
70
+ "type": "boolean",
71
+ "default": false
52
72
  }
53
73
  },
54
74
  "additionalProperties": false
@@ -19,6 +19,30 @@
19
19
  "type": "boolean",
20
20
  "description": "Supports transactions"
21
21
  },
22
+ "queryFilters": {
23
+ "type": "boolean",
24
+ "description": "Supports WHERE clause filtering"
25
+ },
26
+ "queryAggregations": {
27
+ "type": "boolean",
28
+ "description": "Supports GROUP BY and aggregation functions"
29
+ },
30
+ "querySorting": {
31
+ "type": "boolean",
32
+ "description": "Supports ORDER BY sorting"
33
+ },
34
+ "queryPagination": {
35
+ "type": "boolean",
36
+ "description": "Supports LIMIT/OFFSET pagination"
37
+ },
38
+ "queryWindowFunctions": {
39
+ "type": "boolean",
40
+ "description": "Supports window functions with OVER clause"
41
+ },
42
+ "querySubqueries": {
43
+ "type": "boolean",
44
+ "description": "Supports subqueries"
45
+ },
22
46
  "joins": {
23
47
  "type": "boolean",
24
48
  "description": "Supports SQL joins"
@@ -38,6 +62,12 @@
38
62
  },
39
63
  "required": [
40
64
  "transactions",
65
+ "queryFilters",
66
+ "queryAggregations",
67
+ "querySorting",
68
+ "queryPagination",
69
+ "queryWindowFunctions",
70
+ "querySubqueries",
41
71
  "joins",
42
72
  "fullTextSearch",
43
73
  "jsonFields",
@@ -0,0 +1,43 @@
1
+ {
2
+ "$ref": "#/definitions/EmailPasswordConfig",
3
+ "definitions": {
4
+ "EmailPasswordConfig": {
5
+ "type": "object",
6
+ "properties": {
7
+ "enabled": {
8
+ "type": "boolean",
9
+ "default": true
10
+ },
11
+ "requireEmailVerification": {
12
+ "type": "boolean",
13
+ "default": true,
14
+ "description": "Require email verification before login"
15
+ },
16
+ "minPasswordLength": {
17
+ "type": "number",
18
+ "minimum": 6,
19
+ "maximum": 128,
20
+ "default": 8,
21
+ "description": "Minimum password length"
22
+ },
23
+ "requirePasswordComplexity": {
24
+ "type": "boolean",
25
+ "default": true,
26
+ "description": "Require uppercase, lowercase, numbers, symbols"
27
+ },
28
+ "allowPasswordReset": {
29
+ "type": "boolean",
30
+ "default": true,
31
+ "description": "Enable password reset functionality"
32
+ },
33
+ "passwordResetExpiry": {
34
+ "type": "number",
35
+ "default": 3600,
36
+ "description": "Password reset token expiry in seconds"
37
+ }
38
+ },
39
+ "additionalProperties": false
40
+ }
41
+ },
42
+ "$schema": "http://json-schema.org/draft-07/schema#"
43
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "$ref": "#/definitions/EmbeddingModel",
3
+ "definitions": {
4
+ "EmbeddingModel": {
5
+ "type": "object",
6
+ "properties": {
7
+ "provider": {
8
+ "type": "string",
9
+ "enum": [
10
+ "openai",
11
+ "cohere",
12
+ "huggingface",
13
+ "azure_openai",
14
+ "local",
15
+ "custom"
16
+ ]
17
+ },
18
+ "model": {
19
+ "type": "string",
20
+ "description": "Model name (e.g., \"text-embedding-3-large\")"
21
+ },
22
+ "dimensions": {
23
+ "type": "integer",
24
+ "exclusiveMinimum": 0,
25
+ "description": "Embedding vector dimensions"
26
+ },
27
+ "maxTokens": {
28
+ "type": "integer",
29
+ "exclusiveMinimum": 0,
30
+ "description": "Maximum tokens per embedding"
31
+ },
32
+ "batchSize": {
33
+ "type": "integer",
34
+ "exclusiveMinimum": 0,
35
+ "default": 100,
36
+ "description": "Batch size for embedding"
37
+ },
38
+ "endpoint": {
39
+ "type": "string",
40
+ "format": "uri",
41
+ "description": "Custom endpoint URL"
42
+ },
43
+ "apiKey": {
44
+ "type": "string",
45
+ "description": "API key or reference to secret"
46
+ }
47
+ },
48
+ "required": [
49
+ "provider",
50
+ "model",
51
+ "dimensions"
52
+ ],
53
+ "additionalProperties": false
54
+ }
55
+ },
56
+ "$schema": "http://json-schema.org/draft-07/schema#"
57
+ }
@@ -0,0 +1,172 @@
1
+ {
2
+ "$ref": "#/definitions/EnterpriseAuthConfig",
3
+ "definitions": {
4
+ "EnterpriseAuthConfig": {
5
+ "type": "object",
6
+ "properties": {
7
+ "oidc": {
8
+ "type": "object",
9
+ "properties": {
10
+ "enabled": {
11
+ "type": "boolean",
12
+ "default": false
13
+ },
14
+ "issuer": {
15
+ "type": "string",
16
+ "format": "uri",
17
+ "description": "OIDC Issuer URL (.well-known/openid-configuration)"
18
+ },
19
+ "clientId": {
20
+ "type": "string",
21
+ "description": "OIDC client ID"
22
+ },
23
+ "clientSecret": {
24
+ "type": "string",
25
+ "description": "OIDC client secret"
26
+ },
27
+ "scopes": {
28
+ "type": "array",
29
+ "items": {
30
+ "type": "string"
31
+ },
32
+ "default": [
33
+ "openid",
34
+ "profile",
35
+ "email"
36
+ ],
37
+ "description": "OIDC scopes"
38
+ },
39
+ "attributeMapping": {
40
+ "type": "object",
41
+ "additionalProperties": {
42
+ "type": "string"
43
+ },
44
+ "description": "Map IdP claims to User fields"
45
+ },
46
+ "displayName": {
47
+ "type": "string",
48
+ "description": "Display name for the provider button"
49
+ },
50
+ "icon": {
51
+ "type": "string",
52
+ "description": "Icon URL or identifier"
53
+ }
54
+ },
55
+ "required": [
56
+ "issuer",
57
+ "clientId",
58
+ "clientSecret"
59
+ ],
60
+ "additionalProperties": false,
61
+ "description": "OpenID Connect configuration"
62
+ },
63
+ "saml": {
64
+ "type": "object",
65
+ "properties": {
66
+ "enabled": {
67
+ "type": "boolean",
68
+ "default": false
69
+ },
70
+ "entryPoint": {
71
+ "type": "string",
72
+ "format": "uri",
73
+ "description": "IdP SSO URL"
74
+ },
75
+ "cert": {
76
+ "type": "string",
77
+ "description": "IdP Public Certificate (PEM format)"
78
+ },
79
+ "issuer": {
80
+ "type": "string",
81
+ "description": "Entity ID of the IdP"
82
+ },
83
+ "signatureAlgorithm": {
84
+ "type": "string",
85
+ "enum": [
86
+ "sha256",
87
+ "sha512"
88
+ ],
89
+ "default": "sha256",
90
+ "description": "Signature algorithm"
91
+ },
92
+ "attributeMapping": {
93
+ "type": "object",
94
+ "additionalProperties": {
95
+ "type": "string"
96
+ },
97
+ "description": "Map SAML attributes to User fields"
98
+ },
99
+ "displayName": {
100
+ "type": "string",
101
+ "description": "Display name for the provider button"
102
+ },
103
+ "icon": {
104
+ "type": "string",
105
+ "description": "Icon URL or identifier"
106
+ }
107
+ },
108
+ "required": [
109
+ "entryPoint",
110
+ "cert",
111
+ "issuer"
112
+ ],
113
+ "additionalProperties": false,
114
+ "description": "SAML 2.0 configuration"
115
+ },
116
+ "ldap": {
117
+ "type": "object",
118
+ "properties": {
119
+ "enabled": {
120
+ "type": "boolean",
121
+ "default": false
122
+ },
123
+ "url": {
124
+ "type": "string",
125
+ "format": "uri",
126
+ "description": "LDAP Server URL (ldap:// or ldaps://)"
127
+ },
128
+ "bindDn": {
129
+ "type": "string",
130
+ "description": "Bind DN for LDAP authentication"
131
+ },
132
+ "bindCredentials": {
133
+ "type": "string",
134
+ "description": "Bind credentials"
135
+ },
136
+ "searchBase": {
137
+ "type": "string",
138
+ "description": "Search base DN"
139
+ },
140
+ "searchFilter": {
141
+ "type": "string",
142
+ "description": "Search filter"
143
+ },
144
+ "groupSearchBase": {
145
+ "type": "string",
146
+ "description": "Group search base DN"
147
+ },
148
+ "displayName": {
149
+ "type": "string",
150
+ "description": "Display name for the provider button"
151
+ },
152
+ "icon": {
153
+ "type": "string",
154
+ "description": "Icon URL or identifier"
155
+ }
156
+ },
157
+ "required": [
158
+ "url",
159
+ "bindDn",
160
+ "bindCredentials",
161
+ "searchBase",
162
+ "searchFilter"
163
+ ],
164
+ "additionalProperties": false,
165
+ "description": "LDAP/Active Directory configuration"
166
+ }
167
+ },
168
+ "additionalProperties": false
169
+ }
170
+ },
171
+ "$schema": "http://json-schema.org/draft-07/schema#"
172
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "$ref": "#/definitions/Entity",
3
+ "definitions": {
4
+ "Entity": {
5
+ "type": "object",
6
+ "properties": {
7
+ "type": {
8
+ "type": "string",
9
+ "enum": [
10
+ "object",
11
+ "field",
12
+ "value",
13
+ "operator",
14
+ "function",
15
+ "timeframe"
16
+ ]
17
+ },
18
+ "text": {
19
+ "type": "string",
20
+ "description": "Original text from query"
21
+ },
22
+ "value": {
23
+ "description": "Normalized value"
24
+ },
25
+ "confidence": {
26
+ "type": "number",
27
+ "minimum": 0,
28
+ "maximum": 1,
29
+ "description": "Confidence score"
30
+ },
31
+ "span": {
32
+ "type": "array",
33
+ "minItems": 2,
34
+ "maxItems": 2,
35
+ "items": [
36
+ {
37
+ "type": "number"
38
+ },
39
+ {
40
+ "type": "number"
41
+ }
42
+ ],
43
+ "description": "Character span in query"
44
+ }
45
+ },
46
+ "required": [
47
+ "type",
48
+ "text",
49
+ "confidence"
50
+ ],
51
+ "additionalProperties": false
52
+ }
53
+ },
54
+ "$schema": "http://json-schema.org/draft-07/schema#"
55
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "$ref": "#/definitions/EqualityOperator",
3
+ "definitions": {
4
+ "EqualityOperator": {
5
+ "type": "object",
6
+ "properties": {
7
+ "$eq": {},
8
+ "$ne": {}
9
+ },
10
+ "additionalProperties": false
11
+ }
12
+ },
13
+ "$schema": "http://json-schema.org/draft-07/schema#"
14
+ }
@@ -0,0 +1,108 @@
1
+ {
2
+ "$ref": "#/definitions/FieldOperators",
3
+ "definitions": {
4
+ "FieldOperators": {
5
+ "type": "object",
6
+ "properties": {
7
+ "$eq": {},
8
+ "$ne": {},
9
+ "$gt": {
10
+ "anyOf": [
11
+ {
12
+ "type": "number"
13
+ },
14
+ {
15
+ "type": "string",
16
+ "format": "date-time"
17
+ }
18
+ ]
19
+ },
20
+ "$gte": {
21
+ "anyOf": [
22
+ {
23
+ "type": "number"
24
+ },
25
+ {
26
+ "type": "string",
27
+ "format": "date-time"
28
+ }
29
+ ]
30
+ },
31
+ "$lt": {
32
+ "anyOf": [
33
+ {
34
+ "type": "number"
35
+ },
36
+ {
37
+ "type": "string",
38
+ "format": "date-time"
39
+ }
40
+ ]
41
+ },
42
+ "$lte": {
43
+ "anyOf": [
44
+ {
45
+ "type": "number"
46
+ },
47
+ {
48
+ "type": "string",
49
+ "format": "date-time"
50
+ }
51
+ ]
52
+ },
53
+ "$in": {
54
+ "type": "array"
55
+ },
56
+ "$nin": {
57
+ "type": "array"
58
+ },
59
+ "$between": {
60
+ "type": "array",
61
+ "minItems": 2,
62
+ "maxItems": 2,
63
+ "items": [
64
+ {
65
+ "anyOf": [
66
+ {
67
+ "type": "number"
68
+ },
69
+ {
70
+ "type": "string",
71
+ "format": "date-time"
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ "anyOf": [
77
+ {
78
+ "type": "number"
79
+ },
80
+ {
81
+ "type": "string",
82
+ "format": "date-time"
83
+ }
84
+ ]
85
+ }
86
+ ]
87
+ },
88
+ "$contains": {
89
+ "type": "string"
90
+ },
91
+ "$startsWith": {
92
+ "type": "string"
93
+ },
94
+ "$endsWith": {
95
+ "type": "string"
96
+ },
97
+ "$null": {
98
+ "type": "boolean"
99
+ },
100
+ "$exist": {
101
+ "type": "boolean"
102
+ }
103
+ },
104
+ "additionalProperties": false
105
+ }
106
+ },
107
+ "$schema": "http://json-schema.org/draft-07/schema#"
108
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "$ref": "#/definitions/FieldSynonymConfig",
3
+ "definitions": {
4
+ "FieldSynonymConfig": {
5
+ "type": "object",
6
+ "properties": {
7
+ "object": {
8
+ "type": "string",
9
+ "description": "Object name"
10
+ },
11
+ "field": {
12
+ "type": "string",
13
+ "description": "Field name"
14
+ },
15
+ "synonyms": {
16
+ "type": "array",
17
+ "items": {
18
+ "type": "string"
19
+ },
20
+ "description": "Natural language synonyms"
21
+ },
22
+ "examples": {
23
+ "type": "array",
24
+ "items": {
25
+ "type": "string"
26
+ },
27
+ "description": "Example queries using synonyms"
28
+ }
29
+ },
30
+ "required": [
31
+ "object",
32
+ "field",
33
+ "synonyms"
34
+ ],
35
+ "additionalProperties": false
36
+ }
37
+ },
38
+ "$schema": "http://json-schema.org/draft-07/schema#"
39
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$ref": "#/definitions/FilterCondition",
3
+ "definitions": {
4
+ "FilterCondition": {
5
+ "allOf": [
6
+ {
7
+ "type": "object",
8
+ "additionalProperties": {}
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "$and": {
14
+ "type": "array",
15
+ "items": {}
16
+ },
17
+ "$or": {
18
+ "type": "array",
19
+ "items": {}
20
+ },
21
+ "$not": {}
22
+ }
23
+ }
24
+ ]
25
+ }
26
+ },
27
+ "$schema": "http://json-schema.org/draft-07/schema#"
28
+ }