@semiont/core 0.2.1 → 0.2.2-build.12

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 (90) hide show
  1. package/dist/index.d.ts +1367 -27
  2. package/dist/index.js +1455 -78
  3. package/dist/index.js.map +1 -1
  4. package/package.json +18 -8
  5. package/dist/annotation-history-utils.d.ts +0 -42
  6. package/dist/annotation-history-utils.d.ts.map +0 -1
  7. package/dist/annotation-history-utils.js +0 -258
  8. package/dist/annotation-history-utils.js.map +0 -1
  9. package/dist/annotation-types.d.ts +0 -15
  10. package/dist/annotation-types.d.ts.map +0 -1
  11. package/dist/annotation-types.js +0 -6
  12. package/dist/annotation-types.js.map +0 -1
  13. package/dist/annotation-utils.d.ts +0 -18
  14. package/dist/annotation-utils.d.ts.map +0 -1
  15. package/dist/annotation-utils.js +0 -70
  16. package/dist/annotation-utils.js.map +0 -1
  17. package/dist/auth-types.d.ts +0 -8
  18. package/dist/auth-types.d.ts.map +0 -1
  19. package/dist/auth-types.js +0 -6
  20. package/dist/auth-types.js.map +0 -1
  21. package/dist/config/config-validator.d.ts +0 -25
  22. package/dist/config/config-validator.d.ts.map +0 -1
  23. package/dist/config/config-validator.js +0 -112
  24. package/dist/config/config-validator.js.map +0 -1
  25. package/dist/config/config.schema.json +0 -678
  26. package/dist/config/config.types.d.ts +0 -574
  27. package/dist/config/config.types.d.ts.map +0 -1
  28. package/dist/config/config.types.js +0 -4
  29. package/dist/config/config.types.js.map +0 -1
  30. package/dist/config/configuration-error.d.ts +0 -17
  31. package/dist/config/configuration-error.d.ts.map +0 -1
  32. package/dist/config/configuration-error.js +0 -36
  33. package/dist/config/configuration-error.js.map +0 -1
  34. package/dist/config/environment-loader.d.ts +0 -98
  35. package/dist/config/environment-loader.d.ts.map +0 -1
  36. package/dist/config/environment-loader.js +0 -229
  37. package/dist/config/environment-loader.js.map +0 -1
  38. package/dist/config/environment-validator.d.ts +0 -22
  39. package/dist/config/environment-validator.d.ts.map +0 -1
  40. package/dist/config/environment-validator.js +0 -50
  41. package/dist/config/environment-validator.js.map +0 -1
  42. package/dist/config/platform-types.d.ts +0 -26
  43. package/dist/config/platform-types.d.ts.map +0 -1
  44. package/dist/config/platform-types.js +0 -28
  45. package/dist/config/platform-types.js.map +0 -1
  46. package/dist/config/project-discovery.d.ts +0 -35
  47. package/dist/config/project-discovery.d.ts.map +0 -1
  48. package/dist/config/project-discovery.js +0 -99
  49. package/dist/config/project-discovery.js.map +0 -1
  50. package/dist/creation-methods.d.ts +0 -19
  51. package/dist/creation-methods.d.ts.map +0 -1
  52. package/dist/creation-methods.js +0 -18
  53. package/dist/creation-methods.js.map +0 -1
  54. package/dist/crypto.d.ts +0 -32
  55. package/dist/crypto.d.ts.map +0 -1
  56. package/dist/crypto.js +0 -52
  57. package/dist/crypto.js.map +0 -1
  58. package/dist/did-utils.d.ts +0 -51
  59. package/dist/did-utils.d.ts.map +0 -1
  60. package/dist/did-utils.js +0 -62
  61. package/dist/did-utils.js.map +0 -1
  62. package/dist/errors.d.ts +0 -51
  63. package/dist/errors.d.ts.map +0 -1
  64. package/dist/errors.js +0 -89
  65. package/dist/errors.js.map +0 -1
  66. package/dist/events.d.ts +0 -223
  67. package/dist/events.d.ts.map +0 -1
  68. package/dist/events.js +0 -45
  69. package/dist/events.js.map +0 -1
  70. package/dist/graph.d.ts +0 -31
  71. package/dist/graph.d.ts.map +0 -1
  72. package/dist/graph.js +0 -6
  73. package/dist/graph.js.map +0 -1
  74. package/dist/http-client.d.ts +0 -32
  75. package/dist/http-client.d.ts.map +0 -1
  76. package/dist/http-client.js +0 -56
  77. package/dist/http-client.js.map +0 -1
  78. package/dist/identifiers.d.ts +0 -24
  79. package/dist/identifiers.d.ts.map +0 -1
  80. package/dist/identifiers.js +0 -40
  81. package/dist/identifiers.js.map +0 -1
  82. package/dist/index.d.ts.map +0 -1
  83. package/dist/resource-types.d.ts +0 -15
  84. package/dist/resource-types.d.ts.map +0 -1
  85. package/dist/resource-types.js +0 -6
  86. package/dist/resource-types.js.map +0 -1
  87. package/dist/type-guards.d.ts +0 -44
  88. package/dist/type-guards.d.ts.map +0 -1
  89. package/dist/type-guards.js +0 -76
  90. package/dist/type-guards.js.map +0 -1
@@ -1,678 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://semiont.org/schemas/config.json",
4
- "definitions": {
5
- "PlatformType": {
6
- "type": "string",
7
- "enum": ["posix", "container", "aws", "external"]
8
- },
9
- "ServicePlatformConfig": {
10
- "type": "object",
11
- "properties": {
12
- "type": { "$ref": "#/definitions/PlatformType" }
13
- },
14
- "required": ["type"]
15
- },
16
- "ResourceRequirements": {
17
- "type": "object",
18
- "properties": {
19
- "cpu": { "type": "string" },
20
- "memory": { "type": "string" },
21
- "gpu": { "type": "integer" },
22
- "gpus": { "type": "integer" },
23
- "replicas": { "type": "integer" },
24
- "ephemeralStorage": { "type": "string" },
25
- "memoryReservation": { "type": "string" }
26
- },
27
- "additionalProperties": false
28
- },
29
- "SecurityRequirements": {
30
- "type": "object",
31
- "properties": {
32
- "readOnlyRootFilesystem": { "type": "boolean" },
33
- "runAsNonRoot": { "type": "boolean" },
34
- "runAsUser": { "type": "integer" },
35
- "runAsGroup": { "type": "integer" },
36
- "capabilities": {
37
- "oneOf": [
38
- { "type": "array", "items": { "type": "string" } },
39
- {
40
- "type": "object",
41
- "properties": {
42
- "add": { "type": "array", "items": { "type": "string" } },
43
- "drop": { "type": "array", "items": { "type": "string" } }
44
- }
45
- }
46
- ]
47
- },
48
- "privileged": { "type": "boolean" },
49
- "allowPrivilegeEscalation": { "type": "boolean" }
50
- },
51
- "additionalProperties": false
52
- },
53
- "BuildRequirements": {
54
- "type": "object",
55
- "properties": {
56
- "dockerfile": { "type": "string" },
57
- "buildContext": { "type": "string" },
58
- "buildArgs": { "type": "object", "additionalProperties": { "type": "string" } },
59
- "buildTarget": { "type": "string" },
60
- "prebuilt": { "type": "boolean" },
61
- "noCache": { "type": "boolean" }
62
- },
63
- "additionalProperties": false
64
- },
65
- "BackendServiceConfig": {
66
- "type": "object",
67
- "properties": {
68
- "platform": { "$ref": "#/definitions/ServicePlatformConfig" },
69
- "devMode": { "type": "boolean" },
70
- "command": { "type": "string" },
71
- "port": { "type": "integer" },
72
- "publicURL": { "type": "string" },
73
- "corsOrigin": { "type": "string" },
74
- "image": { "type": "string" },
75
- "cpu": { "type": "string" },
76
- "memory": { "type": "string" },
77
- "semiontRepo": { "type": "string" },
78
- "databaseUrl": { "type": "string" },
79
- "projectRoot": { "type": "string" },
80
- "timeout": { "type": "integer" },
81
- "wait": { "type": "integer" },
82
- "logsEndpoint": { "type": "string" },
83
- "tag": { "type": "string" },
84
- "resources": { "$ref": "#/definitions/ResourceRequirements" },
85
- "security": { "$ref": "#/definitions/SecurityRequirements" },
86
- "build": {
87
- "oneOf": [
88
- { "type": "boolean" },
89
- { "$ref": "#/definitions/BuildRequirements" }
90
- ]
91
- },
92
- "dockerfile": { "type": "string" },
93
- "buildContext": { "type": "string" },
94
- "buildArgs": { "type": "object", "additionalProperties": { "type": "string" } },
95
- "buildTarget": { "type": "string" },
96
- "prebuilt": { "type": "boolean" },
97
- "noCache": { "type": "boolean" },
98
- "secrets": { "type": "array", "items": { "type": "string" } },
99
- "labels": { "type": "object", "additionalProperties": { "type": "string" } },
100
- "annotations": { "type": "object", "additionalProperties": { "type": "string" } },
101
- "dependencies": { "type": "array", "items": { "type": "string" } },
102
- "externalDependencies": {
103
- "type": "array",
104
- "items": {
105
- "oneOf": [
106
- { "type": "string" },
107
- {
108
- "type": "object",
109
- "properties": {
110
- "name": { "type": "string" },
111
- "url": { "type": "string" },
112
- "required": { "type": "boolean" },
113
- "healthCheck": { "type": "string" }
114
- }
115
- }
116
- ]
117
- }
118
- },
119
- "redisUrl": { "type": "string" },
120
- "environment": { "type": "object", "additionalProperties": { "type": "string" } },
121
- "env": { "type": "object", "additionalProperties": { "type": "string" } }
122
- },
123
- "required": ["platform", "port", "publicURL", "corsOrigin"],
124
- "additionalProperties": false
125
- },
126
- "FrontendServiceConfig": {
127
- "type": "object",
128
- "properties": {
129
- "platform": { "$ref": "#/definitions/ServicePlatformConfig" },
130
- "devMode": { "type": "boolean" },
131
- "command": { "type": "string" },
132
- "port": { "type": "integer" },
133
- "url": { "type": "string" },
134
- "siteName": { "type": "string" },
135
- "image": { "type": "string" },
136
- "semiontRepo": { "type": "string" },
137
- "projectRoot": { "type": "string" },
138
- "databaseUrl": { "type": "string" },
139
- "timeout": { "type": "integer" },
140
- "wait": { "type": "integer" },
141
- "logsEndpoint": { "type": "string" },
142
- "tag": { "type": "string" },
143
- "resources": { "$ref": "#/definitions/ResourceRequirements" },
144
- "security": { "$ref": "#/definitions/SecurityRequirements" },
145
- "build": {
146
- "oneOf": [
147
- { "type": "boolean" },
148
- { "$ref": "#/definitions/BuildRequirements" }
149
- ]
150
- },
151
- "dockerfile": { "type": "string" },
152
- "buildContext": { "type": "string" },
153
- "buildArgs": { "type": "object", "additionalProperties": { "type": "string" } },
154
- "buildTarget": { "type": "string" },
155
- "prebuilt": { "type": "boolean" },
156
- "noCache": { "type": "boolean" },
157
- "secrets": { "type": "array", "items": { "type": "string" } },
158
- "labels": { "type": "object", "additionalProperties": { "type": "string" } },
159
- "annotations": { "type": "object", "additionalProperties": { "type": "string" } },
160
- "dependencies": { "type": "array", "items": { "type": "string" } },
161
- "externalDependencies": {
162
- "type": "array",
163
- "items": {
164
- "oneOf": [
165
- { "type": "string" },
166
- {
167
- "type": "object",
168
- "properties": {
169
- "name": { "type": "string" },
170
- "url": { "type": "string" },
171
- "required": { "type": "boolean" },
172
- "healthCheck": { "type": "string" }
173
- }
174
- }
175
- ]
176
- }
177
- },
178
- "environment": { "type": "object", "additionalProperties": { "type": "string" } },
179
- "env": { "type": "object", "additionalProperties": { "type": "string" } }
180
- },
181
- "required": ["platform", "port", "url", "siteName"],
182
- "additionalProperties": false
183
- },
184
- "DatabaseServiceConfig": {
185
- "type": "object",
186
- "properties": {
187
- "platform": { "$ref": "#/definitions/ServicePlatformConfig" },
188
- "type": { "type": "string" },
189
- "name": { "type": "string" },
190
- "host": { "type": "string" },
191
- "port": { "type": "integer" },
192
- "environment": { "type": "object", "additionalProperties": { "type": "string" } },
193
- "env": { "type": "object", "additionalProperties": { "type": "string" } },
194
- "description": { "type": "string" },
195
- "command": { "type": "string" },
196
- "image": { "type": "string" },
197
- "user": { "type": "string" },
198
- "username": { "type": "string" },
199
- "password": { "type": "string" },
200
- "database": { "type": "string" },
201
- "storageSize": { "type": "string" },
202
- "timeout": { "type": "integer" },
203
- "wait": { "type": "integer" },
204
- "logsEndpoint": { "type": "string" },
205
- "tag": { "type": "string" },
206
- "resources": { "$ref": "#/definitions/ResourceRequirements" },
207
- "security": { "$ref": "#/definitions/SecurityRequirements" },
208
- "build": {
209
- "oneOf": [
210
- { "type": "boolean" },
211
- { "$ref": "#/definitions/BuildRequirements" }
212
- ]
213
- },
214
- "dockerfile": { "type": "string" },
215
- "buildContext": { "type": "string" },
216
- "buildArgs": { "type": "object", "additionalProperties": { "type": "string" } },
217
- "buildTarget": { "type": "string" },
218
- "prebuilt": { "type": "boolean" },
219
- "noCache": { "type": "boolean" },
220
- "secrets": { "type": "array", "items": { "type": "string" } },
221
- "labels": { "type": "object", "additionalProperties": { "type": "string" } },
222
- "annotations": { "type": "object", "additionalProperties": { "type": "string" } },
223
- "dependencies": { "type": "array", "items": { "type": "string" } },
224
- "externalDependencies": {
225
- "type": "array",
226
- "items": {
227
- "oneOf": [
228
- { "type": "string" },
229
- {
230
- "type": "object",
231
- "properties": {
232
- "name": { "type": "string" },
233
- "url": { "type": "string" },
234
- "required": { "type": "boolean" },
235
- "healthCheck": { "type": "string" }
236
- }
237
- }
238
- ]
239
- }
240
- }
241
- },
242
- "required": ["platform", "type", "host", "port"],
243
- "additionalProperties": false
244
- },
245
- "GraphDatabaseType": {
246
- "type": "string",
247
- "enum": ["neo4j", "janusgraph", "neptune", "memory"]
248
- },
249
- "GraphServiceConfig": {
250
- "type": "object",
251
- "properties": {
252
- "platform": { "$ref": "#/definitions/ServicePlatformConfig" },
253
- "type": { "$ref": "#/definitions/GraphDatabaseType" },
254
- "name": { "type": "string" },
255
- "uri": { "type": "string" },
256
- "url": { "type": "string" },
257
- "username": { "type": "string" },
258
- "password": { "type": "string" },
259
- "database": { "type": "string" },
260
- "host": { "type": "string" },
261
- "port": { "type": "integer" },
262
- "storage": { "type": "string" },
263
- "index": { "type": "string" },
264
- "endpoint": { "type": "string" },
265
- "region": { "type": "string" },
266
- "command": { "type": "string" },
267
- "image": { "type": "string" },
268
- "janusgraphVersion": { "type": "string" },
269
- "javaOptions": { "type": "string" },
270
- "heapSize": { "type": "string" },
271
- "pageCacheSize": { "type": "string" },
272
- "noAuth": { "type": "boolean" },
273
- "dataPath": { "type": "string" },
274
- "timeout": { "type": "integer" },
275
- "wait": { "type": "integer" },
276
- "logsEndpoint": { "type": "string" },
277
- "tag": { "type": "string" },
278
- "resources": { "$ref": "#/definitions/ResourceRequirements" },
279
- "security": { "$ref": "#/definitions/SecurityRequirements" },
280
- "build": {
281
- "oneOf": [
282
- { "type": "boolean" },
283
- { "$ref": "#/definitions/BuildRequirements" }
284
- ]
285
- },
286
- "dockerfile": { "type": "string" },
287
- "buildContext": { "type": "string" },
288
- "buildArgs": { "type": "object", "additionalProperties": { "type": "string" } },
289
- "buildTarget": { "type": "string" },
290
- "prebuilt": { "type": "boolean" },
291
- "noCache": { "type": "boolean" },
292
- "secrets": { "type": "array", "items": { "type": "string" } },
293
- "labels": { "type": "object", "additionalProperties": { "type": "string" } },
294
- "annotations": { "type": "object", "additionalProperties": { "type": "string" } },
295
- "dependencies": { "type": "array", "items": { "type": "string" } },
296
- "externalDependencies": {
297
- "type": "array",
298
- "items": {
299
- "oneOf": [
300
- { "type": "string" },
301
- {
302
- "type": "object",
303
- "properties": {
304
- "name": { "type": "string" },
305
- "url": { "type": "string" },
306
- "required": { "type": "boolean" },
307
- "healthCheck": { "type": "string" }
308
- }
309
- }
310
- ]
311
- }
312
- },
313
- "environment": { "type": "object", "additionalProperties": { "type": "string" } },
314
- "env": { "type": "object", "additionalProperties": { "type": "string" } }
315
- },
316
- "required": ["platform", "type", "uri", "username", "password", "database"],
317
- "additionalProperties": false
318
- },
319
- "FilesystemServiceConfig": {
320
- "type": "object",
321
- "properties": {
322
- "platform": { "$ref": "#/definitions/ServicePlatformConfig" },
323
- "path": { "type": "string" },
324
- "description": { "type": "string" },
325
- "command": { "type": "string" },
326
- "image": { "type": "string" },
327
- "port": { "type": "integer" },
328
- "timeout": { "type": "integer" },
329
- "wait": { "type": "integer" },
330
- "logsEndpoint": { "type": "string" },
331
- "tag": { "type": "string" },
332
- "resources": { "$ref": "#/definitions/ResourceRequirements" },
333
- "security": { "$ref": "#/definitions/SecurityRequirements" },
334
- "build": {
335
- "oneOf": [
336
- { "type": "boolean" },
337
- { "$ref": "#/definitions/BuildRequirements" }
338
- ]
339
- },
340
- "dockerfile": { "type": "string" },
341
- "buildContext": { "type": "string" },
342
- "buildArgs": { "type": "object", "additionalProperties": { "type": "string" } },
343
- "buildTarget": { "type": "string" },
344
- "prebuilt": { "type": "boolean" },
345
- "noCache": { "type": "boolean" },
346
- "secrets": { "type": "array", "items": { "type": "string" } },
347
- "labels": { "type": "object", "additionalProperties": { "type": "string" } },
348
- "annotations": { "type": "object", "additionalProperties": { "type": "string" } },
349
- "dependencies": { "type": "array", "items": { "type": "string" } },
350
- "externalDependencies": {
351
- "type": "array",
352
- "items": {
353
- "oneOf": [
354
- { "type": "string" },
355
- {
356
- "type": "object",
357
- "properties": {
358
- "name": { "type": "string" },
359
- "url": { "type": "string" },
360
- "required": { "type": "boolean" },
361
- "healthCheck": { "type": "string" }
362
- }
363
- }
364
- ]
365
- }
366
- },
367
- "environment": { "type": "object", "additionalProperties": { "type": "string" } },
368
- "env": { "type": "object", "additionalProperties": { "type": "string" } }
369
- },
370
- "required": ["platform", "path"],
371
- "additionalProperties": false
372
- },
373
- "InferenceServiceConfig": {
374
- "type": "object",
375
- "properties": {
376
- "platform": { "$ref": "#/definitions/ServicePlatformConfig" },
377
- "type": { "type": "string" },
378
- "model": { "type": "string" },
379
- "maxTokens": { "type": "integer" },
380
- "endpoint": { "type": "string" },
381
- "baseURL": { "type": "string" },
382
- "apiKey": { "type": "string" },
383
- "command": { "type": "string" },
384
- "image": { "type": "string" },
385
- "port": { "type": "integer" },
386
- "organization": { "type": "string" },
387
- "timeout": { "type": "integer" },
388
- "wait": { "type": "integer" },
389
- "logsEndpoint": { "type": "string" },
390
- "tag": { "type": "string" },
391
- "resources": { "$ref": "#/definitions/ResourceRequirements" },
392
- "security": { "$ref": "#/definitions/SecurityRequirements" },
393
- "build": {
394
- "oneOf": [
395
- { "type": "boolean" },
396
- { "$ref": "#/definitions/BuildRequirements" }
397
- ]
398
- },
399
- "dockerfile": { "type": "string" },
400
- "buildContext": { "type": "string" },
401
- "buildArgs": { "type": "object", "additionalProperties": { "type": "string" } },
402
- "buildTarget": { "type": "string" },
403
- "prebuilt": { "type": "boolean" },
404
- "noCache": { "type": "boolean" },
405
- "secrets": { "type": "array", "items": { "type": "string" } },
406
- "labels": { "type": "object", "additionalProperties": { "type": "string" } },
407
- "annotations": { "type": "object", "additionalProperties": { "type": "string" } },
408
- "dependencies": { "type": "array", "items": { "type": "string" } },
409
- "externalDependencies": {
410
- "type": "array",
411
- "items": {
412
- "oneOf": [
413
- { "type": "string" },
414
- {
415
- "type": "object",
416
- "properties": {
417
- "name": { "type": "string" },
418
- "url": { "type": "string" },
419
- "required": { "type": "boolean" },
420
- "healthCheck": { "type": "string" }
421
- }
422
- }
423
- ]
424
- }
425
- },
426
- "environment": { "type": "object", "additionalProperties": { "type": "string" } },
427
- "env": { "type": "object", "additionalProperties": { "type": "string" } }
428
- },
429
- "required": ["platform", "type", "apiKey"],
430
- "additionalProperties": false
431
- },
432
- "McpServiceConfig": {
433
- "type": "object",
434
- "properties": {
435
- "platform": { "$ref": "#/definitions/ServicePlatformConfig" },
436
- "command": { "type": "string" },
437
- "image": { "type": "string" },
438
- "port": { "type": "integer" },
439
- "dependsOn": { "type": "array", "items": { "type": "string" } },
440
- "timeout": { "type": "integer" },
441
- "wait": { "type": "integer" },
442
- "logsEndpoint": { "type": "string" },
443
- "tag": { "type": "string" },
444
- "resources": { "$ref": "#/definitions/ResourceRequirements" },
445
- "security": { "$ref": "#/definitions/SecurityRequirements" },
446
- "build": {
447
- "oneOf": [
448
- { "type": "boolean" },
449
- { "$ref": "#/definitions/BuildRequirements" }
450
- ]
451
- },
452
- "dockerfile": { "type": "string" },
453
- "buildContext": { "type": "string" },
454
- "buildArgs": { "type": "object", "additionalProperties": { "type": "string" } },
455
- "buildTarget": { "type": "string" },
456
- "prebuilt": { "type": "boolean" },
457
- "noCache": { "type": "boolean" },
458
- "secrets": { "type": "array", "items": { "type": "string" } },
459
- "labels": { "type": "object", "additionalProperties": { "type": "string" } },
460
- "annotations": { "type": "object", "additionalProperties": { "type": "string" } },
461
- "dependencies": { "type": "array", "items": { "type": "string" } },
462
- "externalDependencies": {
463
- "type": "array",
464
- "items": {
465
- "oneOf": [
466
- { "type": "string" },
467
- {
468
- "type": "object",
469
- "properties": {
470
- "name": { "type": "string" },
471
- "url": { "type": "string" },
472
- "required": { "type": "boolean" },
473
- "healthCheck": { "type": "string" }
474
- }
475
- }
476
- ]
477
- }
478
- },
479
- "environment": { "type": "object", "additionalProperties": { "type": "string" } },
480
- "env": { "type": "object", "additionalProperties": { "type": "string" } }
481
- },
482
- "required": ["platform"],
483
- "additionalProperties": false
484
- },
485
- "ServicesConfig": {
486
- "type": "object",
487
- "properties": {
488
- "backend": { "$ref": "#/definitions/BackendServiceConfig" },
489
- "frontend": { "$ref": "#/definitions/FrontendServiceConfig" },
490
- "database": { "$ref": "#/definitions/DatabaseServiceConfig" },
491
- "graph": { "$ref": "#/definitions/GraphServiceConfig" },
492
- "filesystem": { "$ref": "#/definitions/FilesystemServiceConfig" },
493
- "inference": { "$ref": "#/definitions/InferenceServiceConfig" },
494
- "mcp": { "$ref": "#/definitions/McpServiceConfig" }
495
- },
496
- "additionalProperties": true
497
- },
498
- "SiteConfig": {
499
- "type": "object",
500
- "properties": {
501
- "siteName": {
502
- "type": "string",
503
- "minLength": 1,
504
- "description": "Display name for the site"
505
- },
506
- "domain": {
507
- "type": "string",
508
- "minLength": 1,
509
- "description": "Primary domain for the site"
510
- },
511
- "adminEmail": {
512
- "type": "string",
513
- "format": "email",
514
- "description": "Administrator email address"
515
- },
516
- "supportEmail": {
517
- "type": "string",
518
- "format": "email",
519
- "description": "Support email address (optional)"
520
- },
521
- "oauthAllowedDomains": {
522
- "type": "array",
523
- "items": {
524
- "type": "string"
525
- },
526
- "minItems": 1,
527
- "description": "Email domains allowed for OAuth authentication"
528
- }
529
- },
530
- "required": ["domain"],
531
- "additionalProperties": false
532
- },
533
- "AppConfig": {
534
- "type": "object",
535
- "properties": {
536
- "features": {
537
- "type": "object",
538
- "properties": {
539
- "enableAnalytics": { "type": "boolean" },
540
- "enableMaintenanceMode": { "type": "boolean" },
541
- "enableDebugLogging": { "type": "boolean" }
542
- },
543
- "additionalProperties": false
544
- },
545
- "security": {
546
- "type": "object",
547
- "properties": {
548
- "sessionTimeout": {
549
- "type": "integer",
550
- "minimum": 60,
551
- "description": "Session timeout in seconds"
552
- },
553
- "maxLoginAttempts": {
554
- "type": "integer",
555
- "minimum": 1,
556
- "description": "Maximum failed login attempts before lockout"
557
- },
558
- "corsAllowedOrigins": {
559
- "type": "array",
560
- "items": { "type": "string" }
561
- },
562
- "enableLocalAuth": {
563
- "type": "boolean",
564
- "description": "Enable local username/password authentication"
565
- },
566
- "jwtSecret": {
567
- "type": "string",
568
- "minLength": 32,
569
- "description": "JWT signing secret (base64 encoded, 32+ bytes)"
570
- }
571
- },
572
- "additionalProperties": false
573
- },
574
- "performance": {
575
- "type": "object",
576
- "properties": {
577
- "enableCaching": { "type": "boolean" },
578
- "cacheTimeout": {
579
- "type": "integer",
580
- "minimum": 0,
581
- "description": "Cache timeout in seconds"
582
- },
583
- "maxRequestSize": {
584
- "type": "string",
585
- "pattern": "^[0-9]+(kb|mb|gb)$",
586
- "description": "Maximum request size (e.g., '10mb')"
587
- }
588
- },
589
- "additionalProperties": false
590
- }
591
- },
592
- "additionalProperties": false
593
- },
594
- "EnvironmentConfig": {
595
- "type": "object",
596
- "properties": {
597
- "_comment": {
598
- "type": "string",
599
- "description": "Optional comment for documentation"
600
- },
601
- "_metadata": {
602
- "type": "object",
603
- "properties": {
604
- "environment": { "type": "string" },
605
- "projectRoot": { "type": "string" }
606
- },
607
- "required": ["environment", "projectRoot"]
608
- },
609
- "name": {
610
- "type": "string",
611
- "description": "Environment name"
612
- },
613
- "platform": {
614
- "type": "object",
615
- "properties": {
616
- "default": { "$ref": "#/definitions/PlatformType" }
617
- }
618
- },
619
- "services": {
620
- "$ref": "#/definitions/ServicesConfig"
621
- },
622
- "site": {
623
- "$ref": "#/definitions/SiteConfig"
624
- },
625
- "app": {
626
- "$ref": "#/definitions/AppConfig"
627
- },
628
- "env": {
629
- "type": "object",
630
- "properties": {
631
- "NODE_ENV": {
632
- "type": "string",
633
- "enum": ["development", "production", "test"]
634
- }
635
- },
636
- "additionalProperties": true
637
- },
638
- "deployment": {
639
- "type": "object",
640
- "properties": {
641
- "imageTagStrategy": {
642
- "type": "string",
643
- "enum": ["mutable", "immutable", "git-hash"]
644
- }
645
- }
646
- }
647
- },
648
- "required": ["services"],
649
- "additionalProperties": false
650
- },
651
- "SemiontConfig": {
652
- "type": "object",
653
- "properties": {
654
- "version": {
655
- "type": "string",
656
- "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
657
- "description": "Config file version (semver)"
658
- },
659
- "project": {
660
- "type": "string",
661
- "minLength": 1,
662
- "description": "Project name"
663
- },
664
- "site": {
665
- "$ref": "#/definitions/SiteConfig"
666
- },
667
- "app": {
668
- "$ref": "#/definitions/AppConfig"
669
- },
670
- "services": {
671
- "$ref": "#/definitions/ServicesConfig"
672
- }
673
- },
674
- "required": ["version", "project", "site"],
675
- "additionalProperties": false
676
- }
677
- }
678
- }