@ordewell/core 0.7.0 → 0.7.2

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.
Files changed (55) hide show
  1. package/dist/{IFileSystem-DgpX0BU7.d.mts → IFileSystem-B5asBRDa.d.mts} +1 -1
  2. package/dist/{IFileSystem-D4ADfTrX.d.ts → IFileSystem-CbCmUDBn.d.ts} +1 -1
  3. package/dist/{ModeResolver-Cv01ZDd9.d.mts → ModeResolver-DcqAho4y.d.mts} +1 -1
  4. package/dist/{ModeResolver-BEcRAz1c.d.ts → ModeResolver-DtfhWeVL.d.ts} +1 -1
  5. package/dist/{Task-CoKhvBa1.d.mts → Task-BpzIbunq.d.mts} +146 -22
  6. package/dist/{Task-CoKhvBa1.d.ts → Task-BpzIbunq.d.ts} +146 -22
  7. package/dist/{chunk-LSGY7AIZ.mjs → chunk-AJ5KDO6V.mjs} +219 -77
  8. package/dist/chunk-AJ5KDO6V.mjs.map +1 -0
  9. package/dist/chunk-H5O74L77.mjs +185 -0
  10. package/dist/chunk-H5O74L77.mjs.map +1 -0
  11. package/dist/{chunk-YU4UKKKI.mjs → chunk-MZYZS7B3.mjs} +14 -186
  12. package/dist/chunk-MZYZS7B3.mjs.map +1 -0
  13. package/dist/{chunk-J3YSTPCE.mjs → chunk-OUIQWNS3.mjs} +8 -5
  14. package/dist/chunk-OUIQWNS3.mjs.map +1 -0
  15. package/dist/{chunk-N66ZHFGN.mjs → chunk-OYUSADFM.mjs} +11 -1
  16. package/dist/chunk-OYUSADFM.mjs.map +1 -0
  17. package/dist/{chunk-HPNUFBIT.mjs → chunk-V3JHS7AX.mjs} +9 -1
  18. package/dist/chunk-V3JHS7AX.mjs.map +1 -0
  19. package/dist/index.d.mts +909 -459
  20. package/dist/index.d.ts +909 -459
  21. package/dist/index.js +5671 -3776
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.mjs +5548 -3795
  24. package/dist/index.mjs.map +1 -1
  25. package/dist/order-labels.d.mts +15 -2
  26. package/dist/order-labels.d.ts +15 -2
  27. package/dist/order-labels.js +12 -2
  28. package/dist/order-labels.js.map +1 -1
  29. package/dist/order-labels.mjs +7 -3
  30. package/dist/{parsing-DMdOq-BV.d.ts → parsing-COFGUEWx.d.ts} +2 -2
  31. package/dist/{parsing-B4OCHH1_.d.mts → parsing-D0uo-Icd.d.mts} +2 -2
  32. package/dist/parsing.d.mts +3 -3
  33. package/dist/parsing.d.ts +3 -3
  34. package/dist/parsing.js +6 -3
  35. package/dist/parsing.js.map +1 -1
  36. package/dist/parsing.mjs +4 -3
  37. package/dist/{plan-utils-CD1Xu65s.d.mts → plan-utils-CdW3mxt5.d.mts} +226 -9
  38. package/dist/{plan-utils-BdYPRBno.d.ts → plan-utils-D4Z8UyLL.d.ts} +226 -9
  39. package/dist/plan-utils.d.mts +4 -3
  40. package/dist/plan-utils.d.ts +4 -3
  41. package/dist/plan-utils.js +210 -3
  42. package/dist/plan-utils.js.map +1 -1
  43. package/dist/plan-utils.mjs +44 -3
  44. package/dist/testing.d.mts +17 -5
  45. package/dist/testing.d.ts +17 -5
  46. package/dist/testing.js +50 -3
  47. package/dist/testing.js.map +1 -1
  48. package/dist/testing.mjs +50 -5
  49. package/dist/testing.mjs.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/chunk-HPNUFBIT.mjs.map +0 -1
  52. package/dist/chunk-J3YSTPCE.mjs.map +0 -1
  53. package/dist/chunk-LSGY7AIZ.mjs.map +0 -1
  54. package/dist/chunk-N66ZHFGN.mjs.map +0 -1
  55. package/dist/chunk-YU4UKKKI.mjs.map +0 -1
@@ -301,18 +301,49 @@ interface PreparedTask {
301
301
  * stay in the task, so the user is told.
302
302
  */
303
303
  copied: string[];
304
+ /** What the attempt this one replaces left unlanded, kept on a branch before its worktree went; absent when nothing was. */
305
+ preserved?: PreservedWork[];
306
+ }
307
+ /** A task as a removal names it. */
308
+ type IsolationTaskRef = Pick<IsolationTaskRecord, 'taskId' | 'order' | 'title'>;
309
+ /**
310
+ * Work a removal found that had not landed — edits never committed, or
311
+ * commits only the task's branch carried — committed and kept on `branch`,
312
+ * a branch of its own under `ordewell-preserved/`, before the worktree went.
313
+ */
314
+ interface PreservedWork {
315
+ /** Absent for a leftover directory no task record owned. */
316
+ task?: IsolationTaskRef;
317
+ repo: string;
318
+ branch: string;
319
+ /** The commit `branch` points at. */
320
+ commit: string;
321
+ }
322
+ /** A worktree a removal left in place, because the work in it could not be kept any other way. */
323
+ interface RefusedRemoval {
324
+ /** Absent for a leftover directory no task record owned. */
325
+ task?: IsolationTaskRef;
326
+ worktree: string;
327
+ /** What stopped git keeping it, in words a surface can repeat. */
328
+ reason: string;
329
+ }
330
+ /**
331
+ * What removing task worktrees did in place of deleting work. A removal never
332
+ * deletes work that has not landed: it keeps it on a branch first
333
+ * (`preserved`), and where it cannot, it leaves that worktree alone
334
+ * (`refused`) — so the record of a refused task stays too.
335
+ */
336
+ interface IsolationRemoval {
337
+ preserved: PreservedWork[];
338
+ refused: RefusedRemoval[];
304
339
  }
305
340
  /**
306
341
  * What a crash-recovery prune found and left alone: task records that were
307
342
  * `active` yet still held unlanded work, so the prune kept them as `kept`
308
343
  * rather than deleting work no one else has.
309
344
  */
310
- interface IsolationPruneResult {
311
- kept: Array<{
312
- taskId: string;
313
- order: number;
314
- title: string;
315
- }>;
345
+ interface IsolationPruneResult extends IsolationRemoval {
346
+ kept: IsolationTaskRef[];
316
347
  }
317
348
  /**
318
349
  * The tracked changes of a workspace's repos at one moment, against each
@@ -379,7 +410,9 @@ interface IWorktreeIsolation {
379
410
  integrate(task: Task, run: IsolationRun, persist?: () => void): Promise<IsolationOutcome>;
380
411
  /**
381
412
  * `keep: false` removes the task's worktree, branch and record (retry, task
382
- * removal). `keep: true` leaves the worktree and branch exactly as they are
413
+ * removal), keeping whatever had not landed on a branch first; a record
414
+ * whose work cannot be kept stays, off `active`. `keep: true` leaves the
415
+ * worktree and branch exactly as they are
383
416
  * for inspection — a failed verdict, a stop, a cancel — and only moves the task off `active`,
384
417
  * so a crash-recovery prune does not sweep it away; a repair it ends leaves
385
418
  * the task `conflict`, as it was before the repair. Takes the run rather than
@@ -388,7 +421,7 @@ interface IWorktreeIsolation {
388
421
  */
389
422
  release(run: IsolationRun, taskId: string, opts: {
390
423
  keep: boolean;
391
- }): Promise<void>;
424
+ }): Promise<IsolationRemoval>;
392
425
  /** End of run: park the integration branch for review and report what landed. */
393
426
  handoff(run: IsolationRun): Promise<IsolationHandoff>;
394
427
  /**
@@ -398,7 +431,8 @@ interface IWorktreeIsolation {
398
431
  * that still holds unlanded work — commits its branch alone carries, or
399
432
  * edits in its worktree — is not a crash orphan: it may belong to a runner
400
433
  * another host is still driving, so it is kept as `kept` and named in the
401
- * result.
434
+ * result. A leftover directory holding work is kept on a branch before it
435
+ * goes, as {@link release} does.
402
436
  */
403
437
  pruneOrphans(run: IsolationRun): Promise<IsolationPruneResult>;
404
438
  /** Unified diff of each repo's integration branch against its base ref. */
@@ -436,11 +470,12 @@ interface IWorktreeIsolation {
436
470
  /**
437
471
  * Remove every worktree and task branch of the run, and settle each repo's
438
472
  * integration branch as `integration` says. Anything but `keep` also clears
439
- * the run's task records.
473
+ * the run's task records, except those of worktrees it refused to remove.
474
+ * Work that had not landed is kept on a branch first, as {@link release} does.
440
475
  */
441
476
  discard(run: IsolationRun, opts: {
442
477
  integration: IntegrationDisposal;
443
- }): Promise<void>;
478
+ }): Promise<IsolationRemoval>;
444
479
  /**
445
480
  * Clear what other runs left in each repo of `run`'s group: every
446
481
  * `ordewell/<run-id>/…` branch the repo's checked-out HEAD already contains.
@@ -678,6 +713,8 @@ type SpawnFn = (command: string, args: string[], options: {
678
713
  cwd: string;
679
714
  /** Set by the Windows batch route, where `args` is already a quoted command line. */
680
715
  windowsVerbatimArguments?: boolean;
716
+ /** Set on POSIX so the runner leads its own process group (see `spawnInOwnGroup`). */
717
+ detached?: boolean;
681
718
  }) => ChildProcess;
682
719
  /** Test seam: every OS touchpoint is injectable; production uses the defaults. */
683
720
  interface HeadlessRunnerDeps {
@@ -695,10 +732,11 @@ interface HeadlessRunnerDeps {
695
732
  declare class HeadlessSession extends AbstractTerminalSession {
696
733
  private spawnImpl;
697
734
  readonly interactive: boolean;
735
+ private platform;
698
736
  private process;
699
737
  private outputBuffer;
700
738
  private controlStream;
701
- constructor(id: string, taskId: string, spawnImpl: SpawnFn, interactive?: boolean);
739
+ constructor(id: string, taskId: string, spawnImpl: SpawnFn, interactive?: boolean, platform?: NodeJS.Platform);
702
740
  get isStarted(): boolean;
703
741
  start(launch: LaunchPlan, cwd: string, resolvedPath: string, env?: Record<string, string>, options?: {
704
742
  controlChannel?: boolean;
@@ -1081,6 +1119,8 @@ interface McpTool<H> {
1081
1119
  /** Validate `args` and hand them to the handler's method for this tool. */
1082
1120
  call(handler: H, args: unknown, context: McpToolContext): Promise<McpToolReply>;
1083
1121
  }
1122
+ /** The task tool whose call settles the attempt (ADR-0022, V1). */
1123
+ declare const TASK_COMPLETE_TOOL = "task_complete";
1084
1124
  declare const TASK_TOOLS: readonly McpTool<TaskToolHandler>[];
1085
1125
  declare const PLANNER_TOOLS: readonly McpTool<PlannerToolHandler>[];
1086
1126
 
@@ -1284,6 +1324,24 @@ type AgentEvent =
1284
1324
  type: 'turn_end';
1285
1325
  interrupted?: boolean;
1286
1326
  }
1327
+ /**
1328
+ * The model has a message handed over by {@link TaskModeAgentAdapter.steer},
1329
+ * by the runner's own account rather than because the write succeeded
1330
+ * (ADR-0023, D3). With no turn open, the runner opened one for it.
1331
+ */
1332
+ | {
1333
+ type: 'message_delivered';
1334
+ id: string;
1335
+ }
1336
+ /**
1337
+ * The runner let go of a message it accepted from `steer` without showing it
1338
+ * to the model — Codex does, for one its turn ended before consuming. It is
1339
+ * Ordewell's to send again (ADR-0023, D4).
1340
+ */
1341
+ | {
1342
+ type: 'message_dropped';
1343
+ id: string;
1344
+ }
1287
1345
  /** The turn failed. Carries the agent's own words — never a Ordewell paraphrase. */
1288
1346
  | {
1289
1347
  type: 'error';
@@ -1396,6 +1454,16 @@ interface TaskModeAgentAdapter extends AgentAdapter {
1396
1454
  onOutOfTurn?(listener: (event: AgentEvent) => void): void;
1397
1455
  /** Registers a listener for the process ending, for any reason. Fires at most once. */
1398
1456
  onProcessExit(listener: (code: number) => void): void;
1457
+ /**
1458
+ * Hand a message to the running turn, for the runner to show the model at
1459
+ * its next step boundary (ADR-0023, D1–D2). Resolves true once the runner
1460
+ * accepted it: handed over, not yet delivered — the turn's events later
1461
+ * carry `message_delivered` or `message_dropped` for `id`. False when the
1462
+ * runner refused it or no turn is running; the caller keeps it for the
1463
+ * turn's end. Absent on an adapter whose runner cannot take a message
1464
+ * mid-turn.
1465
+ */
1466
+ steer?(id: string, text: string): Promise<boolean>;
1399
1467
  /**
1400
1468
  * Answer an open `permission_request`. False when the id is not open — it
1401
1469
  * was answered, cancelled, or never asked.
@@ -1976,25 +2044,49 @@ type StructuredTurnEnd = 'completed' | 'interrupted' | 'failed';
1976
2044
  * full-fidelity task log, never for verdicts.
1977
2045
  */
1978
2046
  type StructuredEvent = Exclude<AgentEvent, {
1979
- type: 'turn_end';
1980
- } | {
1981
- type: 'permission_cancelled';
2047
+ type: 'turn_end' | 'permission_cancelled' | 'message_delivered' | 'message_dropped';
1982
2048
  }>
1983
- /** `text` is the user message the turn answers; `messageId` is set when it had waited in the queue. */
2049
+ /**
2050
+ * `text` is the user message the turn answers; `messageId` is set when it had
2051
+ * waited in the queue, `forced` when it was force sent (ADR-0023, Q2).
2052
+ */
1984
2053
  | {
1985
2054
  type: 'turn_start';
1986
2055
  text: string;
1987
2056
  messageId?: string;
2057
+ forced?: boolean;
1988
2058
  } | {
1989
2059
  type: 'turn_end';
1990
2060
  reason: StructuredTurnEnd;
1991
- } | {
2061
+ }
2062
+ /**
2063
+ * Waiting in Ordewell's queue — again, for a message the runner was handed
2064
+ * and let go of (ADR-0023, D4). `forced` puts it ahead of the rest, behind
2065
+ * earlier forced ones (F2); a message already listed moves there.
2066
+ */
2067
+ | {
1992
2068
  type: 'message_queued';
1993
2069
  messageId: string;
1994
2070
  text: string;
2071
+ forced?: boolean;
1995
2072
  } | {
1996
2073
  type: 'message_removed';
1997
2074
  messageId: string;
2075
+ } | {
2076
+ type: 'message_undelivered';
2077
+ messageId: string;
2078
+ text: string;
2079
+ }
2080
+ /** The runner accepted the message into its running turn; it can no longer be taken back (ADR-0023, D3). */
2081
+ | {
2082
+ type: 'message_handed_over';
2083
+ messageId: string;
2084
+ }
2085
+ /** The model read the message inside the running turn, at this point of it (ADR-0023, Q2). */
2086
+ | {
2087
+ type: 'message_delivered';
2088
+ messageId: string;
2089
+ text: string;
1998
2090
  }
1999
2091
  /** An open `permission_request` was answered, by whoever answered it (ADR-0018, A1). */
2000
2092
  | {
@@ -2010,6 +2102,10 @@ type StructuredEvent = Exclude<AgentEvent, {
2010
2102
  interface QueuedTaskMessage {
2011
2103
  id: string;
2012
2104
  text: string;
2105
+ /** The runner has it and owes a delivery, so it cannot be taken back (ADR-0023, Q1). */
2106
+ handedOver?: boolean;
2107
+ /** Force sent: it goes out as soon as the running turn is interrupted (ADR-0023, F1). */
2108
+ forced?: boolean;
2013
2109
  }
2014
2110
  /**
2015
2111
  * What a session driven over its runner's protocol can do that a terminal
@@ -2023,13 +2119,23 @@ interface StructuredSessionCapability {
2023
2119
  onTurnEnd(listener: (reason: StructuredTurnEnd) => void): void;
2024
2120
  onEvent(listener: (event: StructuredEvent) => void): void;
2025
2121
  /**
2026
- * Queue a user message, delivered when the current turn ends — or at once
2027
- * when idle. Returns its id, for {@link removeQueued}.
2122
+ * Send a user message: at once when idle; while a turn runs, handed to the
2123
+ * runner for its next step where it can take one, otherwise queued until
2124
+ * the turn ends (ADR-0023). Returns its id, for {@link removeQueued}.
2028
2125
  */
2029
2126
  sendMessage(text: string): string;
2030
- /** Take a message back before it is delivered. False when it already was. */
2127
+ /**
2128
+ * Force send (ADR-0023, F1–F3): interrupt the running turn, as
2129
+ * {@link interrupt} does, and deliver this message as the turn that
2130
+ * replaces it, ahead of anything still queued. The task does not wait for
2131
+ * input in between. With no turn running it is {@link sendMessage}.
2132
+ */
2133
+ forceSend(text: string): string;
2134
+ /** Force send a message still queued, by id. False once it was handed over or delivered. */
2135
+ forceSendQueued(id: string): boolean;
2136
+ /** Take a message back before the runner has it. False once it was handed over or delivered. */
2031
2137
  removeQueued(id: string): boolean;
2032
- /** Messages waiting for the current turn to end, oldest first. */
2138
+ /** Messages not yet delivered, oldest first: queued ones, and ones handed over that the runner owes. */
2033
2139
  queued(): QueuedTaskMessage[];
2034
2140
  /**
2035
2141
  * Stop the running turn, keeping the session: a soft interrupt first, then —
@@ -2432,6 +2538,24 @@ declare function migratePlanState(raw: unknown): PlanState;
2432
2538
  declare function migrateLegacyPlan(legacy: LegacyPlanState): PlanState;
2433
2539
 
2434
2540
  declare function createTask(overrides?: Partial<Task>): Task;
2541
+ /**
2542
+ * The `ops` flag as a task stores it (ADR-0020), however it arrived. Only a
2543
+ * literal `true` on an AI task marks an ops task: the planner's JSON is
2544
+ * untyped, and a quoted "true" read as ops would move a task out of its
2545
+ * worktree. Anything else is a change task, stored absent so saved plans need
2546
+ * no migration. Whether the task may be ops at all — a subtask may not — is
2547
+ * for whoever knows where it sits: parsing drops the flag, an edit refuses it.
2548
+ */
2549
+ declare function opsFlag(value: unknown, type?: Task['type']): true | undefined;
2550
+ /**
2551
+ * The flag of a task a merge or a split makes from others: what the edit
2552
+ * chose, else ops only when every task it came from was. A merge that takes
2553
+ * in a change edits files, so it is a change; a split part runs where its
2554
+ * task did.
2555
+ */
2556
+ declare function inheritedOps(from: readonly Pick<Task, 'ops'>[], chosen?: boolean): boolean;
2557
+ /** The runner set a plan has until one is chosen: the one runner every host ships. */
2558
+ declare const DEFAULT_RUNNERS: readonly RunnerId[];
2435
2559
  declare function createEmptyPlan(): LegacyPlanState;
2436
2560
  declare function flattenTasks(tasks: readonly Task[]): Task[];
2437
2561
  /** A flattened task with the parent it hangs under, null for a top-level task. */
@@ -2472,4 +2596,4 @@ interface ValidationContext {
2472
2596
  type ValidationCheck = (ctx: ValidationContext) => ValidationResult;
2473
2597
  declare function warningsText(w: PlanModificationWarnings): string | null;
2474
2598
 
2475
- export { type IsolationOutcome as $, AbstractRunner as A, type BlockingPrompt as B, CMD_EXE_MAX_COMMAND_LINE as C, DENY_ALL as D, type EditPlanArgs as E, EmbeddedNewlineError as F, ExecutableNotFoundError as G, type FetchAllProviderModelsOptions as H, HeadlessRunner as I, type HeadlessRunnerDeps as J, HeadlessSession as K, type IApproval as L, type IConfig as M, type IPluginStore as N, type ITerminalRunner as O, type ITerminalSession as P, type IWorktreeIsolation as Q, type IntegrationDisposal as R, type IsolationAvailability as S, type IsolationHandoff as T, type IsolationHandoffRepo as U, type IsolationInactiveReason as V, type IsolationLandedTask as W, type IsolationLanding as X, type IsolationMergeBlock as Y, type IsolationMergeBlockReason as Z, type IsolationMergeResult as _, AbstractTerminalSession as a, type RunnerSpawnOptions as a$, type IsolationPruneResult as a0, type IsolationRepo as a1, type IsolationRun as a2, type IsolationTaskRecord as a3, type IsolationTaskRepo as a4, type IsolationTaskStatus as a5, type IsolationView as a6, type LaunchDeps as a7, type LaunchPlan as a8, type LegacyPlanState as a9, type PluginCloneFn as aA, type PluginEntry as aB, type PluginFeatures as aC, type PluginMode as aD, type PluginModelDiscovery as aE, type PluginRunnerDef as aF, type PreparedLaunch as aG, type PreparedTask as aH, type ProviderCredentialSource as aI, type ProviderModelLists as aJ, type ProviderModelsResult as aK, type PtySize as aL, type PtyWrapOptions as aM, type QueuedMessage as aN, type QueuedTaskMessage as aO, type RepairEvidence as aP, type RepoGroupLayout as aQ, type ResearchLogEntry as aR, type ResearchProgress as aS, type ResearchStep as aT, type ResearchStepOutcome as aU, type ResearchToolType as aV, type ResolveContext as aW, type RunnerId as aX, type RunnerInvocation as aY, type RunnerPluginManifest as aZ, RunnerRegistry as a_, LineBuffer as aa, type ListModelsArgs as ab, type ListRunnersArgs as ac, type McpClientConfig as ad, type McpCredential as ae, type McpTool as af, type McpToolContext as ag, type McpToolReply as ah, type Message as ai, ModelCatalog as aj, type ModelShortcut as ak, ORCHESTRATOR_SHORTCUTS as al, ORDEWELL_MCP_PATH as am, ORDEWELL_MCP_SERVER_NAME as an, type OrchestratorOption as ao, OrdewellMcpServer as ap, type OwnerOnlyFile as aq, PLANNER_TOOLS as ar, type PlanIsolation as as, type PlanModificationWarnings as at, type PlanState as au, type PlanStatus as av, type PlannerStartOptions as aw, type PlannerTokenScope as ax, type PlannerToolHandler as ay, type PlannerUsage as az, type ActiveTaskSession as b, isRunnerApproval as b$, type RunnerTransport as b0, type RunnerVersionProbe as b1, type StreamEvent as b2, type StreamStepEvent as b3, type StreamThinkingEvent as b4, type StructuredEvent as b5, type StructuredSessionCapability as b6, type StructuredTurnEnd as b7, type SubagentLogEntry as b8, type SubagentOutcome as b9, type UsageTotals as bA, type UserPromptEntry as bB, type UserStep as bC, type ValidationCheck as bD, type ValidationContext as bE, type ValidationResult as bF, type Verdict as bG, type VerificationCheck as bH, WINDOWS_MAX_COMMAND_LINE as bI, addPlannerUsage as bJ, addTaskToPlan as bK, addUsage as bL, approvalScopes as bM, buildShellInvocation as bN, collectProviderCredentials as bO, createEmptyPlan as bP, createTask as bQ, emptyWarnings as bR, enabledRunners as bS, fetchAllProviderModels as bT, flattenTasks as bU, flattenTasksWithParents as bV, isAwaitingReason as bW, isExecutableResolved as bX, isGranted as bY, isMeasured as bZ, isReservedRunnerName as b_, type SubmitPlanArgs as ba, TASK_TOOLS as bb, type Task as bc, type TaskCompleteArgs as bd, type TaskIsolation as be, type TaskIsolationState as bf, type TaskMode as bg, type TaskModeAgentAdapter as bh, TaskModeUnsupportedError as bi, type TaskModelAssignment as bj, type TaskOutputArgs as bk, type TaskOutputSummary as bl, type TaskQueryArgs as bm, type TaskRunnerFlags as bn, type TaskSnapshot as bo, type TaskStartOptions as bp, type TaskStatus as bq, type TaskTokenScope as br, type TaskToolHandler as bs, type TaskTransport as bt, type TaskType as bu, type TaskWithParent as bv, type ThinkingBlock as bw, type TreeSnapshot as bx, type UsageLine as by, type UsageRecord as bz, type AgentAdapter as c, isRunnerTransport as c0, isStructuredSession as c1, keepExecutionState as c2, knownModelId as c3, mcpClientConfig as c4, migrateLegacyPlan as c5, migratePlanState as c6, migrateTask as c7, ownerOnlyConfigFile as c8, partedPromptUsage as c9, planDirectLaunch as ca, planShellLaunch as cb, plannerContextFill as cc, posixShellQuote as cd, removeTaskFromPlan as ce, renumberTasks as cf, resolveModelShortcut as cg, resolveProvider as ch, sharedMcpServer as ci, stripAnsi as cj, toApprovalDecision as ck, toOrchestratorOptions as cl, updateTaskInPlan as cm, usageLine as cn, validateModifiedPlan as co, warningsText as cp, windowsCommandLine as cq, wrapWithPty as cr, type AgentAdapterFactory as d, type AgentEvent as e, type AgentProcessDeps as f, type AgentStartOptions as g, type AiProvider as h, type AllProviderModels as i, type ApprovalAnswer as j, type ApprovalDecision as k, type ApprovalKind as l, type ApprovalMode as m, ApprovalPolicy as n, type ApprovalPolicyOptions as o, type ApprovalRequest as p, type ApprovalSource as q, type AwaitingReason as r, type CatalogModel as s, type CheckpointAnswer as t, type CheckpointArgs as u, CommandLineTooLongError as v, type ConversationMessage as w, type DiscoveredMode as x, type DiscoveredModel as y, type DiscoveryCommand as z };
2599
+ export { type IsolationMergeResult as $, AbstractRunner as A, type BlockingPrompt as B, CMD_EXE_MAX_COMMAND_LINE as C, DEFAULT_RUNNERS as D, type DiscoveryCommand as E, type EditPlanArgs as F, EmbeddedNewlineError as G, ExecutableNotFoundError as H, type FetchAllProviderModelsOptions as I, HeadlessRunner as J, type HeadlessRunnerDeps as K, HeadlessSession as L, type IApproval as M, type IConfig as N, type IPluginStore as O, type ITerminalRunner as P, type ITerminalSession as Q, type IWorktreeIsolation as R, type IntegrationDisposal as S, type IsolationAvailability as T, type IsolationHandoff as U, type IsolationHandoffRepo as V, type IsolationInactiveReason as W, type IsolationLandedTask as X, type IsolationLanding as Y, type IsolationMergeBlock as Z, type IsolationMergeBlockReason as _, AbstractTerminalSession as a, type ResolveContext as a$, type IsolationOutcome as a0, type IsolationPruneResult as a1, type IsolationRemoval as a2, type IsolationRepo as a3, type IsolationRun as a4, type IsolationTaskRecord as a5, type IsolationTaskRef as a6, type IsolationTaskRepo as a7, type IsolationTaskStatus as a8, type IsolationView as a9, type PlannerTokenScope as aA, type PlannerToolHandler as aB, type PlannerUsage as aC, type PluginCloneFn as aD, type PluginEntry as aE, type PluginFeatures as aF, type PluginMode as aG, type PluginModelDiscovery as aH, type PluginRunnerDef as aI, type PreparedLaunch as aJ, type PreparedTask as aK, type PreservedWork as aL, type ProviderCredentialSource as aM, type ProviderModelLists as aN, type ProviderModelsResult as aO, type PtySize as aP, type PtyWrapOptions as aQ, type QueuedMessage as aR, type QueuedTaskMessage as aS, type RefusedRemoval as aT, type RepairEvidence as aU, type RepoGroupLayout as aV, type ResearchLogEntry as aW, type ResearchProgress as aX, type ResearchStep as aY, type ResearchStepOutcome as aZ, type ResearchToolType as a_, type LaunchDeps as aa, type LaunchPlan as ab, type LegacyPlanState as ac, LineBuffer as ad, type ListModelsArgs as ae, type ListRunnersArgs as af, type McpClientConfig as ag, type McpCredential as ah, type McpTool as ai, type McpToolContext as aj, type McpToolReply as ak, type Message as al, ModelCatalog as am, type ModelShortcut as an, ORCHESTRATOR_SHORTCUTS as ao, ORDEWELL_MCP_PATH as ap, ORDEWELL_MCP_SERVER_NAME as aq, type OrchestratorOption as ar, OrdewellMcpServer as as, type OwnerOnlyFile as at, PLANNER_TOOLS as au, type PlanIsolation as av, type PlanModificationWarnings as aw, type PlanState as ax, type PlanStatus as ay, type PlannerStartOptions as az, type ActiveTaskSession as b, flattenTasksWithParents as b$, type RunnerId as b0, type RunnerInvocation as b1, type RunnerPluginManifest as b2, RunnerRegistry as b3, type RunnerSpawnOptions as b4, type RunnerTransport as b5, type RunnerVersionProbe as b6, type StreamEvent as b7, type StreamStepEvent as b8, type StreamThinkingEvent as b9, type TaskType as bA, type TaskWithParent as bB, type ThinkingBlock as bC, type TreeSnapshot as bD, type UsageLine as bE, type UsageRecord as bF, type UsageTotals as bG, type UserPromptEntry as bH, type UserStep as bI, type ValidationCheck as bJ, type ValidationContext as bK, type ValidationResult as bL, type Verdict as bM, type VerificationCheck as bN, WINDOWS_MAX_COMMAND_LINE as bO, addPlannerUsage as bP, addTaskToPlan as bQ, addUsage as bR, approvalScopes as bS, buildShellInvocation as bT, collectProviderCredentials as bU, createEmptyPlan as bV, createTask as bW, emptyWarnings as bX, enabledRunners as bY, fetchAllProviderModels as bZ, flattenTasks as b_, type StructuredEvent as ba, type StructuredSessionCapability as bb, type StructuredTurnEnd as bc, type SubagentLogEntry as bd, type SubagentOutcome as be, type SubmitPlanArgs as bf, TASK_COMPLETE_TOOL as bg, TASK_TOOLS as bh, type Task as bi, type TaskCompleteArgs as bj, type TaskIsolation as bk, type TaskIsolationState as bl, type TaskMode as bm, type TaskModeAgentAdapter as bn, TaskModeUnsupportedError as bo, type TaskModelAssignment as bp, type TaskOutputArgs as bq, type TaskOutputSummary as br, type TaskQueryArgs as bs, type TaskRunnerFlags as bt, type TaskSnapshot as bu, type TaskStartOptions as bv, type TaskStatus as bw, type TaskTokenScope as bx, type TaskToolHandler as by, type TaskTransport as bz, type AgentAdapter as c, inheritedOps as c0, isAwaitingReason as c1, isExecutableResolved as c2, isGranted as c3, isMeasured as c4, isReservedRunnerName as c5, isRunnerApproval as c6, isRunnerTransport as c7, isStructuredSession as c8, keepExecutionState as c9, knownModelId as ca, mcpClientConfig as cb, migrateLegacyPlan as cc, migratePlanState as cd, migrateTask as ce, opsFlag as cf, ownerOnlyConfigFile as cg, partedPromptUsage as ch, planDirectLaunch as ci, planShellLaunch as cj, plannerContextFill as ck, posixShellQuote as cl, removeTaskFromPlan as cm, renumberTasks as cn, resolveModelShortcut as co, resolveProvider as cp, sharedMcpServer as cq, stripAnsi as cr, toApprovalDecision as cs, toOrchestratorOptions as ct, updateTaskInPlan as cu, usageLine as cv, validateModifiedPlan as cw, warningsText as cx, windowsCommandLine as cy, wrapWithPty as cz, type AgentAdapterFactory as d, type AgentEvent as e, type AgentProcessDeps as f, type AgentStartOptions as g, type AiProvider as h, type AllProviderModels as i, type ApprovalAnswer as j, type ApprovalDecision as k, type ApprovalKind as l, type ApprovalMode as m, ApprovalPolicy as n, type ApprovalPolicyOptions as o, type ApprovalRequest as p, type ApprovalSource as q, type AwaitingReason as r, type CatalogModel as s, type CheckpointAnswer as t, type CheckpointArgs as u, CommandLineTooLongError as v, type ConversationMessage as w, DENY_ALL as x, type DiscoveredMode as y, type DiscoveredModel as z };