@semiont/core 0.3.3 → 0.3.5

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.
@@ -0,0 +1,561 @@
1
+ /**
2
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
3
+ * via the `definition` "PlatformType".
4
+ */
5
+ type PlatformType = 'posix' | 'container' | 'aws' | 'external';
6
+ /**
7
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
8
+ * via the `definition` "GraphDatabaseType".
9
+ */
10
+ type GraphDatabaseType = 'neo4j' | 'janusgraph' | 'neptune' | 'memory';
11
+ /**
12
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
13
+ * via the `definition` "GraphServiceConfig".
14
+ */
15
+ type GraphServiceConfig = {
16
+ [k: string]: unknown;
17
+ } & {
18
+ platform: ServicePlatformConfig;
19
+ type: GraphDatabaseType;
20
+ name?: string;
21
+ uri?: string;
22
+ url?: string;
23
+ username?: string;
24
+ password?: string;
25
+ database?: string;
26
+ host?: string;
27
+ port?: number;
28
+ storage?: string;
29
+ index?: string;
30
+ endpoint?: string;
31
+ region?: string;
32
+ command?: string;
33
+ image?: string;
34
+ janusgraphVersion?: string;
35
+ javaOptions?: string;
36
+ heapSize?: string;
37
+ pageCacheSize?: string;
38
+ noAuth?: boolean;
39
+ dataPath?: string;
40
+ timeout?: number;
41
+ wait?: number;
42
+ logsEndpoint?: string;
43
+ tag?: string;
44
+ resources?: ResourceRequirements;
45
+ security?: SecurityRequirements;
46
+ build?: boolean | BuildRequirements;
47
+ dockerfile?: string;
48
+ buildContext?: string;
49
+ buildArgs?: {
50
+ [k: string]: string;
51
+ };
52
+ buildTarget?: string;
53
+ prebuilt?: boolean;
54
+ noCache?: boolean;
55
+ secrets?: string[];
56
+ labels?: {
57
+ [k: string]: string;
58
+ };
59
+ annotations?: {
60
+ [k: string]: string;
61
+ };
62
+ dependencies?: string[];
63
+ externalDependencies?: (string | {
64
+ name?: string;
65
+ url?: string;
66
+ required?: boolean;
67
+ healthCheck?: string;
68
+ [k: string]: unknown;
69
+ })[];
70
+ environment?: {
71
+ [k: string]: string;
72
+ };
73
+ env?: {
74
+ [k: string]: string;
75
+ };
76
+ };
77
+ /**
78
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
79
+ * via the `definition` "ServicePlatformConfig".
80
+ */
81
+ interface ServicePlatformConfig {
82
+ type: PlatformType;
83
+ [k: string]: unknown;
84
+ }
85
+ /**
86
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
87
+ * via the `definition` "ResourceRequirements".
88
+ */
89
+ interface ResourceRequirements {
90
+ cpu?: string;
91
+ memory?: string;
92
+ gpu?: number;
93
+ gpus?: number;
94
+ replicas?: number;
95
+ ephemeralStorage?: string;
96
+ memoryReservation?: string;
97
+ }
98
+ /**
99
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
100
+ * via the `definition` "SecurityRequirements".
101
+ */
102
+ interface SecurityRequirements {
103
+ readOnlyRootFilesystem?: boolean;
104
+ runAsNonRoot?: boolean;
105
+ runAsUser?: number;
106
+ runAsGroup?: number;
107
+ capabilities?: string[] | {
108
+ add?: string[];
109
+ drop?: string[];
110
+ [k: string]: unknown;
111
+ };
112
+ privileged?: boolean;
113
+ allowPrivilegeEscalation?: boolean;
114
+ }
115
+ /**
116
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
117
+ * via the `definition` "BuildRequirements".
118
+ */
119
+ interface BuildRequirements {
120
+ dockerfile?: string;
121
+ buildContext?: string;
122
+ buildArgs?: {
123
+ [k: string]: string;
124
+ };
125
+ buildTarget?: string;
126
+ prebuilt?: boolean;
127
+ noCache?: boolean;
128
+ }
129
+ /**
130
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
131
+ * via the `definition` "BackendServiceConfig".
132
+ */
133
+ interface BackendServiceConfig {
134
+ platform: ServicePlatformConfig;
135
+ devMode?: boolean;
136
+ command?: string;
137
+ port: number;
138
+ publicURL: string;
139
+ corsOrigin: string;
140
+ image?: string;
141
+ cpu?: string;
142
+ memory?: string;
143
+ semiontRepo?: string;
144
+ databaseUrl?: string;
145
+ projectRoot?: string;
146
+ timeout?: number;
147
+ wait?: number;
148
+ logsEndpoint?: string;
149
+ tag?: string;
150
+ resources?: ResourceRequirements;
151
+ security?: SecurityRequirements;
152
+ build?: boolean | BuildRequirements;
153
+ dockerfile?: string;
154
+ buildContext?: string;
155
+ buildArgs?: {
156
+ [k: string]: string;
157
+ };
158
+ buildTarget?: string;
159
+ prebuilt?: boolean;
160
+ noCache?: boolean;
161
+ secrets?: string[];
162
+ labels?: {
163
+ [k: string]: string;
164
+ };
165
+ annotations?: {
166
+ [k: string]: string;
167
+ };
168
+ dependencies?: string[];
169
+ externalDependencies?: (string | {
170
+ name?: string;
171
+ url?: string;
172
+ required?: boolean;
173
+ healthCheck?: string;
174
+ [k: string]: unknown;
175
+ })[];
176
+ redisUrl?: string;
177
+ environment?: {
178
+ [k: string]: string;
179
+ };
180
+ env?: {
181
+ [k: string]: string;
182
+ };
183
+ }
184
+ /**
185
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
186
+ * via the `definition` "FrontendServiceConfig".
187
+ */
188
+ interface FrontendServiceConfig {
189
+ platform: ServicePlatformConfig;
190
+ devMode?: boolean;
191
+ command?: string;
192
+ port: number;
193
+ siteName: string;
194
+ image?: string;
195
+ semiontRepo?: string;
196
+ projectRoot?: string;
197
+ databaseUrl?: string;
198
+ timeout?: number;
199
+ wait?: number;
200
+ logsEndpoint?: string;
201
+ tag?: string;
202
+ resources?: ResourceRequirements;
203
+ security?: SecurityRequirements;
204
+ build?: boolean | BuildRequirements;
205
+ dockerfile?: string;
206
+ buildContext?: string;
207
+ buildArgs?: {
208
+ [k: string]: string;
209
+ };
210
+ buildTarget?: string;
211
+ prebuilt?: boolean;
212
+ noCache?: boolean;
213
+ secrets?: string[];
214
+ labels?: {
215
+ [k: string]: string;
216
+ };
217
+ annotations?: {
218
+ [k: string]: string;
219
+ };
220
+ dependencies?: string[];
221
+ externalDependencies?: (string | {
222
+ name?: string;
223
+ url?: string;
224
+ required?: boolean;
225
+ healthCheck?: string;
226
+ [k: string]: unknown;
227
+ })[];
228
+ environment?: {
229
+ [k: string]: string;
230
+ };
231
+ env?: {
232
+ [k: string]: string;
233
+ };
234
+ publicURL?: string;
235
+ allowedOrigins?: string[];
236
+ }
237
+ /**
238
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
239
+ * via the `definition` "ProxyServiceConfig".
240
+ */
241
+ interface ProxyServiceConfig {
242
+ platform: ServicePlatformConfig;
243
+ type: 'envoy' | 'nginx' | 'haproxy';
244
+ port: number;
245
+ adminPort?: number;
246
+ backendPort?: number;
247
+ frontendPort?: number;
248
+ image?: string;
249
+ configPath?: string;
250
+ timeout?: number;
251
+ wait?: number;
252
+ logsEndpoint?: string;
253
+ tag?: string;
254
+ resources?: ResourceRequirements;
255
+ security?: SecurityRequirements;
256
+ environment?: {
257
+ [k: string]: string;
258
+ };
259
+ env?: {
260
+ [k: string]: string;
261
+ };
262
+ }
263
+ /**
264
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
265
+ * via the `definition` "DatabaseServiceConfig".
266
+ */
267
+ interface DatabaseServiceConfig {
268
+ platform: ServicePlatformConfig;
269
+ type: string;
270
+ name?: string;
271
+ host: string;
272
+ port: number;
273
+ environment?: {
274
+ [k: string]: string;
275
+ };
276
+ env?: {
277
+ [k: string]: string;
278
+ };
279
+ description?: string;
280
+ command?: string;
281
+ image?: string;
282
+ user?: string;
283
+ username?: string;
284
+ password?: string;
285
+ database?: string;
286
+ /**
287
+ * Override the default data storage directory ($XDG_DATA_HOME/semiont/{name}/database/{service})
288
+ */
289
+ dataDir?: string;
290
+ storageSize?: string;
291
+ timeout?: number;
292
+ wait?: number;
293
+ logsEndpoint?: string;
294
+ tag?: string;
295
+ resources?: ResourceRequirements;
296
+ security?: SecurityRequirements;
297
+ build?: boolean | BuildRequirements;
298
+ dockerfile?: string;
299
+ buildContext?: string;
300
+ buildArgs?: {
301
+ [k: string]: string;
302
+ };
303
+ buildTarget?: string;
304
+ prebuilt?: boolean;
305
+ noCache?: boolean;
306
+ secrets?: string[];
307
+ labels?: {
308
+ [k: string]: string;
309
+ };
310
+ annotations?: {
311
+ [k: string]: string;
312
+ };
313
+ dependencies?: string[];
314
+ externalDependencies?: (string | {
315
+ name?: string;
316
+ url?: string;
317
+ required?: boolean;
318
+ healthCheck?: string;
319
+ [k: string]: unknown;
320
+ })[];
321
+ }
322
+ /**
323
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
324
+ * via the `definition` "OllamaProviderConfig".
325
+ */
326
+ interface OllamaProviderConfig {
327
+ platform: ServicePlatformConfig;
328
+ baseURL?: string;
329
+ port?: number;
330
+ image?: string;
331
+ command?: string;
332
+ timeout?: number;
333
+ wait?: number;
334
+ logsEndpoint?: string;
335
+ }
336
+ /**
337
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
338
+ * via the `definition` "AnthropicProviderConfig".
339
+ */
340
+ interface AnthropicProviderConfig {
341
+ platform: 'external';
342
+ endpoint: string;
343
+ apiKey: string;
344
+ }
345
+ /**
346
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
347
+ * via the `definition` "InferenceProvidersConfig".
348
+ */
349
+ interface InferenceProvidersConfig {
350
+ ollama?: OllamaProviderConfig;
351
+ anthropic?: AnthropicProviderConfig;
352
+ [k: string]: unknown;
353
+ }
354
+ /**
355
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
356
+ * via the `definition` "McpServiceConfig".
357
+ */
358
+ interface McpServiceConfig {
359
+ platform: ServicePlatformConfig;
360
+ command?: string;
361
+ image?: string;
362
+ port?: number;
363
+ dependsOn?: string[];
364
+ timeout?: number;
365
+ wait?: number;
366
+ logsEndpoint?: string;
367
+ tag?: string;
368
+ resources?: ResourceRequirements;
369
+ security?: SecurityRequirements;
370
+ build?: boolean | BuildRequirements;
371
+ dockerfile?: string;
372
+ buildContext?: string;
373
+ buildArgs?: {
374
+ [k: string]: string;
375
+ };
376
+ buildTarget?: string;
377
+ prebuilt?: boolean;
378
+ noCache?: boolean;
379
+ secrets?: string[];
380
+ labels?: {
381
+ [k: string]: string;
382
+ };
383
+ annotations?: {
384
+ [k: string]: string;
385
+ };
386
+ dependencies?: string[];
387
+ externalDependencies?: (string | {
388
+ name?: string;
389
+ url?: string;
390
+ required?: boolean;
391
+ healthCheck?: string;
392
+ [k: string]: unknown;
393
+ })[];
394
+ environment?: {
395
+ [k: string]: string;
396
+ };
397
+ env?: {
398
+ [k: string]: string;
399
+ };
400
+ }
401
+ /**
402
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
403
+ * via the `definition` "ServicesConfig".
404
+ */
405
+ interface ServicesConfig {
406
+ backend?: BackendServiceConfig;
407
+ frontend?: FrontendServiceConfig;
408
+ database?: DatabaseServiceConfig;
409
+ graph?: GraphServiceConfig;
410
+ mcp?: McpServiceConfig;
411
+ proxy?: ProxyServiceConfig;
412
+ [k: string]: unknown;
413
+ }
414
+ /**
415
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
416
+ * via the `definition` "SiteConfig".
417
+ */
418
+ interface SiteConfig {
419
+ /**
420
+ * Display name for the site
421
+ */
422
+ siteName?: string;
423
+ /**
424
+ * Primary domain for the site
425
+ */
426
+ domain: string;
427
+ /**
428
+ * Administrator email address
429
+ */
430
+ adminEmail?: string;
431
+ /**
432
+ * Support email address (optional)
433
+ */
434
+ supportEmail?: string;
435
+ /**
436
+ * Email domains allowed for OAuth authentication
437
+ *
438
+ * @minItems 1
439
+ */
440
+ oauthAllowedDomains?: [string, ...string[]];
441
+ }
442
+ /**
443
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
444
+ * via the `definition` "AppConfig".
445
+ */
446
+ interface AppConfig {
447
+ features?: {
448
+ enableAnalytics?: boolean;
449
+ enableMaintenanceMode?: boolean;
450
+ enableDebugLogging?: boolean;
451
+ };
452
+ security?: {
453
+ /**
454
+ * Session timeout in seconds
455
+ */
456
+ sessionTimeout?: number;
457
+ /**
458
+ * Maximum failed login attempts before lockout
459
+ */
460
+ maxLoginAttempts?: number;
461
+ corsAllowedOrigins?: string[];
462
+ /**
463
+ * Enable local username/password authentication
464
+ */
465
+ enableLocalAuth?: boolean;
466
+ /**
467
+ * JWT signing secret (base64 encoded, 32+ bytes)
468
+ */
469
+ jwtSecret?: string;
470
+ };
471
+ performance?: {
472
+ enableCaching?: boolean;
473
+ /**
474
+ * Cache timeout in seconds
475
+ */
476
+ cacheTimeout?: number;
477
+ /**
478
+ * Maximum request size (e.g., '10mb')
479
+ */
480
+ maxRequestSize?: string;
481
+ };
482
+ }
483
+ /**
484
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
485
+ * via the `definition` "EnvironmentConfig".
486
+ */
487
+ interface EnvironmentConfig {
488
+ /**
489
+ * Optional comment for documentation
490
+ */
491
+ _comment?: string;
492
+ _metadata?: {
493
+ environment: string;
494
+ projectRoot: string;
495
+ [k: string]: unknown;
496
+ };
497
+ /**
498
+ * Environment name
499
+ */
500
+ name?: string;
501
+ platform?: {
502
+ default?: PlatformType;
503
+ [k: string]: unknown;
504
+ };
505
+ services: ServicesConfig;
506
+ inference?: InferenceProvidersConfig;
507
+ workers?: {
508
+ [k: string]: {
509
+ inference?: {
510
+ type?: string;
511
+ model?: string;
512
+ [k: string]: unknown;
513
+ };
514
+ [k: string]: unknown;
515
+ };
516
+ };
517
+ actors?: {
518
+ [k: string]: {
519
+ inference?: {
520
+ type?: string;
521
+ model?: string;
522
+ [k: string]: unknown;
523
+ };
524
+ [k: string]: unknown;
525
+ };
526
+ };
527
+ site?: SiteConfig;
528
+ app?: AppConfig;
529
+ env?: {
530
+ NODE_ENV?: 'development' | 'production' | 'test';
531
+ [k: string]: unknown;
532
+ };
533
+ /**
534
+ * Logging verbosity level
535
+ */
536
+ logLevel?: 'error' | 'warn' | 'info' | 'http' | 'debug';
537
+ deployment?: {
538
+ imageTagStrategy?: 'mutable' | 'immutable' | 'git-hash';
539
+ [k: string]: unknown;
540
+ };
541
+ [k: string]: unknown;
542
+ }
543
+ /**
544
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
545
+ * via the `definition` "SemiontConfig".
546
+ */
547
+ interface SemiontConfig {
548
+ /**
549
+ * Config file version (semver)
550
+ */
551
+ version: string;
552
+ /**
553
+ * Project name
554
+ */
555
+ project: string;
556
+ site: SiteConfig;
557
+ app?: AppConfig;
558
+ services?: ServicesConfig;
559
+ }
560
+
561
+ export type { AnthropicProviderConfig as A, BackendServiceConfig as B, DatabaseServiceConfig as D, EnvironmentConfig as E, FrontendServiceConfig as F, GraphDatabaseType as G, InferenceProvidersConfig as I, McpServiceConfig as M, OllamaProviderConfig as O, PlatformType as P, SemiontConfig as S, AppConfig as a, GraphServiceConfig as b, ProxyServiceConfig as c, ServicePlatformConfig as d, ServicesConfig as e, SiteConfig as f };