@semiont/core 0.5.4 → 0.5.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.
Files changed (87) hide show
  1. package/dist/config/node-config-loader.d.ts +615 -4
  2. package/dist/index.d.ts +6623 -59
  3. package/package.json +4 -2
  4. package/dist/annotation-assembly.d.ts +0 -54
  5. package/dist/annotation-assembly.d.ts.map +0 -1
  6. package/dist/annotation-types.d.ts +0 -30
  7. package/dist/annotation-types.d.ts.map +0 -1
  8. package/dist/annotation-utils.d.ts +0 -43
  9. package/dist/annotation-utils.d.ts.map +0 -1
  10. package/dist/auth-types.d.ts +0 -8
  11. package/dist/auth-types.d.ts.map +0 -1
  12. package/dist/branded-types.d.ts +0 -70
  13. package/dist/branded-types.d.ts.map +0 -1
  14. package/dist/bridged-channels.d.ts +0 -18
  15. package/dist/bridged-channels.d.ts.map +0 -1
  16. package/dist/bus-log.d.ts +0 -25
  17. package/dist/bus-log.d.ts.map +0 -1
  18. package/dist/bus-protocol.d.ts +0 -510
  19. package/dist/bus-protocol.d.ts.map +0 -1
  20. package/dist/config/config.types.d.ts +0 -563
  21. package/dist/config/config.types.d.ts.map +0 -1
  22. package/dist/config/configuration-error.d.ts +0 -17
  23. package/dist/config/configuration-error.d.ts.map +0 -1
  24. package/dist/config/environment-validator.d.ts +0 -28
  25. package/dist/config/environment-validator.d.ts.map +0 -1
  26. package/dist/config/node-config-loader.d.ts.map +0 -1
  27. package/dist/config/platform-types.d.ts +0 -26
  28. package/dist/config/platform-types.d.ts.map +0 -1
  29. package/dist/config/toml-loader.d.ts +0 -59
  30. package/dist/config/toml-loader.d.ts.map +0 -1
  31. package/dist/did-utils.d.ts +0 -76
  32. package/dist/did-utils.d.ts.map +0 -1
  33. package/dist/errors.d.ts +0 -48
  34. package/dist/errors.d.ts.map +0 -1
  35. package/dist/event-base.d.ts +0 -70
  36. package/dist/event-base.d.ts.map +0 -1
  37. package/dist/event-bus.d.ts +0 -141
  38. package/dist/event-bus.d.ts.map +0 -1
  39. package/dist/event-utils.d.ts +0 -43
  40. package/dist/event-utils.d.ts.map +0 -1
  41. package/dist/fuzzy-anchor.d.ts +0 -81
  42. package/dist/fuzzy-anchor.d.ts.map +0 -1
  43. package/dist/graph.d.ts +0 -44
  44. package/dist/graph.d.ts.map +0 -1
  45. package/dist/id-generation.d.ts +0 -8
  46. package/dist/id-generation.d.ts.map +0 -1
  47. package/dist/identifiers.d.ts +0 -24
  48. package/dist/identifiers.d.ts.map +0 -1
  49. package/dist/index.d.ts.map +0 -1
  50. package/dist/locales.d.ts +0 -31
  51. package/dist/locales.d.ts.map +0 -1
  52. package/dist/logger.d.ts +0 -56
  53. package/dist/logger.d.ts.map +0 -1
  54. package/dist/mime-utils.d.ts +0 -38
  55. package/dist/mime-utils.d.ts.map +0 -1
  56. package/dist/operators/burst-buffer.d.ts +0 -61
  57. package/dist/operators/burst-buffer.d.ts.map +0 -1
  58. package/dist/payload-types.d.ts +0 -16
  59. package/dist/payload-types.d.ts.map +0 -1
  60. package/dist/persisted-events.d.ts +0 -76
  61. package/dist/persisted-events.d.ts.map +0 -1
  62. package/dist/project.d.ts +0 -69
  63. package/dist/project.d.ts.map +0 -1
  64. package/dist/resource-types.d.ts +0 -15
  65. package/dist/resource-types.d.ts.map +0 -1
  66. package/dist/resource-utils.d.ts +0 -97
  67. package/dist/resource-utils.d.ts.map +0 -1
  68. package/dist/serialize-per-key.d.ts +0 -51
  69. package/dist/serialize-per-key.d.ts.map +0 -1
  70. package/dist/svg-utils.d.ts +0 -44
  71. package/dist/svg-utils.d.ts.map +0 -1
  72. package/dist/tag-schemas.d.ts +0 -27
  73. package/dist/tag-schemas.d.ts.map +0 -1
  74. package/dist/text-context.d.ts +0 -85
  75. package/dist/text-context.d.ts.map +0 -1
  76. package/dist/text-encoding.d.ts +0 -34
  77. package/dist/text-encoding.d.ts.map +0 -1
  78. package/dist/transport.d.ts +0 -274
  79. package/dist/transport.d.ts.map +0 -1
  80. package/dist/type-guards.d.ts +0 -44
  81. package/dist/type-guards.d.ts.map +0 -1
  82. package/dist/types.d.ts +0 -3517
  83. package/dist/types.d.ts.map +0 -1
  84. package/dist/validation.d.ts +0 -57
  85. package/dist/validation.d.ts.map +0 -1
  86. package/dist/web-annotation-utils.d.ts +0 -154
  87. package/dist/web-annotation-utils.d.ts.map +0 -1
@@ -1,5 +1,615 @@
1
- import type { EnvironmentConfig } from './config.types.js';
2
- export { SemiontProject } from '../project.js';
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
+ databaseUrl?: string;
144
+ projectRoot?: string;
145
+ timeout?: number;
146
+ wait?: number;
147
+ logsEndpoint?: string;
148
+ tag?: string;
149
+ resources?: ResourceRequirements;
150
+ security?: SecurityRequirements;
151
+ build?: boolean | BuildRequirements;
152
+ dockerfile?: string;
153
+ buildContext?: string;
154
+ buildArgs?: {
155
+ [k: string]: string;
156
+ };
157
+ buildTarget?: string;
158
+ prebuilt?: boolean;
159
+ noCache?: boolean;
160
+ secrets?: string[];
161
+ labels?: {
162
+ [k: string]: string;
163
+ };
164
+ annotations?: {
165
+ [k: string]: string;
166
+ };
167
+ dependencies?: string[];
168
+ externalDependencies?: (string | {
169
+ name?: string;
170
+ url?: string;
171
+ required?: boolean;
172
+ healthCheck?: string;
173
+ [k: string]: unknown;
174
+ })[];
175
+ redisUrl?: string;
176
+ environment?: {
177
+ [k: string]: string;
178
+ };
179
+ env?: {
180
+ [k: string]: string;
181
+ };
182
+ }
183
+ /**
184
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
185
+ * via the `definition` "FrontendServiceConfig".
186
+ */
187
+ interface FrontendServiceConfig {
188
+ platform: ServicePlatformConfig;
189
+ devMode?: boolean;
190
+ command?: string;
191
+ port: number;
192
+ siteName: string;
193
+ image?: string;
194
+ projectRoot?: string;
195
+ databaseUrl?: string;
196
+ timeout?: number;
197
+ wait?: number;
198
+ logsEndpoint?: string;
199
+ tag?: string;
200
+ resources?: ResourceRequirements;
201
+ security?: SecurityRequirements;
202
+ build?: boolean | BuildRequirements;
203
+ dockerfile?: string;
204
+ buildContext?: string;
205
+ buildArgs?: {
206
+ [k: string]: string;
207
+ };
208
+ buildTarget?: string;
209
+ prebuilt?: boolean;
210
+ noCache?: boolean;
211
+ secrets?: string[];
212
+ labels?: {
213
+ [k: string]: string;
214
+ };
215
+ annotations?: {
216
+ [k: string]: string;
217
+ };
218
+ dependencies?: string[];
219
+ externalDependencies?: (string | {
220
+ name?: string;
221
+ url?: string;
222
+ required?: boolean;
223
+ healthCheck?: string;
224
+ [k: string]: unknown;
225
+ })[];
226
+ environment?: {
227
+ [k: string]: string;
228
+ };
229
+ env?: {
230
+ [k: string]: string;
231
+ };
232
+ publicURL?: string;
233
+ allowedOrigins?: string[];
234
+ }
235
+ /**
236
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
237
+ * via the `definition` "VectorsServiceConfig".
238
+ */
239
+ interface VectorsServiceConfig {
240
+ platform?: ServicePlatformConfig;
241
+ type: 'qdrant' | 'memory';
242
+ host?: string;
243
+ port?: number;
244
+ }
245
+ /**
246
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
247
+ * via the `definition` "EmbeddingServiceConfig".
248
+ */
249
+ interface EmbeddingServiceConfig {
250
+ platform?: ServicePlatformConfig;
251
+ type: 'voyage' | 'ollama';
252
+ model: string;
253
+ apiKey?: string;
254
+ baseURL?: string;
255
+ endpoint?: string;
256
+ chunking?: {
257
+ chunkSize?: number;
258
+ overlap?: number;
259
+ [k: string]: unknown;
260
+ };
261
+ }
262
+ /**
263
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
264
+ * via the `definition` "DatabaseServiceConfig".
265
+ */
266
+ interface DatabaseServiceConfig {
267
+ platform: ServicePlatformConfig;
268
+ type: string;
269
+ name?: string;
270
+ host: string;
271
+ port: number;
272
+ environment?: {
273
+ [k: string]: string;
274
+ };
275
+ env?: {
276
+ [k: string]: string;
277
+ };
278
+ description?: string;
279
+ command?: string;
280
+ image?: string;
281
+ user?: string;
282
+ username?: string;
283
+ password?: string;
284
+ database?: string;
285
+ /**
286
+ * Override the default data storage directory ($XDG_DATA_HOME/semiont/{name}/database/{service})
287
+ */
288
+ dataDir?: string;
289
+ storageSize?: string;
290
+ timeout?: number;
291
+ wait?: number;
292
+ logsEndpoint?: string;
293
+ tag?: string;
294
+ resources?: ResourceRequirements;
295
+ security?: SecurityRequirements;
296
+ build?: boolean | BuildRequirements;
297
+ dockerfile?: string;
298
+ buildContext?: string;
299
+ buildArgs?: {
300
+ [k: string]: string;
301
+ };
302
+ buildTarget?: string;
303
+ prebuilt?: boolean;
304
+ noCache?: boolean;
305
+ secrets?: string[];
306
+ labels?: {
307
+ [k: string]: string;
308
+ };
309
+ annotations?: {
310
+ [k: string]: string;
311
+ };
312
+ dependencies?: string[];
313
+ externalDependencies?: (string | {
314
+ name?: string;
315
+ url?: string;
316
+ required?: boolean;
317
+ healthCheck?: string;
318
+ [k: string]: unknown;
319
+ })[];
320
+ }
321
+ /**
322
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
323
+ * via the `definition` "OllamaProviderConfig".
324
+ */
325
+ interface OllamaProviderConfig {
326
+ platform: ServicePlatformConfig;
327
+ baseURL?: string;
328
+ port?: number;
329
+ image?: string;
330
+ command?: string;
331
+ timeout?: number;
332
+ wait?: number;
333
+ logsEndpoint?: string;
334
+ }
335
+ /**
336
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
337
+ * via the `definition` "AnthropicProviderConfig".
338
+ */
339
+ interface AnthropicProviderConfig {
340
+ platform: 'external';
341
+ endpoint: string;
342
+ apiKey: string;
343
+ }
344
+ /**
345
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
346
+ * via the `definition` "InferenceProvidersConfig".
347
+ */
348
+ interface InferenceProvidersConfig {
349
+ ollama?: OllamaProviderConfig;
350
+ anthropic?: AnthropicProviderConfig;
351
+ [k: string]: unknown;
352
+ }
353
+ /**
354
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
355
+ * via the `definition` "McpServiceConfig".
356
+ */
357
+ interface McpServiceConfig {
358
+ platform: ServicePlatformConfig;
359
+ command?: string;
360
+ image?: string;
361
+ port?: number;
362
+ dependsOn?: string[];
363
+ timeout?: number;
364
+ wait?: number;
365
+ logsEndpoint?: string;
366
+ tag?: string;
367
+ resources?: ResourceRequirements;
368
+ security?: SecurityRequirements;
369
+ build?: boolean | BuildRequirements;
370
+ dockerfile?: string;
371
+ buildContext?: string;
372
+ buildArgs?: {
373
+ [k: string]: string;
374
+ };
375
+ buildTarget?: string;
376
+ prebuilt?: boolean;
377
+ noCache?: boolean;
378
+ secrets?: string[];
379
+ labels?: {
380
+ [k: string]: string;
381
+ };
382
+ annotations?: {
383
+ [k: string]: string;
384
+ };
385
+ dependencies?: string[];
386
+ externalDependencies?: (string | {
387
+ name?: string;
388
+ url?: string;
389
+ required?: boolean;
390
+ healthCheck?: string;
391
+ [k: string]: unknown;
392
+ })[];
393
+ environment?: {
394
+ [k: string]: string;
395
+ };
396
+ env?: {
397
+ [k: string]: string;
398
+ };
399
+ }
400
+ /**
401
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
402
+ * via the `definition` "ServicesConfig".
403
+ */
404
+ interface ServicesConfig {
405
+ backend?: BackendServiceConfig;
406
+ frontend?: FrontendServiceConfig;
407
+ database?: DatabaseServiceConfig;
408
+ graph?: GraphServiceConfig;
409
+ mcp?: McpServiceConfig;
410
+ vectors?: VectorsServiceConfig;
411
+ embedding?: EmbeddingServiceConfig;
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 | null;
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
+ /**
545
+ * Represents a Semiont project rooted at a given directory.
546
+ *
547
+ * Computes all paths — durable and ephemeral — once at construction time.
548
+ * XDG environment variables are read here and nowhere else.
549
+ *
550
+ * Durable paths (inside the project root, committed or repo-local):
551
+ * eventsDir — .semiont/events/ (system of record, committed)
552
+ * representationsDir — representations/ (content store, committed)
553
+ *
554
+ * Ephemeral paths (outside the project root, never committed):
555
+ * configDir — $XDG_CONFIG_HOME/semiont/{name}/ (generated config for managed processes)
556
+ * dataHome — $XDG_DATA_HOME/semiont/{name}/ (persistent user data, e.g. database files)
557
+ * stateDir — $XDG_STATE_HOME/semiont/{name}/
558
+ * embeddingsDir — stateDir/embeddings/
559
+ * projectionsDir — stateDir/projections/
560
+ * jobsDir — stateDir/jobs/
561
+ * backendLogsDir — stateDir/backend/
562
+ * backendAppLogFile — backendLogsDir/app.log
563
+ * backendErrorLogFile — backendLogsDir/error.log
564
+ * runtimeDir — $XDG_RUNTIME_DIR/semiont/{name}/ (or $TMPDIR fallback)
565
+ * backendPidFile — runtimeDir/backend.pid
566
+ *
567
+ * Note: frontend paths are NOT project-scoped. The frontend service is bundled
568
+ * with the CLI and uses fixed XDG paths keyed by "frontend", not project name.
569
+ * See apps/cli/src/platforms/posix/handlers/frontend-paths.ts.
570
+ */
571
+ declare class SemiontProject {
572
+ readonly root: string;
573
+ readonly name: string;
574
+ /** True if [git] sync = true in .semiont/config. When true, semiont stages
575
+ * working-tree and event-log changes in the git index automatically. */
576
+ readonly gitSync: boolean;
577
+ readonly eventsDir: string;
578
+ readonly representationsDir: string;
579
+ readonly configDir: string;
580
+ readonly dataHome: string;
581
+ readonly stateDir: string;
582
+ readonly embeddingsDir: string;
583
+ readonly projectionsDir: string;
584
+ readonly jobsDir: string;
585
+ readonly backendLogsDir: string;
586
+ readonly backendAppLogFile: string;
587
+ readonly backendErrorLogFile: string;
588
+ readonly runtimeDir: string;
589
+ readonly backendPidFile: string;
590
+ constructor(projectRoot: string, name?: string);
591
+ /**
592
+ * Read the current git branch for the project root.
593
+ * Returns null if the project is not a git repo or git is not available.
594
+ */
595
+ gitBranch(): string | null;
596
+ /**
597
+ * Delete all ephemeral state for this project (stateDir + runtimeDir).
598
+ * Does not touch eventsDir or dataDir.
599
+ */
600
+ destroy(): Promise<void>;
601
+ /**
602
+ * Read [git] sync from .semiont/config.
603
+ * Defaults to false if the section or key is absent.
604
+ */
605
+ private static readGitSync;
606
+ /**
607
+ * Read the project name from .semiont/config [project] name = "..."
608
+ * Falls back to the directory basename if the config is absent or has no name.
609
+ */
610
+ private static readName;
611
+ }
612
+
3
613
  /**
4
614
  * Load semiont environment config for a Node.js process.
5
615
  *
@@ -9,5 +619,6 @@ export { SemiontProject } from '../project.js';
9
619
  * This is the canonical config loader for any Node.js process. SEMIONT_ENV
10
620
  * should be read once at the process entry point and passed as `environment`.
11
621
  */
12
- export declare function loadEnvironmentConfig(projectRoot: string, environment: string): EnvironmentConfig;
13
- //# sourceMappingURL=node-config-loader.d.ts.map
622
+ declare function loadEnvironmentConfig(projectRoot: string, environment: string): EnvironmentConfig;
623
+
624
+ export { SemiontProject, loadEnvironmentConfig };