@shapeshift-labs/frontier-swarm 0.1.0 → 0.3.0
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.
- package/README.md +62 -2
- package/benchmarks/package-bench.mjs +35 -1
- package/dist/index.d.ts +632 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1016 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -9,8 +9,28 @@ export declare const FRONTIER_SWARM_RUN_KIND = "frontier.swarm.run";
|
|
|
9
9
|
export declare const FRONTIER_SWARM_RUN_VERSION = 1;
|
|
10
10
|
export declare const FRONTIER_SWARM_EVENT_KIND = "frontier.swarm.event";
|
|
11
11
|
export declare const FRONTIER_SWARM_EVENT_VERSION = 1;
|
|
12
|
+
export declare const FRONTIER_SWARM_EVENT_STREAM_KIND = "frontier.swarm.event-stream";
|
|
13
|
+
export declare const FRONTIER_SWARM_EVENT_STREAM_VERSION = 1;
|
|
14
|
+
export declare const FRONTIER_SWARM_MAILBOX_KIND = "frontier.swarm.mailbox";
|
|
15
|
+
export declare const FRONTIER_SWARM_MAILBOX_VERSION = 1;
|
|
12
16
|
export declare const FRONTIER_SWARM_PROOF_KIND = "frontier.swarm.proof";
|
|
13
17
|
export declare const FRONTIER_SWARM_PROOF_VERSION = 1;
|
|
18
|
+
export declare const FRONTIER_SWARM_SCHEDULE_KIND = "frontier.swarm.schedule";
|
|
19
|
+
export declare const FRONTIER_SWARM_SCHEDULE_VERSION = 1;
|
|
20
|
+
export declare const FRONTIER_SWARM_LEASE_KIND = "frontier.swarm.lease";
|
|
21
|
+
export declare const FRONTIER_SWARM_LEASE_VERSION = 1;
|
|
22
|
+
export declare const FRONTIER_SWARM_QUEUE_SNAPSHOT_KIND = "frontier.swarm.queue-snapshot";
|
|
23
|
+
export declare const FRONTIER_SWARM_QUEUE_SNAPSHOT_VERSION = 1;
|
|
24
|
+
export declare const FRONTIER_SWARM_RUN_CHECKPOINT_KIND = "frontier.swarm.run-checkpoint";
|
|
25
|
+
export declare const FRONTIER_SWARM_RUN_CHECKPOINT_VERSION = 1;
|
|
26
|
+
export declare const FRONTIER_SWARM_ARTIFACT_INDEX_KIND = "frontier.swarm.artifact-index";
|
|
27
|
+
export declare const FRONTIER_SWARM_ARTIFACT_INDEX_VERSION = 1;
|
|
28
|
+
export declare const FRONTIER_SWARM_REVIEW_PLAN_KIND = "frontier.swarm.review-plan";
|
|
29
|
+
export declare const FRONTIER_SWARM_REVIEW_PLAN_VERSION = 1;
|
|
30
|
+
export declare const FRONTIER_SWARM_MERGE_PLAN_KIND = "frontier.swarm.merge-plan";
|
|
31
|
+
export declare const FRONTIER_SWARM_MERGE_PLAN_VERSION = 1;
|
|
32
|
+
export declare const FRONTIER_SWARM_MERGE_BUNDLE_KIND = "frontier.swarm.merge-bundle";
|
|
33
|
+
export declare const FRONTIER_SWARM_MERGE_BUNDLE_VERSION = 1;
|
|
14
34
|
export declare const FRONTIER_SWARM_DEFAULT_CODEX_COMPUTE_ID = "codex.gpt-5.5.xhigh";
|
|
15
35
|
export declare const FRONTIER_SWARM_DEFAULT_MODEL = "gpt-5.5";
|
|
16
36
|
export declare const FRONTIER_SWARM_DEFAULT_REASONING_EFFORT = "xhigh";
|
|
@@ -19,6 +39,9 @@ export type FrontierSwarmReasoningEffort = 'minimal' | 'low' | 'medium' | 'high'
|
|
|
19
39
|
export type FrontierSwarmPolicyMode = 'advisory' | 'hard-file-ownership' | string;
|
|
20
40
|
export type FrontierSwarmTaskStatus = 'open' | 'planned' | 'running' | 'blocked' | 'failed' | 'completed' | 'verified' | string;
|
|
21
41
|
export type FrontierSwarmJobStatus = 'planned' | 'scheduled' | 'running' | 'blocked' | 'failed' | 'completed' | 'verified' | string;
|
|
42
|
+
export type FrontierSwarmMergeReadiness = 'discovery-only' | 'patch-candidate' | 'verified-patch' | 'rejected' | 'blocked' | string;
|
|
43
|
+
export type FrontierSwarmMergeDisposition = 'auto-mergeable' | 'needs-port' | 'discovery-only' | 'rejected' | 'blocked' | 'stale-against-head' | string;
|
|
44
|
+
export type FrontierSwarmRiskLevel = 'low' | 'medium' | 'high' | 'unknown' | string;
|
|
22
45
|
export interface FrontierSwarmComputeInput {
|
|
23
46
|
id: string;
|
|
24
47
|
kind?: FrontierSwarmComputeKind;
|
|
@@ -69,6 +92,25 @@ export interface FrontierSwarmLayer {
|
|
|
69
92
|
tags: string[];
|
|
70
93
|
metadata?: JsonObject;
|
|
71
94
|
}
|
|
95
|
+
export interface FrontierSwarmOwnershipRegionInput {
|
|
96
|
+
id: string;
|
|
97
|
+
title?: string;
|
|
98
|
+
description?: string;
|
|
99
|
+
globs?: readonly string[];
|
|
100
|
+
paths?: readonly string[];
|
|
101
|
+
selectors?: readonly string[];
|
|
102
|
+
owner?: string;
|
|
103
|
+
metadata?: unknown;
|
|
104
|
+
}
|
|
105
|
+
export interface FrontierSwarmOwnershipRegion {
|
|
106
|
+
id: string;
|
|
107
|
+
title: string;
|
|
108
|
+
description?: string;
|
|
109
|
+
globs: string[];
|
|
110
|
+
selectors: string[];
|
|
111
|
+
owner?: string;
|
|
112
|
+
metadata?: JsonObject;
|
|
113
|
+
}
|
|
72
114
|
export interface FrontierSwarmLaneInput {
|
|
73
115
|
id: string;
|
|
74
116
|
title?: string;
|
|
@@ -79,6 +121,9 @@ export interface FrontierSwarmLaneInput {
|
|
|
79
121
|
allowedGlobs?: readonly string[];
|
|
80
122
|
sharedReadOnly?: readonly string[];
|
|
81
123
|
neverEdit?: readonly string[];
|
|
124
|
+
ownershipRegions?: readonly FrontierSwarmOwnershipRegionInput[];
|
|
125
|
+
capabilities?: readonly string[];
|
|
126
|
+
resourceRequirements?: FrontierSwarmResourceRequirementsInput;
|
|
82
127
|
worktreePath?: string;
|
|
83
128
|
evidencePrefix?: string;
|
|
84
129
|
evidenceOutDirPrefix?: string;
|
|
@@ -97,6 +142,9 @@ export interface FrontierSwarmLane {
|
|
|
97
142
|
allowedWrites: string[];
|
|
98
143
|
sharedReadOnly: string[];
|
|
99
144
|
neverEdit: string[];
|
|
145
|
+
ownershipRegions: FrontierSwarmOwnershipRegion[];
|
|
146
|
+
capabilities: string[];
|
|
147
|
+
resourceRequirements?: FrontierSwarmResourceRequirements;
|
|
100
148
|
worktreePath?: string;
|
|
101
149
|
evidencePrefix?: string;
|
|
102
150
|
concurrencyKey: string;
|
|
@@ -121,6 +169,36 @@ export interface FrontierSwarmCommand {
|
|
|
121
169
|
cwd?: string;
|
|
122
170
|
metadata?: JsonObject;
|
|
123
171
|
}
|
|
172
|
+
export interface FrontierSwarmBrowserResourceInput {
|
|
173
|
+
required?: boolean;
|
|
174
|
+
portPool?: readonly (string | number)[];
|
|
175
|
+
profileDir?: string;
|
|
176
|
+
profileDirPrefix?: string;
|
|
177
|
+
maxConcurrency?: number;
|
|
178
|
+
headless?: boolean;
|
|
179
|
+
metadata?: unknown;
|
|
180
|
+
}
|
|
181
|
+
export interface FrontierSwarmBrowserResource {
|
|
182
|
+
required: boolean;
|
|
183
|
+
portPool: string[];
|
|
184
|
+
profileDir?: string;
|
|
185
|
+
profileDirPrefix?: string;
|
|
186
|
+
maxConcurrency?: number;
|
|
187
|
+
headless?: boolean;
|
|
188
|
+
metadata?: JsonObject;
|
|
189
|
+
}
|
|
190
|
+
export interface FrontierSwarmResourceRequirementsInput {
|
|
191
|
+
capabilities?: readonly string[];
|
|
192
|
+
resources?: Record<string, number>;
|
|
193
|
+
browser?: FrontierSwarmBrowserResourceInput;
|
|
194
|
+
metadata?: unknown;
|
|
195
|
+
}
|
|
196
|
+
export interface FrontierSwarmResourceRequirements {
|
|
197
|
+
capabilities: string[];
|
|
198
|
+
resources: Record<string, number>;
|
|
199
|
+
browser?: FrontierSwarmBrowserResource;
|
|
200
|
+
metadata?: JsonObject;
|
|
201
|
+
}
|
|
124
202
|
export interface FrontierSwarmPolicyInput {
|
|
125
203
|
mode?: FrontierSwarmPolicyMode;
|
|
126
204
|
defaultConcurrency?: number;
|
|
@@ -198,11 +276,20 @@ export interface FrontierSwarmTaskInput {
|
|
|
198
276
|
layer?: string;
|
|
199
277
|
compute?: string;
|
|
200
278
|
parentTaskId?: string;
|
|
279
|
+
dependsOn?: readonly string[];
|
|
280
|
+
concurrencyKey?: string;
|
|
281
|
+
budget?: FrontierSwarmBudgetInput;
|
|
282
|
+
review?: FrontierSwarmReviewPolicyInput;
|
|
201
283
|
priority?: number;
|
|
202
284
|
sourceRefs?: readonly string[];
|
|
203
285
|
targetRefs?: readonly string[];
|
|
204
286
|
ownedFiles?: readonly string[];
|
|
205
287
|
allowedWrites?: readonly string[];
|
|
288
|
+
ownershipRegions?: readonly FrontierSwarmOwnershipRegionInput[];
|
|
289
|
+
ownedRegions?: readonly string[];
|
|
290
|
+
changedRegions?: readonly string[];
|
|
291
|
+
capabilities?: readonly string[];
|
|
292
|
+
resourceRequirements?: FrontierSwarmResourceRequirementsInput;
|
|
206
293
|
acceptance?: readonly string[];
|
|
207
294
|
acceptanceChecks?: readonly ({
|
|
208
295
|
id?: string;
|
|
@@ -227,10 +314,19 @@ export interface FrontierSwarmTask {
|
|
|
227
314
|
layer?: string;
|
|
228
315
|
compute?: string;
|
|
229
316
|
parentTaskId?: string;
|
|
317
|
+
dependsOn: string[];
|
|
318
|
+
concurrencyKey?: string;
|
|
319
|
+
budget?: FrontierSwarmBudget;
|
|
320
|
+
review?: FrontierSwarmReviewPolicy;
|
|
230
321
|
priority: number;
|
|
231
322
|
sourceRefs: string[];
|
|
232
323
|
targetRefs: string[];
|
|
233
324
|
allowedWrites: string[];
|
|
325
|
+
ownershipRegions: FrontierSwarmOwnershipRegion[];
|
|
326
|
+
ownedRegions: string[];
|
|
327
|
+
changedRegions: string[];
|
|
328
|
+
capabilities: string[];
|
|
329
|
+
resourceRequirements?: FrontierSwarmResourceRequirements;
|
|
234
330
|
acceptance: string[];
|
|
235
331
|
verification: FrontierSwarmCommand[];
|
|
236
332
|
evidenceCommand?: string;
|
|
@@ -268,10 +364,46 @@ export interface FrontierSwarmPlanFilter {
|
|
|
268
364
|
limit?: number;
|
|
269
365
|
compute?: string;
|
|
270
366
|
}
|
|
367
|
+
export interface FrontierSwarmSelectionPriorityInput {
|
|
368
|
+
statuses?: Record<string, number>;
|
|
369
|
+
workKinds?: Record<string, number>;
|
|
370
|
+
defaultStatusRank?: number;
|
|
371
|
+
defaultWorkKindRank?: number;
|
|
372
|
+
statusWeight?: number;
|
|
373
|
+
workKindWeight?: number;
|
|
374
|
+
}
|
|
375
|
+
export interface FrontierSwarmTaskSelectionInput extends FrontierSwarmPlanFilter {
|
|
376
|
+
workKinds?: readonly string[];
|
|
377
|
+
spreadLanes?: boolean;
|
|
378
|
+
includeOwnershipWarnings?: boolean;
|
|
379
|
+
assignSelectionPriority?: boolean;
|
|
380
|
+
priority?: FrontierSwarmSelectionPriorityInput;
|
|
381
|
+
}
|
|
382
|
+
export interface FrontierSwarmTaskSelectionEntry {
|
|
383
|
+
task: FrontierSwarmTask;
|
|
384
|
+
lane?: FrontierSwarmLane;
|
|
385
|
+
ownershipWarnings: string[];
|
|
386
|
+
selectionPriority: number;
|
|
387
|
+
}
|
|
388
|
+
export interface FrontierSwarmTaskSelectionSummary {
|
|
389
|
+
total: number;
|
|
390
|
+
byLane: Record<string, number>;
|
|
391
|
+
byWorkKind: Record<string, number>;
|
|
392
|
+
ownershipWarningCount: number;
|
|
393
|
+
}
|
|
394
|
+
export interface FrontierSwarmTaskSelection {
|
|
395
|
+
tasks: FrontierSwarmTask[];
|
|
396
|
+
entries: FrontierSwarmTaskSelectionEntry[];
|
|
397
|
+
summary: FrontierSwarmTaskSelectionSummary;
|
|
398
|
+
}
|
|
271
399
|
export interface FrontierSwarmPlanInput extends FrontierSwarmPlanFilter {
|
|
272
400
|
id?: string;
|
|
273
401
|
runId?: string;
|
|
274
402
|
now?: number;
|
|
403
|
+
maxReadyJobs?: number;
|
|
404
|
+
maxLaneConcurrency?: Record<string, number>;
|
|
405
|
+
maxConcurrencyKeyConcurrency?: Record<string, number>;
|
|
406
|
+
maxComputeConcurrency?: Record<string, number>;
|
|
275
407
|
metadata?: unknown;
|
|
276
408
|
}
|
|
277
409
|
export interface FrontierSwarmPlan {
|
|
@@ -282,11 +414,19 @@ export interface FrontierSwarmPlan {
|
|
|
282
414
|
manifestId: string;
|
|
283
415
|
createdAt: number;
|
|
284
416
|
filters: FrontierSwarmPlanFilter;
|
|
417
|
+
limits: FrontierSwarmScheduleLimits;
|
|
285
418
|
validation: FrontierSwarmValidation;
|
|
286
419
|
jobs: FrontierSwarmJob[];
|
|
420
|
+
graph: FrontierSwarmJobGraph;
|
|
287
421
|
summary: FrontierSwarmSummary;
|
|
288
422
|
metadata?: JsonObject;
|
|
289
423
|
}
|
|
424
|
+
export interface FrontierSwarmScheduleLimits {
|
|
425
|
+
maxReadyJobs?: number;
|
|
426
|
+
maxLaneConcurrency: Record<string, number>;
|
|
427
|
+
maxConcurrencyKeyConcurrency: Record<string, number>;
|
|
428
|
+
maxComputeConcurrency: Record<string, number>;
|
|
429
|
+
}
|
|
290
430
|
export interface FrontierSwarmJob {
|
|
291
431
|
id: string;
|
|
292
432
|
taskId: string;
|
|
@@ -300,15 +440,369 @@ export interface FrontierSwarmJob {
|
|
|
300
440
|
allowedWrites: string[];
|
|
301
441
|
sharedReadOnly: string[];
|
|
302
442
|
neverEdit: string[];
|
|
443
|
+
ownershipRegions: FrontierSwarmOwnershipRegion[];
|
|
444
|
+
ownedRegions: string[];
|
|
445
|
+
changedRegions: string[];
|
|
446
|
+
capabilities: string[];
|
|
447
|
+
resourceRequirements?: FrontierSwarmResourceRequirements;
|
|
303
448
|
worktreePath?: string;
|
|
304
449
|
evidencePrefix?: string;
|
|
305
450
|
concurrencyKey: string;
|
|
306
451
|
ownershipWarnings: string[];
|
|
307
452
|
verification: FrontierSwarmCommand[];
|
|
308
453
|
acceptance: string[];
|
|
454
|
+
dependsOn: string[];
|
|
455
|
+
budget?: FrontierSwarmBudget;
|
|
456
|
+
review: FrontierSwarmReviewPolicy;
|
|
309
457
|
tags: string[];
|
|
310
458
|
metadata?: JsonObject;
|
|
311
459
|
}
|
|
460
|
+
export interface FrontierSwarmBudgetInput {
|
|
461
|
+
maxCostUsd?: number;
|
|
462
|
+
maxInputTokens?: number;
|
|
463
|
+
maxOutputTokens?: number;
|
|
464
|
+
maxDurationMs?: number;
|
|
465
|
+
maxRetries?: number;
|
|
466
|
+
metadata?: unknown;
|
|
467
|
+
}
|
|
468
|
+
export interface FrontierSwarmBudget {
|
|
469
|
+
maxCostUsd?: number;
|
|
470
|
+
maxInputTokens?: number;
|
|
471
|
+
maxOutputTokens?: number;
|
|
472
|
+
maxDurationMs?: number;
|
|
473
|
+
maxRetries: number;
|
|
474
|
+
metadata?: JsonObject;
|
|
475
|
+
}
|
|
476
|
+
export interface FrontierSwarmUsageInput {
|
|
477
|
+
costUsd?: number;
|
|
478
|
+
inputTokens?: number;
|
|
479
|
+
outputTokens?: number;
|
|
480
|
+
durationMs?: number;
|
|
481
|
+
attempts?: number;
|
|
482
|
+
metadata?: unknown;
|
|
483
|
+
}
|
|
484
|
+
export interface FrontierSwarmUsage {
|
|
485
|
+
costUsd: number;
|
|
486
|
+
inputTokens: number;
|
|
487
|
+
outputTokens: number;
|
|
488
|
+
durationMs: number;
|
|
489
|
+
attempts: number;
|
|
490
|
+
metadata?: JsonObject;
|
|
491
|
+
}
|
|
492
|
+
export interface FrontierSwarmBudgetDecision {
|
|
493
|
+
ok: boolean;
|
|
494
|
+
jobId: string;
|
|
495
|
+
usage: FrontierSwarmUsage;
|
|
496
|
+
budget?: FrontierSwarmBudget;
|
|
497
|
+
violations: string[];
|
|
498
|
+
}
|
|
499
|
+
export interface FrontierSwarmReviewPolicyInput {
|
|
500
|
+
requiredReviewers?: number;
|
|
501
|
+
sampleRate?: number;
|
|
502
|
+
alwaysReview?: boolean;
|
|
503
|
+
reviewerPool?: readonly string[];
|
|
504
|
+
metadata?: unknown;
|
|
505
|
+
}
|
|
506
|
+
export interface FrontierSwarmReviewPolicy {
|
|
507
|
+
requiredReviewers: number;
|
|
508
|
+
sampleRate: number;
|
|
509
|
+
alwaysReview: boolean;
|
|
510
|
+
reviewerPool: string[];
|
|
511
|
+
metadata?: JsonObject;
|
|
512
|
+
}
|
|
513
|
+
export interface FrontierSwarmJobGraph {
|
|
514
|
+
nodes: string[];
|
|
515
|
+
edges: FrontierSwarmJobGraphEdge[];
|
|
516
|
+
dependentsByJobId: Record<string, string[]>;
|
|
517
|
+
dependenciesByJobId: Record<string, string[]>;
|
|
518
|
+
roots: string[];
|
|
519
|
+
leaves: string[];
|
|
520
|
+
issues: FrontierSwarmValidationIssue[];
|
|
521
|
+
}
|
|
522
|
+
export interface FrontierSwarmJobGraphEdge {
|
|
523
|
+
from: string;
|
|
524
|
+
to: string;
|
|
525
|
+
type: 'depends-on' | 'parent-task';
|
|
526
|
+
}
|
|
527
|
+
export interface FrontierSwarmScheduleInput {
|
|
528
|
+
plan: FrontierSwarmPlan;
|
|
529
|
+
run?: FrontierSwarmRun;
|
|
530
|
+
now?: number;
|
|
531
|
+
maxReadyJobs?: number;
|
|
532
|
+
maxLaneConcurrency?: Record<string, number>;
|
|
533
|
+
maxConcurrencyKeyConcurrency?: Record<string, number>;
|
|
534
|
+
maxComputeConcurrency?: Record<string, number>;
|
|
535
|
+
}
|
|
536
|
+
export interface FrontierSwarmReviewPlanInput {
|
|
537
|
+
plan: FrontierSwarmPlan;
|
|
538
|
+
run?: FrontierSwarmRun;
|
|
539
|
+
budgetDecisions?: readonly FrontierSwarmBudgetDecision[];
|
|
540
|
+
reviewers?: readonly string[];
|
|
541
|
+
generatedAt?: number;
|
|
542
|
+
sampleSalt?: string;
|
|
543
|
+
}
|
|
544
|
+
export interface FrontierSwarmMergePlanInput {
|
|
545
|
+
plan: FrontierSwarmPlan;
|
|
546
|
+
run: FrontierSwarmRun;
|
|
547
|
+
reviewPlan?: FrontierSwarmReviewPlan;
|
|
548
|
+
generatedAt?: number;
|
|
549
|
+
}
|
|
550
|
+
export interface FrontierSwarmSchedule {
|
|
551
|
+
kind: typeof FRONTIER_SWARM_SCHEDULE_KIND;
|
|
552
|
+
version: typeof FRONTIER_SWARM_SCHEDULE_VERSION;
|
|
553
|
+
id: string;
|
|
554
|
+
planId: string;
|
|
555
|
+
runId?: string;
|
|
556
|
+
createdAt: number;
|
|
557
|
+
ready: FrontierSwarmScheduledJob[];
|
|
558
|
+
blocked: FrontierSwarmBlockedJob[];
|
|
559
|
+
running: FrontierSwarmRunningJob[];
|
|
560
|
+
completed: string[];
|
|
561
|
+
failed: string[];
|
|
562
|
+
summary: FrontierSwarmScheduleSummary;
|
|
563
|
+
}
|
|
564
|
+
export interface FrontierSwarmScheduledJob {
|
|
565
|
+
jobId: string;
|
|
566
|
+
taskId: string;
|
|
567
|
+
lane: string;
|
|
568
|
+
compute: string;
|
|
569
|
+
concurrencyKey: string;
|
|
570
|
+
priority: number;
|
|
571
|
+
dependsOn: string[];
|
|
572
|
+
capabilities: string[];
|
|
573
|
+
resourceRequirements?: FrontierSwarmResourceRequirements;
|
|
574
|
+
}
|
|
575
|
+
export interface FrontierSwarmBlockedJob extends FrontierSwarmScheduledJob {
|
|
576
|
+
reasons: string[];
|
|
577
|
+
waitingFor: string[];
|
|
578
|
+
}
|
|
579
|
+
export interface FrontierSwarmRunningJob {
|
|
580
|
+
jobId: string;
|
|
581
|
+
lane: string;
|
|
582
|
+
compute: string;
|
|
583
|
+
concurrencyKey: string;
|
|
584
|
+
capabilities: string[];
|
|
585
|
+
resourceRequirements?: FrontierSwarmResourceRequirements;
|
|
586
|
+
}
|
|
587
|
+
export interface FrontierSwarmScheduleSummary {
|
|
588
|
+
jobCount: number;
|
|
589
|
+
readyCount: number;
|
|
590
|
+
blockedCount: number;
|
|
591
|
+
runningCount: number;
|
|
592
|
+
completedCount: number;
|
|
593
|
+
failedCount: number;
|
|
594
|
+
}
|
|
595
|
+
export interface FrontierSwarmLeaseInput {
|
|
596
|
+
schedule: FrontierSwarmSchedule;
|
|
597
|
+
workerId: string;
|
|
598
|
+
now?: number;
|
|
599
|
+
leaseMs?: number;
|
|
600
|
+
count?: number;
|
|
601
|
+
existingLeases?: readonly FrontierSwarmLease[];
|
|
602
|
+
}
|
|
603
|
+
export interface FrontierSwarmLease {
|
|
604
|
+
kind: typeof FRONTIER_SWARM_LEASE_KIND;
|
|
605
|
+
version: typeof FRONTIER_SWARM_LEASE_VERSION;
|
|
606
|
+
id: string;
|
|
607
|
+
jobId: string;
|
|
608
|
+
workerId: string;
|
|
609
|
+
token: string;
|
|
610
|
+
leasedAt: number;
|
|
611
|
+
expiresAt: number;
|
|
612
|
+
fencingToken: number;
|
|
613
|
+
status: 'active' | 'expired' | 'released';
|
|
614
|
+
}
|
|
615
|
+
export type FrontierSwarmQueueJobStatus = 'ready' | 'leased' | 'running' | 'completed' | 'failed' | 'blocked' | 'retrying' | 'dead-letter' | string;
|
|
616
|
+
export interface FrontierSwarmQueueJobInput {
|
|
617
|
+
jobId: string;
|
|
618
|
+
taskId?: string;
|
|
619
|
+
runId?: string;
|
|
620
|
+
status?: FrontierSwarmQueueJobStatus;
|
|
621
|
+
lane?: string;
|
|
622
|
+
compute?: string;
|
|
623
|
+
concurrencyKey?: string;
|
|
624
|
+
priority?: number;
|
|
625
|
+
attempts?: number;
|
|
626
|
+
maxAttempts?: number;
|
|
627
|
+
availableAt?: number;
|
|
628
|
+
lease?: FrontierSwarmLease;
|
|
629
|
+
lastError?: string;
|
|
630
|
+
metadata?: unknown;
|
|
631
|
+
}
|
|
632
|
+
export interface FrontierSwarmQueueJob {
|
|
633
|
+
jobId: string;
|
|
634
|
+
taskId?: string;
|
|
635
|
+
runId?: string;
|
|
636
|
+
status: FrontierSwarmQueueJobStatus;
|
|
637
|
+
lane?: string;
|
|
638
|
+
compute?: string;
|
|
639
|
+
concurrencyKey?: string;
|
|
640
|
+
priority: number;
|
|
641
|
+
attempts: number;
|
|
642
|
+
maxAttempts: number;
|
|
643
|
+
availableAt?: number;
|
|
644
|
+
lease?: FrontierSwarmLease;
|
|
645
|
+
lastError?: string;
|
|
646
|
+
metadata?: JsonObject;
|
|
647
|
+
}
|
|
648
|
+
export interface FrontierSwarmQueueSnapshotInput {
|
|
649
|
+
id?: string;
|
|
650
|
+
plan: FrontierSwarmPlan;
|
|
651
|
+
run?: FrontierSwarmRun;
|
|
652
|
+
jobs?: readonly FrontierSwarmQueueJobInput[];
|
|
653
|
+
leases?: readonly FrontierSwarmLease[];
|
|
654
|
+
generatedAt?: number;
|
|
655
|
+
metadata?: unknown;
|
|
656
|
+
}
|
|
657
|
+
export interface FrontierSwarmQueueSnapshot {
|
|
658
|
+
kind: typeof FRONTIER_SWARM_QUEUE_SNAPSHOT_KIND;
|
|
659
|
+
version: typeof FRONTIER_SWARM_QUEUE_SNAPSHOT_VERSION;
|
|
660
|
+
id: string;
|
|
661
|
+
planId: string;
|
|
662
|
+
runId: string;
|
|
663
|
+
generatedAt: number;
|
|
664
|
+
jobs: FrontierSwarmQueueJob[];
|
|
665
|
+
byStatus: Record<string, string[]>;
|
|
666
|
+
byLane: Record<string, string[]>;
|
|
667
|
+
leases: FrontierSwarmLease[];
|
|
668
|
+
metadata?: JsonObject;
|
|
669
|
+
summary: {
|
|
670
|
+
jobCount: number;
|
|
671
|
+
leaseCount: number;
|
|
672
|
+
readyCount: number;
|
|
673
|
+
leasedCount: number;
|
|
674
|
+
completedCount: number;
|
|
675
|
+
failedCount: number;
|
|
676
|
+
deadLetterCount: number;
|
|
677
|
+
};
|
|
678
|
+
}
|
|
679
|
+
export interface FrontierSwarmLeaseRenewalInput {
|
|
680
|
+
lease: FrontierSwarmLease;
|
|
681
|
+
now?: number;
|
|
682
|
+
leaseMs?: number;
|
|
683
|
+
status?: FrontierSwarmLease['status'];
|
|
684
|
+
}
|
|
685
|
+
export interface FrontierSwarmQueueAdapter {
|
|
686
|
+
snapshot(): FrontierSwarmQueueSnapshot | Promise<FrontierSwarmQueueSnapshot>;
|
|
687
|
+
enqueue?(snapshot: FrontierSwarmQueueSnapshot): FrontierSwarmQueueSnapshot | Promise<FrontierSwarmQueueSnapshot>;
|
|
688
|
+
lease?(input: FrontierSwarmLeaseInput): readonly FrontierSwarmLease[] | Promise<readonly FrontierSwarmLease[]>;
|
|
689
|
+
renew?(input: FrontierSwarmLeaseRenewalInput): FrontierSwarmLease | Promise<FrontierSwarmLease>;
|
|
690
|
+
complete?(result: FrontierSwarmJobResultInput): FrontierSwarmQueueSnapshot | Promise<FrontierSwarmQueueSnapshot>;
|
|
691
|
+
}
|
|
692
|
+
export interface FrontierSwarmRunCheckpointInput {
|
|
693
|
+
run: FrontierSwarmRun;
|
|
694
|
+
sequence?: number;
|
|
695
|
+
savedAt?: number;
|
|
696
|
+
metadata?: unknown;
|
|
697
|
+
}
|
|
698
|
+
export interface FrontierSwarmRunCheckpoint {
|
|
699
|
+
kind: typeof FRONTIER_SWARM_RUN_CHECKPOINT_KIND;
|
|
700
|
+
version: typeof FRONTIER_SWARM_RUN_CHECKPOINT_VERSION;
|
|
701
|
+
id: string;
|
|
702
|
+
runId: string;
|
|
703
|
+
planId: string;
|
|
704
|
+
sequence: number;
|
|
705
|
+
savedAt: number;
|
|
706
|
+
status: FrontierSwarmJobStatus;
|
|
707
|
+
eventCount: number;
|
|
708
|
+
resultCount: number;
|
|
709
|
+
hash: string;
|
|
710
|
+
metadata?: JsonObject;
|
|
711
|
+
}
|
|
712
|
+
export interface FrontierSwarmRunStoreAdapter {
|
|
713
|
+
loadRun(runId: string): FrontierSwarmRun | undefined | Promise<FrontierSwarmRun | undefined>;
|
|
714
|
+
saveRun(run: FrontierSwarmRun, checkpoint?: FrontierSwarmRunCheckpoint): void | Promise<void>;
|
|
715
|
+
appendEvents?(runId: string, events: readonly FrontierSwarmEventInput[]): void | Promise<void>;
|
|
716
|
+
appendResults?(runId: string, results: readonly FrontierSwarmJobResultInput[]): void | Promise<void>;
|
|
717
|
+
checkpoint?(run: FrontierSwarmRun): FrontierSwarmRunCheckpoint | Promise<FrontierSwarmRunCheckpoint>;
|
|
718
|
+
}
|
|
719
|
+
export interface FrontierSwarmArtifactInput {
|
|
720
|
+
jobId: string;
|
|
721
|
+
path: string;
|
|
722
|
+
kind?: string;
|
|
723
|
+
bytes?: number;
|
|
724
|
+
hash?: string;
|
|
725
|
+
producedAt?: number;
|
|
726
|
+
metadata?: unknown;
|
|
727
|
+
}
|
|
728
|
+
export interface FrontierSwarmArtifact {
|
|
729
|
+
jobId: string;
|
|
730
|
+
path: string;
|
|
731
|
+
kind: string;
|
|
732
|
+
bytes?: number;
|
|
733
|
+
hash?: string;
|
|
734
|
+
producedAt?: number;
|
|
735
|
+
metadata?: JsonObject;
|
|
736
|
+
}
|
|
737
|
+
export interface FrontierSwarmArtifactIndex {
|
|
738
|
+
kind: typeof FRONTIER_SWARM_ARTIFACT_INDEX_KIND;
|
|
739
|
+
version: typeof FRONTIER_SWARM_ARTIFACT_INDEX_VERSION;
|
|
740
|
+
id: string;
|
|
741
|
+
generatedAt: number;
|
|
742
|
+
artifacts: FrontierSwarmArtifact[];
|
|
743
|
+
byJobId: Record<string, FrontierSwarmArtifact[]>;
|
|
744
|
+
byKind: Record<string, FrontierSwarmArtifact[]>;
|
|
745
|
+
summary: {
|
|
746
|
+
artifactCount: number;
|
|
747
|
+
jobCount: number;
|
|
748
|
+
kindCount: number;
|
|
749
|
+
totalBytes: number;
|
|
750
|
+
};
|
|
751
|
+
}
|
|
752
|
+
export interface FrontierSwarmReviewPlan {
|
|
753
|
+
kind: typeof FRONTIER_SWARM_REVIEW_PLAN_KIND;
|
|
754
|
+
version: typeof FRONTIER_SWARM_REVIEW_PLAN_VERSION;
|
|
755
|
+
id: string;
|
|
756
|
+
planId: string;
|
|
757
|
+
generatedAt: number;
|
|
758
|
+
assignments: FrontierSwarmReviewAssignment[];
|
|
759
|
+
summary: {
|
|
760
|
+
assignmentCount: number;
|
|
761
|
+
requiredCount: number;
|
|
762
|
+
sampledCount: number;
|
|
763
|
+
};
|
|
764
|
+
}
|
|
765
|
+
export interface FrontierSwarmReviewAssignment {
|
|
766
|
+
jobId: string;
|
|
767
|
+
taskId: string;
|
|
768
|
+
reviewers: string[];
|
|
769
|
+
required: boolean;
|
|
770
|
+
reason: 'always-review' | 'sampled' | 'violations' | 'failed' | 'budget';
|
|
771
|
+
}
|
|
772
|
+
export interface FrontierSwarmMergePlan {
|
|
773
|
+
kind: typeof FRONTIER_SWARM_MERGE_PLAN_KIND;
|
|
774
|
+
version: typeof FRONTIER_SWARM_MERGE_PLAN_VERSION;
|
|
775
|
+
id: string;
|
|
776
|
+
planId: string;
|
|
777
|
+
generatedAt: number;
|
|
778
|
+
ready: string[];
|
|
779
|
+
blocked: FrontierSwarmMergeBlocker[];
|
|
780
|
+
groups: FrontierSwarmMergeGroup[];
|
|
781
|
+
summary: {
|
|
782
|
+
readyCount: number;
|
|
783
|
+
blockedCount: number;
|
|
784
|
+
groupCount: number;
|
|
785
|
+
};
|
|
786
|
+
}
|
|
787
|
+
export interface FrontierSwarmMergeBlocker {
|
|
788
|
+
jobId: string;
|
|
789
|
+
reasons: string[];
|
|
790
|
+
conflictingJobIds: string[];
|
|
791
|
+
}
|
|
792
|
+
export interface FrontierSwarmMergeGroup {
|
|
793
|
+
id: string;
|
|
794
|
+
jobIds: string[];
|
|
795
|
+
changedPaths: string[];
|
|
796
|
+
}
|
|
797
|
+
export interface FrontierSwarmDecomposeInput {
|
|
798
|
+
featureId: string;
|
|
799
|
+
objective: string;
|
|
800
|
+
lanes: readonly string[];
|
|
801
|
+
files?: readonly string[];
|
|
802
|
+
checks?: readonly (string | FrontierSwarmCommandInput)[];
|
|
803
|
+
reviewers?: readonly string[];
|
|
804
|
+
metadata?: unknown;
|
|
805
|
+
}
|
|
312
806
|
export interface FrontierSwarmRunInput {
|
|
313
807
|
id?: string;
|
|
314
808
|
plan: FrontierSwarmPlan;
|
|
@@ -363,16 +857,73 @@ export interface FrontierSwarmEvent {
|
|
|
363
857
|
data?: JsonValue;
|
|
364
858
|
metadata?: JsonObject;
|
|
365
859
|
}
|
|
860
|
+
export type FrontierSwarmMailboxScope = 'global' | 'lane' | 'job' | string;
|
|
861
|
+
export interface FrontierSwarmMailboxInput {
|
|
862
|
+
id?: string;
|
|
863
|
+
runId?: string;
|
|
864
|
+
scope?: FrontierSwarmMailboxScope;
|
|
865
|
+
lane?: string;
|
|
866
|
+
jobId?: string;
|
|
867
|
+
path?: string;
|
|
868
|
+
eventTypes?: readonly string[];
|
|
869
|
+
appendOnly?: boolean;
|
|
870
|
+
metadata?: unknown;
|
|
871
|
+
}
|
|
872
|
+
export interface FrontierSwarmMailbox {
|
|
873
|
+
kind: typeof FRONTIER_SWARM_MAILBOX_KIND;
|
|
874
|
+
version: typeof FRONTIER_SWARM_MAILBOX_VERSION;
|
|
875
|
+
id: string;
|
|
876
|
+
runId?: string;
|
|
877
|
+
scope: FrontierSwarmMailboxScope;
|
|
878
|
+
lane?: string;
|
|
879
|
+
jobId?: string;
|
|
880
|
+
path?: string;
|
|
881
|
+
eventTypes: string[];
|
|
882
|
+
appendOnly: boolean;
|
|
883
|
+
metadata?: JsonObject;
|
|
884
|
+
}
|
|
885
|
+
export interface FrontierSwarmEventStreamInput {
|
|
886
|
+
id?: string;
|
|
887
|
+
runId?: string;
|
|
888
|
+
root?: string;
|
|
889
|
+
lanes?: readonly (string | FrontierSwarmLaneInput | FrontierSwarmLane)[];
|
|
890
|
+
eventTypes?: readonly string[];
|
|
891
|
+
appendOnly?: boolean;
|
|
892
|
+
metadata?: unknown;
|
|
893
|
+
}
|
|
894
|
+
export interface FrontierSwarmEventStream {
|
|
895
|
+
kind: typeof FRONTIER_SWARM_EVENT_STREAM_KIND;
|
|
896
|
+
version: typeof FRONTIER_SWARM_EVENT_STREAM_VERSION;
|
|
897
|
+
id: string;
|
|
898
|
+
runId?: string;
|
|
899
|
+
root?: string;
|
|
900
|
+
appendOnly: boolean;
|
|
901
|
+
global: FrontierSwarmMailbox;
|
|
902
|
+
lanes: Record<string, FrontierSwarmMailbox>;
|
|
903
|
+
eventTypes: string[];
|
|
904
|
+
metadata?: JsonObject;
|
|
905
|
+
summary: {
|
|
906
|
+
mailboxCount: number;
|
|
907
|
+
laneCount: number;
|
|
908
|
+
eventTypeCount: number;
|
|
909
|
+
};
|
|
910
|
+
}
|
|
366
911
|
export interface FrontierSwarmJobResultInput {
|
|
367
912
|
jobId: string;
|
|
368
913
|
status?: FrontierSwarmJobStatus;
|
|
914
|
+
mergeReadiness?: FrontierSwarmMergeReadiness;
|
|
369
915
|
startedAt?: number;
|
|
370
916
|
finishedAt?: number;
|
|
371
917
|
exitCode?: number;
|
|
372
918
|
signal?: string;
|
|
373
919
|
changedPaths?: readonly string[];
|
|
920
|
+
changedRegions?: readonly string[];
|
|
374
921
|
ownershipViolations?: readonly string[];
|
|
375
922
|
evidencePaths?: readonly string[];
|
|
923
|
+
patchPath?: string;
|
|
924
|
+
queueItemIds?: readonly string[];
|
|
925
|
+
riskLevel?: FrontierSwarmRiskLevel;
|
|
926
|
+
mergeDisposition?: FrontierSwarmMergeDisposition;
|
|
376
927
|
verification?: readonly FrontierSwarmVerificationResultInput[];
|
|
377
928
|
lastMessage?: string;
|
|
378
929
|
error?: unknown;
|
|
@@ -401,14 +952,20 @@ export interface FrontierSwarmVerificationResult {
|
|
|
401
952
|
export interface FrontierSwarmJobResult {
|
|
402
953
|
jobId: string;
|
|
403
954
|
status: FrontierSwarmJobStatus;
|
|
955
|
+
mergeReadiness: FrontierSwarmMergeReadiness;
|
|
404
956
|
startedAt?: number;
|
|
405
957
|
finishedAt?: number;
|
|
406
958
|
durationMs?: number;
|
|
407
959
|
exitCode?: number;
|
|
408
960
|
signal?: string;
|
|
409
961
|
changedPaths: string[];
|
|
962
|
+
changedRegions: string[];
|
|
410
963
|
ownershipViolations: string[];
|
|
411
964
|
evidencePaths: string[];
|
|
965
|
+
patchPath?: string;
|
|
966
|
+
queueItemIds: string[];
|
|
967
|
+
riskLevel: FrontierSwarmRiskLevel;
|
|
968
|
+
mergeDisposition: FrontierSwarmMergeDisposition;
|
|
412
969
|
verification: FrontierSwarmVerificationResult[];
|
|
413
970
|
lastMessage?: string;
|
|
414
971
|
error?: string;
|
|
@@ -420,6 +977,57 @@ export interface FrontierSwarmOwnershipReport {
|
|
|
420
977
|
allowedWrites: string[];
|
|
421
978
|
violations: string[];
|
|
422
979
|
}
|
|
980
|
+
export interface FrontierSwarmMergeBundleInput {
|
|
981
|
+
id?: string;
|
|
982
|
+
runId?: string;
|
|
983
|
+
planId?: string;
|
|
984
|
+
job?: FrontierSwarmJob;
|
|
985
|
+
result: FrontierSwarmJobResult | FrontierSwarmJobResultInput;
|
|
986
|
+
patchPath?: string;
|
|
987
|
+
patchHash?: string;
|
|
988
|
+
evidencePaths?: readonly string[];
|
|
989
|
+
queueItemIds?: readonly string[];
|
|
990
|
+
riskLevel?: FrontierSwarmRiskLevel;
|
|
991
|
+
disposition?: FrontierSwarmMergeDisposition;
|
|
992
|
+
staleAgainstHead?: boolean;
|
|
993
|
+
branchName?: string;
|
|
994
|
+
commit?: string;
|
|
995
|
+
metadata?: unknown;
|
|
996
|
+
generatedAt?: number;
|
|
997
|
+
}
|
|
998
|
+
export interface FrontierSwarmMergeBundle {
|
|
999
|
+
kind: typeof FRONTIER_SWARM_MERGE_BUNDLE_KIND;
|
|
1000
|
+
version: typeof FRONTIER_SWARM_MERGE_BUNDLE_VERSION;
|
|
1001
|
+
id: string;
|
|
1002
|
+
runId?: string;
|
|
1003
|
+
planId?: string;
|
|
1004
|
+
jobId: string;
|
|
1005
|
+
taskId?: string;
|
|
1006
|
+
lane?: string;
|
|
1007
|
+
title?: string;
|
|
1008
|
+
generatedAt: number;
|
|
1009
|
+
status: FrontierSwarmJobStatus;
|
|
1010
|
+
mergeReadiness: FrontierSwarmMergeReadiness;
|
|
1011
|
+
disposition: FrontierSwarmMergeDisposition;
|
|
1012
|
+
riskLevel: FrontierSwarmRiskLevel;
|
|
1013
|
+
autoMergeable: boolean;
|
|
1014
|
+
changedPaths: string[];
|
|
1015
|
+
changedRegions: string[];
|
|
1016
|
+
ownedFilesTouched: string[];
|
|
1017
|
+
allowedWrites: string[];
|
|
1018
|
+
ownershipViolations: string[];
|
|
1019
|
+
patchPath?: string;
|
|
1020
|
+
patchHash?: string;
|
|
1021
|
+
evidencePaths: string[];
|
|
1022
|
+
commandsPassed: FrontierSwarmVerificationResult[];
|
|
1023
|
+
commandsFailed: FrontierSwarmVerificationResult[];
|
|
1024
|
+
queueItemIds: string[];
|
|
1025
|
+
branchName?: string;
|
|
1026
|
+
commit?: string;
|
|
1027
|
+
staleAgainstHead: boolean;
|
|
1028
|
+
reasons: string[];
|
|
1029
|
+
metadata?: JsonObject;
|
|
1030
|
+
}
|
|
423
1031
|
export interface FrontierSwarmProof {
|
|
424
1032
|
kind: typeof FRONTIER_SWARM_PROOF_KIND;
|
|
425
1033
|
version: typeof FRONTIER_SWARM_PROOF_VERSION;
|
|
@@ -437,16 +1045,40 @@ export declare function defineSwarmTasks(input?: readonly FrontierSwarmTaskInput
|
|
|
437
1045
|
export declare function compileSwarm(input: FrontierSwarmManifest | FrontierSwarmManifestInput): FrontierSwarmCompiled;
|
|
438
1046
|
export declare function validateSwarmManifest(input: FrontierSwarmManifest | FrontierSwarmManifestInput): FrontierSwarmValidation;
|
|
439
1047
|
export declare function createSwarmPlan(manifestInput: FrontierSwarmManifest | FrontierSwarmManifestInput, taskInput: readonly FrontierSwarmTaskInput[] | FrontierSwarmTaskSetInput | readonly FrontierSwarmTask[], options?: FrontierSwarmPlanInput): FrontierSwarmPlan;
|
|
1048
|
+
export declare function createSwarmTaskSelection(manifestInput: FrontierSwarmManifest | FrontierSwarmManifestInput, taskInput: readonly FrontierSwarmTaskInput[] | FrontierSwarmTaskSetInput | readonly FrontierSwarmTask[], options?: FrontierSwarmTaskSelectionInput): FrontierSwarmTaskSelection;
|
|
440
1049
|
export declare function createSwarmRun(input: FrontierSwarmRunInput): FrontierSwarmRun;
|
|
441
1050
|
export declare function recordSwarmEvent(runInput: FrontierSwarmRun, eventInput: FrontierSwarmEventInput): FrontierSwarmRun;
|
|
1051
|
+
export declare function createSwarmMailbox(input?: FrontierSwarmMailboxInput): FrontierSwarmMailbox;
|
|
1052
|
+
export declare function createSwarmEventStream(input?: FrontierSwarmEventStreamInput): FrontierSwarmEventStream;
|
|
1053
|
+
export declare function routeSwarmEventToMailboxes(stream: FrontierSwarmEventStream, eventInput: FrontierSwarmEvent | FrontierSwarmEventInput): FrontierSwarmMailbox[];
|
|
442
1054
|
export declare function completeSwarmJob(runInput: FrontierSwarmRun, resultInput: FrontierSwarmJobResultInput): FrontierSwarmRun;
|
|
443
1055
|
export declare function checkSwarmOwnership(job: FrontierSwarmJob, changedPaths: readonly string[]): FrontierSwarmOwnershipReport;
|
|
1056
|
+
export declare function resolveSwarmChangedRegions(job: FrontierSwarmJob, changedPaths: readonly string[]): string[];
|
|
1057
|
+
export declare function classifySwarmMergeReadiness(result: FrontierSwarmJobResultInput | FrontierSwarmJobResult): FrontierSwarmMergeReadiness;
|
|
1058
|
+
export declare function classifySwarmMergeDisposition(result: FrontierSwarmJobResultInput | FrontierSwarmJobResult, input?: {
|
|
1059
|
+
staleAgainstHead?: boolean;
|
|
1060
|
+
}): FrontierSwarmMergeDisposition;
|
|
1061
|
+
export declare function createSwarmMergeBundle(input: FrontierSwarmMergeBundleInput): FrontierSwarmMergeBundle;
|
|
444
1062
|
export declare function resolveSwarmCompute(manifestInput: FrontierSwarmManifest | FrontierSwarmManifestInput, taskInput: FrontierSwarmTask | FrontierSwarmTaskInput): FrontierSwarmCompute;
|
|
445
1063
|
export declare function createSwarmProof(input: FrontierSwarmManifest | FrontierSwarmPlan | FrontierSwarmRun, options?: {
|
|
446
1064
|
generatedAt?: number;
|
|
447
1065
|
validation?: FrontierSwarmValidation;
|
|
448
1066
|
metadata?: unknown;
|
|
449
1067
|
}): FrontierSwarmProof;
|
|
1068
|
+
export declare function createSwarmSchedule(input: FrontierSwarmPlan | FrontierSwarmScheduleInput): FrontierSwarmSchedule;
|
|
1069
|
+
export declare function createSwarmLeases(input: FrontierSwarmLeaseInput): FrontierSwarmLease[];
|
|
1070
|
+
export declare function renewSwarmLease(input: FrontierSwarmLeaseRenewalInput): FrontierSwarmLease;
|
|
1071
|
+
export declare function createSwarmQueueSnapshot(input: FrontierSwarmQueueSnapshotInput): FrontierSwarmQueueSnapshot;
|
|
1072
|
+
export declare function createSwarmRunCheckpoint(input: FrontierSwarmRun | FrontierSwarmRunCheckpointInput): FrontierSwarmRunCheckpoint;
|
|
1073
|
+
export declare function checkSwarmBudget(job: FrontierSwarmJob, usageInput: FrontierSwarmUsageInput): FrontierSwarmBudgetDecision;
|
|
1074
|
+
export declare function createSwarmArtifactIndex(input: FrontierSwarmRun | {
|
|
1075
|
+
run?: FrontierSwarmRun;
|
|
1076
|
+
artifacts?: readonly FrontierSwarmArtifactInput[];
|
|
1077
|
+
generatedAt?: number;
|
|
1078
|
+
}): FrontierSwarmArtifactIndex;
|
|
1079
|
+
export declare function createSwarmReviewPlan(input: FrontierSwarmReviewPlanInput): FrontierSwarmReviewPlan;
|
|
1080
|
+
export declare function createSwarmMergePlan(input: FrontierSwarmMergePlanInput): FrontierSwarmMergePlan;
|
|
1081
|
+
export declare function decomposeSwarmFeature(input: FrontierSwarmDecomposeInput): FrontierSwarmTaskInput[];
|
|
450
1082
|
export declare function encodeSwarmJsonl(records: readonly unknown[]): string;
|
|
451
1083
|
export declare function decodeSwarmJsonl(jsonl: string): JsonValue[];
|
|
452
1084
|
export declare function matchesGlob(file: string, glob: string): boolean;
|