@ordewell/core 0.5.6 → 0.6.1
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-C0l-4MGT.d.ts → IFileSystem-DuEiG_kA.d.ts} +1 -1
- package/dist/{IFileSystem-BkPX7mLD.d.mts → IFileSystem-d_SV7jAH.d.mts} +1 -1
- package/dist/{ModeResolver-CjpG5Wli.d.ts → ModeResolver-DIReYAOq.d.mts} +6 -2
- package/dist/{ModeResolver--16lh7dS.d.mts → ModeResolver-DXxV4n_V.d.ts} +6 -2
- package/dist/{Task-Dyxp67s2.d.mts → Task-ib_U0YP7.d.mts} +102 -16
- package/dist/{Task-Dyxp67s2.d.ts → Task-ib_U0YP7.d.ts} +102 -16
- package/dist/{chunk-ROVYWEBI.mjs → chunk-I6U3PVHL.mjs} +41 -17
- package/dist/chunk-I6U3PVHL.mjs.map +1 -0
- package/dist/{chunk-EDGUFCIR.mjs → chunk-JRZPSNRO.mjs} +7 -3
- package/dist/chunk-JRZPSNRO.mjs.map +1 -0
- package/dist/{chunk-JBEFAJ2W.mjs → chunk-M4KXBEFJ.mjs} +23 -3
- package/dist/chunk-M4KXBEFJ.mjs.map +1 -0
- package/dist/{chunk-C44UWIAD.mjs → chunk-N66ZHFGN.mjs} +2 -2
- package/dist/chunk-N66ZHFGN.mjs.map +1 -0
- package/dist/index.d.mts +325 -67
- package/dist/index.d.ts +325 -67
- package/dist/index.js +5741 -4489
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5368 -4163
- 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-EcmCsF1y.d.ts → parsing-C8Z22twN.d.ts} +2 -2
- package/dist/{parsing-DPEpAszP.d.mts → parsing-DjRJJX-y.d.mts} +2 -2
- package/dist/parsing.d.mts +3 -3
- package/dist/parsing.d.ts +3 -3
- package/dist/parsing.js +5 -2
- package/dist/parsing.js.map +1 -1
- package/dist/parsing.mjs +2 -2
- package/dist/{plan-utils-BAvW3hvl.d.mts → plan-utils-D4ioaM8q.d.mts} +25 -4
- package/dist/{plan-utils-BMyEiDKv.d.ts → plan-utils-DvHPzAfV.d.ts} +25 -4
- package/dist/plan-utils.d.mts +3 -3
- package/dist/plan-utils.d.ts +3 -3
- package/dist/plan-utils.js +2 -1
- package/dist/plan-utils.js.map +1 -1
- package/dist/plan-utils.mjs +2 -2
- package/dist/testing.d.mts +14 -5
- package/dist/testing.d.ts +14 -5
- package/dist/testing.js +30 -3
- package/dist/testing.js.map +1 -1
- package/dist/testing.mjs +30 -3
- package/dist/testing.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-C44UWIAD.mjs.map +0 -1
- package/dist/chunk-EDGUFCIR.mjs.map +0 -1
- package/dist/chunk-JBEFAJ2W.mjs.map +0 -1
- package/dist/chunk-ROVYWEBI.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aG as RunnerId } from './Task-
|
|
1
|
+
import { aG as RunnerId } from './Task-ib_U0YP7.mjs';
|
|
2
2
|
|
|
3
3
|
interface RunnerModeInfo {
|
|
4
4
|
id: string;
|
|
@@ -38,7 +38,11 @@ declare function resolveDefaultMode(modes: RunnerModeInfo[] | undefined, autonom
|
|
|
38
38
|
* either toggle.
|
|
39
39
|
*/
|
|
40
40
|
declare function filteredBuildModes(modes: RunnerModeInfo[], autonomousDefault: boolean): RunnerModeInfo[];
|
|
41
|
+
/** The user-facing name of the `autonomousMode` boolean's two states. */
|
|
42
|
+
declare function autonomyLevelLabel(autonomous: boolean): 'Full auto' | 'Auto';
|
|
43
|
+
/** `full`/`auto` name the levels; `on`/`off` are the toggle's old words for them. Null for anything else. */
|
|
44
|
+
declare function parseAutonomyLevel(arg: string | undefined): boolean | null;
|
|
41
45
|
declare function buildModeGuide(runnerModes: Record<RunnerId, RunnerModeInfo[]>, autonomousDefault?: boolean): string;
|
|
42
46
|
declare function resolveTaskMode(emittedMode: string | undefined, runnerId: RunnerId, runnerModes: Record<RunnerId, RunnerModeInfo[]> | undefined, autonomousDefault?: boolean): string;
|
|
43
47
|
|
|
44
|
-
export { type ManifestLookup as M, type RunnerModeInfo as R,
|
|
48
|
+
export { type ManifestLookup as M, type RunnerModeInfo as R, autonomyLevelLabel as a, buildModeGuide as b, resolveTaskMode as c, runnerModesFrom as d, filteredBuildModes as f, parseAutonomyLevel as p, resolveDefaultMode as r };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aG as RunnerId } from './Task-
|
|
1
|
+
import { aG as RunnerId } from './Task-ib_U0YP7.js';
|
|
2
2
|
|
|
3
3
|
interface RunnerModeInfo {
|
|
4
4
|
id: string;
|
|
@@ -38,7 +38,11 @@ declare function resolveDefaultMode(modes: RunnerModeInfo[] | undefined, autonom
|
|
|
38
38
|
* either toggle.
|
|
39
39
|
*/
|
|
40
40
|
declare function filteredBuildModes(modes: RunnerModeInfo[], autonomousDefault: boolean): RunnerModeInfo[];
|
|
41
|
+
/** The user-facing name of the `autonomousMode` boolean's two states. */
|
|
42
|
+
declare function autonomyLevelLabel(autonomous: boolean): 'Full auto' | 'Auto';
|
|
43
|
+
/** `full`/`auto` name the levels; `on`/`off` are the toggle's old words for them. Null for anything else. */
|
|
44
|
+
declare function parseAutonomyLevel(arg: string | undefined): boolean | null;
|
|
41
45
|
declare function buildModeGuide(runnerModes: Record<RunnerId, RunnerModeInfo[]>, autonomousDefault?: boolean): string;
|
|
42
46
|
declare function resolveTaskMode(emittedMode: string | undefined, runnerId: RunnerId, runnerModes: Record<RunnerId, RunnerModeInfo[]> | undefined, autonomousDefault?: boolean): string;
|
|
43
47
|
|
|
44
|
-
export { type ManifestLookup as M, type RunnerModeInfo as R,
|
|
48
|
+
export { type ManifestLookup as M, type RunnerModeInfo as R, autonomyLevelLabel as a, buildModeGuide as b, resolveTaskMode as c, runnerModesFrom as d, filteredBuildModes as f, parseAutonomyLevel as p, resolveDefaultMode as r };
|
|
@@ -7,13 +7,14 @@ import { EventEmitter } from 'events';
|
|
|
7
7
|
* "run without isolation", while the others fall back to the shared
|
|
8
8
|
* workspace root with a one-line notice.
|
|
9
9
|
*/
|
|
10
|
-
type IsolationInactiveReason = 'disabled' | 'git-missing' | 'not-git' | 'no-commits' | 'dirty'
|
|
10
|
+
type IsolationInactiveReason = 'disabled' | 'git-missing' | 'not-git' | 'no-commits' | 'dirty';
|
|
11
11
|
/**
|
|
12
12
|
* `repos` names, relative to the workspace, the repositories behind the answer:
|
|
13
13
|
* when active, the ones that will isolate, with `shared` the paths every task
|
|
14
|
-
* will share live
|
|
15
|
-
*
|
|
16
|
-
* group of
|
|
14
|
+
* will share live — loose entries of the workspace root, or, for a lone
|
|
15
|
+
* repository, the repositories nested inside it; otherwise the dirty ones of a
|
|
16
|
+
* `dirty` group, or the commitless ones of a `no-commits` group. A group of one
|
|
17
|
+
* names none.
|
|
17
18
|
*/
|
|
18
19
|
type IsolationAvailability = {
|
|
19
20
|
active: true;
|
|
@@ -27,7 +28,8 @@ type IsolationAvailability = {
|
|
|
27
28
|
/**
|
|
28
29
|
* Where a run's tasks work, as the planner is told it: the repos of the group
|
|
29
30
|
* and the paths shared live between tasks. A lone repository is `['.']` with
|
|
30
|
-
* nothing shared
|
|
31
|
+
* nothing shared, unless it holds nested repositories, which are shared live
|
|
32
|
+
* and named in `shared`.
|
|
31
33
|
*/
|
|
32
34
|
interface RepoGroupLayout {
|
|
33
35
|
repos: string[];
|
|
@@ -49,13 +51,20 @@ interface IsolationTaskRepo {
|
|
|
49
51
|
/** Absolute path of this repo's worktree: the task workspace joined with the repo's path. */
|
|
50
52
|
worktree: string;
|
|
51
53
|
/**
|
|
52
|
-
* Paths
|
|
53
|
-
*
|
|
54
|
-
*
|
|
54
|
+
* Paths linked from the real workspace and kept out of the task's commit:
|
|
55
|
+
* the artifacts bootstrapped from the real repo, and a lone repository's
|
|
56
|
+
* nested repositories (`run.shared`). Recorded because a symlink is not
|
|
57
|
+
* matched by an ignore rule such as `node_modules/` and would otherwise be
|
|
58
|
+
* committed.
|
|
55
59
|
*/
|
|
56
60
|
linked: string[];
|
|
57
61
|
/** Whether the task brought commits to this repo; unknown until it first integrates. */
|
|
58
62
|
changed?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* The integration tip right after the task landed here: what the user's
|
|
65
|
+
* HEAD must contain for the task's work to count as merged (ADR-0020).
|
|
66
|
+
*/
|
|
67
|
+
landedTip?: string;
|
|
59
68
|
}
|
|
60
69
|
interface IsolationTaskRecord {
|
|
61
70
|
taskId: string;
|
|
@@ -99,6 +108,12 @@ interface IsolationTaskRecord {
|
|
|
99
108
|
* names it in a group of one, prefixed with its repo's path in a group.
|
|
100
109
|
*/
|
|
101
110
|
repairedFiles?: string[];
|
|
111
|
+
/**
|
|
112
|
+
* Set once the task's landed work is in the checked-out HEAD of every repo
|
|
113
|
+
* it changed — merged into the user's branch, by Merge all or by hand. What
|
|
114
|
+
* a merge gate waits for (ADR-0020).
|
|
115
|
+
*/
|
|
116
|
+
inHead?: true;
|
|
102
117
|
}
|
|
103
118
|
/**
|
|
104
119
|
* A task's landing in flight: each changed repo's integration tip from before
|
|
@@ -142,7 +157,9 @@ interface IsolationRun {
|
|
|
142
157
|
/**
|
|
143
158
|
* Workspace paths outside every isolated repo, linked live into each task
|
|
144
159
|
* workspace: loose entries of the workspace root, the entries beside a deeper
|
|
145
|
-
* repo, and `sharedRepos`.
|
|
160
|
+
* repo, and `sharedRepos`. For a lone repository, the repositories nested
|
|
161
|
+
* inside it, which cannot be isolated with it and so are linked live instead.
|
|
162
|
+
* Empty when a group of one holds no nested repositories.
|
|
146
163
|
*/
|
|
147
164
|
shared: string[];
|
|
148
165
|
/** Repos of the group that could not be isolated — no commits, or git refused a worktree — and are among `shared`. */
|
|
@@ -296,6 +313,12 @@ interface IsolationPruneResult {
|
|
|
296
313
|
title: string;
|
|
297
314
|
}>;
|
|
298
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* The tracked changes of a workspace's repos at one moment, against each
|
|
318
|
+
* repo's HEAD: repo path → file path → the content it held then. What an ops
|
|
319
|
+
* task's tree check compares against (ADR-0020).
|
|
320
|
+
*/
|
|
321
|
+
type TreeSnapshot = Record<string, Record<string, string>>;
|
|
299
322
|
interface IWorktreeIsolation {
|
|
300
323
|
/**
|
|
301
324
|
* A repo group with at least one repo to isolate, a clean tracked tree in
|
|
@@ -379,6 +402,24 @@ interface IWorktreeIsolation {
|
|
|
379
402
|
pruneOrphans(run: IsolationRun): Promise<IsolationPruneResult>;
|
|
380
403
|
/** Unified diff of each repo's integration branch against its base ref. */
|
|
381
404
|
reviewDiff(run: IsolationRun): Promise<string>;
|
|
405
|
+
/**
|
|
406
|
+
* Mark the landed tasks whose work the checked-out HEAD now contains in
|
|
407
|
+
* every repo they changed (`git merge-base --is-ancestor`), and return their
|
|
408
|
+
* ids. Only adds marks: a task found merged stays merged.
|
|
409
|
+
*/
|
|
410
|
+
findInHead(run: IsolationRun): Promise<string[]>;
|
|
411
|
+
/**
|
|
412
|
+
* The tracked changes of each committed repo of the workspace's group,
|
|
413
|
+
* except those in `exclude`; null when there is no repo to snapshot.
|
|
414
|
+
* Untracked and ignored files never count.
|
|
415
|
+
*/
|
|
416
|
+
snapshotTree(workspaceRoot: string, exclude: readonly string[]): Promise<TreeSnapshot | null>;
|
|
417
|
+
/**
|
|
418
|
+
* Tracked files whose content differs from what `snapshot` recorded: new
|
|
419
|
+
* changes, and further changes to files already changed then. Paths are
|
|
420
|
+
* from the workspace root. A repo git cannot read now is left out.
|
|
421
|
+
*/
|
|
422
|
+
changedSince(workspaceRoot: string, snapshot: TreeSnapshot): Promise<string[]>;
|
|
382
423
|
/**
|
|
383
424
|
* "Merge all": merge each repo's integration branch into whatever the user
|
|
384
425
|
* has checked out there. The one irreversible step, so it only ever happens
|
|
@@ -386,7 +427,9 @@ interface IWorktreeIsolation {
|
|
|
386
427
|
* merge of the user's in progress, no conflict against their HEAD, no
|
|
387
428
|
* uncommitted edit to a file the merge changes — and unless all pass,
|
|
388
429
|
* nothing is merged anywhere. Only a merge Ordewell itself just started is
|
|
389
|
-
* ever aborted; nothing of the user's is reset.
|
|
430
|
+
* ever aborted; nothing of the user's is reset. Waits for a landing in
|
|
431
|
+
* flight and holds the next back, so a merge during a run takes the
|
|
432
|
+
* integration branches between two landings, never part of one.
|
|
390
433
|
*/
|
|
391
434
|
mergeIntoCheckedOut(run: IsolationRun): Promise<IsolationMergeResult>;
|
|
392
435
|
/**
|
|
@@ -817,6 +860,12 @@ interface ApprovalRequest {
|
|
|
817
860
|
* second file from an already-approved directory does not prompt again.
|
|
818
861
|
*/
|
|
819
862
|
scope: string;
|
|
863
|
+
/**
|
|
864
|
+
* Every scope one answer settles, when a command needs more than one — its
|
|
865
|
+
* own and each outside directory it touches — so it prompts once rather than
|
|
866
|
+
* once per scope. `scope` is the first. Absent means `scope` alone.
|
|
867
|
+
*/
|
|
868
|
+
scopes?: string[];
|
|
820
869
|
/** One-line context for the prompt. */
|
|
821
870
|
detail?: string;
|
|
822
871
|
/** The task whose runner asked; absent for the planner's own requests. */
|
|
@@ -841,6 +890,7 @@ type ApprovalDecision = {
|
|
|
841
890
|
type ApprovalAnswer = boolean | ApprovalDecision;
|
|
842
891
|
declare function toApprovalDecision(answer: ApprovalAnswer): ApprovalDecision;
|
|
843
892
|
declare function isGranted(decision: ApprovalDecision): boolean;
|
|
893
|
+
declare function approvalScopes(request: ApprovalRequest): string[];
|
|
844
894
|
declare function isRunnerApproval(request: ApprovalRequest): boolean;
|
|
845
895
|
interface IApproval {
|
|
846
896
|
request(req: ApprovalRequest): Promise<boolean>;
|
|
@@ -937,6 +987,8 @@ type AgentEvent =
|
|
|
937
987
|
*
|
|
938
988
|
* `input` and `suggestions` are the raw request; `suggestions` are the
|
|
939
989
|
* agent's own session-scoped grants, what "Allow for this task" answers with.
|
|
990
|
+
* `decided` marks a request the task's mode already answered — the adapter
|
|
991
|
+
* replied as the manifest says that mode does — so it is shown, never asked.
|
|
940
992
|
*/
|
|
941
993
|
| {
|
|
942
994
|
type: 'permission_request';
|
|
@@ -946,6 +998,7 @@ type AgentEvent =
|
|
|
946
998
|
input?: Record<string, unknown>;
|
|
947
999
|
suggestions?: unknown[];
|
|
948
1000
|
toolUseId?: string;
|
|
1001
|
+
decided?: ApprovalDecision;
|
|
949
1002
|
}
|
|
950
1003
|
/** The agent withdrew an open request — an interrupt cancels the call it was for. It takes no answer now. */
|
|
951
1004
|
| {
|
|
@@ -1005,8 +1058,10 @@ interface PlannerStartOptions extends AgentStartCommon {
|
|
|
1005
1058
|
interface TaskRunnerFlags {
|
|
1006
1059
|
/** The runner's own permission-mode value for the task's mode. */
|
|
1007
1060
|
permissionMode: string;
|
|
1008
|
-
/**
|
|
1009
|
-
|
|
1061
|
+
/** The task's raw effort id, present only alongside a model. Each adapter maps it to its own protocol. */
|
|
1062
|
+
effort?: string;
|
|
1063
|
+
/** The manifest's further settings for the task's mode, by setting name — see `PluginFeatures.modeSettings`. */
|
|
1064
|
+
modeSettings: Record<string, string>;
|
|
1010
1065
|
}
|
|
1011
1066
|
/** A plan task driven over the runner's programmatic protocol (ADR-0018, C1). */
|
|
1012
1067
|
interface TaskStartOptions extends AgentStartCommon {
|
|
@@ -1059,6 +1114,13 @@ interface TaskModeAgentAdapter extends AgentAdapter {
|
|
|
1059
1114
|
* within `timeoutMs`, and the caller must fall back to killing it.
|
|
1060
1115
|
*/
|
|
1061
1116
|
interrupt(timeoutMs: number): Promise<boolean>;
|
|
1117
|
+
/**
|
|
1118
|
+
* Registers the listener for what the agent does after a turn has ended and
|
|
1119
|
+
* before the next message — a turn it opens itself when background work
|
|
1120
|
+
* finishes, most often. Without one that output is dropped, which is right
|
|
1121
|
+
* for a planner and wrong for a task, whose marker may be said there.
|
|
1122
|
+
*/
|
|
1123
|
+
onOutOfTurn?(listener: (event: AgentEvent) => void): void;
|
|
1062
1124
|
/** Registers a listener for the process ending, for any reason. Fires at most once. */
|
|
1063
1125
|
onProcessExit(listener: (code: number) => void): void;
|
|
1064
1126
|
/**
|
|
@@ -1158,6 +1220,16 @@ interface PluginFeatures {
|
|
|
1158
1220
|
thinkingValueAdaptive?: string;
|
|
1159
1221
|
/** Maps mode IDs to the CLI --permission-mode value. Used by {{feature:permissionModeVal}}. */
|
|
1160
1222
|
permissionModeValues?: Record<string, string>;
|
|
1223
|
+
/**
|
|
1224
|
+
* Further per-mode settings for runners whose permission story has more than
|
|
1225
|
+
* one axis (Codex: sandbox, approval policy, approvals reviewer). Keyed by
|
|
1226
|
+
* setting name, then by mode id; a mode a map does not name leaves that
|
|
1227
|
+
* setting to the runner's own default. Codex declares `approvalPolicy`
|
|
1228
|
+
* (`-a` / `approval_policy`) and `approvalsReviewer` (`approvals_reviewer`);
|
|
1229
|
+
* the terminal template reads them too, through `{{feature:approvalPolicyVal}}`
|
|
1230
|
+
* and the `*Config` tokens.
|
|
1231
|
+
*/
|
|
1232
|
+
modeSettings?: Record<string, Record<string, string>>;
|
|
1161
1233
|
}
|
|
1162
1234
|
type PluginParser = 'claude-help' | 'opencode-models' | 'opencode-models-verbose' | 'anthropic-models' | 'line-by-line' | 'json' | 'json-table';
|
|
1163
1235
|
interface DiscoveryCommand {
|
|
@@ -1761,10 +1833,11 @@ type TaskStatus = 'pending' | 'approved' | 'in_progress' | 'completed' | 'failed
|
|
|
1761
1833
|
type TaskMode = string;
|
|
1762
1834
|
/**
|
|
1763
1835
|
* Why an `awaiting_user` task waits (ADR-0018, W1): a structured turn that
|
|
1764
|
-
* ended without the done marker, a checkpoint question,
|
|
1765
|
-
* land
|
|
1836
|
+
* ended without the done marker, a checkpoint question, work that did not
|
|
1837
|
+
* land, or an ops task that changed tracked files (ADR-0020). Saved, so no
|
|
1838
|
+
* surface has to guess it from whether an attempt is live.
|
|
1766
1839
|
*/
|
|
1767
|
-
type AwaitingReason = 'input' | 'checkpoint' | 'conflict';
|
|
1840
|
+
type AwaitingReason = 'input' | 'checkpoint' | 'conflict' | 'files-changed';
|
|
1768
1841
|
declare function isAwaitingReason(value: unknown): value is AwaitingReason;
|
|
1769
1842
|
interface TaskModelAssignment {
|
|
1770
1843
|
modelId: string;
|
|
@@ -1815,6 +1888,19 @@ interface Task {
|
|
|
1815
1888
|
transport?: TaskTransport;
|
|
1816
1889
|
/** Set only while `status` is `awaiting_user`, and not always then — a usage-limit pause has none. */
|
|
1817
1890
|
awaitingReason?: AwaitingReason;
|
|
1891
|
+
/**
|
|
1892
|
+
* An ops task (ADR-0020): it changes no repository files, runs at the
|
|
1893
|
+
* workspace root rather than in a worktree, and waits for the change tasks
|
|
1894
|
+
* it depends on to be merged into the user's branch. Top-level AI tasks
|
|
1895
|
+
* only; absent means a change task.
|
|
1896
|
+
*/
|
|
1897
|
+
ops?: boolean;
|
|
1898
|
+
/**
|
|
1899
|
+
* The dependencies, by title, whose work was not merged into the user's
|
|
1900
|
+
* branch when the user force-started this task past its merge gate
|
|
1901
|
+
* (ADR-0020). Cleared when the task is retried.
|
|
1902
|
+
*/
|
|
1903
|
+
forcedPastGate?: string[];
|
|
1818
1904
|
}
|
|
1819
1905
|
interface DiscoveredMode {
|
|
1820
1906
|
id: string;
|
|
@@ -2083,4 +2169,4 @@ interface ValidationContext {
|
|
|
2083
2169
|
type ValidationCheck = (ctx: ValidationContext) => ValidationResult;
|
|
2084
2170
|
declare function warningsText(w: PlanModificationWarnings): string | null;
|
|
2085
2171
|
|
|
2086
|
-
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 TaskOutputSummary 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 StreamEvent as aM, type StreamStepEvent as aN, type StreamThinkingEvent as aO, type StructuredEvent as aP, type StructuredSessionCapability as aQ, type StructuredTurnEnd as aR, type SubagentLogEntry as aS, type SubagentOutcome as aT, type Task as aU, type TaskIsolation as aV, type TaskIsolationState as aW, type TaskMode as aX, type TaskModeAgentAdapter as aY, TaskModeUnsupportedError as aZ, type TaskModelAssignment 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, type TaskRunnerFlags as b0, type TaskSnapshot as b1, type TaskStartOptions as b2, type TaskStatus as b3, type TaskTransport as b4, type TaskType as b5, type TaskWithParent as b6, type ThinkingBlock as b7, type
|
|
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 TaskOutputSummary 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 StreamEvent as aM, type StreamStepEvent as aN, type StreamThinkingEvent as aO, type StructuredEvent as aP, type StructuredSessionCapability as aQ, type StructuredTurnEnd as aR, type SubagentLogEntry as aS, type SubagentOutcome as aT, type Task as aU, type TaskIsolation as aV, type TaskIsolationState as aW, type TaskMode as aX, type TaskModeAgentAdapter as aY, TaskModeUnsupportedError as aZ, type TaskModelAssignment 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, wrapWithPty as b$, type TaskRunnerFlags as b0, type TaskSnapshot as b1, type TaskStartOptions as b2, type TaskStatus as b3, type TaskTransport as b4, type TaskType as b5, type TaskWithParent as b6, type ThinkingBlock as b7, type TreeSnapshot as b8, type UsageLine as b9, isMeasured as bA, isReservedRunnerName as bB, isRunnerApproval as bC, isRunnerTransport as bD, isStructuredSession as bE, keepExecutionState as bF, knownModelId as bG, migrateLegacyPlan as bH, migratePlanState as bI, migrateTask as bJ, partedPromptUsage as bK, planDirectLaunch as bL, planShellLaunch as bM, plannerContextFill as bN, posixShellQuote as bO, removeTaskFromPlan as bP, renumberTasks as bQ, resolveModelShortcut as bR, resolveProvider as bS, stripAnsi as bT, toApprovalDecision as bU, toOrchestratorOptions as bV, updateTaskInPlan as bW, usageLine as bX, validateModifiedPlan as bY, warningsText as bZ, windowsCommandLine as b_, type UsageRecord as ba, type UsageTotals as bb, type UserPromptEntry as bc, type UserStep as bd, type ValidationCheck as be, type ValidationContext as bf, type ValidationResult as bg, type Verdict as bh, type VerificationCheck as bi, WINDOWS_MAX_COMMAND_LINE as bj, addPlannerUsage as bk, addTaskToPlan as bl, addUsage as bm, approvalScopes as bn, buildShellInvocation as bo, collectProviderCredentials as bp, createEmptyPlan as bq, createTask as br, emptyWarnings as bs, enabledRunners as bt, fetchAllProviderModels as bu, flattenTasks as bv, flattenTasksWithParents as bw, isAwaitingReason as bx, isExecutableResolved as by, isGranted as bz, type AgentAdapter as c, 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 };
|
|
@@ -7,13 +7,14 @@ import { EventEmitter } from 'events';
|
|
|
7
7
|
* "run without isolation", while the others fall back to the shared
|
|
8
8
|
* workspace root with a one-line notice.
|
|
9
9
|
*/
|
|
10
|
-
type IsolationInactiveReason = 'disabled' | 'git-missing' | 'not-git' | 'no-commits' | 'dirty'
|
|
10
|
+
type IsolationInactiveReason = 'disabled' | 'git-missing' | 'not-git' | 'no-commits' | 'dirty';
|
|
11
11
|
/**
|
|
12
12
|
* `repos` names, relative to the workspace, the repositories behind the answer:
|
|
13
13
|
* when active, the ones that will isolate, with `shared` the paths every task
|
|
14
|
-
* will share live
|
|
15
|
-
*
|
|
16
|
-
* group of
|
|
14
|
+
* will share live — loose entries of the workspace root, or, for a lone
|
|
15
|
+
* repository, the repositories nested inside it; otherwise the dirty ones of a
|
|
16
|
+
* `dirty` group, or the commitless ones of a `no-commits` group. A group of one
|
|
17
|
+
* names none.
|
|
17
18
|
*/
|
|
18
19
|
type IsolationAvailability = {
|
|
19
20
|
active: true;
|
|
@@ -27,7 +28,8 @@ type IsolationAvailability = {
|
|
|
27
28
|
/**
|
|
28
29
|
* Where a run's tasks work, as the planner is told it: the repos of the group
|
|
29
30
|
* and the paths shared live between tasks. A lone repository is `['.']` with
|
|
30
|
-
* nothing shared
|
|
31
|
+
* nothing shared, unless it holds nested repositories, which are shared live
|
|
32
|
+
* and named in `shared`.
|
|
31
33
|
*/
|
|
32
34
|
interface RepoGroupLayout {
|
|
33
35
|
repos: string[];
|
|
@@ -49,13 +51,20 @@ interface IsolationTaskRepo {
|
|
|
49
51
|
/** Absolute path of this repo's worktree: the task workspace joined with the repo's path. */
|
|
50
52
|
worktree: string;
|
|
51
53
|
/**
|
|
52
|
-
* Paths
|
|
53
|
-
*
|
|
54
|
-
*
|
|
54
|
+
* Paths linked from the real workspace and kept out of the task's commit:
|
|
55
|
+
* the artifacts bootstrapped from the real repo, and a lone repository's
|
|
56
|
+
* nested repositories (`run.shared`). Recorded because a symlink is not
|
|
57
|
+
* matched by an ignore rule such as `node_modules/` and would otherwise be
|
|
58
|
+
* committed.
|
|
55
59
|
*/
|
|
56
60
|
linked: string[];
|
|
57
61
|
/** Whether the task brought commits to this repo; unknown until it first integrates. */
|
|
58
62
|
changed?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* The integration tip right after the task landed here: what the user's
|
|
65
|
+
* HEAD must contain for the task's work to count as merged (ADR-0020).
|
|
66
|
+
*/
|
|
67
|
+
landedTip?: string;
|
|
59
68
|
}
|
|
60
69
|
interface IsolationTaskRecord {
|
|
61
70
|
taskId: string;
|
|
@@ -99,6 +108,12 @@ interface IsolationTaskRecord {
|
|
|
99
108
|
* names it in a group of one, prefixed with its repo's path in a group.
|
|
100
109
|
*/
|
|
101
110
|
repairedFiles?: string[];
|
|
111
|
+
/**
|
|
112
|
+
* Set once the task's landed work is in the checked-out HEAD of every repo
|
|
113
|
+
* it changed — merged into the user's branch, by Merge all or by hand. What
|
|
114
|
+
* a merge gate waits for (ADR-0020).
|
|
115
|
+
*/
|
|
116
|
+
inHead?: true;
|
|
102
117
|
}
|
|
103
118
|
/**
|
|
104
119
|
* A task's landing in flight: each changed repo's integration tip from before
|
|
@@ -142,7 +157,9 @@ interface IsolationRun {
|
|
|
142
157
|
/**
|
|
143
158
|
* Workspace paths outside every isolated repo, linked live into each task
|
|
144
159
|
* workspace: loose entries of the workspace root, the entries beside a deeper
|
|
145
|
-
* repo, and `sharedRepos`.
|
|
160
|
+
* repo, and `sharedRepos`. For a lone repository, the repositories nested
|
|
161
|
+
* inside it, which cannot be isolated with it and so are linked live instead.
|
|
162
|
+
* Empty when a group of one holds no nested repositories.
|
|
146
163
|
*/
|
|
147
164
|
shared: string[];
|
|
148
165
|
/** Repos of the group that could not be isolated — no commits, or git refused a worktree — and are among `shared`. */
|
|
@@ -296,6 +313,12 @@ interface IsolationPruneResult {
|
|
|
296
313
|
title: string;
|
|
297
314
|
}>;
|
|
298
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* The tracked changes of a workspace's repos at one moment, against each
|
|
318
|
+
* repo's HEAD: repo path → file path → the content it held then. What an ops
|
|
319
|
+
* task's tree check compares against (ADR-0020).
|
|
320
|
+
*/
|
|
321
|
+
type TreeSnapshot = Record<string, Record<string, string>>;
|
|
299
322
|
interface IWorktreeIsolation {
|
|
300
323
|
/**
|
|
301
324
|
* A repo group with at least one repo to isolate, a clean tracked tree in
|
|
@@ -379,6 +402,24 @@ interface IWorktreeIsolation {
|
|
|
379
402
|
pruneOrphans(run: IsolationRun): Promise<IsolationPruneResult>;
|
|
380
403
|
/** Unified diff of each repo's integration branch against its base ref. */
|
|
381
404
|
reviewDiff(run: IsolationRun): Promise<string>;
|
|
405
|
+
/**
|
|
406
|
+
* Mark the landed tasks whose work the checked-out HEAD now contains in
|
|
407
|
+
* every repo they changed (`git merge-base --is-ancestor`), and return their
|
|
408
|
+
* ids. Only adds marks: a task found merged stays merged.
|
|
409
|
+
*/
|
|
410
|
+
findInHead(run: IsolationRun): Promise<string[]>;
|
|
411
|
+
/**
|
|
412
|
+
* The tracked changes of each committed repo of the workspace's group,
|
|
413
|
+
* except those in `exclude`; null when there is no repo to snapshot.
|
|
414
|
+
* Untracked and ignored files never count.
|
|
415
|
+
*/
|
|
416
|
+
snapshotTree(workspaceRoot: string, exclude: readonly string[]): Promise<TreeSnapshot | null>;
|
|
417
|
+
/**
|
|
418
|
+
* Tracked files whose content differs from what `snapshot` recorded: new
|
|
419
|
+
* changes, and further changes to files already changed then. Paths are
|
|
420
|
+
* from the workspace root. A repo git cannot read now is left out.
|
|
421
|
+
*/
|
|
422
|
+
changedSince(workspaceRoot: string, snapshot: TreeSnapshot): Promise<string[]>;
|
|
382
423
|
/**
|
|
383
424
|
* "Merge all": merge each repo's integration branch into whatever the user
|
|
384
425
|
* has checked out there. The one irreversible step, so it only ever happens
|
|
@@ -386,7 +427,9 @@ interface IWorktreeIsolation {
|
|
|
386
427
|
* merge of the user's in progress, no conflict against their HEAD, no
|
|
387
428
|
* uncommitted edit to a file the merge changes — and unless all pass,
|
|
388
429
|
* nothing is merged anywhere. Only a merge Ordewell itself just started is
|
|
389
|
-
* ever aborted; nothing of the user's is reset.
|
|
430
|
+
* ever aborted; nothing of the user's is reset. Waits for a landing in
|
|
431
|
+
* flight and holds the next back, so a merge during a run takes the
|
|
432
|
+
* integration branches between two landings, never part of one.
|
|
390
433
|
*/
|
|
391
434
|
mergeIntoCheckedOut(run: IsolationRun): Promise<IsolationMergeResult>;
|
|
392
435
|
/**
|
|
@@ -817,6 +860,12 @@ interface ApprovalRequest {
|
|
|
817
860
|
* second file from an already-approved directory does not prompt again.
|
|
818
861
|
*/
|
|
819
862
|
scope: string;
|
|
863
|
+
/**
|
|
864
|
+
* Every scope one answer settles, when a command needs more than one — its
|
|
865
|
+
* own and each outside directory it touches — so it prompts once rather than
|
|
866
|
+
* once per scope. `scope` is the first. Absent means `scope` alone.
|
|
867
|
+
*/
|
|
868
|
+
scopes?: string[];
|
|
820
869
|
/** One-line context for the prompt. */
|
|
821
870
|
detail?: string;
|
|
822
871
|
/** The task whose runner asked; absent for the planner's own requests. */
|
|
@@ -841,6 +890,7 @@ type ApprovalDecision = {
|
|
|
841
890
|
type ApprovalAnswer = boolean | ApprovalDecision;
|
|
842
891
|
declare function toApprovalDecision(answer: ApprovalAnswer): ApprovalDecision;
|
|
843
892
|
declare function isGranted(decision: ApprovalDecision): boolean;
|
|
893
|
+
declare function approvalScopes(request: ApprovalRequest): string[];
|
|
844
894
|
declare function isRunnerApproval(request: ApprovalRequest): boolean;
|
|
845
895
|
interface IApproval {
|
|
846
896
|
request(req: ApprovalRequest): Promise<boolean>;
|
|
@@ -937,6 +987,8 @@ type AgentEvent =
|
|
|
937
987
|
*
|
|
938
988
|
* `input` and `suggestions` are the raw request; `suggestions` are the
|
|
939
989
|
* agent's own session-scoped grants, what "Allow for this task" answers with.
|
|
990
|
+
* `decided` marks a request the task's mode already answered — the adapter
|
|
991
|
+
* replied as the manifest says that mode does — so it is shown, never asked.
|
|
940
992
|
*/
|
|
941
993
|
| {
|
|
942
994
|
type: 'permission_request';
|
|
@@ -946,6 +998,7 @@ type AgentEvent =
|
|
|
946
998
|
input?: Record<string, unknown>;
|
|
947
999
|
suggestions?: unknown[];
|
|
948
1000
|
toolUseId?: string;
|
|
1001
|
+
decided?: ApprovalDecision;
|
|
949
1002
|
}
|
|
950
1003
|
/** The agent withdrew an open request — an interrupt cancels the call it was for. It takes no answer now. */
|
|
951
1004
|
| {
|
|
@@ -1005,8 +1058,10 @@ interface PlannerStartOptions extends AgentStartCommon {
|
|
|
1005
1058
|
interface TaskRunnerFlags {
|
|
1006
1059
|
/** The runner's own permission-mode value for the task's mode. */
|
|
1007
1060
|
permissionMode: string;
|
|
1008
|
-
/**
|
|
1009
|
-
|
|
1061
|
+
/** The task's raw effort id, present only alongside a model. Each adapter maps it to its own protocol. */
|
|
1062
|
+
effort?: string;
|
|
1063
|
+
/** The manifest's further settings for the task's mode, by setting name — see `PluginFeatures.modeSettings`. */
|
|
1064
|
+
modeSettings: Record<string, string>;
|
|
1010
1065
|
}
|
|
1011
1066
|
/** A plan task driven over the runner's programmatic protocol (ADR-0018, C1). */
|
|
1012
1067
|
interface TaskStartOptions extends AgentStartCommon {
|
|
@@ -1059,6 +1114,13 @@ interface TaskModeAgentAdapter extends AgentAdapter {
|
|
|
1059
1114
|
* within `timeoutMs`, and the caller must fall back to killing it.
|
|
1060
1115
|
*/
|
|
1061
1116
|
interrupt(timeoutMs: number): Promise<boolean>;
|
|
1117
|
+
/**
|
|
1118
|
+
* Registers the listener for what the agent does after a turn has ended and
|
|
1119
|
+
* before the next message — a turn it opens itself when background work
|
|
1120
|
+
* finishes, most often. Without one that output is dropped, which is right
|
|
1121
|
+
* for a planner and wrong for a task, whose marker may be said there.
|
|
1122
|
+
*/
|
|
1123
|
+
onOutOfTurn?(listener: (event: AgentEvent) => void): void;
|
|
1062
1124
|
/** Registers a listener for the process ending, for any reason. Fires at most once. */
|
|
1063
1125
|
onProcessExit(listener: (code: number) => void): void;
|
|
1064
1126
|
/**
|
|
@@ -1158,6 +1220,16 @@ interface PluginFeatures {
|
|
|
1158
1220
|
thinkingValueAdaptive?: string;
|
|
1159
1221
|
/** Maps mode IDs to the CLI --permission-mode value. Used by {{feature:permissionModeVal}}. */
|
|
1160
1222
|
permissionModeValues?: Record<string, string>;
|
|
1223
|
+
/**
|
|
1224
|
+
* Further per-mode settings for runners whose permission story has more than
|
|
1225
|
+
* one axis (Codex: sandbox, approval policy, approvals reviewer). Keyed by
|
|
1226
|
+
* setting name, then by mode id; a mode a map does not name leaves that
|
|
1227
|
+
* setting to the runner's own default. Codex declares `approvalPolicy`
|
|
1228
|
+
* (`-a` / `approval_policy`) and `approvalsReviewer` (`approvals_reviewer`);
|
|
1229
|
+
* the terminal template reads them too, through `{{feature:approvalPolicyVal}}`
|
|
1230
|
+
* and the `*Config` tokens.
|
|
1231
|
+
*/
|
|
1232
|
+
modeSettings?: Record<string, Record<string, string>>;
|
|
1161
1233
|
}
|
|
1162
1234
|
type PluginParser = 'claude-help' | 'opencode-models' | 'opencode-models-verbose' | 'anthropic-models' | 'line-by-line' | 'json' | 'json-table';
|
|
1163
1235
|
interface DiscoveryCommand {
|
|
@@ -1761,10 +1833,11 @@ type TaskStatus = 'pending' | 'approved' | 'in_progress' | 'completed' | 'failed
|
|
|
1761
1833
|
type TaskMode = string;
|
|
1762
1834
|
/**
|
|
1763
1835
|
* Why an `awaiting_user` task waits (ADR-0018, W1): a structured turn that
|
|
1764
|
-
* ended without the done marker, a checkpoint question,
|
|
1765
|
-
* land
|
|
1836
|
+
* ended without the done marker, a checkpoint question, work that did not
|
|
1837
|
+
* land, or an ops task that changed tracked files (ADR-0020). Saved, so no
|
|
1838
|
+
* surface has to guess it from whether an attempt is live.
|
|
1766
1839
|
*/
|
|
1767
|
-
type AwaitingReason = 'input' | 'checkpoint' | 'conflict';
|
|
1840
|
+
type AwaitingReason = 'input' | 'checkpoint' | 'conflict' | 'files-changed';
|
|
1768
1841
|
declare function isAwaitingReason(value: unknown): value is AwaitingReason;
|
|
1769
1842
|
interface TaskModelAssignment {
|
|
1770
1843
|
modelId: string;
|
|
@@ -1815,6 +1888,19 @@ interface Task {
|
|
|
1815
1888
|
transport?: TaskTransport;
|
|
1816
1889
|
/** Set only while `status` is `awaiting_user`, and not always then — a usage-limit pause has none. */
|
|
1817
1890
|
awaitingReason?: AwaitingReason;
|
|
1891
|
+
/**
|
|
1892
|
+
* An ops task (ADR-0020): it changes no repository files, runs at the
|
|
1893
|
+
* workspace root rather than in a worktree, and waits for the change tasks
|
|
1894
|
+
* it depends on to be merged into the user's branch. Top-level AI tasks
|
|
1895
|
+
* only; absent means a change task.
|
|
1896
|
+
*/
|
|
1897
|
+
ops?: boolean;
|
|
1898
|
+
/**
|
|
1899
|
+
* The dependencies, by title, whose work was not merged into the user's
|
|
1900
|
+
* branch when the user force-started this task past its merge gate
|
|
1901
|
+
* (ADR-0020). Cleared when the task is retried.
|
|
1902
|
+
*/
|
|
1903
|
+
forcedPastGate?: string[];
|
|
1818
1904
|
}
|
|
1819
1905
|
interface DiscoveredMode {
|
|
1820
1906
|
id: string;
|
|
@@ -2083,4 +2169,4 @@ interface ValidationContext {
|
|
|
2083
2169
|
type ValidationCheck = (ctx: ValidationContext) => ValidationResult;
|
|
2084
2170
|
declare function warningsText(w: PlanModificationWarnings): string | null;
|
|
2085
2171
|
|
|
2086
|
-
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 TaskOutputSummary 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 StreamEvent as aM, type StreamStepEvent as aN, type StreamThinkingEvent as aO, type StructuredEvent as aP, type StructuredSessionCapability as aQ, type StructuredTurnEnd as aR, type SubagentLogEntry as aS, type SubagentOutcome as aT, type Task as aU, type TaskIsolation as aV, type TaskIsolationState as aW, type TaskMode as aX, type TaskModeAgentAdapter as aY, TaskModeUnsupportedError as aZ, type TaskModelAssignment 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, type TaskRunnerFlags as b0, type TaskSnapshot as b1, type TaskStartOptions as b2, type TaskStatus as b3, type TaskTransport as b4, type TaskType as b5, type TaskWithParent as b6, type ThinkingBlock as b7, type
|
|
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 TaskOutputSummary 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 StreamEvent as aM, type StreamStepEvent as aN, type StreamThinkingEvent as aO, type StructuredEvent as aP, type StructuredSessionCapability as aQ, type StructuredTurnEnd as aR, type SubagentLogEntry as aS, type SubagentOutcome as aT, type Task as aU, type TaskIsolation as aV, type TaskIsolationState as aW, type TaskMode as aX, type TaskModeAgentAdapter as aY, TaskModeUnsupportedError as aZ, type TaskModelAssignment 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, wrapWithPty as b$, type TaskRunnerFlags as b0, type TaskSnapshot as b1, type TaskStartOptions as b2, type TaskStatus as b3, type TaskTransport as b4, type TaskType as b5, type TaskWithParent as b6, type ThinkingBlock as b7, type TreeSnapshot as b8, type UsageLine as b9, isMeasured as bA, isReservedRunnerName as bB, isRunnerApproval as bC, isRunnerTransport as bD, isStructuredSession as bE, keepExecutionState as bF, knownModelId as bG, migrateLegacyPlan as bH, migratePlanState as bI, migrateTask as bJ, partedPromptUsage as bK, planDirectLaunch as bL, planShellLaunch as bM, plannerContextFill as bN, posixShellQuote as bO, removeTaskFromPlan as bP, renumberTasks as bQ, resolveModelShortcut as bR, resolveProvider as bS, stripAnsi as bT, toApprovalDecision as bU, toOrchestratorOptions as bV, updateTaskInPlan as bW, usageLine as bX, validateModifiedPlan as bY, warningsText as bZ, windowsCommandLine as b_, type UsageRecord as ba, type UsageTotals as bb, type UserPromptEntry as bc, type UserStep as bd, type ValidationCheck as be, type ValidationContext as bf, type ValidationResult as bg, type Verdict as bh, type VerificationCheck as bi, WINDOWS_MAX_COMMAND_LINE as bj, addPlannerUsage as bk, addTaskToPlan as bl, addUsage as bm, approvalScopes as bn, buildShellInvocation as bo, collectProviderCredentials as bp, createEmptyPlan as bq, createTask as br, emptyWarnings as bs, enabledRunners as bt, fetchAllProviderModels as bu, flattenTasks as bv, flattenTasksWithParents as bw, isAwaitingReason as bx, isExecutableResolved as by, isGranted as bz, type AgentAdapter as c, 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 };
|