@ordewell/core 0.5.5 → 0.5.6
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-BkPX7mLD.d.mts +76 -0
- package/dist/IFileSystem-C0l-4MGT.d.ts +76 -0
- package/dist/{ModeResolver-D3XO0fT9.d.ts → ModeResolver--16lh7dS.d.mts} +1 -1
- package/dist/{ModeResolver-D-SUFRNF.d.mts → ModeResolver-CjpG5Wli.d.ts} +1 -1
- package/dist/Task-Dyxp67s2.d.mts +2086 -0
- package/dist/Task-Dyxp67s2.d.ts +2086 -0
- package/dist/{chunk-T2S5O36I.mjs → chunk-C44UWIAD.mjs} +6 -6
- package/dist/chunk-C44UWIAD.mjs.map +1 -0
- package/dist/{chunk-HD2FWPRV.mjs → chunk-EDGUFCIR.mjs} +6 -1
- package/dist/chunk-EDGUFCIR.mjs.map +1 -0
- package/dist/{chunk-UUBGVCGJ.mjs → chunk-JBEFAJ2W.mjs} +2 -2
- package/dist/{chunk-KLN7ELXO.mjs → chunk-ROVYWEBI.mjs} +1560 -1269
- package/dist/chunk-ROVYWEBI.mjs.map +1 -0
- package/dist/index.d.mts +1414 -785
- package/dist/index.d.ts +1414 -785
- package/dist/index.js +7008 -4389
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6075 -3767
- package/dist/index.mjs.map +1 -1
- package/dist/order-labels.d.mts +3 -1
- package/dist/order-labels.d.ts +3 -1
- package/dist/{parsing-CDtRSxBY.d.mts → parsing-DPEpAszP.d.mts} +2 -2
- package/dist/{parsing-BTP4bwkk.d.ts → parsing-EcmCsF1y.d.ts} +2 -2
- package/dist/parsing.d.mts +5 -3
- package/dist/parsing.d.ts +5 -3
- package/dist/parsing.js.map +1 -1
- package/dist/parsing.mjs +2 -2
- package/dist/{plan-utils-pE4TBwxl.d.mts → plan-utils-BAvW3hvl.d.mts} +212 -43
- package/dist/{plan-utils-BFaPo-IT.d.ts → plan-utils-BMyEiDKv.d.ts} +212 -43
- package/dist/plan-utils.d.mts +5 -4
- package/dist/plan-utils.d.ts +5 -4
- package/dist/plan-utils.js +351 -64
- package/dist/plan-utils.js.map +1 -1
- package/dist/plan-utils.mjs +11 -5
- package/dist/testing.d.mts +54 -4
- package/dist/testing.d.ts +54 -4
- package/dist/testing.js +93 -2
- package/dist/testing.js.map +1 -1
- package/dist/testing.mjs +91 -2
- package/dist/testing.mjs.map +1 -1
- package/package.json +2 -1
- package/skills/grilling/SKILL.md +6 -16
- package/skills/improve-codebase-architecture/SKILL.md +1 -1
- package/dist/ApprovalPolicy-BVhGdECT.d.mts +0 -79
- package/dist/ApprovalPolicy-BVhGdECT.d.ts +0 -79
- package/dist/ITerminalRunner-BV9Rd2o9.d.ts +0 -563
- package/dist/ITerminalRunner-C77ZNZS9.d.mts +0 -563
- package/dist/Task-Vl5Zq_D-.d.mts +0 -825
- package/dist/Task-Vl5Zq_D-.d.ts +0 -825
- package/dist/chunk-HD2FWPRV.mjs.map +0 -1
- package/dist/chunk-KLN7ELXO.mjs.map +0 -1
- package/dist/chunk-T2S5O36I.mjs.map +0 -1
- /package/dist/{chunk-UUBGVCGJ.mjs.map → chunk-JBEFAJ2W.mjs.map} +0 -0
|
@@ -1,39 +1,134 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { R as RunnerModeInfo } from './ModeResolver-
|
|
3
|
-
import { A as ApprovalKind, e as ApprovalSource } from './ApprovalPolicy-BVhGdECT.js';
|
|
1
|
+
import { aR as StructuredTurnEnd, aT as SubagentOutcome, b9 as UsageRecord, k as ApprovalDecision, aP as StructuredEvent, aG as RunnerId, w as DiscoveredModel, aU as Task, a6 as LegacyPlanState, aw as QueuedMessage, ba as UsageTotals, bg as Verdict, aV as TaskIsolation, b4 as TaskTransport, r as AwaitingReason, ax as QueuedTaskMessage, Q as IsolationHandoff, X as IsolationMergeResult, aC as ResearchStep, l as ApprovalKind, q as ApprovalSource, aD as ResearchStepOutcome, u as ConversationMessage, aA as ResearchLogEntry, ai as PlannerUsage } from './Task-Dyxp67s2.js';
|
|
2
|
+
import { R as RunnerModeInfo } from './ModeResolver-CjpG5Wli.js';
|
|
4
3
|
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
/**
|
|
5
|
+
* One entry of a structured task's log (ADR-0018, P1): what a runner did,
|
|
6
|
+
* normalized and serializable, streamed live as `task_log` and appended to
|
|
7
|
+
* the attempt's `.jsonl` file. The live view and the reload fold the same
|
|
8
|
+
* events through `reduceTaskLog`, so the two cannot disagree.
|
|
9
|
+
*
|
|
10
|
+
* Readers skip a type they do not know, which is how later events join
|
|
11
|
+
* without a format version.
|
|
12
|
+
*/
|
|
13
|
+
type TaskLogEvent =
|
|
14
|
+
/** A turn began by delivering `message`; `messageId` names it when it had been queued. */
|
|
15
|
+
{
|
|
16
|
+
type: 'turn_start';
|
|
17
|
+
message: string;
|
|
18
|
+
messageId?: string;
|
|
19
|
+
} | {
|
|
20
|
+
type: 'turn_end';
|
|
21
|
+
reason: StructuredTurnEnd;
|
|
22
|
+
} | {
|
|
23
|
+
type: 'text_delta';
|
|
24
|
+
text: string;
|
|
25
|
+
}
|
|
26
|
+
/** A complete run of the agent's reply, authoritative over the deltas streamed for it. */
|
|
27
|
+
| {
|
|
28
|
+
type: 'text';
|
|
29
|
+
text: string;
|
|
30
|
+
} | {
|
|
31
|
+
type: 'thinking_delta';
|
|
32
|
+
text: string;
|
|
33
|
+
subagentId?: string;
|
|
34
|
+
} | {
|
|
35
|
+
type: 'thinking';
|
|
36
|
+
text: string;
|
|
37
|
+
subagentId?: string;
|
|
16
38
|
}
|
|
17
|
-
/**
|
|
18
|
-
|
|
39
|
+
/** `args` is the call's arguments as JSON, exactly as the runner announced them. */
|
|
40
|
+
| {
|
|
41
|
+
type: 'tool_call';
|
|
19
42
|
id: string;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
43
|
+
name: string;
|
|
44
|
+
args: string;
|
|
45
|
+
subagentId?: string;
|
|
46
|
+
}
|
|
47
|
+
/** `omittedLines` is set when {@link trimToolOutput} cut the middle of `output`. */
|
|
48
|
+
| {
|
|
49
|
+
type: 'tool_result';
|
|
50
|
+
id: string;
|
|
51
|
+
output: string;
|
|
52
|
+
success: boolean;
|
|
53
|
+
omittedLines?: number;
|
|
54
|
+
subagentId?: string;
|
|
55
|
+
} | {
|
|
56
|
+
type: 'subagent_started';
|
|
57
|
+
subagentId: string;
|
|
58
|
+
brief: string;
|
|
59
|
+
model?: string;
|
|
60
|
+
} | {
|
|
61
|
+
type: 'subagent_finished';
|
|
62
|
+
subagentId: string;
|
|
63
|
+
outcome: SubagentOutcome;
|
|
64
|
+
digest: string;
|
|
65
|
+
} | {
|
|
66
|
+
type: 'usage';
|
|
67
|
+
record: UsageRecord;
|
|
68
|
+
} | {
|
|
69
|
+
type: 'message_queued';
|
|
70
|
+
messageId: string;
|
|
71
|
+
text: string;
|
|
72
|
+
} | {
|
|
73
|
+
type: 'message_removed';
|
|
74
|
+
messageId: string;
|
|
75
|
+
}
|
|
76
|
+
/** The agent's own words for a failed turn. */
|
|
77
|
+
| {
|
|
78
|
+
type: 'error';
|
|
79
|
+
message: string;
|
|
25
80
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
81
|
+
/**
|
|
82
|
+
* The runner asked to use a tool its mode does not cover (ADR-0018, A1).
|
|
83
|
+
* `approvalId` is what the answer is given under; `args` is the call's
|
|
84
|
+
* arguments as JSON; `allowForTask` says the runner offered its own
|
|
85
|
+
* session-scoped grant.
|
|
86
|
+
*/
|
|
87
|
+
| {
|
|
88
|
+
type: 'approval_requested';
|
|
89
|
+
approvalId: string;
|
|
90
|
+
tool: string;
|
|
91
|
+
args: string;
|
|
92
|
+
allowForTask: boolean;
|
|
93
|
+
toolCallId?: string;
|
|
94
|
+
} | {
|
|
95
|
+
type: 'approval_decided';
|
|
96
|
+
approvalId: string;
|
|
97
|
+
decision: ApprovalDecision['decision'];
|
|
98
|
+
note?: string;
|
|
29
99
|
}
|
|
100
|
+
/** The request went unanswered: the runner withdrew it, or its process ended. */
|
|
101
|
+
| {
|
|
102
|
+
type: 'approval_withdrawn';
|
|
103
|
+
approvalId: string;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Keep a tool result's head and tail. A build log or a whole file read can
|
|
107
|
+
* run to megabytes, and every attempt's file keeps it for good; the ends are
|
|
108
|
+
* where a reader looks — the command's start, and how it finished.
|
|
109
|
+
*/
|
|
110
|
+
declare function trimToolOutput(output: string): {
|
|
111
|
+
output: string;
|
|
112
|
+
omittedLines?: number;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* The log entry for one structured event, or null for what the log does not
|
|
116
|
+
* keep: background-agent launches, which the subagent's own events already show.
|
|
117
|
+
*/
|
|
118
|
+
declare function toTaskLogEvent(event: StructuredEvent): TaskLogEvent | null;
|
|
119
|
+
/**
|
|
120
|
+
* Merge runs of deltas into one event each. Deltas arrive a few characters at
|
|
121
|
+
* a time; merged, a batch is one message on the wire and one line on disk,
|
|
122
|
+
* and the view folds to the same blocks either way.
|
|
123
|
+
*/
|
|
124
|
+
declare function coalesceTaskLog(events: readonly TaskLogEvent[]): TaskLogEvent[];
|
|
125
|
+
|
|
30
126
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* off exactly as it would have.
|
|
127
|
+
* Pure, no-imports helper so a browser surface can format a conflict's files
|
|
128
|
+
* without pulling `isolationRecord` — and its `path` import — into a webview
|
|
129
|
+
* bundle. Kept out of `isolationRecord.ts` for exactly that reason.
|
|
35
130
|
*/
|
|
36
|
-
declare function
|
|
131
|
+
declare function capConflictFiles(files: string[], max?: number): string;
|
|
37
132
|
|
|
38
133
|
/**
|
|
39
134
|
* The catalog a model/task-mode edit is checked against — the same discovered
|
|
@@ -87,7 +182,7 @@ declare function textHasTaskOps(text: string): boolean;
|
|
|
87
182
|
declare function parseTaskOpsJson(text: string): TaskOp[];
|
|
88
183
|
interface ApplyTaskOpsResult {
|
|
89
184
|
ok: boolean;
|
|
90
|
-
tasks: Task[];
|
|
185
|
+
tasks: readonly Task[];
|
|
91
186
|
errors: string[];
|
|
92
187
|
/** Human-readable summary of what changed, for the chat transcript. */
|
|
93
188
|
summary: string[];
|
|
@@ -101,7 +196,7 @@ interface ApplyTaskOpsResult {
|
|
|
101
196
|
* which {@link applyTaskOps} repairs; refusing on order would make this
|
|
102
197
|
* pre-flight stricter than the applier it stands in for.
|
|
103
198
|
*/
|
|
104
|
-
declare function canMergeTasks(tasks: Task[], selectedIds: string[]): {
|
|
199
|
+
declare function canMergeTasks(tasks: readonly Task[], selectedIds: string[]): {
|
|
105
200
|
ok: boolean;
|
|
106
201
|
error?: string;
|
|
107
202
|
};
|
|
@@ -128,14 +223,14 @@ declare function dependentsOf<T extends Pick<TaskRef, 'id' | 'dependencies'>>(ta
|
|
|
128
223
|
* the same invariant `applyTaskOps` enforces. Omit `taskId` for a task that does
|
|
129
224
|
* not exist yet: it lands last, so every current task is a candidate.
|
|
130
225
|
*/
|
|
131
|
-
declare function dependencyCandidates<T extends Pick<TaskRef, 'id' | 'order'>>(tasks: T[], taskId?: string): T[];
|
|
226
|
+
declare function dependencyCandidates<T extends Pick<TaskRef, 'id' | 'order'>>(tasks: readonly T[], taskId?: string): T[];
|
|
132
227
|
/** Pre-flight check for a hand-edited dependency list: every id exists and comes earlier. */
|
|
133
|
-
declare function canSetDependencies<T extends TaskRef>(tasks: T[], taskId: string, dependencies: string[]): {
|
|
228
|
+
declare function canSetDependencies<T extends TaskRef>(tasks: readonly T[], taskId: string, dependencies: string[]): {
|
|
134
229
|
ok: boolean;
|
|
135
230
|
error?: string;
|
|
136
231
|
};
|
|
137
232
|
/** Pre-flight check for a split: the task exists and is not locked by execution. */
|
|
138
|
-
declare function canSplitTask(tasks: Task[], taskId: string): {
|
|
233
|
+
declare function canSplitTask(tasks: readonly Task[], taskId: string): {
|
|
139
234
|
ok: boolean;
|
|
140
235
|
error?: string;
|
|
141
236
|
};
|
|
@@ -145,7 +240,7 @@ declare function canSplitTask(tasks: Task[], taskId: string): {
|
|
|
145
240
|
* completed tasks untouched), or nothing is returned and `errors` explains
|
|
146
241
|
* why. The caller commits `tasks` on ok.
|
|
147
242
|
*/
|
|
148
|
-
declare function applyTaskOps(currentTasks: Task[], ops: TaskOp[], runners: RunnerId[], catalog?: EditCatalog): ApplyTaskOpsResult;
|
|
243
|
+
declare function applyTaskOps(currentTasks: readonly Task[], ops: TaskOp[], runners: RunnerId[], catalog?: EditCatalog): ApplyTaskOpsResult;
|
|
149
244
|
|
|
150
245
|
type SerializedTaskStatus = {
|
|
151
246
|
id: string;
|
|
@@ -159,6 +254,20 @@ type SerializedTaskStatus = {
|
|
|
159
254
|
idleSince?: string | null;
|
|
160
255
|
/** Absent unless the plan has an isolation run, so a shared-root plan's updates are unchanged. */
|
|
161
256
|
isolation?: TaskIsolation;
|
|
257
|
+
/** Absent unless the task's plan asked for the structured transport (ADR-0018): what it ran on, or why it fell back. */
|
|
258
|
+
transport?: Pick<TaskTransport, 'kind' | 'fallback'>;
|
|
259
|
+
/** What an `awaiting_user` task waits on, when it was saved (ADR-0018, W1). */
|
|
260
|
+
awaitingReason?: AwaitingReason;
|
|
261
|
+
/** Messages waiting for a structured task's turn to end, oldest first; absent when there are none. */
|
|
262
|
+
queued?: QueuedTaskMessage[];
|
|
263
|
+
/** Set when the task can be continued in its saved runner session (ADR-0018, K1); the id itself stays in the daemon. */
|
|
264
|
+
continuable?: true;
|
|
265
|
+
/**
|
|
266
|
+
* How many of a structured task's runner requests wait for an answer
|
|
267
|
+
* (ADR-0018, A1) — "waiting for approval", which leaves `status` alone.
|
|
268
|
+
* Absent when none do.
|
|
269
|
+
*/
|
|
270
|
+
awaitingApproval?: number;
|
|
162
271
|
};
|
|
163
272
|
type SerializedTask = {
|
|
164
273
|
id: string;
|
|
@@ -365,6 +474,18 @@ type SessionMessage =
|
|
|
365
474
|
type: 'task_output';
|
|
366
475
|
taskId: string;
|
|
367
476
|
text: string;
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* A structured task's log as it happens (ADR-0018, P1): the next events of
|
|
480
|
+
* the task's attempt `attempt`, in order — the same ones appended to that
|
|
481
|
+
* attempt's file, so a surface folding these and one replaying the file
|
|
482
|
+
* draw the same blocks. Terminal-transport tasks send none.
|
|
483
|
+
*/
|
|
484
|
+
| {
|
|
485
|
+
type: 'task_log';
|
|
486
|
+
taskId: string;
|
|
487
|
+
attempt: number;
|
|
488
|
+
events: TaskLogEvent[];
|
|
368
489
|
} | {
|
|
369
490
|
type: 'isolation_blocked';
|
|
370
491
|
reason: 'dirty';
|
|
@@ -431,9 +552,9 @@ type SessionNotice = {
|
|
|
431
552
|
};
|
|
432
553
|
type SessionBroadcaster = (msg: SessionMessage) => void;
|
|
433
554
|
declare function serializeTask(t: Task): SerializedTask;
|
|
434
|
-
declare function serializeTaskStatus(t: Task, idleSince?: string | null, isolation?: TaskIsolation | null): SerializedTaskStatus;
|
|
555
|
+
declare function serializeTaskStatus(t: Task, idleSince?: string | null, isolation?: TaskIsolation | null, queued?: readonly QueuedTaskMessage[], awaitingApproval?: number): SerializedTaskStatus;
|
|
435
556
|
declare function serializePlan(plan: LegacyPlanState): SerializedPlan;
|
|
436
|
-
declare function executionSummary(tasks: Task[]): {
|
|
557
|
+
declare function executionSummary(tasks: readonly Task[]): {
|
|
437
558
|
total: number;
|
|
438
559
|
completed: number;
|
|
439
560
|
failed: number;
|
|
@@ -467,7 +588,8 @@ declare function classifyOutcome(success: boolean, output: string): ResearchStep
|
|
|
467
588
|
* block is expanded is that UI state, and deliberately not part of a block.
|
|
468
589
|
*/
|
|
469
590
|
type DisplayBlock = MessageBlock | ThinkingDisplayBlock | ToolBlock | SubagentBlock | ApprovalBlock | PlanBlock | UsageBlock;
|
|
470
|
-
|
|
591
|
+
/** `agent` is a task runner speaking in a structured task's log (ADR-0018); the planner is `planner`. */
|
|
592
|
+
type MessageRole = 'user' | 'planner' | 'agent' | 'system' | 'error';
|
|
471
593
|
interface MessageBlock {
|
|
472
594
|
type: 'message';
|
|
473
595
|
id: string;
|
|
@@ -539,7 +661,8 @@ interface SubagentBlock {
|
|
|
539
661
|
usage?: UsageTotals;
|
|
540
662
|
turnId?: string;
|
|
541
663
|
}
|
|
542
|
-
|
|
664
|
+
/** `withdrawn`: a runner's request that went unanswered — the runner cancelled it, or its process ended. */
|
|
665
|
+
type ApprovalStatus = 'pending' | 'granted' | 'denied' | 'withdrawn';
|
|
543
666
|
interface ApprovalBlock {
|
|
544
667
|
type: 'approval';
|
|
545
668
|
id: string;
|
|
@@ -553,6 +676,14 @@ interface ApprovalBlock {
|
|
|
553
676
|
/** Absent while pending. */
|
|
554
677
|
decidedBy?: ApprovalSource;
|
|
555
678
|
turnId?: string;
|
|
679
|
+
/** A runner's request (`runner_tool`) that can also be allowed for the rest of its task. */
|
|
680
|
+
allowForTask?: boolean;
|
|
681
|
+
/** Granted for the rest of the task, not this call alone. */
|
|
682
|
+
forTask?: boolean;
|
|
683
|
+
/** What a denial told the agent. */
|
|
684
|
+
note?: string;
|
|
685
|
+
/** The runner's tool call the request is about. */
|
|
686
|
+
toolCallId?: string;
|
|
556
687
|
}
|
|
557
688
|
type PlanMarkerStatus = 'building' | 'generated' | 'updated';
|
|
558
689
|
interface PlanBlock {
|
|
@@ -578,6 +709,12 @@ interface UsageBlock {
|
|
|
578
709
|
bySubagent?: Record<string, UsageTotals>;
|
|
579
710
|
}
|
|
580
711
|
|
|
712
|
+
/** What every view over display blocks holds; each view adds its own state beside it. */
|
|
713
|
+
interface BlockList {
|
|
714
|
+
readonly blocks: readonly DisplayBlock[];
|
|
715
|
+
readonly nextId: number;
|
|
716
|
+
}
|
|
717
|
+
|
|
581
718
|
/**
|
|
582
719
|
* A line a surface adds to the conversation itself rather than receiving from
|
|
583
720
|
* the session: the user's prompt as it is sent, a notice, an error.
|
|
@@ -588,9 +725,7 @@ interface LocalEntry {
|
|
|
588
725
|
text: string;
|
|
589
726
|
}
|
|
590
727
|
type ConversationInput = SessionMessage | LocalEntry;
|
|
591
|
-
interface ConversationView {
|
|
592
|
-
readonly blocks: readonly DisplayBlock[];
|
|
593
|
-
readonly nextId: number;
|
|
728
|
+
interface ConversationView extends BlockList {
|
|
594
729
|
/**
|
|
595
730
|
* The newest transcript entry the view accounts for. Plan markers and system
|
|
596
731
|
* notes reach a surface only inside the transcript a `plan_generated`
|
|
@@ -619,6 +754,40 @@ declare function reduceConversation(view: ConversationView, input: ConversationI
|
|
|
619
754
|
*/
|
|
620
755
|
declare function fromTranscript(conversationHistory: readonly ConversationMessage[] | undefined, researchLog: readonly ResearchLogEntry[] | undefined, plannerUsage?: PlannerUsage): ConversationView;
|
|
621
756
|
|
|
757
|
+
/**
|
|
758
|
+
* What a surface draws for one attempt of a structured task (ADR-0018, O1b):
|
|
759
|
+
* the same display blocks as the planner conversation, built from the task's
|
|
760
|
+
* {@link TaskLogEvent}s. No planner turn ids — a task's turns are its own,
|
|
761
|
+
* one at a time.
|
|
762
|
+
*/
|
|
763
|
+
interface TaskLogView extends BlockList {
|
|
764
|
+
/** Messages waiting for the running turn to end, oldest first. */
|
|
765
|
+
readonly queued: readonly QueuedTaskMessage[];
|
|
766
|
+
/** A turn is running. */
|
|
767
|
+
readonly working: boolean;
|
|
768
|
+
/** How the last turn ended; absent before the first one does. */
|
|
769
|
+
readonly lastTurnEnd?: StructuredTurnEnd;
|
|
770
|
+
/** What the runner reported over the attempt, subagents included. */
|
|
771
|
+
readonly usage?: PlannerUsage;
|
|
772
|
+
/**
|
|
773
|
+
* The block each run of deltas streams into, keyed by stream, so the run's
|
|
774
|
+
* authoritative copy replaces it instead of repeating it below.
|
|
775
|
+
*/
|
|
776
|
+
readonly streams: Readonly<Record<string, string>>;
|
|
777
|
+
}
|
|
778
|
+
declare const EMPTY_TASK_LOG: TaskLogView;
|
|
779
|
+
/** A runner's tool request, read the way its call's row reads: `Bash(npm test)`. */
|
|
780
|
+
declare function runnerToolSubject(tool: string, args: string): string;
|
|
781
|
+
/**
|
|
782
|
+
* Fold one task-log event into the view. Pure and incremental, like
|
|
783
|
+
* `reduceConversation`: an event that changes nothing returns `view` itself,
|
|
784
|
+
* and an event of a type this build does not know is skipped — a log written
|
|
785
|
+
* by a newer Ordewell still reads.
|
|
786
|
+
*/
|
|
787
|
+
declare function reduceTaskLog(view: TaskLogView, event: TaskLogEvent): TaskLogView;
|
|
788
|
+
/** A whole attempt's events, folded from the start — what a reload shows. */
|
|
789
|
+
declare function replayTaskLog(events: readonly TaskLogEvent[], from?: TaskLogView): TaskLogView;
|
|
790
|
+
|
|
622
791
|
/**
|
|
623
792
|
* The one-line head of a command row, shared by every surface: the tool's name
|
|
624
793
|
* and the argument that says what the call is about.
|
|
@@ -705,4 +874,4 @@ declare function hasHiddenDetail(blocks: readonly DisplayBlock[]): boolean;
|
|
|
705
874
|
/** The conversation line for a task starting, worded the same on every surface. */
|
|
706
875
|
declare function taskStartedNotice(title: string, runner?: string): string;
|
|
707
876
|
|
|
708
|
-
export {
|
|
877
|
+
export { hasHiddenDetail as $, type ApplyTaskOpsResult as A, aheadOfDraft as B, CHECKPOINT_TRUNCATE_LENGTH as C, type DisplayBlock as D, EMPTY_CONVERSATION as E, applyTaskOps as F, type GatedConversation as G, canMergeTasks as H, canSetDependencies as I, canSplitTask as J, capConflictFiles as K, type LocalEntry as L, type MessageBlock as M, NO_TURN as N, type OutputPreview as O, type PlanBlock as P, classifyOutcome as Q, coalesceTaskLog as R, type SerializedPlan as S, type TakenPrompt as T, type UsageBlock as U, dependencyCandidates as V, dependentsOf as W, drainNext as X, executionSummary as Y, followTurn as Z, fromTranscript as _, type ApprovalBlock as a, holdPrompt as a0, outputLines as a1, outputPreview as a2, parseTaskOpsJson as a3, reduceConversation as a4, reduceTaskLog as a5, replayTaskLog as a6, runnerToolSubject as a7, serializePlan as a8, serializeTask as a9, serializeTaskStatus as aa, stopTurn as ab, summarizeToolCall as ac, taskStartedNotice as ad, textHasTaskOps as ae, toTaskLogEvent as af, toolHeadline as ag, trimToolOutput as ah, truncateCheckpointSummary as ai, unsendAll as aj, unsendLatest as ak, type ApprovalStatus as b, type ConversationInput as c, type ConversationView as d, EMPTY_HOLD as e, EMPTY_TASK_LOG as f, type MessageRole as g, type PlanMarkerStatus as h, type PromptHold as i, type SerializedTask as j, type SerializedTaskStatus as k, type SessionBroadcaster as l, type SessionMessage as m, type SessionNotice as n, type SubagentBlock as o, type SubagentChild as p, type SubagentStatus as q, type TaskLogEvent as r, type TaskLogView as s, type TaskOp as t, type TaskRef as u, type ThinkingDisplayBlock as v, type ToolBlock as w, type ToolHeadline as x, type ToolStatus as y, type TurnGate as z };
|
package/dist/plan-utils.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
import './Task-
|
|
3
|
-
import '
|
|
4
|
-
import '
|
|
1
|
+
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, M as MessageBlock, g as MessageRole, N as NO_TURN, O as OutputPreview, P as PlanBlock, h as PlanMarkerStatus, i as PromptHold, o as SubagentBlock, p as SubagentChild, q as SubagentStatus, T as TakenPrompt, s as TaskLogView, u as TaskRef, v as ThinkingDisplayBlock, w as ToolBlock, x as ToolHeadline, y as ToolStatus, z as TurnGate, U as UsageBlock, B as aheadOfDraft, H as canMergeTasks, I as canSetDependencies, J as canSplitTask, K as capConflictFiles, V as dependencyCandidates, W as dependentsOf, X as drainNext, Z as followTurn, _ as fromTranscript, $ as hasHiddenDetail, a0 as holdPrompt, a1 as outputLines, a2 as outputPreview, a4 as reduceConversation, a5 as reduceTaskLog, a6 as replayTaskLog, a7 as runnerToolSubject, ab as stopTurn, ac as summarizeToolCall, ad as taskStartedNotice, ag as toolHeadline, ai as truncateCheckpointSummary, aj as unsendAll, ak as unsendLatest } from './plan-utils-BAvW3hvl.mjs';
|
|
2
|
+
import './Task-Dyxp67s2.mjs';
|
|
3
|
+
import 'child_process';
|
|
4
|
+
import 'events';
|
|
5
|
+
import './ModeResolver--16lh7dS.mjs';
|
package/dist/plan-utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
import './Task-
|
|
3
|
-
import '
|
|
4
|
-
import '
|
|
1
|
+
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, M as MessageBlock, g as MessageRole, N as NO_TURN, O as OutputPreview, P as PlanBlock, h as PlanMarkerStatus, i as PromptHold, o as SubagentBlock, p as SubagentChild, q as SubagentStatus, T as TakenPrompt, s as TaskLogView, u as TaskRef, v as ThinkingDisplayBlock, w as ToolBlock, x as ToolHeadline, y as ToolStatus, z as TurnGate, U as UsageBlock, B as aheadOfDraft, H as canMergeTasks, I as canSetDependencies, J as canSplitTask, K as capConflictFiles, V as dependencyCandidates, W as dependentsOf, X as drainNext, Z as followTurn, _ as fromTranscript, $ as hasHiddenDetail, a0 as holdPrompt, a1 as outputLines, a2 as outputPreview, a4 as reduceConversation, a5 as reduceTaskLog, a6 as replayTaskLog, a7 as runnerToolSubject, ab as stopTurn, ac as summarizeToolCall, ad as taskStartedNotice, ag as toolHeadline, ai as truncateCheckpointSummary, aj as unsendAll, ak as unsendLatest } from './plan-utils-BMyEiDKv.js';
|
|
2
|
+
import './Task-Dyxp67s2.js';
|
|
3
|
+
import 'child_process';
|
|
4
|
+
import 'events';
|
|
5
|
+
import './ModeResolver-CjpG5Wli.js';
|