mewkit 1.11.1 → 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.
Files changed (133) hide show
  1. package/dist/commands/build-plugin.d.ts +8 -0
  2. package/dist/commands/build-plugin.d.ts.map +1 -0
  3. package/dist/commands/build-plugin.js +48 -0
  4. package/dist/commands/build-plugin.js.map +1 -0
  5. package/dist/commands/doctor-checks.d.ts +9 -0
  6. package/dist/commands/doctor-checks.d.ts.map +1 -1
  7. package/dist/commands/doctor-checks.js +42 -0
  8. package/dist/commands/doctor-checks.js.map +1 -1
  9. package/dist/commands/doctor.d.ts.map +1 -1
  10. package/dist/commands/doctor.js +2 -1
  11. package/dist/commands/doctor.js.map +1 -1
  12. package/dist/commands/index-command.d.ts.map +1 -1
  13. package/dist/commands/index-command.js +2 -1
  14. package/dist/commands/index-command.js.map +1 -1
  15. package/dist/commands/validate.d.ts +3 -1
  16. package/dist/commands/validate.d.ts.map +1 -1
  17. package/dist/commands/validate.js +9 -0
  18. package/dist/commands/validate.js.map +1 -1
  19. package/dist/core/check-plugin-manifests.d.ts +10 -0
  20. package/dist/core/check-plugin-manifests.d.ts.map +1 -0
  21. package/dist/core/check-plugin-manifests.js +150 -0
  22. package/dist/core/check-plugin-manifests.js.map +1 -0
  23. package/dist/core/derived-index.d.ts +5 -3
  24. package/dist/core/derived-index.d.ts.map +1 -1
  25. package/dist/core/derived-index.js +35 -10
  26. package/dist/core/derived-index.js.map +1 -1
  27. package/dist/core/index.d.ts +5 -0
  28. package/dist/core/index.d.ts.map +1 -1
  29. package/dist/core/index.js +5 -0
  30. package/dist/core/index.js.map +1 -1
  31. package/dist/core/plugin-agent-refs.d.ts +22 -0
  32. package/dist/core/plugin-agent-refs.d.ts.map +1 -0
  33. package/dist/core/plugin-agent-refs.js +87 -0
  34. package/dist/core/plugin-agent-refs.js.map +1 -0
  35. package/dist/core/plugin-hooks.d.ts +15 -0
  36. package/dist/core/plugin-hooks.d.ts.map +1 -0
  37. package/dist/core/plugin-hooks.js +58 -0
  38. package/dist/core/plugin-hooks.js.map +1 -0
  39. package/dist/core/plugin-manifest.d.ts +289 -0
  40. package/dist/core/plugin-manifest.d.ts.map +1 -0
  41. package/dist/core/plugin-manifest.js +125 -0
  42. package/dist/core/plugin-manifest.js.map +1 -0
  43. package/dist/core/plugin-payload.d.ts +26 -0
  44. package/dist/core/plugin-payload.d.ts.map +1 -0
  45. package/dist/core/plugin-payload.js +138 -0
  46. package/dist/core/plugin-payload.js.map +1 -0
  47. package/dist/index.js +17 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/wiki/application/ports.d.ts +111 -0
  50. package/dist/wiki/application/ports.d.ts.map +1 -0
  51. package/dist/wiki/application/ports.js +33 -0
  52. package/dist/wiki/application/ports.js.map +1 -0
  53. package/dist/wiki/application/queries.d.ts +5 -0
  54. package/dist/wiki/application/queries.d.ts.map +1 -0
  55. package/dist/wiki/application/queries.js +10 -0
  56. package/dist/wiki/application/queries.js.map +1 -0
  57. package/dist/wiki/application/research.d.ts +16 -0
  58. package/dist/wiki/application/research.d.ts.map +1 -0
  59. package/dist/wiki/application/research.js +48 -0
  60. package/dist/wiki/application/research.js.map +1 -0
  61. package/dist/wiki/application/service.d.ts +27 -0
  62. package/dist/wiki/application/service.d.ts.map +1 -0
  63. package/dist/wiki/application/service.js +153 -0
  64. package/dist/wiki/application/service.js.map +1 -0
  65. package/dist/wiki/domain/index.d.ts +5 -0
  66. package/dist/wiki/domain/index.d.ts.map +1 -0
  67. package/dist/wiki/domain/index.js +6 -0
  68. package/dist/wiki/domain/index.js.map +1 -0
  69. package/dist/wiki/domain/invariants.d.ts +28 -0
  70. package/dist/wiki/domain/invariants.d.ts.map +1 -0
  71. package/dist/wiki/domain/invariants.js +84 -0
  72. package/dist/wiki/domain/invariants.js.map +1 -0
  73. package/dist/wiki/domain/salience.d.ts +11 -0
  74. package/dist/wiki/domain/salience.d.ts.map +1 -0
  75. package/dist/wiki/domain/salience.js +40 -0
  76. package/dist/wiki/domain/salience.js.map +1 -0
  77. package/dist/wiki/domain/types.d.ts +151 -0
  78. package/dist/wiki/domain/types.d.ts.map +1 -0
  79. package/dist/wiki/domain/types.js +27 -0
  80. package/dist/wiki/domain/types.js.map +1 -0
  81. package/dist/wiki/domain/write-decision.d.ts +25 -0
  82. package/dist/wiki/domain/write-decision.d.ts.map +1 -0
  83. package/dist/wiki/domain/write-decision.js +71 -0
  84. package/dist/wiki/domain/write-decision.js.map +1 -0
  85. package/dist/wiki/infrastructure/fetcher-adapter.d.ts +45 -0
  86. package/dist/wiki/infrastructure/fetcher-adapter.d.ts.map +1 -0
  87. package/dist/wiki/infrastructure/fetcher-adapter.js +99 -0
  88. package/dist/wiki/infrastructure/fetcher-adapter.js.map +1 -0
  89. package/dist/wiki/infrastructure/inventory-adapter.d.ts +13 -0
  90. package/dist/wiki/infrastructure/inventory-adapter.d.ts.map +1 -0
  91. package/dist/wiki/infrastructure/inventory-adapter.js +46 -0
  92. package/dist/wiki/infrastructure/inventory-adapter.js.map +1 -0
  93. package/dist/wiki/infrastructure/markdown-repository.d.ts +23 -0
  94. package/dist/wiki/infrastructure/markdown-repository.d.ts.map +1 -0
  95. package/dist/wiki/infrastructure/markdown-repository.js +168 -0
  96. package/dist/wiki/infrastructure/markdown-repository.js.map +1 -0
  97. package/dist/wiki/infrastructure/scan-patterns.d.ts +20 -0
  98. package/dist/wiki/infrastructure/scan-patterns.d.ts.map +1 -0
  99. package/dist/wiki/infrastructure/scan-patterns.js +106 -0
  100. package/dist/wiki/infrastructure/scan-patterns.js.map +1 -0
  101. package/dist/wiki/infrastructure/scanner-adapter.d.ts +10 -0
  102. package/dist/wiki/infrastructure/scanner-adapter.d.ts.map +1 -0
  103. package/dist/wiki/infrastructure/scanner-adapter.js +147 -0
  104. package/dist/wiki/infrastructure/scanner-adapter.js.map +1 -0
  105. package/dist/wiki/infrastructure/sqlite-index.d.ts +9 -0
  106. package/dist/wiki/infrastructure/sqlite-index.d.ts.map +1 -0
  107. package/dist/wiki/infrastructure/sqlite-index.js +36 -0
  108. package/dist/wiki/infrastructure/sqlite-index.js.map +1 -0
  109. package/dist/wiki/infrastructure/trace-adapter.d.ts +7 -0
  110. package/dist/wiki/infrastructure/trace-adapter.d.ts.map +1 -0
  111. package/dist/wiki/infrastructure/trace-adapter.js +42 -0
  112. package/dist/wiki/infrastructure/trace-adapter.js.map +1 -0
  113. package/dist/wiki/infrastructure/wiki-ingest.d.ts +14 -0
  114. package/dist/wiki/infrastructure/wiki-ingest.d.ts.map +1 -0
  115. package/dist/wiki/infrastructure/wiki-ingest.js +138 -0
  116. package/dist/wiki/infrastructure/wiki-ingest.js.map +1 -0
  117. package/dist/wiki/infrastructure/wiki-query.d.ts +15 -0
  118. package/dist/wiki/infrastructure/wiki-query.d.ts.map +1 -0
  119. package/dist/wiki/infrastructure/wiki-query.js +46 -0
  120. package/dist/wiki/infrastructure/wiki-query.js.map +1 -0
  121. package/dist/wiki/infrastructure/wiki-schema.d.ts +3 -0
  122. package/dist/wiki/infrastructure/wiki-schema.d.ts.map +1 -0
  123. package/dist/wiki/infrastructure/wiki-schema.js +43 -0
  124. package/dist/wiki/infrastructure/wiki-schema.js.map +1 -0
  125. package/dist/wiki/interface/cli.d.ts +7 -0
  126. package/dist/wiki/interface/cli.d.ts.map +1 -0
  127. package/dist/wiki/interface/cli.js +160 -0
  128. package/dist/wiki/interface/cli.js.map +1 -0
  129. package/dist/wiki/render.d.ts +3 -0
  130. package/dist/wiki/render.d.ts.map +1 -0
  131. package/dist/wiki/render.js +58 -0
  132. package/dist/wiki/render.js.map +1 -0
  133. package/package.json +1 -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"}
@@ -0,0 +1,153 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { canTransition, decideWrite, makeWikiPageId, scoreSalience, } from "../domain/index.js";
3
+ import { buildIndex } from "../../core/derived-index.js";
4
+ import { ApprovedWrite } from "./ports.js";
5
+ import { runResearchStep as runResearch } from "./research.js";
6
+ // The application service: orchestrates domain + adapters with strict command/query
7
+ // separation. The write-transaction order is the spine — scrub+scan precede every
8
+ // canonical write, and `commitWrite` is the ONLY caller of repo.writePage (the
9
+ // "writePage" step). approveCandidate is the sole canonical-page minting path; agent-origin
10
+ // content has no code path to a canonical page. Reads live in queries.ts (no write port).
11
+ function slugifyTitle(title) {
12
+ const s = title.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
13
+ return s || "page";
14
+ }
15
+ export class WikiService {
16
+ deps;
17
+ constructor(deps) {
18
+ this.deps = deps;
19
+ }
20
+ createWiki(slug, title) {
21
+ this.deps.repo.createWiki(slug, title);
22
+ this.deps.tracer.recordWikiTrace("wiki_create", { slug, title });
23
+ }
24
+ scoreCandidate(components) {
25
+ return scoreSalience(components);
26
+ }
27
+ /** Agent/system entry point. NEVER writes a canonical page — at most a candidate. */
28
+ proposeCandidate(input) {
29
+ const scan = this.deps.scanner.scan({ content: input.content, origin: input.origin, sourceUrl: input.sourceUrl });
30
+ const score = scoreSalience(input.salience);
31
+ const decision = decideWrite(score, scan.verdict, input.dup ?? { isHighDuplicate: false });
32
+ const now = new Date().toISOString();
33
+ if (decision.kind === "quarantine") {
34
+ const p = this.deps.repo.quarantine(input.slug, input.content, scan.verdict);
35
+ this.recordIntervention(input.slug, "quarantine", undefined, decision.reason, input.origin, scan);
36
+ this.deps.tracer.recordWikiTrace("wiki_quarantine", { slug: input.slug, reason: decision.reason, path: p });
37
+ return { decision };
38
+ }
39
+ if (decision.kind === "link-existing") {
40
+ this.recordIntervention(input.slug, "link", undefined, decision.reason, input.origin);
41
+ this.deps.tracer.recordWikiTrace("wiki_link", { slug: input.slug, existing: decision.existingPageId });
42
+ return { decision };
43
+ }
44
+ if (decision.kind === "discard") {
45
+ this.deps.tracer.recordWikiTrace("wiki_discard", { slug: input.slug, reason: decision.reason });
46
+ return { decision };
47
+ }
48
+ // propose-candidate | append-candidate → persist a candidate carrying SCRUBBED content.
49
+ const candidate = {
50
+ id: input.slug + "/cand-" + randomUUID().slice(0, 8),
51
+ slug: input.slug,
52
+ origin: input.origin,
53
+ title: input.title,
54
+ content: scan.scrubbed,
55
+ whySave: input.whySave,
56
+ evidence: input.evidence,
57
+ sourceIds: input.sourceIds,
58
+ noveltyDelta: input.noveltyDelta ?? 0,
59
+ reuseScope: input.reuseScope ?? "",
60
+ verificationState: input.verificationState ?? "unverified",
61
+ riskScore: input.riskScore ?? 0,
62
+ salience: score,
63
+ state: "proposed",
64
+ createdAt: now,
65
+ reviewAfter: input.reviewAfter,
66
+ };
67
+ this.deps.repo.appendCandidate(candidate);
68
+ this.deps.tracer.recordWikiTrace("wiki_candidate", { id: candidate.id, kind: decision.kind, total: score.total });
69
+ return { decision, candidate };
70
+ }
71
+ /** The ONLY canonical-page minting path. Human approval confirms intent but the scanner
72
+ * ALWAYS re-runs — approval can never bypass it. */
73
+ approveCandidate(slug, candidateId, approvedBy) {
74
+ const candidate = this.deps.repo.getCandidate(slug, candidateId);
75
+ if (!candidate)
76
+ throw new Error("candidate not found: " + candidateId);
77
+ const scan = this.deps.scanner.scan({ content: candidate.content, origin: "human" });
78
+ if (scan.verdict.status !== "clean") {
79
+ const p = this.deps.repo.quarantine(slug, candidate.content, scan.verdict);
80
+ this.recordIntervention(slug, "quarantine", candidateId, "approval re-scan failed", "human", scan);
81
+ this.deps.tracer.recordWikiTrace("wiki_approve_blocked", { candidateId, verdict: scan.verdict.status, path: p });
82
+ throw new Error("approval blocked: candidate failed re-scan (" + scan.verdict.status + ")");
83
+ }
84
+ const now = new Date().toISOString();
85
+ const page = {
86
+ id: makeWikiPageId(slug + "/" + slugifyTitle(candidate.title)),
87
+ slug,
88
+ title: candidate.title,
89
+ path: "pages/" + slugifyTitle(candidate.title) + ".md",
90
+ content: scan.scrubbed,
91
+ state: "committed",
92
+ createdAt: candidate.createdAt,
93
+ updatedAt: now,
94
+ provenance: { origin: "human", sourceIds: candidate.sourceIds, candidateId, approvedBy },
95
+ links: [],
96
+ };
97
+ // Defense-in-depth: a human commit is allowed; an agent-origin commit would be barred.
98
+ const t = canTransition("approved", "committed", { origin: page.provenance.origin });
99
+ if (!t.ok)
100
+ throw new Error(t.reason);
101
+ this.commitWrite(page, scan, { candidateId, approvedBy });
102
+ return page;
103
+ }
104
+ rejectCandidate(slug, candidateId, reason) {
105
+ this.recordIntervention(slug, "reject", candidateId, reason, "human");
106
+ this.deps.tracer.recordWikiTrace("wiki_reject", { candidateId, reason });
107
+ }
108
+ enqueueSeed(slug, seed) {
109
+ this.deps.repo.appendSeed(slug, seed);
110
+ this.deps.tracer.recordWikiTrace("wiki_seed", { slug, query: seed.query });
111
+ }
112
+ reindexWiki(claudeDir) {
113
+ const result = buildIndex(claudeDir);
114
+ this.deps.tracer.recordWikiTrace("wiki_reindex", { pages: result.wiki.pages });
115
+ return result;
116
+ }
117
+ recordWikiTrace(event, data) {
118
+ this.deps.tracer.recordWikiTrace(event, data);
119
+ }
120
+ /** Fetched content → candidate ONLY (never a canonical page). Requires a Fetcher dep. */
121
+ async runResearchStep(slug, seed) {
122
+ if (!this.deps.fetcher)
123
+ throw new Error("research is not enabled: no Fetcher configured");
124
+ return runResearch({
125
+ fetcher: this.deps.fetcher,
126
+ index: this.deps.index,
127
+ propose: (i) => this.proposeCandidate(i),
128
+ appendSource: (s, src) => this.deps.repo.appendSource(s, src),
129
+ trace: (e, d) => this.deps.tracer.recordWikiTrace(e, d),
130
+ }, slug, seed);
131
+ }
132
+ recordIntervention(slug, kind, candidateId, reason, actor, scan) {
133
+ const intervention = {
134
+ id: "int-" + randomUUID().slice(0, 8),
135
+ kind,
136
+ candidateId,
137
+ reason,
138
+ verdict: scan?.verdict,
139
+ actor,
140
+ createdAt: new Date().toISOString(),
141
+ };
142
+ this.deps.repo.appendIntervention(slug, intervention);
143
+ }
144
+ /** The "writePage" step and the SOLE caller of repo.writePage. Write order: the caller
145
+ * has already scrubbed+scanned; here we mint the token (gate), write, index, then trace. */
146
+ commitWrite(page, scan, traceData) {
147
+ const token = ApprovedWrite.issue(page, scan);
148
+ this.deps.repo.writePage(token);
149
+ this.deps.index.upsertPage(token.page);
150
+ this.deps.tracer.recordWikiTrace("wiki_write", { slug: page.slug, id: page.id, ...traceData });
151
+ }
152
+ }
153
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/wiki/application/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./types.js";
2
+ export * from "./invariants.js";
3
+ export * from "./salience.js";
4
+ export * from "./write-decision.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wiki/domain/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Barrel re-export for the wiki domain layer. Pure types + invariants + rubric.
2
+ export * from "./types.js";
3
+ export * from "./invariants.js";
4
+ export * from "./salience.js";
5
+ export * from "./write-decision.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wiki/domain/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { WikiClaim, WikiPage, WikiState, WikiOrigin } from "./types.js";
2
+ /** Reject any path segment that could escape the wiki root. Pure string check —
3
+ * the caller passes a repo-relative path, never an absolute one. */
4
+ export declare function assertNoTraversal(path: string): void;
5
+ /** A canonical page must carry title, slug, created_at, updated_at, and a
6
+ * provenance with a named origin (invariant). */
7
+ export declare function assertCanonicalComplete(page: WikiPage): void;
8
+ /** A claim drawn from an external source must name that source. */
9
+ export declare function assertClaimHasSource(claim: WikiClaim): void;
10
+ export interface TransitionContext {
11
+ /** Origin of the content being transitioned. */
12
+ origin: WikiOrigin;
13
+ }
14
+ export interface TransitionResult {
15
+ ok: boolean;
16
+ reason?: string;
17
+ }
18
+ /**
19
+ * Decide whether a lifecycle transition is permitted. Two security invariants
20
+ * are enforced structurally:
21
+ * - Only `scanned` content can reach `approved` (unscanned content is barred).
22
+ * - Agent-origin content can never reach `committed` (no self-commit).
23
+ */
24
+ export declare function canTransition(from: WikiState, to: WikiState, ctx: TransitionContext): TransitionResult;
25
+ /** Throwing wrapper around `canTransition` for call sites that treat an illegal
26
+ * transition as a programming error. */
27
+ export declare function assertTransition(from: WikiState, to: WikiState, ctx: TransitionContext): void;
28
+ //# sourceMappingURL=invariants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../../../src/wiki/domain/invariants.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7E;oEACoE;AACpE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAiBpD;AAED;iDACiD;AACjD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAW5D;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAI3D;AAaD,MAAM,WAAW,iBAAiB;IACjC,gDAAgD;IAChD,MAAM,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC5B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,iBAAiB,GACpB,gBAAgB,CAWlB;AAED;wCACwC;AACxC,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,iBAAiB,GACpB,IAAI,CAKN"}