mewkit 1.11.2 → 1.12.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/dist/commands/index-command.d.ts.map +1 -1
- package/dist/commands/index-command.js +2 -1
- package/dist/commands/index-command.js.map +1 -1
- package/dist/core/derived-index.d.ts +5 -3
- package/dist/core/derived-index.d.ts.map +1 -1
- package/dist/core/derived-index.js +35 -10
- package/dist/core/derived-index.js.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/wiki/application/ports.d.ts +111 -0
- package/dist/wiki/application/ports.d.ts.map +1 -0
- package/dist/wiki/application/ports.js +33 -0
- package/dist/wiki/application/ports.js.map +1 -0
- package/dist/wiki/application/queries.d.ts +5 -0
- package/dist/wiki/application/queries.d.ts.map +1 -0
- package/dist/wiki/application/queries.js +10 -0
- package/dist/wiki/application/queries.js.map +1 -0
- package/dist/wiki/application/research.d.ts +16 -0
- package/dist/wiki/application/research.d.ts.map +1 -0
- package/dist/wiki/application/research.js +48 -0
- package/dist/wiki/application/research.js.map +1 -0
- package/dist/wiki/application/service.d.ts +27 -0
- package/dist/wiki/application/service.d.ts.map +1 -0
- package/dist/wiki/application/service.js +153 -0
- package/dist/wiki/application/service.js.map +1 -0
- package/dist/wiki/domain/index.d.ts +5 -0
- package/dist/wiki/domain/index.d.ts.map +1 -0
- package/dist/wiki/domain/index.js +6 -0
- package/dist/wiki/domain/index.js.map +1 -0
- package/dist/wiki/domain/invariants.d.ts +28 -0
- package/dist/wiki/domain/invariants.d.ts.map +1 -0
- package/dist/wiki/domain/invariants.js +84 -0
- package/dist/wiki/domain/invariants.js.map +1 -0
- package/dist/wiki/domain/salience.d.ts +11 -0
- package/dist/wiki/domain/salience.d.ts.map +1 -0
- package/dist/wiki/domain/salience.js +40 -0
- package/dist/wiki/domain/salience.js.map +1 -0
- package/dist/wiki/domain/types.d.ts +151 -0
- package/dist/wiki/domain/types.d.ts.map +1 -0
- package/dist/wiki/domain/types.js +27 -0
- package/dist/wiki/domain/types.js.map +1 -0
- package/dist/wiki/domain/write-decision.d.ts +25 -0
- package/dist/wiki/domain/write-decision.d.ts.map +1 -0
- package/dist/wiki/domain/write-decision.js +71 -0
- package/dist/wiki/domain/write-decision.js.map +1 -0
- package/dist/wiki/infrastructure/fetcher-adapter.d.ts +45 -0
- package/dist/wiki/infrastructure/fetcher-adapter.d.ts.map +1 -0
- package/dist/wiki/infrastructure/fetcher-adapter.js +99 -0
- package/dist/wiki/infrastructure/fetcher-adapter.js.map +1 -0
- package/dist/wiki/infrastructure/inventory-adapter.d.ts +13 -0
- package/dist/wiki/infrastructure/inventory-adapter.d.ts.map +1 -0
- package/dist/wiki/infrastructure/inventory-adapter.js +46 -0
- package/dist/wiki/infrastructure/inventory-adapter.js.map +1 -0
- package/dist/wiki/infrastructure/markdown-repository.d.ts +23 -0
- package/dist/wiki/infrastructure/markdown-repository.d.ts.map +1 -0
- package/dist/wiki/infrastructure/markdown-repository.js +168 -0
- package/dist/wiki/infrastructure/markdown-repository.js.map +1 -0
- package/dist/wiki/infrastructure/scan-patterns.d.ts +20 -0
- package/dist/wiki/infrastructure/scan-patterns.d.ts.map +1 -0
- package/dist/wiki/infrastructure/scan-patterns.js +106 -0
- package/dist/wiki/infrastructure/scan-patterns.js.map +1 -0
- package/dist/wiki/infrastructure/scanner-adapter.d.ts +10 -0
- package/dist/wiki/infrastructure/scanner-adapter.d.ts.map +1 -0
- package/dist/wiki/infrastructure/scanner-adapter.js +147 -0
- package/dist/wiki/infrastructure/scanner-adapter.js.map +1 -0
- package/dist/wiki/infrastructure/sqlite-index.d.ts +9 -0
- package/dist/wiki/infrastructure/sqlite-index.d.ts.map +1 -0
- package/dist/wiki/infrastructure/sqlite-index.js +36 -0
- package/dist/wiki/infrastructure/sqlite-index.js.map +1 -0
- package/dist/wiki/infrastructure/trace-adapter.d.ts +7 -0
- package/dist/wiki/infrastructure/trace-adapter.d.ts.map +1 -0
- package/dist/wiki/infrastructure/trace-adapter.js +42 -0
- package/dist/wiki/infrastructure/trace-adapter.js.map +1 -0
- package/dist/wiki/infrastructure/wiki-ingest.d.ts +14 -0
- package/dist/wiki/infrastructure/wiki-ingest.d.ts.map +1 -0
- package/dist/wiki/infrastructure/wiki-ingest.js +138 -0
- package/dist/wiki/infrastructure/wiki-ingest.js.map +1 -0
- package/dist/wiki/infrastructure/wiki-query.d.ts +15 -0
- package/dist/wiki/infrastructure/wiki-query.d.ts.map +1 -0
- package/dist/wiki/infrastructure/wiki-query.js +46 -0
- package/dist/wiki/infrastructure/wiki-query.js.map +1 -0
- package/dist/wiki/infrastructure/wiki-schema.d.ts +3 -0
- package/dist/wiki/infrastructure/wiki-schema.d.ts.map +1 -0
- package/dist/wiki/infrastructure/wiki-schema.js +43 -0
- package/dist/wiki/infrastructure/wiki-schema.js.map +1 -0
- package/dist/wiki/interface/cli.d.ts +7 -0
- package/dist/wiki/interface/cli.d.ts.map +1 -0
- package/dist/wiki/interface/cli.js +160 -0
- package/dist/wiki/interface/cli.js.map +1 -0
- package/dist/wiki/render.d.ts +3 -0
- package/dist/wiki/render.d.ts.map +1 -0
- package/dist/wiki/render.js +58 -0
- package/dist/wiki/render.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-command.d.ts","sourceRoot":"","sources":["../../src/commands/index-command.ts"],"names":[],"mappings":"AASA,UAAU,YAAY;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAaD,wBAAgB,YAAY,CAAC,IAAI,GAAE,YAAiB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index-command.d.ts","sourceRoot":"","sources":["../../src/commands/index-command.ts"],"names":[],"mappings":"AASA,UAAU,YAAY;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAaD,wBAAgB,YAAY,CAAC,IAAI,GAAE,YAAiB,GAAG,IAAI,CAe1D;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,YAAiB,GAAG,IAAI,CA6B1D"}
|
|
@@ -25,9 +25,10 @@ export function indexCommand(opts = {}) {
|
|
|
25
25
|
console.log(JSON.stringify(result, null, 2));
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
console.log(pc.bold(pc.cyan("Derived index rebuilt")) + pc.dim(" (logs unchanged — canonical)"));
|
|
28
|
+
console.log(pc.bold(pc.cyan("Derived index rebuilt")) + pc.dim(" (logs + wiki tree unchanged — canonical)"));
|
|
29
29
|
console.log(` ${pc.dim(result.dbPath)}`);
|
|
30
30
|
console.log(` schema v${result.schemaVersion} · ${result.traceRows} trace row(s) · ${result.costRows} cost row(s)`);
|
|
31
|
+
console.log(` wiki: ${result.wiki.pages} page(s) · ${result.wiki.candidates} candidate(s) · ${result.wiki.sources} source(s)`);
|
|
31
32
|
}
|
|
32
33
|
export function queryCommand(opts = {}) {
|
|
33
34
|
const claudeDir = findClaudeDir();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-command.js","sourceRoot":"","sources":["../../src/commands/index-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAUlE,SAAS,aAAa;IACrB,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxB,SAAS,CAAC;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,SAAS,CAAC;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC;IACd,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAqB,EAAE;IACnD,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"index-command.js","sourceRoot":"","sources":["../../src/commands/index-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
import { type WikiIngestCounts } from "../wiki/infrastructure/wiki-ingest.js";
|
|
2
|
+
export declare const SCHEMA_VERSION = 2;
|
|
2
3
|
export declare function dbPath(claudeDir: string): string;
|
|
3
4
|
export interface IndexResult {
|
|
4
5
|
dbPath: string;
|
|
5
6
|
schemaVersion: number;
|
|
6
7
|
traceRows: number;
|
|
7
8
|
costRows: number;
|
|
9
|
+
wiki: WikiIngestCounts;
|
|
8
10
|
}
|
|
9
|
-
/** Build/refresh the derived index from the canonical logs. Full re-ingest =
|
|
10
|
-
* rebuild-able. Creates the DB (WAL) if absent. Never mutates the
|
|
11
|
+
/** Build/refresh the derived index from the canonical logs + wiki tree. Full re-ingest =
|
|
12
|
+
* deterministic and rebuild-able. Creates the DB (WAL) if absent. Never mutates the sources. */
|
|
11
13
|
export declare function buildIndex(claudeDir: string): IndexResult;
|
|
12
14
|
export interface QueryResult {
|
|
13
15
|
schemaVersion: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derived-index.d.ts","sourceRoot":"","sources":["../../src/core/derived-index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"derived-index.d.ts","sourceRoot":"","sources":["../../src/core/derived-index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAS1F,eAAO,MAAM,cAAc,IAAI,CAAC;AA0BhC,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhD;AA0ED,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,gBAAgB,CAAC;CACvB;AAmBD;iGACiG;AACjG,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAkBzD;AAED,MAAM,WAAW,WAAW;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,wBAAwB,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClE,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClE;AAED,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAyBzD"}
|
|
@@ -2,13 +2,18 @@ import fs from "node:fs";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { DatabaseSync } from "node:sqlite";
|
|
4
4
|
import { parseTraceLog } from "./trace-analysis.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
//
|
|
8
|
-
// (
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
import { WIKI_MIGRATION_SQL } from "../wiki/infrastructure/wiki-schema.js";
|
|
6
|
+
import { ingestWiki } from "../wiki/infrastructure/wiki-ingest.js";
|
|
7
|
+
// The consolidated DERIVED, disposable SQLite index. Canonical data stays in the append
|
|
8
|
+
// logs (.claude/memory/*) and the wiki tree (tasks/wikis/<slug>/); this DB is a rebuild-able
|
|
9
|
+
// read index (delete → reindex → identical). Opt-in: nothing builds it automatically and no
|
|
10
|
+
// hook writes to it. All inserts are parameterized (prepared statements); queries are static
|
|
11
|
+
// aggregates with no user-supplied SQL — no injection surface. v2 folds in the wiki tables +
|
|
12
|
+
// FTS5 (was a separate index.db, now unified as wiki-index.db per the consolidation decision).
|
|
13
|
+
export const SCHEMA_VERSION = 2;
|
|
14
|
+
const DB_REL = path.join("memory", "wiki-index.db");
|
|
15
|
+
/** The pre-consolidation DB, removed once on the first unified build. */
|
|
16
|
+
const LEGACY_DB_REL = path.join("memory", "index.db");
|
|
12
17
|
/** Forward migrations, applied in order when the DB's PRAGMA user_version is behind. */
|
|
13
18
|
const MIGRATIONS = [
|
|
14
19
|
{
|
|
@@ -27,6 +32,7 @@ const MIGRATIONS = [
|
|
|
27
32
|
tokens INTEGER, task TEXT, raw TEXT
|
|
28
33
|
);`,
|
|
29
34
|
},
|
|
35
|
+
{ version: 2, sql: WIKI_MIGRATION_SQL },
|
|
30
36
|
];
|
|
31
37
|
export function dbPath(claudeDir) {
|
|
32
38
|
return path.join(claudeDir, DB_REL);
|
|
@@ -90,10 +96,28 @@ function ingestCost(db, claudeDir) {
|
|
|
90
96
|
}
|
|
91
97
|
return arr.length;
|
|
92
98
|
}
|
|
93
|
-
/**
|
|
94
|
-
*
|
|
99
|
+
/** Remove the pre-consolidation index.db (and its WAL/SHM sidecars) once. The new
|
|
100
|
+
* unified wiki-index.db supersedes it; the logs remain canonical so nothing is lost. */
|
|
101
|
+
function removeLegacyDb(claudeDir) {
|
|
102
|
+
const legacy = path.join(claudeDir, LEGACY_DB_REL);
|
|
103
|
+
let removed = false;
|
|
104
|
+
for (const suffix of ["", "-wal", "-shm"]) {
|
|
105
|
+
const f = legacy + suffix;
|
|
106
|
+
if (fs.existsSync(f)) {
|
|
107
|
+
fs.rmSync(f);
|
|
108
|
+
removed = true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (removed) {
|
|
112
|
+
console.error(`[mewkit] removed legacy ${LEGACY_DB_REL} — superseded by ${DB_REL}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/** Build/refresh the derived index from the canonical logs + wiki tree. Full re-ingest =
|
|
116
|
+
* deterministic and rebuild-able. Creates the DB (WAL) if absent. Never mutates the sources. */
|
|
95
117
|
export function buildIndex(claudeDir) {
|
|
118
|
+
removeLegacyDb(claudeDir);
|
|
96
119
|
const target = dbPath(claudeDir);
|
|
120
|
+
const projectRoot = path.dirname(claudeDir);
|
|
97
121
|
fs.mkdirSync(path.dirname(target), { recursive: true });
|
|
98
122
|
const db = new DatabaseSync(target);
|
|
99
123
|
try {
|
|
@@ -103,7 +127,8 @@ export function buildIndex(claudeDir) {
|
|
|
103
127
|
db.exec("DELETE FROM cost_entries");
|
|
104
128
|
const traceRows = ingestTrace(db, claudeDir);
|
|
105
129
|
const costRows = ingestCost(db, claudeDir);
|
|
106
|
-
|
|
130
|
+
const wiki = ingestWiki(db, projectRoot);
|
|
131
|
+
return { dbPath: target, schemaVersion: userVersion(db), traceRows, costRows, wiki };
|
|
107
132
|
}
|
|
108
133
|
finally {
|
|
109
134
|
db.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derived-index.js","sourceRoot":"","sources":["../../src/core/derived-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"derived-index.js","sourceRoot":"","sources":["../../src/core/derived-index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -278,6 +278,15 @@ async function main() {
|
|
|
278
278
|
queryCommand({ json: args.json });
|
|
279
279
|
break;
|
|
280
280
|
}
|
|
281
|
+
case "wiki": {
|
|
282
|
+
const { wikiCommand } = await import("./wiki/interface/cli.js");
|
|
283
|
+
await wikiCommand({
|
|
284
|
+
subcommand: args._[1],
|
|
285
|
+
rest: args._.slice(2).map(String),
|
|
286
|
+
flags: args,
|
|
287
|
+
});
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
281
290
|
case "budget": {
|
|
282
291
|
// `budget context` routes to the per-profile context estimator (positional,
|
|
283
292
|
// not a flag — minimist parses it as args._[1]).
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import type { DupCheck, InjectionVerdict, SalienceComponents, VerificationState, WikiCandidate, WikiIntervention, WikiOrigin, WikiPage, WikiSeed, WikiSlug, WikiSource, WikiWriteDecision } from "../domain/index.js";
|
|
2
|
+
export interface ScanInput {
|
|
3
|
+
content: string;
|
|
4
|
+
origin: WikiOrigin;
|
|
5
|
+
/** Present when the draft came from a fetched source; the scanner URL-guards it. */
|
|
6
|
+
sourceUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ScanOutput {
|
|
9
|
+
verdict: InjectionVerdict;
|
|
10
|
+
/** Content with secrets scrubbed — the only form that may ever be persisted. */
|
|
11
|
+
scrubbed: string;
|
|
12
|
+
secretsFound: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The write-authorization token. Its constructor is private, so the ONLY way to obtain
|
|
16
|
+
* an instance is `ApprovedWrite.issue(...)`, which throws unless the verdict is clean and
|
|
17
|
+
* adequately scanned. `WikiRepository.writePage` accepts ONLY this type — a raw string or
|
|
18
|
+
* a plain object will not type-check — so the canonical-write chokepoint is enforced by
|
|
19
|
+
* the type system, not by lint.
|
|
20
|
+
*/
|
|
21
|
+
export declare class ApprovedWrite {
|
|
22
|
+
readonly page: WikiPage;
|
|
23
|
+
readonly verdict: InjectionVerdict;
|
|
24
|
+
private constructor();
|
|
25
|
+
/** Mint a token from a scan result. Throws unless the verdict is clean AND meets the
|
|
26
|
+
* multi-pass floor. The token is bound to the scanner's SCRUBBED content —
|
|
27
|
+
* the page that gets persisted always carries `scan.scrubbed`, never caller-supplied
|
|
28
|
+
* raw content — so a secret/injection cannot ride into a canonical page via a valid
|
|
29
|
+
* token. This is the single gate between scanning and canonical writing. */
|
|
30
|
+
static issue(page: WikiPage, scan: ScanOutput): ApprovedWrite;
|
|
31
|
+
}
|
|
32
|
+
export interface Scanner {
|
|
33
|
+
/** Run the full gate (URL-guard → size cap → normalize → multi-pass injection scan →
|
|
34
|
+
* secret scrub) and return a verdict plus the scrubbed content. */
|
|
35
|
+
scan(input: ScanInput): ScanOutput;
|
|
36
|
+
}
|
|
37
|
+
export interface WikiRepository {
|
|
38
|
+
createWiki(slug: WikiSlug, title: string): void;
|
|
39
|
+
/** Canonical page write — accepts ONLY a scanner-issued token. */
|
|
40
|
+
writePage(token: ApprovedWrite): void;
|
|
41
|
+
readPage(slug: WikiSlug, file: string): WikiPage | null;
|
|
42
|
+
listPages(slug: WikiSlug): string[];
|
|
43
|
+
/** Park rejected/injected content in a read-blocked .quarantined file; returns its path. */
|
|
44
|
+
quarantine(slug: WikiSlug, content: string, verdict: InjectionVerdict): string;
|
|
45
|
+
appendCandidate(candidate: WikiCandidate): void;
|
|
46
|
+
appendIntervention(slug: WikiSlug, intervention: WikiIntervention): void;
|
|
47
|
+
appendSeed(slug: WikiSlug, seed: WikiSeed): void;
|
|
48
|
+
appendSource(slug: WikiSlug, source: WikiSource): void;
|
|
49
|
+
listCandidates(slug: WikiSlug): WikiCandidate[];
|
|
50
|
+
getCandidate(slug: WikiSlug, id: string): WikiCandidate | null;
|
|
51
|
+
}
|
|
52
|
+
/** A document returned by the fetcher. Stubbed here so this layer type-checks
|
|
53
|
+
* standalone; the concrete FetcherAdapter and runResearchStep wiring land with the research loop. */
|
|
54
|
+
export interface FetchedDoc {
|
|
55
|
+
content: string;
|
|
56
|
+
sourceUrl: string;
|
|
57
|
+
source: WikiSource;
|
|
58
|
+
}
|
|
59
|
+
export interface Fetcher {
|
|
60
|
+
fetch(seed: WikiSeed): Promise<FetchedDoc>;
|
|
61
|
+
}
|
|
62
|
+
export interface WikiSearchHit {
|
|
63
|
+
pageId: string;
|
|
64
|
+
slug: string;
|
|
65
|
+
title: string;
|
|
66
|
+
snippet: string;
|
|
67
|
+
tokenEstimate: number;
|
|
68
|
+
}
|
|
69
|
+
export interface WikiIndex {
|
|
70
|
+
upsertPage(page: WikiPage): void;
|
|
71
|
+
searchFts(query: string, limit?: number): WikiSearchHit[];
|
|
72
|
+
}
|
|
73
|
+
export interface Tracer {
|
|
74
|
+
recordWikiTrace(event: string, data: Record<string, unknown>): void;
|
|
75
|
+
}
|
|
76
|
+
export interface InventoryRegistrar {
|
|
77
|
+
register(artifactPath: string, meta?: {
|
|
78
|
+
criticality?: string;
|
|
79
|
+
status?: string;
|
|
80
|
+
}): void;
|
|
81
|
+
}
|
|
82
|
+
export interface WikiServiceDeps {
|
|
83
|
+
repo: WikiRepository;
|
|
84
|
+
scanner: Scanner;
|
|
85
|
+
index: WikiIndex;
|
|
86
|
+
tracer: Tracer;
|
|
87
|
+
/** Optional — present only when the research loop is enabled. */
|
|
88
|
+
fetcher?: Fetcher;
|
|
89
|
+
}
|
|
90
|
+
export interface ProposeInput {
|
|
91
|
+
slug: WikiSlug;
|
|
92
|
+
title: string;
|
|
93
|
+
content: string;
|
|
94
|
+
origin: WikiOrigin;
|
|
95
|
+
whySave: string;
|
|
96
|
+
evidence: string;
|
|
97
|
+
sourceIds: string[];
|
|
98
|
+
salience: SalienceComponents;
|
|
99
|
+
noveltyDelta?: number;
|
|
100
|
+
reuseScope?: string;
|
|
101
|
+
verificationState?: VerificationState;
|
|
102
|
+
riskScore?: number;
|
|
103
|
+
reviewAfter?: string;
|
|
104
|
+
sourceUrl?: string;
|
|
105
|
+
dup?: DupCheck;
|
|
106
|
+
}
|
|
107
|
+
export interface ProposeResult {
|
|
108
|
+
decision: WikiWriteDecision;
|
|
109
|
+
candidate?: WikiCandidate;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=ports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../../src/wiki/application/ports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Hexagonal ports: domain-facing interfaces the infrastructure adapters
|
|
2
|
+
// implement and the application service depends on. No concrete IO here.
|
|
3
|
+
import { MIN_SCAN_PASSES } from "../domain/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* The write-authorization token. Its constructor is private, so the ONLY way to obtain
|
|
6
|
+
* an instance is `ApprovedWrite.issue(...)`, which throws unless the verdict is clean and
|
|
7
|
+
* adequately scanned. `WikiRepository.writePage` accepts ONLY this type — a raw string or
|
|
8
|
+
* a plain object will not type-check — so the canonical-write chokepoint is enforced by
|
|
9
|
+
* the type system, not by lint.
|
|
10
|
+
*/
|
|
11
|
+
export class ApprovedWrite {
|
|
12
|
+
page;
|
|
13
|
+
verdict;
|
|
14
|
+
constructor(page, verdict) {
|
|
15
|
+
this.page = page;
|
|
16
|
+
this.verdict = verdict;
|
|
17
|
+
}
|
|
18
|
+
/** Mint a token from a scan result. Throws unless the verdict is clean AND meets the
|
|
19
|
+
* multi-pass floor. The token is bound to the scanner's SCRUBBED content —
|
|
20
|
+
* the page that gets persisted always carries `scan.scrubbed`, never caller-supplied
|
|
21
|
+
* raw content — so a secret/injection cannot ride into a canonical page via a valid
|
|
22
|
+
* token. This is the single gate between scanning and canonical writing. */
|
|
23
|
+
static issue(page, scan) {
|
|
24
|
+
if (scan.verdict.status !== "clean") {
|
|
25
|
+
throw new Error(`cannot authorize write: scan verdict is ${scan.verdict.status}`);
|
|
26
|
+
}
|
|
27
|
+
if (scan.verdict.passes < MIN_SCAN_PASSES) {
|
|
28
|
+
throw new Error(`cannot authorize write: only ${scan.verdict.passes} scan pass(es) (< ${MIN_SCAN_PASSES})`);
|
|
29
|
+
}
|
|
30
|
+
return new ApprovedWrite({ ...page, content: scan.scrubbed }, scan.verdict);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../../src/wiki/application/ports.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,yEAAyE;AAgBzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAgBrD;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IAEf;IACA;IAFV,YACU,IAAc,EACd,OAAyB;QADzB,SAAI,GAAJ,IAAI,CAAU;QACd,YAAO,GAAP,OAAO,CAAkB;IAChC,CAAC;IAEJ;;;;gFAI4E;IAC5E,MAAM,CAAC,KAAK,CAAC,IAAc,EAAE,IAAgB;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,OAAO,CAAC,MAAM,qBAAqB,eAAe,GAAG,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,IAAI,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;CACD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { WikiSlug } from "../domain/index.js";
|
|
2
|
+
import type { WikiIndex, WikiRepository, WikiSearchHit } from "./ports.js";
|
|
3
|
+
export declare function searchWiki(index: Pick<WikiIndex, "searchFts">, query: string, limit?: number): WikiSearchHit[];
|
|
4
|
+
export declare function listWikiPages(repo: Pick<WikiRepository, "listPages">, slug: WikiSlug): string[];
|
|
5
|
+
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/wiki/application/queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAM3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,aAAa,EAAE,CAE1G;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAE/F"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Query side (CQS). These take ONLY the read-capable slice of each port via Pick<>, so a
|
|
2
|
+
// query physically cannot reach a write method (searchFts only, listPages only). searchWiki
|
|
3
|
+
// is side-effect-free — the FTS match string is bound, never interpolated (see wiki-query.ts).
|
|
4
|
+
export function searchWiki(index, query, limit = 10) {
|
|
5
|
+
return index.searchFts(query, limit);
|
|
6
|
+
}
|
|
7
|
+
export function listWikiPages(repo, slug) {
|
|
8
|
+
return repo.listPages(slug);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/wiki/application/queries.ts"],"names":[],"mappings":"AAGA,yFAAyF;AACzF,4FAA4F;AAC5F,+FAA+F;AAE/F,MAAM,UAAU,UAAU,CAAC,KAAmC,EAAE,KAAa,EAAE,KAAK,GAAG,EAAE;IACxF,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAuC,EAAE,IAAc;IACpF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WikiSeed, WikiSlug, WikiSource, WikiWriteDecision } from "../domain/index.js";
|
|
2
|
+
import type { Fetcher, ProposeInput, ProposeResult, WikiIndex } from "./ports.js";
|
|
3
|
+
export interface ResearchContext {
|
|
4
|
+
fetcher: Fetcher;
|
|
5
|
+
index: Pick<WikiIndex, "searchFts">;
|
|
6
|
+
propose: (input: ProposeInput) => ProposeResult;
|
|
7
|
+
appendSource: (slug: WikiSlug, source: WikiSource) => void;
|
|
8
|
+
trace: (event: string, data: Record<string, unknown>) => void;
|
|
9
|
+
}
|
|
10
|
+
export interface ResearchOutcome {
|
|
11
|
+
decision: WikiWriteDecision["kind"];
|
|
12
|
+
candidateId?: string;
|
|
13
|
+
sourceUrl: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function runResearchStep(ctx: ResearchContext, slug: WikiSlug, seed: WikiSeed): Promise<ResearchOutcome>;
|
|
16
|
+
//# sourceMappingURL=research.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../../src/wiki/application/research.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1H,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQlF,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,aAAa,CAAC;IAChD,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3D,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CAClB;AA+BD,wBAAsB,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBpH"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { makeWikiPageId } from "../domain/index.js";
|
|
2
|
+
function titleFor(seed, content) {
|
|
3
|
+
const firstLine = content
|
|
4
|
+
.split("\n")
|
|
5
|
+
.map((l) => l.replace(/^#+\s*/, "").trim())
|
|
6
|
+
.find((l) => l.length > 0);
|
|
7
|
+
return (firstLine ?? seed.query).slice(0, 80);
|
|
8
|
+
}
|
|
9
|
+
function salienceFor(seed, novel) {
|
|
10
|
+
const sourceQuality = seed.kind === "arxiv" || seed.kind === "github" ? 2 : 1;
|
|
11
|
+
return {
|
|
12
|
+
explicit_user_intent: 2, // the seed was enqueued — explicit intent to research this
|
|
13
|
+
verified_outcome: 0, // fetched content is unverified until a human approves
|
|
14
|
+
recurrence_or_friction: 0,
|
|
15
|
+
novelty_vs_existing_wiki: novel ? 2 : 0,
|
|
16
|
+
future_reuse_likelihood: 2,
|
|
17
|
+
source_quality: sourceQuality,
|
|
18
|
+
blast_radius: 1,
|
|
19
|
+
security_risk_penalty: 0,
|
|
20
|
+
staleness_penalty: 0,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function computeDup(index, title) {
|
|
24
|
+
const hits = index.searchFts(title, 3);
|
|
25
|
+
const match = hits.find((h) => h.title.toLowerCase() === title.toLowerCase());
|
|
26
|
+
return match ? { isHighDuplicate: true, existingPageId: makeWikiPageId(match.pageId) } : { isHighDuplicate: false };
|
|
27
|
+
}
|
|
28
|
+
export async function runResearchStep(ctx, slug, seed) {
|
|
29
|
+
const doc = await ctx.fetcher.fetch(seed); // url-guard + size-cap + redirect re-validation enforced in the fetcher
|
|
30
|
+
ctx.appendSource(slug, doc.source);
|
|
31
|
+
const title = titleFor(seed, doc.content);
|
|
32
|
+
const dup = computeDup(ctx.index, title);
|
|
33
|
+
const result = ctx.propose({
|
|
34
|
+
slug,
|
|
35
|
+
title,
|
|
36
|
+
content: doc.content,
|
|
37
|
+
origin: "agent",
|
|
38
|
+
whySave: "research:" + seed.kind,
|
|
39
|
+
evidence: doc.sourceUrl,
|
|
40
|
+
sourceIds: [doc.source.id],
|
|
41
|
+
salience: salienceFor(seed, !dup.isHighDuplicate),
|
|
42
|
+
sourceUrl: doc.sourceUrl,
|
|
43
|
+
dup,
|
|
44
|
+
});
|
|
45
|
+
ctx.trace("wiki_research_step", { slug, kind: seed.kind, url: doc.sourceUrl, decision: result.decision.kind });
|
|
46
|
+
return { decision: result.decision.kind, candidateId: result.candidate?.id, sourceUrl: doc.sourceUrl };
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=research.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../../src/wiki/application/research.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SalienceComponents, SalienceScore, WikiPage, WikiSeed, WikiSlug } from "../domain/index.js";
|
|
2
|
+
import { type IndexResult } from "../../core/derived-index.js";
|
|
3
|
+
import type { ProposeInput, ProposeResult, WikiServiceDeps } from "./ports.js";
|
|
4
|
+
import { type ResearchOutcome } from "./research.js";
|
|
5
|
+
export type { ProposeInput, ProposeResult, WikiServiceDeps } from "./ports.js";
|
|
6
|
+
export declare class WikiService {
|
|
7
|
+
private readonly deps;
|
|
8
|
+
constructor(deps: WikiServiceDeps);
|
|
9
|
+
createWiki(slug: WikiSlug, title: string): void;
|
|
10
|
+
scoreCandidate(components: SalienceComponents): SalienceScore;
|
|
11
|
+
/** Agent/system entry point. NEVER writes a canonical page — at most a candidate. */
|
|
12
|
+
proposeCandidate(input: ProposeInput): ProposeResult;
|
|
13
|
+
/** The ONLY canonical-page minting path. Human approval confirms intent but the scanner
|
|
14
|
+
* ALWAYS re-runs — approval can never bypass it. */
|
|
15
|
+
approveCandidate(slug: WikiSlug, candidateId: string, approvedBy: string): WikiPage;
|
|
16
|
+
rejectCandidate(slug: WikiSlug, candidateId: string, reason: string): void;
|
|
17
|
+
enqueueSeed(slug: WikiSlug, seed: WikiSeed): void;
|
|
18
|
+
reindexWiki(claudeDir: string): IndexResult;
|
|
19
|
+
recordWikiTrace(event: string, data: Record<string, unknown>): void;
|
|
20
|
+
/** Fetched content → candidate ONLY (never a canonical page). Requires a Fetcher dep. */
|
|
21
|
+
runResearchStep(slug: WikiSlug, seed: WikiSeed): Promise<ResearchOutcome>;
|
|
22
|
+
private recordIntervention;
|
|
23
|
+
/** The "writePage" step and the SOLE caller of repo.writePage. Write order: the caller
|
|
24
|
+
* has already scrubbed+scanned; here we mint the token (gate), write, index, then trace. */
|
|
25
|
+
private commitWrite;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/wiki/application/service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,kBAAkB,EAClB,aAAa,EAGb,QAAQ,EACR,QAAQ,EACR,QAAQ,EAER,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAc,eAAe,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAkC,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrF,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAa/E,qBAAa,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAElD,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/C,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,aAAa;IAI7D,qFAAqF;IACrF,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa;IA8CpD;wDACoD;IACpD,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ;IAiCnF,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1E,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAKjD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW;IAM3C,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAInE,yFAAyF;IACnF,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAe/E,OAAO,CAAC,kBAAkB;IAa1B;gGAC4F;IAC5F,OAAO,CAAC,WAAW;CAMnB"}
|