@treeseed/dsh-chapters 0.1.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 (119) hide show
  1. package/LICENSE +14 -0
  2. package/README.md +644 -0
  3. package/cordis.patch.yml +88 -0
  4. package/docs/architecture.md +460 -0
  5. package/docs/contract.md +375 -0
  6. package/docs/development.md +437 -0
  7. package/docs/host-compaction-seam.md +117 -0
  8. package/docs/knowledge-repo.md +730 -0
  9. package/docs/provider.md +98 -0
  10. package/docs/verify.md +200 -0
  11. package/lib/archive.d.ts +88 -0
  12. package/lib/archive.js +114 -0
  13. package/lib/archive.js.map +1 -0
  14. package/lib/arrival.d.ts +23 -0
  15. package/lib/arrival.js +86 -0
  16. package/lib/arrival.js.map +1 -0
  17. package/lib/artifact-query.d.ts +53 -0
  18. package/lib/artifact-query.js +130 -0
  19. package/lib/artifact-query.js.map +1 -0
  20. package/lib/client.js +234 -0
  21. package/lib/client.js.map +1 -0
  22. package/lib/commands.d.ts +28 -0
  23. package/lib/commands.js +305 -0
  24. package/lib/commands.js.map +1 -0
  25. package/lib/compose.d.ts +30 -0
  26. package/lib/compose.js +131 -0
  27. package/lib/compose.js.map +1 -0
  28. package/lib/continue-core.d.ts +153 -0
  29. package/lib/continue-core.js +252 -0
  30. package/lib/continue-core.js.map +1 -0
  31. package/lib/engine-core.d.ts +219 -0
  32. package/lib/engine-core.js +405 -0
  33. package/lib/engine-core.js.map +1 -0
  34. package/lib/engine.d.ts +211 -0
  35. package/lib/engine.js +571 -0
  36. package/lib/engine.js.map +1 -0
  37. package/lib/enrich-queue.d.ts +66 -0
  38. package/lib/enrich-queue.js +100 -0
  39. package/lib/enrich-queue.js.map +1 -0
  40. package/lib/enrich-store.d.ts +31 -0
  41. package/lib/enrich-store.js +103 -0
  42. package/lib/enrich-store.js.map +1 -0
  43. package/lib/enrich-wire.d.ts +73 -0
  44. package/lib/enrich-wire.js +209 -0
  45. package/lib/enrich-wire.js.map +1 -0
  46. package/lib/enrich.d.ts +73 -0
  47. package/lib/enrich.js +150 -0
  48. package/lib/enrich.js.map +1 -0
  49. package/lib/gitops.d.ts +107 -0
  50. package/lib/gitops.js +539 -0
  51. package/lib/gitops.js.map +1 -0
  52. package/lib/index.d.ts +81 -0
  53. package/lib/index.js +305 -0
  54. package/lib/index.js.map +1 -0
  55. package/lib/indexing.d.ts +85 -0
  56. package/lib/indexing.js +212 -0
  57. package/lib/indexing.js.map +1 -0
  58. package/lib/injections.d.ts +66 -0
  59. package/lib/injections.js +83 -0
  60. package/lib/injections.js.map +1 -0
  61. package/lib/notice.d.ts +60 -0
  62. package/lib/notice.js +84 -0
  63. package/lib/notice.js.map +1 -0
  64. package/lib/provider.d.ts +44 -0
  65. package/lib/provider.js +66 -0
  66. package/lib/provider.js.map +1 -0
  67. package/lib/redact.d.ts +24 -0
  68. package/lib/redact.js +85 -0
  69. package/lib/redact.js.map +1 -0
  70. package/lib/registry.d.ts +120 -0
  71. package/lib/registry.js +130 -0
  72. package/lib/registry.js.map +1 -0
  73. package/lib/render.d.ts +40 -0
  74. package/lib/render.js +280 -0
  75. package/lib/render.js.map +1 -0
  76. package/lib/repo.d.ts +78 -0
  77. package/lib/repo.js +184 -0
  78. package/lib/repo.js.map +1 -0
  79. package/lib/rules-commands.d.ts +24 -0
  80. package/lib/rules-commands.js +138 -0
  81. package/lib/rules-commands.js.map +1 -0
  82. package/lib/rules.d.ts +90 -0
  83. package/lib/rules.js +185 -0
  84. package/lib/rules.js.map +1 -0
  85. package/lib/search.d.ts +48 -0
  86. package/lib/search.js +152 -0
  87. package/lib/search.js.map +1 -0
  88. package/lib/signature.d.ts +28 -0
  89. package/lib/signature.js +149 -0
  90. package/lib/signature.js.map +1 -0
  91. package/lib/store.d.ts +130 -0
  92. package/lib/store.js +235 -0
  93. package/lib/store.js.map +1 -0
  94. package/lib/sync.d.ts +183 -0
  95. package/lib/sync.js +719 -0
  96. package/lib/sync.js.map +1 -0
  97. package/lib/tools.d.ts +84 -0
  98. package/lib/tools.js +581 -0
  99. package/lib/tools.js.map +1 -0
  100. package/lib/treedx/client.d.ts +57 -0
  101. package/lib/treedx/client.js +82 -0
  102. package/lib/treedx/client.js.map +1 -0
  103. package/lib/treedx/provider.d.ts +39 -0
  104. package/lib/treedx/provider.js +479 -0
  105. package/lib/treedx/provider.js.map +1 -0
  106. package/lib/treedx/state.d.ts +27 -0
  107. package/lib/treedx/state.js +65 -0
  108. package/lib/treedx/state.js.map +1 -0
  109. package/lib/types.d.ts +100 -0
  110. package/lib/types.js +19 -0
  111. package/lib/types.js.map +1 -0
  112. package/lib/vocabulary.d.ts +41 -0
  113. package/lib/vocabulary.js +118 -0
  114. package/lib/vocabulary.js.map +1 -0
  115. package/package.json +132 -0
  116. package/presets/chapters/agent.cordis.yml +272 -0
  117. package/presets/chapters/preset.yml +3 -0
  118. package/presets/probe-roots/agent.cordis.yml +11 -0
  119. package/presets/probe-roots/preset.yml +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/treedx/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export declare const STATE_FILE = ".treedx-state.json";
2
+ export interface TreedxState {
3
+ origin: string;
4
+ head: string | null;
5
+ baseline: Record<string, string>;
6
+ staged: {
7
+ message: string;
8
+ author: {
9
+ name: string;
10
+ email: string;
11
+ };
12
+ paths: string[];
13
+ } | null;
14
+ offline: boolean;
15
+ /** Catalog repo id once resolved (stable even if the name list blips). */
16
+ repoId?: string | undefined;
17
+ }
18
+ export declare const statePath: (dir: string) => string;
19
+ export declare function readState(dir: string): TreedxState | null;
20
+ export declare function writeState(dir: string, s: TreedxState): void;
21
+ export declare const contentHash: (bytes: Buffer | string) => string;
22
+ /** True when a buffer round-trips UTF-8 exactly — the file/blob write decision
23
+ * (TreeDX's File API is UTF-8-only; blobs are binary-safe). */
24
+ export declare function isUtf8Safe(buf: Buffer): boolean;
25
+ /** Walk the mirror's content surface — every file except .git-adjacent dot
26
+ * state (the state file itself, and anything dotted, same rule as git mode). */
27
+ export declare function walkMirror(dir: string, rel?: string): string[];
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Mirror state for the TreeDX transport: `.treedx-state.json` inside the
3
+ * mirror dir. The provider verbs are stateless per call; everything they must
4
+ * remember between verbs (which commit we're based on, which content is
5
+ * already synced, what's staged) lives HERE, in the mirror — because the
6
+ * mirror is transport, and its state file is its equivalent of `.git/`
7
+ * (which the TreeDX provider does not write; the hygiene test's dotfile skip
8
+ * keeps the file out of every commit it participates in).
9
+ *
10
+ * Fields:
11
+ * - origin: the bound treedx+ target (origin-mismatch detection, §3.1/§5.2)
12
+ * - head: the commit sha this mirror's baseline describes; null = empty repo
13
+ * - baseline: path → sha256 of synced content (the ff-only comparison surface)
14
+ * - staged: pending commit (paths → {hash, message}) — stageAllAndCommit
15
+ * records, push ships (or the diverged-rebuild discards, republishing from
16
+ * the store, exactly as git mode does)
17
+ * - offline: true after initLocal (push deferred; §5.3)
18
+ */
19
+ import fs from 'node:fs';
20
+ import path from 'node:path';
21
+ import { sha256 } from "../render.js";
22
+ export const STATE_FILE = '.treedx-state.json';
23
+ export const statePath = (dir) => path.join(dir, STATE_FILE);
24
+ export function readState(dir) {
25
+ try {
26
+ const s = JSON.parse(fs.readFileSync(statePath(dir), 'utf8'));
27
+ if (typeof s.origin !== 'string')
28
+ return null;
29
+ return s;
30
+ }
31
+ catch {
32
+ return null;
33
+ }
34
+ }
35
+ export function writeState(dir, s) {
36
+ fs.mkdirSync(dir, { recursive: true });
37
+ fs.writeFileSync(statePath(dir), JSON.stringify(s, null, 1));
38
+ }
39
+ export const contentHash = (bytes) => sha256(typeof bytes === 'string' ? bytes : bytes.toString('base64'));
40
+ /** True when a buffer round-trips UTF-8 exactly — the file/blob write decision
41
+ * (TreeDX's File API is UTF-8-only; blobs are binary-safe). */
42
+ export function isUtf8Safe(buf) {
43
+ if (buf.includes(0))
44
+ return false;
45
+ const t = buf.toString('utf8');
46
+ return Buffer.byteLength(t, 'utf8') === buf.length && Buffer.from(t, 'utf8').equals(buf);
47
+ }
48
+ /** Walk the mirror's content surface — every file except .git-adjacent dot
49
+ * state (the state file itself, and anything dotted, same rule as git mode). */
50
+ export function walkMirror(dir, rel = '') {
51
+ if (!fs.existsSync(dir))
52
+ return [];
53
+ const out = [];
54
+ for (const e of fs.readdirSync(path.join(dir, rel), { withFileTypes: true })) {
55
+ if (e.name.startsWith('.'))
56
+ continue;
57
+ const r = rel === '' ? e.name : path.posix.join(rel, e.name);
58
+ if (e.isDirectory())
59
+ out.push(...walkMirror(dir, r));
60
+ else
61
+ out.push(r);
62
+ }
63
+ return out.sort();
64
+ }
65
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/treedx/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAA;AAY9C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;AAE5E,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAgB,CAAA;QAC5E,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC7C,OAAO,CAAC,CAAA;IACV,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,CAAc;IACpD,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACtC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAsB,EAAU,EAAE,CAC5D,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEtE;+DAC+D;AAC/D,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACjC,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC9B,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAC1F,CAAC;AAED;gFACgF;AAChF,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,GAAG,GAAG,EAAE;IAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAClC,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QACpC,MAAM,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAC5D,IAAI,CAAC,CAAC,WAAW,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;;YAC/C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Pure data types for the chapter archive. No cordis, no DSH imports — this module is what makes the
3
+ * archive unit-testable without booting a harness, which is the whole testing strategy in
4
+ * docs/development.md § Test Layers.
5
+ *
6
+ * Event field names here were taken from real session logs read during Phase 0 (see
7
+ * spikes/probe/FINDINGS.md), not guessed: `user/message` carries `data.{id,role,source,content}` and
8
+ * `tool/call` carries `data.{callId,name,arguments}`. Where the shape is uncertain the renderer degrades
9
+ * rather than throws, because a dropped detail in an archive is worse than an ugly one.
10
+ */
11
+ export type ContentBlock = {
12
+ type: 'text';
13
+ text: string;
14
+ } | {
15
+ type: 'image';
16
+ mimeType?: string;
17
+ data?: string;
18
+ path?: string;
19
+ } | {
20
+ type: string;
21
+ [key: string]: unknown;
22
+ };
23
+ export interface SessionEventLike {
24
+ type: string;
25
+ seq: number;
26
+ time?: number;
27
+ surfaceOp?: string;
28
+ data?: Record<string, unknown>;
29
+ }
30
+ /** One chapter = a contiguous, closed range of durable event seqs. Integers, never text anchors. */
31
+ export interface ChapterRange {
32
+ title: string;
33
+ summary: string;
34
+ startSeq: number;
35
+ endSeq: number;
36
+ }
37
+ /** The model's sparse exceptions about tool results. Absence means "use the default rule". */
38
+ export interface ToolResultOverride {
39
+ seq: number;
40
+ inline: boolean;
41
+ }
42
+ export interface RenderConfig {
43
+ /** Below this estimated token count a tool result stays inline without needing a model override. */
44
+ toolResultDeferFloorTokens: number;
45
+ /** Chapter sizes past this are flagged for a split at the next boundary. Never truncated. */
46
+ chapterTokenTarget: number;
47
+ /**
48
+ * Credential redaction patterns applied at the render chokepoint (record §9).
49
+ * Absent → the built-in conservative set. Extensible per deployment.
50
+ */
51
+ redactions?: readonly import('./redact.ts').RedactPattern[];
52
+ }
53
+ export interface ArtifactRef {
54
+ /** Content hash; the artifact path is derived from it, so identical results dedupe across a subtree. */
55
+ sha256: string;
56
+ /** Relative path from the store root, as it will be printed in the chapter and read back. */
57
+ path: string;
58
+ bytes: number;
59
+ /** The exact bytes to write. Written whether or not the body was also inlined. */
60
+ content: string;
61
+ /** True when the chapter body also carries the text, i.e. the model asked to keep it visible. */
62
+ inlined: boolean;
63
+ toolName: string;
64
+ sourceSeq: number;
65
+ }
66
+ export interface RenderedChapter {
67
+ range: ChapterRange;
68
+ /** Index topics (deterministic floor: paths + top terms). P2 enrichment may relabel. */
69
+ topics: string[];
70
+ /** Full Markdown file body, YAML frontmatter included. */
71
+ markdown: string;
72
+ artifacts: ArtifactRef[];
73
+ stats: {
74
+ /** chars/4 estimate until tokenMeter is wired at the host boundary; labelled as an estimate. */
75
+ estimatedTokens: number;
76
+ estimatedBytes: number;
77
+ events: number;
78
+ /** user+assistant MESSAGE events in the chapter (record §7.3: counts, not tokens). */
79
+ messages: number;
80
+ toolCalls: number;
81
+ toolResultsInlined: number;
82
+ toolResultsDeferred: number;
83
+ /** True when the chapter exceeds chapterTokenTarget — a split signal, never a truncation licence. */
84
+ overTarget: boolean;
85
+ /** Events in the range that produced no rendered output, so a silent hole is visible. */
86
+ unrenderedSeqs: number[];
87
+ };
88
+ }
89
+ /** A candidate tool result, enumerated by the plugin so the model never guesses at sizes. */
90
+ export interface ToolResultCandidate {
91
+ seq: number;
92
+ toolName: string;
93
+ bytes: number;
94
+ estimatedTokens: number;
95
+ excerpt: string;
96
+ }
97
+ export declare class RangeError extends Error {
98
+ readonly code: 'overlapping' | 'gap' | 'descending' | 'beyond-ceiling' | 'empty';
99
+ constructor(code: RangeError['code'], message: string);
100
+ }
package/lib/types.js ADDED
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Pure data types for the chapter archive. No cordis, no DSH imports — this module is what makes the
3
+ * archive unit-testable without booting a harness, which is the whole testing strategy in
4
+ * docs/development.md § Test Layers.
5
+ *
6
+ * Event field names here were taken from real session logs read during Phase 0 (see
7
+ * spikes/probe/FINDINGS.md), not guessed: `user/message` carries `data.{id,role,source,content}` and
8
+ * `tool/call` carries `data.{callId,name,arguments}`. Where the shape is uncertain the renderer degrades
9
+ * rather than throws, because a dropped detail in an archive is worse than an ugly one.
10
+ */
11
+ export class RangeError extends Error {
12
+ code;
13
+ constructor(code, message) {
14
+ super(message);
15
+ this.code = code;
16
+ this.name = 'RangeError';
17
+ }
18
+ }
19
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAwFH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,CAAmE;IAChF,YAAY,IAAwB,EAAE,OAAe;QACnD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;IAC1B,CAAC;CACF"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * P2 S4 — the emergent vocabulary canonicalizer (record §6.3). Pure functions
3
+ * over topic lists; the sync pass feeds it chapter topics and applies (or,
4
+ * in shadow mode, merely reports) the merge candidates.
5
+ *
6
+ * No seed lists, no hand-editing expectation: plugin-owned curation entries,
7
+ * every one carrying its signal + counts, written to
8
+ * `edits/<harnessId>/curation.jsonl` — git-visible, revertible, and already
9
+ * consumed by the index build (P1 plumbing).
10
+ */
11
+ export interface VocabOpts {
12
+ coMin: number;
13
+ overlapMin: number;
14
+ }
15
+ export interface VocabCandidate {
16
+ from: string;
17
+ to: string;
18
+ cooccur: number;
19
+ overlap: number;
20
+ reason: 'co-occurrence' | 'alias-pattern' | 'token-overlap';
21
+ }
22
+ /**
23
+ * Candidates over a corpus of per-chapter topic lists. Canonical direction:
24
+ * the MORE FREQUENT label survives (`to`); alphabetical tie-break. Pairs
25
+ * already aliased (either direction) are skipped by the caller — this module
26
+ * only proposes, applying and deduping against existing entries is the pass.
27
+ */
28
+ export declare function analyzeTopics(chapterTopics: string[][], opts: VocabOpts): {
29
+ candidates: VocabCandidate[];
30
+ frequency: Map<string, number>;
31
+ };
32
+ /**
33
+ * The curation lines to append (topic-alias facts) given the aliases already
34
+ * known. A 'from' already aliased (anywhere in the chain) is skipped, and
35
+ * chains are resolved to their final target so we never write a->b when b
36
+ * already maps to c (write a->c instead — deterministic, order-independent).
37
+ */
38
+ export declare function planAppends(candidates: VocabCandidate[], existing: Map<string, string>, at: string): {
39
+ lines: string[];
40
+ plan: VocabCandidate[];
41
+ };
@@ -0,0 +1,118 @@
1
+ /**
2
+ * P2 S4 — the emergent vocabulary canonicalizer (record §6.3). Pure functions
3
+ * over topic lists; the sync pass feeds it chapter topics and applies (or,
4
+ * in shadow mode, merely reports) the merge candidates.
5
+ *
6
+ * No seed lists, no hand-editing expectation: plugin-owned curation entries,
7
+ * every one carrying its signal + counts, written to
8
+ * `edits/<harnessId>/curation.jsonl` — git-visible, revertible, and already
9
+ * consumed by the index build (P1 plumbing).
10
+ */
11
+ const tokenize = (t) => new Set(t.toLowerCase().split(/[^a-z0-9]+/).filter((s) => s.length > 0));
12
+ const stem = (tok) => (tok.length > 3 && tok.endsWith('s') ? tok.slice(0, -1) : tok);
13
+ const jaccard = (a, b) => {
14
+ if (a.size === 0 || b.size === 0)
15
+ return 0;
16
+ let inter = 0;
17
+ for (const x of a)
18
+ if (b.has(x))
19
+ inter += 1;
20
+ return inter / (a.size + b.size - inter);
21
+ };
22
+ /** one token is a prefix of the other, or equal after plural stemming */
23
+ const aliasPattern = (a, b) => {
24
+ const ta = [...tokenize(a)], tb = [...tokenize(b)];
25
+ if (ta.length === 0 || tb.length === 0)
26
+ return false;
27
+ const pa = ta[0], pb = tb[0];
28
+ if (ta.length === 1 && tb.length === 1) {
29
+ if (pa !== pb && (pa.startsWith(pb) || pb.startsWith(pa)))
30
+ return true;
31
+ if (stem(pa) === stem(pb) && pa !== pb)
32
+ return true;
33
+ }
34
+ return false;
35
+ };
36
+ /**
37
+ * Candidates over a corpus of per-chapter topic lists. Canonical direction:
38
+ * the MORE FREQUENT label survives (`to`); alphabetical tie-break. Pairs
39
+ * already aliased (either direction) are skipped by the caller — this module
40
+ * only proposes, applying and deduping against existing entries is the pass.
41
+ */
42
+ export function analyzeTopics(chapterTopics, opts) {
43
+ const frequency = new Map();
44
+ const cooc = new Map();
45
+ for (const topics of chapterTopics) {
46
+ const uniq = [...new Set(topics.map((t) => t.toLowerCase().trim()).filter((t) => t.length > 0))];
47
+ for (const t of uniq)
48
+ frequency.set(t, (frequency.get(t) ?? 0) + 1);
49
+ for (let i = 0; i < uniq.length; i++) {
50
+ for (let k = i + 1; k < uniq.length; k++) {
51
+ const key = [uniq[i], uniq[k]].sort().join('\u0000');
52
+ cooc.set(key, (cooc.get(key) ?? 0) + 1);
53
+ }
54
+ }
55
+ }
56
+ const labels = [...frequency.keys()].sort();
57
+ const candidates = [];
58
+ for (let i = 0; i < labels.length; i++) {
59
+ for (let k = i + 1; k < labels.length; k++) {
60
+ const a = labels[i], b = labels[k];
61
+ const overlap = jaccard(tokenize(a), tokenize(b));
62
+ const alias = aliasPattern(a, b);
63
+ const co = cooc.get([a, b].sort().join('\u0000')) ?? 0;
64
+ const byFreq = (frequency.get(b) ?? 0) - (frequency.get(a) ?? 0);
65
+ const from = byFreq < 0 ? b : a;
66
+ const to = byFreq < 0 ? a : b;
67
+ let reason = null;
68
+ if (alias)
69
+ reason = 'alias-pattern';
70
+ else if (co >= opts.coMin)
71
+ reason = 'co-occurrence';
72
+ else if (overlap >= opts.overlapMin)
73
+ reason = 'token-overlap';
74
+ if (reason === null)
75
+ continue;
76
+ candidates.push({ from, to, cooccur: co, overlap: Number(overlap.toFixed(3)), reason });
77
+ }
78
+ }
79
+ candidates.sort((x, y) => x.from < y.from ? -1 : x.from > y.from ? 1 : 0);
80
+ return { candidates, frequency };
81
+ }
82
+ /**
83
+ * The curation lines to append (topic-alias facts) given the aliases already
84
+ * known. A 'from' already aliased (anywhere in the chain) is skipped, and
85
+ * chains are resolved to their final target so we never write a->b when b
86
+ * already maps to c (write a->c instead — deterministic, order-independent).
87
+ */
88
+ export function planAppends(candidates, existing, at) {
89
+ const resolve = (label, depth = 0) => {
90
+ if (depth > 10)
91
+ return label;
92
+ const next = existing.get(label);
93
+ return next === undefined || next === label ? label : resolve(next, depth + 1);
94
+ };
95
+ const plan = [];
96
+ const seen = new Map(existing);
97
+ const lines = [];
98
+ for (const c of candidates) {
99
+ // a RAW 'from' that already aliases is stale by definition (skip); the
100
+ // target folds forward through known chains so we never write into the
101
+ // middle of one (a->b when b->c exists becomes a->c)
102
+ if (existing.has(c.from) || seen.has(c.from))
103
+ continue;
104
+ const to = resolve(c.to);
105
+ const from = c.from;
106
+ if (from === to)
107
+ continue;
108
+ seen.set(from, to);
109
+ const entry = { ...c, from, to };
110
+ plan.push(entry);
111
+ // topic-alias matches the index layer's CurationFact; the reason/count
112
+ // payload is carried alongside (parseCuration ignores unknown keys) so
113
+ // every merge is self-documenting in git
114
+ lines.push(JSON.stringify({ type: 'topic-alias', from, to, at, reason: `${entry.reason}: cooccur=${entry.cooccur} overlap=${entry.overlap}` }));
115
+ }
116
+ return { lines, plan };
117
+ }
118
+ //# sourceMappingURL=vocabulary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,132 @@
1
+ {
2
+ "name": "@treeseed/dsh-chapters",
3
+ "version": "0.1.0",
4
+ "description": "dsh plugin: verbatim chapter archive + zero-token index for small-context models",
5
+ "type": "module",
6
+ "license": "Apache-2.0",
7
+ "main": "lib/index.js",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./lib/index.d.ts",
11
+ "default": "./lib/index.js"
12
+ },
13
+ "./cordis.patch.yml": "./cordis.patch.yml",
14
+ "./package.json": "./package.json",
15
+ "./engine": "./lib/engine.js",
16
+ "./presets/*": "./presets/*",
17
+ "./tools": "./lib/tools.js",
18
+ "./store": "./lib/store.js",
19
+ "./registry": "./lib/registry.js",
20
+ "./client": "./lib/client.js"
21
+ },
22
+ "files": [
23
+ "lib",
24
+ "presets",
25
+ "cordis.patch.yml",
26
+ "docs",
27
+ "README.md"
28
+ ],
29
+ "dsh": {
30
+ "bundle": {
31
+ "patch": "./cordis.patch.yml"
32
+ },
33
+ "client": {
34
+ "platform": "web",
35
+ "immediately": false,
36
+ "inject": [
37
+ "@deepseek-ai/dsh-api-remotes",
38
+ "@deepseek-ai/dsh-client-ui-commands"
39
+ ]
40
+ }
41
+ },
42
+ "scripts": {
43
+ "test": "node --test tests/unit/*.test.ts tests/integration/*.test.ts",
44
+ "typecheck": "tsc -p tsconfig.json --noEmit",
45
+ "build": "tsc -p tsconfig.json && tsdown -c tsdown.client.config.ts",
46
+ "build:client": "tsdown -c tsdown.client.config.ts",
47
+ "test:unit": "node --test tests/unit/*.test.ts",
48
+ "test:e2e": "PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright E2E_TAPE=suite playwright test -c tests/e2e/playwright.config.ts --project=suite && E2E_PORT=41733 E2E_THRESHOLD=0.5 E2E_FLOOR=1000000 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright E2E_TAPE=heavy playwright test -c tests/e2e/playwright.config.ts --project=heavy && E2E_PORT=41732 E2E_THRESHOLD=0.9 E2E_FLOOR=500 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright E2E_TAPE=arrival playwright test -c tests/e2e/playwright.config.ts --project=arrival && E2E_PORT=41734 E2E_THRESHOLD=0.9 E2E_ENRICH=1 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright E2E_TAPE=enrich playwright test -c tests/e2e/playwright.config.ts --project=enrich && E2E_PORT=41736 E2E_THRESHOLD=0.75 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright E2E_TAPE=fanout playwright test -c tests/e2e/playwright.config.ts --project=fanout && E2E_PORT=41735 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright E2E_TAPE=rules playwright test -c tests/e2e/playwright.config.ts --project=rules && E2E_PORT=41737 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright E2E_TAPE=fork playwright test -c tests/e2e/playwright.config.ts --project=fork",
49
+ "test:all": "npm test && npm run test:e2e",
50
+ "test:integration": "node --test tests/integration/*.test.ts",
51
+ "test:e2e:record": "E2E_MODEL=record npm run test:e2e",
52
+ "test:e2e:replay": "E2E_MODEL=replay npm run test:e2e",
53
+ "coverage:e2e": "E2E_COVERAGE=1 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright npm run test:e2e:replay && node scripts/e2e-coverage.mjs",
54
+ "coverage": "node --test --experimental-test-coverage tests/unit/*.test.ts tests/integration/*.test.ts",
55
+ "coverage:ci": "c8 --check-coverage --statements 85 --branches 85 --functions 85 --lines 85 --reporter=text-summary --reporter=json-summary --report-dir var/coverage node --test tests/unit/*.test.ts tests/integration/*.test.ts"
56
+ },
57
+ "peerDependencies": {
58
+ "@deepseek-ai/cordis": "^4.0.0",
59
+ "@deepseek-ai/dsh-compaction": "*",
60
+ "@deepseek-ai/dsh-compaction-basic": "*",
61
+ "@deepseek-ai/dsh-home-paths": "*",
62
+ "@deepseek-ai/dsh-storage-domain": "*",
63
+ "@deepseek-ai/dsh-tools": "*",
64
+ "@deepseek-ai/schemastery": "*"
65
+ },
66
+ "peerDependenciesMeta": {
67
+ "@deepseek-ai/cordis": {
68
+ "optional": true
69
+ },
70
+ "@deepseek-ai/dsh-compaction": {
71
+ "optional": true
72
+ },
73
+ "@deepseek-ai/dsh-tools": {
74
+ "optional": true
75
+ },
76
+ "@deepseek-ai/schemastery": {
77
+ "optional": true
78
+ },
79
+ "@deepseek-ai/dsh-storage-domain": {
80
+ "optional": true
81
+ },
82
+ "@deepseek-ai/dsh-compaction-basic": {
83
+ "optional": true
84
+ },
85
+ "@deepseek-ai/dsh-home-paths": {
86
+ "optional": true
87
+ }
88
+ },
89
+ "devDependencies": {
90
+ "@deepseek-ai/cordis": "^4.0.2",
91
+ "@deepseek-ai/dsh-agent": "^0.1.5-rc.2",
92
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.1.2-rc.1",
93
+ "@deepseek-ai/dsh-commands": "^0.1.5-rc.2",
94
+ "@deepseek-ai/dsh-compaction": "^0.1.5-rc.2",
95
+ "@deepseek-ai/dsh-compaction-basic": "^0.1.5-rc.2",
96
+ "@deepseek-ai/dsh-home-paths": "0.1.5-rc.2",
97
+ "@deepseek-ai/dsh-llm": "^0.1.5-rc.2",
98
+ "@deepseek-ai/dsh-scope": "^0.1.5-rc.2",
99
+ "@deepseek-ai/dsh-session": "^0.1.5-rc.2",
100
+ "@deepseek-ai/dsh-storage": "^0.1.5-rc.2",
101
+ "@deepseek-ai/dsh-storage-domain": "^0.1.5-rc.2",
102
+ "@deepseek-ai/dsh-tools": "^0.1.5-rc.2",
103
+ "@deepseek-ai/schemastery": "3.18.2",
104
+ "@playwright/test": "^1.63.0",
105
+ "@types/node": "^22.20.3",
106
+ "@types/react": "~18.3.1",
107
+ "c8": "^12.0.0",
108
+ "react": "^18.2.0",
109
+ "react-dom": "^18.2.0",
110
+ "tsdown": "^0.22.2",
111
+ "typescript": "^5.9.3"
112
+ },
113
+ "dependencies": {
114
+ "isomorphic-git": "^1.42.2",
115
+ "zod": "^4.4.3"
116
+ },
117
+ "repository": {
118
+ "type": "git",
119
+ "url": "git+https://github.com/treeseed-ai/dsh-chapters.git"
120
+ },
121
+ "homepage": "https://github.com/treeseed-ai/dsh-chapters#readme",
122
+ "bugs": {
123
+ "url": "https://github.com/treeseed-ai/dsh-chapters/issues"
124
+ },
125
+ "engines": {
126
+ "node": ">=24"
127
+ },
128
+ "publishConfig": {
129
+ "access": "public",
130
+ "provenance": true
131
+ }
132
+ }