linersh 1.0.3 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -14
- package/bin/liner.js +97 -16
- package/cli-update-docs/README.md +23 -3
- package/cli-update-docs/SKILL.md +18 -3
- package/cli-update-docs/quality-check-tests.md +2 -1
- package/dist/agents/artifact-validation.js +69 -5
- package/dist/agents/artifact-validation.js.map +1 -1
- package/dist/agents/candidate-longlist.js +21 -5
- package/dist/agents/candidate-longlist.js.map +1 -1
- package/dist/agents/detect.js +17 -3
- package/dist/agents/detect.js.map +1 -1
- package/dist/agents/headless-runner.js +218 -13
- package/dist/agents/headless-runner.js.map +1 -1
- package/dist/agents/jtbd-clarify.js +26 -2
- package/dist/agents/jtbd-clarify.js.map +1 -1
- package/dist/agents/models.js +66 -14
- package/dist/agents/models.js.map +1 -1
- package/dist/agents/prompts.js +38 -1
- package/dist/agents/prompts.js.map +1 -1
- package/dist/agents/runner.js +171 -39
- package/dist/agents/runner.js.map +1 -1
- package/dist/config.js +156 -15
- package/dist/config.js.map +1 -1
- package/dist/phases.js +13 -0
- package/dist/phases.js.map +1 -1
- package/dist/progress.js +2 -0
- package/dist/progress.js.map +1 -1
- package/maintenance-skill/SKILL.md +18 -0
- package/maintenance-skill/agents/openai.yaml +4 -0
- package/package.json +16 -10
package/README.md
CHANGED
|
@@ -26,12 +26,37 @@ liner
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
With no arguments, `liner` launches the Go TUI. CLI subcommands such as
|
|
29
|
-
`liner compile`, `liner share`, `liner import`, `liner
|
|
30
|
-
`liner
|
|
29
|
+
`liner compile`, `liner share`, `liner import`, `liner project`,
|
|
30
|
+
`liner sources`, `liner adapters`, `liner status`, and `liner setup-js` pass
|
|
31
|
+
through to the Python core. If you are using one-shot
|
|
31
32
|
`npx` instead of a global install, pass subcommands through the package:
|
|
32
33
|
`npx --yes linersh@latest setup-js` or
|
|
33
34
|
`npx --yes linersh@latest uninstall --yes`.
|
|
34
35
|
|
|
36
|
+
## Safe Project Maintenance
|
|
37
|
+
|
|
38
|
+
The installed CLI is the authority for supported Project and Source changes.
|
|
39
|
+
Inspection and planning are write-free; apply revalidates one exact versioned
|
|
40
|
+
Change Set and writes a durable, redacted Change Receipt.
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
liner project guidance <project> --format markdown
|
|
44
|
+
liner project inspect <project> --json
|
|
45
|
+
liner sources add <project> --type web --url <url> --note <note>
|
|
46
|
+
liner project rename <project> --name <name>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
The Go TUI's `Maintain project` command uses the same contract. Optional Codex
|
|
50
|
+
and Claude Maintenance Adapters are explicit CLI-delegating installations:
|
|
51
|
+
|
|
52
|
+
```sh
|
|
53
|
+
liner adapters inspect codex
|
|
54
|
+
liner adapters install codex --yes
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The Maintenance Adapter is not the Project Skill, and a `type: skill` Source is
|
|
58
|
+
inert reference material rather than installed instructions.
|
|
59
|
+
|
|
35
60
|
## Try It Cleanly
|
|
36
61
|
|
|
37
62
|
For a regular-user smoke test without touching your real Liner workspace:
|
|
@@ -50,17 +75,22 @@ rm -rf "$tmp"
|
|
|
50
75
|
```
|
|
51
76
|
|
|
52
77
|
The second command opens the Go TUI. Create a test Liner Project, build the
|
|
53
|
-
corpus with your configured
|
|
54
|
-
Operating Layer. Because `HOME`, the npm cache, and `LINER_DIR`
|
|
55
|
-
`$tmp`, cleanup is just `rm -rf "$tmp"`.
|
|
56
|
-
|
|
57
|
-
For release testing on a machine that may already have Liner installed, first
|
|
58
|
-
run the hard-reset smoke commands in [PUBLISH-CHECKLIST.md](PUBLISH-CHECKLIST.md).
|
|
59
|
-
That removes global `linersh`, npx execution caches, Liner config/cache, and
|
|
60
|
-
Playwright Chromium before the external-user `npx linersh@<version>` test.
|
|
78
|
+
corpus with your configured OpenAI (Codex CLI) or Claude (Claude Code) runner,
|
|
79
|
+
then run Create Operating Layer. Because `HOME`, the npm cache, and `LINER_DIR`
|
|
80
|
+
all point inside `$tmp`, cleanup is just `rm -rf "$tmp"`.
|
|
61
81
|
|
|
62
82
|
## Run Locally
|
|
63
83
|
|
|
84
|
+
For normal repository testing, use the isolated launch so Projects and Settings
|
|
85
|
+
cannot write to the production Liner library or profile:
|
|
86
|
+
|
|
87
|
+
```sh
|
|
88
|
+
npm --prefix packages/tui run dev:isolated
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
See [../../docs/development.md](../../docs/development.md) for explicit
|
|
92
|
+
authenticated provider-home options and the offline runner-preferences smoke.
|
|
93
|
+
|
|
64
94
|
From the repo root:
|
|
65
95
|
|
|
66
96
|
```sh
|
|
@@ -103,10 +133,9 @@ Notes:
|
|
|
103
133
|
- Release packaging is verified with `npm run acceptance:go -- release-smoke`,
|
|
104
134
|
which packs a local platform package plus the main `linersh` package and
|
|
105
135
|
installs both into a clean consumer project.
|
|
106
|
-
-
|
|
107
|
-
`
|
|
108
|
-
|
|
109
|
-
command block Arturo should run.
|
|
136
|
+
- `npm run release:check` is offline and verifies repository consistency.
|
|
137
|
+
`npm run release:check:publish` additionally refuses to publish the main
|
|
138
|
+
package when its canonical version already exists on npm.
|
|
110
139
|
|
|
111
140
|
## Useful Environment Variables
|
|
112
141
|
|
package/bin/liner.js
CHANGED
|
@@ -19,6 +19,75 @@ const here = dirname(fileURLToPath(import.meta.url));
|
|
|
19
19
|
const packageRoot = join(here, "..");
|
|
20
20
|
const argv = process.argv.slice(2);
|
|
21
21
|
|
|
22
|
+
const COMMAND_GROUPS = [
|
|
23
|
+
{
|
|
24
|
+
title: "Common workflow commands:",
|
|
25
|
+
commands: [
|
|
26
|
+
{ name: "init", description: "Create a Liner Project", owner: "core" },
|
|
27
|
+
{ name: "compile", description: "Build MIXTAPE.md from a Liner Project", owner: "core" },
|
|
28
|
+
{ name: "share", description: "Create a shareable .mixtape file", owner: "core" },
|
|
29
|
+
{
|
|
30
|
+
name: "import",
|
|
31
|
+
description: "Import a .mixtape file as a Liner Project",
|
|
32
|
+
owner: "core",
|
|
33
|
+
},
|
|
34
|
+
{ name: "list", description: "List Liner Projects", owner: "core" },
|
|
35
|
+
{ name: "status", description: "Show Liner Project status", owner: "core" },
|
|
36
|
+
{ name: "setup-js", description: "Set up JavaScript rendering support", owner: "core" },
|
|
37
|
+
{ name: "uninstall", description: "Remove local Liner state and caches", owner: "launcher" },
|
|
38
|
+
{
|
|
39
|
+
name: "--version",
|
|
40
|
+
description: "Show installed launcher and core versions (-v)",
|
|
41
|
+
owner: "launcher",
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
title: "Advanced maintenance commands:",
|
|
47
|
+
commands: [
|
|
48
|
+
{
|
|
49
|
+
name: "replay",
|
|
50
|
+
description: "Clone project inputs with lineage for later comparison",
|
|
51
|
+
owner: "core",
|
|
52
|
+
},
|
|
53
|
+
{ name: "clone", description: "Fetch or copy a project recipe", owner: "core" },
|
|
54
|
+
{
|
|
55
|
+
name: "skills",
|
|
56
|
+
description: "Find installed skills that can be used as Sources",
|
|
57
|
+
owner: "core",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "sources",
|
|
61
|
+
description: "Plan and apply Source maintenance",
|
|
62
|
+
owner: "core",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "adapters",
|
|
66
|
+
description: "Manage optional Maintenance Adapters",
|
|
67
|
+
owner: "core",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "project",
|
|
71
|
+
description: "Inspect, plan, and apply Project maintenance",
|
|
72
|
+
owner: "core",
|
|
73
|
+
},
|
|
74
|
+
{ name: "cache", description: "Inspect or clear the Source cache", owner: "core" },
|
|
75
|
+
{ name: "manifest", description: "Build or inspect a Source manifest", owner: "core" },
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
const CLI_COMMANDS = new Set(
|
|
81
|
+
COMMAND_GROUPS.flatMap((group) =>
|
|
82
|
+
group.commands.filter((command) => command.owner === "core").map((command) => command.name),
|
|
83
|
+
),
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
if (argv.length === 1 && (argv[0] === "--help" || argv[0] === "-h")) {
|
|
87
|
+
printHelp();
|
|
88
|
+
process.exit(0);
|
|
89
|
+
}
|
|
90
|
+
|
|
22
91
|
// `liner --version` used to forward straight to the Python core, so it
|
|
23
92
|
// reported the core version (e.g. 0.5.0) regardless of which TUI package was
|
|
24
93
|
// installed — confusing when verifying an npm publish. Report the npm/TUI
|
|
@@ -34,25 +103,10 @@ if (argv[0] === "uninstall") {
|
|
|
34
103
|
process.exit(code);
|
|
35
104
|
}
|
|
36
105
|
|
|
37
|
-
const CLI_COMMANDS = new Set([
|
|
38
|
-
"init",
|
|
39
|
-
"replay",
|
|
40
|
-
"compile",
|
|
41
|
-
"share",
|
|
42
|
-
"import",
|
|
43
|
-
"clone",
|
|
44
|
-
"setup-js",
|
|
45
|
-
"list",
|
|
46
|
-
"skills",
|
|
47
|
-
"cache",
|
|
48
|
-
"manifest",
|
|
49
|
-
"status",
|
|
50
|
-
]);
|
|
51
|
-
|
|
52
106
|
function wantsCli(args) {
|
|
53
107
|
if (args.length === 0) return false;
|
|
54
108
|
const first = args[0];
|
|
55
|
-
return first === "--
|
|
109
|
+
return first === "--version" || CLI_COMMANDS.has(first);
|
|
56
110
|
}
|
|
57
111
|
|
|
58
112
|
if (wantsCli(argv)) {
|
|
@@ -345,6 +399,33 @@ function readTuiVersion() {
|
|
|
345
399
|
}
|
|
346
400
|
}
|
|
347
401
|
|
|
402
|
+
function printHelp() {
|
|
403
|
+
const lines = [
|
|
404
|
+
"Liner — build and use source-grounded Liner Projects.",
|
|
405
|
+
"",
|
|
406
|
+
"Usage:",
|
|
407
|
+
" liner Open the Go TUI",
|
|
408
|
+
" liner <command> [options] Run a command",
|
|
409
|
+
"",
|
|
410
|
+
"liner with no arguments opens the Go TUI.",
|
|
411
|
+
"Run `liner <command> --help` for detailed command help.",
|
|
412
|
+
"",
|
|
413
|
+
];
|
|
414
|
+
for (const group of COMMAND_GROUPS) {
|
|
415
|
+
lines.push(group.title);
|
|
416
|
+
for (const command of group.commands) {
|
|
417
|
+
lines.push(` ${command.name.padEnd(10)} ${command.description}`);
|
|
418
|
+
}
|
|
419
|
+
lines.push("");
|
|
420
|
+
}
|
|
421
|
+
lines.push(
|
|
422
|
+
"Options:",
|
|
423
|
+
" -h, --help Show this help",
|
|
424
|
+
" -v, --version Show version information",
|
|
425
|
+
);
|
|
426
|
+
console.log(lines.join("\n"));
|
|
427
|
+
}
|
|
428
|
+
|
|
348
429
|
// Like resolveCliBinary() but non-fatal: returns null instead of exiting when
|
|
349
430
|
// no core binary is found, so `--version` still prints the TUI version on a
|
|
350
431
|
// host where the bundled core is missing (e.g. Windows pre-unblock).
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This is the Liner methodology made executable by Claude or Codex. The bundle implements CURATION.md v2.0 as instructions to a running AI, drives the mixtape lifecycle from a task description to a project folder ready for `liner compile`, and supports both quick mode (the AI does most of the work, with lightweight gate review) and methodology mode (the curator engages substantively at every phase).
|
|
4
4
|
|
|
5
|
-
It is one of Liner's surfaces, alongside the CLI
|
|
5
|
+
It is one of Liner's authoring surfaces, alongside the CLI and TUI. The skill is
|
|
6
|
+
the surface for Claude-Code-native and TUI-subprocess curation. Methodology-mode
|
|
7
|
+
curators can also use it directly when working in a Claude Code session. It is
|
|
8
|
+
not the Project Skill or the optional Maintenance Adapter.
|
|
6
9
|
|
|
7
10
|
## Bundle contents
|
|
8
11
|
|
|
@@ -80,7 +83,22 @@ The bundle is functional and ships inside the npm TUI package so agent-backed ph
|
|
|
80
83
|
|
|
81
84
|
The bundle still benefits from more worked examples in the companion files, but it is no longer blocked by the old "second pass before any shipping" constraint. Current product risk lives more in curation quality and fetcher edge cases than in basic skill availability.
|
|
82
85
|
|
|
83
|
-
|
|
86
|
+
In the local `1.1.0` release candidate, compilation is the Corpus Ready
|
|
87
|
+
milestone and Create Operating Layer is the Project Complete milestone. A
|
|
88
|
+
project can be usable when `MIXTAPE.md` is written but some Sources are missing
|
|
89
|
+
or soft-failed after review. The TUI opens the existing compile result and
|
|
90
|
+
requires an explicit retry or rerun. Phase 1 must produce a Capability Brief and
|
|
91
|
+
Required source roles before discovery can proceed.
|
|
92
|
+
|
|
93
|
+
## Three Skill Surfaces
|
|
94
|
+
|
|
95
|
+
- The **curating-mixtapes skill** authors the initial corpus recipe, synthesis,
|
|
96
|
+
and working notes. It never performs post-creation maintenance.
|
|
97
|
+
- The root **Project Skill** is created by the Operating Layer and teaches future
|
|
98
|
+
sessions how to use one completed Project.
|
|
99
|
+
- The optional **Maintenance Adapter** is installed explicitly for Codex or
|
|
100
|
+
Claude and delegates supported changes to the installed CLI's current
|
|
101
|
+
guidance. A `type: skill` Source remains inert evidence and is not installed.
|
|
84
102
|
|
|
85
103
|
## Versioning
|
|
86
104
|
|
|
@@ -98,7 +116,9 @@ The skill is the methodology made executable. It sits alongside Liner's other su
|
|
|
98
116
|
|
|
99
117
|
**CURATION.md** is the methodology described to humans. The skill bundle implements it for an AI executor. The two are paired artifacts that update together when the methodology changes substantively.
|
|
100
118
|
|
|
101
|
-
**The Liner CLI** runs `liner compile` against the project folder this skill
|
|
119
|
+
**The Liner CLI** runs `liner compile` against the project folder this skill
|
|
120
|
+
produces and owns supported post-creation maintenance. The curation skill never
|
|
121
|
+
compiles and never bypasses the Core maintenance contract.
|
|
102
122
|
|
|
103
123
|
**The Liner TUI** invokes this skill internally for agent-backed authoring via the local Claude or Codex CLI. Same methodology, different UX.
|
|
104
124
|
|
package/cli-update-docs/SKILL.md
CHANGED
|
@@ -9,6 +9,11 @@ This skill implements the Liner curation methodology (CURATION.md v2.0). A mixta
|
|
|
9
9
|
|
|
10
10
|
The output of this skill is a project folder ready for `liner compile`. The skill does not compile.
|
|
11
11
|
|
|
12
|
+
This is an initial curation surface, not a maintenance writer. After a Liner
|
|
13
|
+
Project has identity-bearing Project or Source state, supported changes must go
|
|
14
|
+
through the installed CLI's current `liner project guidance` contract. Do not
|
|
15
|
+
use this skill to edit canonical Project files as a maintenance shortcut.
|
|
16
|
+
|
|
12
17
|
**Runtime requirement:** this skill assumes filesystem access. It reads companion files from its own directory at specific phases and writes artifacts to a project folder. Designed for execution inside Claude Code or as a subprocess driven by the Liner TUI. Not designed for pure-chat use.
|
|
13
18
|
|
|
14
19
|
## Terminology — get these right
|
|
@@ -83,6 +88,8 @@ Your job in Phase 1 is to translate that plain-language goal into a Capability B
|
|
|
83
88
|
- source requirements and exclusions,
|
|
84
89
|
- runtime behavior for the future agent, including when it should ask the user clarifying questions.
|
|
85
90
|
|
|
91
|
+
Use these exact level-three headings inside the Capability Brief so the Operating Layer can promote the contract reliably: `### Reusable AI capability`, `### Exact runtime output contract`, `### Internal job-to-be-done`, `### Inferred research lanes`, `### Required source roles`, `### Source exclusions`, and `### Runtime autonomy, abstention, and escalation`.
|
|
92
|
+
|
|
86
93
|
The internal JTBD should be hyper-specific. "SEO" is a topic. "SEO keyword research for a mental-health startup specialized in brain surgery" is a capability narrow enough to research. If the user's goal is still broad, ask targeted questions and descend until the capability is specific enough that a corpus built for it could outperform generic model knowledge.
|
|
87
94
|
|
|
88
95
|
**Capability brief.** A short statement of the concrete capability this mixtape should give a downstream AI agent. This is not a persona or project name. It is the work the corpus must make the agent better at.
|
|
@@ -163,6 +170,8 @@ Step back from the keep-pile. Run the core-action test and the eight standard te
|
|
|
163
170
|
|
|
164
171
|
If a test fails, fix it before moving on when the fix is small enough for the quality phase. If the failure points to a wider source-role gap, write `working/05-operating-fit-audit.md` with `status: improvement_recommended`, the gap, why it matters, concrete search lanes, and custom-source suggestions. Do not call the corpus "ready with limitation"; let Liner offer the user an improvement pass or a clear Skip.
|
|
165
172
|
|
|
173
|
+
If the bounded Quality audit backfills a source, add the verified URL to `working/02-candidate-longlist.md` before adding it to `working/03-evaluation.yaml`. Parse both artifacts and confirm their candidate counts still match before reporting Phase 5 complete. The longlist remains the complete candidate ledger even when a candidate is discovered after Gate 1.
|
|
174
|
+
|
|
166
175
|
*Tip: this phase benefits from running with fresh attention. If the conversation has been long, consider starting a separate chat with just the JTBD, capability brief, required source roles, knowledge map, and the kept-source list (titles + notes only) to run the checks. Optional, not required by the methodology.*
|
|
167
176
|
|
|
168
177
|
**At Gate 2, show the final keep-list, the curator notes, and the quality-check findings. Ask:** "Confirm to proceed to synthesis." Quick mode default: continue. Methodology mode: expect substantive edits.
|
|
@@ -202,9 +211,12 @@ Order sources within each section by importance (most important first). Order se
|
|
|
202
211
|
- `version: 1`
|
|
203
212
|
- `mode` is `quick` or `methodology`
|
|
204
213
|
- `sources` is non-empty
|
|
205
|
-
- Every source has `type` and `
|
|
206
|
-
- Every `type` is `youtube` or `
|
|
207
|
-
- Every `url`
|
|
214
|
+
- Every source has `type`, `note`, and `section`
|
|
215
|
+
- Every `type` is `youtube`, `web`, `local_file`, or `skill`
|
|
216
|
+
- Every `youtube` or `web` source has a parseable `url`
|
|
217
|
+
- Every `local_file` source has `path` and `citation`
|
|
218
|
+
- Every local or installed `skill` Source has `path`; a remote skill Source has
|
|
219
|
+
a parseable `url`
|
|
208
220
|
|
|
209
221
|
If validation fails, fix and re-check before showing the user.
|
|
210
222
|
|
|
@@ -261,6 +273,9 @@ Tell the user the folder is ready to compile with `liner compile <topic-slug>`.
|
|
|
261
273
|
- **Does not run `liner compile`.** That's the user's call, with the user's tools.
|
|
262
274
|
- **Does not fetch from gated accounts or private systems.** v1 supports public `youtube` and `web` URLs plus curator-supplied `local_file` and `skill` sources. The skill may reference local files the curator supplied, but it must not invent private paths or bypass access controls.
|
|
263
275
|
- **Does not maintain the shared content cache.** That's the CLI's job.
|
|
276
|
+
- **Does not maintain an existing Liner Project.** Use Liner Core directly or
|
|
277
|
+
install the optional Maintenance Adapter, which delegates to
|
|
278
|
+
`liner project guidance`.
|
|
264
279
|
- **Does not publish to the library.** Library contributions happen via PR to the Liner repo, in methodology mode, after passing the empirical test.
|
|
265
280
|
|
|
266
281
|
## Common failure modes
|
|
@@ -19,6 +19,7 @@ When Phase 5 is running inside the TUI or another automated Liner flow, it must
|
|
|
19
19
|
- Use at most one search pass for any one missing perspective.
|
|
20
20
|
- Use at most one source-kind backfill search total.
|
|
21
21
|
- Do not exceed four external search/fetch attempts across the whole Quality phase. If the budget is spent, stop searching, document the gap or defense, and write `working/04-quality-checks.md`.
|
|
22
|
+
- When a bounded Quality backfill succeeds, add its verified URL to `working/02-candidate-longlist.md` before adding it to `working/03-evaluation.yaml`. Parse both artifacts and confirm their candidate counts still match; the longlist is the complete candidate ledger, including post-gate backfills.
|
|
22
23
|
- On resume after a paused/cancelled Quality run, do not continue a search loop. Use the evidence already gathered, repair weak curator notes from existing evidence, and close the artifact.
|
|
23
24
|
- If a material source-role gap remains after the bounded audit, write `working/05-operating-fit-audit.md` with `status: improvement_recommended` instead of declaring the corpus ready with a limitation. Liner will offer a focused improvement pass or let the user skip for now.
|
|
24
25
|
|
|
@@ -399,7 +400,7 @@ Don't paper over failures. The point of running the tests is to find problems wh
|
|
|
399
400
|
- **Disagreement fails:** find one strong dissenting source. Fetch it. Evaluate it. Add it to the keep-list with a note that names its role as counterpoint.
|
|
400
401
|
- **Framing-gap fails:** this is the expensive one. Expand the knowledge map. Return to Phase 2. Find candidates for the new sections. Fetch, evaluate. Come back to Phase 5 with a substantially revised keep-list and re-run all eight tests.
|
|
401
402
|
- **Note-quality fails:** rewrite weak notes in `working/03-evaluation.yaml` so each one carries a use cue, value/bar, and boundary. Do this from existing evidence; do not open a new search loop.
|
|
402
|
-
- **Source-role fit fails / Operating-fit fails:** write `working/05-operating-fit-audit.md` with the missing source role, why it matters, concrete search lanes for an improvement pass, and a short list of
|
|
403
|
+
- **Source-role fit fails / Operating-fit fails:** write `working/05-operating-fit-audit.md` with the missing source role, why it matters, concrete search lanes for an improvement pass, and a short list of user-provided Sources that could fill the gap if public research remains thin.
|
|
403
404
|
|
|
404
405
|
Each backtrack is a sign the methodology is working, not failing. The first four phases produced a corpus that worked from one angle; Phase 5 found the angle that wasn't covered. Better to find it here than in the empirical test (Phase 8) or — worse — silently, when the mixtape is in use.
|
|
405
406
|
|
|
@@ -16,11 +16,20 @@ export function validatePhaseArtifact(project, phaseId) {
|
|
|
16
16
|
case "candidates":
|
|
17
17
|
return validateCandidateLonglist(join(project, "working/02-candidate-longlist.md"));
|
|
18
18
|
case "evaluation":
|
|
19
|
-
return
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
return validateProjectEvaluation(project);
|
|
20
|
+
case "quality": {
|
|
21
|
+
const quality = validateQualityChecks(join(project, "working/04-quality-checks.md"));
|
|
22
|
+
if (!quality.ok)
|
|
23
|
+
return quality;
|
|
24
|
+
const evaluation = validateProjectEvaluation(project);
|
|
25
|
+
if (!evaluation.ok) {
|
|
26
|
+
return {
|
|
27
|
+
ok: false,
|
|
28
|
+
message: `working/03-evaluation.yaml is invalid after quality checks: ${evaluation.message}`,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return quality;
|
|
32
|
+
}
|
|
24
33
|
case "synthesis":
|
|
25
34
|
return validateSynthesis(join(project, "synthesis.md"));
|
|
26
35
|
case "assembly":
|
|
@@ -29,10 +38,65 @@ export function validatePhaseArtifact(project, phaseId) {
|
|
|
29
38
|
evaluationPath: join(project, "working/03-evaluation.yaml"),
|
|
30
39
|
sourceManifestPath: join(project, "local-sources/sources-manifest.yaml"),
|
|
31
40
|
});
|
|
41
|
+
case "improvement":
|
|
42
|
+
return validateImprovementDelta(join(project, ".liner-runs/improvement/delta.yaml"));
|
|
32
43
|
default:
|
|
33
44
|
return { ok: true };
|
|
34
45
|
}
|
|
35
46
|
}
|
|
47
|
+
function validateProjectEvaluation(project) {
|
|
48
|
+
return validateEvaluation(join(project, "working/03-evaluation.yaml"), {
|
|
49
|
+
expectedCandidateCount: countCandidateUrlsFromLonglist(join(project, "working/02-candidate-longlist.md")),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export function validateImprovementDelta(path) {
|
|
53
|
+
const parsed = parseYaml(path, "improvement delta");
|
|
54
|
+
if (!parsed.ok)
|
|
55
|
+
return parsed;
|
|
56
|
+
if (!isRecord(parsed.value)) {
|
|
57
|
+
return { ok: false, message: ".liner-runs/improvement/delta.yaml is not a YAML mapping" };
|
|
58
|
+
}
|
|
59
|
+
if (stringField(parsed.value, "contract") !== "liner.improvement_delta" || parsed.value["version"] !== 1) {
|
|
60
|
+
return { ok: false, message: ".liner-runs/improvement/delta.yaml has an unsupported contract or version" };
|
|
61
|
+
}
|
|
62
|
+
if (!stringField(parsed.value, "summary")) {
|
|
63
|
+
return { ok: false, message: ".liner-runs/improvement/delta.yaml summary is required" };
|
|
64
|
+
}
|
|
65
|
+
const removals = parsed.value["removals"];
|
|
66
|
+
const replacements = parsed.value["replacements"];
|
|
67
|
+
if (!Array.isArray(removals) || removals.length !== 0 || !Array.isArray(replacements) || replacements.length !== 0) {
|
|
68
|
+
return { ok: false, message: "Improve Corpus requires separate explicit curator intent for removals or replacements" };
|
|
69
|
+
}
|
|
70
|
+
const additions = parsed.value["additions"];
|
|
71
|
+
if (!Array.isArray(additions) || additions.length === 0) {
|
|
72
|
+
return { ok: false, message: ".liner-runs/improvement/delta.yaml must contain at least one focused addition" };
|
|
73
|
+
}
|
|
74
|
+
for (let i = 0; i < additions.length; i++) {
|
|
75
|
+
const source = additions[i];
|
|
76
|
+
if (!isRecord(source)) {
|
|
77
|
+
return { ok: false, message: `.liner-runs/improvement/delta.yaml additions[${i}] is not a mapping` };
|
|
78
|
+
}
|
|
79
|
+
const type = stringField(source, "type");
|
|
80
|
+
if (!SOURCE_TYPES.has(type)) {
|
|
81
|
+
return { ok: false, message: `.liner-runs/improvement/delta.yaml additions[${i}].type is invalid: ${type || "(empty)"}` };
|
|
82
|
+
}
|
|
83
|
+
if ((type === "web" || type === "youtube") && !stringField(source, "url")) {
|
|
84
|
+
return { ok: false, message: `.liner-runs/improvement/delta.yaml additions[${i}].url is required` };
|
|
85
|
+
}
|
|
86
|
+
if (type === "local_file" && !stringField(source, "path")) {
|
|
87
|
+
return { ok: false, message: `.liner-runs/improvement/delta.yaml additions[${i}].path is required` };
|
|
88
|
+
}
|
|
89
|
+
if (type === "skill" && !stringField(source, "path") && !stringField(source, "url")) {
|
|
90
|
+
return { ok: false, message: `.liner-runs/improvement/delta.yaml additions[${i}] needs path or url` };
|
|
91
|
+
}
|
|
92
|
+
const priority = stringField(source, "priority");
|
|
93
|
+
const kind = stringField(source, "kind");
|
|
94
|
+
if (!PRIORITIES.has(priority) || !KINDS.has(kind)) {
|
|
95
|
+
return { ok: false, message: `.liner-runs/improvement/delta.yaml additions[${i}] needs valid priority and kind` };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return { ok: true };
|
|
99
|
+
}
|
|
36
100
|
export function validateCandidateLonglist(path) {
|
|
37
101
|
if (!existsSync(path)) {
|
|
38
102
|
return { ok: false, message: `${path} is missing` };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-validation.js","sourceRoot":"","sources":["../../src/agents/artifact-validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifact-validation.js","sourceRoot":"","sources":["../../src/agents/artifact-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAOvH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACvD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AACxE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AACrD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;AACxF,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7D,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAY7D,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,OAAgB;IAEhB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,YAAY;YACf,OAAO,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC,CAAC;QACtF,KAAK,YAAY;YACf,OAAO,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC5C,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,OAAO,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC;YAChC,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBACnB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,+DAA+D,UAAU,CAAC,OAAO,EAAE;iBAC7F,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,KAAK,WAAW;YACd,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1D,KAAK,UAAU;YACb,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,EAAE;gBACxE,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;gBAC3C,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC;gBAC3D,kBAAkB,EAAE,IAAI,CAAC,OAAO,EAAE,qCAAqC,CAAC;aACzE,CAAC,CAAC;QACL,KAAK,aAAa;YAChB,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC,CAAC;QACvF;YACE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAChD,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,EAAE;QACrE,sBAAsB,EAAE,8BAA8B,CACpD,IAAI,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAClD;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0DAA0D,EAAE,CAAC;IAC5F,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,yBAAyB,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACzG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,2EAA2E,EAAE,CAAC;IAC7G,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;IAC1F,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,uFAAuF,EAAE,CAAC;IACzH,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,+EAA+E,EAAE,CAAC;IACjH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gDAAgD,CAAC,oBAAoB,EAAE,CAAC;QACvG,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gDAAgD,CAAC,sBAAsB,IAAI,IAAI,SAAS,EAAE,EAAE,CAAC;QAC5H,CAAC;QACD,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gDAAgD,CAAC,mBAAmB,EAAE,CAAC;QACtG,CAAC;QACD,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gDAAgD,CAAC,oBAAoB,EAAE,CAAC;QACvG,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YACpF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gDAAgD,CAAC,qBAAqB,EAAE,CAAC;QACxG,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gDAAgD,CAAC,iCAAiC,EAAE,CAAC;QACpH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mEAAmE,EAAE,CAAC;IACrG,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,6EAA6E,EAAE,CAAC;IAC/G,CAAC;IACD,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;IAC1F,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,UAAuC,EAAE;IAEzC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;IACrF,CAAC;IACD,IACE,OAAO,CAAC,sBAAsB,IAAI,IAAI;QACtC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,sBAAsB,EACpD,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,kCAAkC,UAAU,CAAC,MAAM,eAAe;gBAClE,4CAA4C,OAAO,CAAC,sBAAsB,iBAAiB;SAC9F,CAAC;IACJ,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,yCAAyC,CAAC,oBAAoB,EAAE,CAAC;QAChG,CAAC;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,yCAAyC,CAAC,mBAAmB,EAAE,CAAC;QAC/F,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,yCAAyC,CAAC,0BAA0B,QAAQ,IAAI,SAAS,EAAE;aACrG,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjD,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,yCAAyC,CAAC,4BAA4B,QAAQ,EAAE;iBAC1F,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,yCAAyC,CAAC,0BAA0B,OAAO,IAAI,SAAS,EAAE;iBACpG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBACvC,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,yCAAyC,CAAC,6BAA6B,QAAQ,EAAE;iBAC3F,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,yCAAyC,CAAC,0BAA0B,QAAQ,EAAE;iBACxF,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,SAAS,EAAE,yCAAyC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC5G,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,QAAQ,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,+DAA+D,EAAE,CAAC;IACjG,CAAC;IACD,MAAM,QAAQ,GAAG;QACf,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,wBAAwB;QACxB,WAAW;QACX,eAAe;QACf,WAAW;QACX,WAAW;QACX,iBAAiB;QACjB,WAAW;QACX,wBAAwB;KACzB,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,2CAA2C,MAAM,EAAE,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;IAChF,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,qBAAqB,EAAE,8BAA8B,CAAC,CAAC;IACzE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,MAAM,EAAE,EAAE,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,UAAqC,EAAE;IAEvC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC;IAClF,CAAC;IAED,MAAM,YAAY,GAA8B,EAAE,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,sCAAsC,CAAC,oBAAoB,EAAE,CAAC;QAC7F,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,sCAAsC,CAAC,sBAAsB,IAAI,EAAE;aAC7E,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,sCAAsC,CAAC,mCAAmC;iBACpF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAChE,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,sCAAsC,CAAC,qCAAqC;iBACtF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,sCAAsC,CAAC,yBAAyB,IAAI,EAAE;aAChF,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,sCAAsC,CAAC,0BAA0B,QAAQ,IAAI,SAAS,EAAE;aAClG,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,sCAAsC,CAAC,sBAAsB,IAAI,IAAI,SAAS,EAAE;aAC1F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,sCAAsC,CAAC,uBAAuB,EAAE,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,sCAAsC,CAAC,oBAAoB,EAAE,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,6BAA6B,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,CAAC,EAAE;YAAE,OAAO,YAAY,CAAC;IAC5C,CAAC;IACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB;QACnD,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACtD,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;IACtB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,6BAA6B,CAAC,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC7F,IAAI,CAAC,YAAY,CAAC,EAAE;YAAE,OAAO,YAAY,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,qCAAqC,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACjH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,sBAAsB,CAC7B,SAAkC,EAClC,KAAa,EACb,QAAgB;IAEhB,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC3D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,GAAG,KAAK,8EAA8E,QAAQ,EAAE;SAC1G,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,GAAG,KAAK,2BAA2B,WAAW,QAAQ,QAAQ,2DAA2D;SACnI,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACjE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,GAAG,KAAK,qDAAqD,QAAQ,EAAE;SACjF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,GAAG,KAAK,sCAAsC,QAAQ,uCAAuC;SACvG,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,GAAG,KAAK,6DAA6D,QAAQ,EAAE;SACzF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,qCAAqC,CAC5C,YAAuC,EACvC,cAAsB,EACtB,sBAAmC,IAAI,GAAG,EAAE;IAE5C,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,+EAA+E,EAAE,CAAC;IACjH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gFAAgF,EAAE,CAAC;IAClH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;IACzD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,SAAS;QACnC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAChC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC;QAClD,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACnD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAClD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,sCAAsC,CAAC,oCAAoC,GAAG,EAAE;aAC1F,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC/C,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,sCAAsC,CAAC,cAAc,GAAG,gCAAgC,QAAQ,IAAI,SAAS,EAAE;aACzH,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,SAAS,EAAE,4CAA4C,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,6BAA6B,CACpC,YAAuC,EACvC,kBAA0B;IAE1B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,YAAY;SACT,GAAG,CAAC,eAAe,CAAC;SACpB,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAChD,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,4DAA4D,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE;SACtG,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,wBAAwB,CAAC,kBAA0B;IAC1D,OAAO,IAAI,GAAG,CACZ,qBAAqB,CAAC,kBAAkB,CAAC;SACtC,GAAG,CAAC,eAAe,CAAC;SACpB,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,kBAA0B;IACvD,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK;YAAE,SAAS;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,6BAA6B,CACpC,YAAuC,EACvC,eAAuB;IAEvB,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,iEAAiE,MAAM,CAAC,OAAO,EAAE;SAC3F,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC;IAClG,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAExD,MAAM,oBAAoB,GAAG,cAAc;SACxC,MAAM,CAAC,QAAQ,CAAC;SAChB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,OAAO,CAAC;IACnD,CAAC,CAAC,CAAC;IACL,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAE3D,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,YAAY;SACT,GAAG,CAAC,eAAe,CAAC;SACpB,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAChD,CAAC;IACF,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QACrD,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,8DAA8D,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE;SACxG,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,MAA+B;IACtD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,GAAG,IAAI,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,cAAc,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,SAAS,UAAU,IAAI,GAAG,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA+B;IACxD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC;IACtD,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,cAAc,CAAC;SAC1H,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAChB,IAAY,EACZ,KAAa;IAEb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,GAAG,KAAK,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACxG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,MAA+B,EAAE,GAAW;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,MAA+B,EAAE,GAAW;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,eAAe,CAAC,MAA+B,EAAE,GAAW;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK;SACT,GAAG,CAAC,oBAAoB,CAAC;SACzB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAa;IACzC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
const URL_RE = /https?:\/\/[^\s"'<>]+/g;
|
|
3
|
+
const MARKDOWN_LINK_RE = /\[([^\]\n]+)\]\((https?:\/\/[^)\s]+)\)/;
|
|
3
4
|
export function countCandidateUrlsFromLonglist(path) {
|
|
4
5
|
const candidates = readCandidateLonglist(path);
|
|
5
6
|
return candidates.length > 0 ? candidates.length : undefined;
|
|
@@ -10,11 +11,19 @@ export function readCandidateLonglist(path) {
|
|
|
10
11
|
const candidates = [];
|
|
11
12
|
const seen = new Set();
|
|
12
13
|
let section = "";
|
|
14
|
+
let candidateTitle = "";
|
|
13
15
|
let current;
|
|
14
16
|
for (const line of readFileSync(path, "utf8").split("\n")) {
|
|
15
|
-
const
|
|
16
|
-
if (
|
|
17
|
-
section = cleanSection(
|
|
17
|
+
const sectionHeading = line.match(/^##\s+(.+?)\s*$/);
|
|
18
|
+
if (sectionHeading) {
|
|
19
|
+
section = cleanSection(sectionHeading[1] ?? "");
|
|
20
|
+
candidateTitle = "";
|
|
21
|
+
current = undefined;
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const candidateHeading = line.match(/^###\s+(.+?)\s*$/);
|
|
25
|
+
if (candidateHeading) {
|
|
26
|
+
candidateTitle = candidateHeading[1]?.trim() ?? "";
|
|
18
27
|
current = undefined;
|
|
19
28
|
continue;
|
|
20
29
|
}
|
|
@@ -26,14 +35,15 @@ export function readCandidateLonglist(path) {
|
|
|
26
35
|
}
|
|
27
36
|
current = {
|
|
28
37
|
url,
|
|
29
|
-
title: titleFromCandidateLine(line, url),
|
|
38
|
+
title: candidateTitle || titleFromCandidateLine(line, url),
|
|
30
39
|
section: section || undefined,
|
|
31
40
|
};
|
|
32
41
|
candidates.push(current);
|
|
33
42
|
seen.add(url);
|
|
43
|
+
candidateTitle = "";
|
|
34
44
|
continue;
|
|
35
45
|
}
|
|
36
|
-
const reason = line.match(/^\s*[-*]\s*(?:Reason|Rationale):\s*(.+?)\s*$/i);
|
|
46
|
+
const reason = line.match(/^\s*[-*]\s*(?:Candidate\s+reason|Reason|Rationale):\s*(.+?)\s*$/i);
|
|
37
47
|
if (reason && current) {
|
|
38
48
|
current.reason = reason[1]?.trim();
|
|
39
49
|
}
|
|
@@ -75,6 +85,9 @@ export function normalizeCandidateUrl(url) {
|
|
|
75
85
|
return url.trim().replace(/[)\],.;:]+$/g, "");
|
|
76
86
|
}
|
|
77
87
|
function firstUrl(line) {
|
|
88
|
+
const markdownLink = line.match(MARKDOWN_LINK_RE);
|
|
89
|
+
if (markdownLink?.[2])
|
|
90
|
+
return normalizeCandidateUrl(markdownLink[2]);
|
|
78
91
|
const match = line.match(URL_RE);
|
|
79
92
|
return match?.[0] ? normalizeCandidateUrl(match[0]) : "";
|
|
80
93
|
}
|
|
@@ -82,6 +95,9 @@ function cleanSection(section) {
|
|
|
82
95
|
return section.trim().replace(/^\d+\.\s+/, "");
|
|
83
96
|
}
|
|
84
97
|
function titleFromCandidateLine(line, url) {
|
|
98
|
+
const markdownLink = line.match(MARKDOWN_LINK_RE);
|
|
99
|
+
if (markdownLink?.[1])
|
|
100
|
+
return markdownLink[1].trim();
|
|
85
101
|
const beforeUrl = line.slice(0, line.indexOf(url));
|
|
86
102
|
const cleaned = beforeUrl
|
|
87
103
|
.replace(/^\s*[-*]\s*/, "")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidate-longlist.js","sourceRoot":"","sources":["../../src/agents/candidate-longlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,MAAM,GAAG,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"candidate-longlist.js","sourceRoot":"","sources":["../../src/agents/candidate-longlist.ts"],"names":[],"mappings":"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"}
|