speexor 0.2.0 → 0.2.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.
@@ -1,8 +1,687 @@
1
- import { E as EventBus, l as ReactionConfig, s as SpeexorConfig, P as PluginModule, j as PluginSlot, e as AgentTask, A as AgentSession, r as SessionStatus } from '../types-0q_okI2g.js';
2
- export { b as AgentPlugin, c as AgentProvider, d as AgentStatus, C as CIRun, N as NotifierPlugin, f as PRComment, g as PRInfo, h as PRStatus, i as PluginContext, a as ProjectConfig, k as ProviderRouting, m as ReactionRule, n as RuntimePlugin, R as RuntimeSession, o as RuntimeType, p as SCMPlugin, q as SessionEventType, S as SpeexorState, t as TerminalPlugin, T as TrackerEvent, u as TrackerEventType, v as TrackerFilter, w as TrackerIssue, x as TrackerPlugin, y as WorkspacePlugin, W as WorktreeSession } from '../types-0q_okI2g.js';
1
+ import { E as EventBus, H as ReactionConfig, Z as SpeexorConfig, P as PluginModule, B as PluginSlot, j as AgentTask, A as AgentSession, Y as SessionStatus } from '../types-BOMap-tI.js';
2
+ export { c as AgentEvent, f as AgentEventType, g as AgentPlugin, h as AgentProvider, i as AgentStatus, k as ApprovalAxis, d as ApprovalItem, l as ApprovalStatus, C as CIRun, m as CommandExecution, n as CostGuardConfig, D as DecisionLogEntry, o as DecompositionConfig, p as ExtensionManifest, q as ExtensionPermissions, r as ExtensionType, s as ExtensionsConfig, G as GovernanceConfig, L as LoggingConfig, N as NotifierPlugin, t as PRComment, u as PRInfo, v as PRStatus, w as PerformanceConfig, x as PermissionAxis, y as PermissionLevel, z as PluginContext, b as ProjectConfig, a as ProviderCostEntry, F as ProviderRouting, I as ReactionRule, J as RiskPolicyConfig, K as RollbackRecord, M as RuntimePlugin, R as RuntimeSession, O as RuntimeType, Q as SCMPlugin, U as SchedulerConfig, V as SecurityConfig, X as SessionEventType, S as SpeexorState, T as TaskGraph, _ as TaskNode, $ as TaskNodeStatus, a0 as TaskOrigin, a1 as TaskResult, a2 as TerminalPlugin, e as TrackerEvent, a3 as TrackerEventType, a4 as TrackerFilter, a5 as TrackerIssue, a6 as TrackerPlugin, a7 as WorkspacePlugin, a8 as WorkspaceSession, a9 as WorktreeHierarchyConfig, W as WorktreeSession } from '../types-BOMap-tI.js';
3
+ import { z } from 'zod';
3
4
 
4
5
  declare function createEventBus(): EventBus;
5
6
 
7
+ declare const decompositionSchema: z.ZodObject<{
8
+ maxTaskGraphDepth: z.ZodDefault<z.ZodNumber>;
9
+ maxAgentSpawnDepth: z.ZodDefault<z.ZodNumber>;
10
+ maxNodesPerGraph: z.ZodDefault<z.ZodNumber>;
11
+ plannerProvider: z.ZodOptional<z.ZodString>;
12
+ plannerModel: z.ZodOptional<z.ZodString>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ maxTaskGraphDepth: number;
15
+ maxAgentSpawnDepth: number;
16
+ maxNodesPerGraph: number;
17
+ plannerProvider?: string | undefined;
18
+ plannerModel?: string | undefined;
19
+ }, {
20
+ maxTaskGraphDepth?: number | undefined;
21
+ maxAgentSpawnDepth?: number | undefined;
22
+ maxNodesPerGraph?: number | undefined;
23
+ plannerProvider?: string | undefined;
24
+ plannerModel?: string | undefined;
25
+ }>;
26
+ declare const schedulerSchema: z.ZodObject<{
27
+ maxConcurrentAgents: z.ZodDefault<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"auto">]>>;
28
+ retryOnFailure: z.ZodDefault<z.ZodNumber>;
29
+ providerFallbackChain: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
30
+ maxAfkDurationHours: z.ZodOptional<z.ZodNumber>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ maxConcurrentAgents: number | "auto";
33
+ retryOnFailure: number;
34
+ providerFallbackChain: string[];
35
+ maxAfkDurationHours?: number | undefined;
36
+ }, {
37
+ maxConcurrentAgents?: number | "auto" | undefined;
38
+ retryOnFailure?: number | undefined;
39
+ providerFallbackChain?: string[] | undefined;
40
+ maxAfkDurationHours?: number | undefined;
41
+ }>;
42
+ declare const governanceSchema: z.ZodObject<{
43
+ autoApproveProposedTasks: z.ZodDefault<z.ZodBoolean>;
44
+ autoApproveCategories: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
45
+ duplicateSimilarityThreshold: z.ZodDefault<z.ZodNumber>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ autoApproveProposedTasks: boolean;
48
+ autoApproveCategories: string[];
49
+ duplicateSimilarityThreshold: number;
50
+ }, {
51
+ autoApproveProposedTasks?: boolean | undefined;
52
+ autoApproveCategories?: string[] | undefined;
53
+ duplicateSimilarityThreshold?: number | undefined;
54
+ }>;
55
+ declare const worktreeHierarchySchema: z.ZodObject<{
56
+ pinToCommitHash: z.ZodDefault<z.ZodBoolean>;
57
+ serializeMerges: z.ZodDefault<z.ZodBoolean>;
58
+ conflictEscalatesToApproval: z.ZodDefault<z.ZodBoolean>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ pinToCommitHash: boolean;
61
+ serializeMerges: boolean;
62
+ conflictEscalatesToApproval: boolean;
63
+ }, {
64
+ pinToCommitHash?: boolean | undefined;
65
+ serializeMerges?: boolean | undefined;
66
+ conflictEscalatesToApproval?: boolean | undefined;
67
+ }>;
68
+ declare const costGuardSchema: z.ZodObject<{
69
+ budgetLimitUSD: z.ZodOptional<z.ZodNumber>;
70
+ trackByProvider: z.ZodDefault<z.ZodBoolean>;
71
+ trackByProject: z.ZodDefault<z.ZodBoolean>;
72
+ trackByTaskNode: z.ZodDefault<z.ZodBoolean>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ trackByProvider: boolean;
75
+ trackByProject: boolean;
76
+ trackByTaskNode: boolean;
77
+ budgetLimitUSD?: number | undefined;
78
+ }, {
79
+ budgetLimitUSD?: number | undefined;
80
+ trackByProvider?: boolean | undefined;
81
+ trackByProject?: boolean | undefined;
82
+ trackByTaskNode?: boolean | undefined;
83
+ }>;
84
+ declare const extensionsSchema: z.ZodObject<{
85
+ marketplaceIndex: z.ZodOptional<z.ZodString>;
86
+ enabled: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
87
+ permissionsMode: z.ZodDefault<z.ZodEnum<["strict", "relaxed"]>>;
88
+ }, "strip", z.ZodTypeAny, {
89
+ enabled: string[];
90
+ permissionsMode: "strict" | "relaxed";
91
+ marketplaceIndex?: string | undefined;
92
+ }, {
93
+ marketplaceIndex?: string | undefined;
94
+ enabled?: string[] | undefined;
95
+ permissionsMode?: "strict" | "relaxed" | undefined;
96
+ }>;
97
+ declare const securitySchema: z.ZodObject<{
98
+ secretsBackend: z.ZodDefault<z.ZodEnum<["os-keychain", "file"]>>;
99
+ encryptAtRest: z.ZodDefault<z.ZodBoolean>;
100
+ sandboxModel: z.ZodDefault<z.ZodEnum<["process", "isolated-vm"]>>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ secretsBackend: "os-keychain" | "file";
103
+ encryptAtRest: boolean;
104
+ sandboxModel: "process" | "isolated-vm";
105
+ }, {
106
+ secretsBackend?: "os-keychain" | "file" | undefined;
107
+ encryptAtRest?: boolean | undefined;
108
+ sandboxModel?: "process" | "isolated-vm" | undefined;
109
+ }>;
110
+ declare const performanceSchema: z.ZodObject<{
111
+ maxConcurrentAgents: z.ZodDefault<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"auto">]>>;
112
+ workerThreadPoolSize: z.ZodDefault<z.ZodNumber>;
113
+ }, "strip", z.ZodTypeAny, {
114
+ maxConcurrentAgents: number | "auto";
115
+ workerThreadPoolSize: number;
116
+ }, {
117
+ maxConcurrentAgents?: number | "auto" | undefined;
118
+ workerThreadPoolSize?: number | undefined;
119
+ }>;
120
+ declare const loggingSchema: z.ZodObject<{
121
+ level: z.ZodDefault<z.ZodEnum<["error", "warn", "info", "debug", "trace"]>>;
122
+ }, "strip", z.ZodTypeAny, {
123
+ level: "error" | "info" | "warn" | "debug" | "trace";
124
+ }, {
125
+ level?: "error" | "info" | "warn" | "debug" | "trace" | undefined;
126
+ }>;
127
+ declare const riskPolicySchema: z.ZodObject<{
128
+ autoApprove: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
129
+ requireApproval: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
130
+ approvalTimeout: z.ZodDefault<z.ZodString>;
131
+ approvalDefaultAction: z.ZodDefault<z.ZodEnum<["approve", "skip", "escalate"]>>;
132
+ budgetLimitUSD: z.ZodOptional<z.ZodNumber>;
133
+ defaultRiskTierForUnknownActions: z.ZodDefault<z.ZodEnum<["low", "medium", "high-stakes"]>>;
134
+ }, "strip", z.ZodTypeAny, {
135
+ autoApprove: string[];
136
+ requireApproval: string[];
137
+ approvalTimeout: string;
138
+ approvalDefaultAction: "escalate" | "skip" | "approve";
139
+ defaultRiskTierForUnknownActions: "low" | "medium" | "high-stakes";
140
+ budgetLimitUSD?: number | undefined;
141
+ }, {
142
+ budgetLimitUSD?: number | undefined;
143
+ autoApprove?: string[] | undefined;
144
+ requireApproval?: string[] | undefined;
145
+ approvalTimeout?: string | undefined;
146
+ approvalDefaultAction?: "escalate" | "skip" | "approve" | undefined;
147
+ defaultRiskTierForUnknownActions?: "low" | "medium" | "high-stakes" | undefined;
148
+ }>;
149
+ declare const configSchema: z.ZodObject<{
150
+ version: z.ZodEnum<["1", "2", "3", "4", "5"]>;
151
+ projects: z.ZodArray<z.ZodObject<{
152
+ name: z.ZodString;
153
+ repository: z.ZodString;
154
+ path: z.ZodOptional<z.ZodString>;
155
+ branch: z.ZodOptional<z.ZodString>;
156
+ provider: z.ZodObject<{
157
+ primary: z.ZodEnum<["opencode", "claude-code", "aider", "codex"]>;
158
+ fallback: z.ZodOptional<z.ZodArray<z.ZodEnum<["opencode", "claude-code", "aider", "codex"]>, "many">>;
159
+ concurrentLimit: z.ZodOptional<z.ZodNumber>;
160
+ costLimit: z.ZodOptional<z.ZodNumber>;
161
+ }, "strip", z.ZodTypeAny, {
162
+ primary: "opencode" | "claude-code" | "aider" | "codex";
163
+ fallback?: ("opencode" | "claude-code" | "aider" | "codex")[] | undefined;
164
+ concurrentLimit?: number | undefined;
165
+ costLimit?: number | undefined;
166
+ }, {
167
+ primary: "opencode" | "claude-code" | "aider" | "codex";
168
+ fallback?: ("opencode" | "claude-code" | "aider" | "codex")[] | undefined;
169
+ concurrentLimit?: number | undefined;
170
+ costLimit?: number | undefined;
171
+ }>;
172
+ reactions: z.ZodOptional<z.ZodObject<{
173
+ 'ci-failed': z.ZodOptional<z.ZodObject<{
174
+ auto: z.ZodBoolean;
175
+ action: z.ZodEnum<["fix", "notify", "escalate", "skip"]>;
176
+ retries: z.ZodNumber;
177
+ escalateAfter: z.ZodNumber;
178
+ }, "strip", z.ZodTypeAny, {
179
+ auto: boolean;
180
+ action: "fix" | "notify" | "escalate" | "skip";
181
+ retries: number;
182
+ escalateAfter: number;
183
+ }, {
184
+ auto: boolean;
185
+ action: "fix" | "notify" | "escalate" | "skip";
186
+ retries: number;
187
+ escalateAfter: number;
188
+ }>>;
189
+ 'changes-requested': z.ZodOptional<z.ZodObject<{
190
+ auto: z.ZodBoolean;
191
+ action: z.ZodEnum<["fix", "notify", "escalate", "skip"]>;
192
+ retries: z.ZodNumber;
193
+ escalateAfter: z.ZodNumber;
194
+ }, "strip", z.ZodTypeAny, {
195
+ auto: boolean;
196
+ action: "fix" | "notify" | "escalate" | "skip";
197
+ retries: number;
198
+ escalateAfter: number;
199
+ }, {
200
+ auto: boolean;
201
+ action: "fix" | "notify" | "escalate" | "skip";
202
+ retries: number;
203
+ escalateAfter: number;
204
+ }>>;
205
+ 'approved-and-green': z.ZodOptional<z.ZodObject<{
206
+ auto: z.ZodBoolean;
207
+ action: z.ZodEnum<["fix", "notify", "escalate", "skip"]>;
208
+ retries: z.ZodNumber;
209
+ escalateAfter: z.ZodNumber;
210
+ }, "strip", z.ZodTypeAny, {
211
+ auto: boolean;
212
+ action: "fix" | "notify" | "escalate" | "skip";
213
+ retries: number;
214
+ escalateAfter: number;
215
+ }, {
216
+ auto: boolean;
217
+ action: "fix" | "notify" | "escalate" | "skip";
218
+ retries: number;
219
+ escalateAfter: number;
220
+ }>>;
221
+ }, "strip", z.ZodTypeAny, {
222
+ 'ci-failed'?: {
223
+ auto: boolean;
224
+ action: "fix" | "notify" | "escalate" | "skip";
225
+ retries: number;
226
+ escalateAfter: number;
227
+ } | undefined;
228
+ 'changes-requested'?: {
229
+ auto: boolean;
230
+ action: "fix" | "notify" | "escalate" | "skip";
231
+ retries: number;
232
+ escalateAfter: number;
233
+ } | undefined;
234
+ 'approved-and-green'?: {
235
+ auto: boolean;
236
+ action: "fix" | "notify" | "escalate" | "skip";
237
+ retries: number;
238
+ escalateAfter: number;
239
+ } | undefined;
240
+ }, {
241
+ 'ci-failed'?: {
242
+ auto: boolean;
243
+ action: "fix" | "notify" | "escalate" | "skip";
244
+ retries: number;
245
+ escalateAfter: number;
246
+ } | undefined;
247
+ 'changes-requested'?: {
248
+ auto: boolean;
249
+ action: "fix" | "notify" | "escalate" | "skip";
250
+ retries: number;
251
+ escalateAfter: number;
252
+ } | undefined;
253
+ 'approved-and-green'?: {
254
+ auto: boolean;
255
+ action: "fix" | "notify" | "escalate" | "skip";
256
+ retries: number;
257
+ escalateAfter: number;
258
+ } | undefined;
259
+ }>>;
260
+ plugins: z.ZodOptional<z.ZodObject<{
261
+ tracker: z.ZodOptional<z.ZodString>;
262
+ scm: z.ZodOptional<z.ZodString>;
263
+ runtime: z.ZodOptional<z.ZodString>;
264
+ notifier: z.ZodOptional<z.ZodString>;
265
+ }, "strip", z.ZodTypeAny, {
266
+ runtime?: string | undefined;
267
+ tracker?: string | undefined;
268
+ scm?: string | undefined;
269
+ notifier?: string | undefined;
270
+ }, {
271
+ runtime?: string | undefined;
272
+ tracker?: string | undefined;
273
+ scm?: string | undefined;
274
+ notifier?: string | undefined;
275
+ }>>;
276
+ }, "strip", z.ZodTypeAny, {
277
+ name: string;
278
+ repository: string;
279
+ provider: {
280
+ primary: "opencode" | "claude-code" | "aider" | "codex";
281
+ fallback?: ("opencode" | "claude-code" | "aider" | "codex")[] | undefined;
282
+ concurrentLimit?: number | undefined;
283
+ costLimit?: number | undefined;
284
+ };
285
+ path?: string | undefined;
286
+ branch?: string | undefined;
287
+ reactions?: {
288
+ 'ci-failed'?: {
289
+ auto: boolean;
290
+ action: "fix" | "notify" | "escalate" | "skip";
291
+ retries: number;
292
+ escalateAfter: number;
293
+ } | undefined;
294
+ 'changes-requested'?: {
295
+ auto: boolean;
296
+ action: "fix" | "notify" | "escalate" | "skip";
297
+ retries: number;
298
+ escalateAfter: number;
299
+ } | undefined;
300
+ 'approved-and-green'?: {
301
+ auto: boolean;
302
+ action: "fix" | "notify" | "escalate" | "skip";
303
+ retries: number;
304
+ escalateAfter: number;
305
+ } | undefined;
306
+ } | undefined;
307
+ plugins?: {
308
+ runtime?: string | undefined;
309
+ tracker?: string | undefined;
310
+ scm?: string | undefined;
311
+ notifier?: string | undefined;
312
+ } | undefined;
313
+ }, {
314
+ name: string;
315
+ repository: string;
316
+ provider: {
317
+ primary: "opencode" | "claude-code" | "aider" | "codex";
318
+ fallback?: ("opencode" | "claude-code" | "aider" | "codex")[] | undefined;
319
+ concurrentLimit?: number | undefined;
320
+ costLimit?: number | undefined;
321
+ };
322
+ path?: string | undefined;
323
+ branch?: string | undefined;
324
+ reactions?: {
325
+ 'ci-failed'?: {
326
+ auto: boolean;
327
+ action: "fix" | "notify" | "escalate" | "skip";
328
+ retries: number;
329
+ escalateAfter: number;
330
+ } | undefined;
331
+ 'changes-requested'?: {
332
+ auto: boolean;
333
+ action: "fix" | "notify" | "escalate" | "skip";
334
+ retries: number;
335
+ escalateAfter: number;
336
+ } | undefined;
337
+ 'approved-and-green'?: {
338
+ auto: boolean;
339
+ action: "fix" | "notify" | "escalate" | "skip";
340
+ retries: number;
341
+ escalateAfter: number;
342
+ } | undefined;
343
+ } | undefined;
344
+ plugins?: {
345
+ runtime?: string | undefined;
346
+ tracker?: string | undefined;
347
+ scm?: string | undefined;
348
+ notifier?: string | undefined;
349
+ } | undefined;
350
+ }>, "many">;
351
+ dataDir: z.ZodOptional<z.ZodString>;
352
+ decomposition: z.ZodOptional<z.ZodObject<{
353
+ maxTaskGraphDepth: z.ZodDefault<z.ZodNumber>;
354
+ maxAgentSpawnDepth: z.ZodDefault<z.ZodNumber>;
355
+ maxNodesPerGraph: z.ZodDefault<z.ZodNumber>;
356
+ plannerProvider: z.ZodOptional<z.ZodString>;
357
+ plannerModel: z.ZodOptional<z.ZodString>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ maxTaskGraphDepth: number;
360
+ maxAgentSpawnDepth: number;
361
+ maxNodesPerGraph: number;
362
+ plannerProvider?: string | undefined;
363
+ plannerModel?: string | undefined;
364
+ }, {
365
+ maxTaskGraphDepth?: number | undefined;
366
+ maxAgentSpawnDepth?: number | undefined;
367
+ maxNodesPerGraph?: number | undefined;
368
+ plannerProvider?: string | undefined;
369
+ plannerModel?: string | undefined;
370
+ }>>;
371
+ scheduler: z.ZodOptional<z.ZodObject<{
372
+ maxConcurrentAgents: z.ZodDefault<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"auto">]>>;
373
+ retryOnFailure: z.ZodDefault<z.ZodNumber>;
374
+ providerFallbackChain: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
375
+ maxAfkDurationHours: z.ZodOptional<z.ZodNumber>;
376
+ }, "strip", z.ZodTypeAny, {
377
+ maxConcurrentAgents: number | "auto";
378
+ retryOnFailure: number;
379
+ providerFallbackChain: string[];
380
+ maxAfkDurationHours?: number | undefined;
381
+ }, {
382
+ maxConcurrentAgents?: number | "auto" | undefined;
383
+ retryOnFailure?: number | undefined;
384
+ providerFallbackChain?: string[] | undefined;
385
+ maxAfkDurationHours?: number | undefined;
386
+ }>>;
387
+ governance: z.ZodOptional<z.ZodObject<{
388
+ autoApproveProposedTasks: z.ZodDefault<z.ZodBoolean>;
389
+ autoApproveCategories: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
390
+ duplicateSimilarityThreshold: z.ZodDefault<z.ZodNumber>;
391
+ }, "strip", z.ZodTypeAny, {
392
+ autoApproveProposedTasks: boolean;
393
+ autoApproveCategories: string[];
394
+ duplicateSimilarityThreshold: number;
395
+ }, {
396
+ autoApproveProposedTasks?: boolean | undefined;
397
+ autoApproveCategories?: string[] | undefined;
398
+ duplicateSimilarityThreshold?: number | undefined;
399
+ }>>;
400
+ riskPolicy: z.ZodOptional<z.ZodObject<{
401
+ autoApprove: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
402
+ requireApproval: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
403
+ approvalTimeout: z.ZodDefault<z.ZodString>;
404
+ approvalDefaultAction: z.ZodDefault<z.ZodEnum<["approve", "skip", "escalate"]>>;
405
+ budgetLimitUSD: z.ZodOptional<z.ZodNumber>;
406
+ defaultRiskTierForUnknownActions: z.ZodDefault<z.ZodEnum<["low", "medium", "high-stakes"]>>;
407
+ }, "strip", z.ZodTypeAny, {
408
+ autoApprove: string[];
409
+ requireApproval: string[];
410
+ approvalTimeout: string;
411
+ approvalDefaultAction: "escalate" | "skip" | "approve";
412
+ defaultRiskTierForUnknownActions: "low" | "medium" | "high-stakes";
413
+ budgetLimitUSD?: number | undefined;
414
+ }, {
415
+ budgetLimitUSD?: number | undefined;
416
+ autoApprove?: string[] | undefined;
417
+ requireApproval?: string[] | undefined;
418
+ approvalTimeout?: string | undefined;
419
+ approvalDefaultAction?: "escalate" | "skip" | "approve" | undefined;
420
+ defaultRiskTierForUnknownActions?: "low" | "medium" | "high-stakes" | undefined;
421
+ }>>;
422
+ worktreeHierarchy: z.ZodOptional<z.ZodObject<{
423
+ pinToCommitHash: z.ZodDefault<z.ZodBoolean>;
424
+ serializeMerges: z.ZodDefault<z.ZodBoolean>;
425
+ conflictEscalatesToApproval: z.ZodDefault<z.ZodBoolean>;
426
+ }, "strip", z.ZodTypeAny, {
427
+ pinToCommitHash: boolean;
428
+ serializeMerges: boolean;
429
+ conflictEscalatesToApproval: boolean;
430
+ }, {
431
+ pinToCommitHash?: boolean | undefined;
432
+ serializeMerges?: boolean | undefined;
433
+ conflictEscalatesToApproval?: boolean | undefined;
434
+ }>>;
435
+ costGuard: z.ZodOptional<z.ZodObject<{
436
+ budgetLimitUSD: z.ZodOptional<z.ZodNumber>;
437
+ trackByProvider: z.ZodDefault<z.ZodBoolean>;
438
+ trackByProject: z.ZodDefault<z.ZodBoolean>;
439
+ trackByTaskNode: z.ZodDefault<z.ZodBoolean>;
440
+ }, "strip", z.ZodTypeAny, {
441
+ trackByProvider: boolean;
442
+ trackByProject: boolean;
443
+ trackByTaskNode: boolean;
444
+ budgetLimitUSD?: number | undefined;
445
+ }, {
446
+ budgetLimitUSD?: number | undefined;
447
+ trackByProvider?: boolean | undefined;
448
+ trackByProject?: boolean | undefined;
449
+ trackByTaskNode?: boolean | undefined;
450
+ }>>;
451
+ extensions: z.ZodOptional<z.ZodObject<{
452
+ marketplaceIndex: z.ZodOptional<z.ZodString>;
453
+ enabled: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
454
+ permissionsMode: z.ZodDefault<z.ZodEnum<["strict", "relaxed"]>>;
455
+ }, "strip", z.ZodTypeAny, {
456
+ enabled: string[];
457
+ permissionsMode: "strict" | "relaxed";
458
+ marketplaceIndex?: string | undefined;
459
+ }, {
460
+ marketplaceIndex?: string | undefined;
461
+ enabled?: string[] | undefined;
462
+ permissionsMode?: "strict" | "relaxed" | undefined;
463
+ }>>;
464
+ security: z.ZodOptional<z.ZodObject<{
465
+ secretsBackend: z.ZodDefault<z.ZodEnum<["os-keychain", "file"]>>;
466
+ encryptAtRest: z.ZodDefault<z.ZodBoolean>;
467
+ sandboxModel: z.ZodDefault<z.ZodEnum<["process", "isolated-vm"]>>;
468
+ }, "strip", z.ZodTypeAny, {
469
+ secretsBackend: "os-keychain" | "file";
470
+ encryptAtRest: boolean;
471
+ sandboxModel: "process" | "isolated-vm";
472
+ }, {
473
+ secretsBackend?: "os-keychain" | "file" | undefined;
474
+ encryptAtRest?: boolean | undefined;
475
+ sandboxModel?: "process" | "isolated-vm" | undefined;
476
+ }>>;
477
+ performance: z.ZodOptional<z.ZodObject<{
478
+ maxConcurrentAgents: z.ZodDefault<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"auto">]>>;
479
+ workerThreadPoolSize: z.ZodDefault<z.ZodNumber>;
480
+ }, "strip", z.ZodTypeAny, {
481
+ maxConcurrentAgents: number | "auto";
482
+ workerThreadPoolSize: number;
483
+ }, {
484
+ maxConcurrentAgents?: number | "auto" | undefined;
485
+ workerThreadPoolSize?: number | undefined;
486
+ }>>;
487
+ logging: z.ZodOptional<z.ZodObject<{
488
+ level: z.ZodDefault<z.ZodEnum<["error", "warn", "info", "debug", "trace"]>>;
489
+ }, "strip", z.ZodTypeAny, {
490
+ level: "error" | "info" | "warn" | "debug" | "trace";
491
+ }, {
492
+ level?: "error" | "info" | "warn" | "debug" | "trace" | undefined;
493
+ }>>;
494
+ }, "strip", z.ZodTypeAny, {
495
+ version: "1" | "2" | "3" | "4" | "5";
496
+ projects: {
497
+ name: string;
498
+ repository: string;
499
+ provider: {
500
+ primary: "opencode" | "claude-code" | "aider" | "codex";
501
+ fallback?: ("opencode" | "claude-code" | "aider" | "codex")[] | undefined;
502
+ concurrentLimit?: number | undefined;
503
+ costLimit?: number | undefined;
504
+ };
505
+ path?: string | undefined;
506
+ branch?: string | undefined;
507
+ reactions?: {
508
+ 'ci-failed'?: {
509
+ auto: boolean;
510
+ action: "fix" | "notify" | "escalate" | "skip";
511
+ retries: number;
512
+ escalateAfter: number;
513
+ } | undefined;
514
+ 'changes-requested'?: {
515
+ auto: boolean;
516
+ action: "fix" | "notify" | "escalate" | "skip";
517
+ retries: number;
518
+ escalateAfter: number;
519
+ } | undefined;
520
+ 'approved-and-green'?: {
521
+ auto: boolean;
522
+ action: "fix" | "notify" | "escalate" | "skip";
523
+ retries: number;
524
+ escalateAfter: number;
525
+ } | undefined;
526
+ } | undefined;
527
+ plugins?: {
528
+ runtime?: string | undefined;
529
+ tracker?: string | undefined;
530
+ scm?: string | undefined;
531
+ notifier?: string | undefined;
532
+ } | undefined;
533
+ }[];
534
+ dataDir?: string | undefined;
535
+ decomposition?: {
536
+ maxTaskGraphDepth: number;
537
+ maxAgentSpawnDepth: number;
538
+ maxNodesPerGraph: number;
539
+ plannerProvider?: string | undefined;
540
+ plannerModel?: string | undefined;
541
+ } | undefined;
542
+ scheduler?: {
543
+ maxConcurrentAgents: number | "auto";
544
+ retryOnFailure: number;
545
+ providerFallbackChain: string[];
546
+ maxAfkDurationHours?: number | undefined;
547
+ } | undefined;
548
+ governance?: {
549
+ autoApproveProposedTasks: boolean;
550
+ autoApproveCategories: string[];
551
+ duplicateSimilarityThreshold: number;
552
+ } | undefined;
553
+ riskPolicy?: {
554
+ autoApprove: string[];
555
+ requireApproval: string[];
556
+ approvalTimeout: string;
557
+ approvalDefaultAction: "escalate" | "skip" | "approve";
558
+ defaultRiskTierForUnknownActions: "low" | "medium" | "high-stakes";
559
+ budgetLimitUSD?: number | undefined;
560
+ } | undefined;
561
+ worktreeHierarchy?: {
562
+ pinToCommitHash: boolean;
563
+ serializeMerges: boolean;
564
+ conflictEscalatesToApproval: boolean;
565
+ } | undefined;
566
+ costGuard?: {
567
+ trackByProvider: boolean;
568
+ trackByProject: boolean;
569
+ trackByTaskNode: boolean;
570
+ budgetLimitUSD?: number | undefined;
571
+ } | undefined;
572
+ extensions?: {
573
+ enabled: string[];
574
+ permissionsMode: "strict" | "relaxed";
575
+ marketplaceIndex?: string | undefined;
576
+ } | undefined;
577
+ security?: {
578
+ secretsBackend: "os-keychain" | "file";
579
+ encryptAtRest: boolean;
580
+ sandboxModel: "process" | "isolated-vm";
581
+ } | undefined;
582
+ performance?: {
583
+ maxConcurrentAgents: number | "auto";
584
+ workerThreadPoolSize: number;
585
+ } | undefined;
586
+ logging?: {
587
+ level: "error" | "info" | "warn" | "debug" | "trace";
588
+ } | undefined;
589
+ }, {
590
+ version: "1" | "2" | "3" | "4" | "5";
591
+ projects: {
592
+ name: string;
593
+ repository: string;
594
+ provider: {
595
+ primary: "opencode" | "claude-code" | "aider" | "codex";
596
+ fallback?: ("opencode" | "claude-code" | "aider" | "codex")[] | undefined;
597
+ concurrentLimit?: number | undefined;
598
+ costLimit?: number | undefined;
599
+ };
600
+ path?: string | undefined;
601
+ branch?: string | undefined;
602
+ reactions?: {
603
+ 'ci-failed'?: {
604
+ auto: boolean;
605
+ action: "fix" | "notify" | "escalate" | "skip";
606
+ retries: number;
607
+ escalateAfter: number;
608
+ } | undefined;
609
+ 'changes-requested'?: {
610
+ auto: boolean;
611
+ action: "fix" | "notify" | "escalate" | "skip";
612
+ retries: number;
613
+ escalateAfter: number;
614
+ } | undefined;
615
+ 'approved-and-green'?: {
616
+ auto: boolean;
617
+ action: "fix" | "notify" | "escalate" | "skip";
618
+ retries: number;
619
+ escalateAfter: number;
620
+ } | undefined;
621
+ } | undefined;
622
+ plugins?: {
623
+ runtime?: string | undefined;
624
+ tracker?: string | undefined;
625
+ scm?: string | undefined;
626
+ notifier?: string | undefined;
627
+ } | undefined;
628
+ }[];
629
+ dataDir?: string | undefined;
630
+ decomposition?: {
631
+ maxTaskGraphDepth?: number | undefined;
632
+ maxAgentSpawnDepth?: number | undefined;
633
+ maxNodesPerGraph?: number | undefined;
634
+ plannerProvider?: string | undefined;
635
+ plannerModel?: string | undefined;
636
+ } | undefined;
637
+ scheduler?: {
638
+ maxConcurrentAgents?: number | "auto" | undefined;
639
+ retryOnFailure?: number | undefined;
640
+ providerFallbackChain?: string[] | undefined;
641
+ maxAfkDurationHours?: number | undefined;
642
+ } | undefined;
643
+ governance?: {
644
+ autoApproveProposedTasks?: boolean | undefined;
645
+ autoApproveCategories?: string[] | undefined;
646
+ duplicateSimilarityThreshold?: number | undefined;
647
+ } | undefined;
648
+ riskPolicy?: {
649
+ budgetLimitUSD?: number | undefined;
650
+ autoApprove?: string[] | undefined;
651
+ requireApproval?: string[] | undefined;
652
+ approvalTimeout?: string | undefined;
653
+ approvalDefaultAction?: "escalate" | "skip" | "approve" | undefined;
654
+ defaultRiskTierForUnknownActions?: "low" | "medium" | "high-stakes" | undefined;
655
+ } | undefined;
656
+ worktreeHierarchy?: {
657
+ pinToCommitHash?: boolean | undefined;
658
+ serializeMerges?: boolean | undefined;
659
+ conflictEscalatesToApproval?: boolean | undefined;
660
+ } | undefined;
661
+ costGuard?: {
662
+ budgetLimitUSD?: number | undefined;
663
+ trackByProvider?: boolean | undefined;
664
+ trackByProject?: boolean | undefined;
665
+ trackByTaskNode?: boolean | undefined;
666
+ } | undefined;
667
+ extensions?: {
668
+ marketplaceIndex?: string | undefined;
669
+ enabled?: string[] | undefined;
670
+ permissionsMode?: "strict" | "relaxed" | undefined;
671
+ } | undefined;
672
+ security?: {
673
+ secretsBackend?: "os-keychain" | "file" | undefined;
674
+ encryptAtRest?: boolean | undefined;
675
+ sandboxModel?: "process" | "isolated-vm" | undefined;
676
+ } | undefined;
677
+ performance?: {
678
+ maxConcurrentAgents?: number | "auto" | undefined;
679
+ workerThreadPoolSize?: number | undefined;
680
+ } | undefined;
681
+ logging?: {
682
+ level?: "error" | "info" | "warn" | "debug" | "trace" | undefined;
683
+ } | undefined;
684
+ }>;
6
685
  declare const DEFAULT_REACTION_RULES: ReactionConfig;
7
686
  declare function loadConfig(cwd?: string): SpeexorConfig;
8
687
  declare function validateConfig(raw: unknown): SpeexorConfig;
@@ -28,4 +707,4 @@ declare class SpeexorLifecycle {
28
707
  getStatus(): SessionStatus;
29
708
  }
30
709
 
31
- export { AgentSession, AgentTask, DEFAULT_REACTION_RULES, EventBus, PluginModule, PluginSlot, ReactionConfig, SessionStatus, SpeexorConfig, SpeexorLifecycle, createEventBus, generateDefaultConfig, loadConfig, validateConfig };
710
+ export { AgentSession, AgentTask, DEFAULT_REACTION_RULES, EventBus, PluginModule, PluginSlot, ReactionConfig, SessionStatus, SpeexorConfig, SpeexorLifecycle, configSchema, costGuardSchema, createEventBus, decompositionSchema, extensionsSchema, generateDefaultConfig, governanceSchema, loadConfig, loggingSchema, performanceSchema, riskPolicySchema, schedulerSchema, securitySchema, validateConfig, worktreeHierarchySchema };