@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.
@@ -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>;
@@ -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;AAI9D,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;CACpF;AAED,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB,oKA6C9B,CAAA;AAOF,eAAO,MAAM,iBAAiB,wxCA8H5B,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* coder.ask(plan.taskPrompt(task));
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":"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"}
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,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,SAAS,EAEV,MAAM,mBAAmB,CAAA;AAC1B,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;AAwDF,4FAA4F;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,uCAAuC,CAAC,CAAC,QAAQ,CAAC,EAC7F,OAAyB,EACzB,SAAiB,EACjB,KAAa,EACb,OAAqB,SAAS;IAE9B,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAA;IAC7D,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAG,KAAK,CACpB,kHAAkH,CACnH,CAAA;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ;SAC3B,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;SACpD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACtB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAA;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAChD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACpD,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAA;IAClD,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,KAAK,CAAC,CAAC,uBAAuB,CAC5B,OAAO,CAAC,MAAM,EACd,gBAAgB,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,iBAAiB;YAC3B,GAAG,EAAE,WAAW;YAChB,KAAK;YACL,QAAQ;YACR,MAAM;YACN,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;YACnC,QAAQ;YACR,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC;YAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE;YACjD,IAAI;SACL,CAAC,CACH,CAAA;QACD,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,SAAS,CAAA;IACxC,OAAO,MAAM,CAAC,KAAK,IAAI,GAAG,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAAU,EAAE,IAAU,EAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAA;AAEhG,MAAM,aAAa,GAAG,CAAC,IAAwB,EAAE,IAAY,EAAU,EAAE,CACvE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAEnG,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,EACrF,OAAyB,EACzB,OAA6B;IAE7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACjF,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACrC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,WAA6B,CAAA;IACjC,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACjC,WAAW,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;YAC3C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO;YACd,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SACpE,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,iBAAiB,CAC7B,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,EAChB,IAAI,EACJ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,qEAAqE;QACrE,mEAAmE;QACnE,iEAAiE;QACjE,IAAI,KAAW,CAAA;QACf,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,GAAG,WAAW,CAAA;QACrB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;aACxD,CAAC,CAAA;QACJ,CAAC;QACD,qEAAqE;QACrE,qEAAqE;QACrE,sEAAsE;QACtE,0DAA0D;QAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;QACjF,4FAA4F;QAC5F,MAAM,YAAY,GAAG,CAAC,KAAa,EAAkC,EAAE,CACrE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACzE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACvD,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;YAClE,CAAC;QACH,CAAC,CAAC,CAAA;QACJ,KAAK,CAAC,CAAC,YAAY,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CACd,OAAO,CAAC,KAAK,KAAK,SAAS;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,eAAe,EAAE,CACrE,CACF,CAAA;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAA;QAC3C,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,kEAAkE;YAClE,8DAA8D;YAC9D,4DAA4D;YAC5D,kEAAkE;YAClE,4BAA4B;YAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CACnC;gBACE,8CAA8C;gBAC9C,gBAAgB,IAAI,CAAC,KAAK,kIAAkI;gBAC5J,oCAAoC;aACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;YACD,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;YACjC,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAA;YACpD,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM,MAAM,GACV,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;oBAC1E,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,CACxB,OAAO,EACP,IAAI,CAAC,KAAK,EACV,YAAY,EACZ,OAAO,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAC5E;oBACH,CAAC,CAAC,SAAS,CAAA;gBACf,IAAI,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;oBAC9D,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAC3B,IAAI,CAAC,IAAI,CAAC;wBACR,OAAO,EAAE,SAAS,IAAI,CAAC,KAAK,2DAA2D;qBACxF,CAAC,CACH,CAAA;oBACD,OAAM;gBACR,CAAC;gBACD,IAAI,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;oBAC1C,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAC3B,IAAI,CAAC,IAAI,CAAC;wBACR,OAAO,EAAE,SAAS,IAAI,CAAC,KAAK,sGAAsG;qBACnI,CAAC,CACH,CAAA;oBACD,OAAM;gBACR,CAAC;gBACD,OAAO,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;oBAC7B,OAAO,EAAE,SAAS,IAAI,CAAC,KAAK,0GAA0G;iBACvI,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,CAAC,gBAAgB,CAAC;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,gBAAgB;YAChD,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC;YACtC,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,OAAO,EAAE,CAAC,KAAa,EAAE,MAAoB,EAAE,OAAgB,EAAE,EAAE,CACjE,OAAO,CAAC,QAAQ,KAAK,SAAS;wBAC5B,CAAC,CAAC,MAAM,CAAC,IAAI;wBACb,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;iBACrD,CAAC;SACP,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;oBAC7B,OAAO,EAAE;wBACP,SAAS,IAAI,CAAC,KAAK,4EAA4E;wBAC/F,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;4BAC3B,MAAM,MAAM,GACV,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;4BAC7E,OAAO,MAAM,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK,GAAG,MAAM,EAAE,CAAA;wBACxD,CAAC,CAAC;qBACH,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,oBAAoB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC3F,CAAC,CAAC,CACL,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -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":"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"}
1
+ {"version":3,"file":"RefineRound.d.ts","sourceRoot":"","sources":["../src/RefineRound.ts"],"names":[],"mappings":"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"}
@@ -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: ["id", "title", "description", "dependsOn", "owned", "sharedReadOnly", "provides"]
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: {
@@ -1 +1 @@
1
- {"version":3,"file":"RefineRound.js","sourceRoot":"","sources":["../src/RefineRound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RefineRound.js","sourceRoot":"","sources":["../src/RefineRound.ts"],"names":[],"mappings":"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"}
@@ -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 && firstFailure._tag === "ToolResult") {
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 ? "none (the run was started without --transcript)" : "present"}`,
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
  ? []