@jterrats/open-orchestra 1.0.16 → 1.0.17
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/CLAUDE.md +24 -2
- package/README.md +32 -9
- package/dist/benchmark.js +65 -27
- package/dist/benchmark.js.map +1 -1
- package/dist/metrics-commands.js +3 -0
- package/dist/metrics-commands.js.map +1 -1
- package/dist/runtime-bootstrap.js +33 -8
- package/dist/runtime-bootstrap.js.map +1 -1
- package/dist/runtime-capacity-policy.d.ts +38 -0
- package/dist/runtime-capacity-policy.js +117 -0
- package/dist/runtime-capacity-policy.js.map +1 -0
- package/dist/runtime-capacity-scheduler-helpers.d.ts +40 -0
- package/dist/runtime-capacity-scheduler-helpers.js +111 -0
- package/dist/runtime-capacity-scheduler-helpers.js.map +1 -0
- package/dist/runtime-capacity-scheduler-state.d.ts +44 -0
- package/dist/runtime-capacity-scheduler-state.js +128 -0
- package/dist/runtime-capacity-scheduler-state.js.map +1 -0
- package/dist/runtime-capacity-scheduler.d.ts +34 -0
- package/dist/runtime-capacity-scheduler.js +193 -0
- package/dist/runtime-capacity-scheduler.js.map +1 -0
- package/dist/runtime-capacity-snapshot.d.ts +14 -0
- package/dist/runtime-capacity-snapshot.js +87 -0
- package/dist/runtime-capacity-snapshot.js.map +1 -0
- package/dist/runtime-child-prompt.d.ts +2 -1
- package/dist/runtime-child-prompt.js +4 -1
- package/dist/runtime-child-prompt.js.map +1 -1
- package/dist/runtime-claude-native-bridge.js +2 -1
- package/dist/runtime-claude-native-bridge.js.map +1 -1
- package/dist/runtime-commands.js +6 -0
- package/dist/runtime-commands.js.map +1 -1
- package/dist/runtime-lifecycle-watch.d.ts +5 -2
- package/dist/runtime-lifecycle-watch.js +19 -3
- package/dist/runtime-lifecycle-watch.js.map +1 -1
- package/dist/runtime-load-balancer.d.ts +12 -0
- package/dist/runtime-load-balancer.js +106 -0
- package/dist/runtime-load-balancer.js.map +1 -0
- package/dist/runtime-spawn-bridge.js +23 -0
- package/dist/runtime-spawn-bridge.js.map +1 -1
- package/dist/runtime-spawn-guidance.js +15 -0
- package/dist/runtime-spawn-guidance.js.map +1 -1
- package/dist/runtime-worker-registry.d.ts +19 -0
- package/dist/runtime-worker-registry.js +84 -0
- package/dist/runtime-worker-registry.js.map +1 -0
- package/dist/security/content-classifier.d.ts +2 -0
- package/dist/security/content-classifier.js +147 -0
- package/dist/security/content-classifier.js.map +1 -0
- package/dist/security/operation-contract-types.d.ts +28 -0
- package/dist/security/operation-contract-types.js +2 -0
- package/dist/security/operation-contract-types.js.map +1 -0
- package/dist/security/operation-contract.d.ts +2 -0
- package/dist/security/operation-contract.js +169 -0
- package/dist/security/operation-contract.js.map +1 -0
- package/dist/security/policy-engine.d.ts +2 -0
- package/dist/security/policy-engine.js +142 -0
- package/dist/security/policy-engine.js.map +1 -0
- package/dist/security/policy-types.d.ts +79 -0
- package/dist/security/policy-types.js +7 -0
- package/dist/security/policy-types.js.map +1 -0
- package/dist/security/prompt-intake.d.ts +13 -0
- package/dist/security/prompt-intake.js +33 -0
- package/dist/security/prompt-intake.js.map +1 -0
- package/dist/security/redaction.d.ts +3 -0
- package/dist/security/redaction.js +64 -0
- package/dist/security/redaction.js.map +1 -0
- package/dist/security/sink-encoding.d.ts +6 -0
- package/dist/security/sink-encoding.js +40 -0
- package/dist/security/sink-encoding.js.map +1 -0
- package/dist/sprint-commands.js +33 -22
- package/dist/sprint-commands.js.map +1 -1
- package/dist/transcription-failures.d.ts +2 -0
- package/dist/transcription-failures.js +4 -0
- package/dist/transcription-failures.js.map +1 -0
- package/dist/transcription-media-preflight.d.ts +9 -0
- package/dist/transcription-media-preflight.js +147 -0
- package/dist/transcription-media-preflight.js.map +1 -0
- package/dist/transcription-request.d.ts +13 -0
- package/dist/transcription-request.js +150 -0
- package/dist/transcription-request.js.map +1 -0
- package/dist/transcription-source-policy.d.ts +4 -0
- package/dist/transcription-source-policy.js +43 -0
- package/dist/transcription-source-policy.js.map +1 -0
- package/dist/transcription-types.d.ts +161 -0
- package/dist/transcription-types.js +2 -0
- package/dist/transcription-types.js.map +1 -0
- package/dist/types/runtime.d.ts +147 -0
- package/dist/types.d.ts +3 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/workflow-phase-planner.js +5 -3
- package/dist/workflow-phase-planner.js.map +1 -1
- package/dist/workflow-phases.js +5 -0
- package/dist/workflow-phases.js.map +1 -1
- package/dist/workflow-run-commands.js +89 -10
- package/dist/workflow-run-commands.js.map +1 -1
- package/docs/audio-video-transcription-skill.md +102 -70
- package/docs/runtime-adapters.md +7 -0
- package/docs/runtime-capacity.md +57 -0
- package/docs/security-saas-orchestrator.md +368 -0
- package/package.json +1 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
export type TranscriptionSourceKind = "workflow-file" | "vault-artifact";
|
|
2
|
+
export type TranscriptionMediaType = "audio" | "video";
|
|
3
|
+
export type TranscriptionExecutionMode = "local" | "external";
|
|
4
|
+
export type TranscriptionConsentStatus = "not_required" | "provided" | "missing" | "unknown";
|
|
5
|
+
export type TranscriptionTimestampQuality = "none" | "low" | "medium" | "high";
|
|
6
|
+
export type TranscriptionRetentionClass = "ephemeral" | "task-evidence" | "regulated" | "do-not-retain";
|
|
7
|
+
export interface TranscriptionSource {
|
|
8
|
+
kind: TranscriptionSourceKind;
|
|
9
|
+
mediaType: TranscriptionMediaType;
|
|
10
|
+
path?: string;
|
|
11
|
+
artifactId?: string;
|
|
12
|
+
sizeBytes?: number;
|
|
13
|
+
durationMs?: number;
|
|
14
|
+
language?: string;
|
|
15
|
+
checksum?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface TranscriptionEngineRequest {
|
|
18
|
+
executionMode?: TranscriptionExecutionMode;
|
|
19
|
+
provider?: string;
|
|
20
|
+
model?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface TranscriptionPolicy {
|
|
23
|
+
policyId: string;
|
|
24
|
+
executionMode: TranscriptionExecutionMode;
|
|
25
|
+
externalProviderAllowed: boolean;
|
|
26
|
+
allowedExternalProviders: string[];
|
|
27
|
+
requireConsent: boolean;
|
|
28
|
+
retentionClass: TranscriptionRetentionClass;
|
|
29
|
+
redactionPolicyId: string;
|
|
30
|
+
maxFileBytes?: number;
|
|
31
|
+
maxDurationMs?: number;
|
|
32
|
+
}
|
|
33
|
+
export interface TranscriptionRequest {
|
|
34
|
+
taskId: string;
|
|
35
|
+
actor: string;
|
|
36
|
+
source: TranscriptionSource;
|
|
37
|
+
engine?: TranscriptionEngineRequest;
|
|
38
|
+
policy?: Partial<TranscriptionPolicy>;
|
|
39
|
+
consentStatus?: TranscriptionConsentStatus;
|
|
40
|
+
retentionNotes?: string;
|
|
41
|
+
requestedAt?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface NormalizedTranscriptionRequest extends Omit<TranscriptionRequest, "engine" | "policy"> {
|
|
44
|
+
engine: Required<TranscriptionEngineRequest>;
|
|
45
|
+
policy: TranscriptionPolicy;
|
|
46
|
+
requestedAt: string;
|
|
47
|
+
}
|
|
48
|
+
export type TranscriptionFailureCode = "missing_task" | "missing_actor" | "missing_source" | "invalid_source_identity" | "invalid_source_path" | "source_file_unreadable" | "unsupported_media_type" | "unsupported_media_extension" | "unsupported_media_codec" | "external_provider_denied" | "external_provider_not_allowed" | "missing_consent" | "duration_limit_exceeded" | "file_size_limit_exceeded" | "missing_local_engine" | "missing_media_probe" | "media_probe_failed";
|
|
49
|
+
export interface TranscriptionFailure {
|
|
50
|
+
code: TranscriptionFailureCode;
|
|
51
|
+
message: string;
|
|
52
|
+
field?: string;
|
|
53
|
+
}
|
|
54
|
+
export type TranscriptionValidationResult = {
|
|
55
|
+
ok: true;
|
|
56
|
+
request: NormalizedTranscriptionRequest;
|
|
57
|
+
failures: [];
|
|
58
|
+
} | {
|
|
59
|
+
ok: false;
|
|
60
|
+
failures: TranscriptionFailure[];
|
|
61
|
+
};
|
|
62
|
+
export interface TranscriptionRuntimeEnvironment {
|
|
63
|
+
localEngineAvailable: boolean;
|
|
64
|
+
mediaProbeAvailable: boolean;
|
|
65
|
+
}
|
|
66
|
+
export type TranscriptionReadinessStatus = "ready" | "degraded" | "blocked";
|
|
67
|
+
export interface TranscriptionReadiness {
|
|
68
|
+
status: TranscriptionReadinessStatus;
|
|
69
|
+
failures: TranscriptionFailure[];
|
|
70
|
+
warnings: string[];
|
|
71
|
+
}
|
|
72
|
+
export interface TranscriptionMediaToolReadiness {
|
|
73
|
+
ffmpegAvailable: boolean;
|
|
74
|
+
ffprobeAvailable: boolean;
|
|
75
|
+
}
|
|
76
|
+
export type TranscriptionMediaStreamType = "audio" | "video";
|
|
77
|
+
export interface TranscriptionMediaStreamProbe {
|
|
78
|
+
type: TranscriptionMediaStreamType;
|
|
79
|
+
codecName: string;
|
|
80
|
+
durationMs?: number;
|
|
81
|
+
}
|
|
82
|
+
export interface TranscriptionMediaProbeResult {
|
|
83
|
+
formatName: string;
|
|
84
|
+
durationMs?: number;
|
|
85
|
+
sizeBytes?: number;
|
|
86
|
+
streams: TranscriptionMediaStreamProbe[];
|
|
87
|
+
}
|
|
88
|
+
export interface TranscriptionMediaPreflight {
|
|
89
|
+
sourcePath: string;
|
|
90
|
+
resolvedPath: string;
|
|
91
|
+
sizeBytes: number;
|
|
92
|
+
durationMs?: number;
|
|
93
|
+
formatName?: string;
|
|
94
|
+
codecs: string[];
|
|
95
|
+
}
|
|
96
|
+
export type TranscriptionMediaPreflightResult = {
|
|
97
|
+
ok: true;
|
|
98
|
+
status: "ready";
|
|
99
|
+
preflight: TranscriptionMediaPreflight;
|
|
100
|
+
failures: [];
|
|
101
|
+
warnings: string[];
|
|
102
|
+
} | {
|
|
103
|
+
ok: false;
|
|
104
|
+
status: "degraded" | "blocked";
|
|
105
|
+
failures: TranscriptionFailure[];
|
|
106
|
+
warnings: string[];
|
|
107
|
+
};
|
|
108
|
+
export interface TranscriptionProvenance {
|
|
109
|
+
sourceKind: TranscriptionSourceKind;
|
|
110
|
+
sourcePath?: string;
|
|
111
|
+
artifactId?: string;
|
|
112
|
+
checksum?: string;
|
|
113
|
+
durationMs?: number;
|
|
114
|
+
language?: string;
|
|
115
|
+
mediaType: TranscriptionMediaType;
|
|
116
|
+
engineProvider: string;
|
|
117
|
+
engineModel: string;
|
|
118
|
+
executionMode: TranscriptionExecutionMode;
|
|
119
|
+
actor: string;
|
|
120
|
+
taskId: string;
|
|
121
|
+
generatedAt: string;
|
|
122
|
+
consentStatus: TranscriptionConsentStatus;
|
|
123
|
+
retentionClass: TranscriptionRetentionClass;
|
|
124
|
+
retentionNotes?: string;
|
|
125
|
+
}
|
|
126
|
+
export interface TranscriptionSegment {
|
|
127
|
+
id: string;
|
|
128
|
+
speaker?: string;
|
|
129
|
+
startMs?: number;
|
|
130
|
+
endMs?: number;
|
|
131
|
+
text: string;
|
|
132
|
+
timestampQuality: TranscriptionTimestampQuality;
|
|
133
|
+
}
|
|
134
|
+
export interface TranscriptionFindings {
|
|
135
|
+
decisions: string[];
|
|
136
|
+
risks: string[];
|
|
137
|
+
actionItems: string[];
|
|
138
|
+
acceptanceCriteriaCandidates: string[];
|
|
139
|
+
defects: string[];
|
|
140
|
+
lessonLearnedCandidates: string[];
|
|
141
|
+
}
|
|
142
|
+
export interface TranscriptionRedactionSummary {
|
|
143
|
+
policyId: string;
|
|
144
|
+
count: number;
|
|
145
|
+
categories: string[];
|
|
146
|
+
}
|
|
147
|
+
export interface TranscriptionOutput {
|
|
148
|
+
schemaVersion: 1;
|
|
149
|
+
status: "completed" | "failed" | "degraded";
|
|
150
|
+
provenance: TranscriptionProvenance;
|
|
151
|
+
segments: TranscriptionSegment[];
|
|
152
|
+
findings: TranscriptionFindings;
|
|
153
|
+
redactions: TranscriptionRedactionSummary;
|
|
154
|
+
artifacts: {
|
|
155
|
+
markdown?: string;
|
|
156
|
+
json?: string;
|
|
157
|
+
vtt?: string;
|
|
158
|
+
srt?: string;
|
|
159
|
+
};
|
|
160
|
+
failures: TranscriptionFailure[];
|
|
161
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcription-types.js","sourceRoot":"","sources":["../src/transcription-types.ts"],"names":[],"mappings":""}
|
package/dist/types/runtime.d.ts
CHANGED
|
@@ -328,3 +328,150 @@ export interface RuntimeInvocationPlan {
|
|
|
328
328
|
reason: string;
|
|
329
329
|
warning: string;
|
|
330
330
|
}
|
|
331
|
+
export interface RuntimeCapacityScope {
|
|
332
|
+
platformId: string;
|
|
333
|
+
tenantId: string;
|
|
334
|
+
workspaceId: string;
|
|
335
|
+
}
|
|
336
|
+
export type RuntimeWorkloadClass = "interactive" | "workflow-phase" | "runtime-native-spawn" | "provider-backed-phase" | "background-maintenance" | "evidence-processing";
|
|
337
|
+
export interface RuntimeCapacityUnit {
|
|
338
|
+
concurrencyUnits: number;
|
|
339
|
+
tokenBudget?: number;
|
|
340
|
+
cpuWeight?: number;
|
|
341
|
+
memoryMb?: number;
|
|
342
|
+
ioWeight?: number;
|
|
343
|
+
estimatedDurationMs?: number;
|
|
344
|
+
}
|
|
345
|
+
export type RuntimeCapacityLimitAction = "queue" | "reject";
|
|
346
|
+
export interface RuntimeQuotaPolicy {
|
|
347
|
+
maxActive: number;
|
|
348
|
+
maxQueued: number;
|
|
349
|
+
maxActivePerProvider?: number;
|
|
350
|
+
maxActivePerRuntime?: number;
|
|
351
|
+
maxBurst?: number;
|
|
352
|
+
rateWindowMs?: number;
|
|
353
|
+
limitAction: RuntimeCapacityLimitAction;
|
|
354
|
+
queueTtlMs?: number;
|
|
355
|
+
}
|
|
356
|
+
export type RuntimeWorkerKind = "local-parent" | "local-process" | "saas-worker" | "runtime-parent" | "provider-backed";
|
|
357
|
+
export type RuntimeTenantAffinity = "single-tenant" | "tenant-pool" | "platform-shared";
|
|
358
|
+
export type RuntimeWorkerHealth = "healthy" | "draining" | "degraded" | "unhealthy" | "offline";
|
|
359
|
+
export interface RuntimeWorkerIsolationMetadata {
|
|
360
|
+
version: string;
|
|
361
|
+
policyVersion: string;
|
|
362
|
+
sandboxProfile: string;
|
|
363
|
+
secretScope: string;
|
|
364
|
+
dataResidencyTags: string[];
|
|
365
|
+
}
|
|
366
|
+
export interface RuntimeWorkerRecord {
|
|
367
|
+
workerId: string;
|
|
368
|
+
workerKind: RuntimeWorkerKind;
|
|
369
|
+
tenantAffinity: RuntimeTenantAffinity;
|
|
370
|
+
allowedTenantIds: string[];
|
|
371
|
+
deniedTenantIds: string[];
|
|
372
|
+
regions: string[];
|
|
373
|
+
runtimeIds: string[];
|
|
374
|
+
providerIds: string[];
|
|
375
|
+
workloadClasses: RuntimeWorkloadClass[];
|
|
376
|
+
toolCapabilities: string[];
|
|
377
|
+
maxConcurrencyUnits: number;
|
|
378
|
+
availableConcurrencyUnits: number;
|
|
379
|
+
tokenBudgetRemaining?: number;
|
|
380
|
+
cpuWeight?: number;
|
|
381
|
+
memoryMb?: number;
|
|
382
|
+
health: RuntimeWorkerHealth;
|
|
383
|
+
lastHeartbeatAt: string;
|
|
384
|
+
failureCount: number;
|
|
385
|
+
openedUntil?: string;
|
|
386
|
+
leaseTtlMs: number;
|
|
387
|
+
isolation: RuntimeWorkerIsolationMetadata;
|
|
388
|
+
}
|
|
389
|
+
export interface RuntimeRegionPreference {
|
|
390
|
+
regions: string[];
|
|
391
|
+
strict: boolean;
|
|
392
|
+
}
|
|
393
|
+
export interface RuntimeQueuePolicy {
|
|
394
|
+
priority: "high" | "normal" | "low";
|
|
395
|
+
maxQueueMs?: number;
|
|
396
|
+
limitAction: RuntimeCapacityLimitAction;
|
|
397
|
+
}
|
|
398
|
+
export interface RuntimeScheduleRequest {
|
|
399
|
+
requestId: string;
|
|
400
|
+
scope?: RuntimeCapacityScope;
|
|
401
|
+
workloadClass: RuntimeWorkloadClass;
|
|
402
|
+
provider?: string;
|
|
403
|
+
runtime?: RuntimeExecutionId | string;
|
|
404
|
+
regionPreference?: RuntimeRegionPreference;
|
|
405
|
+
capacity: RuntimeCapacityUnit;
|
|
406
|
+
tenantPolicy?: RuntimeQuotaPolicy;
|
|
407
|
+
workspacePolicy?: RuntimeQuotaPolicy;
|
|
408
|
+
queuePolicy?: RuntimeQueuePolicy;
|
|
409
|
+
idempotencyKey?: string;
|
|
410
|
+
leaseTtlMs?: number;
|
|
411
|
+
}
|
|
412
|
+
export interface RuntimeLease {
|
|
413
|
+
leaseId: string;
|
|
414
|
+
workerId: string;
|
|
415
|
+
scope: RuntimeCapacityScope;
|
|
416
|
+
workloadClass: RuntimeWorkloadClass;
|
|
417
|
+
provider?: string;
|
|
418
|
+
runtime?: RuntimeExecutionId | string;
|
|
419
|
+
capacity: RuntimeCapacityUnit;
|
|
420
|
+
expiresAt: string;
|
|
421
|
+
}
|
|
422
|
+
export type RuntimeScheduleDecisionStatus = "admitted" | "queued" | "rejected" | "deferred";
|
|
423
|
+
export type RuntimeScheduleReasonCode = "admitted" | "queued_platform_limit" | "queued_tenant_limit" | "queued_workspace_limit" | "queued_provider_limit" | "queued_runtime_limit" | "queued_no_eligible_worker" | "rejected_invalid_request" | "rejected_missing_scope" | "rejected_platform_limit" | "rejected_tenant_limit" | "rejected_workspace_limit" | "rejected_provider_limit" | "rejected_runtime_limit" | "rejected_queue_full" | "deferred_no_eligible_worker";
|
|
424
|
+
export interface RuntimeQueueDecision {
|
|
425
|
+
queueId: string;
|
|
426
|
+
position: number;
|
|
427
|
+
reasonCode: RuntimeScheduleReasonCode;
|
|
428
|
+
retryAfterMs?: number;
|
|
429
|
+
expiresAt?: string;
|
|
430
|
+
}
|
|
431
|
+
export interface RuntimeScheduleDecision {
|
|
432
|
+
decisionId: string;
|
|
433
|
+
status: RuntimeScheduleDecisionStatus;
|
|
434
|
+
scope: RuntimeCapacityScope;
|
|
435
|
+
workloadClass: RuntimeWorkloadClass;
|
|
436
|
+
reasonCode: RuntimeScheduleReasonCode;
|
|
437
|
+
userSafeReason: string;
|
|
438
|
+
workerId?: string;
|
|
439
|
+
lease?: RuntimeLease;
|
|
440
|
+
queue?: RuntimeQueueDecision;
|
|
441
|
+
}
|
|
442
|
+
export interface RuntimeCapacitySnapshot {
|
|
443
|
+
active: number;
|
|
444
|
+
queued: number;
|
|
445
|
+
reserved: number;
|
|
446
|
+
rejected: number;
|
|
447
|
+
openCircuits: number;
|
|
448
|
+
activeByPlatform: Record<string, number>;
|
|
449
|
+
activeByTenant: Record<string, number>;
|
|
450
|
+
activeByWorkspace: Record<string, number>;
|
|
451
|
+
activeByWorkloadClass: Record<RuntimeWorkloadClass, number>;
|
|
452
|
+
activeByProvider: Record<string, number>;
|
|
453
|
+
activeByRuntime: Record<string, number>;
|
|
454
|
+
activeByRegion: Record<string, number>;
|
|
455
|
+
activeByWorkerId: Record<string, number>;
|
|
456
|
+
queuedByPlatform: Record<string, number>;
|
|
457
|
+
queuedByTenant: Record<string, number>;
|
|
458
|
+
queuedByWorkspace: Record<string, number>;
|
|
459
|
+
queuedByWorkloadClass: Record<RuntimeWorkloadClass, number>;
|
|
460
|
+
queuedByProvider: Record<string, number>;
|
|
461
|
+
queuedByRuntime: Record<string, number>;
|
|
462
|
+
queuedByRegion: Record<string, number>;
|
|
463
|
+
queuedByWorkerId: Record<string, number>;
|
|
464
|
+
}
|
|
465
|
+
export interface RuntimeCapacitySchedulerEvent {
|
|
466
|
+
decisionId: string;
|
|
467
|
+
type: RuntimeScheduleDecisionStatus | "released" | "promoted";
|
|
468
|
+
scope: RuntimeCapacityScope;
|
|
469
|
+
workloadClass: RuntimeWorkloadClass;
|
|
470
|
+
provider?: string;
|
|
471
|
+
runtime?: RuntimeExecutionId | string;
|
|
472
|
+
workerId?: string;
|
|
473
|
+
reasonCode: RuntimeScheduleReasonCode | "released";
|
|
474
|
+
queueLatencyMs?: number;
|
|
475
|
+
leaseDurationMs?: number;
|
|
476
|
+
timestamp: string;
|
|
477
|
+
}
|
package/dist/types.d.ts
CHANGED
|
@@ -5,9 +5,11 @@ import type { EventEntry, LockEntry, Task, TaskStatus } from "./types/tasks.js";
|
|
|
5
5
|
export type { ContextBudgetMetadata, ContextBudgetSection, } from "./types/context.js";
|
|
6
6
|
export type { ContextIndexBuildResult, ContextIndexFileEntry, ContextIndexManifest, ContextIndexSearchMatch, ContextIndexSearchResult, ContextIndexStatus, ContextPackBudget, ContextPackItem, ContextPackResult, ContextPackSnippet, } from "./types/context-index.js";
|
|
7
7
|
export type { BudgetLimit, BudgetPolicy, ConfiguredProviderSummary, GitHubConfig, GitHubNotificationConfig, ModelMessage, ModelProvider, ModelProviderCapabilities, ModelProviderError, ModelProvenanceInput, ModelProvenanceRecord, ModelRequest, ModelResponse, ModelStreamEvent, NotificationChannelResult, NotificationsConfig, PhaseExecutionMode, PhaseExecutorPhase, PhaseLlmResult, PhaseOutcome, PhaseStructuredOutput, ProviderFallbackResult, ProviderFailureDetail, ProviderBackedAgentBudget, ProviderBackedAgentCost, ProviderBackedAgentEvidencePolicy, ProviderBackedAgentFallback, ProviderBackedAgentOutcome, ProviderBackedAgentPolicy, ProviderBackedAgentProvenance, ProviderBackedAgentRequest, ProviderBackedAgentResult, ProviderBackedAgentUsage, ProviderCostSource, ProviderDataClass, ProviderProfileSmokeCheck, ProviderProfileSmokeResult, ProviderCredentialConfig, ProviderCredentialsConfig, ProviderPolicyConfig, ProviderRegistryCredentialEnv, ProviderRegistryEntry, ProviderRuntimeProfile, ProviderRuntimeProfileSummary, ProviderRouting, ProviderUsageSource, SlackNotificationConfig, TelemetryConsentState, TelemetryLevel, ToolConfig, WorkflowConfig, WorkflowProvidersConfig, } from "./types/model-config.js";
|
|
8
|
-
export type { RuntimeAdapter, RuntimeAdapterCatalogEntry, RuntimeAdapterKind, RuntimeBrief, RuntimeDelegationAssignment, RuntimeDelegationGuardrailEvaluation, RuntimeDelegationGuardrailStatus, RuntimeDelegationGuardrails, RuntimeDelegationLimitAction, RuntimeDelegationMode, RuntimeDelegationOperationsReport, RuntimeDelegationPacket, RuntimeDelegationPolicy, RuntimeDelegationSessionStatus, RuntimeDelegationSessionSummary, RuntimeClaudeNativeBridgeResult, RuntimeClaudeNativeCallbackMetadata, RuntimeExecutionAdapter, RuntimeExecutionCapabilities, RuntimeExecutionId, RuntimeExecutionPolicy, RuntimeExecutorConfig, RuntimeInvocationPlan, RuntimeLifecycleWatcherAdapter, RuntimeLifecycleWatcherDetectionMode, RuntimeLifecycleWatcherSupportLevel, PendingRuntimeParentAction, RuntimeParentAction, RuntimeParentActionEligibility, RuntimeParentActionEligibilityChecked, RuntimeParentActionEligibilityStatus, RuntimeParentActionKind, RuntimeParentActionLifecycleCommands, RuntimeParentActionPayload, RuntimeParentActionSafetyState, RuntimeParentActionSkipReason, RuntimeParentActionSkipReasonCode, RuntimeSelection, RuntimeSpawnCapability, RuntimeSpawnCapabilityMode, RuntimeSpawnRequest, RuntimeSpawnRequestStatus, RuntimeSubagentCapabilities, } from "./types/runtime.js";
|
|
8
|
+
export type { RuntimeAdapter, RuntimeAdapterCatalogEntry, RuntimeAdapterKind, RuntimeBrief, RuntimeCapacityLimitAction, RuntimeCapacitySchedulerEvent, RuntimeCapacityScope, RuntimeCapacitySnapshot, RuntimeCapacityUnit, RuntimeDelegationAssignment, RuntimeDelegationGuardrailEvaluation, RuntimeDelegationGuardrailStatus, RuntimeDelegationGuardrails, RuntimeDelegationLimitAction, RuntimeDelegationMode, RuntimeDelegationOperationsReport, RuntimeDelegationPacket, RuntimeDelegationPolicy, RuntimeDelegationSessionStatus, RuntimeDelegationSessionSummary, RuntimeClaudeNativeBridgeResult, RuntimeClaudeNativeCallbackMetadata, RuntimeExecutionAdapter, RuntimeExecutionCapabilities, RuntimeExecutionId, RuntimeExecutionPolicy, RuntimeExecutorConfig, RuntimeInvocationPlan, RuntimeLease, RuntimeLifecycleWatcherAdapter, RuntimeLifecycleWatcherDetectionMode, RuntimeLifecycleWatcherSupportLevel, PendingRuntimeParentAction, RuntimeParentAction, RuntimeParentActionEligibility, RuntimeParentActionEligibilityChecked, RuntimeParentActionEligibilityStatus, RuntimeParentActionKind, RuntimeParentActionLifecycleCommands, RuntimeParentActionPayload, RuntimeParentActionSafetyState, RuntimeParentActionSkipReason, RuntimeParentActionSkipReasonCode, RuntimeQueueDecision, RuntimeQueuePolicy, RuntimeQuotaPolicy, RuntimeRegionPreference, RuntimeScheduleDecision, RuntimeScheduleDecisionStatus, RuntimeScheduleReasonCode, RuntimeScheduleRequest, RuntimeSelection, RuntimeSpawnCapability, RuntimeSpawnCapabilityMode, RuntimeSpawnRequest, RuntimeSpawnRequestStatus, RuntimeSubagentCapabilities, RuntimeTenantAffinity, RuntimeWorkerHealth, RuntimeWorkerIsolationMetadata, RuntimeWorkerKind, RuntimeWorkerRecord, RuntimeWorkloadClass, } from "./types/runtime.js";
|
|
9
9
|
export type { AgentLesson, AgentLessonInput, CollaborationFlow, CollaborationFlowRecommendation, CollaborationFlowStep, MemoryHookPoint, MemoryLessonSnippet, MemoryPacket, MemoryPromptSnippet, MemorySectionReport, RuntimeSkillPlanRequest, Skill, SkillLoadBudget, SkillPlan, SkillPlanItem, SkillRenderTarget, PhasePlaybook, SkillValidationReport, RenderedWorkflowTemplate, WorkflowTemplate, WorkflowTemplateSelection, } from "./types/skills.js";
|
|
10
10
|
export { SIZING_LABELS, type BenchmarkQualitySignals, type BenchmarkResult, type BenchmarkSummary, type BurndownPoint, type BurndownSeries, type CalibrationReport, type CalibrationRoleReport, type EffortBreakdown, type EstimateCalibration, type EstimateConfidence, type EstimateInput, type EstimateRecord, type SizingLabel, type SprintRecord, type SprintVelocity, type SprintVelocityReport, type TaskEstimateBreakdown, type VelocityReport, type VelocityWeek, } from "./types/metrics.js";
|
|
11
|
+
export type { NormalizedTranscriptionRequest, TranscriptionConsentStatus, TranscriptionEngineRequest, TranscriptionExecutionMode, TranscriptionFailure, TranscriptionFailureCode, TranscriptionFindings, TranscriptionMediaType, TranscriptionOutput, TranscriptionPolicy, TranscriptionProvenance, TranscriptionReadiness, TranscriptionReadinessStatus, TranscriptionRedactionSummary, TranscriptionRequest, TranscriptionRetentionClass, TranscriptionRuntimeEnvironment, TranscriptionSegment, TranscriptionSource, TranscriptionSourceKind, TranscriptionTimestampQuality, TranscriptionValidationResult, } from "./transcription-types.js";
|
|
12
|
+
export { defaultTranscriptionPolicy, evaluateTranscriptionReadiness, normalizeTranscriptionRequest, summarizeTranscriptionRedactions, validateTranscriptionRequest, } from "./transcription-request.js";
|
|
11
13
|
export type { AddTaskInput, ArchitectureApproval, ArtifactResult, ClaimLockInput, DecisionInput, DecisionRecord, EventEntry, EventInput, EvidenceInput, EvidenceType, ExternalTaskReferences, HandoffInput, LockEntry, MechanicalOverride, PlaywrightEvidenceInput, QaGateMetadata, ReviewInput, ReviewResult, RiskAcceptance, RiskGateMetadata, RiskImpactArea, SetupAgentsTaskReference, Severity, Task, TaskStatus, TaskWorkflowMetadata, UpdateTaskInput, } from "./types/tasks.js";
|
|
12
14
|
export type { AutonomousGateMode, AutonomousPhase, AutonomousPhaseStatus, AutonomousRun, AutonomousRunResult, BenchmarkPhaseDuration, ClarificationAnswerInput, ClarificationInput, ClarificationRecord, ClarificationStatus, ClarificationTarget, PhaseProviderProgress, WorkflowPhaseExecutionMode, WorkflowPhaseExecutorProvenance, WorkflowGateApprovalInput, WorkflowGateApprovalResult, WorkflowGateDecisionInput, WorkflowGateDecisionRecord, WorkflowGateDecisionResult, WorkflowRunMode, } from "./types/workflow-run.js";
|
|
13
15
|
export type WorkspaceClassificationKind = "project" | "advisory" | "unsafe" | "unknown";
|
package/dist/types.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { SIZING_LABELS, } from "./types/metrics.js";
|
|
2
|
+
export { defaultTranscriptionPolicy, evaluateTranscriptionReadiness, normalizeTranscriptionRequest, summarizeTranscriptionRedactions, validateTranscriptionRequest, } from "./transcription-request.js";
|
|
2
3
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAiLA,OAAO,EACL,aAAa,GAoBd,MAAM,oBAAoB,CAAC;AA2B5B,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC"}
|
|
@@ -150,9 +150,11 @@ function applyRequiredRoles(sequence, requiredRoles) {
|
|
|
150
150
|
continue;
|
|
151
151
|
const insertAfter = phase.phase === "docs_review"
|
|
152
152
|
? "qa"
|
|
153
|
-
: phase.phase === "
|
|
154
|
-
? "
|
|
155
|
-
: "
|
|
153
|
+
: phase.phase === "security"
|
|
154
|
+
? "architect"
|
|
155
|
+
: phase.phase === "ux_design"
|
|
156
|
+
? "po"
|
|
157
|
+
: "developer";
|
|
156
158
|
next = applyRecommendations(next, [
|
|
157
159
|
{
|
|
158
160
|
phase: phase.phase,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-phase-planner.js","sourceRoot":"","sources":["../src/workflow-phase-planner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAwB,CAAC;AAqBpE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAc,EACd,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;IAEtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,iBAAiB,CAAC,IAAI,CAAC;QACvB,oBAAoB,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;IAChE,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,iBAAiB,CACvC,IAAI,EACJ,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACjC,CAAC;IACF,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,yBAAyB,CAAC;IAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;IAC7D,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,MAAM,mBAAmB,GAAG,YAAY;QACtC,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC;QACpC,CAAC,CAAC,cAAc;YACd,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC;YACrC,CAAC,CAAC,kBAAkB,CAChB,oBAAoB,CAAC,YAAY,EAAE,eAAe,CAAC,EACnD,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CACnC,CAAC;IAER,OAAO;QACL,MAAM;QACN,cAAc,EAAE,cAAc,IAAI,YAAY;QAC9C,kBAAkB;QAClB,YAAY;QACZ,mBAAmB;QACnB,eAAe;QACf,eAAe;QACf,SAAS,EAAE;YACT,GAAG,wBAAwB,CAAC,eAAe,CAAC;YAC5C,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;gBACjD,CAAC,CAAC;oBACE,iCAAiC,IAAI,CAAC,QAAS,CAAC,aAAc,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD;iBAC1H;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;gBACjD,CAAC,CAAC;oBACE,iCAAiC,IAAI,CAAC,QAAS,CAAC,aAAc,CAAC,IAAI,CAAC,IAAI,CAAC,4EAA4E;iBACtJ;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,eAAe,CAAC,GAAG,CACpB,CAAC,IAAI,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,kBAAkB,IAAI,CAAC,WAAW,EAAE,CACpE;YACD,GAAG,CAAC,YAAY;gBACd,CAAC,CAAC;oBACE,6EAA6E;iBAC9E;gBACH,CAAC,CAAC,cAAc;oBACd,CAAC,CAAC;wBACE,2GAA2G;qBAC5G;oBACH,CAAC,CAAC;wBACE,oGAAoG;qBACrG,CAAC;SACT;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,UAA+B;IAC/D,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO;YACL,kGAAkG;SACnG,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,iEAAiE;KAClE,CAAC;IACF,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,kCAAkC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC7E,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,0CAA0C,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAU,EACV,SAAmB;IAEnB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,eAAe,GAAkC,EAAE,CAAC;IAE1D,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACjE,eAAe,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EACL,6GAA6G;YAC/G,MAAM,EACJ,6JAA6J;YAC/J,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,eAAe;YACrB,OAAO,EACL,gGAAgG;YAClG,MAAM,EACJ,oHAAoH;YACtH,WAAW,EAAE,WAAW;SACzB,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EACL,kEAAkE;YACpE,MAAM,EACJ,0IAA0I;YAC5I,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,IACE,wFAAwF,CAAC,IAAI,CAC3F,IAAI,CACL;QACD,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/B,4CAA4C,CAAC,IAAI,CAAC,IAAI,CAAC,CACxD,EACD,CAAC;QACD,eAAe,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EACL,qEAAqE;YACvE,MAAM,EACJ,mFAAmF;YACrF,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,qBAAqB,CAAC,eAAe,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,oBAAoB,CAC3B,YAAyC,EACzC,eAA8C;IAE9C,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,2BAA2B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CACjE,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IACnC,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CACpC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,cAAc,CAAC,WAAW,CAC9D,CAAC;QACF,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAqC,EACrC,aAAuB;IAEvB,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,IAAI,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,SAAS;QACxD,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,WAAW,GACf,KAAK,CAAC,KAAK,KAAK,aAAa;YAC3B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,WAAW;
|
|
1
|
+
{"version":3,"file":"workflow-phase-planner.js","sourceRoot":"","sources":["../src/workflow-phase-planner.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow-phases.js
CHANGED
|
@@ -56,6 +56,11 @@ export const OPTIONAL_WORKFLOW_PHASES = [
|
|
|
56
56
|
role: "reviewer_critic",
|
|
57
57
|
summary: "Architecture challenge for over-engineered, convention-breaking, or under-specified design",
|
|
58
58
|
},
|
|
59
|
+
{
|
|
60
|
+
phase: "security",
|
|
61
|
+
role: "security",
|
|
62
|
+
summary: "Security, privacy, tenant isolation, abuse-case, and data protection review",
|
|
63
|
+
},
|
|
59
64
|
];
|
|
60
65
|
export const WORKFLOW_PHASES = [
|
|
61
66
|
...AUTONOMOUS_PHASE_SEQUENCE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-phases.js","sourceRoot":"","sources":["../src/workflow-phases.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-phases.js","sourceRoot":"","sources":["../src/workflow-phases.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { appendEvent, readEvents } from "./workspace.js";
|
|
2
2
|
import { requireArg } from "./args.js";
|
|
3
|
+
import { readEstimate } from "./benchmark.js";
|
|
3
4
|
import { numberOption, parseCsv, removeUndefined, stringOption, targetRootOption, } from "./command-utils.js";
|
|
4
5
|
import { uniqueStrings } from "./collection-utils.js";
|
|
5
6
|
import { AUTONOMOUS_PHASE_SEQUENCE, PHASE_GATES, autonomousRunsPath, cancelRun, checkArchitectSizing, closePhase, createAutonomousRun, initPhase, listActiveAutonomousRuns, listAutonomousRuns, markRunDone, markRunFailed, persistRun, readAutonomousRun, resumePhaseFromClarification, resumePhaseIndex, suspendPhaseForClarification, } from "./autonomous-workflow.js";
|
|
@@ -47,7 +48,8 @@ export async function runWorkflowRun(options, io, cwd = process.cwd()) {
|
|
|
47
48
|
}
|
|
48
49
|
const config = await getWorkflowConfig(cwd);
|
|
49
50
|
const phaseTimeoutMinutes = config.workflow?.phaseTimeoutMinutes ?? 0;
|
|
50
|
-
const
|
|
51
|
+
const configuredPhaseExecutionMode = config.workflow?.phaseExecutionMode;
|
|
52
|
+
const phaseExecutionMode = await resolvePhaseExecutionMode(cwd, taskId, requestedPhaseExecutionMode, configuredPhaseExecutionMode);
|
|
51
53
|
if (!GATE_MODES.includes(gates)) {
|
|
52
54
|
throw new Error(`--gates must be one of: ${GATE_MODES.join(", ")}`);
|
|
53
55
|
}
|
|
@@ -420,12 +422,42 @@ function defaultPhaseSequenceForTask(task, config, definitions) {
|
|
|
420
422
|
const phaseIds = roles
|
|
421
423
|
.map((role) => workflowPhaseForRole(role))
|
|
422
424
|
.filter((phase) => Boolean(phase));
|
|
423
|
-
const
|
|
424
|
-
|
|
425
|
+
const sequence = orderPhaseIds(phaseIds)
|
|
426
|
+
.map((phase) => definitions.find((definition) => definition.phase === phase))
|
|
427
|
+
.filter((phase) => Boolean(phase));
|
|
425
428
|
return sequence.length > 0
|
|
426
429
|
? sequence
|
|
427
430
|
: defaultPhaseSequenceForConfig(config, definitions);
|
|
428
431
|
}
|
|
432
|
+
function orderPhaseIds(ids) {
|
|
433
|
+
const order = [
|
|
434
|
+
"pm",
|
|
435
|
+
"po",
|
|
436
|
+
"ux_design",
|
|
437
|
+
"po_validation",
|
|
438
|
+
"architect",
|
|
439
|
+
"architecture_challenge",
|
|
440
|
+
"security",
|
|
441
|
+
"developer",
|
|
442
|
+
"qa",
|
|
443
|
+
"docs_review",
|
|
444
|
+
"ux_review",
|
|
445
|
+
"release",
|
|
446
|
+
];
|
|
447
|
+
const uniqueIds = uniqueStrings(ids);
|
|
448
|
+
return uniqueIds.sort((left, right) => {
|
|
449
|
+
const leftIndex = order.indexOf(left);
|
|
450
|
+
const rightIndex = order.indexOf(right);
|
|
451
|
+
if (leftIndex === -1 && rightIndex === -1) {
|
|
452
|
+
return left.localeCompare(right);
|
|
453
|
+
}
|
|
454
|
+
if (leftIndex === -1)
|
|
455
|
+
return 1;
|
|
456
|
+
if (rightIndex === -1)
|
|
457
|
+
return -1;
|
|
458
|
+
return leftIndex - rightIndex;
|
|
459
|
+
});
|
|
460
|
+
}
|
|
429
461
|
function hasDefaultDeliveryRoles(roles) {
|
|
430
462
|
const roleSet = new Set(roles);
|
|
431
463
|
return AUTONOMOUS_PHASE_SEQUENCE.every((phase) => roleSet.has(phase.role));
|
|
@@ -467,13 +499,23 @@ function validateWorkflowPhaseSequence(sequence) {
|
|
|
467
499
|
throw new Error("workflow phase sequence must place developer before qa");
|
|
468
500
|
}
|
|
469
501
|
}
|
|
470
|
-
function resolvePhaseExecutionMode(requested, configured) {
|
|
471
|
-
const mode = requested ??
|
|
502
|
+
async function resolvePhaseExecutionMode(root, taskId, requested, configured) {
|
|
503
|
+
const mode = requested ??
|
|
504
|
+
configured ??
|
|
505
|
+
(await phaseExecutionModeFromEstimate(root, taskId));
|
|
472
506
|
if (!WORKFLOW_PHASE_EXECUTION_MODES.includes(mode)) {
|
|
473
507
|
throw new Error(`--phase-execution must be one of: ${WORKFLOW_PHASE_EXECUTION_MODES.join(", ")}`);
|
|
474
508
|
}
|
|
475
509
|
return mode;
|
|
476
510
|
}
|
|
511
|
+
async function phaseExecutionModeFromEstimate(root, taskId) {
|
|
512
|
+
const estimate = await readEstimate(root, taskId);
|
|
513
|
+
if (!estimate)
|
|
514
|
+
return "auto";
|
|
515
|
+
return estimate.sizingLabel === "xs" || estimate.sizingLabel === "s"
|
|
516
|
+
? "single-agent"
|
|
517
|
+
: "subagents";
|
|
518
|
+
}
|
|
477
519
|
async function assertStrictSubagentPreflight({ root, taskId, phaseExecutionMode, phase, }) {
|
|
478
520
|
if (phaseExecutionMode !== "subagents" || !phase) {
|
|
479
521
|
return;
|
|
@@ -1024,6 +1066,7 @@ async function latestTerminalRuntimeLifecycle(root, sessionId) {
|
|
|
1024
1066
|
async function blockReleaseForUnresolvedReviews(root, run, phase = "release") {
|
|
1025
1067
|
const blocker = await latestUnresolvedReleaseBlocker(root, run.taskId);
|
|
1026
1068
|
if (!blocker) {
|
|
1069
|
+
await clearSupersededReleaseReviewBlock(root, run.taskId);
|
|
1027
1070
|
return { blocked: false, run };
|
|
1028
1071
|
}
|
|
1029
1072
|
const now = new Date().toISOString();
|
|
@@ -1064,13 +1107,18 @@ async function blockReleaseForUnresolvedReviews(root, run, phase = "release") {
|
|
|
1064
1107
|
}, root).catch(() => undefined);
|
|
1065
1108
|
return { blocked: true, run: updated, reason };
|
|
1066
1109
|
}
|
|
1110
|
+
const RELEASE_BLOCKER_ACTORS = ["qa", "release_manager"];
|
|
1067
1111
|
async function latestUnresolvedReleaseBlocker(root, taskId) {
|
|
1068
1112
|
const reviews = (await readEvents(root))
|
|
1069
|
-
.
|
|
1070
|
-
.
|
|
1071
|
-
|
|
1072
|
-
(event.
|
|
1073
|
-
|
|
1113
|
+
.map((event, index) => ({ event, index }))
|
|
1114
|
+
.filter(({ event }) => event.taskId === taskId && event.type === "REVIEW_RECORDED")
|
|
1115
|
+
.sort((left, right) => {
|
|
1116
|
+
const timestampOrder = right.event.timestamp.localeCompare(left.event.timestamp);
|
|
1117
|
+
return timestampOrder !== 0 ? timestampOrder : right.index - left.index;
|
|
1118
|
+
})
|
|
1119
|
+
.map(({ event }) => event);
|
|
1120
|
+
const latestReleaseReviews = latestReviewsByReleaseBlockerActor(reviews);
|
|
1121
|
+
const blocker = latestReleaseReviews.find((event) => isReleaseBlockingReview(event));
|
|
1074
1122
|
if (!blocker) {
|
|
1075
1123
|
return undefined;
|
|
1076
1124
|
}
|
|
@@ -1087,6 +1135,37 @@ async function latestUnresolvedReleaseBlocker(root, taskId) {
|
|
|
1087
1135
|
findings: String(blocker.metadata.findings ?? blocker.summary),
|
|
1088
1136
|
};
|
|
1089
1137
|
}
|
|
1138
|
+
function latestReviewsByReleaseBlockerActor(reviewsNewestFirst) {
|
|
1139
|
+
const latestByActor = new Map();
|
|
1140
|
+
for (const review of reviewsNewestFirst) {
|
|
1141
|
+
if (!isReleaseBlockerActor(review.actor))
|
|
1142
|
+
continue;
|
|
1143
|
+
if (!latestByActor.has(review.actor)) {
|
|
1144
|
+
latestByActor.set(review.actor, review);
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
return [...latestByActor.values()].sort((left, right) => right.timestamp.localeCompare(left.timestamp));
|
|
1148
|
+
}
|
|
1149
|
+
function isReleaseBlockingReview(event) {
|
|
1150
|
+
return (isReleaseBlockerActor(event.actor) &&
|
|
1151
|
+
(event.metadata.result === "block" || event.metadata.result === "changes"));
|
|
1152
|
+
}
|
|
1153
|
+
function isReleaseBlockerActor(actor) {
|
|
1154
|
+
return RELEASE_BLOCKER_ACTORS.includes(actor);
|
|
1155
|
+
}
|
|
1156
|
+
async function clearSupersededReleaseReviewBlock(root, taskId) {
|
|
1157
|
+
const task = (await listTasks(root)).find((candidate) => candidate.id === taskId);
|
|
1158
|
+
if (task?.status !== "blocked" ||
|
|
1159
|
+
!task.blockedReason ||
|
|
1160
|
+
!/^(qa|release_manager) requested (block|changes):/.test(task.blockedReason)) {
|
|
1161
|
+
return;
|
|
1162
|
+
}
|
|
1163
|
+
await updateTask({
|
|
1164
|
+
id: taskId,
|
|
1165
|
+
status: "in_progress",
|
|
1166
|
+
blockedReason: "",
|
|
1167
|
+
}, root).catch(() => undefined);
|
|
1168
|
+
}
|
|
1090
1169
|
function hasLaterPhase(sequence, currentIndex, phaseId) {
|
|
1091
1170
|
return sequence
|
|
1092
1171
|
.slice(currentIndex + 1)
|