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.
Files changed (227) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/package.json +8 -5
  3. package/scripts/build-assets.mjs +29 -0
  4. package/scripts/install.ps1 +27 -16
  5. package/scripts/install.sh +3 -2
  6. package/scripts/smoke-install.mjs +5 -3
  7. package/src/doctor.ts +5 -0
  8. package/dist/atomic-write.d.ts +0 -2
  9. package/dist/atomic-write.d.ts.map +0 -1
  10. package/dist/atomic-write.js +0 -18
  11. package/dist/atomic-write.js.map +0 -1
  12. package/dist/capture.d.ts +0 -34
  13. package/dist/capture.d.ts.map +0 -1
  14. package/dist/capture.js +0 -461
  15. package/dist/capture.js.map +0 -1
  16. package/dist/cli-legacy.d.ts +0 -4
  17. package/dist/cli-legacy.d.ts.map +0 -1
  18. package/dist/cli-legacy.js +0 -41
  19. package/dist/cli-legacy.js.map +0 -1
  20. package/dist/cli.d.ts +0 -8
  21. package/dist/cli.d.ts.map +0 -1
  22. package/dist/cli.js +0 -511
  23. package/dist/cli.js.map +0 -1
  24. package/dist/commands.d.ts +0 -15
  25. package/dist/commands.d.ts.map +0 -1
  26. package/dist/commands.js +0 -719
  27. package/dist/commands.js.map +0 -1
  28. package/dist/config.d.ts +0 -104
  29. package/dist/config.d.ts.map +0 -1
  30. package/dist/config.js +0 -242
  31. package/dist/config.js.map +0 -1
  32. package/dist/context.d.ts +0 -63
  33. package/dist/context.d.ts.map +0 -1
  34. package/dist/context.js +0 -311
  35. package/dist/context.js.map +0 -1
  36. package/dist/credentials.d.ts +0 -27
  37. package/dist/credentials.d.ts.map +0 -1
  38. package/dist/credentials.js +0 -85
  39. package/dist/credentials.js.map +0 -1
  40. package/dist/daemon.d.ts +0 -49
  41. package/dist/daemon.d.ts.map +0 -1
  42. package/dist/daemon.js +0 -226
  43. package/dist/daemon.js.map +0 -1
  44. package/dist/doctor.d.ts +0 -20
  45. package/dist/doctor.d.ts.map +0 -1
  46. package/dist/doctor.js +0 -171
  47. package/dist/doctor.js.map +0 -1
  48. package/dist/frontmatter.d.ts +0 -59
  49. package/dist/frontmatter.d.ts.map +0 -1
  50. package/dist/frontmatter.js +0 -170
  51. package/dist/frontmatter.js.map +0 -1
  52. package/dist/gepa/dataset.d.ts +0 -36
  53. package/dist/gepa/dataset.d.ts.map +0 -1
  54. package/dist/gepa/dataset.js +0 -148
  55. package/dist/gepa/dataset.js.map +0 -1
  56. package/dist/gepa/evaluator.d.ts +0 -51
  57. package/dist/gepa/evaluator.d.ts.map +0 -1
  58. package/dist/gepa/evaluator.js +0 -317
  59. package/dist/gepa/evaluator.js.map +0 -1
  60. package/dist/gepa/index.d.ts +0 -66
  61. package/dist/gepa/index.d.ts.map +0 -1
  62. package/dist/gepa/index.js +0 -240
  63. package/dist/gepa/index.js.map +0 -1
  64. package/dist/gepa/llm.d.ts +0 -35
  65. package/dist/gepa/llm.d.ts.map +0 -1
  66. package/dist/gepa/llm.js +0 -268
  67. package/dist/gepa/llm.js.map +0 -1
  68. package/dist/gepa/optimized/capture-prompt.txt +0 -65
  69. package/dist/gepa/optimizer.d.ts +0 -29
  70. package/dist/gepa/optimizer.d.ts.map +0 -1
  71. package/dist/gepa/optimizer.js +0 -249
  72. package/dist/gepa/optimizer.js.map +0 -1
  73. package/dist/gepa/targets.d.ts +0 -39
  74. package/dist/gepa/targets.d.ts.map +0 -1
  75. package/dist/gepa/targets.js +0 -326
  76. package/dist/gepa/targets.js.map +0 -1
  77. package/dist/gepa/types.d.ts +0 -168
  78. package/dist/gepa/types.d.ts.map +0 -1
  79. package/dist/gepa/types.js +0 -124
  80. package/dist/gepa/types.js.map +0 -1
  81. package/dist/index.d.ts +0 -21
  82. package/dist/index.d.ts.map +0 -1
  83. package/dist/index.js +0 -359
  84. package/dist/index.js.map +0 -1
  85. package/dist/ingest.d.ts +0 -88
  86. package/dist/ingest.d.ts.map +0 -1
  87. package/dist/ingest.js +0 -105
  88. package/dist/ingest.js.map +0 -1
  89. package/dist/link-discovery.d.ts +0 -40
  90. package/dist/link-discovery.d.ts.map +0 -1
  91. package/dist/link-discovery.js +0 -122
  92. package/dist/link-discovery.js.map +0 -1
  93. package/dist/link-utils.d.ts +0 -30
  94. package/dist/link-utils.d.ts.map +0 -1
  95. package/dist/link-utils.js +0 -145
  96. package/dist/link-utils.js.map +0 -1
  97. package/dist/lint.d.ts +0 -39
  98. package/dist/lint.d.ts.map +0 -1
  99. package/dist/lint.js +0 -827
  100. package/dist/lint.js.map +0 -1
  101. package/dist/maintainer.d.ts +0 -24
  102. package/dist/maintainer.d.ts.map +0 -1
  103. package/dist/maintainer.js +0 -358
  104. package/dist/maintainer.js.map +0 -1
  105. package/dist/model-resolver.d.ts +0 -30
  106. package/dist/model-resolver.d.ts.map +0 -1
  107. package/dist/model-resolver.js +0 -71
  108. package/dist/model-resolver.js.map +0 -1
  109. package/dist/paths.d.ts +0 -20
  110. package/dist/paths.d.ts.map +0 -1
  111. package/dist/paths.js +0 -33
  112. package/dist/paths.js.map +0 -1
  113. package/dist/processor.d.ts +0 -14
  114. package/dist/processor.d.ts.map +0 -1
  115. package/dist/processor.js +0 -361
  116. package/dist/processor.js.map +0 -1
  117. package/dist/qmd-providers.d.ts +0 -12
  118. package/dist/qmd-providers.d.ts.map +0 -1
  119. package/dist/qmd-providers.js +0 -45
  120. package/dist/qmd-providers.js.map +0 -1
  121. package/dist/query.d.ts +0 -69
  122. package/dist/query.d.ts.map +0 -1
  123. package/dist/query.js +0 -120
  124. package/dist/query.js.map +0 -1
  125. package/dist/raw.d.ts +0 -57
  126. package/dist/raw.d.ts.map +0 -1
  127. package/dist/raw.js +0 -219
  128. package/dist/raw.js.map +0 -1
  129. package/dist/redact.d.ts +0 -21
  130. package/dist/redact.d.ts.map +0 -1
  131. package/dist/redact.js +0 -143
  132. package/dist/redact.js.map +0 -1
  133. package/dist/repair.d.ts +0 -11
  134. package/dist/repair.d.ts.map +0 -1
  135. package/dist/repair.js +0 -41
  136. package/dist/repair.js.map +0 -1
  137. package/dist/scheduler/controls.d.ts +0 -35
  138. package/dist/scheduler/controls.d.ts.map +0 -1
  139. package/dist/scheduler/controls.js +0 -98
  140. package/dist/scheduler/controls.js.map +0 -1
  141. package/dist/scheduler/index.d.ts +0 -48
  142. package/dist/scheduler/index.d.ts.map +0 -1
  143. package/dist/scheduler/index.js +0 -193
  144. package/dist/scheduler/index.js.map +0 -1
  145. package/dist/scheduler/leases.d.ts +0 -22
  146. package/dist/scheduler/leases.d.ts.map +0 -1
  147. package/dist/scheduler/leases.js +0 -74
  148. package/dist/scheduler/leases.js.map +0 -1
  149. package/dist/scheduler/session-capture.d.ts +0 -33
  150. package/dist/scheduler/session-capture.d.ts.map +0 -1
  151. package/dist/scheduler/session-capture.js +0 -108
  152. package/dist/scheduler/session-capture.js.map +0 -1
  153. package/dist/scheduler/state.d.ts +0 -56
  154. package/dist/scheduler/state.d.ts.map +0 -1
  155. package/dist/scheduler/state.js +0 -210
  156. package/dist/scheduler/state.js.map +0 -1
  157. package/dist/scope.d.ts +0 -54
  158. package/dist/scope.d.ts.map +0 -1
  159. package/dist/scope.js +0 -161
  160. package/dist/scope.js.map +0 -1
  161. package/dist/scripts/bulk-link-fix.d.ts +0 -9
  162. package/dist/scripts/bulk-link-fix.d.ts.map +0 -1
  163. package/dist/scripts/bulk-link-fix.js +0 -106
  164. package/dist/scripts/bulk-link-fix.js.map +0 -1
  165. package/dist/session-tools.d.ts +0 -33
  166. package/dist/session-tools.d.ts.map +0 -1
  167. package/dist/session-tools.js +0 -211
  168. package/dist/session-tools.js.map +0 -1
  169. package/dist/settings.d.ts +0 -19
  170. package/dist/settings.d.ts.map +0 -1
  171. package/dist/settings.js +0 -106
  172. package/dist/settings.js.map +0 -1
  173. package/dist/setup.d.ts +0 -29
  174. package/dist/setup.d.ts.map +0 -1
  175. package/dist/setup.js +0 -90
  176. package/dist/setup.js.map +0 -1
  177. package/dist/state.d.ts +0 -54
  178. package/dist/state.d.ts.map +0 -1
  179. package/dist/state.js +0 -176
  180. package/dist/state.js.map +0 -1
  181. package/dist/status.d.ts +0 -22
  182. package/dist/status.d.ts.map +0 -1
  183. package/dist/status.js +0 -93
  184. package/dist/status.js.map +0 -1
  185. package/dist/store.d.ts +0 -71
  186. package/dist/store.d.ts.map +0 -1
  187. package/dist/store.js +0 -282
  188. package/dist/store.js.map +0 -1
  189. package/dist/summarize.d.ts +0 -60
  190. package/dist/summarize.d.ts.map +0 -1
  191. package/dist/summarize.js +0 -266
  192. package/dist/summarize.js.map +0 -1
  193. package/dist/tag-registry.d.ts +0 -56
  194. package/dist/tag-registry.d.ts.map +0 -1
  195. package/dist/tag-registry.js +0 -146
  196. package/dist/tag-registry.js.map +0 -1
  197. package/dist/templates/prompts.d.ts +0 -63
  198. package/dist/templates/prompts.d.ts.map +0 -1
  199. package/dist/templates/prompts.js +0 -260
  200. package/dist/templates/prompts.js.map +0 -1
  201. package/dist/tools.d.ts +0 -26
  202. package/dist/tools.d.ts.map +0 -1
  203. package/dist/tools.js +0 -1198
  204. package/dist/tools.js.map +0 -1
  205. package/dist/watcher.d.ts +0 -25
  206. package/dist/watcher.d.ts.map +0 -1
  207. package/dist/watcher.js +0 -84
  208. package/dist/watcher.js.map +0 -1
  209. package/dist/webui/client/dist/index.html +0 -1885
  210. package/dist/webui/server.d.ts +0 -31
  211. package/dist/webui/server.d.ts.map +0 -1
  212. package/dist/webui/server.js +0 -566
  213. package/dist/webui/server.js.map +0 -1
  214. package/dist/wiki-tool-guidance.d.ts +0 -6
  215. package/dist/wiki-tool-guidance.d.ts.map +0 -1
  216. package/dist/wiki-tool-guidance.js +0 -70
  217. package/dist/wiki-tool-guidance.js.map +0 -1
  218. package/dist/wiki.d.ts +0 -108
  219. package/dist/wiki.d.ts.map +0 -1
  220. package/dist/wiki.js +0 -497
  221. package/dist/wiki.js.map +0 -1
  222. package/scripts/gepa/__pycache__/dataset.cpython-313.pyc +0 -0
  223. package/scripts/gepa/__pycache__/lm_providers.cpython-313.pyc +0 -0
  224. package/scripts/gepa/__pycache__/metric.cpython-313.pyc +0 -0
  225. package/scripts/gepa/__pycache__/program.cpython-313.pyc +0 -0
  226. package/scripts/gepa/__pycache__/wiki_reader.cpython-313.pyc +0 -0
  227. package/scripts/gepa/uv.lock +0 -2241
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../src/frontmatter.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/gepa/dataset.ts"],"names":[],"mappings":"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"}
@@ -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"}