@ordewell/core 0.6.2 → 0.6.4
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/{IFileSystem-DuEiG_kA.d.ts → IFileSystem-DQEKyC6H.d.ts} +1 -1
- package/dist/{IFileSystem-d_SV7jAH.d.mts → IFileSystem-Qj2MWHn_.d.mts} +1 -1
- package/dist/{ModeResolver-DXxV4n_V.d.ts → ModeResolver-ByNpC0EP.d.ts} +1 -1
- package/dist/{ModeResolver-DIReYAOq.d.mts → ModeResolver-rqaY_4Ex.d.mts} +1 -1
- package/dist/{Task-ib_U0YP7.d.mts → Task-xqdxugt2.d.mts} +31 -1
- package/dist/{Task-ib_U0YP7.d.ts → Task-xqdxugt2.d.ts} +31 -1
- package/dist/index.d.mts +86 -81
- package/dist/index.d.ts +86 -81
- package/dist/index.js +194 -38
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +185 -29
- package/dist/index.mjs.map +1 -1
- package/dist/order-labels.d.mts +1 -1
- package/dist/order-labels.d.ts +1 -1
- package/dist/{parsing-C8Z22twN.d.ts → parsing-COPG8-Ep.d.ts} +2 -2
- package/dist/{parsing-DjRJJX-y.d.mts → parsing-DDZ1rUYa.d.mts} +2 -2
- package/dist/parsing.d.mts +3 -3
- package/dist/parsing.d.ts +3 -3
- package/dist/{plan-utils-2K_N5ZJe.d.ts → plan-utils-Br8UAoiu.d.ts} +2 -2
- package/dist/{plan-utils-D94CJ7CA.d.mts → plan-utils-DMgajMvd.d.mts} +2 -2
- package/dist/plan-utils.d.mts +3 -3
- package/dist/plan-utils.d.ts +3 -3
- package/dist/testing.d.mts +2 -2
- package/dist/testing.d.ts +2 -2
- package/package.json +1 -1
|
@@ -450,6 +450,9 @@ interface IWorktreeIsolation {
|
|
|
450
450
|
sweep(run: IsolationRun): Promise<void>;
|
|
451
451
|
}
|
|
452
452
|
|
|
453
|
+
/** Reads a runner's `--version` line, or undefined when it will not say. */
|
|
454
|
+
type RunnerVersionProbe = (command: string, PATH: string) => Promise<string | undefined>;
|
|
455
|
+
|
|
453
456
|
/** One source for the spawn options, so a runner built on this base cannot drift from the interface. */
|
|
454
457
|
type RunnerSpawnOptions = Parameters<ITerminalRunner['spawn']>[0];
|
|
455
458
|
declare abstract class AbstractTerminalSession implements ITerminalSession {
|
|
@@ -509,6 +512,8 @@ interface PtySize {
|
|
|
509
512
|
interface PtyWrapOptions {
|
|
510
513
|
size?: PtySize;
|
|
511
514
|
controlChannel?: boolean;
|
|
515
|
+
/** Decides which `script` is on the host; defaults to this process's platform. */
|
|
516
|
+
platform?: NodeJS.Platform;
|
|
512
517
|
}
|
|
513
518
|
/**
|
|
514
519
|
* Wrap a command in `script` to allocate the PTY some runners require when
|
|
@@ -683,6 +688,8 @@ interface HeadlessRunnerDeps {
|
|
|
683
688
|
* Windows branch consults them, so a POSIX test never needs to pass anything.
|
|
684
689
|
*/
|
|
685
690
|
launchDeps?: LaunchDeps;
|
|
691
|
+
/** Reads the runner's version, for a manifest whose command line differs by major version. */
|
|
692
|
+
runnerVersion?: RunnerVersionProbe;
|
|
686
693
|
}
|
|
687
694
|
declare class HeadlessSession extends AbstractTerminalSession {
|
|
688
695
|
private spawnImpl;
|
|
@@ -698,6 +705,8 @@ declare class HeadlessSession extends AbstractTerminalSession {
|
|
|
698
705
|
kill(): void;
|
|
699
706
|
getOutput(): string;
|
|
700
707
|
write(text: string): void;
|
|
708
|
+
/** Closes the runner's stdin: what it has read so far is all it will get. */
|
|
709
|
+
endInput(): void;
|
|
701
710
|
/** PTY resize requests from a surface that owns the terminal rendering the wrapper. */
|
|
702
711
|
writeControl(text: string): void;
|
|
703
712
|
}
|
|
@@ -711,12 +720,19 @@ interface PreparedLaunch {
|
|
|
711
720
|
pty: boolean;
|
|
712
721
|
/** True when the started process needs an explicit Enter sent to submit its pre-filled prompt. */
|
|
713
722
|
submitPromptKey: boolean;
|
|
723
|
+
/**
|
|
724
|
+
* True when nothing can be typed into the run: no TTY, no interactive shape,
|
|
725
|
+
* and the prompt already in its arguments. Its stdin is then closed, because
|
|
726
|
+
* a CLI such as `codex exec` reads a piped stdin to its end before starting.
|
|
727
|
+
*/
|
|
728
|
+
closeStdin: boolean;
|
|
714
729
|
}
|
|
715
730
|
declare class HeadlessRunner extends AbstractRunner<HeadlessSession> {
|
|
716
731
|
private spawnImpl;
|
|
717
732
|
private hasScriptCmd;
|
|
718
733
|
private resolvePath;
|
|
719
734
|
private launchDeps;
|
|
735
|
+
private runnerVersion;
|
|
720
736
|
private spawnCount;
|
|
721
737
|
/**
|
|
722
738
|
* Session shape: a piped subprocess is not a terminal, so runners get their
|
|
@@ -1199,6 +1215,18 @@ interface PluginRunnerDef {
|
|
|
1199
1215
|
* answers one; seeing it, the task's user is told where to.
|
|
1200
1216
|
*/
|
|
1201
1217
|
blockingPrompts?: BlockingPrompt[];
|
|
1218
|
+
/**
|
|
1219
|
+
* The command lines a later major version of the runner takes instead of
|
|
1220
|
+
* `argsTemplate`/`env`, for a runner whose CLI changed shape between majors.
|
|
1221
|
+
* The one with the highest `minMajor` the installed version reaches wins; an
|
|
1222
|
+
* install whose version cannot be read keeps the base template.
|
|
1223
|
+
*/
|
|
1224
|
+
versioned?: VersionedInvocation[];
|
|
1225
|
+
}
|
|
1226
|
+
interface VersionedInvocation {
|
|
1227
|
+
minMajor: number;
|
|
1228
|
+
argsTemplate: string[];
|
|
1229
|
+
env?: Record<string, string>;
|
|
1202
1230
|
}
|
|
1203
1231
|
interface BlockingPrompt {
|
|
1204
1232
|
/** Text the prompt shows; matched ignoring case and whitespace. */
|
|
@@ -1352,6 +1380,8 @@ interface ResolveContext {
|
|
|
1352
1380
|
interactive?: boolean;
|
|
1353
1381
|
/** The task's working directory — needed by runners whose autonomy flags name a path. */
|
|
1354
1382
|
cwd?: string;
|
|
1383
|
+
/** The installed runner's `--version`, read only for a manifest with `versioned` invocations. */
|
|
1384
|
+
runnerVersion?: string;
|
|
1355
1385
|
}
|
|
1356
1386
|
interface RunnerInvocation {
|
|
1357
1387
|
command: string;
|
|
@@ -2169,4 +2199,4 @@ interface ValidationContext {
|
|
|
2169
2199
|
type ValidationCheck = (ctx: ValidationContext) => ValidationResult;
|
|
2170
2200
|
declare function warningsText(w: PlanModificationWarnings): string | null;
|
|
2171
2201
|
|
|
2172
|
-
export { type IsolationRun as $, AbstractRunner as A, type BlockingPrompt as B, CMD_EXE_MAX_COMMAND_LINE as C, DENY_ALL as D, EmbeddedNewlineError as E, type FetchAllProviderModelsOptions as F, HeadlessSession as G, HeadlessRunner as H, type IApproval as I, type IConfig as J, type IPluginStore as K, type ITerminalRunner as L, type ITerminalSession as M, type IWorktreeIsolation as N, type IntegrationDisposal as O, type IsolationAvailability as P, type IsolationHandoff as Q, type IsolationHandoffRepo as R, type IsolationInactiveReason as S, type IsolationLandedTask as T, type IsolationLanding as U, type IsolationMergeBlock as V, type IsolationMergeBlockReason as W, type IsolationMergeResult as X, type IsolationOutcome as Y, type IsolationPruneResult as Z, type IsolationRepo as _, AbstractTerminalSession as a, type
|
|
2202
|
+
export { type IsolationRun as $, AbstractRunner as A, type BlockingPrompt as B, CMD_EXE_MAX_COMMAND_LINE as C, DENY_ALL as D, EmbeddedNewlineError as E, type FetchAllProviderModelsOptions as F, HeadlessSession as G, HeadlessRunner as H, type IApproval as I, type IConfig as J, type IPluginStore as K, type ITerminalRunner as L, type ITerminalSession as M, type IWorktreeIsolation as N, type IntegrationDisposal as O, type IsolationAvailability as P, type IsolationHandoff as Q, type IsolationHandoffRepo as R, type IsolationInactiveReason as S, type IsolationLandedTask as T, type IsolationLanding as U, type IsolationMergeBlock as V, type IsolationMergeBlockReason as W, type IsolationMergeResult as X, type IsolationOutcome as Y, type IsolationPruneResult as Z, type IsolationRepo as _, AbstractTerminalSession as a, type TaskModelAssignment as a$, type IsolationTaskRecord as a0, type IsolationTaskRepo as a1, type IsolationTaskStatus as a2, type IsolationView as a3, type LaunchDeps as a4, type LaunchPlan as a5, type LegacyPlanState as a6, LineBuffer as a7, type Message as a8, ModelCatalog as a9, type ResearchLogEntry as aA, type ResearchProgress as aB, type ResearchStep as aC, type ResearchStepOutcome as aD, type ResearchToolType as aE, type ResolveContext as aF, type RunnerId as aG, type RunnerInvocation as aH, type RunnerPluginManifest as aI, RunnerRegistry as aJ, type RunnerSpawnOptions as aK, type RunnerTransport as aL, type RunnerVersionProbe as aM, type StreamEvent as aN, type StreamStepEvent as aO, type StreamThinkingEvent as aP, type StructuredEvent as aQ, type StructuredSessionCapability as aR, type StructuredTurnEnd as aS, type SubagentLogEntry as aT, type SubagentOutcome as aU, type Task as aV, type TaskIsolation as aW, type TaskIsolationState as aX, type TaskMode as aY, type TaskModeAgentAdapter as aZ, TaskModeUnsupportedError as a_, type ModelShortcut as aa, ORCHESTRATOR_SHORTCUTS as ab, type OrchestratorOption as ac, type PlanIsolation as ad, type PlanModificationWarnings as ae, type PlanState as af, type PlanStatus as ag, type PlannerStartOptions as ah, type PlannerUsage as ai, type PluginCloneFn as aj, type PluginEntry as ak, type PluginFeatures as al, type PluginMode as am, type PluginModelDiscovery as an, type PluginRunnerDef as ao, type PreparedLaunch as ap, type PreparedTask as aq, type ProviderCredentialSource as ar, type ProviderModelLists as as, type ProviderModelsResult as at, type PtySize as au, type PtyWrapOptions as av, type QueuedMessage as aw, type QueuedTaskMessage as ax, type RepairEvidence as ay, type RepoGroupLayout as az, type ActiveTaskSession as b, windowsCommandLine as b$, type TaskOutputSummary as b0, type TaskRunnerFlags as b1, type TaskSnapshot as b2, type TaskStartOptions as b3, type TaskStatus as b4, type TaskTransport as b5, type TaskType as b6, type TaskWithParent as b7, type ThinkingBlock as b8, type TreeSnapshot as b9, isGranted as bA, isMeasured as bB, isReservedRunnerName as bC, isRunnerApproval as bD, isRunnerTransport as bE, isStructuredSession as bF, keepExecutionState as bG, knownModelId as bH, migrateLegacyPlan as bI, migratePlanState as bJ, migrateTask as bK, partedPromptUsage as bL, planDirectLaunch as bM, planShellLaunch as bN, plannerContextFill as bO, posixShellQuote as bP, removeTaskFromPlan as bQ, renumberTasks as bR, resolveModelShortcut as bS, resolveProvider as bT, stripAnsi as bU, toApprovalDecision as bV, toOrchestratorOptions as bW, updateTaskInPlan as bX, usageLine as bY, validateModifiedPlan as bZ, warningsText as b_, type UsageLine as ba, type UsageRecord as bb, type UsageTotals as bc, type UserPromptEntry as bd, type UserStep as be, type ValidationCheck as bf, type ValidationContext as bg, type ValidationResult as bh, type Verdict as bi, type VerificationCheck as bj, WINDOWS_MAX_COMMAND_LINE as bk, addPlannerUsage as bl, addTaskToPlan as bm, addUsage as bn, approvalScopes as bo, buildShellInvocation as bp, collectProviderCredentials as bq, createEmptyPlan as br, createTask as bs, emptyWarnings as bt, enabledRunners as bu, fetchAllProviderModels as bv, flattenTasks as bw, flattenTasksWithParents as bx, isAwaitingReason as by, isExecutableResolved as bz, type AgentAdapter as c, wrapWithPty as c0, 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, CommandLineTooLongError as t, type ConversationMessage as u, type DiscoveredMode as v, type DiscoveredModel as w, type DiscoveryCommand as x, ExecutableNotFoundError as y, type HeadlessRunnerDeps as z };
|
|
@@ -450,6 +450,9 @@ interface IWorktreeIsolation {
|
|
|
450
450
|
sweep(run: IsolationRun): Promise<void>;
|
|
451
451
|
}
|
|
452
452
|
|
|
453
|
+
/** Reads a runner's `--version` line, or undefined when it will not say. */
|
|
454
|
+
type RunnerVersionProbe = (command: string, PATH: string) => Promise<string | undefined>;
|
|
455
|
+
|
|
453
456
|
/** One source for the spawn options, so a runner built on this base cannot drift from the interface. */
|
|
454
457
|
type RunnerSpawnOptions = Parameters<ITerminalRunner['spawn']>[0];
|
|
455
458
|
declare abstract class AbstractTerminalSession implements ITerminalSession {
|
|
@@ -509,6 +512,8 @@ interface PtySize {
|
|
|
509
512
|
interface PtyWrapOptions {
|
|
510
513
|
size?: PtySize;
|
|
511
514
|
controlChannel?: boolean;
|
|
515
|
+
/** Decides which `script` is on the host; defaults to this process's platform. */
|
|
516
|
+
platform?: NodeJS.Platform;
|
|
512
517
|
}
|
|
513
518
|
/**
|
|
514
519
|
* Wrap a command in `script` to allocate the PTY some runners require when
|
|
@@ -683,6 +688,8 @@ interface HeadlessRunnerDeps {
|
|
|
683
688
|
* Windows branch consults them, so a POSIX test never needs to pass anything.
|
|
684
689
|
*/
|
|
685
690
|
launchDeps?: LaunchDeps;
|
|
691
|
+
/** Reads the runner's version, for a manifest whose command line differs by major version. */
|
|
692
|
+
runnerVersion?: RunnerVersionProbe;
|
|
686
693
|
}
|
|
687
694
|
declare class HeadlessSession extends AbstractTerminalSession {
|
|
688
695
|
private spawnImpl;
|
|
@@ -698,6 +705,8 @@ declare class HeadlessSession extends AbstractTerminalSession {
|
|
|
698
705
|
kill(): void;
|
|
699
706
|
getOutput(): string;
|
|
700
707
|
write(text: string): void;
|
|
708
|
+
/** Closes the runner's stdin: what it has read so far is all it will get. */
|
|
709
|
+
endInput(): void;
|
|
701
710
|
/** PTY resize requests from a surface that owns the terminal rendering the wrapper. */
|
|
702
711
|
writeControl(text: string): void;
|
|
703
712
|
}
|
|
@@ -711,12 +720,19 @@ interface PreparedLaunch {
|
|
|
711
720
|
pty: boolean;
|
|
712
721
|
/** True when the started process needs an explicit Enter sent to submit its pre-filled prompt. */
|
|
713
722
|
submitPromptKey: boolean;
|
|
723
|
+
/**
|
|
724
|
+
* True when nothing can be typed into the run: no TTY, no interactive shape,
|
|
725
|
+
* and the prompt already in its arguments. Its stdin is then closed, because
|
|
726
|
+
* a CLI such as `codex exec` reads a piped stdin to its end before starting.
|
|
727
|
+
*/
|
|
728
|
+
closeStdin: boolean;
|
|
714
729
|
}
|
|
715
730
|
declare class HeadlessRunner extends AbstractRunner<HeadlessSession> {
|
|
716
731
|
private spawnImpl;
|
|
717
732
|
private hasScriptCmd;
|
|
718
733
|
private resolvePath;
|
|
719
734
|
private launchDeps;
|
|
735
|
+
private runnerVersion;
|
|
720
736
|
private spawnCount;
|
|
721
737
|
/**
|
|
722
738
|
* Session shape: a piped subprocess is not a terminal, so runners get their
|
|
@@ -1199,6 +1215,18 @@ interface PluginRunnerDef {
|
|
|
1199
1215
|
* answers one; seeing it, the task's user is told where to.
|
|
1200
1216
|
*/
|
|
1201
1217
|
blockingPrompts?: BlockingPrompt[];
|
|
1218
|
+
/**
|
|
1219
|
+
* The command lines a later major version of the runner takes instead of
|
|
1220
|
+
* `argsTemplate`/`env`, for a runner whose CLI changed shape between majors.
|
|
1221
|
+
* The one with the highest `minMajor` the installed version reaches wins; an
|
|
1222
|
+
* install whose version cannot be read keeps the base template.
|
|
1223
|
+
*/
|
|
1224
|
+
versioned?: VersionedInvocation[];
|
|
1225
|
+
}
|
|
1226
|
+
interface VersionedInvocation {
|
|
1227
|
+
minMajor: number;
|
|
1228
|
+
argsTemplate: string[];
|
|
1229
|
+
env?: Record<string, string>;
|
|
1202
1230
|
}
|
|
1203
1231
|
interface BlockingPrompt {
|
|
1204
1232
|
/** Text the prompt shows; matched ignoring case and whitespace. */
|
|
@@ -1352,6 +1380,8 @@ interface ResolveContext {
|
|
|
1352
1380
|
interactive?: boolean;
|
|
1353
1381
|
/** The task's working directory — needed by runners whose autonomy flags name a path. */
|
|
1354
1382
|
cwd?: string;
|
|
1383
|
+
/** The installed runner's `--version`, read only for a manifest with `versioned` invocations. */
|
|
1384
|
+
runnerVersion?: string;
|
|
1355
1385
|
}
|
|
1356
1386
|
interface RunnerInvocation {
|
|
1357
1387
|
command: string;
|
|
@@ -2169,4 +2199,4 @@ interface ValidationContext {
|
|
|
2169
2199
|
type ValidationCheck = (ctx: ValidationContext) => ValidationResult;
|
|
2170
2200
|
declare function warningsText(w: PlanModificationWarnings): string | null;
|
|
2171
2201
|
|
|
2172
|
-
export { type IsolationRun as $, AbstractRunner as A, type BlockingPrompt as B, CMD_EXE_MAX_COMMAND_LINE as C, DENY_ALL as D, EmbeddedNewlineError as E, type FetchAllProviderModelsOptions as F, HeadlessSession as G, HeadlessRunner as H, type IApproval as I, type IConfig as J, type IPluginStore as K, type ITerminalRunner as L, type ITerminalSession as M, type IWorktreeIsolation as N, type IntegrationDisposal as O, type IsolationAvailability as P, type IsolationHandoff as Q, type IsolationHandoffRepo as R, type IsolationInactiveReason as S, type IsolationLandedTask as T, type IsolationLanding as U, type IsolationMergeBlock as V, type IsolationMergeBlockReason as W, type IsolationMergeResult as X, type IsolationOutcome as Y, type IsolationPruneResult as Z, type IsolationRepo as _, AbstractTerminalSession as a, type
|
|
2202
|
+
export { type IsolationRun as $, AbstractRunner as A, type BlockingPrompt as B, CMD_EXE_MAX_COMMAND_LINE as C, DENY_ALL as D, EmbeddedNewlineError as E, type FetchAllProviderModelsOptions as F, HeadlessSession as G, HeadlessRunner as H, type IApproval as I, type IConfig as J, type IPluginStore as K, type ITerminalRunner as L, type ITerminalSession as M, type IWorktreeIsolation as N, type IntegrationDisposal as O, type IsolationAvailability as P, type IsolationHandoff as Q, type IsolationHandoffRepo as R, type IsolationInactiveReason as S, type IsolationLandedTask as T, type IsolationLanding as U, type IsolationMergeBlock as V, type IsolationMergeBlockReason as W, type IsolationMergeResult as X, type IsolationOutcome as Y, type IsolationPruneResult as Z, type IsolationRepo as _, AbstractTerminalSession as a, type TaskModelAssignment as a$, type IsolationTaskRecord as a0, type IsolationTaskRepo as a1, type IsolationTaskStatus as a2, type IsolationView as a3, type LaunchDeps as a4, type LaunchPlan as a5, type LegacyPlanState as a6, LineBuffer as a7, type Message as a8, ModelCatalog as a9, type ResearchLogEntry as aA, type ResearchProgress as aB, type ResearchStep as aC, type ResearchStepOutcome as aD, type ResearchToolType as aE, type ResolveContext as aF, type RunnerId as aG, type RunnerInvocation as aH, type RunnerPluginManifest as aI, RunnerRegistry as aJ, type RunnerSpawnOptions as aK, type RunnerTransport as aL, type RunnerVersionProbe as aM, type StreamEvent as aN, type StreamStepEvent as aO, type StreamThinkingEvent as aP, type StructuredEvent as aQ, type StructuredSessionCapability as aR, type StructuredTurnEnd as aS, type SubagentLogEntry as aT, type SubagentOutcome as aU, type Task as aV, type TaskIsolation as aW, type TaskIsolationState as aX, type TaskMode as aY, type TaskModeAgentAdapter as aZ, TaskModeUnsupportedError as a_, type ModelShortcut as aa, ORCHESTRATOR_SHORTCUTS as ab, type OrchestratorOption as ac, type PlanIsolation as ad, type PlanModificationWarnings as ae, type PlanState as af, type PlanStatus as ag, type PlannerStartOptions as ah, type PlannerUsage as ai, type PluginCloneFn as aj, type PluginEntry as ak, type PluginFeatures as al, type PluginMode as am, type PluginModelDiscovery as an, type PluginRunnerDef as ao, type PreparedLaunch as ap, type PreparedTask as aq, type ProviderCredentialSource as ar, type ProviderModelLists as as, type ProviderModelsResult as at, type PtySize as au, type PtyWrapOptions as av, type QueuedMessage as aw, type QueuedTaskMessage as ax, type RepairEvidence as ay, type RepoGroupLayout as az, type ActiveTaskSession as b, windowsCommandLine as b$, type TaskOutputSummary as b0, type TaskRunnerFlags as b1, type TaskSnapshot as b2, type TaskStartOptions as b3, type TaskStatus as b4, type TaskTransport as b5, type TaskType as b6, type TaskWithParent as b7, type ThinkingBlock as b8, type TreeSnapshot as b9, isGranted as bA, isMeasured as bB, isReservedRunnerName as bC, isRunnerApproval as bD, isRunnerTransport as bE, isStructuredSession as bF, keepExecutionState as bG, knownModelId as bH, migrateLegacyPlan as bI, migratePlanState as bJ, migrateTask as bK, partedPromptUsage as bL, planDirectLaunch as bM, planShellLaunch as bN, plannerContextFill as bO, posixShellQuote as bP, removeTaskFromPlan as bQ, renumberTasks as bR, resolveModelShortcut as bS, resolveProvider as bT, stripAnsi as bU, toApprovalDecision as bV, toOrchestratorOptions as bW, updateTaskInPlan as bX, usageLine as bY, validateModifiedPlan as bZ, warningsText as b_, type UsageLine as ba, type UsageRecord as bb, type UsageTotals as bc, type UserPromptEntry as bd, type UserStep as be, type ValidationCheck as bf, type ValidationContext as bg, type ValidationResult as bh, type Verdict as bi, type VerificationCheck as bj, WINDOWS_MAX_COMMAND_LINE as bk, addPlannerUsage as bl, addTaskToPlan as bm, addUsage as bn, approvalScopes as bo, buildShellInvocation as bp, collectProviderCredentials as bq, createEmptyPlan as br, createTask as bs, emptyWarnings as bt, enabledRunners as bu, fetchAllProviderModels as bv, flattenTasks as bw, flattenTasksWithParents as bx, isAwaitingReason as by, isExecutableResolved as bz, type AgentAdapter as c, wrapWithPty as c0, 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, CommandLineTooLongError as t, type ConversationMessage as u, type DiscoveredMode as v, type DiscoveredModel as w, type DiscoveryCommand as x, ExecutableNotFoundError as y, type HeadlessRunnerDeps as z };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { aG as RunnerId, ag as PlanStatus, a6 as LegacyPlanState, I as IApproval, k as ApprovalDecision, p as ApprovalRequest, j as ApprovalAnswer, L as ITerminalRunner, J as IConfig, h as AiProvider, as as ProviderModelLists, m as ApprovalMode, X as IsolationMergeResult, T as IsolationLandedTask, N as IWorktreeIsolation, a2 as IsolationTaskStatus, ad as PlanIsolation, aL as RunnerTransport, az as RepoGroupLayout, M as ITerminalSession, w as DiscoveredModel,
|
|
2
|
-
export { d as AgentAdapterFactory, i as AllProviderModels, l as ApprovalKind, o as ApprovalPolicyOptions, q as ApprovalSource, B as BlockingPrompt, C as CMD_EXE_MAX_COMMAND_LINE, s as CatalogModel, t as CommandLineTooLongError, D as DENY_ALL, v as DiscoveredMode, x as DiscoveryCommand, E as EmbeddedNewlineError, y as ExecutableNotFoundError, F as FetchAllProviderModelsOptions, H as HeadlessRunner, z as HeadlessRunnerDeps, G as HeadlessSession, O as IntegrationDisposal, P as IsolationAvailability, R as IsolationHandoffRepo, S as IsolationInactiveReason, U as IsolationLanding, V as IsolationMergeBlock, W as IsolationMergeBlockReason, Z as IsolationPruneResult, _ as IsolationRepo, a1 as IsolationTaskRepo, a4 as LaunchDeps, a5 as LaunchPlan, a7 as LineBuffer, a8 as Message, a9 as ModelCatalog, aa as ModelShortcut, ab as ORCHESTRATOR_SHORTCUTS, ae as PlanModificationWarnings, ah as PlannerStartOptions, aj as PluginCloneFn, ak as PluginEntry, al as PluginFeatures, am as PluginMode, an as PluginModelDiscovery, ao as PluginRunnerDef, ap as PreparedLaunch, aq as PreparedTask, ar as ProviderCredentialSource, at as ProviderModelsResult, au as PtySize, av as PtyWrapOptions, aC as ResearchStep, aD as ResearchStepOutcome,
|
|
3
|
-
import { u as TaskOp, M as MergeGateView, m as SessionBroadcaster, A as ApplyTaskOpsResult, n as SessionMessage, o as SessionNotice, s as TaskLogEvent } from './plan-utils-
|
|
4
|
-
export { a as ApprovalBlock, b as ApprovalStatus, C as CHECKPOINT_TRUNCATE_LENGTH, c as ConversationInput, d as ConversationView, D as DisplayBlock, E as EMPTY_CONVERSATION, e as EMPTY_HOLD, f as EMPTY_TASK_LOG, G as GatedConversation, L as LocalEntry, g as MessageBlock, h as MessageRole, N as NO_TURN, O as OutputPreview, P as PlanBlock, i as PlanMarkerStatus, j as PromptHold, S as SerializedPlan, k as SerializedTask, l as SerializedTaskStatus, p as SubagentBlock, q as SubagentChild, r as SubagentStatus, T as TakenPrompt, t as TaskLogView, v as TaskRef, w as ThinkingDisplayBlock, x as ToolBlock, y as ToolHeadline, z as ToolStatus, B as TurnGate, U as UsageBlock, F as aheadOfDraft, H as applyTaskOps, I as canMergeTasks, J as canSetDependencies, K as canSplitTask, Q as capConflictFiles, R as classifyOutcome, V as coalesceTaskLog, W as dependencyCandidates, X as dependentsOf, Y as digestTaskLog, Z as drainNext, _ as executionSummary, $ as followTurn, a0 as fromTranscript, a1 as hasHiddenDetail, a2 as holdPrompt, a3 as outputLines, a4 as outputPreview, a5 as parseTaskOpsJson, a6 as reduceConversation, a7 as reduceTaskLog, a8 as replayTaskLog, a9 as runnerToolSubject, aa as serializePlan, ab as serializeTask, ac as serializeTaskStatus, ad as stopTurn, ae as summarizeToolCall, af as taskStartedNotice, ag as textHasTaskOps, ah as toTaskLogEvent, ai as toolHeadline, aj as trimToolOutput, ak as truncateCheckpointSummary, al as unsendAll, am as unsendLatest } from './plan-utils-
|
|
5
|
-
import { I as IFileSystem, R as ReadFileOpts, T as ToolOutcome, b as GrepOptions, a as GlobOptions, F as FindSymbolOptions } from './IFileSystem-
|
|
6
|
-
export { G as GREP_DEFAULT_HEAD_LIMIT, c as GrepOutputMode, S as SEARCH_EXCLUSIONS } from './IFileSystem-
|
|
7
|
-
import { R as RunnerModeInfo } from './ModeResolver-
|
|
8
|
-
export { M as ManifestLookup, a as autonomyLevelLabel, b as buildModeGuide, f as filteredBuildModes, p as parseAutonomyLevel, r as resolveDefaultMode, c as resolveTaskMode, d as runnerModesFrom } from './ModeResolver-
|
|
1
|
+
import { aG as RunnerId, ag as PlanStatus, a6 as LegacyPlanState, I as IApproval, k as ApprovalDecision, p as ApprovalRequest, j as ApprovalAnswer, L as ITerminalRunner, J as IConfig, h as AiProvider, as as ProviderModelLists, m as ApprovalMode, X as IsolationMergeResult, T as IsolationLandedTask, N as IWorktreeIsolation, a2 as IsolationTaskStatus, ad as PlanIsolation, aL as RunnerTransport, az as RepoGroupLayout, M as ITerminalSession, w as DiscoveredModel, aV as Task, f as AgentProcessDeps, c as AgentAdapter, aB as ResearchProgress, aA as ResearchLogEntry, u as ConversationMessage, bb as UsageRecord, b2 as TaskSnapshot, r as AwaitingReason, Q as IsolationHandoff, $ as IsolationRun, a0 as IsolationTaskRecord, aW as TaskIsolation, a3 as IsolationView, Y as IsolationOutcome, ay as RepairEvidence, b9 as TreeSnapshot, bi as Verdict, aJ as RunnerRegistry, ax as QueuedTaskMessage, aw as QueuedMessage, b as ActiveTaskSession, ac as OrchestratorOption, aZ as TaskModeAgentAdapter, g as AgentStartOptions, e as AgentEvent, aE as ResearchToolType, ai as PlannerUsage, n as ApprovalPolicy, af as PlanState, aH as RunnerInvocation, A as AbstractRunner, a as AbstractTerminalSession, aM as RunnerVersionProbe, aR as StructuredSessionCapability, b3 as TaskStartOptions, aS as StructuredTurnEnd, aQ as StructuredEvent, aK as RunnerSpawnOptions, K as IPluginStore, aI as RunnerPluginManifest, aF as ResolveContext, b1 as TaskRunnerFlags } from './Task-xqdxugt2.mjs';
|
|
2
|
+
export { d as AgentAdapterFactory, i as AllProviderModels, l as ApprovalKind, o as ApprovalPolicyOptions, q as ApprovalSource, B as BlockingPrompt, C as CMD_EXE_MAX_COMMAND_LINE, s as CatalogModel, t as CommandLineTooLongError, D as DENY_ALL, v as DiscoveredMode, x as DiscoveryCommand, E as EmbeddedNewlineError, y as ExecutableNotFoundError, F as FetchAllProviderModelsOptions, H as HeadlessRunner, z as HeadlessRunnerDeps, G as HeadlessSession, O as IntegrationDisposal, P as IsolationAvailability, R as IsolationHandoffRepo, S as IsolationInactiveReason, U as IsolationLanding, V as IsolationMergeBlock, W as IsolationMergeBlockReason, Z as IsolationPruneResult, _ as IsolationRepo, a1 as IsolationTaskRepo, a4 as LaunchDeps, a5 as LaunchPlan, a7 as LineBuffer, a8 as Message, a9 as ModelCatalog, aa as ModelShortcut, ab as ORCHESTRATOR_SHORTCUTS, ae as PlanModificationWarnings, ah as PlannerStartOptions, aj as PluginCloneFn, ak as PluginEntry, al as PluginFeatures, am as PluginMode, an as PluginModelDiscovery, ao as PluginRunnerDef, ap as PreparedLaunch, aq as PreparedTask, ar as ProviderCredentialSource, at as ProviderModelsResult, au as PtySize, av as PtyWrapOptions, aC as ResearchStep, aD as ResearchStepOutcome, aN as StreamEvent, aO as StreamStepEvent, aP as StreamThinkingEvent, aT as SubagentLogEntry, aU as SubagentOutcome, aX as TaskIsolationState, aY as TaskMode, a_ as TaskModeUnsupportedError, a$ as TaskModelAssignment, b0 as TaskOutputSummary, b4 as TaskStatus, b5 as TaskTransport, b6 as TaskType, b7 as TaskWithParent, b8 as ThinkingBlock, ba as UsageLine, bc as UsageTotals, bd as UserPromptEntry, be as UserStep, bf as ValidationCheck, bg as ValidationContext, bh as ValidationResult, bj as VerificationCheck, bk as WINDOWS_MAX_COMMAND_LINE, bl as addPlannerUsage, bm as addTaskToPlan, bn as addUsage, bo as approvalScopes, bp as buildShellInvocation, bq as collectProviderCredentials, br as createEmptyPlan, bs as createTask, bt as emptyWarnings, bu as enabledRunners, bv as fetchAllProviderModels, bw as flattenTasks, bx as flattenTasksWithParents, by as isAwaitingReason, bz as isExecutableResolved, bA as isGranted, bB as isMeasured, bC as isReservedRunnerName, bD as isRunnerApproval, bE as isRunnerTransport, bF as isStructuredSession, bG as keepExecutionState, bH as knownModelId, bI as migrateLegacyPlan, bJ as migratePlanState, bK as migrateTask, bL as partedPromptUsage, bM as planDirectLaunch, bN as planShellLaunch, bO as plannerContextFill, bP as posixShellQuote, bQ as removeTaskFromPlan, bR as renumberTasks, bS as resolveModelShortcut, bT as resolveProvider, bU as stripAnsi, bV as toApprovalDecision, bW as toOrchestratorOptions, bX as updateTaskInPlan, bY as usageLine, bZ as validateModifiedPlan, b_ as warningsText, b$ as windowsCommandLine, c0 as wrapWithPty } from './Task-xqdxugt2.mjs';
|
|
3
|
+
import { u as TaskOp, M as MergeGateView, m as SessionBroadcaster, A as ApplyTaskOpsResult, n as SessionMessage, o as SessionNotice, s as TaskLogEvent } from './plan-utils-DMgajMvd.mjs';
|
|
4
|
+
export { a as ApprovalBlock, b as ApprovalStatus, C as CHECKPOINT_TRUNCATE_LENGTH, c as ConversationInput, d as ConversationView, D as DisplayBlock, E as EMPTY_CONVERSATION, e as EMPTY_HOLD, f as EMPTY_TASK_LOG, G as GatedConversation, L as LocalEntry, g as MessageBlock, h as MessageRole, N as NO_TURN, O as OutputPreview, P as PlanBlock, i as PlanMarkerStatus, j as PromptHold, S as SerializedPlan, k as SerializedTask, l as SerializedTaskStatus, p as SubagentBlock, q as SubagentChild, r as SubagentStatus, T as TakenPrompt, t as TaskLogView, v as TaskRef, w as ThinkingDisplayBlock, x as ToolBlock, y as ToolHeadline, z as ToolStatus, B as TurnGate, U as UsageBlock, F as aheadOfDraft, H as applyTaskOps, I as canMergeTasks, J as canSetDependencies, K as canSplitTask, Q as capConflictFiles, R as classifyOutcome, V as coalesceTaskLog, W as dependencyCandidates, X as dependentsOf, Y as digestTaskLog, Z as drainNext, _ as executionSummary, $ as followTurn, a0 as fromTranscript, a1 as hasHiddenDetail, a2 as holdPrompt, a3 as outputLines, a4 as outputPreview, a5 as parseTaskOpsJson, a6 as reduceConversation, a7 as reduceTaskLog, a8 as replayTaskLog, a9 as runnerToolSubject, aa as serializePlan, ab as serializeTask, ac as serializeTaskStatus, ad as stopTurn, ae as summarizeToolCall, af as taskStartedNotice, ag as textHasTaskOps, ah as toTaskLogEvent, ai as toolHeadline, aj as trimToolOutput, ak as truncateCheckpointSummary, al as unsendAll, am as unsendLatest } from './plan-utils-DMgajMvd.mjs';
|
|
5
|
+
import { I as IFileSystem, R as ReadFileOpts, T as ToolOutcome, b as GrepOptions, a as GlobOptions, F as FindSymbolOptions } from './IFileSystem-Qj2MWHn_.mjs';
|
|
6
|
+
export { G as GREP_DEFAULT_HEAD_LIMIT, c as GrepOutputMode, S as SEARCH_EXCLUSIONS } from './IFileSystem-Qj2MWHn_.mjs';
|
|
7
|
+
import { R as RunnerModeInfo } from './ModeResolver-rqaY_4Ex.mjs';
|
|
8
|
+
export { M as ManifestLookup, a as autonomyLevelLabel, b as buildModeGuide, f as filteredBuildModes, p as parseAutonomyLevel, r as resolveDefaultMode, c as resolveTaskMode, d as runnerModesFrom } from './ModeResolver-rqaY_4Ex.mjs';
|
|
9
9
|
import { ChildProcess } from 'child_process';
|
|
10
|
-
import { b as PlanParseError } from './parsing-
|
|
11
|
-
export { P as PLAN_ENVELOPE_KEY, a as PartialPlanTask, T as TASK_OPS_ENVELOPE_KEY, c as TASK_QUERY_ENVELOPE_KEY, d as checkDepsResolve, e as checkImmutableLog, f as checkInProgress, g as checkNoCycles, h as checkUniqueIds, i as escapeControlCharsInStrings, j as extractJsonObject, k as extractObjectWithBalance, l as extractObjectsWithKey, m as looksLikePlanAttempt, o as opensWithJsonObject, p as parsePartialPlan, n as parsePlanJson, s as stripModelNoise, q as stripTrailingCommas, v as validatePlanModification } from './parsing-
|
|
10
|
+
import { b as PlanParseError } from './parsing-DDZ1rUYa.mjs';
|
|
11
|
+
export { P as PLAN_ENVELOPE_KEY, a as PartialPlanTask, T as TASK_OPS_ENVELOPE_KEY, c as TASK_QUERY_ENVELOPE_KEY, d as checkDepsResolve, e as checkImmutableLog, f as checkInProgress, g as checkNoCycles, h as checkUniqueIds, i as escapeControlCharsInStrings, j as extractJsonObject, k as extractObjectWithBalance, l as extractObjectsWithKey, m as looksLikePlanAttempt, o as opensWithJsonObject, p as parsePartialPlan, n as parsePlanJson, s as stripModelNoise, q as stripTrailingCommas, v as validatePlanModification } from './parsing-DDZ1rUYa.mjs';
|
|
12
12
|
export { resolveOrderLabel, taskOrderLabel } from './order-labels.mjs';
|
|
13
13
|
import 'events';
|
|
14
14
|
|
|
@@ -27,77 +27,6 @@ interface SessionData {
|
|
|
27
27
|
plan: LegacyPlanState;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
/**
|
|
31
|
-
* Which interpreter runs the planner's `bash` tool, and in which language.
|
|
32
|
-
*
|
|
33
|
-
* `AUTO_COMMANDS` — the read-only tier that runs with no prompt — is `ls`, `cat`,
|
|
34
|
-
* `wc`, `head`, `tail`, `du`, `df`, `file`, `sort`, `uniq`, `basename`, `find`,
|
|
35
|
-
* `grep`. That set is POSIX, and passing it to `shell: true` on Windows means
|
|
36
|
-
* cmd.exe, where most of those names do not exist and `find` is an unrelated
|
|
37
|
-
* program that returns plausible wrong output instead of an error. The planner's
|
|
38
|
-
* whole research surface degraded to guessing, quietly.
|
|
39
|
-
*
|
|
40
|
-
* Rather than write a Windows dialect of every research command — a second
|
|
41
|
-
* behavior to keep in step forever — this finds a POSIX shell to run the
|
|
42
|
-
* existing ones in. Git for Windows ships a full one, and git is already a
|
|
43
|
-
* prerequisite for everything Ordewell does, so in practice it is there. Failing
|
|
44
|
-
* that, cmd.exe is used and the classifier is told so, because the one thing
|
|
45
|
-
* that must never happen is classifying a command in one language and running it
|
|
46
|
-
* in another: `commandPolicy` reads {@link ResearchShell.dialect} for exactly
|
|
47
|
-
* that reason.
|
|
48
|
-
*
|
|
49
|
-
* POSIX resolves to `{ file: null }`, meaning "use `shell: true`" — byte for
|
|
50
|
-
* byte what the adapters did before this module existed.
|
|
51
|
-
*
|
|
52
|
-
* Windows paths are built with `path.win32` explicitly, not the host-flavoured
|
|
53
|
-
* `path`, so the probe is the same on a Windows host as it is under a Linux
|
|
54
|
-
* test runner.
|
|
55
|
-
*/
|
|
56
|
-
type ShellDialect = 'posix' | 'cmd';
|
|
57
|
-
interface ResearchShell {
|
|
58
|
-
/**
|
|
59
|
-
* Executable that takes a command string, or null to use the host default
|
|
60
|
-
* via `shell: true`.
|
|
61
|
-
*/
|
|
62
|
-
file: string | null;
|
|
63
|
-
/** Arguments preceding the command string. */
|
|
64
|
-
args: string[];
|
|
65
|
-
/** The language the command string will be interpreted in. */
|
|
66
|
-
dialect: ShellDialect;
|
|
67
|
-
/**
|
|
68
|
-
* Directory holding this shell's POSIX utilities, when it brings its own.
|
|
69
|
-
* Prepended to PATH for the search subprocesses (`grep`, `tree`) that
|
|
70
|
-
* `execFile` starts without a shell, so they resolve too.
|
|
71
|
-
*/
|
|
72
|
-
utilsDir: string | null;
|
|
73
|
-
}
|
|
74
|
-
interface ResearchShellDeps {
|
|
75
|
-
platform?: NodeJS.Platform;
|
|
76
|
-
exists?: (candidate: string) => boolean;
|
|
77
|
-
env?: NodeJS.ProcessEnv;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* The shell the planner's `bash` tool should use on this host. Resolved once per
|
|
81
|
-
* process — the answer cannot change while Ordewell runs, and the probe costs a
|
|
82
|
-
* handful of `stat` calls.
|
|
83
|
-
*/
|
|
84
|
-
declare function resolveResearchShell(deps?: ResearchShellDeps): ResearchShell;
|
|
85
|
-
/** Test seam: drop the per-process cache so the next call re-probes. */
|
|
86
|
-
declare function clearResearchShellCache(): void;
|
|
87
|
-
/**
|
|
88
|
-
* PATH for the search subprocesses the adapters start without a shell, with the
|
|
89
|
-
* research shell's own utilities in front. Without this, `grep` — the fallback
|
|
90
|
-
* when ripgrep is absent — is unresolvable on a Windows box even when a
|
|
91
|
-
* perfectly good `grep.exe` sits in the Git tree beside the shell.
|
|
92
|
-
*/
|
|
93
|
-
declare function researchToolsPath(shell: ResearchShell, basePath: string | undefined): string;
|
|
94
|
-
/**
|
|
95
|
-
* A message explaining a degraded research surface, or null when there is
|
|
96
|
-
* nothing to explain. Surfaced by the adapters on the first refused command so
|
|
97
|
-
* the limitation is visible rather than inferred from bad answers.
|
|
98
|
-
*/
|
|
99
|
-
declare function researchShellWarning(shell: ResearchShell): string | null;
|
|
100
|
-
|
|
101
30
|
/**
|
|
102
31
|
* Tiered classification for the planner's `bash` tool.
|
|
103
32
|
*
|
|
@@ -211,6 +140,77 @@ interface CommandClassification {
|
|
|
211
140
|
*/
|
|
212
141
|
declare function classifyCommand(command: string, opts?: CommandPolicyOptions): CommandClassification;
|
|
213
142
|
|
|
143
|
+
/**
|
|
144
|
+
* Which interpreter runs the planner's `bash` tool, and in which language.
|
|
145
|
+
*
|
|
146
|
+
* `AUTO_COMMANDS` — the read-only tier that runs with no prompt — is `ls`, `cat`,
|
|
147
|
+
* `wc`, `head`, `tail`, `du`, `df`, `file`, `sort`, `uniq`, `basename`, `find`,
|
|
148
|
+
* `grep`. That set is POSIX, and passing it to `shell: true` on Windows means
|
|
149
|
+
* cmd.exe, where most of those names do not exist and `find` is an unrelated
|
|
150
|
+
* program that returns plausible wrong output instead of an error. The planner's
|
|
151
|
+
* whole research surface degraded to guessing, quietly.
|
|
152
|
+
*
|
|
153
|
+
* Rather than write a Windows dialect of every research command — a second
|
|
154
|
+
* behavior to keep in step forever — this finds a POSIX shell to run the
|
|
155
|
+
* existing ones in. Git for Windows ships a full one, and git is already a
|
|
156
|
+
* prerequisite for everything Ordewell does, so in practice it is there. Failing
|
|
157
|
+
* that, cmd.exe is used and the classifier is told so, because the one thing
|
|
158
|
+
* that must never happen is classifying a command in one language and running it
|
|
159
|
+
* in another: `commandPolicy` reads {@link ResearchShell.dialect} for exactly
|
|
160
|
+
* that reason.
|
|
161
|
+
*
|
|
162
|
+
* POSIX resolves to `{ file: null }`, meaning "use `shell: true`" — byte for
|
|
163
|
+
* byte what the adapters did before this module existed.
|
|
164
|
+
*
|
|
165
|
+
* Windows paths are built with `path.win32` explicitly, not the host-flavoured
|
|
166
|
+
* `path`, so the probe is the same on a Windows host as it is under a Linux
|
|
167
|
+
* test runner.
|
|
168
|
+
*/
|
|
169
|
+
type ShellDialect = 'posix' | 'cmd';
|
|
170
|
+
interface ResearchShell {
|
|
171
|
+
/**
|
|
172
|
+
* Executable that takes a command string, or null to use the host default
|
|
173
|
+
* via `shell: true`.
|
|
174
|
+
*/
|
|
175
|
+
file: string | null;
|
|
176
|
+
/** Arguments preceding the command string. */
|
|
177
|
+
args: string[];
|
|
178
|
+
/** The language the command string will be interpreted in. */
|
|
179
|
+
dialect: ShellDialect;
|
|
180
|
+
/**
|
|
181
|
+
* Directory holding this shell's POSIX utilities, when it brings its own.
|
|
182
|
+
* Prepended to PATH for the search subprocesses (`grep`, `tree`) that
|
|
183
|
+
* `execFile` starts without a shell, so they resolve too.
|
|
184
|
+
*/
|
|
185
|
+
utilsDir: string | null;
|
|
186
|
+
}
|
|
187
|
+
interface ResearchShellDeps {
|
|
188
|
+
platform?: NodeJS.Platform;
|
|
189
|
+
exists?: (candidate: string) => boolean;
|
|
190
|
+
env?: NodeJS.ProcessEnv;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* The shell the planner's `bash` tool should use on this host. Resolved once per
|
|
194
|
+
* process — the answer cannot change while Ordewell runs, and the probe costs a
|
|
195
|
+
* handful of `stat` calls.
|
|
196
|
+
*/
|
|
197
|
+
declare function resolveResearchShell(deps?: ResearchShellDeps): ResearchShell;
|
|
198
|
+
/** Test seam: drop the per-process cache so the next call re-probes. */
|
|
199
|
+
declare function clearResearchShellCache(): void;
|
|
200
|
+
/**
|
|
201
|
+
* PATH for the search subprocesses the adapters start without a shell, with the
|
|
202
|
+
* research shell's own utilities in front. Without this, `grep` — the fallback
|
|
203
|
+
* when ripgrep is absent — is unresolvable on a Windows box even when a
|
|
204
|
+
* perfectly good `grep.exe` sits in the Git tree beside the shell.
|
|
205
|
+
*/
|
|
206
|
+
declare function researchToolsPath(shell: ResearchShell, basePath: string | undefined): string;
|
|
207
|
+
/**
|
|
208
|
+
* A message explaining a degraded research surface, or null when there is
|
|
209
|
+
* nothing to explain. Surfaced by the adapters on the first refused command so
|
|
210
|
+
* the limitation is visible rather than inferred from bad answers.
|
|
211
|
+
*/
|
|
212
|
+
declare function researchShellWarning(shell: ResearchShell): string | null;
|
|
213
|
+
|
|
214
214
|
/**
|
|
215
215
|
* The policy half of the planner's filesystem: path confinement, the tiered
|
|
216
216
|
* `bash` gate, and the definition-first symbol lookup. Adapters supply only the
|
|
@@ -4665,6 +4665,8 @@ declare function buildRunnerInvocation(opts: {
|
|
|
4665
4665
|
headless?: boolean;
|
|
4666
4666
|
interactive?: boolean;
|
|
4667
4667
|
cwd?: string;
|
|
4668
|
+
/** The installed runner's `--version`, for a manifest whose command line differs by major version. */
|
|
4669
|
+
runnerVersion?: string;
|
|
4668
4670
|
registry: RunnerRegistry;
|
|
4669
4671
|
}): RunnerInvocation;
|
|
4670
4672
|
|
|
@@ -4721,6 +4723,8 @@ interface TmuxRunnerDeps {
|
|
|
4721
4723
|
pollIntervalMs?: number;
|
|
4722
4724
|
logDir?: string;
|
|
4723
4725
|
clipboardCommand?: () => string | null;
|
|
4726
|
+
/** Reads the runner's version, for a manifest whose command line differs by major version. */
|
|
4727
|
+
runnerVersion?: RunnerVersionProbe;
|
|
4724
4728
|
}
|
|
4725
4729
|
declare class TmuxSession extends AbstractTerminalSession {
|
|
4726
4730
|
private tmuxSession;
|
|
@@ -4790,6 +4794,7 @@ declare class TmuxRunner extends AbstractRunner<TmuxSession> {
|
|
|
4790
4794
|
private pollIntervalMs;
|
|
4791
4795
|
private logDir;
|
|
4792
4796
|
private clipboardCommand;
|
|
4797
|
+
private runnerVersion;
|
|
4793
4798
|
/** Retries get a freshly named window so a failed attempt's output stays inspectable. */
|
|
4794
4799
|
private attempts;
|
|
4795
4800
|
private ready;
|