@objectstack/spec 0.2.0 → 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 (103) 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/index.d.ts +21 -0
  18. package/dist/data/index.d.ts.map +1 -0
  19. package/dist/data/index.js +36 -0
  20. package/dist/data/query.zod.d.ts +386 -3
  21. package/dist/data/query.zod.d.ts.map +1 -1
  22. package/dist/data/query.zod.js +386 -3
  23. package/dist/data/validation.zod.d.ts +349 -0
  24. package/dist/data/validation.zod.d.ts.map +1 -1
  25. package/dist/data/validation.zod.js +395 -0
  26. package/dist/index.d.ts +36 -41
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +64 -49
  29. package/dist/system/auth-protocol.d.ts +175 -0
  30. package/dist/system/auth-protocol.d.ts.map +1 -0
  31. package/dist/system/auth-protocol.js +60 -0
  32. package/dist/system/auth.zod.d.ts +1097 -65
  33. package/dist/system/auth.zod.d.ts.map +1 -1
  34. package/dist/system/auth.zod.js +135 -1
  35. package/dist/system/identity.zod.d.ts +234 -180
  36. package/dist/system/identity.zod.d.ts.map +1 -1
  37. package/dist/system/identity.zod.js +168 -51
  38. package/dist/system/index.d.ts +28 -0
  39. package/dist/system/index.d.ts.map +1 -0
  40. package/dist/system/index.js +43 -0
  41. package/dist/system/manifest.zod.d.ts +10 -10
  42. package/dist/system/organization.zod.d.ts +179 -0
  43. package/dist/system/organization.zod.d.ts.map +1 -0
  44. package/dist/system/organization.zod.js +129 -0
  45. package/dist/ui/action.zod.d.ts +2 -2
  46. package/dist/ui/index.d.ts +17 -0
  47. package/dist/ui/index.d.ts.map +1 -0
  48. package/dist/ui/index.js +32 -0
  49. package/dist/ui/theme.zod.d.ts +6 -6
  50. package/json-schema/Account.json +87 -0
  51. package/json-schema/AuthConfig.json +235 -0
  52. package/json-schema/ChunkingStrategy.json +133 -0
  53. package/json-schema/DatabaseMapping.json +48 -0
  54. package/json-schema/DocumentChunk.json +97 -0
  55. package/json-schema/DocumentLoaderConfig.json +69 -0
  56. package/json-schema/DocumentMetadata.json +61 -0
  57. package/json-schema/EmbeddingModel.json +57 -0
  58. package/json-schema/EnterpriseAuthConfig.json +172 -0
  59. package/json-schema/Entity.json +55 -0
  60. package/json-schema/FieldSynonymConfig.json +39 -0
  61. package/json-schema/Invitation.json +69 -0
  62. package/json-schema/InvitationStatus.json +15 -0
  63. package/json-schema/LDAPConfig.json +22 -5
  64. package/json-schema/Member.json +46 -0
  65. package/json-schema/ModelCapability.json +47 -0
  66. package/json-schema/ModelConfig.json +181 -0
  67. package/json-schema/ModelLimits.json +45 -0
  68. package/json-schema/ModelPricing.json +28 -0
  69. package/json-schema/ModelProvider.json +19 -0
  70. package/json-schema/ModelRegistry.json +427 -0
  71. package/json-schema/ModelRegistryEntry.json +239 -0
  72. package/json-schema/ModelSelectionCriteria.json +50 -0
  73. package/json-schema/NLQAnalytics.json +106 -0
  74. package/json-schema/NLQFieldMapping.json +40 -0
  75. package/json-schema/NLQModelConfig.json +78 -0
  76. package/json-schema/NLQParseResult.json +252 -0
  77. package/json-schema/NLQRequest.json +110 -0
  78. package/json-schema/NLQResponse.json +288 -0
  79. package/json-schema/NLQTrainingExample.json +120 -0
  80. package/json-schema/OIDCConfig.json +18 -3
  81. package/json-schema/Organization.json +52 -0
  82. package/json-schema/PromptTemplate.json +163 -0
  83. package/json-schema/PromptVariable.json +56 -0
  84. package/json-schema/QueryContext.json +72 -0
  85. package/json-schema/QueryIntent.json +21 -0
  86. package/json-schema/QueryTemplate.json +81 -0
  87. package/json-schema/RAGPipelineConfig.json +552 -0
  88. package/json-schema/RAGPipelineStatus.json +66 -0
  89. package/json-schema/RAGQueryRequest.json +64 -0
  90. package/json-schema/RAGQueryResponse.json +108 -0
  91. package/json-schema/RerankingConfig.json +34 -0
  92. package/json-schema/RetrievalStrategy.json +121 -0
  93. package/json-schema/SAMLConfig.json +17 -3
  94. package/json-schema/Session.json +63 -0
  95. package/json-schema/StandardAuthProvider.json +235 -0
  96. package/json-schema/Timeframe.json +68 -0
  97. package/json-schema/User.json +51 -0
  98. package/json-schema/VectorStoreConfig.json +82 -0
  99. package/json-schema/VectorStoreProvider.json +21 -0
  100. package/json-schema/VerificationToken.json +36 -0
  101. package/package.json +27 -1
  102. package/json-schema/AuthProtocol.json +0 -17
  103. package/json-schema/AuthProvider.json +0 -171
@@ -0,0 +1,427 @@
1
+ {
2
+ "$ref": "#/definitions/ModelRegistry",
3
+ "definitions": {
4
+ "ModelRegistry": {
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "Registry name"
10
+ },
11
+ "models": {
12
+ "type": "object",
13
+ "additionalProperties": {
14
+ "type": "object",
15
+ "properties": {
16
+ "model": {
17
+ "type": "object",
18
+ "properties": {
19
+ "id": {
20
+ "type": "string",
21
+ "description": "Unique model identifier"
22
+ },
23
+ "name": {
24
+ "type": "string",
25
+ "description": "Model display name"
26
+ },
27
+ "version": {
28
+ "type": "string",
29
+ "description": "Model version (e.g., \"gpt-4-turbo-2024-04-09\")"
30
+ },
31
+ "provider": {
32
+ "type": "string",
33
+ "enum": [
34
+ "openai",
35
+ "azure_openai",
36
+ "anthropic",
37
+ "google",
38
+ "cohere",
39
+ "huggingface",
40
+ "local",
41
+ "custom"
42
+ ]
43
+ },
44
+ "capabilities": {
45
+ "type": "object",
46
+ "properties": {
47
+ "textGeneration": {
48
+ "type": "boolean",
49
+ "default": true,
50
+ "description": "Supports text generation"
51
+ },
52
+ "textEmbedding": {
53
+ "type": "boolean",
54
+ "default": false,
55
+ "description": "Supports text embedding"
56
+ },
57
+ "imageGeneration": {
58
+ "type": "boolean",
59
+ "default": false,
60
+ "description": "Supports image generation"
61
+ },
62
+ "imageUnderstanding": {
63
+ "type": "boolean",
64
+ "default": false,
65
+ "description": "Supports image understanding"
66
+ },
67
+ "functionCalling": {
68
+ "type": "boolean",
69
+ "default": false,
70
+ "description": "Supports function calling"
71
+ },
72
+ "codeGeneration": {
73
+ "type": "boolean",
74
+ "default": false,
75
+ "description": "Supports code generation"
76
+ },
77
+ "reasoning": {
78
+ "type": "boolean",
79
+ "default": false,
80
+ "description": "Supports advanced reasoning"
81
+ }
82
+ },
83
+ "additionalProperties": false
84
+ },
85
+ "limits": {
86
+ "type": "object",
87
+ "properties": {
88
+ "maxTokens": {
89
+ "type": "integer",
90
+ "exclusiveMinimum": 0,
91
+ "description": "Maximum tokens per request"
92
+ },
93
+ "contextWindow": {
94
+ "type": "integer",
95
+ "exclusiveMinimum": 0,
96
+ "description": "Context window size"
97
+ },
98
+ "maxOutputTokens": {
99
+ "type": "integer",
100
+ "exclusiveMinimum": 0,
101
+ "description": "Maximum output tokens"
102
+ },
103
+ "rateLimit": {
104
+ "type": "object",
105
+ "properties": {
106
+ "requestsPerMinute": {
107
+ "type": "integer",
108
+ "exclusiveMinimum": 0
109
+ },
110
+ "tokensPerMinute": {
111
+ "type": "integer",
112
+ "exclusiveMinimum": 0
113
+ }
114
+ },
115
+ "additionalProperties": false
116
+ }
117
+ },
118
+ "required": [
119
+ "maxTokens",
120
+ "contextWindow"
121
+ ],
122
+ "additionalProperties": false
123
+ },
124
+ "pricing": {
125
+ "type": "object",
126
+ "properties": {
127
+ "currency": {
128
+ "type": "string",
129
+ "default": "USD"
130
+ },
131
+ "inputCostPer1kTokens": {
132
+ "type": "number",
133
+ "description": "Cost per 1K input tokens"
134
+ },
135
+ "outputCostPer1kTokens": {
136
+ "type": "number",
137
+ "description": "Cost per 1K output tokens"
138
+ },
139
+ "embeddingCostPer1kTokens": {
140
+ "type": "number",
141
+ "description": "Cost per 1K embedding tokens"
142
+ }
143
+ },
144
+ "additionalProperties": false
145
+ },
146
+ "endpoint": {
147
+ "type": "string",
148
+ "format": "uri",
149
+ "description": "Custom API endpoint"
150
+ },
151
+ "apiKey": {
152
+ "type": "string",
153
+ "description": "API key or reference to secret"
154
+ },
155
+ "region": {
156
+ "type": "string",
157
+ "description": "Deployment region (e.g., \"us-east-1\")"
158
+ },
159
+ "description": {
160
+ "type": "string"
161
+ },
162
+ "tags": {
163
+ "type": "array",
164
+ "items": {
165
+ "type": "string"
166
+ },
167
+ "description": "Tags for categorization"
168
+ },
169
+ "deprecated": {
170
+ "type": "boolean",
171
+ "default": false
172
+ },
173
+ "recommendedFor": {
174
+ "type": "array",
175
+ "items": {
176
+ "type": "string"
177
+ },
178
+ "description": "Use case recommendations"
179
+ }
180
+ },
181
+ "required": [
182
+ "id",
183
+ "name",
184
+ "version",
185
+ "provider",
186
+ "capabilities",
187
+ "limits"
188
+ ],
189
+ "additionalProperties": false
190
+ },
191
+ "status": {
192
+ "type": "string",
193
+ "enum": [
194
+ "active",
195
+ "deprecated",
196
+ "experimental",
197
+ "disabled"
198
+ ],
199
+ "default": "active"
200
+ },
201
+ "priority": {
202
+ "type": "integer",
203
+ "default": 0,
204
+ "description": "Priority for model selection"
205
+ },
206
+ "fallbackModels": {
207
+ "type": "array",
208
+ "items": {
209
+ "type": "string"
210
+ },
211
+ "description": "Fallback model IDs"
212
+ },
213
+ "healthCheck": {
214
+ "type": "object",
215
+ "properties": {
216
+ "enabled": {
217
+ "type": "boolean",
218
+ "default": true
219
+ },
220
+ "intervalSeconds": {
221
+ "type": "integer",
222
+ "default": 300
223
+ },
224
+ "lastChecked": {
225
+ "type": "string",
226
+ "description": "ISO timestamp"
227
+ },
228
+ "status": {
229
+ "type": "string",
230
+ "enum": [
231
+ "healthy",
232
+ "unhealthy",
233
+ "unknown"
234
+ ],
235
+ "default": "unknown"
236
+ }
237
+ },
238
+ "additionalProperties": false
239
+ }
240
+ },
241
+ "required": [
242
+ "model"
243
+ ],
244
+ "additionalProperties": false
245
+ },
246
+ "description": "Model entries by ID"
247
+ },
248
+ "promptTemplates": {
249
+ "type": "object",
250
+ "additionalProperties": {
251
+ "type": "object",
252
+ "properties": {
253
+ "id": {
254
+ "type": "string",
255
+ "description": "Unique template identifier"
256
+ },
257
+ "name": {
258
+ "type": "string",
259
+ "pattern": "^[a-z_][a-z0-9_]*$",
260
+ "description": "Template name (snake_case)"
261
+ },
262
+ "label": {
263
+ "type": "string",
264
+ "description": "Display name"
265
+ },
266
+ "system": {
267
+ "type": "string",
268
+ "description": "System prompt"
269
+ },
270
+ "user": {
271
+ "type": "string",
272
+ "description": "User prompt template with variables"
273
+ },
274
+ "assistant": {
275
+ "type": "string",
276
+ "description": "Assistant message prefix"
277
+ },
278
+ "variables": {
279
+ "type": "array",
280
+ "items": {
281
+ "type": "object",
282
+ "properties": {
283
+ "name": {
284
+ "type": "string",
285
+ "description": "Variable name (e.g., \"user_name\", \"context\")"
286
+ },
287
+ "type": {
288
+ "type": "string",
289
+ "enum": [
290
+ "string",
291
+ "number",
292
+ "boolean",
293
+ "object",
294
+ "array"
295
+ ],
296
+ "default": "string"
297
+ },
298
+ "required": {
299
+ "type": "boolean",
300
+ "default": false
301
+ },
302
+ "defaultValue": {},
303
+ "description": {
304
+ "type": "string"
305
+ },
306
+ "validation": {
307
+ "type": "object",
308
+ "properties": {
309
+ "minLength": {
310
+ "type": "number"
311
+ },
312
+ "maxLength": {
313
+ "type": "number"
314
+ },
315
+ "pattern": {
316
+ "type": "string"
317
+ },
318
+ "enum": {
319
+ "type": "array"
320
+ }
321
+ },
322
+ "additionalProperties": false
323
+ }
324
+ },
325
+ "required": [
326
+ "name"
327
+ ],
328
+ "additionalProperties": false
329
+ },
330
+ "description": "Template variables"
331
+ },
332
+ "modelId": {
333
+ "type": "string",
334
+ "description": "Recommended model ID"
335
+ },
336
+ "temperature": {
337
+ "type": "number",
338
+ "minimum": 0,
339
+ "maximum": 2
340
+ },
341
+ "maxTokens": {
342
+ "type": "number"
343
+ },
344
+ "topP": {
345
+ "type": "number"
346
+ },
347
+ "frequencyPenalty": {
348
+ "type": "number"
349
+ },
350
+ "presencePenalty": {
351
+ "type": "number"
352
+ },
353
+ "stopSequences": {
354
+ "type": "array",
355
+ "items": {
356
+ "type": "string"
357
+ }
358
+ },
359
+ "version": {
360
+ "type": "string",
361
+ "default": "1.0.0"
362
+ },
363
+ "description": {
364
+ "type": "string"
365
+ },
366
+ "category": {
367
+ "type": "string",
368
+ "description": "Template category (e.g., \"code_generation\", \"support\")"
369
+ },
370
+ "tags": {
371
+ "type": "array",
372
+ "items": {
373
+ "type": "string"
374
+ }
375
+ },
376
+ "examples": {
377
+ "type": "array",
378
+ "items": {
379
+ "type": "object",
380
+ "properties": {
381
+ "input": {
382
+ "type": "object",
383
+ "additionalProperties": {},
384
+ "description": "Example variable values"
385
+ },
386
+ "output": {
387
+ "type": "string",
388
+ "description": "Expected output"
389
+ }
390
+ },
391
+ "required": [
392
+ "input",
393
+ "output"
394
+ ],
395
+ "additionalProperties": false
396
+ }
397
+ }
398
+ },
399
+ "required": [
400
+ "id",
401
+ "name",
402
+ "label",
403
+ "user"
404
+ ],
405
+ "additionalProperties": false
406
+ },
407
+ "description": "Prompt templates by name"
408
+ },
409
+ "defaultModel": {
410
+ "type": "string",
411
+ "description": "Default model ID"
412
+ },
413
+ "enableAutoFallback": {
414
+ "type": "boolean",
415
+ "default": true,
416
+ "description": "Auto-fallback on errors"
417
+ }
418
+ },
419
+ "required": [
420
+ "name",
421
+ "models"
422
+ ],
423
+ "additionalProperties": false
424
+ }
425
+ },
426
+ "$schema": "http://json-schema.org/draft-07/schema#"
427
+ }
@@ -0,0 +1,239 @@
1
+ {
2
+ "$ref": "#/definitions/ModelRegistryEntry",
3
+ "definitions": {
4
+ "ModelRegistryEntry": {
5
+ "type": "object",
6
+ "properties": {
7
+ "model": {
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "type": "string",
12
+ "description": "Unique model identifier"
13
+ },
14
+ "name": {
15
+ "type": "string",
16
+ "description": "Model display name"
17
+ },
18
+ "version": {
19
+ "type": "string",
20
+ "description": "Model version (e.g., \"gpt-4-turbo-2024-04-09\")"
21
+ },
22
+ "provider": {
23
+ "type": "string",
24
+ "enum": [
25
+ "openai",
26
+ "azure_openai",
27
+ "anthropic",
28
+ "google",
29
+ "cohere",
30
+ "huggingface",
31
+ "local",
32
+ "custom"
33
+ ]
34
+ },
35
+ "capabilities": {
36
+ "type": "object",
37
+ "properties": {
38
+ "textGeneration": {
39
+ "type": "boolean",
40
+ "default": true,
41
+ "description": "Supports text generation"
42
+ },
43
+ "textEmbedding": {
44
+ "type": "boolean",
45
+ "default": false,
46
+ "description": "Supports text embedding"
47
+ },
48
+ "imageGeneration": {
49
+ "type": "boolean",
50
+ "default": false,
51
+ "description": "Supports image generation"
52
+ },
53
+ "imageUnderstanding": {
54
+ "type": "boolean",
55
+ "default": false,
56
+ "description": "Supports image understanding"
57
+ },
58
+ "functionCalling": {
59
+ "type": "boolean",
60
+ "default": false,
61
+ "description": "Supports function calling"
62
+ },
63
+ "codeGeneration": {
64
+ "type": "boolean",
65
+ "default": false,
66
+ "description": "Supports code generation"
67
+ },
68
+ "reasoning": {
69
+ "type": "boolean",
70
+ "default": false,
71
+ "description": "Supports advanced reasoning"
72
+ }
73
+ },
74
+ "additionalProperties": false
75
+ },
76
+ "limits": {
77
+ "type": "object",
78
+ "properties": {
79
+ "maxTokens": {
80
+ "type": "integer",
81
+ "exclusiveMinimum": 0,
82
+ "description": "Maximum tokens per request"
83
+ },
84
+ "contextWindow": {
85
+ "type": "integer",
86
+ "exclusiveMinimum": 0,
87
+ "description": "Context window size"
88
+ },
89
+ "maxOutputTokens": {
90
+ "type": "integer",
91
+ "exclusiveMinimum": 0,
92
+ "description": "Maximum output tokens"
93
+ },
94
+ "rateLimit": {
95
+ "type": "object",
96
+ "properties": {
97
+ "requestsPerMinute": {
98
+ "type": "integer",
99
+ "exclusiveMinimum": 0
100
+ },
101
+ "tokensPerMinute": {
102
+ "type": "integer",
103
+ "exclusiveMinimum": 0
104
+ }
105
+ },
106
+ "additionalProperties": false
107
+ }
108
+ },
109
+ "required": [
110
+ "maxTokens",
111
+ "contextWindow"
112
+ ],
113
+ "additionalProperties": false
114
+ },
115
+ "pricing": {
116
+ "type": "object",
117
+ "properties": {
118
+ "currency": {
119
+ "type": "string",
120
+ "default": "USD"
121
+ },
122
+ "inputCostPer1kTokens": {
123
+ "type": "number",
124
+ "description": "Cost per 1K input tokens"
125
+ },
126
+ "outputCostPer1kTokens": {
127
+ "type": "number",
128
+ "description": "Cost per 1K output tokens"
129
+ },
130
+ "embeddingCostPer1kTokens": {
131
+ "type": "number",
132
+ "description": "Cost per 1K embedding tokens"
133
+ }
134
+ },
135
+ "additionalProperties": false
136
+ },
137
+ "endpoint": {
138
+ "type": "string",
139
+ "format": "uri",
140
+ "description": "Custom API endpoint"
141
+ },
142
+ "apiKey": {
143
+ "type": "string",
144
+ "description": "API key or reference to secret"
145
+ },
146
+ "region": {
147
+ "type": "string",
148
+ "description": "Deployment region (e.g., \"us-east-1\")"
149
+ },
150
+ "description": {
151
+ "type": "string"
152
+ },
153
+ "tags": {
154
+ "type": "array",
155
+ "items": {
156
+ "type": "string"
157
+ },
158
+ "description": "Tags for categorization"
159
+ },
160
+ "deprecated": {
161
+ "type": "boolean",
162
+ "default": false
163
+ },
164
+ "recommendedFor": {
165
+ "type": "array",
166
+ "items": {
167
+ "type": "string"
168
+ },
169
+ "description": "Use case recommendations"
170
+ }
171
+ },
172
+ "required": [
173
+ "id",
174
+ "name",
175
+ "version",
176
+ "provider",
177
+ "capabilities",
178
+ "limits"
179
+ ],
180
+ "additionalProperties": false
181
+ },
182
+ "status": {
183
+ "type": "string",
184
+ "enum": [
185
+ "active",
186
+ "deprecated",
187
+ "experimental",
188
+ "disabled"
189
+ ],
190
+ "default": "active"
191
+ },
192
+ "priority": {
193
+ "type": "integer",
194
+ "default": 0,
195
+ "description": "Priority for model selection"
196
+ },
197
+ "fallbackModels": {
198
+ "type": "array",
199
+ "items": {
200
+ "type": "string"
201
+ },
202
+ "description": "Fallback model IDs"
203
+ },
204
+ "healthCheck": {
205
+ "type": "object",
206
+ "properties": {
207
+ "enabled": {
208
+ "type": "boolean",
209
+ "default": true
210
+ },
211
+ "intervalSeconds": {
212
+ "type": "integer",
213
+ "default": 300
214
+ },
215
+ "lastChecked": {
216
+ "type": "string",
217
+ "description": "ISO timestamp"
218
+ },
219
+ "status": {
220
+ "type": "string",
221
+ "enum": [
222
+ "healthy",
223
+ "unhealthy",
224
+ "unknown"
225
+ ],
226
+ "default": "unknown"
227
+ }
228
+ },
229
+ "additionalProperties": false
230
+ }
231
+ },
232
+ "required": [
233
+ "model"
234
+ ],
235
+ "additionalProperties": false
236
+ }
237
+ },
238
+ "$schema": "http://json-schema.org/draft-07/schema#"
239
+ }