@llm4ts/flow 2.28.1 → 2.29.0
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/CarriedNotes.d.ts +25 -0
- package/dist/CarriedNotes.d.ts.map +1 -0
- package/dist/CarriedNotes.js +76 -0
- package/dist/CarriedNotes.js.map +1 -0
- package/dist/Flow.d.ts +8 -0
- package/dist/Flow.d.ts.map +1 -1
- package/dist/Flow.js +13 -1
- package/dist/Flow.js.map +1 -1
- package/dist/Orientation.d.ts +25 -0
- package/dist/Orientation.d.ts.map +1 -0
- package/dist/Orientation.js +150 -0
- package/dist/Orientation.js.map +1 -0
- package/dist/RefineRound.d.ts.map +1 -1
- package/dist/RefineRound.js +13 -1
- package/dist/RefineRound.js.map +1 -1
- package/dist/Retro.d.ts.map +1 -1
- package/dist/Retro.js +16 -3
- package/dist/Retro.js.map +1 -1
- package/dist/Stories.d.ts +5 -4
- package/dist/Stories.d.ts.map +1 -1
- package/dist/Stories.js +46 -11
- package/dist/Stories.js.map +1 -1
- package/dist/StoryPlan.d.ts +33 -1
- package/dist/StoryPlan.d.ts.map +1 -1
- package/dist/StoryPlan.js +62 -4
- package/dist/StoryPlan.js.map +1 -1
- package/dist/Transcript.d.ts.map +1 -1
- package/dist/Transcript.js +3 -2
- package/dist/Transcript.js.map +1 -1
- package/package.json +4 -2
- package/src/CarriedNotes.ts +103 -0
- package/src/Flow.ts +31 -1
- package/src/Orientation.ts +192 -0
- package/src/RefineRound.ts +13 -1
- package/src/Retro.ts +26 -3
- package/src/Stories.ts +52 -11
- package/src/StoryPlan.ts +78 -2
- package/src/Transcript.ts +3 -2
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type * as Effect from "effect/Effect";
|
|
2
|
+
import type { FlowError } from "./FlowError.ts";
|
|
3
|
+
export declare const notesHeading = "## Findings";
|
|
4
|
+
/** Appended to every task prompt that carries notes. */
|
|
5
|
+
export declare const findingsRequest: string;
|
|
6
|
+
/**
|
|
7
|
+
* The text after the LAST Findings heading, without a trailing BLOCKED_ON
|
|
8
|
+
* line (that stays the reply's last line for `blockedOnIn`), capped;
|
|
9
|
+
* undefined when there is no heading or nothing under it.
|
|
10
|
+
*/
|
|
11
|
+
export declare const findingsIn: (reply: string) => string | undefined;
|
|
12
|
+
export declare const notesLimit = 6000;
|
|
13
|
+
/**
|
|
14
|
+
* `notes` plus a titled section for `found`; when the result is over `limit`
|
|
15
|
+
* the oldest sections go first, the newest always stays.
|
|
16
|
+
*/
|
|
17
|
+
export declare const appendNote: (notes: string | undefined, title: string, found: string, limit?: number) => string;
|
|
18
|
+
/** The prompt with the notes in front, or the prompt itself when there are none. */
|
|
19
|
+
export declare const withNotes: (prompt: string, notes: string | undefined) => string;
|
|
20
|
+
/** Where a story keeps its carried notes: read before a task, written after it. */
|
|
21
|
+
export interface CarriedNotes {
|
|
22
|
+
readonly read: Effect.Effect<string | undefined, FlowError>;
|
|
23
|
+
readonly write: (notes: string) => Effect.Effect<void, FlowError>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=CarriedNotes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CarriedNotes.d.ts","sourceRoot":"","sources":["../src/CarriedNotes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,eAAO,MAAM,YAAY,gBAAgB,CAAA;AAEzC,wDAAwD;AACxD,eAAO,MAAM,eAAe,QAOhB,CAAA;AAMZ;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAwBnD,CAAA;AAED,eAAO,MAAM,UAAU,OAAQ,CAAA;AAE/B;;;GAGG;AACH,eAAO,MAAM,UAAU,GACrB,OAAO,MAAM,GAAG,SAAS,EACzB,OAAO,MAAM,EACb,OAAO,MAAM,EACb,cAAkB,KACjB,MAgBF,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,GAAG,SAAS,KAAG,MAWpD,CAAA;AAElB,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,SAAS,CAAC,CAAA;IAC3D,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;CAClE"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
export const notesHeading = "## Findings";
|
|
2
|
+
/** Appended to every task prompt that carries notes. */
|
|
3
|
+
export const findingsRequest = [
|
|
4
|
+
"",
|
|
5
|
+
`When the task is done, end your reply with a section headed \`${notesHeading}\` of at most`,
|
|
6
|
+
"ten lines: files you read or changed that matter for the rest of this story, conventions",
|
|
7
|
+
"you learned (where tests live, how a feature is registered, which kit component to use),",
|
|
8
|
+
"and commands that worked. Nothing follows it — unless you must stop with BLOCKED_ON:,",
|
|
9
|
+
"which stays the last line."
|
|
10
|
+
].join("\n");
|
|
11
|
+
const sectionChars = 1_500;
|
|
12
|
+
const headingPattern = /^#{1,3}[ \t]*findings[ \t]*:?[ \t]*$/gimu;
|
|
13
|
+
const blockedLine = /^BLOCKED_ON:.*$/u;
|
|
14
|
+
/**
|
|
15
|
+
* The text after the LAST Findings heading, without a trailing BLOCKED_ON
|
|
16
|
+
* line (that stays the reply's last line for `blockedOnIn`), capped;
|
|
17
|
+
* undefined when there is no heading or nothing under it.
|
|
18
|
+
*/
|
|
19
|
+
export const findingsIn = (reply) => {
|
|
20
|
+
let last;
|
|
21
|
+
headingPattern.lastIndex = 0;
|
|
22
|
+
for (let match = headingPattern.exec(reply); match !== null; match = headingPattern.exec(reply)) {
|
|
23
|
+
last = match;
|
|
24
|
+
}
|
|
25
|
+
if (last === undefined) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
const lines = reply
|
|
29
|
+
.slice(last.index + last[0].length)
|
|
30
|
+
.split(/\r?\n/u)
|
|
31
|
+
.map((line) => line.trimEnd());
|
|
32
|
+
while (lines.length > 0 && (lines.at(-1) ?? "").trim().length === 0) {
|
|
33
|
+
lines.pop();
|
|
34
|
+
}
|
|
35
|
+
if (lines.length > 0 &&
|
|
36
|
+
blockedLine.test((lines.at(-1) ?? "").trim().replace(/^[`*_\s]+|[`*_\s]+$/gu, ""))) {
|
|
37
|
+
lines.pop();
|
|
38
|
+
}
|
|
39
|
+
const text = lines.join("\n").trim();
|
|
40
|
+
return text.length === 0 ? undefined : text.slice(0, sectionChars);
|
|
41
|
+
};
|
|
42
|
+
export const notesLimit = 6_000;
|
|
43
|
+
/**
|
|
44
|
+
* `notes` plus a titled section for `found`; when the result is over `limit`
|
|
45
|
+
* the oldest sections go first, the newest always stays.
|
|
46
|
+
*/
|
|
47
|
+
export const appendNote = (notes, title, found, limit = notesLimit) => {
|
|
48
|
+
// A finding's own headings are flattened: `### ` is this file's section
|
|
49
|
+
// marker, and eviction must never split a section in two.
|
|
50
|
+
const flat = found
|
|
51
|
+
.trim()
|
|
52
|
+
.split(/\r?\n/u)
|
|
53
|
+
.map((line) => line.replace(/^#{1,6}[ \t]*/u, ""))
|
|
54
|
+
.join("\n");
|
|
55
|
+
const sections = [
|
|
56
|
+
...(notes === undefined || notes.trim().length === 0 ? [] : notes.split(/\n\n(?=### )/u)),
|
|
57
|
+
`### ${title}\n${flat}`
|
|
58
|
+
];
|
|
59
|
+
while (sections.length > 1 && sections.join("\n\n").length > limit) {
|
|
60
|
+
sections.shift();
|
|
61
|
+
}
|
|
62
|
+
return sections.join("\n\n");
|
|
63
|
+
};
|
|
64
|
+
/** The prompt with the notes in front, or the prompt itself when there are none. */
|
|
65
|
+
export const withNotes = (prompt, notes) => notes === undefined || notes.trim().length === 0
|
|
66
|
+
? prompt
|
|
67
|
+
: [
|
|
68
|
+
"What earlier tasks of this story learned — trust it before exploring:",
|
|
69
|
+
"",
|
|
70
|
+
notes.trim(),
|
|
71
|
+
"",
|
|
72
|
+
"---",
|
|
73
|
+
"",
|
|
74
|
+
prompt
|
|
75
|
+
].join("\n");
|
|
76
|
+
//# sourceMappingURL=CarriedNotes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CarriedNotes.js","sourceRoot":"","sources":["../src/CarriedNotes.ts"],"names":[],"mappings":"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"}
|
package/dist/Flow.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import type { LlmServiceShape } from "@llm4ts/core/LlmService";
|
|
3
|
+
import { type CarriedNotes } from "./CarriedNotes.ts";
|
|
3
4
|
import type { FlowContextShape } from "./FlowContext.ts";
|
|
4
5
|
import { FlowAborted, FlowLlmError, type FlowError } from "./FlowError.ts";
|
|
5
6
|
import { type FlowEventsShape } from "./FlowEvents.ts";
|
|
@@ -53,6 +54,13 @@ export interface ImplementPlanOptions {
|
|
|
53
54
|
readonly satisfiedProbe?: "literal" | "judgment" | {
|
|
54
55
|
readonly mode?: JudgmentMode;
|
|
55
56
|
};
|
|
57
|
+
/**
|
|
58
|
+
* Notes carried from one task to the next (meant for `chatPerTask`, where
|
|
59
|
+
* every task starts cold): the accumulated notes open each task's prompt,
|
|
60
|
+
* the task is asked to end with a Findings section, and what it reports is
|
|
61
|
+
* appended. Omit to carry nothing.
|
|
62
|
+
*/
|
|
63
|
+
readonly carry?: CarriedNotes;
|
|
56
64
|
}
|
|
57
65
|
/** The judgment form of the empty-diff probe: one Truth question over the coder's reply. */
|
|
58
66
|
export declare const satisfiedByJudgment: (context: FlowContextShape, taskTitle: string, reply: string, mode?: "observe" | "advise" | "act" | undefined) => Effect.Effect<boolean | undefined, never, never>;
|
package/dist/Flow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flow.d.ts","sourceRoot":"","sources":["../src/Flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"Flow.d.ts","sourceRoot":"","sources":["../src/Flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG9D,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGtD,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAE/D,eAAO,MAAM,YAAY,GAAI,SAAS,gBAAgB,KAAG,eACd,CAAA;AAE3C,eAAO,MAAM,kBAAkB,mHAmB7B,CAAA;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAA;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAChD,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAC7C;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;KAAE,CAAA;IACnF;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;CAC9B;AAED,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB,oKA6C9B,CAAA;AAOF,eAAO,MAAM,iBAAiB,wxCA8I5B,CAAA"}
|
package/dist/Flow.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import { collect } from "@llm4ts/core/Streaming";
|
|
3
3
|
import { withToolActivity } from "./Activity.js";
|
|
4
|
+
import { appendNote, findingsIn, findingsRequest, withNotes } from "./CarriedNotes.js";
|
|
4
5
|
import { makeChat } from "./Chat.js";
|
|
5
6
|
import { FlowAborted, FlowLlmError } from "./FlowError.js";
|
|
6
7
|
import { AssistantMessage, Info, JudgmentObserved, publishJudgmentObserved, TokensUsed } from "./FlowEvents.js";
|
|
@@ -94,7 +95,17 @@ export const implementPlanFlow = Effect.fn("@llm4ts/flow/Flow.implementPlan")(fu
|
|
|
94
95
|
// the top of this function: a task prompt only needs that task's own
|
|
95
96
|
// details. `planSoFar`, threaded through by implementTaskLoop, is the
|
|
96
97
|
// single source of truth for completion progress instead.
|
|
97
|
-
yield*
|
|
98
|
+
const notes = options.carry === undefined ? undefined : yield* options.carry.read;
|
|
99
|
+
/** What the task's reply learned goes to the carried notes, whichever turn did the work. */
|
|
100
|
+
const keepFindings = (reply) => Effect.gen(function* () {
|
|
101
|
+
const found = options.carry === undefined ? undefined : findingsIn(reply);
|
|
102
|
+
if (options.carry !== undefined && found !== undefined) {
|
|
103
|
+
yield* options.carry.write(appendNote(notes, task.title, found));
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
yield* keepFindings(yield* coder.ask(options.carry === undefined
|
|
107
|
+
? plan.taskPrompt(task)
|
|
108
|
+
: `${withNotes(plan.taskPrompt(task), notes)}\n${findingsRequest}`));
|
|
98
109
|
const produced = yield* context.git.diffAll;
|
|
99
110
|
if (produced.trim().length === 0) {
|
|
100
111
|
// An empty diff is ambiguous: the task may be genuinely satisfied
|
|
@@ -107,6 +118,7 @@ export const implementPlanFlow = Effect.fn("@llm4ts/flow/Flow.implementPlan")(fu
|
|
|
107
118
|
`If the task "${task.title}" is already fully satisfied by the current state of the repository, reply with exactly TASK_ALREADY_SATISFIED and nothing else.`,
|
|
108
119
|
"Otherwise, implement the task now."
|
|
109
120
|
].join("\n"));
|
|
121
|
+
yield* keepFindings(confirmation);
|
|
110
122
|
const afterConfirmation = yield* context.git.diffAll;
|
|
111
123
|
if (afterConfirmation.trim().length === 0) {
|
|
112
124
|
const judged = options.satisfiedProbe !== undefined && options.satisfiedProbe !== "literal"
|
package/dist/Flow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flow.js","sourceRoot":"","sources":["../src/Flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAa,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EACL,gBAAgB,EAChB,IAAI,EACJ,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EAEX,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAqB,MAAM,eAAe,CAAA;AAClF,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAGjB,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAyB,EAAmB,EAAE,CACzE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAA;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,EAAE,CAAC,sCAAsC,CAAC,CAAC,QAAQ,CAAC,EAC3F,OAAwB,EACxB,MAAuB,EACvB,MAAc;IAEd,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3F,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CACnC,CAAA;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACnB,UAAU,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SACrF,CAAC,CACH,CAAA;IACH,CAAC;IACD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACxE,OAAO,QAAQ,CAAC,OAAO,CAAA;AACzB,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Flow.js","sourceRoot":"","sources":["../src/Flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface OrientationInput {
|
|
2
|
+
/** Tracked files, repo-relative, as `git ls-files` prints them. */
|
|
3
|
+
readonly files: ReadonlyArray<string>;
|
|
4
|
+
/** The application's `package.json` text, when there is one. */
|
|
5
|
+
readonly packageJson?: string;
|
|
6
|
+
/** Where the application lives: `.` for the repository root, else a subfolder. */
|
|
7
|
+
readonly appDir?: string;
|
|
8
|
+
/** Characters the digest may take; `<= 0` leaves it out. */
|
|
9
|
+
readonly budget: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const defaultOrientationChars = 8000;
|
|
12
|
+
/**
|
|
13
|
+
* The digest, or `undefined` when there is nothing to say (no tracked files)
|
|
14
|
+
* or no budget. Never longer than `budget`: the head (the layout) and the
|
|
15
|
+
* tail (scripts, tests) survive a cut, the middle of a long listing does not.
|
|
16
|
+
*/
|
|
17
|
+
export declare const orientationOf: (input: OrientationInput) => string | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* LLM4TS_ORIENTATION_CHARS: how much of the repository digest the planner and
|
|
20
|
+
* every coder see (0 leaves it out); the default otherwise.
|
|
21
|
+
*/
|
|
22
|
+
export declare const orientationChars: (environment: Readonly<Record<string, string | undefined>>) => {
|
|
23
|
+
readonly orientationChars?: number;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=Orientation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Orientation.d.ts","sourceRoot":"","sources":["../src/Orientation.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,eAAO,MAAM,uBAAuB,OAAQ,CAAA;AAiI5C;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,gBAAgB,KAAG,MAAM,GAAG,SAyBhE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,aAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,KACxD;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAMtC,CAAA"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// The repository as a planner and a coder should see it before they look:
|
|
2
|
+
// a deterministic digest of the tracked files — folders with their counts,
|
|
3
|
+
// small folders in full, the package scripts, where the tests live. No model
|
|
4
|
+
// call, computed once per epic, so every story stops rediscovering the
|
|
5
|
+
// layout with `ls`, `find` and `grep` round trips.
|
|
6
|
+
import { cap } from "./Context.js";
|
|
7
|
+
export const defaultOrientationChars = 8_000;
|
|
8
|
+
/** Folders never worth a coder's attention, wherever they sit: dependencies and state. */
|
|
9
|
+
const noiseAnywhere = new Set(["node_modules", ".git", ".llm4ts"]);
|
|
10
|
+
/** Build output is noise at the top level only: `src/features/build/` is code. */
|
|
11
|
+
const noiseAtRoot = new Set(["dist", "build", "out", "coverage"]);
|
|
12
|
+
const noiseFiles = new Set(["pnpm-lock.yaml", "package-lock.json", "yarn.lock", "bun.lockb"]);
|
|
13
|
+
/** Folders deeper than this are summarised by their count. */
|
|
14
|
+
const maxDepth = 3;
|
|
15
|
+
/** A folder with this many files or fewer is listed in full. */
|
|
16
|
+
const smallFolder = 12;
|
|
17
|
+
const testFile = /\.(test|spec)\.[cm]?[jt]sx?$/u;
|
|
18
|
+
const folderOf = (path) => ({ path, files: 0, children: new Map(), own: [] });
|
|
19
|
+
const isNoise = (file) => {
|
|
20
|
+
const parts = file.split("/");
|
|
21
|
+
return (parts.some((part) => noiseAnywhere.has(part)) ||
|
|
22
|
+
(parts.length > 1 && noiseAtRoot.has(parts[0] ?? "")) ||
|
|
23
|
+
noiseFiles.has(parts.at(-1) ?? ""));
|
|
24
|
+
};
|
|
25
|
+
const treeOf = (files) => {
|
|
26
|
+
const root = folderOf("");
|
|
27
|
+
for (const file of files) {
|
|
28
|
+
const parts = file.split("/").filter((part) => part.length > 0);
|
|
29
|
+
let folder = root;
|
|
30
|
+
folder.files += 1;
|
|
31
|
+
for (const part of parts.slice(0, -1)) {
|
|
32
|
+
let child = folder.children.get(part);
|
|
33
|
+
if (child === undefined) {
|
|
34
|
+
child = folderOf(folder.path.length === 0 ? part : `${folder.path}/${part}`);
|
|
35
|
+
folder.children.set(part, child);
|
|
36
|
+
}
|
|
37
|
+
child.files += 1;
|
|
38
|
+
folder = child;
|
|
39
|
+
}
|
|
40
|
+
folder.own.push(file);
|
|
41
|
+
}
|
|
42
|
+
return root;
|
|
43
|
+
};
|
|
44
|
+
const sortedChildren = (folder) => [...folder.children.values()].sort((left, right) => left.path.localeCompare(right.path));
|
|
45
|
+
const folderLine = (folder, depth) => `${" ".repeat(depth)}${folder.path}/ (${folder.files} ${folder.files === 1 ? "file" : "files"})`;
|
|
46
|
+
/** A small folder in full: its own files, then every subfolder the same way. */
|
|
47
|
+
const expanded = (folder, depth) => [
|
|
48
|
+
...[...folder.own].sort().map((file) => `${" ".repeat(depth)}${file}`),
|
|
49
|
+
...sortedChildren(folder).flatMap((child) => [
|
|
50
|
+
folderLine(child, depth),
|
|
51
|
+
...expanded(child, depth + 1)
|
|
52
|
+
])
|
|
53
|
+
];
|
|
54
|
+
/**
|
|
55
|
+
* The layout: every folder with its count; a folder of `smallFolder` files or
|
|
56
|
+
* fewer listed in full, a larger one descended into up to `maxDepth`.
|
|
57
|
+
*/
|
|
58
|
+
const layoutLines = (folder, depth) => sortedChildren(folder).flatMap((child) => {
|
|
59
|
+
if (child.files <= smallFolder) {
|
|
60
|
+
return [folderLine(child, depth), ...expanded(child, depth + 1)];
|
|
61
|
+
}
|
|
62
|
+
const own = child.own.length <= smallFolder
|
|
63
|
+
? [...child.own].sort().map((file) => `${" ".repeat(depth + 1)}${file}`)
|
|
64
|
+
: [];
|
|
65
|
+
return [
|
|
66
|
+
folderLine(child, depth),
|
|
67
|
+
...own,
|
|
68
|
+
...(depth + 1 < maxDepth ? layoutLines(child, depth + 1) : [])
|
|
69
|
+
];
|
|
70
|
+
});
|
|
71
|
+
const scriptsLine = (packageJson) => {
|
|
72
|
+
if (packageJson === undefined) {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
let parsed;
|
|
76
|
+
try {
|
|
77
|
+
parsed = JSON.parse(packageJson);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
if (typeof parsed !== "object" || parsed === null || !("scripts" in parsed)) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
const scripts = parsed.scripts;
|
|
86
|
+
if (typeof scripts !== "object" || scripts === null) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
const entries = Object.entries(scripts).flatMap(([name, command]) => typeof command === "string" ? [`${name}: ${cap(command, 80).text}`] : []);
|
|
90
|
+
return entries.length === 0 ? undefined : `Scripts (package.json): ${entries.join("; ")}`;
|
|
91
|
+
};
|
|
92
|
+
const testsLine = (files) => {
|
|
93
|
+
const counts = new Map();
|
|
94
|
+
for (const file of files) {
|
|
95
|
+
if (testFile.test(file) || file.includes("/__tests__/")) {
|
|
96
|
+
const folder = file.split("/").slice(0, -1).join("/") || ".";
|
|
97
|
+
counts.set(folder, (counts.get(folder) ?? 0) + 1);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (counts.size === 0) {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
const shown = [...counts.entries()]
|
|
104
|
+
.sort((left, right) => right[1] - left[1] || left[0].localeCompare(right[0]))
|
|
105
|
+
.slice(0, 8)
|
|
106
|
+
.map(([folder, count]) => `${folder} (${count})`);
|
|
107
|
+
const more = counts.size - shown.length;
|
|
108
|
+
return `Tests live beside the code in: ${shown.join(", ")}${more > 0 ? ` and ${more} more folder(s)` : ""}`;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* The digest, or `undefined` when there is nothing to say (no tracked files)
|
|
112
|
+
* or no budget. Never longer than `budget`: the head (the layout) and the
|
|
113
|
+
* tail (scripts, tests) survive a cut, the middle of a long listing does not.
|
|
114
|
+
*/
|
|
115
|
+
export const orientationOf = (input) => {
|
|
116
|
+
if (input.budget <= 0) {
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
const files = input.files.filter((file) => !isNoise(file));
|
|
120
|
+
if (files.length === 0) {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
const root = treeOf(files);
|
|
124
|
+
const appDir = input.appDir ?? ".";
|
|
125
|
+
const text = [
|
|
126
|
+
"## Repository orientation",
|
|
127
|
+
"Tracked files by folder (counts; small folders listed in full) — go straight to the right",
|
|
128
|
+
"place instead of listing directories or searching for where things live.",
|
|
129
|
+
...(appDir === "."
|
|
130
|
+
? []
|
|
131
|
+
: [`The application lives in ${appDir}/ — its package.json, sources and tests.`]),
|
|
132
|
+
"",
|
|
133
|
+
...[...root.own].sort(),
|
|
134
|
+
...layoutLines(root, 0),
|
|
135
|
+
...[scriptsLine(input.packageJson), testsLine(files)].flatMap((line) => line === undefined ? [] : ["", line])
|
|
136
|
+
].join("\n");
|
|
137
|
+
return cap(text, input.budget).text;
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* LLM4TS_ORIENTATION_CHARS: how much of the repository digest the planner and
|
|
141
|
+
* every coder see (0 leaves it out); the default otherwise.
|
|
142
|
+
*/
|
|
143
|
+
export const orientationChars = (environment) => {
|
|
144
|
+
const raw = environment.LLM4TS_ORIENTATION_CHARS?.trim();
|
|
145
|
+
const value = Number(raw ?? "");
|
|
146
|
+
return raw === undefined || raw.length === 0 || !Number.isInteger(value) || value < 0
|
|
147
|
+
? {}
|
|
148
|
+
: { orientationChars: value };
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=Orientation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Orientation.js","sourceRoot":"","sources":["../src/Orientation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefineRound.d.ts","sourceRoot":"","sources":["../src/RefineRound.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;;;;;AAEjD,uFAAuF;AACvF,qBAAa,UAAW,SAAQ,eAG9B;CAAG;;;;;AAEL,oFAAoF;AACpF,qBAAa,cAAe,SAAQ,mBAMlC;CAAG;AAIL,eAAO,MAAM,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"RefineRound.d.ts","sourceRoot":"","sources":["../src/RefineRound.ts"],"names":[],"mappings":"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"}
|
package/dist/RefineRound.js
CHANGED
|
@@ -32,9 +32,21 @@ export const refineProposalJsonSchema = {
|
|
|
32
32
|
dependsOn: strings,
|
|
33
33
|
owned: strings,
|
|
34
34
|
sharedReadOnly: strings,
|
|
35
|
+
readFirst: strings,
|
|
36
|
+
acceptance: strings,
|
|
35
37
|
provides: strings
|
|
36
38
|
},
|
|
37
|
-
required: [
|
|
39
|
+
required: [
|
|
40
|
+
"id",
|
|
41
|
+
"title",
|
|
42
|
+
"description",
|
|
43
|
+
"dependsOn",
|
|
44
|
+
"owned",
|
|
45
|
+
"sharedReadOnly",
|
|
46
|
+
"readFirst",
|
|
47
|
+
"acceptance",
|
|
48
|
+
"provides"
|
|
49
|
+
]
|
|
38
50
|
}
|
|
39
51
|
},
|
|
40
52
|
notPlanned: {
|
package/dist/RefineRound.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefineRound.js","sourceRoot":"","sources":["../src/RefineRound.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,2DAA2D;AAC3D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAEjD,uFAAuF;AACvF,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,KAAK,CAAa,YAAY,CAAC,CAAC;IACrE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;CAAG;AAEL,oFAAoF;AACpF,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,KAAK,CAAiB,gBAAgB,CAAC,CAAC;IACjF,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CACvC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EACjD,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAClD;CACF,CAAC;CAAG;AAEL,MAAM,OAAO,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAA;AAExE,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,SAAS,EAAE,OAAO;oBAClB,KAAK,EAAE,OAAO;oBACd,cAAc,EAAE,OAAO;oBACvB,QAAQ,EAAE,OAAO;iBAClB;gBACD,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"RefineRound.js","sourceRoot":"","sources":["../src/RefineRound.ts"],"names":[],"mappings":"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"}
|
package/dist/Retro.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Retro.d.ts","sourceRoot":"","sources":["../src/Retro.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Retro.d.ts","sourceRoot":"","sources":["../src/Retro.ts"],"names":[],"mappings":"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"}
|
package/dist/Retro.js
CHANGED
|
@@ -109,6 +109,12 @@ const countBy = (items) => [
|
|
|
109
109
|
.sort((left, right) => right[1] - left[1])
|
|
110
110
|
.map(([key, count]) => `${key} ×${count}`)
|
|
111
111
|
.join(", ");
|
|
112
|
+
/**
|
|
113
|
+
* A transcript `--land` compacted: every call's input is empty and no reply
|
|
114
|
+
* is left (ADR 0025). Its shape is still worth reading; its words are gone.
|
|
115
|
+
*/
|
|
116
|
+
const isCompacted = (entries) => entries.length > 0 &&
|
|
117
|
+
entries.every((entry) => entry._tag === "Call" ? entry.input.length === 0 : entry._tag !== "Reply");
|
|
112
118
|
const head = (text, limit = transcriptHead) => {
|
|
113
119
|
const flat = text.replace(/\s+/g, " ").trim();
|
|
114
120
|
return flat.length <= limit ? flat : `${flat.slice(0, limit)}…`;
|
|
@@ -226,11 +232,13 @@ const storySection = (inputs, trace, entry, share) => {
|
|
|
226
232
|
`- failed tool results: ${failures.length}`
|
|
227
233
|
];
|
|
228
234
|
const firstFailure = failures[0];
|
|
229
|
-
if (firstFailure !== undefined &&
|
|
235
|
+
if (firstFailure !== undefined &&
|
|
236
|
+
firstFailure._tag === "ToolResult" &&
|
|
237
|
+
firstFailure.output.length > 0) {
|
|
230
238
|
transcriptLines.push(`- first failed tool result: ${head(firstFailure.output)}`);
|
|
231
239
|
}
|
|
232
240
|
if (lastCall !== undefined && lastCall._tag === "Call") {
|
|
233
|
-
transcriptLines.push(`- last call: ${lastCall.role} — ${head(lastCall.input)}`);
|
|
241
|
+
transcriptLines.push(`- last call: ${lastCall.role} — ${isCompacted(entries) ? "(compacted)" : head(lastCall.input)}`);
|
|
234
242
|
}
|
|
235
243
|
if (lastReply !== undefined && lastReply._tag === "Reply") {
|
|
236
244
|
transcriptLines.push(`- last reply: ${head(lastReply.text)}`);
|
|
@@ -309,7 +317,12 @@ export const renderRetroDigest = (inputs) => {
|
|
|
309
317
|
"",
|
|
310
318
|
`- run outcome: ${trace.outcome ?? "unknown (the trace has no end line: the process died)"}`,
|
|
311
319
|
`- stories: ${inputs.plan.stories.length} planned, ${candidates.length} to look at (${candidates.map((c) => c.story.id).join(", ") || "none"})`,
|
|
312
|
-
`- transcripts: ${inputs.transcripts === undefined
|
|
320
|
+
`- transcripts: ${inputs.transcripts === undefined
|
|
321
|
+
? "none (the run was started without --transcript)"
|
|
322
|
+
: [...inputs.transcripts.values()].some((entries) => entries.length > 0) &&
|
|
323
|
+
[...inputs.transcripts.values()].every(isCompacted)
|
|
324
|
+
? "present, compacted (calls, tools and timings; content removed on land)"
|
|
325
|
+
: "present"}`,
|
|
313
326
|
...(retries.length === 0 ? [] : [`- retries across the run: ${countBy(retries)}`]),
|
|
314
327
|
...(runLines.length === 0
|
|
315
328
|
? []
|