@harness-engineering/orchestrator 0.15.0 → 0.16.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/dist/index.d.mts +153 -3
- package/dist/index.d.ts +153 -3
- package/dist/index.js +351 -25
- package/dist/index.mjs +354 -28
- package/package.json +6 -6
package/dist/index.d.mts
CHANGED
|
@@ -7,7 +7,7 @@ import { GraphStore } from '@harness-engineering/graph';
|
|
|
7
7
|
import { execFile } from 'node:child_process';
|
|
8
8
|
import { EventEmitter } from 'node:events';
|
|
9
9
|
import { PoolStateProvider, SchedulerTimerHandle, DiscoverCandidatesOptions, DiscoverCandidatesResult } from '@harness-engineering/local-models';
|
|
10
|
-
export { discoverCandidates } from '@harness-engineering/local-models';
|
|
10
|
+
export { DEFAULT_POOL_STATE_PATH, PoolState, PoolStateProvider, PoolStateStore, RankProfile, discoverCandidates, poolStateToCandidates } from '@harness-engineering/local-models';
|
|
11
11
|
import { z } from 'zod';
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -2213,6 +2213,26 @@ declare function deriveSeedPaths(config: WorkflowConfig): string[];
|
|
|
2213
2213
|
* `main-sync` already relied on).
|
|
2214
2214
|
*/
|
|
2215
2215
|
declare function normalizeHarnessCommand(command: string[]): string[];
|
|
2216
|
+
/**
|
|
2217
|
+
* Truncate captured gate output to a bounded size for the re-dispatch prompt
|
|
2218
|
+
* preamble (a full typecheck/test log can be enormous). Keeps the head + tail
|
|
2219
|
+
* so both the first error and the summary survive.
|
|
2220
|
+
*/
|
|
2221
|
+
declare function truncateGateOutput(output: string, max?: number): string;
|
|
2222
|
+
/**
|
|
2223
|
+
* local-backend-full-workflow Phase 2 (Option C): the production default verify
|
|
2224
|
+
* runner for the local enforced gate. It runs the project's own mechanical gate
|
|
2225
|
+
* (typecheck + lint + test) over `workspacePath` via `pnpm -w run <script>` for
|
|
2226
|
+
* whichever of `typecheck`/`lint`/`test` the workspace's package.json declares,
|
|
2227
|
+
* short-circuiting on the first red gate. Adopter-portable: it only runs the
|
|
2228
|
+
* scripts that exist, and a missing package.json / no scripts → a passing gate
|
|
2229
|
+
* (nothing to check). Fully self-contained; tests inject a fake via the
|
|
2230
|
+
* `verifyRunner` seam so this concrete detector is never exercised in unit tests.
|
|
2231
|
+
*/
|
|
2232
|
+
declare function defaultLocalVerifyRunner(workspacePath: string): Promise<{
|
|
2233
|
+
ok: boolean;
|
|
2234
|
+
output: string;
|
|
2235
|
+
}>;
|
|
2216
2236
|
/**
|
|
2217
2237
|
* The central orchestrator that manages the lifecycle of coding agents.
|
|
2218
2238
|
*
|
|
@@ -2271,6 +2291,30 @@ declare class Orchestrator extends EventEmitter {
|
|
|
2271
2291
|
private overrideBackend;
|
|
2272
2292
|
private renderer;
|
|
2273
2293
|
private promptTemplate;
|
|
2294
|
+
/**
|
|
2295
|
+
* Backend-aware local dispatch template (Phase 1). Set from
|
|
2296
|
+
* `overrides.localPromptTemplate` (production: threaded by the CLI from
|
|
2297
|
+
* WorkflowLoader). Undefined -> resolvePromptTemplate falls back to the
|
|
2298
|
+
* default template (SC5).
|
|
2299
|
+
*/
|
|
2300
|
+
private localPromptTemplate;
|
|
2301
|
+
/**
|
|
2302
|
+
* local-backend-full-workflow Phase 2 (Option C): the verify runner the
|
|
2303
|
+
* local-only enforced gate (`runLocalWorkflowGate`) invokes to run the
|
|
2304
|
+
* project's mechanical gate (typecheck + lint + test) over the workspace.
|
|
2305
|
+
* Injected in tests to force fail→pass sequences; in production it defaults
|
|
2306
|
+
* to `defaultLocalVerifyRunner` (a thin project-script probe). Kept as a
|
|
2307
|
+
* field seam — mirrors how `execFileFn` is injected — so the completion path
|
|
2308
|
+
* is decoupled from the concrete detector.
|
|
2309
|
+
*/
|
|
2310
|
+
private verifyRunner;
|
|
2311
|
+
/**
|
|
2312
|
+
* Phase 2: the most recent gate-failure reason per issue, threaded into the
|
|
2313
|
+
* next dispatch's rendered prompt as a failure preamble (the re-prompt). Set
|
|
2314
|
+
* when a local gate blocks; consumed + cleared at the next `dispatchIssue`
|
|
2315
|
+
* render for that issue.
|
|
2316
|
+
*/
|
|
2317
|
+
private priorGateFailureByIssue;
|
|
2274
2318
|
private server?;
|
|
2275
2319
|
private interval?;
|
|
2276
2320
|
private heartbeatInterval?;
|
|
@@ -2420,6 +2464,17 @@ declare class Orchestrator extends EventEmitter {
|
|
|
2420
2464
|
};
|
|
2421
2465
|
/** Live-candidate-discovery seam: tests inject a fake so startup makes no HF calls. */
|
|
2422
2466
|
discoverCandidates?: (opts: DiscoverCandidatesOptions) => Promise<DiscoverCandidatesResult>;
|
|
2467
|
+
/** Phase 1: backend-aware local dispatch template. Undefined -> fallback. */
|
|
2468
|
+
localPromptTemplate?: string;
|
|
2469
|
+
/**
|
|
2470
|
+
* Phase 2 (Option C) test seam: the verify runner the local enforced
|
|
2471
|
+
* gate invokes. Injected so tests can force fail→pass sequences without
|
|
2472
|
+
* spawning real typecheck/lint/test. Defaults to `defaultLocalVerifyRunner`.
|
|
2473
|
+
*/
|
|
2474
|
+
verifyRunner?: (workspacePath: string) => Promise<{
|
|
2475
|
+
ok: boolean;
|
|
2476
|
+
output: string;
|
|
2477
|
+
}>;
|
|
2423
2478
|
});
|
|
2424
2479
|
/**
|
|
2425
2480
|
* Phase 5: construct the OTLP/HTTP trace exporter and wire telemetry fanout.
|
|
@@ -2564,6 +2619,24 @@ declare class Orchestrator extends EventEmitter {
|
|
|
2564
2619
|
* Fire-and-forget: failures are logged but never block the caller.
|
|
2565
2620
|
*/
|
|
2566
2621
|
private postLifecycleComment;
|
|
2622
|
+
/**
|
|
2623
|
+
* Phase 1 (local-backend-full-workflow): pick the dispatch template for
|
|
2624
|
+
* the resolved backend. `pi`/`local` backends get the bash-shaped local
|
|
2625
|
+
* template when one was loaded; every other backend — and any local
|
|
2626
|
+
* backend with no local template loaded (SC5) — gets the default. Pure
|
|
2627
|
+
* over (backendName, config.agent.backends, localPromptTemplate,
|
|
2628
|
+
* promptTemplate); unit-tested by orchestrator.template-resolution.test.ts.
|
|
2629
|
+
*
|
|
2630
|
+
* NOTE: the local template file (`harness.orchestrator.local.md`) carries a
|
|
2631
|
+
* full YAML frontmatter block, but that frontmatter is **intentionally
|
|
2632
|
+
* ignored** at dispatch — only the markdown body is loaded (WorkflowLoader
|
|
2633
|
+
* strips the frontmatter) and rendered here as the prompt. The frontmatter
|
|
2634
|
+
* exists solely so the file is a valid, self-documenting scaffold that
|
|
2635
|
+
* `harness init` can drop in; the orchestrator's configuration is always
|
|
2636
|
+
* read from the loaded `WorkflowConfig`, never from this template file's
|
|
2637
|
+
* frontmatter.
|
|
2638
|
+
*/
|
|
2639
|
+
private resolvePromptTemplate;
|
|
2567
2640
|
/**
|
|
2568
2641
|
* Dispatches a new agent to work on an issue.
|
|
2569
2642
|
*
|
|
@@ -2574,6 +2647,37 @@ declare class Orchestrator extends EventEmitter {
|
|
|
2574
2647
|
private processAgentEvent;
|
|
2575
2648
|
private awaitRateLimitClearance;
|
|
2576
2649
|
private runAgentInBackgroundTask;
|
|
2650
|
+
/**
|
|
2651
|
+
* local-backend-full-workflow Phase 2 (Option C): the normal-exit completion
|
|
2652
|
+
* seam, extracted so the enforced-gate loop is directly testable. Runs the
|
|
2653
|
+
* LOCAL-ONLY enforced gate BEFORE the exit is treated as terminal; a red gate
|
|
2654
|
+
* routes through the SHIPPED `emitWorkerExit('error', …)` retry branch — the
|
|
2655
|
+
* re-dispatch IS the re-prompt (the next render threads the failure preamble),
|
|
2656
|
+
* and `checkRetryBudget` exhaustion queues `needs-human`. On a green gate (or a
|
|
2657
|
+
* non-local backend, where the gate is a no-op `{ ok: true }`), the existing
|
|
2658
|
+
* Claude/AMR verdict feeders run and the run completes normally — composition,
|
|
2659
|
+
* not replacement.
|
|
2660
|
+
*/
|
|
2661
|
+
private finalizeNormalCompletion;
|
|
2662
|
+
/**
|
|
2663
|
+
* local-backend-full-workflow Phase 2 (Option C): the LOCAL-ONLY enforced
|
|
2664
|
+
* gate. For a `pi`/`local` dispatch it runs the mechanical gate (verify =
|
|
2665
|
+
* typecheck+lint+test via the injected `verifyRunner`) and, on green, the
|
|
2666
|
+
* outcome-eval (Task 7) against the workspace branch; a red result returns a
|
|
2667
|
+
* blocking `{ ok: false, reason }`. The completion path routes that reason
|
|
2668
|
+
* through `emitWorkerExit('error', …)` so the shipped state-machine retry
|
|
2669
|
+
* branch re-dispatches (the re-prompt) rather than marking the run complete.
|
|
2670
|
+
*
|
|
2671
|
+
* NON-local backends (Claude/AMR) get an unconditional `{ ok: true }` — this
|
|
2672
|
+
* gate never touches their completion path (D2 scopes enforcement to the
|
|
2673
|
+
* local path only; the AMR verdict feeders keep their existing behavior).
|
|
2674
|
+
*
|
|
2675
|
+
* Fully guarded: any thrown error → a CONSERVATIVE block `{ ok: false,
|
|
2676
|
+
* reason: 'gate error: …' }`, mirroring the shipped fail-safe pattern — a
|
|
2677
|
+
* gate that cannot run is treated as red (re-dispatch), never as a silent
|
|
2678
|
+
* pass that could ship a bad build.
|
|
2679
|
+
*/
|
|
2680
|
+
private runLocalWorkflowGate;
|
|
2577
2681
|
/**
|
|
2578
2682
|
* AMR 4c (ADR 0069): the sound single-agent quality-verdict feeder. On a normal
|
|
2579
2683
|
* exit, when AMR is active, run a BASELINE-RELATIVE security scan of the lines
|
|
@@ -2602,6 +2706,37 @@ declare class Orchestrator extends EventEmitter {
|
|
|
2602
2706
|
* evaluator's `execution_outcome` persistence is best-effort and never blocks.
|
|
2603
2707
|
*/
|
|
2604
2708
|
private deriveAcceptanceEvalVerdict;
|
|
2709
|
+
/**
|
|
2710
|
+
* local-backend-full-workflow Phase 2 (Option C, SC4): the SHARED outcome-eval
|
|
2711
|
+
* core, lifted out of `deriveAcceptanceEvalVerdict` so BOTH callers reuse the
|
|
2712
|
+
* same `OutcomeEvaluator` engine over the introduced diff vs the spec's
|
|
2713
|
+
* judgment section. It does NOT gate on `adaptiveRouter !== null` or
|
|
2714
|
+
* `acceptanceEval.enabled` — those guards live in the AMR caller above; the
|
|
2715
|
+
* LOCAL gate (D2) always evaluates when a spec is present. Maps a
|
|
2716
|
+
* high-confidence NOT_SATISFIED to `'quality-fail'`; conservative + fully
|
|
2717
|
+
* guarded: no spec / no provider / empty diff / any error → `undefined`.
|
|
2718
|
+
*/
|
|
2719
|
+
/**
|
|
2720
|
+
* local-backend-full-workflow Phase 3 (D5/SC6): resolve the AnalysisProvider
|
|
2721
|
+
* for the outcome-eval gate. Caller-gated: ONLY the LOCAL gate caller consults
|
|
2722
|
+
* `agent.routing.workflowGates`. The AMR caller ALWAYS uses local SEL
|
|
2723
|
+
* (`resolveComplexityProvider`) so the AMR acceptance-eval path is byte-identical
|
|
2724
|
+
* (SC-neutral). When `workflowGates === 'primary'` on the local caller, resolve
|
|
2725
|
+
* from the primary (routing.default) backend; any miss degrades to local SEL
|
|
2726
|
+
* (fail-open — an unreachable stronger provider must NOT wedge the local gate;
|
|
2727
|
+
* see the fail-open note at the runLocalWorkflowGate call site).
|
|
2728
|
+
*/
|
|
2729
|
+
private resolveOutcomeEvalProvider;
|
|
2730
|
+
/**
|
|
2731
|
+
* Build an AnalysisProvider from the PRIMARY (routing.default) backend for the
|
|
2732
|
+
* Phase-3 `workflowGates:'primary'` seam. Reuses the shipped
|
|
2733
|
+
* `buildAnalysisProvider` translator but forces the router to the default
|
|
2734
|
+
* backend. Returns undefined (→ caller degrades to local SEL) when intelligence
|
|
2735
|
+
* is disabled, the factory is absent, or the default backend cannot produce a
|
|
2736
|
+
* provider — fully guarded, never throws.
|
|
2737
|
+
*/
|
|
2738
|
+
private resolvePrimaryOutcomeEvalProvider;
|
|
2739
|
+
private evaluateOutcomeCore;
|
|
2605
2740
|
/**
|
|
2606
2741
|
* Roadmap Auto-Triage Phase 4 (SC1–SC3, SC5, SC7): the post-diff routing
|
|
2607
2742
|
* retrospective — a SIBLING quality-verdict source to the 4c feeder above,
|
|
@@ -2947,6 +3082,12 @@ interface TriageWiringDeps {
|
|
|
2947
3082
|
fast?: string;
|
|
2948
3083
|
standard?: string;
|
|
2949
3084
|
};
|
|
3085
|
+
/**
|
|
3086
|
+
* Signals that a model is available but its levers were DEFERRED for this run (cheap-first).
|
|
3087
|
+
* Threaded to the probe so a deferred (not missing) provider is worded accurately. See
|
|
3088
|
+
* `ProbeDeps.modelDeferred`.
|
|
3089
|
+
*/
|
|
3090
|
+
modelDeferred?: boolean;
|
|
2950
3091
|
}
|
|
2951
3092
|
/**
|
|
2952
3093
|
* Run the scoping probe over a single `Issue`: build the input, resolve the injected SEL
|
|
@@ -2963,7 +3104,13 @@ interface SelForkGeneratorOptions {
|
|
|
2963
3104
|
samples?: number;
|
|
2964
3105
|
/** Optional model override threaded to the provider. */
|
|
2965
3106
|
model?: string;
|
|
2966
|
-
/**
|
|
3107
|
+
/**
|
|
3108
|
+
* Max tokens per sample (default 4096). Sized for reasoning models (Qwen3 et al.): they emit
|
|
3109
|
+
* a `<think>` trace before the JSON fork step, so a tight cap truncates mid-reasoning →
|
|
3110
|
+
* `finish_reason: length` → a thrown provider error → the runner halts the fork as `error`.
|
|
3111
|
+
* `maxTokens` is a ceiling (a non-thinking model still stops early), so the headroom is free
|
|
3112
|
+
* on the fast path and only spent when reasoning occurs.
|
|
3113
|
+
*/
|
|
2967
3114
|
maxTokens?: number;
|
|
2968
3115
|
}
|
|
2969
3116
|
/**
|
|
@@ -3752,6 +3899,7 @@ declare const RoutingConfigSchema: z.ZodObject<{
|
|
|
3752
3899
|
model?: string | undefined;
|
|
3753
3900
|
} | undefined;
|
|
3754
3901
|
}>>;
|
|
3902
|
+
workflowGates: z.ZodOptional<z.ZodEnum<["local", "primary"]>>;
|
|
3755
3903
|
}, "strict", z.ZodTypeAny, {
|
|
3756
3904
|
default: string | readonly [string, ...string[]];
|
|
3757
3905
|
'quick-fix'?: string | readonly [string, ...string[]] | undefined;
|
|
@@ -3786,6 +3934,7 @@ declare const RoutingConfigSchema: z.ZodObject<{
|
|
|
3786
3934
|
model?: string | undefined;
|
|
3787
3935
|
} | undefined;
|
|
3788
3936
|
} | undefined;
|
|
3937
|
+
workflowGates?: "local" | "primary" | undefined;
|
|
3789
3938
|
}, {
|
|
3790
3939
|
default: string | readonly [string, ...string[]];
|
|
3791
3940
|
'quick-fix'?: string | readonly [string, ...string[]] | undefined;
|
|
@@ -3820,6 +3969,7 @@ declare const RoutingConfigSchema: z.ZodObject<{
|
|
|
3820
3969
|
model?: string | undefined;
|
|
3821
3970
|
} | undefined;
|
|
3822
3971
|
} | undefined;
|
|
3972
|
+
workflowGates?: "local" | "primary" | undefined;
|
|
3823
3973
|
}>;
|
|
3824
3974
|
|
|
3825
3975
|
interface ResolverLogger {
|
|
@@ -5128,4 +5278,4 @@ declare function emitProposalCreated(bus: EventEmitter, proposal: SkillProposal)
|
|
|
5128
5278
|
declare function emitProposalApproved(bus: EventEmitter, proposal: SkillProposal): void;
|
|
5129
5279
|
declare function emitProposalRejected(bus: EventEmitter, proposal: SkillProposal): void;
|
|
5130
5280
|
|
|
5131
|
-
export { AdaptiveRouter, type AdaptiveRouterDeps, type AgentDispatchResult, type AgentDispatcher, type AgentDispatcherDeps, type AgentUpdateEvent, AnalysisArchive, type AnalysisRecord, type ApplyEventResult, type ArtifactPresence, type AttemptStats, BRAINSTORM_RUBRIC, BUILT_IN_TASKS, BackendDefSchema, type BackendResolver, BackendRouter, type BackendRouterOptions, type BaseRefFallbackEvent, type BrainstormWiringDeps, type BuildArchiveHooksOptions, type BuildWorkflowContextDeps, type CheckCommandResult, type CheckCommandRunner, type CheckFailureClassification, type CheckFailureKind, CheckScriptRunner, ClaimManager, type ClaimManagerConfig, type CleanWorkspaceEffect, type CommandExecResult, type CommandExecutor, type CreateTokenInput, type CreateTokenResult, type CustomTaskValidationError, type DispatchEffect, type EmitLogEffect, type EscalateEffect, EscalationState, type ExecFileAsyncFn, type ExecFileError, type ExecFileFn$1 as ExecFileFn, type FromConfigOptions, GateNotReadyError, type GateResult, GateRunError, type HarnessSpawn, type Highlight, type HighlightsInfo, type IndexedDoc, InteractionQueue, LinearGraphQLClient, type LinearGraphQLClientOptions, type LinearGraphQLExtension, LinearGraphQLStub, type LiveSession, LocalModelResolver, type LocalModelResolverOptions, MAINTENANCE_CHECK_MAX_BUFFER, MAINTENANCE_CHECK_TIMEOUT_MS, MAX_ATTEMPTS, MaintenanceReporter, type MaintenanceReporterOptions, type MarkSkip, type MarkSkipReason, type MigrationResult, MockBackend, type NotificationSink, type NotificationSinkDeliverInput, ORCHESTRATOR_IDENTITY_FILE, Orchestrator, OrchestratorBackendFactory, type OrchestratorBackendFactoryOptions, type OrchestratorContext, type OrchestratorEvent, type OrchestratorState, PRDetector, type PRDetectorLogger, type PRLifecycleManager, type PendingInteraction, type PersistedOutputEntry, PrivacyNoMatch, PromotionError, type PromotionResult, PromptRenderer, type ProposalApprovedData, type ProposalCreatedData, type ProposalRejectedData, type PublishedIndex, type QueueInsertInput, type QueueRow, type QueueStats, RETRY_DELAYS_MS, type RateLimitSnapshot as RateLimitComputeSnapshot, type RateLimitConfig, type RateLimitSnapshot$1 as RateLimitSnapshot, type RecordPrediction, type RegistryEntry, type ReleaseClaimEffect, type ResolverLogger, type RetryEntry, type RetryFiredEvent, RoadmapTrackerAdapter, RoutingConfigSchema, RoutingValueSchema, type RunAttemptPhase, type RunHarnessCheckOptions, type RunMode, type RunOrigin, type RunResult, type RunningEntry, type ScheduleRetryEffect, type SearchOptions, type SelForkGeneratorOptions, type SelectConstraints, type SideEffect, SinkConfigError, SinkRegistry, type SkillCatalogEntry, SlackSink, type SlackSinkOptions, SqliteSearchIndex, type StallDetectedEvent, type StopEffect, type StoredOutcomeRecord, type StreamManifest, StreamRecorder, type SummarizeContext, type SummarizeResult, type SyncMainOptions, type SyncMainResult, type SyncSkipReason, type TaskDefinition, TaskOutputStore, TaskRunner, type TaskRunnerOptions, type TaskSelectionFilter, type TaskType, type TickEvent, TokenStore, type TokenTotals, type TriageConfig, type TriageDecision, type TriageMarkConfig, type TriageMarkDeps, type TriageMarkItem, type TriageMarkResult, type TriageSignals, type TriageSkill, type TriageWiringDeps, type UpdateTokensEffect, type ValidateWorkflowConfigOptions, type ValidatedWorkflowConfig, WebhookQueue, type WiredBrainstormResult, type WorkerExitEvent, WorkflowLoader, type WorkflowRouterDep, WorkspaceHooks, WorkspaceManager, type WorkspaceManagerOptions, applyEvent, artifactPresenceFromIssue, brainstormInputFromIssue, buildArchiveHooks, buildCapabilityRegistry, buildProbeInput, buildWorkflowContext, calculateRetryDelay, canDispatch, classifyCheckExecutionFailure, computeRateLimitDelay, createAgentDispatcher, createBackend, createEmptyState, crossFieldRoutingIssues, defaultFetchModels, defaultPoolCapabilities, deriveSeedPaths, detectScopeTier, discoverSkillCatalog, discoverSkillCatalogNames, emitProposalApproved, emitProposalCreated, emitProposalRejected, enrichIssueWithSpec, estimateCost, explicitFindingsCount, extractHighlights, extractTitlePrefix, getAvailableSlots, getDefaultConfig, getPerStateCount, indexSessionDirectory, isCheckTimeoutError, isEligible, isSummaryEnabled, launchTUI, loadPublishedIndex, makeBackendResolver, makeGraphScope, makeSelForkGenerator, markApprovedForDispatch, migrateAgentConfig, normalizeFts5Query, normalizeHarnessCommand, normalizeLocalModel, openSearchIndex, precedentLookupFromStored, promote, reconcile, recoverFindingsCount, reindexFromArchive, renderAnalysisComment, renderLlmSummaryMarkdown, renderPRComment, renderSpecMarkdown, resolveEscalationConfig, resolveOrchestratorId, routeIssue, routingWarnings, runBrainstormForIssue, runGate, runHarnessCheck, savePublishedIndex, searchIndexPath, selectCandidates, selectCheapestQualifying, selectTasks, slugFor, sortCandidates, summarizeArchivedSession, syncMain, triageIssue, truncateForBudget, validateCustomTasks, validateWorkflowConfig, wireNotificationSinks, workflowFor, wrapAsEnvelope };
|
|
5281
|
+
export { AdaptiveRouter, type AdaptiveRouterDeps, type AgentDispatchResult, type AgentDispatcher, type AgentDispatcherDeps, type AgentUpdateEvent, AnalysisArchive, type AnalysisRecord, type ApplyEventResult, type ArtifactPresence, type AttemptStats, BRAINSTORM_RUBRIC, BUILT_IN_TASKS, BackendDefSchema, type BackendResolver, BackendRouter, type BackendRouterOptions, type BaseRefFallbackEvent, type BrainstormWiringDeps, type BuildArchiveHooksOptions, type BuildWorkflowContextDeps, type CheckCommandResult, type CheckCommandRunner, type CheckFailureClassification, type CheckFailureKind, CheckScriptRunner, ClaimManager, type ClaimManagerConfig, type CleanWorkspaceEffect, type CommandExecResult, type CommandExecutor, type CreateTokenInput, type CreateTokenResult, type CustomTaskValidationError, type DispatchEffect, type EmitLogEffect, type EscalateEffect, EscalationState, type ExecFileAsyncFn, type ExecFileError, type ExecFileFn$1 as ExecFileFn, type FromConfigOptions, GateNotReadyError, type GateResult, GateRunError, type HarnessSpawn, type Highlight, type HighlightsInfo, type IndexedDoc, InteractionQueue, LinearGraphQLClient, type LinearGraphQLClientOptions, type LinearGraphQLExtension, LinearGraphQLStub, type LiveSession, LocalModelResolver, type LocalModelResolverOptions, MAINTENANCE_CHECK_MAX_BUFFER, MAINTENANCE_CHECK_TIMEOUT_MS, MAX_ATTEMPTS, MaintenanceReporter, type MaintenanceReporterOptions, type MarkSkip, type MarkSkipReason, type MigrationResult, MockBackend, type NotificationSink, type NotificationSinkDeliverInput, ORCHESTRATOR_IDENTITY_FILE, Orchestrator, OrchestratorBackendFactory, type OrchestratorBackendFactoryOptions, type OrchestratorContext, type OrchestratorEvent, type OrchestratorState, PRDetector, type PRDetectorLogger, type PRLifecycleManager, type PendingInteraction, type PersistedOutputEntry, PrivacyNoMatch, PromotionError, type PromotionResult, PromptRenderer, type ProposalApprovedData, type ProposalCreatedData, type ProposalRejectedData, type PublishedIndex, type QueueInsertInput, type QueueRow, type QueueStats, RETRY_DELAYS_MS, type RateLimitSnapshot as RateLimitComputeSnapshot, type RateLimitConfig, type RateLimitSnapshot$1 as RateLimitSnapshot, type RecordPrediction, type RegistryEntry, type ReleaseClaimEffect, type ResolverLogger, type RetryEntry, type RetryFiredEvent, RoadmapTrackerAdapter, RoutingConfigSchema, RoutingValueSchema, type RunAttemptPhase, type RunHarnessCheckOptions, type RunMode, type RunOrigin, type RunResult, type RunningEntry, type ScheduleRetryEffect, type SearchOptions, type SelForkGeneratorOptions, type SelectConstraints, type SideEffect, SinkConfigError, SinkRegistry, type SkillCatalogEntry, SlackSink, type SlackSinkOptions, SqliteSearchIndex, type StallDetectedEvent, type StopEffect, type StoredOutcomeRecord, type StreamManifest, StreamRecorder, type SummarizeContext, type SummarizeResult, type SyncMainOptions, type SyncMainResult, type SyncSkipReason, type TaskDefinition, TaskOutputStore, TaskRunner, type TaskRunnerOptions, type TaskSelectionFilter, type TaskType, type TickEvent, TokenStore, type TokenTotals, type TriageConfig, type TriageDecision, type TriageMarkConfig, type TriageMarkDeps, type TriageMarkItem, type TriageMarkResult, type TriageSignals, type TriageSkill, type TriageWiringDeps, type UpdateTokensEffect, type ValidateWorkflowConfigOptions, type ValidatedWorkflowConfig, WebhookQueue, type WiredBrainstormResult, type WorkerExitEvent, WorkflowLoader, type WorkflowRouterDep, WorkspaceHooks, WorkspaceManager, type WorkspaceManagerOptions, applyEvent, artifactPresenceFromIssue, brainstormInputFromIssue, buildArchiveHooks, buildCapabilityRegistry, buildProbeInput, buildWorkflowContext, calculateRetryDelay, canDispatch, classifyCheckExecutionFailure, computeRateLimitDelay, createAgentDispatcher, createBackend, createEmptyState, crossFieldRoutingIssues, defaultFetchModels, defaultLocalVerifyRunner, defaultPoolCapabilities, deriveSeedPaths, detectScopeTier, discoverSkillCatalog, discoverSkillCatalogNames, emitProposalApproved, emitProposalCreated, emitProposalRejected, enrichIssueWithSpec, estimateCost, explicitFindingsCount, extractHighlights, extractTitlePrefix, getAvailableSlots, getDefaultConfig, getPerStateCount, indexSessionDirectory, isCheckTimeoutError, isEligible, isSummaryEnabled, launchTUI, loadPublishedIndex, makeBackendResolver, makeGraphScope, makeSelForkGenerator, markApprovedForDispatch, migrateAgentConfig, normalizeFts5Query, normalizeHarnessCommand, normalizeLocalModel, openSearchIndex, precedentLookupFromStored, promote, reconcile, recoverFindingsCount, reindexFromArchive, renderAnalysisComment, renderLlmSummaryMarkdown, renderPRComment, renderSpecMarkdown, resolveEscalationConfig, resolveOrchestratorId, routeIssue, routingWarnings, runBrainstormForIssue, runGate, runHarnessCheck, savePublishedIndex, searchIndexPath, selectCandidates, selectCheapestQualifying, selectTasks, slugFor, sortCandidates, summarizeArchivedSession, syncMain, triageIssue, truncateForBudget, truncateGateOutput, validateCustomTasks, validateWorkflowConfig, wireNotificationSinks, workflowFor, wrapAsEnvelope };
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { GraphStore } from '@harness-engineering/graph';
|
|
|
7
7
|
import { execFile } from 'node:child_process';
|
|
8
8
|
import { EventEmitter } from 'node:events';
|
|
9
9
|
import { PoolStateProvider, SchedulerTimerHandle, DiscoverCandidatesOptions, DiscoverCandidatesResult } from '@harness-engineering/local-models';
|
|
10
|
-
export { discoverCandidates } from '@harness-engineering/local-models';
|
|
10
|
+
export { DEFAULT_POOL_STATE_PATH, PoolState, PoolStateProvider, PoolStateStore, RankProfile, discoverCandidates, poolStateToCandidates } from '@harness-engineering/local-models';
|
|
11
11
|
import { z } from 'zod';
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -2213,6 +2213,26 @@ declare function deriveSeedPaths(config: WorkflowConfig): string[];
|
|
|
2213
2213
|
* `main-sync` already relied on).
|
|
2214
2214
|
*/
|
|
2215
2215
|
declare function normalizeHarnessCommand(command: string[]): string[];
|
|
2216
|
+
/**
|
|
2217
|
+
* Truncate captured gate output to a bounded size for the re-dispatch prompt
|
|
2218
|
+
* preamble (a full typecheck/test log can be enormous). Keeps the head + tail
|
|
2219
|
+
* so both the first error and the summary survive.
|
|
2220
|
+
*/
|
|
2221
|
+
declare function truncateGateOutput(output: string, max?: number): string;
|
|
2222
|
+
/**
|
|
2223
|
+
* local-backend-full-workflow Phase 2 (Option C): the production default verify
|
|
2224
|
+
* runner for the local enforced gate. It runs the project's own mechanical gate
|
|
2225
|
+
* (typecheck + lint + test) over `workspacePath` via `pnpm -w run <script>` for
|
|
2226
|
+
* whichever of `typecheck`/`lint`/`test` the workspace's package.json declares,
|
|
2227
|
+
* short-circuiting on the first red gate. Adopter-portable: it only runs the
|
|
2228
|
+
* scripts that exist, and a missing package.json / no scripts → a passing gate
|
|
2229
|
+
* (nothing to check). Fully self-contained; tests inject a fake via the
|
|
2230
|
+
* `verifyRunner` seam so this concrete detector is never exercised in unit tests.
|
|
2231
|
+
*/
|
|
2232
|
+
declare function defaultLocalVerifyRunner(workspacePath: string): Promise<{
|
|
2233
|
+
ok: boolean;
|
|
2234
|
+
output: string;
|
|
2235
|
+
}>;
|
|
2216
2236
|
/**
|
|
2217
2237
|
* The central orchestrator that manages the lifecycle of coding agents.
|
|
2218
2238
|
*
|
|
@@ -2271,6 +2291,30 @@ declare class Orchestrator extends EventEmitter {
|
|
|
2271
2291
|
private overrideBackend;
|
|
2272
2292
|
private renderer;
|
|
2273
2293
|
private promptTemplate;
|
|
2294
|
+
/**
|
|
2295
|
+
* Backend-aware local dispatch template (Phase 1). Set from
|
|
2296
|
+
* `overrides.localPromptTemplate` (production: threaded by the CLI from
|
|
2297
|
+
* WorkflowLoader). Undefined -> resolvePromptTemplate falls back to the
|
|
2298
|
+
* default template (SC5).
|
|
2299
|
+
*/
|
|
2300
|
+
private localPromptTemplate;
|
|
2301
|
+
/**
|
|
2302
|
+
* local-backend-full-workflow Phase 2 (Option C): the verify runner the
|
|
2303
|
+
* local-only enforced gate (`runLocalWorkflowGate`) invokes to run the
|
|
2304
|
+
* project's mechanical gate (typecheck + lint + test) over the workspace.
|
|
2305
|
+
* Injected in tests to force fail→pass sequences; in production it defaults
|
|
2306
|
+
* to `defaultLocalVerifyRunner` (a thin project-script probe). Kept as a
|
|
2307
|
+
* field seam — mirrors how `execFileFn` is injected — so the completion path
|
|
2308
|
+
* is decoupled from the concrete detector.
|
|
2309
|
+
*/
|
|
2310
|
+
private verifyRunner;
|
|
2311
|
+
/**
|
|
2312
|
+
* Phase 2: the most recent gate-failure reason per issue, threaded into the
|
|
2313
|
+
* next dispatch's rendered prompt as a failure preamble (the re-prompt). Set
|
|
2314
|
+
* when a local gate blocks; consumed + cleared at the next `dispatchIssue`
|
|
2315
|
+
* render for that issue.
|
|
2316
|
+
*/
|
|
2317
|
+
private priorGateFailureByIssue;
|
|
2274
2318
|
private server?;
|
|
2275
2319
|
private interval?;
|
|
2276
2320
|
private heartbeatInterval?;
|
|
@@ -2420,6 +2464,17 @@ declare class Orchestrator extends EventEmitter {
|
|
|
2420
2464
|
};
|
|
2421
2465
|
/** Live-candidate-discovery seam: tests inject a fake so startup makes no HF calls. */
|
|
2422
2466
|
discoverCandidates?: (opts: DiscoverCandidatesOptions) => Promise<DiscoverCandidatesResult>;
|
|
2467
|
+
/** Phase 1: backend-aware local dispatch template. Undefined -> fallback. */
|
|
2468
|
+
localPromptTemplate?: string;
|
|
2469
|
+
/**
|
|
2470
|
+
* Phase 2 (Option C) test seam: the verify runner the local enforced
|
|
2471
|
+
* gate invokes. Injected so tests can force fail→pass sequences without
|
|
2472
|
+
* spawning real typecheck/lint/test. Defaults to `defaultLocalVerifyRunner`.
|
|
2473
|
+
*/
|
|
2474
|
+
verifyRunner?: (workspacePath: string) => Promise<{
|
|
2475
|
+
ok: boolean;
|
|
2476
|
+
output: string;
|
|
2477
|
+
}>;
|
|
2423
2478
|
});
|
|
2424
2479
|
/**
|
|
2425
2480
|
* Phase 5: construct the OTLP/HTTP trace exporter and wire telemetry fanout.
|
|
@@ -2564,6 +2619,24 @@ declare class Orchestrator extends EventEmitter {
|
|
|
2564
2619
|
* Fire-and-forget: failures are logged but never block the caller.
|
|
2565
2620
|
*/
|
|
2566
2621
|
private postLifecycleComment;
|
|
2622
|
+
/**
|
|
2623
|
+
* Phase 1 (local-backend-full-workflow): pick the dispatch template for
|
|
2624
|
+
* the resolved backend. `pi`/`local` backends get the bash-shaped local
|
|
2625
|
+
* template when one was loaded; every other backend — and any local
|
|
2626
|
+
* backend with no local template loaded (SC5) — gets the default. Pure
|
|
2627
|
+
* over (backendName, config.agent.backends, localPromptTemplate,
|
|
2628
|
+
* promptTemplate); unit-tested by orchestrator.template-resolution.test.ts.
|
|
2629
|
+
*
|
|
2630
|
+
* NOTE: the local template file (`harness.orchestrator.local.md`) carries a
|
|
2631
|
+
* full YAML frontmatter block, but that frontmatter is **intentionally
|
|
2632
|
+
* ignored** at dispatch — only the markdown body is loaded (WorkflowLoader
|
|
2633
|
+
* strips the frontmatter) and rendered here as the prompt. The frontmatter
|
|
2634
|
+
* exists solely so the file is a valid, self-documenting scaffold that
|
|
2635
|
+
* `harness init` can drop in; the orchestrator's configuration is always
|
|
2636
|
+
* read from the loaded `WorkflowConfig`, never from this template file's
|
|
2637
|
+
* frontmatter.
|
|
2638
|
+
*/
|
|
2639
|
+
private resolvePromptTemplate;
|
|
2567
2640
|
/**
|
|
2568
2641
|
* Dispatches a new agent to work on an issue.
|
|
2569
2642
|
*
|
|
@@ -2574,6 +2647,37 @@ declare class Orchestrator extends EventEmitter {
|
|
|
2574
2647
|
private processAgentEvent;
|
|
2575
2648
|
private awaitRateLimitClearance;
|
|
2576
2649
|
private runAgentInBackgroundTask;
|
|
2650
|
+
/**
|
|
2651
|
+
* local-backend-full-workflow Phase 2 (Option C): the normal-exit completion
|
|
2652
|
+
* seam, extracted so the enforced-gate loop is directly testable. Runs the
|
|
2653
|
+
* LOCAL-ONLY enforced gate BEFORE the exit is treated as terminal; a red gate
|
|
2654
|
+
* routes through the SHIPPED `emitWorkerExit('error', …)` retry branch — the
|
|
2655
|
+
* re-dispatch IS the re-prompt (the next render threads the failure preamble),
|
|
2656
|
+
* and `checkRetryBudget` exhaustion queues `needs-human`. On a green gate (or a
|
|
2657
|
+
* non-local backend, where the gate is a no-op `{ ok: true }`), the existing
|
|
2658
|
+
* Claude/AMR verdict feeders run and the run completes normally — composition,
|
|
2659
|
+
* not replacement.
|
|
2660
|
+
*/
|
|
2661
|
+
private finalizeNormalCompletion;
|
|
2662
|
+
/**
|
|
2663
|
+
* local-backend-full-workflow Phase 2 (Option C): the LOCAL-ONLY enforced
|
|
2664
|
+
* gate. For a `pi`/`local` dispatch it runs the mechanical gate (verify =
|
|
2665
|
+
* typecheck+lint+test via the injected `verifyRunner`) and, on green, the
|
|
2666
|
+
* outcome-eval (Task 7) against the workspace branch; a red result returns a
|
|
2667
|
+
* blocking `{ ok: false, reason }`. The completion path routes that reason
|
|
2668
|
+
* through `emitWorkerExit('error', …)` so the shipped state-machine retry
|
|
2669
|
+
* branch re-dispatches (the re-prompt) rather than marking the run complete.
|
|
2670
|
+
*
|
|
2671
|
+
* NON-local backends (Claude/AMR) get an unconditional `{ ok: true }` — this
|
|
2672
|
+
* gate never touches their completion path (D2 scopes enforcement to the
|
|
2673
|
+
* local path only; the AMR verdict feeders keep their existing behavior).
|
|
2674
|
+
*
|
|
2675
|
+
* Fully guarded: any thrown error → a CONSERVATIVE block `{ ok: false,
|
|
2676
|
+
* reason: 'gate error: …' }`, mirroring the shipped fail-safe pattern — a
|
|
2677
|
+
* gate that cannot run is treated as red (re-dispatch), never as a silent
|
|
2678
|
+
* pass that could ship a bad build.
|
|
2679
|
+
*/
|
|
2680
|
+
private runLocalWorkflowGate;
|
|
2577
2681
|
/**
|
|
2578
2682
|
* AMR 4c (ADR 0069): the sound single-agent quality-verdict feeder. On a normal
|
|
2579
2683
|
* exit, when AMR is active, run a BASELINE-RELATIVE security scan of the lines
|
|
@@ -2602,6 +2706,37 @@ declare class Orchestrator extends EventEmitter {
|
|
|
2602
2706
|
* evaluator's `execution_outcome` persistence is best-effort and never blocks.
|
|
2603
2707
|
*/
|
|
2604
2708
|
private deriveAcceptanceEvalVerdict;
|
|
2709
|
+
/**
|
|
2710
|
+
* local-backend-full-workflow Phase 2 (Option C, SC4): the SHARED outcome-eval
|
|
2711
|
+
* core, lifted out of `deriveAcceptanceEvalVerdict` so BOTH callers reuse the
|
|
2712
|
+
* same `OutcomeEvaluator` engine over the introduced diff vs the spec's
|
|
2713
|
+
* judgment section. It does NOT gate on `adaptiveRouter !== null` or
|
|
2714
|
+
* `acceptanceEval.enabled` — those guards live in the AMR caller above; the
|
|
2715
|
+
* LOCAL gate (D2) always evaluates when a spec is present. Maps a
|
|
2716
|
+
* high-confidence NOT_SATISFIED to `'quality-fail'`; conservative + fully
|
|
2717
|
+
* guarded: no spec / no provider / empty diff / any error → `undefined`.
|
|
2718
|
+
*/
|
|
2719
|
+
/**
|
|
2720
|
+
* local-backend-full-workflow Phase 3 (D5/SC6): resolve the AnalysisProvider
|
|
2721
|
+
* for the outcome-eval gate. Caller-gated: ONLY the LOCAL gate caller consults
|
|
2722
|
+
* `agent.routing.workflowGates`. The AMR caller ALWAYS uses local SEL
|
|
2723
|
+
* (`resolveComplexityProvider`) so the AMR acceptance-eval path is byte-identical
|
|
2724
|
+
* (SC-neutral). When `workflowGates === 'primary'` on the local caller, resolve
|
|
2725
|
+
* from the primary (routing.default) backend; any miss degrades to local SEL
|
|
2726
|
+
* (fail-open — an unreachable stronger provider must NOT wedge the local gate;
|
|
2727
|
+
* see the fail-open note at the runLocalWorkflowGate call site).
|
|
2728
|
+
*/
|
|
2729
|
+
private resolveOutcomeEvalProvider;
|
|
2730
|
+
/**
|
|
2731
|
+
* Build an AnalysisProvider from the PRIMARY (routing.default) backend for the
|
|
2732
|
+
* Phase-3 `workflowGates:'primary'` seam. Reuses the shipped
|
|
2733
|
+
* `buildAnalysisProvider` translator but forces the router to the default
|
|
2734
|
+
* backend. Returns undefined (→ caller degrades to local SEL) when intelligence
|
|
2735
|
+
* is disabled, the factory is absent, or the default backend cannot produce a
|
|
2736
|
+
* provider — fully guarded, never throws.
|
|
2737
|
+
*/
|
|
2738
|
+
private resolvePrimaryOutcomeEvalProvider;
|
|
2739
|
+
private evaluateOutcomeCore;
|
|
2605
2740
|
/**
|
|
2606
2741
|
* Roadmap Auto-Triage Phase 4 (SC1–SC3, SC5, SC7): the post-diff routing
|
|
2607
2742
|
* retrospective — a SIBLING quality-verdict source to the 4c feeder above,
|
|
@@ -2947,6 +3082,12 @@ interface TriageWiringDeps {
|
|
|
2947
3082
|
fast?: string;
|
|
2948
3083
|
standard?: string;
|
|
2949
3084
|
};
|
|
3085
|
+
/**
|
|
3086
|
+
* Signals that a model is available but its levers were DEFERRED for this run (cheap-first).
|
|
3087
|
+
* Threaded to the probe so a deferred (not missing) provider is worded accurately. See
|
|
3088
|
+
* `ProbeDeps.modelDeferred`.
|
|
3089
|
+
*/
|
|
3090
|
+
modelDeferred?: boolean;
|
|
2950
3091
|
}
|
|
2951
3092
|
/**
|
|
2952
3093
|
* Run the scoping probe over a single `Issue`: build the input, resolve the injected SEL
|
|
@@ -2963,7 +3104,13 @@ interface SelForkGeneratorOptions {
|
|
|
2963
3104
|
samples?: number;
|
|
2964
3105
|
/** Optional model override threaded to the provider. */
|
|
2965
3106
|
model?: string;
|
|
2966
|
-
/**
|
|
3107
|
+
/**
|
|
3108
|
+
* Max tokens per sample (default 4096). Sized for reasoning models (Qwen3 et al.): they emit
|
|
3109
|
+
* a `<think>` trace before the JSON fork step, so a tight cap truncates mid-reasoning →
|
|
3110
|
+
* `finish_reason: length` → a thrown provider error → the runner halts the fork as `error`.
|
|
3111
|
+
* `maxTokens` is a ceiling (a non-thinking model still stops early), so the headroom is free
|
|
3112
|
+
* on the fast path and only spent when reasoning occurs.
|
|
3113
|
+
*/
|
|
2967
3114
|
maxTokens?: number;
|
|
2968
3115
|
}
|
|
2969
3116
|
/**
|
|
@@ -3752,6 +3899,7 @@ declare const RoutingConfigSchema: z.ZodObject<{
|
|
|
3752
3899
|
model?: string | undefined;
|
|
3753
3900
|
} | undefined;
|
|
3754
3901
|
}>>;
|
|
3902
|
+
workflowGates: z.ZodOptional<z.ZodEnum<["local", "primary"]>>;
|
|
3755
3903
|
}, "strict", z.ZodTypeAny, {
|
|
3756
3904
|
default: string | readonly [string, ...string[]];
|
|
3757
3905
|
'quick-fix'?: string | readonly [string, ...string[]] | undefined;
|
|
@@ -3786,6 +3934,7 @@ declare const RoutingConfigSchema: z.ZodObject<{
|
|
|
3786
3934
|
model?: string | undefined;
|
|
3787
3935
|
} | undefined;
|
|
3788
3936
|
} | undefined;
|
|
3937
|
+
workflowGates?: "local" | "primary" | undefined;
|
|
3789
3938
|
}, {
|
|
3790
3939
|
default: string | readonly [string, ...string[]];
|
|
3791
3940
|
'quick-fix'?: string | readonly [string, ...string[]] | undefined;
|
|
@@ -3820,6 +3969,7 @@ declare const RoutingConfigSchema: z.ZodObject<{
|
|
|
3820
3969
|
model?: string | undefined;
|
|
3821
3970
|
} | undefined;
|
|
3822
3971
|
} | undefined;
|
|
3972
|
+
workflowGates?: "local" | "primary" | undefined;
|
|
3823
3973
|
}>;
|
|
3824
3974
|
|
|
3825
3975
|
interface ResolverLogger {
|
|
@@ -5128,4 +5278,4 @@ declare function emitProposalCreated(bus: EventEmitter, proposal: SkillProposal)
|
|
|
5128
5278
|
declare function emitProposalApproved(bus: EventEmitter, proposal: SkillProposal): void;
|
|
5129
5279
|
declare function emitProposalRejected(bus: EventEmitter, proposal: SkillProposal): void;
|
|
5130
5280
|
|
|
5131
|
-
export { AdaptiveRouter, type AdaptiveRouterDeps, type AgentDispatchResult, type AgentDispatcher, type AgentDispatcherDeps, type AgentUpdateEvent, AnalysisArchive, type AnalysisRecord, type ApplyEventResult, type ArtifactPresence, type AttemptStats, BRAINSTORM_RUBRIC, BUILT_IN_TASKS, BackendDefSchema, type BackendResolver, BackendRouter, type BackendRouterOptions, type BaseRefFallbackEvent, type BrainstormWiringDeps, type BuildArchiveHooksOptions, type BuildWorkflowContextDeps, type CheckCommandResult, type CheckCommandRunner, type CheckFailureClassification, type CheckFailureKind, CheckScriptRunner, ClaimManager, type ClaimManagerConfig, type CleanWorkspaceEffect, type CommandExecResult, type CommandExecutor, type CreateTokenInput, type CreateTokenResult, type CustomTaskValidationError, type DispatchEffect, type EmitLogEffect, type EscalateEffect, EscalationState, type ExecFileAsyncFn, type ExecFileError, type ExecFileFn$1 as ExecFileFn, type FromConfigOptions, GateNotReadyError, type GateResult, GateRunError, type HarnessSpawn, type Highlight, type HighlightsInfo, type IndexedDoc, InteractionQueue, LinearGraphQLClient, type LinearGraphQLClientOptions, type LinearGraphQLExtension, LinearGraphQLStub, type LiveSession, LocalModelResolver, type LocalModelResolverOptions, MAINTENANCE_CHECK_MAX_BUFFER, MAINTENANCE_CHECK_TIMEOUT_MS, MAX_ATTEMPTS, MaintenanceReporter, type MaintenanceReporterOptions, type MarkSkip, type MarkSkipReason, type MigrationResult, MockBackend, type NotificationSink, type NotificationSinkDeliverInput, ORCHESTRATOR_IDENTITY_FILE, Orchestrator, OrchestratorBackendFactory, type OrchestratorBackendFactoryOptions, type OrchestratorContext, type OrchestratorEvent, type OrchestratorState, PRDetector, type PRDetectorLogger, type PRLifecycleManager, type PendingInteraction, type PersistedOutputEntry, PrivacyNoMatch, PromotionError, type PromotionResult, PromptRenderer, type ProposalApprovedData, type ProposalCreatedData, type ProposalRejectedData, type PublishedIndex, type QueueInsertInput, type QueueRow, type QueueStats, RETRY_DELAYS_MS, type RateLimitSnapshot as RateLimitComputeSnapshot, type RateLimitConfig, type RateLimitSnapshot$1 as RateLimitSnapshot, type RecordPrediction, type RegistryEntry, type ReleaseClaimEffect, type ResolverLogger, type RetryEntry, type RetryFiredEvent, RoadmapTrackerAdapter, RoutingConfigSchema, RoutingValueSchema, type RunAttemptPhase, type RunHarnessCheckOptions, type RunMode, type RunOrigin, type RunResult, type RunningEntry, type ScheduleRetryEffect, type SearchOptions, type SelForkGeneratorOptions, type SelectConstraints, type SideEffect, SinkConfigError, SinkRegistry, type SkillCatalogEntry, SlackSink, type SlackSinkOptions, SqliteSearchIndex, type StallDetectedEvent, type StopEffect, type StoredOutcomeRecord, type StreamManifest, StreamRecorder, type SummarizeContext, type SummarizeResult, type SyncMainOptions, type SyncMainResult, type SyncSkipReason, type TaskDefinition, TaskOutputStore, TaskRunner, type TaskRunnerOptions, type TaskSelectionFilter, type TaskType, type TickEvent, TokenStore, type TokenTotals, type TriageConfig, type TriageDecision, type TriageMarkConfig, type TriageMarkDeps, type TriageMarkItem, type TriageMarkResult, type TriageSignals, type TriageSkill, type TriageWiringDeps, type UpdateTokensEffect, type ValidateWorkflowConfigOptions, type ValidatedWorkflowConfig, WebhookQueue, type WiredBrainstormResult, type WorkerExitEvent, WorkflowLoader, type WorkflowRouterDep, WorkspaceHooks, WorkspaceManager, type WorkspaceManagerOptions, applyEvent, artifactPresenceFromIssue, brainstormInputFromIssue, buildArchiveHooks, buildCapabilityRegistry, buildProbeInput, buildWorkflowContext, calculateRetryDelay, canDispatch, classifyCheckExecutionFailure, computeRateLimitDelay, createAgentDispatcher, createBackend, createEmptyState, crossFieldRoutingIssues, defaultFetchModels, defaultPoolCapabilities, deriveSeedPaths, detectScopeTier, discoverSkillCatalog, discoverSkillCatalogNames, emitProposalApproved, emitProposalCreated, emitProposalRejected, enrichIssueWithSpec, estimateCost, explicitFindingsCount, extractHighlights, extractTitlePrefix, getAvailableSlots, getDefaultConfig, getPerStateCount, indexSessionDirectory, isCheckTimeoutError, isEligible, isSummaryEnabled, launchTUI, loadPublishedIndex, makeBackendResolver, makeGraphScope, makeSelForkGenerator, markApprovedForDispatch, migrateAgentConfig, normalizeFts5Query, normalizeHarnessCommand, normalizeLocalModel, openSearchIndex, precedentLookupFromStored, promote, reconcile, recoverFindingsCount, reindexFromArchive, renderAnalysisComment, renderLlmSummaryMarkdown, renderPRComment, renderSpecMarkdown, resolveEscalationConfig, resolveOrchestratorId, routeIssue, routingWarnings, runBrainstormForIssue, runGate, runHarnessCheck, savePublishedIndex, searchIndexPath, selectCandidates, selectCheapestQualifying, selectTasks, slugFor, sortCandidates, summarizeArchivedSession, syncMain, triageIssue, truncateForBudget, validateCustomTasks, validateWorkflowConfig, wireNotificationSinks, workflowFor, wrapAsEnvelope };
|
|
5281
|
+
export { AdaptiveRouter, type AdaptiveRouterDeps, type AgentDispatchResult, type AgentDispatcher, type AgentDispatcherDeps, type AgentUpdateEvent, AnalysisArchive, type AnalysisRecord, type ApplyEventResult, type ArtifactPresence, type AttemptStats, BRAINSTORM_RUBRIC, BUILT_IN_TASKS, BackendDefSchema, type BackendResolver, BackendRouter, type BackendRouterOptions, type BaseRefFallbackEvent, type BrainstormWiringDeps, type BuildArchiveHooksOptions, type BuildWorkflowContextDeps, type CheckCommandResult, type CheckCommandRunner, type CheckFailureClassification, type CheckFailureKind, CheckScriptRunner, ClaimManager, type ClaimManagerConfig, type CleanWorkspaceEffect, type CommandExecResult, type CommandExecutor, type CreateTokenInput, type CreateTokenResult, type CustomTaskValidationError, type DispatchEffect, type EmitLogEffect, type EscalateEffect, EscalationState, type ExecFileAsyncFn, type ExecFileError, type ExecFileFn$1 as ExecFileFn, type FromConfigOptions, GateNotReadyError, type GateResult, GateRunError, type HarnessSpawn, type Highlight, type HighlightsInfo, type IndexedDoc, InteractionQueue, LinearGraphQLClient, type LinearGraphQLClientOptions, type LinearGraphQLExtension, LinearGraphQLStub, type LiveSession, LocalModelResolver, type LocalModelResolverOptions, MAINTENANCE_CHECK_MAX_BUFFER, MAINTENANCE_CHECK_TIMEOUT_MS, MAX_ATTEMPTS, MaintenanceReporter, type MaintenanceReporterOptions, type MarkSkip, type MarkSkipReason, type MigrationResult, MockBackend, type NotificationSink, type NotificationSinkDeliverInput, ORCHESTRATOR_IDENTITY_FILE, Orchestrator, OrchestratorBackendFactory, type OrchestratorBackendFactoryOptions, type OrchestratorContext, type OrchestratorEvent, type OrchestratorState, PRDetector, type PRDetectorLogger, type PRLifecycleManager, type PendingInteraction, type PersistedOutputEntry, PrivacyNoMatch, PromotionError, type PromotionResult, PromptRenderer, type ProposalApprovedData, type ProposalCreatedData, type ProposalRejectedData, type PublishedIndex, type QueueInsertInput, type QueueRow, type QueueStats, RETRY_DELAYS_MS, type RateLimitSnapshot as RateLimitComputeSnapshot, type RateLimitConfig, type RateLimitSnapshot$1 as RateLimitSnapshot, type RecordPrediction, type RegistryEntry, type ReleaseClaimEffect, type ResolverLogger, type RetryEntry, type RetryFiredEvent, RoadmapTrackerAdapter, RoutingConfigSchema, RoutingValueSchema, type RunAttemptPhase, type RunHarnessCheckOptions, type RunMode, type RunOrigin, type RunResult, type RunningEntry, type ScheduleRetryEffect, type SearchOptions, type SelForkGeneratorOptions, type SelectConstraints, type SideEffect, SinkConfigError, SinkRegistry, type SkillCatalogEntry, SlackSink, type SlackSinkOptions, SqliteSearchIndex, type StallDetectedEvent, type StopEffect, type StoredOutcomeRecord, type StreamManifest, StreamRecorder, type SummarizeContext, type SummarizeResult, type SyncMainOptions, type SyncMainResult, type SyncSkipReason, type TaskDefinition, TaskOutputStore, TaskRunner, type TaskRunnerOptions, type TaskSelectionFilter, type TaskType, type TickEvent, TokenStore, type TokenTotals, type TriageConfig, type TriageDecision, type TriageMarkConfig, type TriageMarkDeps, type TriageMarkItem, type TriageMarkResult, type TriageSignals, type TriageSkill, type TriageWiringDeps, type UpdateTokensEffect, type ValidateWorkflowConfigOptions, type ValidatedWorkflowConfig, WebhookQueue, type WiredBrainstormResult, type WorkerExitEvent, WorkflowLoader, type WorkflowRouterDep, WorkspaceHooks, WorkspaceManager, type WorkspaceManagerOptions, applyEvent, artifactPresenceFromIssue, brainstormInputFromIssue, buildArchiveHooks, buildCapabilityRegistry, buildProbeInput, buildWorkflowContext, calculateRetryDelay, canDispatch, classifyCheckExecutionFailure, computeRateLimitDelay, createAgentDispatcher, createBackend, createEmptyState, crossFieldRoutingIssues, defaultFetchModels, defaultLocalVerifyRunner, defaultPoolCapabilities, deriveSeedPaths, detectScopeTier, discoverSkillCatalog, discoverSkillCatalogNames, emitProposalApproved, emitProposalCreated, emitProposalRejected, enrichIssueWithSpec, estimateCost, explicitFindingsCount, extractHighlights, extractTitlePrefix, getAvailableSlots, getDefaultConfig, getPerStateCount, indexSessionDirectory, isCheckTimeoutError, isEligible, isSummaryEnabled, launchTUI, loadPublishedIndex, makeBackendResolver, makeGraphScope, makeSelForkGenerator, markApprovedForDispatch, migrateAgentConfig, normalizeFts5Query, normalizeHarnessCommand, normalizeLocalModel, openSearchIndex, precedentLookupFromStored, promote, reconcile, recoverFindingsCount, reindexFromArchive, renderAnalysisComment, renderLlmSummaryMarkdown, renderPRComment, renderSpecMarkdown, resolveEscalationConfig, resolveOrchestratorId, routeIssue, routingWarnings, runBrainstormForIssue, runGate, runHarnessCheck, savePublishedIndex, searchIndexPath, selectCandidates, selectCheapestQualifying, selectTasks, slugFor, sortCandidates, summarizeArchivedSession, syncMain, triageIssue, truncateForBudget, truncateGateOutput, validateCustomTasks, validateWorkflowConfig, wireNotificationSinks, workflowFor, wrapAsEnvelope };
|