pi-para 0.5.5 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/package.json +8 -5
- package/scripts/build-assets.mjs +29 -0
- package/scripts/install.ps1 +27 -16
- package/scripts/install.sh +3 -2
- package/scripts/smoke-install.mjs +5 -3
- package/src/doctor.ts +5 -0
- package/dist/atomic-write.d.ts +0 -2
- package/dist/atomic-write.d.ts.map +0 -1
- package/dist/atomic-write.js +0 -18
- package/dist/atomic-write.js.map +0 -1
- package/dist/capture.d.ts +0 -34
- package/dist/capture.d.ts.map +0 -1
- package/dist/capture.js +0 -461
- package/dist/capture.js.map +0 -1
- package/dist/cli-legacy.d.ts +0 -4
- package/dist/cli-legacy.d.ts.map +0 -1
- package/dist/cli-legacy.js +0 -41
- package/dist/cli-legacy.js.map +0 -1
- package/dist/cli.d.ts +0 -8
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -511
- package/dist/cli.js.map +0 -1
- package/dist/commands.d.ts +0 -15
- package/dist/commands.d.ts.map +0 -1
- package/dist/commands.js +0 -719
- package/dist/commands.js.map +0 -1
- package/dist/config.d.ts +0 -104
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -242
- package/dist/config.js.map +0 -1
- package/dist/context.d.ts +0 -63
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js +0 -311
- package/dist/context.js.map +0 -1
- package/dist/credentials.d.ts +0 -27
- package/dist/credentials.d.ts.map +0 -1
- package/dist/credentials.js +0 -85
- package/dist/credentials.js.map +0 -1
- package/dist/daemon.d.ts +0 -49
- package/dist/daemon.d.ts.map +0 -1
- package/dist/daemon.js +0 -226
- package/dist/daemon.js.map +0 -1
- package/dist/doctor.d.ts +0 -20
- package/dist/doctor.d.ts.map +0 -1
- package/dist/doctor.js +0 -171
- package/dist/doctor.js.map +0 -1
- package/dist/frontmatter.d.ts +0 -59
- package/dist/frontmatter.d.ts.map +0 -1
- package/dist/frontmatter.js +0 -170
- package/dist/frontmatter.js.map +0 -1
- package/dist/gepa/dataset.d.ts +0 -36
- package/dist/gepa/dataset.d.ts.map +0 -1
- package/dist/gepa/dataset.js +0 -148
- package/dist/gepa/dataset.js.map +0 -1
- package/dist/gepa/evaluator.d.ts +0 -51
- package/dist/gepa/evaluator.d.ts.map +0 -1
- package/dist/gepa/evaluator.js +0 -317
- package/dist/gepa/evaluator.js.map +0 -1
- package/dist/gepa/index.d.ts +0 -66
- package/dist/gepa/index.d.ts.map +0 -1
- package/dist/gepa/index.js +0 -240
- package/dist/gepa/index.js.map +0 -1
- package/dist/gepa/llm.d.ts +0 -35
- package/dist/gepa/llm.d.ts.map +0 -1
- package/dist/gepa/llm.js +0 -268
- package/dist/gepa/llm.js.map +0 -1
- package/dist/gepa/optimized/capture-prompt.txt +0 -65
- package/dist/gepa/optimizer.d.ts +0 -29
- package/dist/gepa/optimizer.d.ts.map +0 -1
- package/dist/gepa/optimizer.js +0 -249
- package/dist/gepa/optimizer.js.map +0 -1
- package/dist/gepa/targets.d.ts +0 -39
- package/dist/gepa/targets.d.ts.map +0 -1
- package/dist/gepa/targets.js +0 -326
- package/dist/gepa/targets.js.map +0 -1
- package/dist/gepa/types.d.ts +0 -168
- package/dist/gepa/types.d.ts.map +0 -1
- package/dist/gepa/types.js +0 -124
- package/dist/gepa/types.js.map +0 -1
- package/dist/index.d.ts +0 -21
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -359
- package/dist/index.js.map +0 -1
- package/dist/ingest.d.ts +0 -88
- package/dist/ingest.d.ts.map +0 -1
- package/dist/ingest.js +0 -105
- package/dist/ingest.js.map +0 -1
- package/dist/link-discovery.d.ts +0 -40
- package/dist/link-discovery.d.ts.map +0 -1
- package/dist/link-discovery.js +0 -122
- package/dist/link-discovery.js.map +0 -1
- package/dist/link-utils.d.ts +0 -30
- package/dist/link-utils.d.ts.map +0 -1
- package/dist/link-utils.js +0 -145
- package/dist/link-utils.js.map +0 -1
- package/dist/lint.d.ts +0 -39
- package/dist/lint.d.ts.map +0 -1
- package/dist/lint.js +0 -827
- package/dist/lint.js.map +0 -1
- package/dist/maintainer.d.ts +0 -24
- package/dist/maintainer.d.ts.map +0 -1
- package/dist/maintainer.js +0 -358
- package/dist/maintainer.js.map +0 -1
- package/dist/model-resolver.d.ts +0 -30
- package/dist/model-resolver.d.ts.map +0 -1
- package/dist/model-resolver.js +0 -71
- package/dist/model-resolver.js.map +0 -1
- package/dist/paths.d.ts +0 -20
- package/dist/paths.d.ts.map +0 -1
- package/dist/paths.js +0 -33
- package/dist/paths.js.map +0 -1
- package/dist/processor.d.ts +0 -14
- package/dist/processor.d.ts.map +0 -1
- package/dist/processor.js +0 -361
- package/dist/processor.js.map +0 -1
- package/dist/qmd-providers.d.ts +0 -12
- package/dist/qmd-providers.d.ts.map +0 -1
- package/dist/qmd-providers.js +0 -45
- package/dist/qmd-providers.js.map +0 -1
- package/dist/query.d.ts +0 -69
- package/dist/query.d.ts.map +0 -1
- package/dist/query.js +0 -120
- package/dist/query.js.map +0 -1
- package/dist/raw.d.ts +0 -57
- package/dist/raw.d.ts.map +0 -1
- package/dist/raw.js +0 -219
- package/dist/raw.js.map +0 -1
- package/dist/redact.d.ts +0 -21
- package/dist/redact.d.ts.map +0 -1
- package/dist/redact.js +0 -143
- package/dist/redact.js.map +0 -1
- package/dist/repair.d.ts +0 -11
- package/dist/repair.d.ts.map +0 -1
- package/dist/repair.js +0 -41
- package/dist/repair.js.map +0 -1
- package/dist/scheduler/controls.d.ts +0 -35
- package/dist/scheduler/controls.d.ts.map +0 -1
- package/dist/scheduler/controls.js +0 -98
- package/dist/scheduler/controls.js.map +0 -1
- package/dist/scheduler/index.d.ts +0 -48
- package/dist/scheduler/index.d.ts.map +0 -1
- package/dist/scheduler/index.js +0 -193
- package/dist/scheduler/index.js.map +0 -1
- package/dist/scheduler/leases.d.ts +0 -22
- package/dist/scheduler/leases.d.ts.map +0 -1
- package/dist/scheduler/leases.js +0 -74
- package/dist/scheduler/leases.js.map +0 -1
- package/dist/scheduler/session-capture.d.ts +0 -33
- package/dist/scheduler/session-capture.d.ts.map +0 -1
- package/dist/scheduler/session-capture.js +0 -108
- package/dist/scheduler/session-capture.js.map +0 -1
- package/dist/scheduler/state.d.ts +0 -56
- package/dist/scheduler/state.d.ts.map +0 -1
- package/dist/scheduler/state.js +0 -210
- package/dist/scheduler/state.js.map +0 -1
- package/dist/scope.d.ts +0 -54
- package/dist/scope.d.ts.map +0 -1
- package/dist/scope.js +0 -161
- package/dist/scope.js.map +0 -1
- package/dist/scripts/bulk-link-fix.d.ts +0 -9
- package/dist/scripts/bulk-link-fix.d.ts.map +0 -1
- package/dist/scripts/bulk-link-fix.js +0 -106
- package/dist/scripts/bulk-link-fix.js.map +0 -1
- package/dist/session-tools.d.ts +0 -33
- package/dist/session-tools.d.ts.map +0 -1
- package/dist/session-tools.js +0 -211
- package/dist/session-tools.js.map +0 -1
- package/dist/settings.d.ts +0 -19
- package/dist/settings.d.ts.map +0 -1
- package/dist/settings.js +0 -106
- package/dist/settings.js.map +0 -1
- package/dist/setup.d.ts +0 -29
- package/dist/setup.d.ts.map +0 -1
- package/dist/setup.js +0 -90
- package/dist/setup.js.map +0 -1
- package/dist/state.d.ts +0 -54
- package/dist/state.d.ts.map +0 -1
- package/dist/state.js +0 -176
- package/dist/state.js.map +0 -1
- package/dist/status.d.ts +0 -22
- package/dist/status.d.ts.map +0 -1
- package/dist/status.js +0 -93
- package/dist/status.js.map +0 -1
- package/dist/store.d.ts +0 -71
- package/dist/store.d.ts.map +0 -1
- package/dist/store.js +0 -282
- package/dist/store.js.map +0 -1
- package/dist/summarize.d.ts +0 -60
- package/dist/summarize.d.ts.map +0 -1
- package/dist/summarize.js +0 -266
- package/dist/summarize.js.map +0 -1
- package/dist/tag-registry.d.ts +0 -56
- package/dist/tag-registry.d.ts.map +0 -1
- package/dist/tag-registry.js +0 -146
- package/dist/tag-registry.js.map +0 -1
- package/dist/templates/prompts.d.ts +0 -63
- package/dist/templates/prompts.d.ts.map +0 -1
- package/dist/templates/prompts.js +0 -260
- package/dist/templates/prompts.js.map +0 -1
- package/dist/tools.d.ts +0 -26
- package/dist/tools.d.ts.map +0 -1
- package/dist/tools.js +0 -1198
- package/dist/tools.js.map +0 -1
- package/dist/watcher.d.ts +0 -25
- package/dist/watcher.d.ts.map +0 -1
- package/dist/watcher.js +0 -84
- package/dist/watcher.js.map +0 -1
- package/dist/webui/client/dist/index.html +0 -1885
- package/dist/webui/server.d.ts +0 -31
- package/dist/webui/server.d.ts.map +0 -1
- package/dist/webui/server.js +0 -566
- package/dist/webui/server.js.map +0 -1
- package/dist/wiki-tool-guidance.d.ts +0 -6
- package/dist/wiki-tool-guidance.d.ts.map +0 -1
- package/dist/wiki-tool-guidance.js +0 -70
- package/dist/wiki-tool-guidance.js.map +0 -1
- package/dist/wiki.d.ts +0 -108
- package/dist/wiki.d.ts.map +0 -1
- package/dist/wiki.js +0 -497
- package/dist/wiki.js.map +0 -1
- package/scripts/gepa/__pycache__/dataset.cpython-313.pyc +0 -0
- package/scripts/gepa/__pycache__/lm_providers.cpython-313.pyc +0 -0
- package/scripts/gepa/__pycache__/metric.cpython-313.pyc +0 -0
- package/scripts/gepa/__pycache__/program.cpython-313.pyc +0 -0
- package/scripts/gepa/__pycache__/wiki_reader.cpython-313.pyc +0 -0
- package/scripts/gepa/uv.lock +0 -2241
package/dist/frontmatter.js
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* YAML frontmatter parsing and serialization for wiki pages.
|
|
3
|
-
*
|
|
4
|
-
* Handles the `---\n...\n---` frontmatter block in markdown files.
|
|
5
|
-
* Uses the `yaml` package for robust parsing. Preserves unknown fields.
|
|
6
|
-
*/
|
|
7
|
-
import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
|
|
8
|
-
// -- Schema versioning -------------------------------------------------------
|
|
9
|
-
/** Current schema version. Bump when frontmatter/body format changes. */
|
|
10
|
-
export const CURRENT_SCHEMA_VERSION = 1;
|
|
11
|
-
/**
|
|
12
|
-
* Registry of all schema migrations, ordered by `from` version.
|
|
13
|
-
* Empty while CURRENT_SCHEMA_VERSION = 1 — add entries when bumping.
|
|
14
|
-
*/
|
|
15
|
-
export const MIGRATIONS = [];
|
|
16
|
-
/**
|
|
17
|
-
* Apply all applicable migrations to bring a page up to CURRENT_SCHEMA_VERSION.
|
|
18
|
-
*
|
|
19
|
-
* Chains migrations sequentially: 1→2, 2→3, etc.
|
|
20
|
-
* If `schemaVersion` is already >= CURRENT_SCHEMA_VERSION, returns as-is (no downgrade).
|
|
21
|
-
* If `schemaVersion` is missing, defaults to 1.
|
|
22
|
-
*/
|
|
23
|
-
export function migrateToLatest(fm, body) {
|
|
24
|
-
let version = typeof fm.schemaVersion === "number" ? fm.schemaVersion : 1;
|
|
25
|
-
// Don't downgrade pages ahead of current version
|
|
26
|
-
if (version >= CURRENT_SCHEMA_VERSION) {
|
|
27
|
-
return { fm: { ...fm, schemaVersion: version }, body };
|
|
28
|
-
}
|
|
29
|
-
let currentFm = { ...fm };
|
|
30
|
-
let currentBody = body;
|
|
31
|
-
while (version < CURRENT_SCHEMA_VERSION) {
|
|
32
|
-
const migration = MIGRATIONS.find((m) => m.from === version);
|
|
33
|
-
if (!migration) {
|
|
34
|
-
// No migration path — stop at current version
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
const result = migration.migrate(currentFm, currentBody);
|
|
38
|
-
currentFm = result.fm;
|
|
39
|
-
currentBody = result.body;
|
|
40
|
-
version = migration.to;
|
|
41
|
-
}
|
|
42
|
-
currentFm.schemaVersion = version;
|
|
43
|
-
return { fm: currentFm, body: currentBody };
|
|
44
|
-
}
|
|
45
|
-
const VALID_PARA_CATEGORIES = new Set([
|
|
46
|
-
"projects",
|
|
47
|
-
"areas",
|
|
48
|
-
"resources",
|
|
49
|
-
"archives",
|
|
50
|
-
]);
|
|
51
|
-
const FRONTMATTER_REGEX = /^---\n([\s\S]*?)\n?---\n?([\s\S]*)$/;
|
|
52
|
-
// -- Functions ---------------------------------------------------------------
|
|
53
|
-
/**
|
|
54
|
-
* Parse YAML frontmatter from markdown content.
|
|
55
|
-
*
|
|
56
|
-
* Expects content starting with `---\n...\n---`. If no frontmatter block
|
|
57
|
-
* is found, returns default frontmatter and the entire content as body.
|
|
58
|
-
* If the YAML is malformed, throws with a descriptive error.
|
|
59
|
-
*/
|
|
60
|
-
export function parseFrontmatter(content) {
|
|
61
|
-
const match = content.match(FRONTMATTER_REGEX);
|
|
62
|
-
if (!match) {
|
|
63
|
-
return {
|
|
64
|
-
frontmatter: validateFrontmatter({}),
|
|
65
|
-
body: content,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
const rawYaml = match[1];
|
|
69
|
-
const body = match[2];
|
|
70
|
-
let parsed;
|
|
71
|
-
try {
|
|
72
|
-
parsed = parseYaml(rawYaml);
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
76
|
-
throw new Error(`Malformed YAML frontmatter: ${msg}`);
|
|
77
|
-
}
|
|
78
|
-
if (parsed == null || typeof parsed !== "object") {
|
|
79
|
-
return {
|
|
80
|
-
frontmatter: validateFrontmatter({}),
|
|
81
|
-
body,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
return {
|
|
85
|
-
frontmatter: validateFrontmatter(parsed),
|
|
86
|
-
body,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Serialize frontmatter and body back to a markdown string with YAML
|
|
91
|
-
* frontmatter block.
|
|
92
|
-
*/
|
|
93
|
-
export function serializeFrontmatter(frontmatter, body) {
|
|
94
|
-
// Always write the current schema version on serialize
|
|
95
|
-
const fmWithVersion = { ...frontmatter, schemaVersion: CURRENT_SCHEMA_VERSION };
|
|
96
|
-
const yaml = stringifyYaml(fmWithVersion, { lineWidth: 0 }).trimEnd();
|
|
97
|
-
return `---\n${yaml}\n---\n${body}`;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Validate and normalize a raw frontmatter object into a PageFrontmatter.
|
|
101
|
-
*
|
|
102
|
-
* Required field: `title` (defaults to "Untitled" if missing).
|
|
103
|
-
* All other fields get sensible defaults. Unknown fields are preserved.
|
|
104
|
-
*/
|
|
105
|
-
export function validateFrontmatter(fm) {
|
|
106
|
-
const now = new Date().toISOString();
|
|
107
|
-
const title = typeof fm.title === "string" && fm.title.length > 0
|
|
108
|
-
? fm.title
|
|
109
|
-
: "Untitled";
|
|
110
|
-
const para = validateParaCategory(fm.para);
|
|
111
|
-
const scope = toStringArray(fm.scope);
|
|
112
|
-
const tags = toStringArray(fm.tags);
|
|
113
|
-
const sources = toStringArray(fm.sources);
|
|
114
|
-
const links = toStringArray(fm.links);
|
|
115
|
-
const created = typeof fm.created === "string" && fm.created.length > 0
|
|
116
|
-
? fm.created
|
|
117
|
-
: now;
|
|
118
|
-
const updated = typeof fm.updated === "string" && fm.updated.length > 0
|
|
119
|
-
? fm.updated
|
|
120
|
-
: now;
|
|
121
|
-
const schemaVersion = typeof fm.schemaVersion === "number" ? fm.schemaVersion : 1;
|
|
122
|
-
// Build result with known fields first, then spread unknown fields underneath.
|
|
123
|
-
// Known fields override any unknown fields with the same name.
|
|
124
|
-
const knownKeys = new Set([
|
|
125
|
-
"title",
|
|
126
|
-
"para",
|
|
127
|
-
"scope",
|
|
128
|
-
"tags",
|
|
129
|
-
"sources",
|
|
130
|
-
"created",
|
|
131
|
-
"updated",
|
|
132
|
-
"links",
|
|
133
|
-
"schemaVersion",
|
|
134
|
-
]);
|
|
135
|
-
const unknownFields = {};
|
|
136
|
-
for (const [key, value] of Object.entries(fm)) {
|
|
137
|
-
if (!knownKeys.has(key)) {
|
|
138
|
-
unknownFields[key] = value;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return {
|
|
142
|
-
...unknownFields,
|
|
143
|
-
title,
|
|
144
|
-
para,
|
|
145
|
-
scope,
|
|
146
|
-
tags,
|
|
147
|
-
sources,
|
|
148
|
-
created,
|
|
149
|
-
updated,
|
|
150
|
-
links,
|
|
151
|
-
schemaVersion,
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
// -- Helpers -----------------------------------------------------------------
|
|
155
|
-
function validateParaCategory(value) {
|
|
156
|
-
if (typeof value === "string" && VALID_PARA_CATEGORIES.has(value)) {
|
|
157
|
-
return value;
|
|
158
|
-
}
|
|
159
|
-
return "resources";
|
|
160
|
-
}
|
|
161
|
-
function toStringArray(value) {
|
|
162
|
-
if (Array.isArray(value)) {
|
|
163
|
-
return value.filter((v) => typeof v === "string");
|
|
164
|
-
}
|
|
165
|
-
if (typeof value === "string") {
|
|
166
|
-
return [value];
|
|
167
|
-
}
|
|
168
|
-
return [];
|
|
169
|
-
}
|
|
170
|
-
//# sourceMappingURL=frontmatter.js.map
|
package/dist/frontmatter.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../src/frontmatter.ts"],"names":[],"mappings":"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"}
|
package/dist/gepa/dataset.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GEPA dataset extraction — builds evaluation context from wiki state and session history.
|
|
3
|
-
*
|
|
4
|
-
* The evaluation context gives the LLM judge grounding:
|
|
5
|
-
* it knows about the wiki's current size, structure, common patterns,
|
|
6
|
-
* and recent capture results to judge whether a prompt would work well.
|
|
7
|
-
*/
|
|
8
|
-
/** Summary of the current wiki state for evaluation context. */
|
|
9
|
-
export interface WikiContext {
|
|
10
|
-
/** Total number of wiki pages. */
|
|
11
|
-
totalPages: number;
|
|
12
|
-
/** Pages per PARA category. */
|
|
13
|
-
categoryCounts: Record<string, number>;
|
|
14
|
-
/** Number of unique scopes. */
|
|
15
|
-
scopeCount: number;
|
|
16
|
-
/** Most common scopes (top 5). */
|
|
17
|
-
topScopes: string[];
|
|
18
|
-
/** Number of unique tags. */
|
|
19
|
-
tagCount: number;
|
|
20
|
-
/** Most common tags (top 10). */
|
|
21
|
-
topTags: string[];
|
|
22
|
-
/** Sample page titles (up to 15). */
|
|
23
|
-
sampleTitles: string[];
|
|
24
|
-
}
|
|
25
|
-
/** Full evaluation context. */
|
|
26
|
-
export interface EvalContext {
|
|
27
|
-
/** Formatted context string for the LLM judge. */
|
|
28
|
-
contextString: string;
|
|
29
|
-
/** Raw wiki stats. */
|
|
30
|
-
wikiStats: WikiContext;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Build a formatted evaluation context string from wiki state.
|
|
34
|
-
*/
|
|
35
|
-
export declare function buildEvalContext(wikiDir?: string): Promise<EvalContext>;
|
|
36
|
-
//# sourceMappingURL=dataset.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/gepa/dataset.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,+BAA+B;AAC/B,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IAEtB,sBAAsB;IACtB,SAAS,EAAE,WAAW,CAAC;CACxB;AAyHD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA8B7E"}
|
package/dist/gepa/dataset.js
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GEPA dataset extraction — builds evaluation context from wiki state and session history.
|
|
3
|
-
*
|
|
4
|
-
* The evaluation context gives the LLM judge grounding:
|
|
5
|
-
* it knows about the wiki's current size, structure, common patterns,
|
|
6
|
-
* and recent capture results to judge whether a prompt would work well.
|
|
7
|
-
*/
|
|
8
|
-
import { readFile, readdir } from "node:fs/promises";
|
|
9
|
-
import { join } from "node:path";
|
|
10
|
-
import { existsSync } from "node:fs";
|
|
11
|
-
import { homedir } from "node:os";
|
|
12
|
-
// -- Wiki state extraction ---------------------------------------------------
|
|
13
|
-
async function extractWikiStats(wikiDir) {
|
|
14
|
-
const categories = ["projects", "areas", "resources", "archives"];
|
|
15
|
-
const categoryCounts = {};
|
|
16
|
-
const allScopes = [];
|
|
17
|
-
const allTags = [];
|
|
18
|
-
const sampleTitles = [];
|
|
19
|
-
let totalPages = 0;
|
|
20
|
-
for (const cat of categories) {
|
|
21
|
-
const catDir = join(wikiDir, cat);
|
|
22
|
-
if (!existsSync(catDir)) {
|
|
23
|
-
categoryCounts[cat] = 0;
|
|
24
|
-
continue;
|
|
25
|
-
}
|
|
26
|
-
try {
|
|
27
|
-
const files = await readdir(catDir);
|
|
28
|
-
const mdFiles = files.filter((f) => f.endsWith(".md"));
|
|
29
|
-
categoryCounts[cat] = mdFiles.length;
|
|
30
|
-
totalPages += mdFiles.length;
|
|
31
|
-
// Parse frontmatter from each page (lightweight — just YAML header)
|
|
32
|
-
for (const file of mdFiles.slice(0, 30)) {
|
|
33
|
-
try {
|
|
34
|
-
const content = await readFile(join(catDir, file), "utf-8");
|
|
35
|
-
const fm = parseFrontmatter(content);
|
|
36
|
-
if (fm) {
|
|
37
|
-
if (fm.title && sampleTitles.length < 15) {
|
|
38
|
-
sampleTitles.push(fm.title);
|
|
39
|
-
}
|
|
40
|
-
if (fm.scope)
|
|
41
|
-
allScopes.push(...fm.scope);
|
|
42
|
-
if (fm.tags)
|
|
43
|
-
allTags.push(...fm.tags);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
// Skip unreadable pages
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
categoryCounts[cat] = 0;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
const scopeCounts = countOccurrences(allScopes);
|
|
56
|
-
const tagCounts = countOccurrences(allTags);
|
|
57
|
-
return {
|
|
58
|
-
totalPages,
|
|
59
|
-
categoryCounts,
|
|
60
|
-
scopeCount: Object.keys(scopeCounts).length,
|
|
61
|
-
topScopes: topN(scopeCounts, 5),
|
|
62
|
-
tagCount: Object.keys(tagCounts).length,
|
|
63
|
-
topTags: topN(tagCounts, 10),
|
|
64
|
-
sampleTitles,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
/** Minimal frontmatter parser — extract title, scope, tags from YAML header. */
|
|
68
|
-
function parseFrontmatter(content) {
|
|
69
|
-
const match = content.match(/^---\s*\n([\s\S]*?)\n---/);
|
|
70
|
-
if (!match)
|
|
71
|
-
return null;
|
|
72
|
-
const yaml = match[1];
|
|
73
|
-
const result = {};
|
|
74
|
-
// Extract title
|
|
75
|
-
const titleMatch = yaml.match(/^title:\s*(.+)$/m);
|
|
76
|
-
if (titleMatch) {
|
|
77
|
-
result.title = titleMatch[1].replace(/^["']|["']$/g, "").trim();
|
|
78
|
-
}
|
|
79
|
-
// Extract scope (inline array)
|
|
80
|
-
const scopeMatch = yaml.match(/^scope:\s*\[([^\]]*)\]/m);
|
|
81
|
-
if (scopeMatch) {
|
|
82
|
-
result.scope = scopeMatch[1].split(",").map((s) => s.trim().replace(/^["']|["']$/g, "")).filter(Boolean);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
// Multi-line array format
|
|
86
|
-
const scopeSection = yaml.match(/^scope:\s*\n((?:\s+-\s+.+\n?)*)/m);
|
|
87
|
-
if (scopeSection) {
|
|
88
|
-
result.scope = scopeSection[1].match(/^\s+-\s+(.+)$/gm)?.map((l) => l.replace(/^\s+-\s+/, "").replace(/^["']|["']$/g, "").trim()) ?? [];
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
// Extract tags (inline array)
|
|
92
|
-
const tagsMatch = yaml.match(/^tags:\s*\[([^\]]*)\]/m);
|
|
93
|
-
if (tagsMatch) {
|
|
94
|
-
result.tags = tagsMatch[1].split(",").map((s) => s.trim().replace(/^["']|["']$/g, "")).filter(Boolean);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
const tagsSection = yaml.match(/^tags:\s*\n((?:\s+-\s+.+\n?)*)/m);
|
|
98
|
-
if (tagsSection) {
|
|
99
|
-
result.tags = tagsSection[1].match(/^\s+-\s+(.+)$/gm)?.map((l) => l.replace(/^\s+-\s+/, "").replace(/^["']|["']$/g, "").trim()) ?? [];
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return result;
|
|
103
|
-
}
|
|
104
|
-
function countOccurrences(items) {
|
|
105
|
-
const counts = {};
|
|
106
|
-
for (const item of items) {
|
|
107
|
-
counts[item] = (counts[item] ?? 0) + 1;
|
|
108
|
-
}
|
|
109
|
-
return counts;
|
|
110
|
-
}
|
|
111
|
-
function topN(counts, n) {
|
|
112
|
-
return Object.entries(counts)
|
|
113
|
-
.sort((a, b) => b[1] - a[1])
|
|
114
|
-
.slice(0, n)
|
|
115
|
-
.map(([key]) => key);
|
|
116
|
-
}
|
|
117
|
-
// -- Context building --------------------------------------------------------
|
|
118
|
-
/**
|
|
119
|
-
* Build a formatted evaluation context string from wiki state.
|
|
120
|
-
*/
|
|
121
|
-
export async function buildEvalContext(wikiDir) {
|
|
122
|
-
const dir = wikiDir ?? join(homedir(), ".pi", "wiki");
|
|
123
|
-
const wikiStats = await extractWikiStats(dir);
|
|
124
|
-
const lines = [
|
|
125
|
-
"## Wiki State Summary",
|
|
126
|
-
"",
|
|
127
|
-
`Total pages: ${wikiStats.totalPages}`,
|
|
128
|
-
`Categories: ${Object.entries(wikiStats.categoryCounts).map(([k, v]) => `${k}=${v}`).join(", ")}`,
|
|
129
|
-
`Scopes: ${wikiStats.scopeCount} unique (top: ${wikiStats.topScopes.join(", ") || "none"})`,
|
|
130
|
-
`Tags: ${wikiStats.tagCount} unique (top: ${wikiStats.topTags.slice(0, 5).join(", ") || "none"})`,
|
|
131
|
-
"",
|
|
132
|
-
];
|
|
133
|
-
if (wikiStats.sampleTitles.length > 0) {
|
|
134
|
-
lines.push("Sample page titles:");
|
|
135
|
-
for (const title of wikiStats.sampleTitles.slice(0, 10)) {
|
|
136
|
-
lines.push(` - ${title}`);
|
|
137
|
-
}
|
|
138
|
-
lines.push("");
|
|
139
|
-
}
|
|
140
|
-
// Check for recent processing history
|
|
141
|
-
const stateDbPath = join(dir, ".daemon.sqlite");
|
|
142
|
-
if (existsSync(stateDbPath)) {
|
|
143
|
-
lines.push("Daemon: active (session processing enabled)");
|
|
144
|
-
}
|
|
145
|
-
const contextString = lines.join("\n");
|
|
146
|
-
return { contextString, wikiStats };
|
|
147
|
-
}
|
|
148
|
-
//# sourceMappingURL=dataset.js.map
|
package/dist/gepa/dataset.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/gepa/dataset.ts"],"names":[],"mappings":"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"}
|
package/dist/gepa/evaluator.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GEPA LLM-based evaluator — judges prompt/skill candidates on multiple dimensions.
|
|
3
|
-
*
|
|
4
|
-
* Every candidate is scored by an LLM judge across 5 equally-weighted dimensions:
|
|
5
|
-
* Structure (0.20), Clarity (0.20), Completeness (0.20),
|
|
6
|
-
* Error Prevention (0.20), Actionability (0.20)
|
|
7
|
-
*
|
|
8
|
-
* The evaluator builds a target-specific evaluation prompt that describes what
|
|
9
|
-
* "good" looks like for each target type (system prompts, capture prompts,
|
|
10
|
-
* maintenance prompts, skills), then parses the LLM's JSON response robustly.
|
|
11
|
-
*
|
|
12
|
-
* Constraint violations (missing required concepts) cap the score at 0.3.
|
|
13
|
-
*/
|
|
14
|
-
import type { Target, LLMClient, EvalResult, EvalDimension } from "./types.js";
|
|
15
|
-
/** Evaluation dimensions with equal weighting. */
|
|
16
|
-
declare const EVAL_DIMENSIONS: readonly [{
|
|
17
|
-
readonly name: "structure";
|
|
18
|
-
readonly weight: 0.2;
|
|
19
|
-
}, {
|
|
20
|
-
readonly name: "clarity";
|
|
21
|
-
readonly weight: 0.2;
|
|
22
|
-
}, {
|
|
23
|
-
readonly name: "completeness";
|
|
24
|
-
readonly weight: 0.2;
|
|
25
|
-
}, {
|
|
26
|
-
readonly name: "error-prevention";
|
|
27
|
-
readonly weight: 0.2;
|
|
28
|
-
}, {
|
|
29
|
-
readonly name: "actionability";
|
|
30
|
-
readonly weight: 0.2;
|
|
31
|
-
}];
|
|
32
|
-
/** Maximum score when constraint violations are detected. */
|
|
33
|
-
declare const CONSTRAINT_VIOLATION_CAP = 0.3;
|
|
34
|
-
declare function getTargetTypeGuidance(target: Target): string;
|
|
35
|
-
declare function buildEvaluationPrompt(candidate: string, target: Target, context: string): string;
|
|
36
|
-
declare function extractJSON(raw: string): Record<string, unknown> | null;
|
|
37
|
-
interface ParsedJudgeResponse {
|
|
38
|
-
success: boolean;
|
|
39
|
-
dimensions: EvalDimension[];
|
|
40
|
-
constraintViolations: string[];
|
|
41
|
-
overallFeedback: string;
|
|
42
|
-
}
|
|
43
|
-
declare function parseJudgeResponse(raw: string): ParsedJudgeResponse;
|
|
44
|
-
declare function checkConstraintViolations(candidate: string, constraints: string[]): string[];
|
|
45
|
-
declare function computeWeightedScore(dimensions: EvalDimension[]): number;
|
|
46
|
-
/**
|
|
47
|
-
* Evaluate a candidate prompt/skill using an LLM judge.
|
|
48
|
-
*/
|
|
49
|
-
export declare function evaluateCandidate(candidate: string, target: Target, context: string, llm: LLMClient): Promise<EvalResult>;
|
|
50
|
-
export { buildEvaluationPrompt, extractJSON, parseJudgeResponse, checkConstraintViolations, computeWeightedScore, getTargetTypeGuidance, EVAL_DIMENSIONS, CONSTRAINT_VIOLATION_CAP, };
|
|
51
|
-
//# sourceMappingURL=evaluator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/gepa/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI/E,kDAAkD;AAClD,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;EAMX,CAAC;AAEX,6DAA6D;AAC7D,QAAA,MAAM,wBAAwB,MAAM,CAAC;AAkBrC,iBAAS,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA4ErD;AAID,iBAAS,qBAAqB,CAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,MAAM,CAsDR;AAID,iBAAS,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAuBhE;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,iBAAS,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CA2C5D;AAID,iBAAS,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAiBrF;AAgCD,iBAAS,oBAAoB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,CAWjE;AAID;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,UAAU,CAAC,CAmDrB;AAED,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,wBAAwB,GACzB,CAAC"}
|