@pella-labs/pinakes 0.4.4 → 0.5.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/dist/cli/audit-wiki.d.ts +1 -0
- package/dist/cli/audit-wiki.d.ts.map +1 -1
- package/dist/cli/audit-wiki.js +49 -25
- package/dist/cli/audit-wiki.js.map +1 -1
- package/dist/cli/claims.d.ts +46 -2
- package/dist/cli/claims.d.ts.map +1 -1
- package/dist/cli/claims.js +202 -14
- package/dist/cli/claims.js.map +1 -1
- package/dist/cli/contradiction.js +1 -1
- package/dist/cli/contradiction.js.map +1 -1
- package/dist/cli/crystallize-scheduler.d.ts +24 -0
- package/dist/cli/crystallize-scheduler.d.ts.map +1 -0
- package/dist/cli/crystallize-scheduler.js +164 -0
- package/dist/cli/crystallize-scheduler.js.map +1 -0
- package/dist/cli/crystallize.d.ts +57 -0
- package/dist/cli/crystallize.d.ts.map +1 -0
- package/dist/cli/crystallize.js +329 -0
- package/dist/cli/crystallize.js.map +1 -0
- package/dist/cli/index.js +29 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/serve.d.ts.map +1 -1
- package/dist/cli/serve.js +10 -2
- package/dist/cli/serve.js.map +1 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +61 -2
- package/dist/db/client.js.map +1 -1
- package/dist/db/migrations/0005_claim_supersession.sql +6 -0
- package/dist/db/migrations/meta/_journal.json +7 -0
- package/dist/db/schema.d.ts +51 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +7 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/ingest/ingester.js +1 -1
- package/dist/ingest/ingester.js.map +1 -1
- package/dist/ingest/parse/markdown.d.ts +2 -2
- package/dist/ingest/parse/markdown.d.ts.map +1 -1
- package/dist/ingest/parse/markdown.js +2 -0
- package/dist/ingest/parse/markdown.js.map +1 -1
- package/dist/paths.d.ts +9 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +38 -1
- package/dist/paths.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/audit-wiki.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export interface WikiAuditResult {
|
|
|
15
15
|
gaps_found: number;
|
|
16
16
|
topology_gaps: number;
|
|
17
17
|
stubs_generated: number;
|
|
18
|
+
superseded_claims: number;
|
|
18
19
|
audit_report_path: string;
|
|
19
20
|
}
|
|
20
21
|
export declare function auditWikiCommand(opts: WikiAuditOptions): Promise<WikiAuditResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-wiki.d.ts","sourceRoot":"","sources":["../../src/cli/audit-wiki.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"audit-wiki.d.ts","sourceRoot":"","sources":["../../src/cli/audit-wiki.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASzE,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAgBvD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,mBAAmB,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAgHvF;AAkBD,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC5D,OAAO,CAAC,MAAM,EAAE,CAAC,CAgCnB;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAYjE;AAMD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,MAAM,GACZ,WAAW,EAAE,CA0Bf;AAMD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,GACb,UAAU,EAAE,CA4Bd;AAeD,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,UAAU,EAAE,EACtB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,GACnD,OAAO,CAAC,MAAM,CAAC,CAkDjB;AAMD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,MAAM,GACZ,aAAa,CAoBf;AAqID;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAgChD"}
|
package/dist/cli/audit-wiki.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { join
|
|
1
|
+
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
3
|
import { closeDb, openDb } from '../db/client.js';
|
|
4
4
|
import { queryGaps } from '../gaps/detector.js';
|
|
5
5
|
import { createLlmProvider } from '../llm/provider.js';
|
|
6
6
|
import { resolveAbs, projectWikiPath as defaultProjectWikiPath, projectDbPath as defaultProjectDbPath, personalWikiPath as defaultPersonalWikiPath, personalDbPath as defaultPersonalDbPath, } from '../paths.js';
|
|
7
|
+
import { queryRecentlySuperseded } from './claims.js';
|
|
7
8
|
import { contradictionScan } from './contradiction.js';
|
|
8
9
|
import { createProgressReporter } from './progress.js';
|
|
9
10
|
/**
|
|
@@ -80,10 +81,20 @@ export async function auditWikiCommand(opts) {
|
|
|
80
81
|
if (opts.generateStubs && filteredGaps.length > 0 && llmProvider.available()) {
|
|
81
82
|
stubsGenerated = await generateSynthesisStubs(filteredGaps, gapContexts, wikiPath, llmProvider, progress);
|
|
82
83
|
}
|
|
83
|
-
// 5.
|
|
84
|
+
// 5. Query recently superseded claims for "Claim Evolution" section (Phase 11.2)
|
|
85
|
+
const lastAuditTs = bundle.writer
|
|
86
|
+
.prepare(`SELECT value FROM pinakes_meta WHERE key = ?`)
|
|
87
|
+
.get('last_audit_ts');
|
|
88
|
+
const sinceTs = lastAuditTs ? parseInt(lastAuditTs.value, 10) : undefined;
|
|
89
|
+
const supersededClaims = queryRecentlySuperseded(bundle.writer, scope, sinceTs);
|
|
90
|
+
// 6. Generate audit report (D46 restructured: contradictions, gaps, health, claim evolution)
|
|
84
91
|
const healthMetrics = getHealthMetrics(bundle.writer, scope);
|
|
85
92
|
const reportPath = join(wikiPath, '_audit-report.md');
|
|
86
|
-
writeAuditReport(reportPath, contradictions, filteredGaps, topoGaps, gapContexts, healthMetrics, stubsGenerated);
|
|
93
|
+
writeAuditReport(reportPath, contradictions, filteredGaps, topoGaps, gapContexts, healthMetrics, stubsGenerated, supersededClaims);
|
|
94
|
+
// Stamp audit timestamp for next run's "since" filter
|
|
95
|
+
bundle.writer
|
|
96
|
+
.prepare(`INSERT OR REPLACE INTO pinakes_meta (key, value) VALUES ('last_audit_ts', ?)`)
|
|
97
|
+
.run(String(Date.now()));
|
|
87
98
|
// eslint-disable-next-line no-console
|
|
88
99
|
console.log(`\nAudit report written to: ${reportPath}`);
|
|
89
100
|
return {
|
|
@@ -91,6 +102,7 @@ export async function auditWikiCommand(opts) {
|
|
|
91
102
|
gaps_found: filteredGaps.length,
|
|
92
103
|
topology_gaps: topoGaps.length,
|
|
93
104
|
stubs_generated: stubsGenerated,
|
|
105
|
+
superseded_claims: supersededClaims.length,
|
|
94
106
|
audit_report_path: reportPath,
|
|
95
107
|
};
|
|
96
108
|
}
|
|
@@ -217,13 +229,10 @@ Rules:
|
|
|
217
229
|
- Keep it under 500 words
|
|
218
230
|
- Output only the markdown content`;
|
|
219
231
|
export async function generateSynthesisStubs(gaps, contexts, wikiRoot, llmProvider, progress) {
|
|
220
|
-
|
|
221
|
-
mkdirSync(draftsDir, { recursive: true });
|
|
222
|
-
// Ensure _audit-drafts is gitignored
|
|
223
|
-
ensureGitignored(wikiRoot, '_audit-drafts/');
|
|
232
|
+
mkdirSync(wikiRoot, { recursive: true });
|
|
224
233
|
const MAX_STUBS = 20;
|
|
225
234
|
const toGenerate = gaps.slice(0, MAX_STUBS);
|
|
226
|
-
progress?.startPhase('Phase 3/3: Generating synthesis
|
|
235
|
+
progress?.startPhase('Phase 3/3: Generating synthesis pages', toGenerate.length);
|
|
227
236
|
let generated = 0;
|
|
228
237
|
for (const gap of toGenerate) {
|
|
229
238
|
const ctx = contexts.find((c) => c.topic === gap.topic);
|
|
@@ -239,7 +248,7 @@ export async function generateSynthesisStubs(gaps, contexts, wikiRoot, llmProvid
|
|
|
239
248
|
progress?.tick(gap.topic, 'skipped (invalid slug)');
|
|
240
249
|
continue;
|
|
241
250
|
}
|
|
242
|
-
const filePath = join(
|
|
251
|
+
const filePath = join(wikiRoot, `${slug}.md`);
|
|
243
252
|
try {
|
|
244
253
|
const excerpts = ctx.mentions
|
|
245
254
|
.map((m) => `From ${m.source_uri}:\n${m.excerpt}`)
|
|
@@ -249,28 +258,19 @@ export async function generateSynthesisStubs(gaps, contexts, wikiRoot, llmProvid
|
|
|
249
258
|
prompt: `Write a wiki page about "${gap.topic}" based on these excerpts:\n\n${excerpts}`,
|
|
250
259
|
maxTokens: 1000,
|
|
251
260
|
});
|
|
252
|
-
|
|
261
|
+
// Add inferred confidence frontmatter — stubs are synthesized, not crystallized
|
|
262
|
+
const frontmatter = '---\nconfidence: inferred\nsource: audit-wiki\n---\n\n';
|
|
263
|
+
writeFileSync(filePath, frontmatter + content, 'utf-8');
|
|
253
264
|
generated++;
|
|
254
|
-
progress?.tick(gap.topic, '
|
|
265
|
+
progress?.tick(gap.topic, 'page created');
|
|
255
266
|
}
|
|
256
267
|
catch (err) {
|
|
257
268
|
progress?.tick(gap.topic, `failed: ${err instanceof Error ? err.message.slice(0, 60) : err}`);
|
|
258
269
|
}
|
|
259
270
|
}
|
|
260
|
-
progress?.endPhase(`${generated}
|
|
271
|
+
progress?.endPhase(`${generated} pages written to wiki`);
|
|
261
272
|
return generated;
|
|
262
273
|
}
|
|
263
|
-
function ensureGitignored(wikiRoot, entry) {
|
|
264
|
-
// Look for .gitignore in the .pinakes parent directory
|
|
265
|
-
const pinakesDir = resolve(wikiRoot, '..');
|
|
266
|
-
const gitignorePath = join(pinakesDir, '.gitignore');
|
|
267
|
-
if (!existsSync(gitignorePath))
|
|
268
|
-
return;
|
|
269
|
-
const content = readFileSync(gitignorePath, 'utf-8');
|
|
270
|
-
if (content.includes(entry))
|
|
271
|
-
return;
|
|
272
|
-
appendFileSync(gitignorePath, `\n${entry}\n`, 'utf-8');
|
|
273
|
-
}
|
|
274
274
|
export function getHealthMetrics(reader, scope) {
|
|
275
275
|
const fileCount = reader.prepare(`SELECT COUNT(DISTINCT source_uri) as c FROM pinakes_nodes WHERE scope = ?`).get(scope)?.c ?? 0;
|
|
276
276
|
const chunkCount = reader.prepare(`SELECT COUNT(*) as c FROM pinakes_chunks ch
|
|
@@ -283,7 +283,7 @@ export function getHealthMetrics(reader, scope) {
|
|
|
283
283
|
// ---------------------------------------------------------------------------
|
|
284
284
|
// Audit report (D46 restructured)
|
|
285
285
|
// ---------------------------------------------------------------------------
|
|
286
|
-
function writeAuditReport(reportPath, contradictions, filteredGaps, topoGaps, gapContexts, health, stubsGenerated = 0) {
|
|
286
|
+
function writeAuditReport(reportPath, contradictions, filteredGaps, topoGaps, gapContexts, health, stubsGenerated = 0, supersededClaims = []) {
|
|
287
287
|
const lines = [
|
|
288
288
|
'# Wiki Audit Report',
|
|
289
289
|
'',
|
|
@@ -355,6 +355,30 @@ function writeAuditReport(reportPath, contradictions, filteredGaps, topoGaps, ga
|
|
|
355
355
|
lines.push(`| Chunks | ${health.chunk_count} |`);
|
|
356
356
|
lines.push(`| Edges | ${health.edge_count} |`);
|
|
357
357
|
lines.push('');
|
|
358
|
+
// Section 4: Claim Evolution (Phase 11.2)
|
|
359
|
+
lines.push('## Claim Evolution');
|
|
360
|
+
lines.push('');
|
|
361
|
+
if (supersededClaims.length === 0) {
|
|
362
|
+
lines.push('*No claims superseded since last audit*');
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
lines.push(`**${supersededClaims.length} claims evolved** since last audit`);
|
|
366
|
+
lines.push('');
|
|
367
|
+
for (const sc of supersededClaims.slice(0, 20)) {
|
|
368
|
+
const date = new Date(sc.superseded_at).toISOString().split('T')[0];
|
|
369
|
+
if (sc.new_claim) {
|
|
370
|
+
lines.push(`- **${sc.topic}** (${sc.source_uri}, ${date})`);
|
|
371
|
+
lines.push(` - Previously (v${sc.old_version}): "${truncate(sc.old_claim, 120)}"`);
|
|
372
|
+
lines.push(` - Now (v${sc.new_version}): "${truncate(sc.new_claim, 120)}"`);
|
|
373
|
+
}
|
|
374
|
+
else {
|
|
375
|
+
lines.push(`- **${sc.topic}** (${sc.source_uri}, ${date}) -- *retired*`);
|
|
376
|
+
lines.push(` - Was (v${sc.old_version}): "${truncate(sc.old_claim, 120)}"`);
|
|
377
|
+
}
|
|
378
|
+
lines.push('');
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
lines.push('');
|
|
358
382
|
// Generated drafts section
|
|
359
383
|
if (stubsGenerated > 0) {
|
|
360
384
|
lines.push('## Generated Drafts');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-wiki.js","sourceRoot":"","sources":["../../src/cli/audit-wiki.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audit-wiki.js","sourceRoot":"","sources":["../../src/cli/audit-wiki.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,UAAU,EACV,eAAe,IAAI,sBAAsB,EACzC,aAAa,IAAI,oBAAoB,EACrC,gBAAgB,IAAI,uBAAuB,EAC3C,cAAc,IAAI,qBAAqB,GACxC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAwB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAA4B,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;;;GASG;AAEH,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,iDAAiD;AAmB7E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAsB;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IACtC,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,KAAK,KAAK,UAAU;QACnC,CAAC,CAAC,uBAAuB,EAAE;QAC3B,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;QACxB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,CAAC,CAAC,KAAK,KAAK,UAAU;YACpB,CAAC,CAAC,qBAAqB,EAAE;YACzB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAE/D,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,qCAAqC,WAAW,CAAC,IAAI,MAAM,CAAC,CAAC;QAEzE,gDAAgD;QAChD,IAAI,cAAmC,CAAC;QACxC,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;YAC5B,QAAQ,CAAC,UAAU,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;YACjE,cAAc,GAAG,MAAM,iBAAiB,CAAC;gBACvC,MAAM;gBACN,KAAK;gBACL,WAAW;gBACX,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;YAEH,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;gBAChC,QAAQ,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,QAAQ,CACf,WAAW,cAAc,CAAC,aAAa,iBAAiB,cAAc,CAAC,cAAc,CAAC,MAAM,iBAAiB,CAC9G,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YACxD,QAAQ,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;YACzD,cAAc,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QACzH,CAAC;QAED,0EAA0E;QAC1E,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,qBAAqB,CAAC,CAAC;QAE/F,QAAQ,CAAC,UAAU,CAAC,yCAAyC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE/E,4BAA4B;QAC5B,IAAI,YAAsB,CAAC;QAC3B,IAAI,WAAW,CAAC,SAAS,EAAE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,YAAY,GAAG,MAAM,aAAa,CAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,eAAe,CAAC;QACjC,CAAC;QAED,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAExD,QAAQ,CAAC,QAAQ,CACf,GAAG,OAAO,CAAC,MAAM,UAAU,aAAa,CAAC,MAAM,gBAAgB,YAAY,CAAC,MAAM,kBAAkB,QAAQ,CAAC,MAAM,gBAAgB,CACpI,CAAC;QAEF,2CAA2C;QAC3C,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAE1E,0DAA0D;QAC1D,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,aAAa,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7E,cAAc,GAAG,MAAM,sBAAsB,CAC3C,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,WAAW,EACX,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,iFAAiF;QACjF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM;aAC9B,OAAO,CAA8B,8CAA8C,CAAC;aACpF,GAAG,CAAC,eAAe,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEhF,6FAA6F;QAC7F,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACtD,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAEnI,sDAAsD;QACtD,MAAM,CAAC,MAAM;aACV,OAAO,CAAC,8EAA8E,CAAC;aACvF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAE3B,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;QAExD,OAAO;YACL,cAAc;YACd,UAAU,EAAE,YAAY,CAAC,MAAM;YAC/B,aAAa,EAAE,QAAQ,CAAC,MAAM;YAC9B,eAAe,EAAE,cAAc;YAC/B,iBAAiB,EAAE,gBAAgB,CAAC,MAAM;YAC1C,iBAAiB,EAAE,UAAU;SAC9B,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG;;;;;;;;4DAQkC,CAAC;AAE7D,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAc,EACd,WAAwB,EACxB,QAA6D;IAE7D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;gBAC1C,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,gBAAgB,MAAM,CAAC,MAAM,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBACzE,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE1D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;YAED,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC;QAC9G,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACtB,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,gCAAgC,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAY,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAYD,MAAM,UAAU,gBAAgB,CAC9B,MAA4B,EAC5B,KAAa;IAEb,yEAAyE;IACzE,+DAA+D;IAC/D,iEAAiE;IACjE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM;aAChB,OAAO,CACN;;;;;;;kBAOU,CACX;aACA,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAE1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,UAAU;YAC5B,SAAS,EAAE,CAAC,CAAC,GAAG;YAChB,MAAM,EAAE,gBAAyB;SAClC,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,iCAAiC;IAC9C,CAAC;AACH,CAAC;AAWD,MAAM,UAAU,iBAAiB,CAC/B,MAA4B,EAC5B,KAAa,EACb,IAAc;IAEd,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM;iBACpB,OAAO,CACN;;;;mBAIS,CACV;iBACA,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAEzB,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;iBAC/B,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG;;;;;;;mCAOU,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAc,EACd,QAAsB,EACtB,QAAgB,EAChB,WAAwB,EACxB,QAAoD;IAEpD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC5C,QAAQ,EAAE,UAAU,CAAC,uCAAuC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAEjF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK;aACnB,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;YACpD,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;iBACjD,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;gBACzC,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,4BAA4B,GAAG,CAAC,KAAK,iCAAiC,QAAQ,EAAE;gBACxF,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,gFAAgF;YAChF,MAAM,WAAW,GAAG,wDAAwD,CAAC;YAC7E,aAAa,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED,QAAQ,EAAE,QAAQ,CAAC,GAAG,SAAS,wBAAwB,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC;AACnB,CAAC;AAaD,MAAM,UAAU,gBAAgB,CAC9B,MAA4B,EAC5B,KAAa;IAEb,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAC9B,2EAA2E,CAC5E,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAErB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAC/B;iEAC6D,CAC9D,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAErB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAC9B,yDAAyD,CAC1D,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAErB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAC9B;+DAC2D,CAC5D,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAErB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC1G,CAAC;AAED,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,SAAS,gBAAgB,CACvB,UAAkB,EAClB,cAAmC,EACnC,YAAsB,EACtB,QAAuB,EACvB,WAAyB,EACzB,MAAqB,EACrB,cAAc,GAAG,CAAC,EAClB,mBAAsC,EAAE;IAExC,MAAM,KAAK,GAAG;QACZ,qBAAqB;QACrB,EAAE;QACF,eAAe,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG;QAC1C,EAAE;KACH,CAAC;IAEF,4BAA4B;IAC5B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,6BAA6B,cAAc,CAAC,cAAc,YAAY,cAAc,CAAC,gBAAgB,mBAAmB,CAAC,CAAC;IACvI,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,cAAc,CAAC,MAAM,4BAA4B,cAAc,CAAC,cAAc,kBAAkB,CAAC,CAAC;QACjI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,QAAQ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,QAAQ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC,UAAU,eAAe,CAAC,CAAC;YACzE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,gCAAgC;IAChC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,6BAA6B,YAAY,CAAC,MAAM,UAAU,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,UAAU,GAAG,GAAG,EAAE,QAAQ,CAAC,MAAM;oBACrC,CAAC,CAAC,iBAAiB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACrE,CAAC,CAAC,EAAE,CAAC;gBACP,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,cAAc,MAAM,UAAU,IAAI,CAAC,CAAC;YACrE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,MAAM,UAAU,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC;YAChD,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,4BAA4B;IAC5B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,0CAA0C;IAC1C,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,MAAM,oCAAoC,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,EAAE,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,UAAU,KAAK,IAAI,GAAG,CAAC,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,WAAW,OAAO,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpF,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,OAAO,QAAQ,CAAC,EAAE,CAAC,SAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,UAAU,KAAK,IAAI,gBAAgB,CAAC,CAAC;gBACzE,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,OAAO,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/E,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,2BAA2B;IAC3B,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,mFAAmF,CAAC,CAAC;QACjH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,MAAc;IACzC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;AACpC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAElD,wCAAwC;IACxC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7F,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,yDAAyD;IACzD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9D,0BAA0B;IAC1B,6CAA6C;IAC7C,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACjE,iDAAiD;IACjD,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,uBAAuB;IACvB,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAElD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAElC,gCAAgC;IAChC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,sDAAsD;IACtD,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE5C,6EAA6E;IAC7E,wDAAwD;IACxD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;IACjC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IACzE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAC1E,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACzE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO;IACzE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACtE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS;IAChE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAC/D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;IAClE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS;CAC/D,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ;IACjE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAChE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;IACjE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM;IACjE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO;IACrE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU;IACnE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW;IACvE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IAClE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IACrE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS;IACvE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;IACnE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ;IAC/D,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ;IAC9D,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;IAChE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;CACjE,CAAC,CAAC"}
|
package/dist/cli/claims.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Topic-claim extraction
|
|
2
|
+
* Topic-claim extraction with supersession tracking (D41, D51).
|
|
3
3
|
*
|
|
4
4
|
* Phase A of the two-phase pipeline:
|
|
5
5
|
* 1. For each wiki file, send content to LLM → extract {topic, claims[]} pairs
|
|
6
6
|
* 2. Persist claims to `pinakes_claims` table
|
|
7
7
|
* 3. Skip unchanged files (incremental via source_sha comparison)
|
|
8
|
+
*
|
|
9
|
+
* Phase 11.2 adds:
|
|
10
|
+
* - Soft-delete supersession instead of hard-delete
|
|
11
|
+
* - Version chains per (scope, source_uri, topic)
|
|
12
|
+
* - Version chain pruning (max 5 by default)
|
|
13
|
+
* - Confidence adjustments on supersession events
|
|
8
14
|
*/
|
|
9
15
|
import type { Database as BetterSqliteDatabase } from 'better-sqlite3';
|
|
10
16
|
import type { LlmProvider } from '../llm/provider.js';
|
|
@@ -22,6 +28,28 @@ export interface ClaimExtractionResult {
|
|
|
22
28
|
files_skipped: number;
|
|
23
29
|
claims_extracted: number;
|
|
24
30
|
}
|
|
31
|
+
export interface ClaimVersion {
|
|
32
|
+
id: number;
|
|
33
|
+
scope: string;
|
|
34
|
+
source_uri: string;
|
|
35
|
+
topic: string;
|
|
36
|
+
claim: string;
|
|
37
|
+
version: number;
|
|
38
|
+
extracted_at: number;
|
|
39
|
+
superseded_by: number | null;
|
|
40
|
+
superseded_at: number | null;
|
|
41
|
+
}
|
|
42
|
+
export interface SupersededClaim {
|
|
43
|
+
id: number;
|
|
44
|
+
source_uri: string;
|
|
45
|
+
topic: string;
|
|
46
|
+
old_claim: string;
|
|
47
|
+
new_claim: string | null;
|
|
48
|
+
old_version: number;
|
|
49
|
+
new_version: number | null;
|
|
50
|
+
superseded_at: number;
|
|
51
|
+
superseded_by: number | null;
|
|
52
|
+
}
|
|
25
53
|
/**
|
|
26
54
|
* Extract topics and claims from a single file's content via LLM.
|
|
27
55
|
*/
|
|
@@ -33,10 +61,17 @@ export declare function parseExtractionResponse(response: string): TopicClaims[]
|
|
|
33
61
|
/**
|
|
34
62
|
* Extract claims from all wiki files in a scope, persisting to DB.
|
|
35
63
|
* Skips files whose source_sha hasn't changed since last extraction.
|
|
64
|
+
*
|
|
65
|
+
* Phase 11.2: uses soft-delete supersession instead of hard-delete.
|
|
36
66
|
*/
|
|
37
67
|
export declare function extractAllClaims(writer: BetterSqliteDatabase, scope: string, llmProvider: LlmProvider, onTick?: (sourceUri: string, detail: string) => void): Promise<ClaimExtractionResult>;
|
|
38
68
|
/**
|
|
39
|
-
*
|
|
69
|
+
* Prune version chains that exceed MAX_CLAIM_VERSIONS per (scope, source_uri, topic).
|
|
70
|
+
* Keeps the newest MAX_CLAIM_VERSIONS claims, hard-deletes the rest.
|
|
71
|
+
*/
|
|
72
|
+
export declare function pruneVersionChains(writer: BetterSqliteDatabase, scope: string, sourceUri: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* Query all active (non-superseded) claims for a scope, optionally filtered by topic.
|
|
40
75
|
*/
|
|
41
76
|
export declare function queryClaims(reader: BetterSqliteDatabase, scope: string, topic?: string): Array<{
|
|
42
77
|
id: number;
|
|
@@ -45,5 +80,14 @@ export declare function queryClaims(reader: BetterSqliteDatabase, scope: string,
|
|
|
45
80
|
claim: string;
|
|
46
81
|
extracted_at: number;
|
|
47
82
|
}>;
|
|
83
|
+
/**
|
|
84
|
+
* Return the full version chain for a topic within a scope, ordered by version descending.
|
|
85
|
+
*/
|
|
86
|
+
export declare function queryClaimHistory(reader: BetterSqliteDatabase, scope: string, topic: string): ClaimVersion[];
|
|
87
|
+
/**
|
|
88
|
+
* Return claims superseded after a given timestamp.
|
|
89
|
+
* If `since` is omitted, returns all superseded claims.
|
|
90
|
+
*/
|
|
91
|
+
export declare function queryRecentlySuperseded(reader: BetterSqliteDatabase, scope: string, since?: number): SupersededClaim[];
|
|
48
92
|
export {};
|
|
49
93
|
//# sourceMappingURL=claims.d.ts.map
|
package/dist/cli/claims.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../src/cli/claims.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../src/cli/claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQtD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAqCD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,cAAc,EAAE,CAAC,CAwB3B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,IAAI,CAwB9E;AAaD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACnD,OAAO,CAAC,qBAAqB,CAAC,CAiKhC;AAiCD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,IAAI,CAmCN;AAMD;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB/F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,YAAY,EAAE,CAShB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,eAAe,EAAE,CAoBnB"}
|
package/dist/cli/claims.js
CHANGED
|
@@ -1,13 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Topic-claim extraction
|
|
2
|
+
* Topic-claim extraction with supersession tracking (D41, D51).
|
|
3
3
|
*
|
|
4
4
|
* Phase A of the two-phase pipeline:
|
|
5
5
|
* 1. For each wiki file, send content to LLM → extract {topic, claims[]} pairs
|
|
6
6
|
* 2. Persist claims to `pinakes_claims` table
|
|
7
7
|
* 3. Skip unchanged files (incremental via source_sha comparison)
|
|
8
|
+
*
|
|
9
|
+
* Phase 11.2 adds:
|
|
10
|
+
* - Soft-delete supersession instead of hard-delete
|
|
11
|
+
* - Version chains per (scope, source_uri, topic)
|
|
12
|
+
* - Version chain pruning (max 5 by default)
|
|
13
|
+
* - Confidence adjustments on supersession events
|
|
8
14
|
*/
|
|
15
|
+
import { SUPERSESSION_PENALTY, SUPERSESSION_BOOST } from '../gate/confidence.js';
|
|
9
16
|
import { logger } from '../observability/logger.js';
|
|
10
17
|
// ----------------------------------------------------------------------------
|
|
18
|
+
// Constants
|
|
19
|
+
// ----------------------------------------------------------------------------
|
|
20
|
+
/** Maximum claim versions to keep per (scope, source_uri, topic). */
|
|
21
|
+
const MAX_CLAIM_VERSIONS = (() => {
|
|
22
|
+
const env = process.env.PINAKES_MAX_CLAIM_VERSIONS;
|
|
23
|
+
if (env) {
|
|
24
|
+
const parsed = parseInt(env, 10);
|
|
25
|
+
if (!Number.isNaN(parsed) && parsed > 0)
|
|
26
|
+
return parsed;
|
|
27
|
+
}
|
|
28
|
+
return 5;
|
|
29
|
+
})();
|
|
30
|
+
// ----------------------------------------------------------------------------
|
|
11
31
|
// Extraction prompt
|
|
12
32
|
// ----------------------------------------------------------------------------
|
|
13
33
|
const EXTRACTION_SYSTEM = `You are a claim extractor for a knowledge wiki. Given the content of a wiki page, identify the key topics discussed and extract factual claims made about each topic.
|
|
@@ -75,12 +95,11 @@ export function parseExtractionResponse(response) {
|
|
|
75
95
|
return null;
|
|
76
96
|
}
|
|
77
97
|
}
|
|
78
|
-
// ----------------------------------------------------------------------------
|
|
79
|
-
// Persistence + incremental extraction
|
|
80
|
-
// ----------------------------------------------------------------------------
|
|
81
98
|
/**
|
|
82
99
|
* Extract claims from all wiki files in a scope, persisting to DB.
|
|
83
100
|
* Skips files whose source_sha hasn't changed since last extraction.
|
|
101
|
+
*
|
|
102
|
+
* Phase 11.2: uses soft-delete supersession instead of hard-delete.
|
|
84
103
|
*/
|
|
85
104
|
export async function extractAllClaims(writer, scope, llmProvider, onTick) {
|
|
86
105
|
// Get all wiki files with their content and hashes
|
|
@@ -116,18 +135,79 @@ export async function extractAllClaims(writer, scope, llmProvider, onTick) {
|
|
|
116
135
|
}
|
|
117
136
|
try {
|
|
118
137
|
const claims = await extractClaimsFromFile(content, file.source_uri, llmProvider);
|
|
119
|
-
// Delete old claims for this file and insert new ones
|
|
120
138
|
const now = Date.now();
|
|
121
139
|
writer.exec('BEGIN');
|
|
122
140
|
try {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
.
|
|
126
|
-
|
|
127
|
-
|
|
141
|
+
// Step 1: Load old active claims for this file
|
|
142
|
+
const oldClaims = writer
|
|
143
|
+
.prepare(`SELECT id, topic, claim, version FROM pinakes_claims
|
|
144
|
+
WHERE scope = ? AND source_uri = ? AND superseded_at IS NULL`)
|
|
145
|
+
.all(scope, file.source_uri);
|
|
146
|
+
// Step 2: Group old claims by topic (lowercased)
|
|
147
|
+
const oldByTopic = new Map();
|
|
148
|
+
for (const oc of oldClaims) {
|
|
149
|
+
const key = oc.topic.toLowerCase();
|
|
150
|
+
let list = oldByTopic.get(key);
|
|
151
|
+
if (!list) {
|
|
152
|
+
list = [];
|
|
153
|
+
oldByTopic.set(key, list);
|
|
154
|
+
}
|
|
155
|
+
list.push(oc);
|
|
156
|
+
}
|
|
157
|
+
// Step 3: Insert new claims with version=1, collect IDs
|
|
158
|
+
const insertStmt = writer.prepare(`INSERT INTO pinakes_claims (scope, source_uri, topic, claim, extracted_at, version)
|
|
159
|
+
VALUES (?, ?, ?, ?, ?, ?)`);
|
|
160
|
+
// Group new claims by topic for matching
|
|
161
|
+
const newByTopic = new Map();
|
|
128
162
|
for (const claim of claims) {
|
|
129
|
-
|
|
163
|
+
const key = claim.topic.toLowerCase();
|
|
164
|
+
// Check if there's a matching old claim to get version from
|
|
165
|
+
const oldGroup = oldByTopic.get(key);
|
|
166
|
+
let version = 1;
|
|
167
|
+
if (oldGroup && oldGroup.length > 0) {
|
|
168
|
+
// Take the first available old claim's version + 1
|
|
169
|
+
version = oldGroup[0].version + 1;
|
|
170
|
+
}
|
|
171
|
+
const info = insertStmt.run(scope, file.source_uri, claim.topic, claim.claim, now, version);
|
|
172
|
+
const newId = Number(info.lastInsertRowid);
|
|
173
|
+
let list = newByTopic.get(key);
|
|
174
|
+
if (!list) {
|
|
175
|
+
list = [];
|
|
176
|
+
newByTopic.set(key, list);
|
|
177
|
+
}
|
|
178
|
+
list.push({ claim, id: newId });
|
|
130
179
|
}
|
|
180
|
+
// Step 4: Match old→new by topic and supersede
|
|
181
|
+
const supersedStmt = writer.prepare(`UPDATE pinakes_claims SET superseded_by = ?, superseded_at = ? WHERE id = ?`);
|
|
182
|
+
const affectedSourceUris = new Set();
|
|
183
|
+
for (const [topicKey, oldGroup] of oldByTopic) {
|
|
184
|
+
const newGroup = newByTopic.get(topicKey);
|
|
185
|
+
if (newGroup && newGroup.length > 0) {
|
|
186
|
+
// Match old claims 1:1 with new claims (FIFO)
|
|
187
|
+
const matchCount = Math.min(oldGroup.length, newGroup.length);
|
|
188
|
+
for (let i = 0; i < matchCount; i++) {
|
|
189
|
+
supersedStmt.run(newGroup[i].id, now, oldGroup[i].id);
|
|
190
|
+
}
|
|
191
|
+
// Any remaining old claims without a new match are retired
|
|
192
|
+
for (let i = matchCount; i < oldGroup.length; i++) {
|
|
193
|
+
supersedStmt.run(null, now, oldGroup[i].id);
|
|
194
|
+
}
|
|
195
|
+
affectedSourceUris.add(file.source_uri);
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
// Topic removed entirely — retire all old claims
|
|
199
|
+
for (const oc of oldGroup) {
|
|
200
|
+
supersedStmt.run(null, now, oc.id);
|
|
201
|
+
}
|
|
202
|
+
affectedSourceUris.add(file.source_uri);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// Step 5: Apply confidence adjustments if any supersession happened
|
|
206
|
+
if (affectedSourceUris.size > 0) {
|
|
207
|
+
applySupersessionConfidence(writer, scope, file.source_uri);
|
|
208
|
+
}
|
|
209
|
+
// Step 6: Version chain pruning
|
|
210
|
+
pruneVersionChains(writer, scope, file.source_uri);
|
|
131
211
|
// Record the sha so we can skip this file next time
|
|
132
212
|
writer
|
|
133
213
|
.prepare(`INSERT OR REPLACE INTO pinakes_meta (key, value) VALUES (?, ?)`)
|
|
@@ -149,21 +229,129 @@ export async function extractAllClaims(writer, scope, llmProvider, onTick) {
|
|
|
149
229
|
}
|
|
150
230
|
return result;
|
|
151
231
|
}
|
|
232
|
+
// ----------------------------------------------------------------------------
|
|
233
|
+
// Supersession helpers
|
|
234
|
+
// ----------------------------------------------------------------------------
|
|
235
|
+
/**
|
|
236
|
+
* Apply confidence penalty to nodes in a file that had claims superseded.
|
|
237
|
+
* The penalty is small (-0.05) since supersession means the info evolved,
|
|
238
|
+
* not necessarily that it was wrong. A boost is applied for the new claims.
|
|
239
|
+
*/
|
|
240
|
+
function applySupersessionConfidence(writer, scope, sourceUri) {
|
|
241
|
+
// Penalty on nodes with superseded claims (stale info)
|
|
242
|
+
writer
|
|
243
|
+
.prepare(`UPDATE pinakes_nodes SET confidence_score = MAX(0.1, confidence_score - ?)
|
|
244
|
+
WHERE scope = ? AND source_uri = ?`)
|
|
245
|
+
.run(SUPERSESSION_PENALTY, scope, sourceUri);
|
|
246
|
+
// Boost on the same nodes (they now have fresh claims too)
|
|
247
|
+
writer
|
|
248
|
+
.prepare(`UPDATE pinakes_nodes SET confidence_score = MIN(1.0, confidence_score + ?)
|
|
249
|
+
WHERE scope = ? AND source_uri = ?`)
|
|
250
|
+
.run(SUPERSESSION_BOOST, scope, sourceUri);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Prune version chains that exceed MAX_CLAIM_VERSIONS per (scope, source_uri, topic).
|
|
254
|
+
* Keeps the newest MAX_CLAIM_VERSIONS claims, hard-deletes the rest.
|
|
255
|
+
*/
|
|
256
|
+
export function pruneVersionChains(writer, scope, sourceUri) {
|
|
257
|
+
// Find topics with too many versions
|
|
258
|
+
const groups = writer
|
|
259
|
+
.prepare(`SELECT topic, COUNT(*) as cnt FROM pinakes_claims
|
|
260
|
+
WHERE scope = ? AND source_uri = ?
|
|
261
|
+
GROUP BY LOWER(topic)
|
|
262
|
+
HAVING cnt > ?`)
|
|
263
|
+
.all(scope, sourceUri, MAX_CLAIM_VERSIONS);
|
|
264
|
+
for (const group of groups) {
|
|
265
|
+
// Get oldest claims beyond the limit (ordered by version ASC, skip newest MAX_CLAIM_VERSIONS)
|
|
266
|
+
const toDelete = writer
|
|
267
|
+
.prepare(`SELECT id FROM pinakes_claims
|
|
268
|
+
WHERE scope = ? AND source_uri = ? AND LOWER(topic) = LOWER(?)
|
|
269
|
+
ORDER BY version DESC, id DESC
|
|
270
|
+
LIMIT -1 OFFSET ?`)
|
|
271
|
+
.all(scope, sourceUri, group.topic, MAX_CLAIM_VERSIONS);
|
|
272
|
+
if (toDelete.length > 0) {
|
|
273
|
+
const ids = toDelete.map((r) => r.id);
|
|
274
|
+
const placeholders = ids.map(() => '?').join(',');
|
|
275
|
+
// Clear any superseded_by pointers referencing claims about to be deleted
|
|
276
|
+
writer.prepare(`UPDATE pinakes_claims SET superseded_by = NULL WHERE superseded_by IN (${placeholders})`).run(...ids);
|
|
277
|
+
// Delete the oldest versions
|
|
278
|
+
writer.prepare(`DELETE FROM pinakes_claims WHERE id IN (${placeholders})`).run(...ids);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// ----------------------------------------------------------------------------
|
|
283
|
+
// Query helpers
|
|
284
|
+
// ----------------------------------------------------------------------------
|
|
152
285
|
/**
|
|
153
|
-
* Query all
|
|
286
|
+
* Query all active (non-superseded) claims for a scope, optionally filtered by topic.
|
|
154
287
|
*/
|
|
155
288
|
export function queryClaims(reader, scope, topic) {
|
|
156
289
|
if (topic) {
|
|
157
290
|
return reader
|
|
158
291
|
.prepare(`SELECT id, source_uri, topic, claim, extracted_at
|
|
159
|
-
FROM pinakes_claims WHERE scope = ? AND topic = ?
|
|
292
|
+
FROM pinakes_claims WHERE scope = ? AND topic = ? AND superseded_at IS NULL
|
|
160
293
|
ORDER BY source_uri`)
|
|
161
294
|
.all(scope, topic);
|
|
162
295
|
}
|
|
163
296
|
return reader
|
|
164
297
|
.prepare(`SELECT id, source_uri, topic, claim, extracted_at
|
|
165
|
-
FROM pinakes_claims WHERE scope = ?
|
|
298
|
+
FROM pinakes_claims WHERE scope = ? AND superseded_at IS NULL
|
|
166
299
|
ORDER BY topic, source_uri`)
|
|
167
300
|
.all(scope);
|
|
168
301
|
}
|
|
302
|
+
/**
|
|
303
|
+
* Return the full version chain for a topic within a scope, ordered by version descending.
|
|
304
|
+
*/
|
|
305
|
+
export function queryClaimHistory(reader, scope, topic) {
|
|
306
|
+
return reader
|
|
307
|
+
.prepare(`SELECT id, scope, source_uri, topic, claim, version, extracted_at, superseded_by, superseded_at
|
|
308
|
+
FROM pinakes_claims
|
|
309
|
+
WHERE scope = ? AND LOWER(topic) = LOWER(?)
|
|
310
|
+
ORDER BY version DESC`)
|
|
311
|
+
.all(scope, topic);
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Return claims superseded after a given timestamp.
|
|
315
|
+
* If `since` is omitted, returns all superseded claims.
|
|
316
|
+
*/
|
|
317
|
+
export function queryRecentlySuperseded(reader, scope, since) {
|
|
318
|
+
const rows = since != null
|
|
319
|
+
? reader
|
|
320
|
+
.prepare(`SELECT id, source_uri, topic, claim, version, superseded_at, superseded_by
|
|
321
|
+
FROM pinakes_claims
|
|
322
|
+
WHERE scope = ? AND superseded_at IS NOT NULL AND superseded_at > ?
|
|
323
|
+
ORDER BY superseded_at DESC`)
|
|
324
|
+
.all(scope, since)
|
|
325
|
+
: reader
|
|
326
|
+
.prepare(`SELECT id, source_uri, topic, claim, version, superseded_at, superseded_by
|
|
327
|
+
FROM pinakes_claims
|
|
328
|
+
WHERE scope = ? AND superseded_at IS NOT NULL
|
|
329
|
+
ORDER BY superseded_at DESC`)
|
|
330
|
+
.all(scope);
|
|
331
|
+
return rows.map((row) => resolveSupersededClaim(reader, row));
|
|
332
|
+
}
|
|
333
|
+
function resolveSupersededClaim(reader, row) {
|
|
334
|
+
let newClaim = null;
|
|
335
|
+
let newVersion = null;
|
|
336
|
+
if (row.superseded_by != null) {
|
|
337
|
+
const successor = reader
|
|
338
|
+
.prepare(`SELECT claim, version FROM pinakes_claims WHERE id = ?`)
|
|
339
|
+
.get(row.superseded_by);
|
|
340
|
+
if (successor) {
|
|
341
|
+
newClaim = successor.claim;
|
|
342
|
+
newVersion = successor.version;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
return {
|
|
346
|
+
id: row.id,
|
|
347
|
+
source_uri: row.source_uri,
|
|
348
|
+
topic: row.topic,
|
|
349
|
+
old_claim: row.claim,
|
|
350
|
+
new_claim: newClaim,
|
|
351
|
+
old_version: row.version,
|
|
352
|
+
new_version: newVersion,
|
|
353
|
+
superseded_at: row.superseded_at,
|
|
354
|
+
superseded_by: row.superseded_by,
|
|
355
|
+
};
|
|
356
|
+
}
|
|
169
357
|
//# sourceMappingURL=claims.js.map
|
package/dist/cli/claims.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.js","sourceRoot":"","sources":["../../src/cli/claims.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claims.js","sourceRoot":"","sources":["../../src/cli/claims.ts"],"names":[],"mappings":"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"}
|