linersh 1.1.3 → 1.2.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.
Files changed (62) hide show
  1. package/README.md +12 -58
  2. package/bin/liner.js +15 -7
  3. package/package.json +10 -17
  4. package/cli-update-docs/README.md +0 -129
  5. package/cli-update-docs/SKILL.md +0 -294
  6. package/cli-update-docs/curator-notes.md +0 -85
  7. package/cli-update-docs/quality-check-tests.md +0 -435
  8. package/cli-update-docs/source-finding-tactics.md +0 -224
  9. package/cli-update-docs/source-quality-hierarchy.md +0 -209
  10. package/cli-update-docs/synthesis-guidance.md +0 -151
  11. package/dist/agents/artifact-validation.js +0 -567
  12. package/dist/agents/artifact-validation.js.map +0 -1
  13. package/dist/agents/candidate-longlist.js +0 -116
  14. package/dist/agents/candidate-longlist.js.map +0 -1
  15. package/dist/agents/detect.js +0 -169
  16. package/dist/agents/detect.js.map +0 -1
  17. package/dist/agents/evaluation-assembly.js +0 -270
  18. package/dist/agents/evaluation-assembly.js.map +0 -1
  19. package/dist/agents/events.js +0 -8
  20. package/dist/agents/events.js.map +0 -1
  21. package/dist/agents/headless-runner.js +0 -432
  22. package/dist/agents/headless-runner.js.map +0 -1
  23. package/dist/agents/jtbd-clarify.js +0 -169
  24. package/dist/agents/jtbd-clarify.js.map +0 -1
  25. package/dist/agents/models.js +0 -98
  26. package/dist/agents/models.js.map +0 -1
  27. package/dist/agents/parsers.js +0 -316
  28. package/dist/agents/parsers.js.map +0 -1
  29. package/dist/agents/prompts.js +0 -522
  30. package/dist/agents/prompts.js.map +0 -1
  31. package/dist/agents/run-log.js +0 -71
  32. package/dist/agents/run-log.js.map +0 -1
  33. package/dist/agents/runner.js +0 -906
  34. package/dist/agents/runner.js.map +0 -1
  35. package/dist/agents/types.js +0 -2
  36. package/dist/agents/types.js.map +0 -1
  37. package/dist/bin-resolver.js +0 -92
  38. package/dist/bin-resolver.js.map +0 -1
  39. package/dist/config.js +0 -282
  40. package/dist/config.js.map +0 -1
  41. package/dist/editor.js +0 -40
  42. package/dist/editor.js.map +0 -1
  43. package/dist/gates.js +0 -121
  44. package/dist/gates.js.map +0 -1
  45. package/dist/ipc.js +0 -145
  46. package/dist/ipc.js.map +0 -1
  47. package/dist/open-folder.js +0 -28
  48. package/dist/open-folder.js.map +0 -1
  49. package/dist/phases.js +0 -346
  50. package/dist/phases.js.map +0 -1
  51. package/dist/progress.js +0 -184
  52. package/dist/progress.js.map +0 -1
  53. package/dist/source-inbox.js +0 -297
  54. package/dist/source-inbox.js.map +0 -1
  55. package/dist/types.js +0 -3
  56. package/dist/types.js.map +0 -1
  57. package/dist/version.js +0 -18
  58. package/dist/version.js.map +0 -1
  59. package/dist/yaml-io.js +0 -376
  60. package/dist/yaml-io.js.map +0 -1
  61. package/maintenance-skill/SKILL.md +0 -18
  62. package/maintenance-skill/agents/openai.yaml +0 -4
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":""}
@@ -1,92 +0,0 @@
1
- // Locate the `liner` binary to spawn.
2
- //
3
- // Resolution order:
4
- // 1. LINER_BIN env var (explicit override)
5
- // 2. Bundled platform-specific binary from optionalDependencies
6
- // (e.g. linersh-darwin-arm64/liner) — the production path
7
- // 3. Repo-local `.venv/bin/liner` discovered by walking up from this file
8
- // (dev convenience — when you're hacking on the Python source in a
9
- // checkout, the local venv should always win over any global install
10
- // so your edits actually run.)
11
- // 4. `liner` on $PATH (e.g. `pipx install linersh` or an activated venv)
12
- //
13
- // Branches (1) and (2) are the only paths that matter for the published npm
14
- // package — neither dev path applies there (no `.venv` to walk up to). (3)
15
- // before (4) is the dev affordance: previously PATH beat .venv, which meant
16
- // a developer with a pipx-installed `liner` would silently run the global
17
- // version instead of their local Python edits.
18
- import { existsSync } from "node:fs";
19
- import { spawnSync } from "node:child_process";
20
- import { createRequire } from "node:module";
21
- import { dirname, join } from "node:path";
22
- import { fileURLToPath } from "node:url";
23
- const require = createRequire(import.meta.url);
24
- const __filename = fileURLToPath(import.meta.url);
25
- export function resolveBinary() {
26
- // 1. Explicit env override
27
- const envBin = process.env["LINER_BIN"];
28
- if (envBin && existsSync(envBin)) {
29
- return { command: envBin, args: [], source: "env" };
30
- }
31
- // 2. Bundled binary via optionalDependencies (production path)
32
- const target = `linersh-${process.platform}-${process.arch}`;
33
- try {
34
- const pkgJson = require.resolve(`${target}/package.json`);
35
- const baseDir = pkgJson.replace(/[\\/]package\.json$/, "");
36
- const bundled = join(baseDir, exeName());
37
- if (existsSync(bundled)) {
38
- return { command: bundled, args: [], source: "bundled" };
39
- }
40
- }
41
- catch {
42
- // fall through
43
- }
44
- // 3. Repo-local venv (dev convenience). Walk up from this file until we
45
- // hit a `.venv/bin/liner` or the filesystem root. Prefer this over a
46
- // global pipx install so dev edits to the Python source take effect
47
- // immediately without juggling `LINER_BIN`.
48
- const repoVenvBin = findRepoVenvBinary();
49
- if (repoVenvBin) {
50
- return { command: repoVenvBin, args: [], source: "repo-venv" };
51
- }
52
- // 4. PATH lookup (works when user has pipx-installed liner globally or
53
- // activated an unrelated venv).
54
- const probe = spawnSync(process.platform === "win32" ? "where" : "which", ["liner"]);
55
- if (probe.status === 0) {
56
- return { command: "liner", args: [], source: "path" };
57
- }
58
- throw new BinaryNotFoundError(target);
59
- }
60
- function exeName() {
61
- return process.platform === "win32" ? "liner.exe" : "liner";
62
- }
63
- function findRepoVenvBinary() {
64
- const venvBinDir = process.platform === "win32" ? "Scripts" : "bin";
65
- let dir = dirname(__filename);
66
- // Cap the walk at ~10 levels so we never blow up on weird filesystems.
67
- for (let i = 0; i < 10; i += 1) {
68
- const candidate = join(dir, ".venv", venvBinDir, exeName());
69
- if (existsSync(candidate))
70
- return candidate;
71
- const parent = dirname(dir);
72
- if (parent === dir)
73
- break; // hit filesystem root
74
- dir = parent;
75
- }
76
- return null;
77
- }
78
- export class BinaryNotFoundError extends Error {
79
- constructor(target) {
80
- super(`Could not find the liner binary.\n` +
81
- ` • No LINER_BIN env var set.\n` +
82
- ` • No bundled binary for ${target} (optionalDependency missing).\n` +
83
- ` • \`liner\` not on PATH.\n` +
84
- ` • No repo-local \`.venv/bin/liner\` found by walking up from this file.\n\n` +
85
- `Fix one of:\n` +
86
- ` • Install the Python core globally: \`pipx install linersh\`\n` +
87
- ` • Activate the repo's venv: \`source .venv/bin/activate\` (then re-run)\n` +
88
- ` • Point at a specific binary: \`LINER_BIN=/path/to/liner npm run dev\``);
89
- this.name = "BinaryNotFoundError";
90
- }
91
- }
92
- //# sourceMappingURL=bin-resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bin-resolver.js","sourceRoot":"","sources":["../src/bin-resolver.ts"],"names":[],"mappings":"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"}
package/dist/config.js DELETED
@@ -1,282 +0,0 @@
1
- // User-level config persisted to ~/.liner/config.yaml.
2
- //
3
- // The shape stays an object so settings can grow without a migration. Anything
4
- // missing from the file resolves to a safe default on read; the caller does
5
- // not have to undefined-check.
6
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
7
- import { homedir } from "node:os";
8
- import { join } from "node:path";
9
- import * as YAML from "yaml";
10
- import { CLAUDE_REASONING_EFFORTS, normalizeProviderModel } from "./agents/models.js";
11
- const KNOWN_AGENT_IDS = ["claude", "codex"];
12
- const EMPTY_CONFIG = {
13
- agent: null,
14
- runner: null,
15
- providerPreferences: null,
16
- models: null,
17
- jsSetupPrompted: false,
18
- };
19
- const REASONING_EFFORTS = new Set([
20
- "none",
21
- "low",
22
- "medium",
23
- "high",
24
- "xhigh",
25
- "max",
26
- ]);
27
- function parseProviderPreferences(raw) {
28
- if (!raw || typeof raw !== "object" || Array.isArray(raw))
29
- return null;
30
- const preferences = {};
31
- for (const agent of KNOWN_AGENT_IDS) {
32
- const entry = raw[agent];
33
- if (!entry || typeof entry !== "object" || Array.isArray(entry))
34
- continue;
35
- const model = entry["model"];
36
- const modelMode = entry["model_mode"];
37
- const effort = entry["reasoning_effort"];
38
- const preference = {
39
- model: typeof model === "string" && model.trim() ? normalizeProviderModel(agent, model) : null,
40
- };
41
- const efforts = agent === "claude" ? CLAUDE_REASONING_EFFORTS : REASONING_EFFORTS;
42
- if (typeof effort === "string" && efforts.has(effort.trim())) {
43
- preference.reasoningEffort = effort.trim();
44
- }
45
- if (agent === "codex" && (modelMode === "auto" || modelMode === "default")) {
46
- preference.modelMode = modelMode;
47
- }
48
- if (!preference.model && !preference.modelMode && !preference.reasoningEffort)
49
- continue;
50
- preferences[agent] = preference;
51
- }
52
- return Object.keys(preferences).length > 0 ? preferences : null;
53
- }
54
- function parseRunner(raw) {
55
- if (!raw || typeof raw !== "object")
56
- return null;
57
- const value = raw;
58
- const agent = value["agent"];
59
- const executable = value["executable"];
60
- const configHome = value["config_home"] ?? value["configHome"];
61
- if ((agent !== "claude" && agent !== "codex") ||
62
- typeof executable !== "string" || !executable.trim() ||
63
- typeof configHome !== "string" || !configHome.trim())
64
- return null;
65
- return { agent, executable: executable.trim(), configHome: configHome.trim() };
66
- }
67
- function readRawConfig() {
68
- if (!existsSync(CONFIG_PATH))
69
- return {};
70
- try {
71
- const raw = YAML.parse(readFileSync(CONFIG_PATH, "utf8"));
72
- return raw && typeof raw === "object" && !Array.isArray(raw)
73
- ? raw
74
- : {};
75
- }
76
- catch {
77
- return {};
78
- }
79
- }
80
- /**
81
- * Best-effort parse of the `models` config block. Anything that isn't a
82
- * `{ agent: { phase: string } }` shape is dropped silently — a malformed
83
- * override should never crash the TUI or block a run, just fall back to the
84
- * default map.
85
- */
86
- function parseModels(raw) {
87
- if (!raw || typeof raw !== "object")
88
- return null;
89
- const out = {};
90
- for (const agentId of KNOWN_AGENT_IDS) {
91
- const block = raw[agentId];
92
- if (!block || typeof block !== "object")
93
- continue;
94
- const phaseMap = {};
95
- for (const [phase, model] of Object.entries(block)) {
96
- if (typeof model === "string")
97
- phaseMap[phase] = model;
98
- }
99
- if (Object.keys(phaseMap).length > 0)
100
- out[agentId] = phaseMap;
101
- }
102
- return Object.keys(out).length > 0 ? out : null;
103
- }
104
- const CONFIG_DIR = join(homedir(), ".liner");
105
- const CONFIG_PATH = join(CONFIG_DIR, "config.yaml");
106
- export function configPath() {
107
- return CONFIG_PATH;
108
- }
109
- export function configExists() {
110
- return existsSync(CONFIG_PATH);
111
- }
112
- /**
113
- * Read the user-level config. Returns a fully-populated config with `null`
114
- * defaults for any field that's missing or malformed — callers don't have
115
- * to undefined-check. Never throws; a corrupt config file degrades to "no
116
- * preference set" rather than crashing the TUI.
117
- */
118
- export function readConfig() {
119
- if (!existsSync(CONFIG_PATH)) {
120
- return { ...EMPTY_CONFIG };
121
- }
122
- try {
123
- const raw = YAML.parse(readFileSync(CONFIG_PATH, "utf8"));
124
- if (!raw || typeof raw !== "object") {
125
- return { ...EMPTY_CONFIG };
126
- }
127
- const agent = raw["agent"];
128
- const validAgent = agent === "claude" || agent === "codex" ? agent : null;
129
- return {
130
- agent: validAgent,
131
- runner: parseRunner(raw["runner"]),
132
- providerPreferences: parseProviderPreferences(raw["provider_preferences"]),
133
- models: parseModels(raw["models"]),
134
- jsSetupPrompted: raw["jsSetupPrompted"] === true,
135
- };
136
- }
137
- catch {
138
- return { ...EMPTY_CONFIG };
139
- }
140
- }
141
- /**
142
- * Persist a config patch, merged over whatever is already on disk. Callers
143
- * that only touch one field (e.g. the agent picker) leave the rest — including
144
- * hand-edited model overrides — intact.
145
- */
146
- export function writeConfig(patch) {
147
- if (!existsSync(CONFIG_DIR)) {
148
- mkdirSync(CONFIG_DIR, { recursive: true });
149
- }
150
- const merged = readRawConfig();
151
- if (patch.agent !== undefined)
152
- merged["agent"] = patch.agent;
153
- if (patch.runner !== undefined) {
154
- merged["runner"] = patch.runner === null ? null : {
155
- agent: patch.runner.agent,
156
- executable: patch.runner.executable,
157
- config_home: patch.runner.configHome,
158
- };
159
- }
160
- if (patch.providerPreferences !== undefined) {
161
- if (patch.providerPreferences === null) {
162
- merged["provider_preferences"] = null;
163
- }
164
- else {
165
- const existing = merged["provider_preferences"];
166
- const preferences = existing && typeof existing === "object" && !Array.isArray(existing)
167
- ? existing
168
- : {};
169
- for (const [agent, preference] of Object.entries(patch.providerPreferences)) {
170
- const current = preferences[agent];
171
- const entry = current && typeof current === "object" && !Array.isArray(current)
172
- ? current
173
- : {};
174
- if (preference && Object.prototype.hasOwnProperty.call(preference, "model")) {
175
- const model = preference.model?.trim() || "";
176
- if (model)
177
- entry["model"] = model;
178
- else
179
- delete entry["model"];
180
- }
181
- if (agent === "codex" && preference && Object.prototype.hasOwnProperty.call(preference, "modelMode")) {
182
- const modelMode = preference.modelMode;
183
- if (modelMode)
184
- entry["model_mode"] = modelMode;
185
- else
186
- delete entry["model_mode"];
187
- }
188
- if (agent === "codex" && preference && Object.prototype.hasOwnProperty.call(preference, "reasoningEffort")) {
189
- const effort = preference.reasoningEffort;
190
- if (effort)
191
- entry["reasoning_effort"] = effort;
192
- else
193
- delete entry["reasoning_effort"];
194
- }
195
- if (Object.keys(entry).length > 0)
196
- preferences[agent] = entry;
197
- else
198
- delete preferences[agent];
199
- }
200
- merged["provider_preferences"] = preferences;
201
- }
202
- }
203
- if (patch.models !== undefined)
204
- merged["models"] = patch.models;
205
- if (patch.jsSetupPrompted !== undefined)
206
- merged["jsSetupPrompted"] = patch.jsSetupPrompted;
207
- // Stable, hand-editable output. Comment at the top so curators who poke at
208
- // the file know what's there and how to extend it.
209
- const body = [
210
- "# Liner user config — generated by the TUI.",
211
- "# Hand-edit if you know what you want; the TUI rewrites supported",
212
- "# settings when they change.",
213
- "#",
214
- "# models: per-agent, per-phase model overrides. The heavy phases",
215
- "# (candidates, evaluation) default to a cheaper model — set them back to",
216
- "# a flagship model here to undo that, e.g.:",
217
- "# models:",
218
- "# claude:",
219
- "# candidates: opus",
220
- "# evaluation: opus",
221
- "# provider_preferences.codex.model_mode: auto routes each fresh task",
222
- "# through Liner's built-in model and Thinking effort policy; default",
223
- "# leaves both choices to the OpenAI provider unless explicitly pinned.",
224
- "# jsSetupPrompted: true after the first-run JS rendering prompt has shown.",
225
- "",
226
- YAML.stringify(merged),
227
- ].join("\n");
228
- writeFileSync(CONFIG_PATH, body, "utf8");
229
- }
230
- /**
231
- * Pick which agent to use. Returns null when no agents are available at all.
232
- * Priority order:
233
- * 1. LINER_AGENT env var (escape hatch for CI / power users)
234
- * 2. The configured agent in ~/.liner/config.yaml, IF it's installed
235
- * 3. The single installed agent (when only one is available)
236
- * 4. null — caller should show a picker
237
- */
238
- export function resolveConfiguredAgent(installed, config = readConfig()) {
239
- const envPin = (process.env["LINER_AGENT"] || "").toLowerCase();
240
- if (envPin) {
241
- if (config.runner?.agent === envPin) {
242
- return descriptorFromProfile(config.runner);
243
- }
244
- const pinned = installed.find((a) => a.id === envPin);
245
- if (pinned)
246
- return pinned;
247
- // An explicit but invalid override must fail closed. Falling through to
248
- // a saved runner would violate the advertised precedence and hide the
249
- // broken automation configuration.
250
- return null;
251
- }
252
- if (config.runner) {
253
- return descriptorFromProfile(config.runner);
254
- }
255
- if (installed.length === 0)
256
- return null;
257
- if (config.agent) {
258
- const configured = installed.find((a) => a.id === config.agent);
259
- if (configured)
260
- return configured;
261
- // The configured agent isn't installed anymore (user uninstalled it).
262
- // Fall through; the caller will either pick the remaining one or
263
- // re-prompt setup.
264
- }
265
- if (installed.length === 1) {
266
- return installed[0];
267
- }
268
- return null;
269
- }
270
- function descriptorFromProfile(profile) {
271
- const isClaude = profile.agent === "claude";
272
- const executable = process.env[isClaude ? "LINER_CLAUDE_BIN" : "LINER_CODEX_BIN"]?.trim();
273
- const configHome = process.env[isClaude ? "LINER_CLAUDE_HOME" : "LINER_CODEX_HOME"]?.trim() ||
274
- process.env[isClaude ? "CLAUDE_CONFIG_DIR" : "CODEX_HOME"]?.trim();
275
- return {
276
- id: profile.agent,
277
- name: isClaude ? "Claude" : "OpenAI",
278
- bin: executable || profile.executable,
279
- configHome: configHome || profile.configHome,
280
- };
281
- }
282
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/editor.js DELETED
@@ -1,40 +0,0 @@
1
- // Centralized $EDITOR resolution.
2
- //
3
- // The default fallback used to be `vi`, which is the classic Unix tradition
4
- // but a hostile UX for anyone who hasn't learned vim. Nano is on every macOS
5
- // install, is on most Linux distros, and crucially shows its keybindings at
6
- // the bottom of the screen — a user who has never seen it before can still
7
- // figure out save (^O) and exit (^X).
8
- //
9
- // $VISUAL beats $EDITOR per the de-facto convention; the user explicitly set
10
- // either one if they prefer it.
11
- import { existsSync } from "node:fs";
12
- const FALLBACK_CANDIDATES = ["nano", "pico", "vi"];
13
- /**
14
- * Resolve which editor to spawn for in-tui $EDITOR launches. Honors the
15
- * user's $VISUAL / $EDITOR if set; otherwise probes for newbie-friendly
16
- * editors before falling back to vi.
17
- */
18
- export function resolveEditor() {
19
- const explicit = (process.env["VISUAL"] || process.env["EDITOR"] || "").trim();
20
- if (explicit)
21
- return explicit;
22
- for (const candidate of FALLBACK_CANDIDATES) {
23
- if (binaryOnPath(candidate))
24
- return candidate;
25
- }
26
- return "vi";
27
- }
28
- /** True when a binary lookups in the user's PATH. */
29
- function binaryOnPath(name) {
30
- const pathEnv = process.env["PATH"] || "";
31
- const sep = process.platform === "win32" ? ";" : ":";
32
- for (const dir of pathEnv.split(sep)) {
33
- if (!dir)
34
- continue;
35
- if (existsSync(`${dir}/${name}`))
36
- return true;
37
- }
38
- return false;
39
- }
40
- //# sourceMappingURL=editor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,sCAAsC;AACtC,EAAE;AACF,6EAA6E;AAC7E,gCAAgC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAU,CAAC;AAE5D;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC5C,IAAI,YAAY,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qDAAqD;AACrD,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,UAAU,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/gates.js DELETED
@@ -1,121 +0,0 @@
1
- // Permissive parsers for the Gate 1 / Gate 2 review screens.
2
- //
3
- // These read working/* artifacts produced by the agent (or the curator by hand)
4
- // and produce structured data the TUI can render. They are deliberately lenient
5
- // — the artifacts are markdown/yaml meant for human eyes, not a strict schema.
6
- import { readFileSync, existsSync } from "node:fs";
7
- import * as YAML from "yaml";
8
- /** Parse a candidate long-list markdown file produced in Phase 2. */
9
- export function parseLonglist(path) {
10
- if (!existsSync(path))
11
- return [];
12
- const text = readFileSync(path, "utf8");
13
- const sections = [];
14
- let current = null;
15
- for (const rawLine of text.split("\n")) {
16
- const line = rawLine.replace(/\r$/, "");
17
- // Section header (## ...)
18
- const headingMatch = line.match(/^##\s+(.+?)\s*$/);
19
- if (headingMatch) {
20
- // Drop the literal "Section:" prefix the template uses, so the displayed
21
- // header reads as just the section name.
22
- const title = (headingMatch[1] ?? "").replace(/^Section:\s*/i, "");
23
- current = { title, candidates: [] };
24
- sections.push(current);
25
- continue;
26
- }
27
- if (!current)
28
- continue;
29
- // Bullet (- or *) followed by an optional checkbox.
30
- const bulletMatch = line.match(/^\s*[-*]\s+(.*)$/);
31
- if (!bulletMatch)
32
- continue;
33
- let rest = (bulletMatch[1] ?? "").trim();
34
- rest = rest.replace(/^\[[ xX]\]\s*/, "");
35
- const urlMatch = rest.match(/https?:\/\/\S+/);
36
- const url = urlMatch ? urlMatch[0].replace(/[.,;)\]]+$/, "") : "";
37
- const label = url ? rest.replace(url, "").replace(/\s+/g, " ").trim() : rest;
38
- current.candidates.push({ url, label });
39
- }
40
- // Filter out empty sections (e.g. the intro paragraph before any heading).
41
- return sections.filter((s) => s.candidates.length > 0);
42
- }
43
- export function parseEvaluation(path) {
44
- if (!existsSync(path))
45
- return [];
46
- let parsed;
47
- try {
48
- parsed = YAML.parse(readFileSync(path, "utf8"));
49
- }
50
- catch {
51
- return [];
52
- }
53
- if (!parsed || typeof parsed !== "object")
54
- return [];
55
- const raw = parsed["candidates"];
56
- if (!Array.isArray(raw))
57
- return [];
58
- return raw.map((entry) => {
59
- const o = (entry ?? {});
60
- return {
61
- url: String(o["url"] ?? ""),
62
- title: String(o["title"] ?? ""),
63
- decision: String(o["decision"] ?? ""),
64
- rating: typeof o["rating"] === "number" ? o["rating"] : null,
65
- section: String(o["section"] ?? ""),
66
- rationale: String(o["rationale"] ?? ""),
67
- note: String(o["note"] ?? ""),
68
- };
69
- });
70
- }
71
- export function parseQualityChecks(path) {
72
- if (!existsSync(path))
73
- return [];
74
- const text = readFileSync(path, "utf8");
75
- const checks = [];
76
- let currentTest = null;
77
- let buffer = [];
78
- function flush() {
79
- if (currentTest) {
80
- checks.push({ test: currentTest, finding: buffer.join("\n").trim() });
81
- }
82
- buffer = [];
83
- }
84
- for (const rawLine of text.split("\n")) {
85
- const line = rawLine.replace(/\r$/, "");
86
- // ## Redundancy test → testName = "Redundancy"
87
- const heading = line.match(/^##\s+(.+?)\s+test\s*$/i);
88
- if (heading) {
89
- flush();
90
- currentTest = (heading[1] ?? "").trim();
91
- continue;
92
- }
93
- if (currentTest)
94
- buffer.push(line);
95
- }
96
- flush();
97
- return checks.filter((c) => c.finding.length > 0);
98
- }
99
- export function groupEvaluation(items) {
100
- const kept = [];
101
- const trimmed = [];
102
- const dropped = [];
103
- for (const c of items) {
104
- const d = String(c.decision || "").toLowerCase();
105
- if (d === "kept" || d === "keep")
106
- kept.push(c);
107
- else if (d === "trim" || d === "trimmed")
108
- trimmed.push(c);
109
- else
110
- dropped.push(c);
111
- }
112
- // Sort kept by descending rating so the strongest reads first.
113
- kept.sort((a, b) => (b.rating ?? 0) - (a.rating ?? 0));
114
- trimmed.sort((a, b) => (b.rating ?? 0) - (a.rating ?? 0));
115
- return [
116
- { decision: "kept", candidates: kept },
117
- { decision: "trimmed", candidates: trimmed },
118
- { decision: "dropped", candidates: dropped },
119
- ];
120
- }
121
- //# sourceMappingURL=gates.js.map