@vivantel/virage-chunker-ce-ast 0.1.2 → 0.1.4

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/chunker.d.ts CHANGED
@@ -4,6 +4,8 @@ export interface WalkOptions {
4
4
  sourceFormat: string;
5
5
  commitHash: string;
6
6
  strategy: string;
7
+ sparseTextGeneratorId: string;
8
+ metadataGeneratorId: string;
7
9
  /** Maximum tokens per chunk window (default: 512). */
8
10
  maxTokens?: number;
9
11
  /** Minimum tokens before merging a trailing window into its predecessor (default: maxTokens / 4). */
@@ -11,17 +13,9 @@ export interface WalkOptions {
11
13
  /**
12
14
  * Sliding-window overlap as a fraction 0–1 (default: 0).
13
15
  * An overlap of 0.2 means each new window reuses the last 20 % of the previous
14
- * window's content, producing overlapping SearchRepresentations that share context.
16
+ * window's content, producing overlapping ArtifactSets that share context.
15
17
  */
16
18
  overlap?: number;
17
- /**
18
- * Paragraphs (text segments) to prepend/append from adjacent windows into
19
- * FinalAnswerChunk.paddedContent only. Does NOT affect anchorText or preview.
20
- */
21
- boundaryPadding?: {
22
- before?: number;
23
- after?: number;
24
- };
25
19
  /**
26
20
  * When true, segments that exceed maxTokens are recursively split on character
27
21
  * boundaries before windowing, rather than hard-cut with content loss (default: false).
@@ -41,11 +35,11 @@ export interface WalkOptions {
41
35
  *
42
36
  * Each window is split at paragraph/segment boundaries when the accumulated
43
37
  * token count reaches maxTokens. A section boundary (breadcrumb change) also
44
- * flushes the current window. Level 2 modifiers (overlap, boundaryPadding,
45
- * recursive, adaptiveSize) refine this behaviour.
38
+ * flushes the current window. Level 2 modifiers (overlap, recursive,
39
+ * adaptiveSize) refine this behaviour.
46
40
  *
47
- * finalAnswerChunk.content includes a heading prefix derived from the window's
48
- * breadcrumb so the LLM always has heading context.
41
+ * contextText is NOT stored it is assembled on-the-fly at query time
42
+ * using denseText, metadata.parentId, and metadata.siblingIds.
49
43
  */
50
44
  export declare function walkToChunks(root: DocNode, opts: WalkOptions): ArtifactSet[];
51
45
  //# sourceMappingURL=chunker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../src/chunker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAyB,MAAM,YAAY,CAAC;AAK9E,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA0ED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,WAAW,EAAE,CAiO5E"}
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../src/chunker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAyB,MAAM,YAAY,CAAC;AAK9E,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA4DD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,WAAW,EAAE,CAwL5E"}
package/dist/chunker.js CHANGED
@@ -1,28 +1,16 @@
1
+ import { createHash } from "node:crypto";
1
2
  import { walkDocNode } from "./ast-walker.js";
2
3
  import { extractOutline } from "./outline.js";
3
4
  const CHARS_PER_TOKEN = 4;
4
- const PREVIEW_CHARS = 250;
5
5
  function estimateTokens(text) {
6
6
  return Math.ceil(text.length / CHARS_PER_TOKEN);
7
7
  }
8
- function makePreview(content) {
9
- if (content.length <= PREVIEW_CHARS)
10
- return content;
11
- const cut = content.slice(0, PREVIEW_CHARS);
12
- const lastSpace = cut.lastIndexOf(" ");
13
- return lastSpace > 0 ? cut.slice(0, lastSpace) : cut;
14
- }
15
- function makeAnchorText(breadcrumb, rawContent) {
8
+ function makeDenseText(breadcrumb, rawContent) {
16
9
  const prefix = breadcrumb.length > 0 ? breadcrumb.join(" › ") + ". " : "";
17
- const dotIdx = rawContent.search(/[.!?]\s/);
18
- const firstSentence = dotIdx > 0 ? rawContent.slice(0, dotIdx + 1) : rawContent.slice(0, 150);
19
- return (prefix + firstSentence).slice(0, 250);
10
+ return prefix + rawContent;
20
11
  }
21
- function makeSparseTerms(text) {
22
- return text
23
- .toLowerCase()
24
- .split(/\W+/)
25
- .filter((t) => t.length > 2);
12
+ function computeDenseTextHash(denseText) {
13
+ return createHash("sha256").update(denseText).digest("hex").slice(0, 16);
26
14
  }
27
15
  function sameBreadcrumb(a, b) {
28
16
  return a.length === b.length && a.every((v, i) => v === b[i]);
@@ -57,18 +45,16 @@ function splitOversized(seg, maxTokens) {
57
45
  *
58
46
  * Each window is split at paragraph/segment boundaries when the accumulated
59
47
  * token count reaches maxTokens. A section boundary (breadcrumb change) also
60
- * flushes the current window. Level 2 modifiers (overlap, boundaryPadding,
61
- * recursive, adaptiveSize) refine this behaviour.
48
+ * flushes the current window. Level 2 modifiers (overlap, recursive,
49
+ * adaptiveSize) refine this behaviour.
62
50
  *
63
- * finalAnswerChunk.content includes a heading prefix derived from the window's
64
- * breadcrumb so the LLM always has heading context.
51
+ * contextText is NOT stored it is assembled on-the-fly at query time
52
+ * using denseText, metadata.parentId, and metadata.siblingIds.
65
53
  */
66
54
  export function walkToChunks(root, opts) {
67
55
  const maxTokens = opts.maxTokens ?? 512;
68
56
  const minTokens = opts.minTokens ?? Math.floor(maxTokens / 4);
69
57
  const overlap = Math.min(Math.max(opts.overlap ?? 0, 0), 0.9);
70
- const padBefore = opts.boundaryPadding?.before ?? 0;
71
- const padAfter = opts.boundaryPadding?.after ?? 0;
72
58
  const recursive = opts.recursive ?? false;
73
59
  const adaptiveSize = opts.adaptiveSize ?? false;
74
60
  const documentOutline = extractOutline(root);
@@ -81,8 +67,6 @@ export function walkToChunks(root, opts) {
81
67
  : rawSegments;
82
68
  // ── Build windows ──────────────────────────────────────────────────────────
83
69
  const windows = [];
84
- // Track which segment index each window starts/ends at (for boundaryPadding).
85
- const windowSegBounds = [];
86
70
  let startIdx = 0;
87
71
  while (startIdx < segments.length) {
88
72
  const firstSeg = segments[startIdx];
@@ -137,7 +121,6 @@ export function walkToChunks(root, opts) {
137
121
  }
138
122
  if (win.texts.length > 0) {
139
123
  windows.push(win);
140
- windowSegBounds.push({ start: startIdx, end: idx });
141
124
  // Compute the next start index, accounting for overlap.
142
125
  if (overlap > 0 && idx > startIdx + 1) {
143
126
  // Walk backwards from idx until we've accumulated overlap * currentTokens.
@@ -169,8 +152,6 @@ export function walkToChunks(root, opts) {
169
152
  prev.byteEnd = last.byteEnd;
170
153
  prev.lineEnd = last.lineEnd;
171
154
  prev.pageEnd = last.pageEnd;
172
- const lastBounds = windowSegBounds.pop();
173
- windowSegBounds[windowSegBounds.length - 1].end = lastBounds.end;
174
155
  windows.pop();
175
156
  }
176
157
  }
@@ -178,12 +159,6 @@ export function walkToChunks(root, opts) {
178
159
  // ── Build ArtifactSet[] ───────────────────────────────────────────────────
179
160
  const artifacts = windows.map((win, i) => {
180
161
  const rawContent = win.texts.join("\n\n");
181
- const headingPrefix = win.breadcrumb.length > 0
182
- ? win.breadcrumb.map((h, k) => "#".repeat(k + 1) + " " + h).join("\n") +
183
- "\n\n"
184
- : "";
185
- const content = headingPrefix + rawContent;
186
- const id = `${opts.sourceFile}:${i}`;
187
162
  const filterMeta = {
188
163
  sourceFile: opts.sourceFile,
189
164
  sourceFormat: opts.sourceFormat,
@@ -215,54 +190,34 @@ export function walkToChunks(root, opts) {
215
190
  documentOutline,
216
191
  truncated: win.truncated || undefined,
217
192
  };
193
+ const denseText = makeDenseText(win.breadcrumb, rawContent);
218
194
  return {
195
+ denseText,
196
+ sparseText: rawContent,
197
+ denseTextHash: computeDenseTextHash(denseText),
198
+ sparseTextGeneratorId: opts.sparseTextGeneratorId,
199
+ metadataGeneratorId: opts.metadataGeneratorId,
200
+ metadata: fullMeta,
219
201
  sourceFile: opts.sourceFile,
220
202
  commitHash: opts.commitHash,
221
- searchRepresentation: {
222
- id,
223
- anchorText: makeAnchorText(win.breadcrumb, rawContent),
224
- sparseTerms: makeSparseTerms(rawContent),
225
- filterMetadata: filterMeta,
226
- },
227
- candidateChunk: {
228
- id,
229
- preview: makePreview(content),
230
- fullMeta,
231
- },
232
- finalAnswerChunk: {
233
- id,
234
- content,
235
- },
236
203
  };
237
204
  });
238
205
  // ── Assign sibling IDs ────────────────────────────────────────────────────
239
206
  for (let i = 0; i < artifacts.length; i++) {
240
207
  const a = artifacts[i];
241
- if (i > 0)
242
- a.candidateChunk.fullMeta.siblingPrev =
243
- artifacts[i - 1].searchRepresentation.id;
244
- if (i < artifacts.length - 1)
245
- a.candidateChunk.fullMeta.siblingNext =
246
- artifacts[i + 1].searchRepresentation.id;
247
- }
248
- // ── Apply boundary padding to FinalAnswerChunk ────────────────────────────
249
- if (padBefore > 0 || padAfter > 0) {
250
- for (let i = 0; i < artifacts.length; i++) {
251
- const parts = [];
252
- if (padBefore > 0 && i > 0) {
253
- const prevTexts = windows[i - 1].texts;
254
- parts.push(prevTexts.slice(-padBefore).join("\n\n"));
255
- }
256
- parts.push(artifacts[i].finalAnswerChunk.content);
257
- if (padAfter > 0 && i < artifacts.length - 1) {
258
- const nextTexts = windows[i + 1].texts;
259
- parts.push(nextTexts.slice(0, padAfter).join("\n\n"));
260
- }
261
- const padded = parts.filter(Boolean).join("\n\n");
262
- if (padded !== artifacts[i].finalAnswerChunk.content) {
263
- artifacts[i].finalAnswerChunk.paddedContent = padded;
264
- }
265
- }
208
+ const prev = i > 0 ? artifacts[i - 1] : undefined;
209
+ const next = i < artifacts.length - 1 ? artifacts[i + 1] : undefined;
210
+ if (prev)
211
+ a.metadata.siblingPrev = prev.denseTextHash;
212
+ if (next)
213
+ a.metadata.siblingNext = next.denseTextHash;
214
+ const siblingIds = [];
215
+ if (prev)
216
+ siblingIds.push(prev.denseTextHash);
217
+ if (next)
218
+ siblingIds.push(next.denseTextHash);
219
+ if (siblingIds.length > 0)
220
+ a.metadata.siblingIds = siblingIds;
266
221
  }
267
222
  return artifacts;
268
223
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../src/chunker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../src/chunker.ts"],"names":[],"mappings":"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"}
package/dist/factory.d.ts CHANGED
@@ -4,17 +4,24 @@ export interface BaseOptions {
4
4
  maxTokens?: number;
5
5
  minTokens?: number;
6
6
  overlap?: number;
7
- boundaryPadding?: {
8
- before?: number;
9
- after?: number;
10
- };
11
7
  adaptiveSize?: boolean;
12
8
  recursive?: boolean;
13
9
  ignore?: string[];
14
10
  }
11
+ /** Returned by every native chunker binding. Rust reads the file, computes
12
+ * the SHA-256 hash, and returns all four fields so JS never holds the file
13
+ * bytes. */
14
+ export interface ParseResult {
15
+ tree: string;
16
+ hash: string;
17
+ size: number;
18
+ modifiedMs: number;
19
+ }
15
20
  export interface NativeChunkerDef<TOptions extends BaseOptions> {
16
21
  /** npm package name, used as the `strategy` field in ArtifactSet. */
17
22
  name: string;
23
+ /** Semver version string (e.g. "0.1.3"). Used to compute generator IDs. */
24
+ version: string;
18
25
  /** "pdf" | "md" | "docx" | "xlsx" etc. — becomes `sourceFormat`. */
19
26
  sourceFormat: string;
20
27
  /** Glob patterns this chunker accepts, e.g. ["**\/*.pdf"]. */
@@ -23,12 +30,13 @@ export interface NativeChunkerDef<TOptions extends BaseOptions> {
23
30
  * Return the native napi binding object. Called at most once per chunker
24
31
  * instance (lazily, on the first `chunk()` call).
25
32
  */
26
- loadBinding: () => Record<string, (...args: unknown[]) => string>;
33
+ loadBinding: () => Record<string, (...args: unknown[]) => unknown>;
27
34
  /**
28
- * Invoke the correct function on the already-loaded binding.
29
- * Must return a JSON-encoded DocNode string.
35
+ * Invoke the correct function on the already-loaded binding, passing the
36
+ * file path. Rust reads the file and returns a ParseResult no file data
37
+ * crosses the JS/Rust boundary.
30
38
  */
31
- callNative: (binding: ReturnType<NativeChunkerDef<TOptions>["loadBinding"]>, buf: Buffer, opts: TOptions) => string;
39
+ callNative: (binding: ReturnType<NativeChunkerDef<TOptions>["loadBinding"]>, filePath: string, opts: TOptions) => ParseResult;
32
40
  /** Format-specific WalkOptions defaults. Spread before user opts so user opts win. */
33
41
  extraWalkOpts?: (opts: TOptions) => Partial<WalkOptions>;
34
42
  /** Optional post-walk hook for format-specific enrichment (XLSX cell refs, etc.). */
@@ -36,8 +44,8 @@ export interface NativeChunkerDef<TOptions extends BaseOptions> {
36
44
  }
37
45
  /**
38
46
  * Factory that eliminates boilerplate common to every native-binary chunker:
39
- * file read, sha256 hash, lazy native binding load, walkToChunks call, and
40
- * optional enrich hook.
47
+ * lazy binding load, walkToChunks, and optional enrich hook.
48
+ * File I/O and hashing happen inside Rust via callNative.
41
49
  *
42
50
  * Usage:
43
51
  * export const createChunker = createNativeChunker<MyOptions>({ ... });
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB,CAAC,QAAQ,SAAS,WAAW;IAC5D,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,WAAW,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC;IAClE;;;OAGG;IACH,UAAU,EAAE,CACV,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,EAC9D,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,KACX,MAAM,CAAC;IACZ,sFAAsF;IACtF,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACzD,qFAAqF;IACrF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,KAAK,WAAW,EAAE,CAAC;CACnF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,WAAW,EAC9D,GAAG,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAC9B,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,eAAe,CAqEtC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;aAEa;AACb,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB,CAAC,QAAQ,SAAS,WAAW;IAC5D,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,WAAW,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC;IACnE;;;;OAIG;IACH,UAAU,EAAE,CACV,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,EAC9D,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,KACX,WAAW,CAAC;IACjB,sFAAsF;IACtF,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACzD,qFAAqF;IACrF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,KAAK,WAAW,EAAE,CAAC;CACnF;AAgBD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,WAAW,EAC9D,GAAG,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAC9B,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,eAAe,CAsEtC"}
package/dist/factory.js CHANGED
@@ -1,11 +1,23 @@
1
- import { readFile, stat } from "node:fs/promises";
2
1
  import { createHash } from "node:crypto";
3
2
  import { minimatch } from "minimatch";
4
3
  import { walkToChunks } from "./chunker.js";
4
+ function makeGeneratorId(name, version, role, opts) {
5
+ const fp = JSON.stringify({
6
+ maxTokens: opts.maxTokens,
7
+ minTokens: opts.minTokens,
8
+ overlap: opts.overlap,
9
+ adaptiveSize: opts.adaptiveSize,
10
+ recursive: opts.recursive,
11
+ });
12
+ return createHash("sha256")
13
+ .update(`${name}@${version}:${role}:${fp}`)
14
+ .digest("hex")
15
+ .slice(0, 16);
16
+ }
5
17
  /**
6
18
  * Factory that eliminates boilerplate common to every native-binary chunker:
7
- * file read, sha256 hash, lazy native binding load, walkToChunks call, and
8
- * optional enrich hook.
19
+ * lazy binding load, walkToChunks, and optional enrich hook.
20
+ * File I/O and hashing happen inside Rust via callNative.
9
21
  *
10
22
  * Usage:
11
23
  * export const createChunker = createNativeChunker<MyOptions>({ ... });
@@ -15,6 +27,8 @@ export function createNativeChunker(def) {
15
27
  const resolvedOpts = (opts ?? {});
16
28
  const ignore = resolvedOpts.ignore ?? [];
17
29
  let _binding = null;
30
+ const sparseTextGeneratorId = makeGeneratorId(def.name, def.version, "sparse", resolvedOpts);
31
+ const metadataGeneratorId = makeGeneratorId(def.name, def.version, "meta", resolvedOpts);
18
32
  function getBinding() {
19
33
  if (_binding == null) {
20
34
  _binding = def.loadBinding();
@@ -23,15 +37,14 @@ export function createNativeChunker(def) {
23
37
  }
24
38
  return {
25
39
  name: def.name,
40
+ version: def.version,
26
41
  patterns: def.patterns,
42
+ sparseTextGeneratorId,
43
+ metadataGeneratorId,
27
44
  async chunk(filePath, commitHash) {
28
- const [buf, stats] = await Promise.all([readFile(filePath), stat(filePath)]);
29
- const fileHash = createHash("sha256").update(buf).digest("hex");
30
45
  const binding = getBinding();
31
- const raw = def.callNative(binding, buf, resolvedOpts);
32
- const docNode = JSON.parse(raw);
33
- // extraWalkOpts provides format-specific defaults; explicit user opts
34
- // override them; required fields are always set last.
46
+ const result = def.callNative(binding, filePath, resolvedOpts);
47
+ const docNode = JSON.parse(result.tree);
35
48
  const extra = def.extraWalkOpts ? def.extraWalkOpts(resolvedOpts) : {};
36
49
  const sets = walkToChunks(docNode, {
37
50
  ...extra,
@@ -44,9 +57,6 @@ export function createNativeChunker(def) {
44
57
  ...(resolvedOpts.overlap != null
45
58
  ? { overlap: resolvedOpts.overlap }
46
59
  : {}),
47
- ...(resolvedOpts.boundaryPadding != null
48
- ? { boundaryPadding: resolvedOpts.boundaryPadding }
49
- : {}),
50
60
  ...(resolvedOpts.adaptiveSize != null
51
61
  ? { adaptiveSize: resolvedOpts.adaptiveSize }
52
62
  : {}),
@@ -57,9 +67,11 @@ export function createNativeChunker(def) {
57
67
  sourceFormat: def.sourceFormat,
58
68
  commitHash,
59
69
  strategy: def.name,
60
- fileHash,
61
- fileSizeBytes: stats.size,
62
- fileModifiedAt: stats.mtime.toISOString(),
70
+ sparseTextGeneratorId,
71
+ metadataGeneratorId,
72
+ fileHash: result.hash,
73
+ fileSizeBytes: result.size,
74
+ fileModifiedAt: new Date(result.modifiedMs).toISOString(),
63
75
  });
64
76
  return def.enrich ? def.enrich(sets, docNode, resolvedOpts) : sets;
65
77
  },
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- export type { DocNode, DocNodeType, DocNodeAttrs, FilterMeta, ChunkMeta, InjectedContext, SearchRepresentation, CandidateChunk, FinalAnswerChunk, ArtifactSet, ArtifactChunker, } from "./types.js";
1
+ export type { DocNode, DocNodeType, DocNodeAttrs, FilterMeta, ChunkMeta, ArtifactSet, ArtifactChunker, } from "./types.js";
2
2
  export { walkDocNode } from "./ast-walker.js";
3
3
  export type { TextSegment } from "./ast-walker.js";
4
4
  export { extractOutline } from "./outline.js";
5
5
  export { walkToChunks } from "./chunker.js";
6
6
  export type { WalkOptions } from "./chunker.js";
7
7
  export { createNativeChunker } from "./factory.js";
8
- export type { BaseOptions, NativeChunkerDef } from "./factory.js";
8
+ export type { BaseOptions, NativeChunkerDef, ParseResult } from "./factory.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
package/dist/types.d.ts CHANGED
@@ -48,15 +48,24 @@ export interface FilterMeta {
48
48
  fileSizeBytes?: number;
49
49
  }
50
50
  /**
51
- * Full enrichment payload carried by CandidateChunk. A superset of FilterMeta
52
- * that includes hierarchy details, sibling links, and format-specific fields
53
- * used during cross-encoder re-ranking.
51
+ * Full enrichment payload carried by ArtifactSet.metadata. A superset of
52
+ * FilterMeta that includes hierarchy details, sibling/parent links, and
53
+ * format-specific fields used during cross-encoder re-ranking.
54
+ *
55
+ * parentId and siblingIds are used for on-the-fly contextText assembly at
56
+ * query time (Level 5, Step 3) — see ARCHITECTURE.md.
54
57
  */
55
58
  export interface ChunkMeta extends FilterMeta {
56
59
  sectionTitle?: string;
57
60
  headingLevel?: number;
58
61
  documentOutline?: string[];
62
+ /** denseTextHash of the logical parent section chunk. Used for context assembly at query time. */
63
+ parentId?: string;
64
+ /** denseTextHashes of adjacent chunks (prev, next). Used for context assembly at query time. */
65
+ siblingIds?: string[];
66
+ /** denseTextHash of the immediately preceding chunk (same section). */
59
67
  siblingPrev?: string;
68
+ /** denseTextHash of the immediately following chunk (same section). */
60
69
  siblingNext?: string;
61
70
  qualityScore?: number;
62
71
  truncated?: boolean;
@@ -74,62 +83,48 @@ export interface ChunkMeta extends FilterMeta {
74
83
  label: string;
75
84
  }>;
76
85
  }
77
- /** Extra context injected into FinalAnswerChunk that was NOT used for search. */
78
- export interface InjectedContext {
79
- parentSectionText?: string;
80
- imports?: string[];
81
- fqnDeclarations?: string[];
82
- neighborPrev?: string;
83
- neighborNext?: string;
84
- }
85
- /**
86
- * Stored in the vector index. Contains sanitized anchor text for dense/sparse
87
- * retrieval and filterable metadata only — no raw content dump.
88
- */
89
- export interface SearchRepresentation {
90
- id: string;
91
- anchorText: string;
92
- sparseTerms?: string[];
93
- filterMetadata: FilterMeta;
94
- }
95
- /**
96
- * Returned by ANN retrieval. Contains a short preview and full metadata
97
- * for cross-encoder re-ranking. Fetched from the vector store payload.
98
- */
99
- export interface CandidateChunk {
100
- id: string;
101
- preview: string;
102
- fullMeta: ChunkMeta;
103
- }
104
- /**
105
- * Fetched after re-ranking. Contains the full raw text (with optional boundary
106
- * padding and injected context) that is passed to the LLM prompt.
107
- */
108
- export interface FinalAnswerChunk {
109
- id: string;
110
- content: string;
111
- paddedContent?: string;
112
- injectedContext?: InjectedContext;
113
- }
114
86
  /**
115
87
  * The atomic unit produced by walkToChunks — one per logical segment.
116
- * Encapsulates all three artifact tiers derived from the same source window.
88
+ *
89
+ * Structurally equivalent to Chunk in virage-core. Three text fields are stored
90
+ * at index time; contextText is assembled on-the-fly at query time from
91
+ * denseText, metadata.parentId, and metadata.siblingIds.
92
+ *
93
+ * sparseTextGeneratorId and metadataGeneratorId are per-chunk method fingerprints
94
+ * (not content fingerprints). They change when the chunker configuration changes,
95
+ * enabling incremental rebuilding of only the affected artifacts.
117
96
  */
118
97
  export interface ArtifactSet {
98
+ /** Breadcrumb prefix + full window body — text sent to the embedding model. */
99
+ denseText: string;
100
+ /** Raw body without breadcrumb — used for BM25 / FTS lexical search. */
101
+ sparseText: string;
102
+ /** sha256(denseText).slice(0,16) — 16-char hex content fingerprint and primary cache key. */
103
+ denseTextHash: string;
104
+ /** Method fingerprint for sparseText generation. Triggers FTS rebuild when changed. */
105
+ sparseTextGeneratorId: string;
106
+ /** Method fingerprint for metadata assembly. Triggers metadata re-enrichment when changed. */
107
+ metadataGeneratorId: string;
108
+ /** Full enrichment metadata. */
109
+ metadata: ChunkMeta;
110
+ /** Original source file path. */
119
111
  sourceFile: string;
112
+ /** Git commit hash when this chunk was generated. */
120
113
  commitHash: string;
121
- searchRepresentation: SearchRepresentation;
122
- candidateChunk: CandidateChunk;
123
- finalAnswerChunk: FinalAnswerChunk;
124
114
  }
125
115
  /**
126
- * Upgraded chunker contract that returns ArtifactSet[].
127
- * Replaces the virage-core FileChunker once Phase 5 lands in the main repo.
116
+ * The plugin interface structurally compatible with FileChunker from virage-core.
117
+ *
118
+ * sparseTextGeneratorId and metadataGeneratorId are computed once per chunker
119
+ * instance from name + version + configuration fingerprint.
128
120
  */
129
121
  export interface ArtifactChunker {
130
122
  name: string;
123
+ version: string;
131
124
  patterns: string[];
125
+ sparseTextGeneratorId: string;
126
+ metadataGeneratorId: string;
132
127
  chunk(filePath: string, commitHash: string): Promise<ArtifactSet[]>;
133
- canProcess?(filePath: string, content?: string): Promise<boolean>;
128
+ canProcess?(filePath: string): Promise<boolean>;
134
129
  }
135
130
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vivantel/virage-chunker-ce-ast",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Generalized ViDoc AST walker — shared chunking strategy for all structured document formats",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",