baselineos 0.2.0-beta.1

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 (64) hide show
  1. package/LICENSE +17 -0
  2. package/README.md +198 -0
  3. package/dist/__evals__/runner.d.ts +2 -0
  4. package/dist/__evals__/runner.js +14687 -0
  5. package/dist/__evals__/runner.js.map +1 -0
  6. package/dist/api/server.d.ts +21 -0
  7. package/dist/api/server.js +1007 -0
  8. package/dist/api/server.js.map +1 -0
  9. package/dist/cli/bin.d.ts +1 -0
  10. package/dist/cli/bin.js +8427 -0
  11. package/dist/cli/bin.js.map +1 -0
  12. package/dist/core/agent-bus.d.ts +110 -0
  13. package/dist/core/agent-bus.js +242 -0
  14. package/dist/core/agent-bus.js.map +1 -0
  15. package/dist/core/cache.d.ts +66 -0
  16. package/dist/core/cache.js +160 -0
  17. package/dist/core/cache.js.map +1 -0
  18. package/dist/core/config.d.ts +1002 -0
  19. package/dist/core/config.js +429 -0
  20. package/dist/core/config.js.map +1 -0
  21. package/dist/core/indexer.d.ts +152 -0
  22. package/dist/core/indexer.js +481 -0
  23. package/dist/core/indexer.js.map +1 -0
  24. package/dist/core/llm-tracer.d.ts +2 -0
  25. package/dist/core/llm-tracer.js +241 -0
  26. package/dist/core/llm-tracer.js.map +1 -0
  27. package/dist/core/memory.d.ts +86 -0
  28. package/dist/core/memory.js +346 -0
  29. package/dist/core/memory.js.map +1 -0
  30. package/dist/core/opa-client.d.ts +51 -0
  31. package/dist/core/opa-client.js +157 -0
  32. package/dist/core/opa-client.js.map +1 -0
  33. package/dist/core/opa-policy-gate.d.ts +133 -0
  34. package/dist/core/opa-policy-gate.js +454 -0
  35. package/dist/core/opa-policy-gate.js.map +1 -0
  36. package/dist/core/orchestrator.d.ts +14 -0
  37. package/dist/core/orchestrator.js +1297 -0
  38. package/dist/core/orchestrator.js.map +1 -0
  39. package/dist/core/pii-detector.d.ts +82 -0
  40. package/dist/core/pii-detector.js +126 -0
  41. package/dist/core/pii-detector.js.map +1 -0
  42. package/dist/core/rag-engine.d.ts +121 -0
  43. package/dist/core/rag-engine.js +504 -0
  44. package/dist/core/rag-engine.js.map +1 -0
  45. package/dist/core/task-queue.d.ts +69 -0
  46. package/dist/core/task-queue.js +124 -0
  47. package/dist/core/task-queue.js.map +1 -0
  48. package/dist/core/telemetry.d.ts +56 -0
  49. package/dist/core/telemetry.js +94 -0
  50. package/dist/core/telemetry.js.map +1 -0
  51. package/dist/core/types.d.ts +328 -0
  52. package/dist/core/types.js +24 -0
  53. package/dist/core/types.js.map +1 -0
  54. package/dist/index.d.ts +21 -0
  55. package/dist/index.js +12444 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/llm-tracer-CIIujuO-.d.ts +493 -0
  58. package/dist/mcp/server.d.ts +2651 -0
  59. package/dist/mcp/server.js +676 -0
  60. package/dist/mcp/server.js.map +1 -0
  61. package/dist/orchestrator-DF89k_AK.d.ts +506 -0
  62. package/package.json +157 -0
  63. package/templates/README.md +7 -0
  64. package/templates/baseline.config.ts +207 -0
@@ -0,0 +1,1002 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * BaselineOS Configuration
5
+ *
6
+ * Projects configure BaselineOS via:
7
+ * 1. baseline.config.ts (recommended)
8
+ * 2. baseline.config.js
9
+ * 3. baseline.config.json
10
+ * 4. package.json "baseline" field
11
+ * 5. Programmatic config
12
+ *
13
+ * @license Apache-2.0
14
+ */
15
+
16
+ declare const OrchestratorConfigSchema: z.ZodObject<{
17
+ /** Tasks above this complexity require human approval */
18
+ maxAutonomousComplexity: z.ZodDefault<z.ZodEnum<["trivial", "simple", "moderate", "complex", "epic"]>>;
19
+ /** Require self-verification at every step */
20
+ selfVerificationRequired: z.ZodDefault<z.ZodBoolean>;
21
+ /** Confidence threshold for supervisor review (0-1) */
22
+ supervisorReviewThreshold: z.ZodDefault<z.ZodNumber>;
23
+ /** Percentage of tasks to quality review */
24
+ qualityReviewSampleRate: z.ZodDefault<z.ZodNumber>;
25
+ /** Default trust score for new agents */
26
+ defaultTrustScore: z.ZodDefault<z.ZodNumber>;
27
+ /** Max retry attempts per task */
28
+ defaultMaxAttempts: z.ZodDefault<z.ZodNumber>;
29
+ /** Max tokens per task */
30
+ maxTokensPerTask: z.ZodDefault<z.ZodNumber>;
31
+ /** Max concurrent agents */
32
+ maxConcurrentAgents: z.ZodDefault<z.ZodNumber>;
33
+ /** Trust growth rate (asymptotic) */
34
+ trustGrowthRate: z.ZodDefault<z.ZodNumber>;
35
+ /** Trust decay rate (proportional) */
36
+ trustDecayRate: z.ZodDefault<z.ZodNumber>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ maxAutonomousComplexity: "trivial" | "simple" | "moderate" | "complex" | "epic";
39
+ selfVerificationRequired: boolean;
40
+ supervisorReviewThreshold: number;
41
+ qualityReviewSampleRate: number;
42
+ defaultTrustScore: number;
43
+ defaultMaxAttempts: number;
44
+ maxTokensPerTask: number;
45
+ maxConcurrentAgents: number;
46
+ trustGrowthRate: number;
47
+ trustDecayRate: number;
48
+ }, {
49
+ maxAutonomousComplexity?: "trivial" | "simple" | "moderate" | "complex" | "epic" | undefined;
50
+ selfVerificationRequired?: boolean | undefined;
51
+ supervisorReviewThreshold?: number | undefined;
52
+ qualityReviewSampleRate?: number | undefined;
53
+ defaultTrustScore?: number | undefined;
54
+ defaultMaxAttempts?: number | undefined;
55
+ maxTokensPerTask?: number | undefined;
56
+ maxConcurrentAgents?: number | undefined;
57
+ trustGrowthRate?: number | undefined;
58
+ trustDecayRate?: number | undefined;
59
+ }>;
60
+ declare const CacheConfigSchema: z.ZodObject<{
61
+ /** Cache TTL in milliseconds */
62
+ ttl: z.ZodDefault<z.ZodNumber>;
63
+ /** Max cache entries */
64
+ maxSize: z.ZodDefault<z.ZodNumber>;
65
+ /** Similarity threshold for semantic cache hits */
66
+ similarityThreshold: z.ZodDefault<z.ZodNumber>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ ttl: number;
69
+ maxSize: number;
70
+ similarityThreshold: number;
71
+ }, {
72
+ ttl?: number | undefined;
73
+ maxSize?: number | undefined;
74
+ similarityThreshold?: number | undefined;
75
+ }>;
76
+ declare const LLMConfigSchema: z.ZodObject<{
77
+ /** LLM provider */
78
+ provider: z.ZodDefault<z.ZodEnum<["anthropic", "openai", "local"]>>;
79
+ /** Model to use */
80
+ model: z.ZodDefault<z.ZodString>;
81
+ /** API key (or use env var) */
82
+ apiKey: z.ZodOptional<z.ZodString>;
83
+ /** Max tokens per request */
84
+ maxTokens: z.ZodDefault<z.ZodNumber>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ maxTokens: number;
87
+ provider: "anthropic" | "openai" | "local";
88
+ model: string;
89
+ apiKey?: string | undefined;
90
+ }, {
91
+ maxTokens?: number | undefined;
92
+ provider?: "anthropic" | "openai" | "local" | undefined;
93
+ model?: string | undefined;
94
+ apiKey?: string | undefined;
95
+ }>;
96
+ declare const RAGConfigSchema: z.ZodObject<{
97
+ /** Default retrieval budget */
98
+ budget: z.ZodDefault<z.ZodObject<{
99
+ /** Max tokens for retrieval context */
100
+ maxTokens: z.ZodOptional<z.ZodNumber>;
101
+ /** Max cost in USD for retrieval (requires costPer1kTokensUsd) */
102
+ maxCostUsd: z.ZodOptional<z.ZodNumber>;
103
+ /** Cost per 1k tokens in USD */
104
+ costPer1kTokensUsd: z.ZodOptional<z.ZodNumber>;
105
+ }, "strip", z.ZodTypeAny, {
106
+ maxTokens?: number | undefined;
107
+ costPer1kTokensUsd?: number | undefined;
108
+ maxCostUsd?: number | undefined;
109
+ }, {
110
+ maxTokens?: number | undefined;
111
+ costPer1kTokensUsd?: number | undefined;
112
+ maxCostUsd?: number | undefined;
113
+ }>>;
114
+ /** ChromaDB host for vector search (optional — BM25 works without it) */
115
+ chromaHost: z.ZodDefault<z.ZodString>;
116
+ /** ChromaDB port */
117
+ chromaPort: z.ZodDefault<z.ZodNumber>;
118
+ /** OpenAI API key for embeddings (optional — reads OPENAI_API_KEY env var) */
119
+ openaiApiKey: z.ZodOptional<z.ZodString>;
120
+ /** Chunk size in characters for ingestion */
121
+ chunkSize: z.ZodDefault<z.ZodNumber>;
122
+ /** Chunk overlap in characters */
123
+ chunkOverlap: z.ZodDefault<z.ZodNumber>;
124
+ /** Max chunks per collection */
125
+ maxChunksPerCollection: z.ZodDefault<z.ZodNumber>;
126
+ /** ABAC role profiles for policy-filtered retrieval */
127
+ roles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
128
+ collections: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
129
+ sensitivity: z.ZodDefault<z.ZodEnum<["public", "internal", "restricted"]>>;
130
+ repos: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
131
+ scopes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
132
+ }, "strip", z.ZodTypeAny, {
133
+ sensitivity: "public" | "internal" | "restricted";
134
+ scopes: string[];
135
+ collections: string[];
136
+ repos: string[];
137
+ }, {
138
+ sensitivity?: "public" | "internal" | "restricted" | undefined;
139
+ scopes?: string[] | undefined;
140
+ collections?: string[] | undefined;
141
+ repos?: string[] | undefined;
142
+ }>>>;
143
+ }, "strip", z.ZodTypeAny, {
144
+ budget: {
145
+ maxTokens?: number | undefined;
146
+ costPer1kTokensUsd?: number | undefined;
147
+ maxCostUsd?: number | undefined;
148
+ };
149
+ roles: Record<string, {
150
+ sensitivity: "public" | "internal" | "restricted";
151
+ scopes: string[];
152
+ collections: string[];
153
+ repos: string[];
154
+ }>;
155
+ chromaHost: string;
156
+ chromaPort: number;
157
+ maxChunksPerCollection: number;
158
+ chunkSize: number;
159
+ chunkOverlap: number;
160
+ openaiApiKey?: string | undefined;
161
+ }, {
162
+ budget?: {
163
+ maxTokens?: number | undefined;
164
+ costPer1kTokensUsd?: number | undefined;
165
+ maxCostUsd?: number | undefined;
166
+ } | undefined;
167
+ roles?: Record<string, {
168
+ sensitivity?: "public" | "internal" | "restricted" | undefined;
169
+ scopes?: string[] | undefined;
170
+ collections?: string[] | undefined;
171
+ repos?: string[] | undefined;
172
+ }> | undefined;
173
+ openaiApiKey?: string | undefined;
174
+ chromaHost?: string | undefined;
175
+ chromaPort?: number | undefined;
176
+ maxChunksPerCollection?: number | undefined;
177
+ chunkSize?: number | undefined;
178
+ chunkOverlap?: number | undefined;
179
+ }>;
180
+ declare const BaselineConfigSchema: z.ZodObject<{
181
+ /** Project root directory */
182
+ projectRoot: z.ZodDefault<z.ZodString>;
183
+ /** Project name */
184
+ name: z.ZodOptional<z.ZodString>;
185
+ /** Knowledge paths to index (relative to projectRoot) */
186
+ knowledge: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
187
+ /** File patterns to include */
188
+ include: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
189
+ /** File patterns to exclude */
190
+ exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
191
+ /** Orchestrator settings */
192
+ orchestrator: z.ZodDefault<z.ZodObject<{
193
+ /** Tasks above this complexity require human approval */
194
+ maxAutonomousComplexity: z.ZodDefault<z.ZodEnum<["trivial", "simple", "moderate", "complex", "epic"]>>;
195
+ /** Require self-verification at every step */
196
+ selfVerificationRequired: z.ZodDefault<z.ZodBoolean>;
197
+ /** Confidence threshold for supervisor review (0-1) */
198
+ supervisorReviewThreshold: z.ZodDefault<z.ZodNumber>;
199
+ /** Percentage of tasks to quality review */
200
+ qualityReviewSampleRate: z.ZodDefault<z.ZodNumber>;
201
+ /** Default trust score for new agents */
202
+ defaultTrustScore: z.ZodDefault<z.ZodNumber>;
203
+ /** Max retry attempts per task */
204
+ defaultMaxAttempts: z.ZodDefault<z.ZodNumber>;
205
+ /** Max tokens per task */
206
+ maxTokensPerTask: z.ZodDefault<z.ZodNumber>;
207
+ /** Max concurrent agents */
208
+ maxConcurrentAgents: z.ZodDefault<z.ZodNumber>;
209
+ /** Trust growth rate (asymptotic) */
210
+ trustGrowthRate: z.ZodDefault<z.ZodNumber>;
211
+ /** Trust decay rate (proportional) */
212
+ trustDecayRate: z.ZodDefault<z.ZodNumber>;
213
+ }, "strip", z.ZodTypeAny, {
214
+ maxAutonomousComplexity: "trivial" | "simple" | "moderate" | "complex" | "epic";
215
+ selfVerificationRequired: boolean;
216
+ supervisorReviewThreshold: number;
217
+ qualityReviewSampleRate: number;
218
+ defaultTrustScore: number;
219
+ defaultMaxAttempts: number;
220
+ maxTokensPerTask: number;
221
+ maxConcurrentAgents: number;
222
+ trustGrowthRate: number;
223
+ trustDecayRate: number;
224
+ }, {
225
+ maxAutonomousComplexity?: "trivial" | "simple" | "moderate" | "complex" | "epic" | undefined;
226
+ selfVerificationRequired?: boolean | undefined;
227
+ supervisorReviewThreshold?: number | undefined;
228
+ qualityReviewSampleRate?: number | undefined;
229
+ defaultTrustScore?: number | undefined;
230
+ defaultMaxAttempts?: number | undefined;
231
+ maxTokensPerTask?: number | undefined;
232
+ maxConcurrentAgents?: number | undefined;
233
+ trustGrowthRate?: number | undefined;
234
+ trustDecayRate?: number | undefined;
235
+ }>>;
236
+ /** Cache settings */
237
+ cache: z.ZodDefault<z.ZodObject<{
238
+ /** Cache TTL in milliseconds */
239
+ ttl: z.ZodDefault<z.ZodNumber>;
240
+ /** Max cache entries */
241
+ maxSize: z.ZodDefault<z.ZodNumber>;
242
+ /** Similarity threshold for semantic cache hits */
243
+ similarityThreshold: z.ZodDefault<z.ZodNumber>;
244
+ }, "strip", z.ZodTypeAny, {
245
+ ttl: number;
246
+ maxSize: number;
247
+ similarityThreshold: number;
248
+ }, {
249
+ ttl?: number | undefined;
250
+ maxSize?: number | undefined;
251
+ similarityThreshold?: number | undefined;
252
+ }>>;
253
+ /** Path settings */
254
+ paths: z.ZodDefault<z.ZodObject<{
255
+ /** Directory for BaselineOS data */
256
+ data: z.ZodDefault<z.ZodString>;
257
+ /** Directory for knowledge index */
258
+ index: z.ZodDefault<z.ZodString>;
259
+ /** Directory for checkpoints */
260
+ checkpoints: z.ZodDefault<z.ZodString>;
261
+ }, "strip", z.ZodTypeAny, {
262
+ data: string;
263
+ index: string;
264
+ checkpoints: string;
265
+ }, {
266
+ data?: string | undefined;
267
+ index?: string | undefined;
268
+ checkpoints?: string | undefined;
269
+ }>>;
270
+ /** LLM settings */
271
+ llm: z.ZodDefault<z.ZodObject<{
272
+ /** LLM provider */
273
+ provider: z.ZodDefault<z.ZodEnum<["anthropic", "openai", "local"]>>;
274
+ /** Model to use */
275
+ model: z.ZodDefault<z.ZodString>;
276
+ /** API key (or use env var) */
277
+ apiKey: z.ZodOptional<z.ZodString>;
278
+ /** Max tokens per request */
279
+ maxTokens: z.ZodDefault<z.ZodNumber>;
280
+ }, "strip", z.ZodTypeAny, {
281
+ maxTokens: number;
282
+ provider: "anthropic" | "openai" | "local";
283
+ model: string;
284
+ apiKey?: string | undefined;
285
+ }, {
286
+ maxTokens?: number | undefined;
287
+ provider?: "anthropic" | "openai" | "local" | undefined;
288
+ model?: string | undefined;
289
+ apiKey?: string | undefined;
290
+ }>>;
291
+ /** Workflows (AMP/Ralph registry) */
292
+ workflows: z.ZodDefault<z.ZodArray<z.ZodObject<{
293
+ id: z.ZodString;
294
+ name: z.ZodString;
295
+ description: z.ZodOptional<z.ZodString>;
296
+ steps: z.ZodArray<z.ZodObject<{
297
+ id: z.ZodString;
298
+ title: z.ZodString;
299
+ description: z.ZodString;
300
+ action: z.ZodObject<{
301
+ type: z.ZodEnum<["llm", "tool", "human", "composite"]>;
302
+ operation: z.ZodString;
303
+ parameters: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
304
+ timeout: z.ZodOptional<z.ZodNumber>;
305
+ }, "strip", z.ZodTypeAny, {
306
+ type: "human" | "llm" | "tool" | "composite";
307
+ operation: string;
308
+ parameters: Record<string, unknown>;
309
+ timeout?: number | undefined;
310
+ }, {
311
+ type: "human" | "llm" | "tool" | "composite";
312
+ operation: string;
313
+ timeout?: number | undefined;
314
+ parameters?: Record<string, unknown> | undefined;
315
+ }>;
316
+ verificationCriteria: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
317
+ }, "strip", z.ZodTypeAny, {
318
+ title: string;
319
+ description: string;
320
+ id: string;
321
+ action: {
322
+ type: "human" | "llm" | "tool" | "composite";
323
+ operation: string;
324
+ parameters: Record<string, unknown>;
325
+ timeout?: number | undefined;
326
+ };
327
+ verificationCriteria?: string[] | undefined;
328
+ }, {
329
+ title: string;
330
+ description: string;
331
+ id: string;
332
+ action: {
333
+ type: "human" | "llm" | "tool" | "composite";
334
+ operation: string;
335
+ timeout?: number | undefined;
336
+ parameters?: Record<string, unknown> | undefined;
337
+ };
338
+ verificationCriteria?: string[] | undefined;
339
+ }>, "many">;
340
+ requiredCapabilities: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
341
+ budget: z.ZodOptional<z.ZodObject<{
342
+ maxTokens: z.ZodOptional<z.ZodNumber>;
343
+ maxCostUsd: z.ZodOptional<z.ZodNumber>;
344
+ costPer1kTokensUsd: z.ZodOptional<z.ZodNumber>;
345
+ maxSteps: z.ZodOptional<z.ZodNumber>;
346
+ maxDurationMs: z.ZodOptional<z.ZodNumber>;
347
+ maxAttempts: z.ZodOptional<z.ZodNumber>;
348
+ }, "strip", z.ZodTypeAny, {
349
+ maxAttempts?: number | undefined;
350
+ maxDurationMs?: number | undefined;
351
+ maxTokens?: number | undefined;
352
+ costPer1kTokensUsd?: number | undefined;
353
+ maxCostUsd?: number | undefined;
354
+ maxSteps?: number | undefined;
355
+ }, {
356
+ maxAttempts?: number | undefined;
357
+ maxDurationMs?: number | undefined;
358
+ maxTokens?: number | undefined;
359
+ costPer1kTokensUsd?: number | undefined;
360
+ maxCostUsd?: number | undefined;
361
+ maxSteps?: number | undefined;
362
+ }>>;
363
+ }, "strip", z.ZodTypeAny, {
364
+ id: string;
365
+ name: string;
366
+ steps: {
367
+ title: string;
368
+ description: string;
369
+ id: string;
370
+ action: {
371
+ type: "human" | "llm" | "tool" | "composite";
372
+ operation: string;
373
+ parameters: Record<string, unknown>;
374
+ timeout?: number | undefined;
375
+ };
376
+ verificationCriteria?: string[] | undefined;
377
+ }[];
378
+ description?: string | undefined;
379
+ requiredCapabilities?: string[] | undefined;
380
+ budget?: {
381
+ maxAttempts?: number | undefined;
382
+ maxDurationMs?: number | undefined;
383
+ maxTokens?: number | undefined;
384
+ costPer1kTokensUsd?: number | undefined;
385
+ maxCostUsd?: number | undefined;
386
+ maxSteps?: number | undefined;
387
+ } | undefined;
388
+ }, {
389
+ id: string;
390
+ name: string;
391
+ steps: {
392
+ title: string;
393
+ description: string;
394
+ id: string;
395
+ action: {
396
+ type: "human" | "llm" | "tool" | "composite";
397
+ operation: string;
398
+ timeout?: number | undefined;
399
+ parameters?: Record<string, unknown> | undefined;
400
+ };
401
+ verificationCriteria?: string[] | undefined;
402
+ }[];
403
+ description?: string | undefined;
404
+ requiredCapabilities?: string[] | undefined;
405
+ budget?: {
406
+ maxAttempts?: number | undefined;
407
+ maxDurationMs?: number | undefined;
408
+ maxTokens?: number | undefined;
409
+ costPer1kTokensUsd?: number | undefined;
410
+ maxCostUsd?: number | undefined;
411
+ maxSteps?: number | undefined;
412
+ } | undefined;
413
+ }>, "many">>;
414
+ /** RAG settings */
415
+ rag: z.ZodDefault<z.ZodObject<{
416
+ /** Default retrieval budget */
417
+ budget: z.ZodDefault<z.ZodObject<{
418
+ /** Max tokens for retrieval context */
419
+ maxTokens: z.ZodOptional<z.ZodNumber>;
420
+ /** Max cost in USD for retrieval (requires costPer1kTokensUsd) */
421
+ maxCostUsd: z.ZodOptional<z.ZodNumber>;
422
+ /** Cost per 1k tokens in USD */
423
+ costPer1kTokensUsd: z.ZodOptional<z.ZodNumber>;
424
+ }, "strip", z.ZodTypeAny, {
425
+ maxTokens?: number | undefined;
426
+ costPer1kTokensUsd?: number | undefined;
427
+ maxCostUsd?: number | undefined;
428
+ }, {
429
+ maxTokens?: number | undefined;
430
+ costPer1kTokensUsd?: number | undefined;
431
+ maxCostUsd?: number | undefined;
432
+ }>>;
433
+ /** ChromaDB host for vector search (optional — BM25 works without it) */
434
+ chromaHost: z.ZodDefault<z.ZodString>;
435
+ /** ChromaDB port */
436
+ chromaPort: z.ZodDefault<z.ZodNumber>;
437
+ /** OpenAI API key for embeddings (optional — reads OPENAI_API_KEY env var) */
438
+ openaiApiKey: z.ZodOptional<z.ZodString>;
439
+ /** Chunk size in characters for ingestion */
440
+ chunkSize: z.ZodDefault<z.ZodNumber>;
441
+ /** Chunk overlap in characters */
442
+ chunkOverlap: z.ZodDefault<z.ZodNumber>;
443
+ /** Max chunks per collection */
444
+ maxChunksPerCollection: z.ZodDefault<z.ZodNumber>;
445
+ /** ABAC role profiles for policy-filtered retrieval */
446
+ roles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
447
+ collections: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
448
+ sensitivity: z.ZodDefault<z.ZodEnum<["public", "internal", "restricted"]>>;
449
+ repos: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
450
+ scopes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
451
+ }, "strip", z.ZodTypeAny, {
452
+ sensitivity: "public" | "internal" | "restricted";
453
+ scopes: string[];
454
+ collections: string[];
455
+ repos: string[];
456
+ }, {
457
+ sensitivity?: "public" | "internal" | "restricted" | undefined;
458
+ scopes?: string[] | undefined;
459
+ collections?: string[] | undefined;
460
+ repos?: string[] | undefined;
461
+ }>>>;
462
+ }, "strip", z.ZodTypeAny, {
463
+ budget: {
464
+ maxTokens?: number | undefined;
465
+ costPer1kTokensUsd?: number | undefined;
466
+ maxCostUsd?: number | undefined;
467
+ };
468
+ roles: Record<string, {
469
+ sensitivity: "public" | "internal" | "restricted";
470
+ scopes: string[];
471
+ collections: string[];
472
+ repos: string[];
473
+ }>;
474
+ chromaHost: string;
475
+ chromaPort: number;
476
+ maxChunksPerCollection: number;
477
+ chunkSize: number;
478
+ chunkOverlap: number;
479
+ openaiApiKey?: string | undefined;
480
+ }, {
481
+ budget?: {
482
+ maxTokens?: number | undefined;
483
+ costPer1kTokensUsd?: number | undefined;
484
+ maxCostUsd?: number | undefined;
485
+ } | undefined;
486
+ roles?: Record<string, {
487
+ sensitivity?: "public" | "internal" | "restricted" | undefined;
488
+ scopes?: string[] | undefined;
489
+ collections?: string[] | undefined;
490
+ repos?: string[] | undefined;
491
+ }> | undefined;
492
+ openaiApiKey?: string | undefined;
493
+ chromaHost?: string | undefined;
494
+ chromaPort?: number | undefined;
495
+ maxChunksPerCollection?: number | undefined;
496
+ chunkSize?: number | undefined;
497
+ chunkOverlap?: number | undefined;
498
+ }>>;
499
+ /** Custom agents */
500
+ agents: z.ZodDefault<z.ZodArray<z.ZodObject<{
501
+ id: z.ZodString;
502
+ name: z.ZodString;
503
+ role: z.ZodEnum<["planner", "executor", "supervisor", "quality", "specialist"]>;
504
+ capabilities: z.ZodArray<z.ZodString, "many">;
505
+ domains: z.ZodArray<z.ZodString, "many">;
506
+ }, "strip", z.ZodTypeAny, {
507
+ id: string;
508
+ role: "planner" | "executor" | "supervisor" | "quality" | "specialist";
509
+ name: string;
510
+ capabilities: string[];
511
+ domains: string[];
512
+ }, {
513
+ id: string;
514
+ role: "planner" | "executor" | "supervisor" | "quality" | "specialist";
515
+ name: string;
516
+ capabilities: string[];
517
+ domains: string[];
518
+ }>, "many">>;
519
+ /** Governance rules */
520
+ governance: z.ZodDefault<z.ZodObject<{
521
+ /** Actions that require approval */
522
+ requireApproval: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
523
+ /** Resources that are restricted */
524
+ restricted: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
525
+ /** Audit level */
526
+ auditLevel: z.ZodDefault<z.ZodEnum<["none", "basic", "full"]>>;
527
+ /** Governance pillar validators — enable/configure each pillar */
528
+ validators: z.ZodDefault<z.ZodObject<{
529
+ /** Policy enforcement — evaluate and enforce governance policies */
530
+ policy: z.ZodDefault<z.ZodObject<{
531
+ enabled: z.ZodDefault<z.ZodBoolean>;
532
+ enforcement: z.ZodDefault<z.ZodEnum<["advisory", "warn", "block"]>>;
533
+ }, "strip", z.ZodTypeAny, {
534
+ enabled: boolean;
535
+ enforcement: "block" | "warn" | "advisory";
536
+ }, {
537
+ enabled?: boolean | undefined;
538
+ enforcement?: "block" | "warn" | "advisory" | undefined;
539
+ }>>;
540
+ /** Risk assessment — evaluate complexity/impact before execution */
541
+ risk: z.ZodDefault<z.ZodObject<{
542
+ enabled: z.ZodDefault<z.ZodBoolean>;
543
+ blockOnCritical: z.ZodDefault<z.ZodBoolean>;
544
+ }, "strip", z.ZodTypeAny, {
545
+ enabled: boolean;
546
+ blockOnCritical: boolean;
547
+ }, {
548
+ enabled?: boolean | undefined;
549
+ blockOnCritical?: boolean | undefined;
550
+ }>>;
551
+ /** Compliance checks — validate against standards (ISO 27001, NDPC, AfCFTA) */
552
+ compliance: z.ZodDefault<z.ZodObject<{
553
+ enabled: z.ZodDefault<z.ZodBoolean>;
554
+ standards: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
555
+ }, "strip", z.ZodTypeAny, {
556
+ enabled: boolean;
557
+ standards: string[];
558
+ }, {
559
+ enabled?: boolean | undefined;
560
+ standards?: string[] | undefined;
561
+ }>>;
562
+ /** Approval workflows — require human sign-off for high-impact actions */
563
+ approval: z.ZodDefault<z.ZodObject<{
564
+ enabled: z.ZodDefault<z.ZodBoolean>;
565
+ requiredApprovers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
566
+ }, "strip", z.ZodTypeAny, {
567
+ enabled: boolean;
568
+ requiredApprovers: string[];
569
+ }, {
570
+ enabled?: boolean | undefined;
571
+ requiredApprovers?: string[] | undefined;
572
+ }>>;
573
+ /** Permission gating — ABAC-based resource access control */
574
+ permission: z.ZodDefault<z.ZodObject<{
575
+ enabled: z.ZodDefault<z.ZodBoolean>;
576
+ }, "strip", z.ZodTypeAny, {
577
+ enabled: boolean;
578
+ }, {
579
+ enabled?: boolean | undefined;
580
+ }>>;
581
+ /** Cost tracking — monitor and enforce token/resource budgets */
582
+ cost: z.ZodDefault<z.ZodObject<{
583
+ enabled: z.ZodDefault<z.ZodBoolean>;
584
+ maxBudgetUsd: z.ZodOptional<z.ZodNumber>;
585
+ }, "strip", z.ZodTypeAny, {
586
+ enabled: boolean;
587
+ maxBudgetUsd?: number | undefined;
588
+ }, {
589
+ enabled?: boolean | undefined;
590
+ maxBudgetUsd?: number | undefined;
591
+ }>>;
592
+ /** Evidence production — generate exportable governance bundles */
593
+ evidence: z.ZodDefault<z.ZodObject<{
594
+ enabled: z.ZodDefault<z.ZodBoolean>;
595
+ autoExport: z.ZodDefault<z.ZodBoolean>;
596
+ exportPath: z.ZodDefault<z.ZodString>;
597
+ }, "strip", z.ZodTypeAny, {
598
+ enabled: boolean;
599
+ autoExport: boolean;
600
+ exportPath: string;
601
+ }, {
602
+ enabled?: boolean | undefined;
603
+ autoExport?: boolean | undefined;
604
+ exportPath?: string | undefined;
605
+ }>>;
606
+ }, "strip", z.ZodTypeAny, {
607
+ policy: {
608
+ enabled: boolean;
609
+ enforcement: "block" | "warn" | "advisory";
610
+ };
611
+ compliance: {
612
+ enabled: boolean;
613
+ standards: string[];
614
+ };
615
+ risk: {
616
+ enabled: boolean;
617
+ blockOnCritical: boolean;
618
+ };
619
+ approval: {
620
+ enabled: boolean;
621
+ requiredApprovers: string[];
622
+ };
623
+ permission: {
624
+ enabled: boolean;
625
+ };
626
+ cost: {
627
+ enabled: boolean;
628
+ maxBudgetUsd?: number | undefined;
629
+ };
630
+ evidence: {
631
+ enabled: boolean;
632
+ autoExport: boolean;
633
+ exportPath: string;
634
+ };
635
+ }, {
636
+ policy?: {
637
+ enabled?: boolean | undefined;
638
+ enforcement?: "block" | "warn" | "advisory" | undefined;
639
+ } | undefined;
640
+ compliance?: {
641
+ enabled?: boolean | undefined;
642
+ standards?: string[] | undefined;
643
+ } | undefined;
644
+ risk?: {
645
+ enabled?: boolean | undefined;
646
+ blockOnCritical?: boolean | undefined;
647
+ } | undefined;
648
+ approval?: {
649
+ enabled?: boolean | undefined;
650
+ requiredApprovers?: string[] | undefined;
651
+ } | undefined;
652
+ permission?: {
653
+ enabled?: boolean | undefined;
654
+ } | undefined;
655
+ cost?: {
656
+ enabled?: boolean | undefined;
657
+ maxBudgetUsd?: number | undefined;
658
+ } | undefined;
659
+ evidence?: {
660
+ enabled?: boolean | undefined;
661
+ autoExport?: boolean | undefined;
662
+ exportPath?: string | undefined;
663
+ } | undefined;
664
+ }>>;
665
+ }, "strip", z.ZodTypeAny, {
666
+ restricted: string[];
667
+ requireApproval: string[];
668
+ auditLevel: "full" | "none" | "basic";
669
+ validators: {
670
+ policy: {
671
+ enabled: boolean;
672
+ enforcement: "block" | "warn" | "advisory";
673
+ };
674
+ compliance: {
675
+ enabled: boolean;
676
+ standards: string[];
677
+ };
678
+ risk: {
679
+ enabled: boolean;
680
+ blockOnCritical: boolean;
681
+ };
682
+ approval: {
683
+ enabled: boolean;
684
+ requiredApprovers: string[];
685
+ };
686
+ permission: {
687
+ enabled: boolean;
688
+ };
689
+ cost: {
690
+ enabled: boolean;
691
+ maxBudgetUsd?: number | undefined;
692
+ };
693
+ evidence: {
694
+ enabled: boolean;
695
+ autoExport: boolean;
696
+ exportPath: string;
697
+ };
698
+ };
699
+ }, {
700
+ restricted?: string[] | undefined;
701
+ requireApproval?: string[] | undefined;
702
+ auditLevel?: "full" | "none" | "basic" | undefined;
703
+ validators?: {
704
+ policy?: {
705
+ enabled?: boolean | undefined;
706
+ enforcement?: "block" | "warn" | "advisory" | undefined;
707
+ } | undefined;
708
+ compliance?: {
709
+ enabled?: boolean | undefined;
710
+ standards?: string[] | undefined;
711
+ } | undefined;
712
+ risk?: {
713
+ enabled?: boolean | undefined;
714
+ blockOnCritical?: boolean | undefined;
715
+ } | undefined;
716
+ approval?: {
717
+ enabled?: boolean | undefined;
718
+ requiredApprovers?: string[] | undefined;
719
+ } | undefined;
720
+ permission?: {
721
+ enabled?: boolean | undefined;
722
+ } | undefined;
723
+ cost?: {
724
+ enabled?: boolean | undefined;
725
+ maxBudgetUsd?: number | undefined;
726
+ } | undefined;
727
+ evidence?: {
728
+ enabled?: boolean | undefined;
729
+ autoExport?: boolean | undefined;
730
+ exportPath?: string | undefined;
731
+ } | undefined;
732
+ } | undefined;
733
+ }>>;
734
+ }, "strip", z.ZodTypeAny, {
735
+ workflows: {
736
+ id: string;
737
+ name: string;
738
+ steps: {
739
+ title: string;
740
+ description: string;
741
+ id: string;
742
+ action: {
743
+ type: "human" | "llm" | "tool" | "composite";
744
+ operation: string;
745
+ parameters: Record<string, unknown>;
746
+ timeout?: number | undefined;
747
+ };
748
+ verificationCriteria?: string[] | undefined;
749
+ }[];
750
+ description?: string | undefined;
751
+ requiredCapabilities?: string[] | undefined;
752
+ budget?: {
753
+ maxAttempts?: number | undefined;
754
+ maxDurationMs?: number | undefined;
755
+ maxTokens?: number | undefined;
756
+ costPer1kTokensUsd?: number | undefined;
757
+ maxCostUsd?: number | undefined;
758
+ maxSteps?: number | undefined;
759
+ } | undefined;
760
+ }[];
761
+ cache: {
762
+ ttl: number;
763
+ maxSize: number;
764
+ similarityThreshold: number;
765
+ };
766
+ orchestrator: {
767
+ maxAutonomousComplexity: "trivial" | "simple" | "moderate" | "complex" | "epic";
768
+ selfVerificationRequired: boolean;
769
+ supervisorReviewThreshold: number;
770
+ qualityReviewSampleRate: number;
771
+ defaultTrustScore: number;
772
+ defaultMaxAttempts: number;
773
+ maxTokensPerTask: number;
774
+ maxConcurrentAgents: number;
775
+ trustGrowthRate: number;
776
+ trustDecayRate: number;
777
+ };
778
+ governance: {
779
+ restricted: string[];
780
+ requireApproval: string[];
781
+ auditLevel: "full" | "none" | "basic";
782
+ validators: {
783
+ policy: {
784
+ enabled: boolean;
785
+ enforcement: "block" | "warn" | "advisory";
786
+ };
787
+ compliance: {
788
+ enabled: boolean;
789
+ standards: string[];
790
+ };
791
+ risk: {
792
+ enabled: boolean;
793
+ blockOnCritical: boolean;
794
+ };
795
+ approval: {
796
+ enabled: boolean;
797
+ requiredApprovers: string[];
798
+ };
799
+ permission: {
800
+ enabled: boolean;
801
+ };
802
+ cost: {
803
+ enabled: boolean;
804
+ maxBudgetUsd?: number | undefined;
805
+ };
806
+ evidence: {
807
+ enabled: boolean;
808
+ autoExport: boolean;
809
+ exportPath: string;
810
+ };
811
+ };
812
+ };
813
+ llm: {
814
+ maxTokens: number;
815
+ provider: "anthropic" | "openai" | "local";
816
+ model: string;
817
+ apiKey?: string | undefined;
818
+ };
819
+ projectRoot: string;
820
+ knowledge: string[];
821
+ include: string[];
822
+ exclude: string[];
823
+ paths: {
824
+ data: string;
825
+ index: string;
826
+ checkpoints: string;
827
+ };
828
+ rag: {
829
+ budget: {
830
+ maxTokens?: number | undefined;
831
+ costPer1kTokensUsd?: number | undefined;
832
+ maxCostUsd?: number | undefined;
833
+ };
834
+ roles: Record<string, {
835
+ sensitivity: "public" | "internal" | "restricted";
836
+ scopes: string[];
837
+ collections: string[];
838
+ repos: string[];
839
+ }>;
840
+ chromaHost: string;
841
+ chromaPort: number;
842
+ maxChunksPerCollection: number;
843
+ chunkSize: number;
844
+ chunkOverlap: number;
845
+ openaiApiKey?: string | undefined;
846
+ };
847
+ agents: {
848
+ id: string;
849
+ role: "planner" | "executor" | "supervisor" | "quality" | "specialist";
850
+ name: string;
851
+ capabilities: string[];
852
+ domains: string[];
853
+ }[];
854
+ name?: string | undefined;
855
+ }, {
856
+ workflows?: {
857
+ id: string;
858
+ name: string;
859
+ steps: {
860
+ title: string;
861
+ description: string;
862
+ id: string;
863
+ action: {
864
+ type: "human" | "llm" | "tool" | "composite";
865
+ operation: string;
866
+ timeout?: number | undefined;
867
+ parameters?: Record<string, unknown> | undefined;
868
+ };
869
+ verificationCriteria?: string[] | undefined;
870
+ }[];
871
+ description?: string | undefined;
872
+ requiredCapabilities?: string[] | undefined;
873
+ budget?: {
874
+ maxAttempts?: number | undefined;
875
+ maxDurationMs?: number | undefined;
876
+ maxTokens?: number | undefined;
877
+ costPer1kTokensUsd?: number | undefined;
878
+ maxCostUsd?: number | undefined;
879
+ maxSteps?: number | undefined;
880
+ } | undefined;
881
+ }[] | undefined;
882
+ cache?: {
883
+ ttl?: number | undefined;
884
+ maxSize?: number | undefined;
885
+ similarityThreshold?: number | undefined;
886
+ } | undefined;
887
+ orchestrator?: {
888
+ maxAutonomousComplexity?: "trivial" | "simple" | "moderate" | "complex" | "epic" | undefined;
889
+ selfVerificationRequired?: boolean | undefined;
890
+ supervisorReviewThreshold?: number | undefined;
891
+ qualityReviewSampleRate?: number | undefined;
892
+ defaultTrustScore?: number | undefined;
893
+ defaultMaxAttempts?: number | undefined;
894
+ maxTokensPerTask?: number | undefined;
895
+ maxConcurrentAgents?: number | undefined;
896
+ trustGrowthRate?: number | undefined;
897
+ trustDecayRate?: number | undefined;
898
+ } | undefined;
899
+ name?: string | undefined;
900
+ governance?: {
901
+ restricted?: string[] | undefined;
902
+ requireApproval?: string[] | undefined;
903
+ auditLevel?: "full" | "none" | "basic" | undefined;
904
+ validators?: {
905
+ policy?: {
906
+ enabled?: boolean | undefined;
907
+ enforcement?: "block" | "warn" | "advisory" | undefined;
908
+ } | undefined;
909
+ compliance?: {
910
+ enabled?: boolean | undefined;
911
+ standards?: string[] | undefined;
912
+ } | undefined;
913
+ risk?: {
914
+ enabled?: boolean | undefined;
915
+ blockOnCritical?: boolean | undefined;
916
+ } | undefined;
917
+ approval?: {
918
+ enabled?: boolean | undefined;
919
+ requiredApprovers?: string[] | undefined;
920
+ } | undefined;
921
+ permission?: {
922
+ enabled?: boolean | undefined;
923
+ } | undefined;
924
+ cost?: {
925
+ enabled?: boolean | undefined;
926
+ maxBudgetUsd?: number | undefined;
927
+ } | undefined;
928
+ evidence?: {
929
+ enabled?: boolean | undefined;
930
+ autoExport?: boolean | undefined;
931
+ exportPath?: string | undefined;
932
+ } | undefined;
933
+ } | undefined;
934
+ } | undefined;
935
+ llm?: {
936
+ maxTokens?: number | undefined;
937
+ provider?: "anthropic" | "openai" | "local" | undefined;
938
+ model?: string | undefined;
939
+ apiKey?: string | undefined;
940
+ } | undefined;
941
+ projectRoot?: string | undefined;
942
+ knowledge?: string[] | undefined;
943
+ include?: string[] | undefined;
944
+ exclude?: string[] | undefined;
945
+ paths?: {
946
+ data?: string | undefined;
947
+ index?: string | undefined;
948
+ checkpoints?: string | undefined;
949
+ } | undefined;
950
+ rag?: {
951
+ budget?: {
952
+ maxTokens?: number | undefined;
953
+ costPer1kTokensUsd?: number | undefined;
954
+ maxCostUsd?: number | undefined;
955
+ } | undefined;
956
+ roles?: Record<string, {
957
+ sensitivity?: "public" | "internal" | "restricted" | undefined;
958
+ scopes?: string[] | undefined;
959
+ collections?: string[] | undefined;
960
+ repos?: string[] | undefined;
961
+ }> | undefined;
962
+ openaiApiKey?: string | undefined;
963
+ chromaHost?: string | undefined;
964
+ chromaPort?: number | undefined;
965
+ maxChunksPerCollection?: number | undefined;
966
+ chunkSize?: number | undefined;
967
+ chunkOverlap?: number | undefined;
968
+ } | undefined;
969
+ agents?: {
970
+ id: string;
971
+ role: "planner" | "executor" | "supervisor" | "quality" | "specialist";
972
+ name: string;
973
+ capabilities: string[];
974
+ domains: string[];
975
+ }[] | undefined;
976
+ }>;
977
+ type BaselineConfig = z.infer<typeof BaselineConfigSchema>;
978
+ type OrchestratorConfig = z.infer<typeof OrchestratorConfigSchema>;
979
+ type CacheConfig = z.infer<typeof CacheConfigSchema>;
980
+ type LLMConfig = z.infer<typeof LLMConfigSchema>;
981
+ type RAGConfig = z.infer<typeof RAGConfigSchema>;
982
+ declare class ConfigLoader {
983
+ private static explorer;
984
+ /**
985
+ * Load configuration from file.
986
+ */
987
+ static load(cwd?: string): Promise<BaselineConfig>;
988
+ /**
989
+ * Load configuration synchronously (for CLI).
990
+ */
991
+ static loadSync(cwd?: string): BaselineConfig;
992
+ /**
993
+ * Resolve and validate configuration.
994
+ */
995
+ static resolve(config: Partial<BaselineConfig>): BaselineConfig;
996
+ /**
997
+ * Generate a config file template.
998
+ */
999
+ static generateTemplate(format?: 'ts' | 'js' | 'json'): string;
1000
+ }
1001
+
1002
+ export { type BaselineConfig, BaselineConfigSchema, type CacheConfig, ConfigLoader, type LLMConfig, type OrchestratorConfig, type RAGConfig };