kantban-cli 0.1.8 → 0.1.10
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/chunk-ZCUIGFSP.js +4111 -0
- package/dist/chunk-ZCUIGFSP.js.map +1 -0
- package/dist/context-7YDNTI3P.js +30 -0
- package/dist/context-7YDNTI3P.js.map +1 -0
- package/dist/cron-OKQP6QDF.js +112 -0
- package/dist/cron-OKQP6QDF.js.map +1 -0
- package/dist/index.d.ts +0 -2
- package/dist/index.js +179 -44
- package/dist/index.js.map +1 -1
- package/dist/pipeline-HTGCXNPL.js +4049 -0
- package/dist/pipeline-HTGCXNPL.js.map +1 -0
- package/dist/pipeline-init-IGZZOOLK.js +103 -0
- package/dist/pipeline-init-IGZZOOLK.js.map +1 -0
- package/dist/status-4GFXMVIM.js +128 -0
- package/dist/status-4GFXMVIM.js.map +1 -0
- package/dist/work-2V33NZAT.js +81 -0
- package/dist/work-2V33NZAT.js.map +1 -0
- package/package.json +5 -4
- package/dist/client.d.ts +0 -38
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -163
- package/dist/client.js.map +0 -1
- package/dist/commands/context.d.ts +0 -3
- package/dist/commands/context.d.ts.map +0 -1
- package/dist/commands/context.js +0 -27
- package/dist/commands/context.js.map +0 -1
- package/dist/commands/cron.d.ts +0 -3
- package/dist/commands/cron.d.ts.map +0 -1
- package/dist/commands/cron.js +0 -106
- package/dist/commands/cron.js.map +0 -1
- package/dist/commands/pipeline-init.d.ts +0 -2
- package/dist/commands/pipeline-init.d.ts.map +0 -1
- package/dist/commands/pipeline-init.js +0 -100
- package/dist/commands/pipeline-init.js.map +0 -1
- package/dist/commands/pipeline.d.ts +0 -4
- package/dist/commands/pipeline.d.ts.map +0 -1
- package/dist/commands/pipeline.js +0 -1222
- package/dist/commands/pipeline.js.map +0 -1
- package/dist/commands/status.d.ts +0 -3
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -135
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/work.d.ts +0 -3
- package/dist/commands/work.d.ts.map +0 -1
- package/dist/commands/work.js +0 -76
- package/dist/commands/work.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/advisor.d.ts +0 -108
- package/dist/lib/advisor.d.ts.map +0 -1
- package/dist/lib/advisor.js +0 -139
- package/dist/lib/advisor.js.map +0 -1
- package/dist/lib/checkpoint.d.ts +0 -15
- package/dist/lib/checkpoint.d.ts.map +0 -1
- package/dist/lib/checkpoint.js +0 -49
- package/dist/lib/checkpoint.js.map +0 -1
- package/dist/lib/constraint-evaluator.d.ts +0 -40
- package/dist/lib/constraint-evaluator.d.ts.map +0 -1
- package/dist/lib/constraint-evaluator.js +0 -189
- package/dist/lib/constraint-evaluator.js.map +0 -1
- package/dist/lib/cost-tracker.d.ts +0 -46
- package/dist/lib/cost-tracker.d.ts.map +0 -1
- package/dist/lib/cost-tracker.js +0 -120
- package/dist/lib/cost-tracker.js.map +0 -1
- package/dist/lib/evaluator.d.ts +0 -17
- package/dist/lib/evaluator.d.ts.map +0 -1
- package/dist/lib/evaluator.js +0 -71
- package/dist/lib/evaluator.js.map +0 -1
- package/dist/lib/event-emitter.d.ts +0 -28
- package/dist/lib/event-emitter.d.ts.map +0 -1
- package/dist/lib/event-emitter.js +0 -100
- package/dist/lib/event-emitter.js.map +0 -1
- package/dist/lib/event-queue.d.ts +0 -28
- package/dist/lib/event-queue.d.ts.map +0 -1
- package/dist/lib/event-queue.js +0 -73
- package/dist/lib/event-queue.js.map +0 -1
- package/dist/lib/gate-config.d.ts +0 -7
- package/dist/lib/gate-config.d.ts.map +0 -1
- package/dist/lib/gate-config.js +0 -68
- package/dist/lib/gate-config.js.map +0 -1
- package/dist/lib/gate-proxy-server.d.ts +0 -16
- package/dist/lib/gate-proxy-server.d.ts.map +0 -1
- package/dist/lib/gate-proxy-server.js +0 -385
- package/dist/lib/gate-proxy-server.js.map +0 -1
- package/dist/lib/gate-proxy.d.ts +0 -46
- package/dist/lib/gate-proxy.d.ts.map +0 -1
- package/dist/lib/gate-proxy.js +0 -104
- package/dist/lib/gate-proxy.js.map +0 -1
- package/dist/lib/gate-runner.d.ts +0 -13
- package/dist/lib/gate-runner.d.ts.map +0 -1
- package/dist/lib/gate-runner.js +0 -104
- package/dist/lib/gate-runner.js.map +0 -1
- package/dist/lib/gate-snapshot.d.ts +0 -12
- package/dist/lib/gate-snapshot.d.ts.map +0 -1
- package/dist/lib/gate-snapshot.js +0 -49
- package/dist/lib/gate-snapshot.js.map +0 -1
- package/dist/lib/light-call.d.ts +0 -37
- package/dist/lib/light-call.d.ts.map +0 -1
- package/dist/lib/light-call.js +0 -62
- package/dist/lib/light-call.js.map +0 -1
- package/dist/lib/logger.d.ts +0 -22
- package/dist/lib/logger.d.ts.map +0 -1
- package/dist/lib/logger.js +0 -98
- package/dist/lib/logger.js.map +0 -1
- package/dist/lib/mcp-config.d.ts +0 -24
- package/dist/lib/mcp-config.d.ts.map +0 -1
- package/dist/lib/mcp-config.js +0 -115
- package/dist/lib/mcp-config.js.map +0 -1
- package/dist/lib/orchestrator.d.ts +0 -392
- package/dist/lib/orchestrator.d.ts.map +0 -1
- package/dist/lib/orchestrator.js +0 -1636
- package/dist/lib/orchestrator.js.map +0 -1
- package/dist/lib/parse-utils.d.ts +0 -6
- package/dist/lib/parse-utils.d.ts.map +0 -1
- package/dist/lib/parse-utils.js +0 -64
- package/dist/lib/parse-utils.js.map +0 -1
- package/dist/lib/prompt-composer.d.ts +0 -131
- package/dist/lib/prompt-composer.d.ts.map +0 -1
- package/dist/lib/prompt-composer.js +0 -317
- package/dist/lib/prompt-composer.js.map +0 -1
- package/dist/lib/ralph-loop.d.ts +0 -123
- package/dist/lib/ralph-loop.d.ts.map +0 -1
- package/dist/lib/ralph-loop.js +0 -383
- package/dist/lib/ralph-loop.js.map +0 -1
- package/dist/lib/reaper.d.ts +0 -14
- package/dist/lib/reaper.d.ts.map +0 -1
- package/dist/lib/reaper.js +0 -114
- package/dist/lib/reaper.js.map +0 -1
- package/dist/lib/replanner.d.ts +0 -49
- package/dist/lib/replanner.d.ts.map +0 -1
- package/dist/lib/replanner.js +0 -61
- package/dist/lib/replanner.js.map +0 -1
- package/dist/lib/run-memory.d.ts +0 -37
- package/dist/lib/run-memory.d.ts.map +0 -1
- package/dist/lib/run-memory.js +0 -115
- package/dist/lib/run-memory.js.map +0 -1
- package/dist/lib/stream-parser.d.ts +0 -20
- package/dist/lib/stream-parser.d.ts.map +0 -1
- package/dist/lib/stream-parser.js +0 -65
- package/dist/lib/stream-parser.js.map +0 -1
- package/dist/lib/stuck-detector.d.ts +0 -47
- package/dist/lib/stuck-detector.d.ts.map +0 -1
- package/dist/lib/stuck-detector.js +0 -105
- package/dist/lib/stuck-detector.js.map +0 -1
- package/dist/lib/tool-profiles.d.ts +0 -19
- package/dist/lib/tool-profiles.d.ts.map +0 -1
- package/dist/lib/tool-profiles.js +0 -22
- package/dist/lib/tool-profiles.js.map +0 -1
- package/dist/lib/worktree.d.ts +0 -12
- package/dist/lib/worktree.d.ts.map +0 -1
- package/dist/lib/worktree.js +0 -29
- package/dist/lib/worktree.js.map +0 -1
- package/dist/lib/ws-client.d.ts +0 -31
- package/dist/lib/ws-client.d.ts.map +0 -1
- package/dist/lib/ws-client.js +0 -113
- package/dist/lib/ws-client.js.map +0 -1
|
@@ -1,392 +0,0 @@
|
|
|
1
|
-
import type { LoopConfig, LoopResult } from './ralph-loop.js';
|
|
2
|
-
import type { PipelineEvent } from './event-queue.js';
|
|
3
|
-
import type { PipelineEventEmitter } from './event-emitter.js';
|
|
4
|
-
import type { PipelineCostTracker } from './cost-tracker.js';
|
|
5
|
-
import type { AdvisorInput, AdvisorResponse } from './advisor.js';
|
|
6
|
-
import type { GateSnapshotStore } from './gate-snapshot.js';
|
|
7
|
-
import { type PipelineState, type ReplannerResponse } from './replanner.js';
|
|
8
|
-
/**
|
|
9
|
-
* Shape of a board-scope column as returned by fetchBoardScope.
|
|
10
|
-
*/
|
|
11
|
-
interface BoardColumn {
|
|
12
|
-
id: string;
|
|
13
|
-
name: string;
|
|
14
|
-
type: string;
|
|
15
|
-
position: number;
|
|
16
|
-
wip_limit: number | null;
|
|
17
|
-
goal: string;
|
|
18
|
-
ticket_count: number;
|
|
19
|
-
has_prompt: boolean;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Shape of the board-scope response.
|
|
23
|
-
*/
|
|
24
|
-
interface BoardScope {
|
|
25
|
-
scope: string;
|
|
26
|
-
board: {
|
|
27
|
-
id: string;
|
|
28
|
-
name: string;
|
|
29
|
-
};
|
|
30
|
-
columns: BoardColumn[];
|
|
31
|
-
circuit_breaker: {
|
|
32
|
-
threshold: number | null;
|
|
33
|
-
target_column_id: string | null;
|
|
34
|
-
};
|
|
35
|
-
backlog_ticket_count: number;
|
|
36
|
-
tool_prefix: string;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Firing constraint shape as returned by column scope (snake_case from API).
|
|
40
|
-
*/
|
|
41
|
-
interface FiringConstraintLite {
|
|
42
|
-
id: string;
|
|
43
|
-
name: string;
|
|
44
|
-
enabled: boolean;
|
|
45
|
-
subject_type: string;
|
|
46
|
-
subject_ref: string | null;
|
|
47
|
-
operator: string;
|
|
48
|
-
value: number | string | boolean;
|
|
49
|
-
scope: string;
|
|
50
|
-
notify: boolean;
|
|
51
|
-
column_id: string | null;
|
|
52
|
-
fail_open?: boolean;
|
|
53
|
-
system?: boolean;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Shape of a ticket summary in column scope.
|
|
57
|
-
*/
|
|
58
|
-
interface ColumnTicket {
|
|
59
|
-
id: string;
|
|
60
|
-
ticket_number: number;
|
|
61
|
-
title: string;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Agent config from column scope.
|
|
65
|
-
*/
|
|
66
|
-
interface ColumnAgentConfig {
|
|
67
|
-
execution_mode?: string | undefined;
|
|
68
|
-
model_preference?: string | undefined;
|
|
69
|
-
max_iterations?: number | undefined;
|
|
70
|
-
max_budget_usd?: number | null | undefined;
|
|
71
|
-
concurrency?: number | undefined;
|
|
72
|
-
gutter_threshold?: number | undefined;
|
|
73
|
-
poll_interval_seconds?: number | undefined;
|
|
74
|
-
worktree?: {
|
|
75
|
-
enabled: boolean;
|
|
76
|
-
path_pattern?: string;
|
|
77
|
-
on_move?: string;
|
|
78
|
-
on_done?: string;
|
|
79
|
-
integration_branch?: string;
|
|
80
|
-
} | undefined;
|
|
81
|
-
invocation_tier?: string | undefined;
|
|
82
|
-
lookahead_column_id?: string | undefined;
|
|
83
|
-
run_memory?: boolean | undefined;
|
|
84
|
-
advisor?: {
|
|
85
|
-
enabled: boolean;
|
|
86
|
-
max_invocations?: number;
|
|
87
|
-
model?: string;
|
|
88
|
-
} | undefined;
|
|
89
|
-
checkpoint?: boolean | undefined;
|
|
90
|
-
model_routing?: {
|
|
91
|
-
initial: string;
|
|
92
|
-
escalation: string[];
|
|
93
|
-
escalate_after?: number;
|
|
94
|
-
} | undefined;
|
|
95
|
-
stuck_detection?: {
|
|
96
|
-
enabled: boolean;
|
|
97
|
-
first_check?: number;
|
|
98
|
-
interval?: number;
|
|
99
|
-
} | undefined;
|
|
100
|
-
builtin_tools?: string | undefined;
|
|
101
|
-
allowed_tools?: string[] | undefined;
|
|
102
|
-
disallowed_tools?: string[] | undefined;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Shape of the column-scope response.
|
|
106
|
-
*/
|
|
107
|
-
interface ColumnScope {
|
|
108
|
-
scope: string;
|
|
109
|
-
column: {
|
|
110
|
-
id: string;
|
|
111
|
-
name: string;
|
|
112
|
-
goal: string;
|
|
113
|
-
};
|
|
114
|
-
prompt_document: {
|
|
115
|
-
id: string;
|
|
116
|
-
title: string;
|
|
117
|
-
content: string;
|
|
118
|
-
} | null;
|
|
119
|
-
agent_config: ColumnAgentConfig | null;
|
|
120
|
-
tickets: ColumnTicket[];
|
|
121
|
-
transition_rules: string;
|
|
122
|
-
signals: unknown[];
|
|
123
|
-
field_definitions: unknown[];
|
|
124
|
-
firing_constraints?: FiringConstraintLite[];
|
|
125
|
-
tool_prefix: string;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* A ticket that is blocked by another ticket, with its current column.
|
|
129
|
-
*/
|
|
130
|
-
interface BlockedTicket {
|
|
131
|
-
id: string;
|
|
132
|
-
column_id: string | null;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Injectable dependencies for the PipelineOrchestrator.
|
|
136
|
-
* Allows full testability via dependency injection.
|
|
137
|
-
*/
|
|
138
|
-
export interface OrchestratorDeps {
|
|
139
|
-
fetchBoardScope: (boardId: string) => Promise<BoardScope>;
|
|
140
|
-
fetchColumnScope: (columnId: string) => Promise<ColumnScope>;
|
|
141
|
-
startLoop: (ticketId: string, columnId: string, config: LoopConfig) => Promise<LoopResult>;
|
|
142
|
-
createComment: (ticketId: string, body: string) => Promise<void>;
|
|
143
|
-
createSignal: (ticketId: string, body: string) => Promise<void>;
|
|
144
|
-
/** Create a signal on a column when a firing constraint blocks with notify=true */
|
|
145
|
-
createColumnSignal?: (columnId: string, body: string) => Promise<void>;
|
|
146
|
-
claimTicket: (ticketId: string) => Promise<void>;
|
|
147
|
-
fetchBlockedTickets: (ticketId: string) => Promise<BlockedTicket[]>;
|
|
148
|
-
hasUnresolvedBlockers: (ticketId: string) => Promise<boolean>;
|
|
149
|
-
/** Dispatch a light call for simple ticket operations. Returns the parsed response. */
|
|
150
|
-
dispatchLightCall?: ((ticketId: string, columnId: string) => Promise<{
|
|
151
|
-
action: string;
|
|
152
|
-
params: Record<string, unknown>;
|
|
153
|
-
reason: string;
|
|
154
|
-
}>) | undefined;
|
|
155
|
-
/** Invoke the advisor for failure recovery */
|
|
156
|
-
invokeAdvisor?: ((input: AdvisorInput) => Promise<AdvisorResponse>) | undefined;
|
|
157
|
-
/** Set a field value on a ticket (for debt items, checkpoint) */
|
|
158
|
-
setFieldValue?: ((ticketId: string, fieldName: string, value: unknown) => Promise<void>) | undefined;
|
|
159
|
-
/** Move ticket to a specific column (for ESCALATE) */
|
|
160
|
-
moveTicketToColumn?: ((ticketId: string, columnId: string, handoff: Record<string, unknown>) => Promise<void>) | undefined;
|
|
161
|
-
/** Create child tickets (for SPLIT_TICKET) */
|
|
162
|
-
createTickets?: ((parentTicketId: string, specs: Array<{
|
|
163
|
-
title: string;
|
|
164
|
-
description: string;
|
|
165
|
-
}>) => Promise<string[]>) | undefined;
|
|
166
|
-
/** Archive a ticket (for SPLIT_TICKET — archive parent) */
|
|
167
|
-
archiveTicket?: ((ticketId: string) => Promise<void>) | undefined;
|
|
168
|
-
/** Get field values for a ticket (for checkpoint reads) */
|
|
169
|
-
getFieldValues?: ((ticketId: string) => Promise<Array<{
|
|
170
|
-
field_name: string;
|
|
171
|
-
value: unknown;
|
|
172
|
-
}>>) | undefined;
|
|
173
|
-
/** Append a discovery to the run memory document */
|
|
174
|
-
appendRunMemory?: ((section: string, content: string) => Promise<void>) | undefined;
|
|
175
|
-
/** Clean up a git worktree after terminal loop exit */
|
|
176
|
-
cleanupWorktree?: ((worktreeName: string) => Promise<boolean>) | undefined;
|
|
177
|
-
/** Forward pipeline events to the WS client for browser delivery */
|
|
178
|
-
emitPipelineEvent?: ((event: {
|
|
179
|
-
type: string;
|
|
180
|
-
payload: Record<string, unknown>;
|
|
181
|
-
}) => void) | undefined;
|
|
182
|
-
/** Board ID for pipeline event context */
|
|
183
|
-
boardId?: string | undefined;
|
|
184
|
-
/** Cost tracker for token budget enforcement */
|
|
185
|
-
costTracker?: PipelineCostTracker | undefined;
|
|
186
|
-
/** Gate snapshot store for tracking per-ticket gate history */
|
|
187
|
-
gateSnapshotStore?: GateSnapshotStore | undefined;
|
|
188
|
-
/** Emit structured pipeline events to the API for introspection */
|
|
189
|
-
eventEmitter?: PipelineEventEmitter | undefined;
|
|
190
|
-
/** Invoke the replanner for pipeline-wide trigger evaluation */
|
|
191
|
-
invokeReplanner?: ((state: PipelineState & {
|
|
192
|
-
ticketSummaries: Array<{
|
|
193
|
-
id: string;
|
|
194
|
-
title: string;
|
|
195
|
-
column: string;
|
|
196
|
-
status: string;
|
|
197
|
-
iterations: number;
|
|
198
|
-
gatePassRate: number;
|
|
199
|
-
}>;
|
|
200
|
-
triggerReason: string;
|
|
201
|
-
}) => Promise<ReplannerResponse>) | undefined;
|
|
202
|
-
}
|
|
203
|
-
interface TierClassificationInput {
|
|
204
|
-
hasPromptDocument: boolean;
|
|
205
|
-
invocationTier: 'auto' | 'light' | 'heavy' | undefined;
|
|
206
|
-
}
|
|
207
|
-
export declare function classifyTier(input: TierClassificationInput): 'light' | 'heavy';
|
|
208
|
-
/**
|
|
209
|
-
* PipelineOrchestrator — coordination layer for Ralph Loops.
|
|
210
|
-
*
|
|
211
|
-
* Discovers pipeline columns (has_prompt=true, type !== 'done'),
|
|
212
|
-
* spawns loops for tickets with concurrency limits per column,
|
|
213
|
-
* and handles WebSocket events for dynamic ticket arrivals.
|
|
214
|
-
*/
|
|
215
|
-
export declare class PipelineOrchestrator {
|
|
216
|
-
private boardId;
|
|
217
|
-
private projectId;
|
|
218
|
-
private deps;
|
|
219
|
-
/** Column ID -> column configuration */
|
|
220
|
-
private pipelineColumns;
|
|
221
|
-
/** Column ID -> cached column scope (from initialize) */
|
|
222
|
-
private columnScopes;
|
|
223
|
-
/** Ticket ID -> active loop tracking */
|
|
224
|
-
private activeLoops;
|
|
225
|
-
/** Column ID -> queued ticket IDs (FIFO) */
|
|
226
|
-
private loopQueues;
|
|
227
|
-
/** Ticket IDs that have been spawned or queued (prevents re-processing) */
|
|
228
|
-
private knownTickets;
|
|
229
|
-
/** Tickets deferred because they have unresolved blockers. Re-queued when a blocker reaches Done. */
|
|
230
|
-
private deferredTickets;
|
|
231
|
-
/** Ticket IDs currently in the spawning process (prevents double-spawn race) */
|
|
232
|
-
private spawning;
|
|
233
|
-
/** Ticket IDs currently in onLoopComplete (prevents double-spawn during async advisor recovery) */
|
|
234
|
-
private completing;
|
|
235
|
-
/** Per-column reservation count for in-flight spawns (prevents concurrency overshoot) */
|
|
236
|
-
private columnReservations;
|
|
237
|
-
/** Cached board scope for constraint evaluation — refreshed each scan cycle */
|
|
238
|
-
private cachedBoardScope;
|
|
239
|
-
/** Last time a loop was spawned per column — for column.last_fired_at subject */
|
|
240
|
-
private lastFiredAt;
|
|
241
|
-
/** Column IDs currently blocked by firing constraints (prevents redundant re-evaluation within a scan) */
|
|
242
|
-
private blockedColumns;
|
|
243
|
-
/** Per-ticket advisor invocation count for the current column transit */
|
|
244
|
-
private advisorBudget;
|
|
245
|
-
/** Per-ticket model override (set by RETRY_DIFFERENT_MODEL, consumed by startTrackedLoop) */
|
|
246
|
-
private ticketModelOverrides;
|
|
247
|
-
/** Stable session ID for this orchestrator instance (pipeline run) */
|
|
248
|
-
private readonly sessionId;
|
|
249
|
-
/** Replanner invocation count for the current pipeline run */
|
|
250
|
-
private replannerInvocations;
|
|
251
|
-
/** Maximum replanner invocations before auto-pause */
|
|
252
|
-
private replannerMaxInvocations;
|
|
253
|
-
/** When true, pipeline is paused — scanAndSpawn and spawnOrQueue will skip */
|
|
254
|
-
private pipelinePaused;
|
|
255
|
-
/** Per-column consecutive scope refresh failure counts — auto-pauses after 3 for any column */
|
|
256
|
-
private columnScopeRefreshFailures;
|
|
257
|
-
/** Consecutive board scope refresh failure count — auto-pauses after 3 */
|
|
258
|
-
private boardScopeRefreshFailures;
|
|
259
|
-
/** Timestamp when the pipeline started (for duration-based replanner triggers) */
|
|
260
|
-
private pipelineStartTime;
|
|
261
|
-
constructor(boardId: string, projectId: string, deps: OrchestratorDeps);
|
|
262
|
-
/**
|
|
263
|
-
* Execute an async action with logged error handling.
|
|
264
|
-
* Returns true if the action succeeded, false if it threw.
|
|
265
|
-
* Non-blocking — callers can ignore the return value for fire-and-forget.
|
|
266
|
-
*/
|
|
267
|
-
private safeAction;
|
|
268
|
-
/** Returns the IDs of all discovered pipeline columns. */
|
|
269
|
-
get pipelineColumnIds(): string[];
|
|
270
|
-
/** Returns the total number of active loops. */
|
|
271
|
-
get activeLoopCount(): number;
|
|
272
|
-
/** Returns true if any tickets are queued or deferred (waiting for a slot). */
|
|
273
|
-
get hasQueuedWork(): boolean;
|
|
274
|
-
/** Returns true if any tickets are queued (waiting for a slot) or spawning — excludes deferred tickets. */
|
|
275
|
-
get hasActiveQueuedWork(): boolean;
|
|
276
|
-
/** Returns the number of queued (waiting) tickets for a column. */
|
|
277
|
-
queuedCount(columnId: string): number;
|
|
278
|
-
/**
|
|
279
|
-
* Initialize the orchestrator: fetch board scope, identify pipeline columns,
|
|
280
|
-
* and fetch column-level agent configs.
|
|
281
|
-
*/
|
|
282
|
-
initialize(): Promise<void>;
|
|
283
|
-
/**
|
|
284
|
-
* Refresh the cached column scope for a single column.
|
|
285
|
-
* Keeps stale scope on error rather than crashing.
|
|
286
|
-
*/
|
|
287
|
-
refreshColumnScope(columnId: string): Promise<void>;
|
|
288
|
-
/**
|
|
289
|
-
* Refresh the cached board scope. Called at the start of each scan cycle
|
|
290
|
-
* to get fresh ticket counts for constraint evaluation.
|
|
291
|
-
*/
|
|
292
|
-
private refreshBoardScope;
|
|
293
|
-
/**
|
|
294
|
-
* Public method to invalidate constraint caches when WS events arrive
|
|
295
|
-
* (firing_constraint:created/updated/deleted). Forces re-fetch on next access.
|
|
296
|
-
*/
|
|
297
|
-
refreshConstraints(): Promise<void>;
|
|
298
|
-
/**
|
|
299
|
-
* Build the BoardState required by the constraint evaluator from current
|
|
300
|
-
* orchestrator state + cached board scope.
|
|
301
|
-
*/
|
|
302
|
-
private buildBoardState;
|
|
303
|
-
/**
|
|
304
|
-
* Convert FiringConstraintLite from column scope to full FiringConstraint
|
|
305
|
-
* expected by the evaluator.
|
|
306
|
-
*/
|
|
307
|
-
private toFiringConstraints;
|
|
308
|
-
/**
|
|
309
|
-
* Evaluate firing constraints for a column. Returns the EvalResult if any
|
|
310
|
-
* constraint failed, or null if all passed (column is clear to fire).
|
|
311
|
-
*
|
|
312
|
-
* Handles logging and optional signal creation for blocked columns.
|
|
313
|
-
*/
|
|
314
|
-
private evaluateColumnConstraints;
|
|
315
|
-
/**
|
|
316
|
-
* Check if a column is blocked by firing constraints.
|
|
317
|
-
* Returns true if blocked (should not fire), false if clear.
|
|
318
|
-
*/
|
|
319
|
-
isColumnBlocked(columnId: string): boolean;
|
|
320
|
-
/**
|
|
321
|
-
* Scan all pipeline columns for existing tickets and spawn loops.
|
|
322
|
-
* Refreshes column scopes before scanning to avoid stale ticket lists.
|
|
323
|
-
* Evaluates firing constraints per column before processing tickets.
|
|
324
|
-
* Respects per-column concurrency limits — excess tickets are queued.
|
|
325
|
-
*/
|
|
326
|
-
scanAndSpawn(): Promise<void>;
|
|
327
|
-
/**
|
|
328
|
-
* Handle a pipeline event (typically from WebSocket via EventQueue).
|
|
329
|
-
*/
|
|
330
|
-
handleEvent(event: PipelineEvent): Promise<void>;
|
|
331
|
-
/**
|
|
332
|
-
* Spawn a loop for a ticket if under concurrency limit, otherwise queue it.
|
|
333
|
-
* @param skipKnownCheck - true for event-driven spawns (bypass scan dedup)
|
|
334
|
-
*/
|
|
335
|
-
private spawnOrQueue;
|
|
336
|
-
/**
|
|
337
|
-
* Start a loop and track it. Attach completion handler for cleanup + queue drain.
|
|
338
|
-
*/
|
|
339
|
-
private startTrackedLoop;
|
|
340
|
-
/**
|
|
341
|
-
* Build a LoopConfig and start a loop, tracking it in activeLoops.
|
|
342
|
-
* Handles model routing resolution: resumeModelTier > modelRouting.initial > modelPreference.
|
|
343
|
-
*/
|
|
344
|
-
private startLoopWithConfig;
|
|
345
|
-
/**
|
|
346
|
-
* Phase 2: Invoke the advisor for failure recovery.
|
|
347
|
-
* Returns true if the ticket should be retried, false if handled.
|
|
348
|
-
*/
|
|
349
|
-
private invokeAdvisorRecovery;
|
|
350
|
-
/**
|
|
351
|
-
* Handle evaluator column verdict: parse the output, determine action, move ticket accordingly.
|
|
352
|
-
*/
|
|
353
|
-
private handleEvaluatorVerdict;
|
|
354
|
-
/**
|
|
355
|
-
* Find the previous pipeline column by board position (for evaluator rejections — send back to worker).
|
|
356
|
-
* Returns null if current column is the first pipeline column.
|
|
357
|
-
*/
|
|
358
|
-
private findPreviousColumn;
|
|
359
|
-
/**
|
|
360
|
-
* Find the next pipeline column by board position (for RELAX_WITH_DEBT forward moves).
|
|
361
|
-
* Returns null if current column is the last pipeline column.
|
|
362
|
-
*/
|
|
363
|
-
private findNextColumn;
|
|
364
|
-
/**
|
|
365
|
-
* Called when a loop finishes. Cleans up tracking and drains the queue.
|
|
366
|
-
*/
|
|
367
|
-
private onLoopComplete;
|
|
368
|
-
/**
|
|
369
|
-
* Build PipelineState from orchestrator internals for replanner evaluation.
|
|
370
|
-
*/
|
|
371
|
-
private buildPipelineState;
|
|
372
|
-
/**
|
|
373
|
-
* Identify which trigger condition caused the replanner to fire.
|
|
374
|
-
*/
|
|
375
|
-
private identifyTriggerReason;
|
|
376
|
-
/**
|
|
377
|
-
* Execute the action returned by the replanner.
|
|
378
|
-
*/
|
|
379
|
-
private executeReplannerAction;
|
|
380
|
-
/**
|
|
381
|
-
* Start queued tickets for a column until concurrency limit is reached (H16: fills multiple slots).
|
|
382
|
-
*/
|
|
383
|
-
private drainQueue;
|
|
384
|
-
/**
|
|
385
|
-
* Count active loops + in-flight reservations for a specific column.
|
|
386
|
-
*/
|
|
387
|
-
private activeCountForColumn;
|
|
388
|
-
private reserveSlot;
|
|
389
|
-
private releaseSlot;
|
|
390
|
-
}
|
|
391
|
-
export {};
|
|
392
|
-
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/lib/orchestrator.ts"],"names":[],"mappings":"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"}
|