@neuledge/context 1.2.0 → 1.2.2

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/README.md CHANGED
@@ -479,17 +479,24 @@ $ context list
479
479
  Installed packages:
480
480
 
481
481
  nextjs@16.0 4.2 MB 847 sections
482
+ nextjs@15.5 3.9 MB 790 sections
482
483
  react@18 2.1 MB 423 sections
483
484
 
484
- Total: 2 packages (6.3 MB)
485
+ Total: 3 packages (10.2 MB)
485
486
  ```
486
487
 
488
+ Several versions of the same package can be installed side by side; each name is listed newest first. Commands that take a bare name (`context query react`, `context serve --libs react`) use the highest installed version.
489
+
487
490
  ### `context remove <name>`
488
491
 
489
- Remove a package.
492
+ Remove a package. Pass `name@version` to remove a specific version. A bare name
493
+ is only accepted when a single version of that package is installed — otherwise
494
+ the command lists the installed versions and asks you to pick one, so nothing is
495
+ deleted by guesswork.
490
496
 
491
497
  ```bash
492
498
  context remove nextjs
499
+ context remove nextjs@16.0
493
500
  ```
494
501
 
495
502
  ### `context auth`
@@ -531,7 +538,7 @@ context serve --libs react next@15.0.4
531
538
  |--------|-------------|
532
539
  | `--http [port]` | Start as HTTP server instead of stdio (default port: 8080) |
533
540
  | `--host <host>` | Host to bind to (default: 127.0.0.1) |
534
- | `--libs <names...>` | Restrict the session to a fixed set of installed libraries. Each entry is a name (`react`) or `name@version` (`react@18.3.1`). When set, `search_packages` and `download_package` are hidden so the session is locked to that list. Useful for per-project scoping when you have many packages installed globally. |
541
+ | `--libs <names...>` | Restrict the session to a fixed set of installed libraries. Each entry is a name (`react`, exposing every installed version) or `name@version` (`react@18.3.1`, exposing only that version). When set, `search_packages` and `download_package` are hidden so the session is locked to that list. Useful for per-project scoping when you have many packages installed globally. |
535
542
 
536
543
  The HTTP transport uses the [MCP Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) protocol, enabling multiple clients on the local network to connect to a single server instance. The endpoint is available at `http://<host>:<port>/mcp`.
537
544
 
@@ -543,6 +550,9 @@ Query documentation directly from the command line. Useful for testing and debug
543
550
  # Query a package (use name@version format from 'context list')
544
551
  context query 'nextjs@16.0' 'middleware authentication'
545
552
 
553
+ # A bare name queries the highest installed version
554
+ context query nextjs 'middleware authentication'
555
+
546
556
  # Returns the same JSON format as the MCP get_docs tool
547
557
  ```
548
558
 
package/dist/cli.d.ts CHANGED
@@ -63,6 +63,18 @@ export interface AddFromGitOptions {
63
63
  save?: string;
64
64
  lang?: string;
65
65
  }
66
+ /**
67
+ * Pick the package `context remove <spec>` should delete.
68
+ *
69
+ * `remove` deletes a file from disk, so a bare name is refused while several
70
+ * versions are installed rather than guessing which one the user meant. With a
71
+ * single version installed the bare name still works, as it always has.
72
+ */
73
+ export declare function resolveRemoveTarget(spec: string, installed: PackageInfo[]): {
74
+ pkg: PackageInfo;
75
+ } | {
76
+ error: string[];
77
+ };
66
78
  /**
67
79
  * Parse a "registry/name[@version]" string (e.g., "npm/next",
68
80
  * "pip/django", "npm/next@16.1.7", "npm/@trpc/server@10.0.0").
package/dist/cli.js CHANGED
@@ -16,10 +16,10 @@ import { buildFetchOptions, fetchWithTimeout, readResponseText, } from "./fetch.
16
16
  import { checkoutRef, cloneRepository, detectLocalDocsFolder, detectVersion, extractRepoName, fetchTagsWithMetadata, getDefaultBranch, isGitUrl, parseGitUrl, parseMonorepoTag, readLocalDocsFiles, sortTagsForSelection, } from "./git.js";
17
17
  import { GET_DOCS_TOPIC_DESCRIPTION, NO_DOCUMENTATION_FOUND_MESSAGE, SEARCH_PACKAGES_NAME_DESCRIPTION, } from "./guidance.js";
18
18
  import { fetchLinkedDocs } from "./llms-txt.js";
19
- import { buildPackage } from "./package-builder.js";
19
+ import { buildPackage, } from "./package-builder.js";
20
20
  import { search } from "./search.js";
21
21
  import { ContextServer } from "./server.js";
22
- import { getPackageFileName, PackageStore, readPackageInfo, } from "./store.js";
22
+ import { getPackageFileName, isAllowedLibrary, PackageStore, packageKey, readPackageInfo, } from "./store.js";
23
23
  /** Detect the type of source based on the input string. */
24
24
  export function detectSourceType(source) {
25
25
  // Handle empty or whitespace-only strings as file
@@ -243,13 +243,17 @@ async function addFromWebsite(source, options) {
243
243
  if (result.sectionCount === 0) {
244
244
  throw new Error(`No documentation sections could be extracted from ${source}. The page may be empty or in an unsupported format.`);
245
245
  }
246
- console.log(`✓ Built package: ${packageName}@${versionLabel}`);
247
- console.log(`✓ Saved to ${outputPath}`);
246
+ reportBuilt(result, packageName, versionLabel, outputPath);
248
247
  if (options.save) {
249
248
  savePackageCopy(outputPath, options.save, packageName, versionLabel);
250
249
  }
251
250
  const sizeBytes = statSync(outputPath).size;
252
- console.log(`\nInstalled: ${packageName}@${versionLabel} (${formatBytes(sizeBytes)}, ${result.sectionCount} sections)`);
251
+ reportInstalled({
252
+ name: packageName,
253
+ version: versionLabel,
254
+ sizeBytes,
255
+ sectionCount: result.sectionCount,
256
+ });
253
257
  return;
254
258
  }
255
259
  const packageName = options.name ?? packageNameFromUrl(source);
@@ -284,14 +288,18 @@ async function addFromWebsite(source, options) {
284
288
  if (result.sectionCount === 0) {
285
289
  throw new Error(`No documentation sections could be extracted from ${resolvedUrl}. The file may be empty or in an unsupported format.`);
286
290
  }
287
- console.log(`✓ Built package: ${packageName}@${versionLabel}`);
288
- console.log(`✓ Saved to ${outputPath}`);
291
+ reportBuilt(result, packageName, versionLabel, outputPath);
289
292
  // Save to custom path if specified
290
293
  if (options.save) {
291
294
  savePackageCopy(outputPath, options.save, packageName, versionLabel);
292
295
  }
293
296
  const sizeBytes = statSync(outputPath).size;
294
- console.log(`\nInstalled: ${packageName}@${versionLabel} (${formatBytes(sizeBytes)}, ${result.sectionCount} sections)`);
297
+ reportInstalled({
298
+ name: packageName,
299
+ version: versionLabel,
300
+ sizeBytes,
301
+ sectionCount: result.sectionCount,
302
+ });
295
303
  }
296
304
  const LOW_DOCS_THRESHOLD = 50;
297
305
  /** Build a Google search URL to help find documentation repos. */
@@ -361,6 +369,37 @@ function loadPackages(store) {
361
369
  }
362
370
  }
363
371
  }
372
+ /**
373
+ * Report a finished install.
374
+ *
375
+ * Also flags when a higher version is already installed, because bare-name
376
+ * lookups resolve to it — otherwise installing an older version looks like a
377
+ * no-op when the user later queries by name.
378
+ */
379
+ /**
380
+ * Report a freshly built package.
381
+ *
382
+ * Skipped files are surfaced rather than counted silently: a file too malformed
383
+ * to split or parse is dropped on its own so one bad document can't fail the
384
+ * build, which is only safe if the user can see it happened.
385
+ */
386
+ function reportBuilt(result, name, version, outputPath) {
387
+ console.log(`✓ Built package: ${name}@${version}`);
388
+ console.log(`✓ Saved to ${outputPath}`);
389
+ if (result.skippedFiles > 0) {
390
+ console.log(`⚠️ Skipped ${result.skippedFiles} file(s) that could not be parsed`);
391
+ }
392
+ }
393
+ function reportInstalled(pkg) {
394
+ console.log(`\nInstalled: ${packageKey(pkg)} (${formatBytes(pkg.sizeBytes)}, ${pkg.sectionCount} sections)`);
395
+ const store = new PackageStore();
396
+ loadPackages(store);
397
+ const preferred = store.get(pkg.name);
398
+ if (!preferred || preferred.version === pkg.version)
399
+ return;
400
+ console.log(`Note: ${packageKey(preferred)} is also installed and stays the default for \`${pkg.name}\`.`);
401
+ console.log(` Query this one as \`${packageKey(pkg)}\`.`);
402
+ }
364
403
  /** Parse a `--libs` spec into name (optionally with @version). */
365
404
  // Uses lastIndexOf so scoped names like `@trpc/server@1.0.0` split correctly,
366
405
  // while a bare scoped name `@trpc/server` (leading `@` only) keeps its name.
@@ -379,16 +418,23 @@ export function resolveAllowedLibraries(specs, installed) {
379
418
  const errors = [];
380
419
  for (const raw of specs) {
381
420
  const spec = parseLibSpec(raw);
382
- const pkg = installed.find((p) => p.name === spec.name);
383
- if (!pkg) {
421
+ // Every installed version counts: pinning `react@18` must succeed even
422
+ // when a newer react is installed alongside it.
423
+ const matches = installed.filter((p) => p.name === spec.name);
424
+ if (matches.length === 0) {
384
425
  errors.push(` - ${raw}: not installed`);
385
426
  continue;
386
427
  }
387
- if (spec.version && pkg.version !== spec.version) {
388
- errors.push(` - ${raw}: installed version is ${pkg.version}, not ${spec.version}`);
428
+ if (spec.version && !matches.some((p) => p.version === spec.version)) {
429
+ const versions = matches.map((p) => p.version).join(", ");
430
+ const installedLabel = matches.length > 1
431
+ ? `installed versions are ${versions}`
432
+ : `installed version is ${versions}`;
433
+ errors.push(` - ${raw}: ${installedLabel}, not ${spec.version}`);
389
434
  continue;
390
435
  }
391
- allowed.add(pkg.name);
436
+ // A pinned entry allows only that version; a bare name allows all of them.
437
+ allowed.add(spec.version ? `${spec.name}@${spec.version}` : spec.name);
392
438
  }
393
439
  if (errors.length > 0) {
394
440
  console.error("Cannot start --libs session:");
@@ -425,7 +471,7 @@ function addFromFile(source, options) {
425
471
  if (options.save) {
426
472
  savePackageCopy(destPath, options.save, info.name, info.version);
427
473
  }
428
- console.log(`\nInstalled: ${info.name}@${info.version} (${formatBytes(info.sizeBytes)}, ${info.sectionCount} sections)`);
474
+ reportInstalled(info);
429
475
  }
430
476
  /** Install a package from a URL. */
431
477
  async function addFromUrl(url, options) {
@@ -456,7 +502,7 @@ async function addFromUrl(url, options) {
456
502
  if (options.save) {
457
503
  savePackageCopy(destPath, options.save, info.name, info.version);
458
504
  }
459
- console.log(`\nInstalled: ${info.name}@${info.version} (${formatBytes(info.sizeBytes)}, ${info.sectionCount} sections)`);
505
+ reportInstalled(info);
460
506
  }
461
507
  catch (err) {
462
508
  // Clean up temp file on error
@@ -627,14 +673,18 @@ async function addFromGitClone(source, options) {
627
673
  version: versionLabel,
628
674
  sourceUrl: url,
629
675
  });
630
- console.log(`✓ Built package: ${packageName}@${versionLabel}`);
631
- console.log(`✓ Saved to ${outputPath}`);
676
+ reportBuilt(result, packageName, versionLabel, outputPath);
632
677
  // Save to custom path if specified
633
678
  if (options.save) {
634
679
  savePackageCopy(outputPath, options.save, packageName, versionLabel);
635
680
  }
636
681
  const sizeBytes = statSync(outputPath).size;
637
- console.log(`\nInstalled: ${packageName}@${versionLabel} (${formatBytes(sizeBytes)}, ${result.sectionCount} sections)`);
682
+ reportInstalled({
683
+ name: packageName,
684
+ version: versionLabel,
685
+ sizeBytes,
686
+ sectionCount: result.sectionCount,
687
+ });
638
688
  warnIfLowDocs(result.sectionCount, packageName);
639
689
  }
640
690
  finally {
@@ -681,14 +731,18 @@ async function addFromLocalDir(source, options) {
681
731
  version: versionLabel,
682
732
  sourceUrl: dirPath,
683
733
  });
684
- console.log(`✓ Built package: ${packageName}@${versionLabel}`);
685
- console.log(`✓ Saved to ${outputPath}`);
734
+ reportBuilt(result, packageName, versionLabel, outputPath);
686
735
  // Save to custom path if specified
687
736
  if (options.save) {
688
737
  savePackageCopy(outputPath, options.save, packageName, versionLabel);
689
738
  }
690
739
  const sizeBytes = statSync(outputPath).size;
691
- console.log(`\nInstalled: ${packageName}@${versionLabel} (${formatBytes(sizeBytes)}, ${result.sectionCount} sections)`);
740
+ reportInstalled({
741
+ name: packageName,
742
+ version: versionLabel,
743
+ sizeBytes,
744
+ sectionCount: result.sectionCount,
745
+ });
692
746
  warnIfLowDocs(result.sectionCount, packageName);
693
747
  }
694
748
  program
@@ -754,6 +808,42 @@ program
754
808
  }
755
809
  console.log(`\nTotal: ${packages.length} packages (${formatBytes(totalSize)})`);
756
810
  });
811
+ /**
812
+ * Pick the package `context remove <spec>` should delete.
813
+ *
814
+ * `remove` deletes a file from disk, so a bare name is refused while several
815
+ * versions are installed rather than guessing which one the user meant. With a
816
+ * single version installed the bare name still works, as it always has.
817
+ */
818
+ export function resolveRemoveTarget(spec, installed) {
819
+ const { name, version } = parseLibSpec(spec);
820
+ const matches = installed.filter((p) => p.name === name);
821
+ const versions = matches.map((p) => p.version).join(", ");
822
+ if (matches.length === 0) {
823
+ return { error: [`Package not found: ${name}`] };
824
+ }
825
+ if (!version) {
826
+ const [only, ...rest] = matches;
827
+ if (!only)
828
+ return { error: [`Package not found: ${name}`] };
829
+ if (rest.length > 0) {
830
+ return {
831
+ error: [
832
+ `Multiple versions of ${name} are installed: ${versions}`,
833
+ `Specify one, e.g. \`context remove ${packageKey(only)}\`.`,
834
+ ],
835
+ };
836
+ }
837
+ return { pkg: only };
838
+ }
839
+ const exact = matches.find((p) => p.version === version);
840
+ if (!exact) {
841
+ return {
842
+ error: [`Package not found: ${spec}`, `Installed versions: ${versions}`],
843
+ };
844
+ }
845
+ return { pkg: exact };
846
+ }
757
847
  program
758
848
  .command("remove")
759
849
  .description("Remove a documentation package")
@@ -761,22 +851,21 @@ program
761
851
  .action((name) => {
762
852
  const store = new PackageStore();
763
853
  loadPackages(store);
764
- // Strip version suffix if present (e.g., "next@v16.2.0" -> "next")
765
- const atIndex = name.indexOf("@");
766
- const packageName = atIndex > 0 ? name.slice(0, atIndex) : name;
767
- const pkg = store.get(packageName);
768
- if (!pkg) {
769
- console.error(`Error: Package not found: ${packageName}`);
854
+ const target = resolveRemoveTarget(name, store.list());
855
+ if ("error" in target) {
856
+ console.error(`Error: ${target.error[0]}`);
857
+ for (const line of target.error.slice(1))
858
+ console.error(line);
770
859
  process.exit(1);
771
860
  }
772
861
  // Delete file from disk
773
862
  try {
774
- unlinkSync(pkg.path);
863
+ unlinkSync(target.pkg.path);
775
864
  }
776
865
  catch {
777
866
  // Ignore deletion errors
778
867
  }
779
- console.log(`Removed: ${pkg.name}@${pkg.version}`);
868
+ console.log(`Removed: ${packageKey(target.pkg)}`);
780
869
  });
781
870
  program
782
871
  .command("serve")
@@ -791,7 +880,7 @@ program
791
880
  ? resolveAllowedLibraries(options.libs, store.list())
792
881
  : undefined;
793
882
  const visible = allowedLibraries
794
- ? store.list().filter((p) => allowedLibraries.has(p.name))
883
+ ? store.list().filter((p) => isAllowedLibrary(p, allowedLibraries))
795
884
  : store.list();
796
885
  if (visible.length > 0) {
797
886
  const names = visible.map((p) => `${p.name}@${p.version}`).join(", ");
@@ -816,9 +905,6 @@ program
816
905
  await server.start();
817
906
  }
818
907
  });
819
- function formatLibraryName(pkg) {
820
- return `${pkg.name}@${pkg.version}`;
821
- }
822
908
  function formatSearchResult(result) {
823
909
  if (result.results.length === 0) {
824
910
  return JSON.stringify({
@@ -843,9 +929,9 @@ program
843
929
  const store = new PackageStore();
844
930
  loadPackages(store);
845
931
  const packages = store.list();
846
- const pkg = packages.find((p) => formatLibraryName(p) === library);
932
+ const pkg = store.get(library);
847
933
  if (!pkg) {
848
- const available = packages.map(formatLibraryName);
934
+ const available = packages.map(packageKey);
849
935
  if (available.length === 0) {
850
936
  console.error("Error: No packages installed.");
851
937
  console.error("Run: context add <package.db>");
@@ -860,7 +946,7 @@ program
860
946
  }
861
947
  process.exit(1);
862
948
  }
863
- const db = store.openDb(pkg.name);
949
+ const db = store.openDb(packageKey(pkg));
864
950
  if (!db) {
865
951
  console.error(`Error: Failed to open package database: ${library}`);
866
952
  process.exit(1);
@@ -965,7 +1051,7 @@ program
965
1051
  }
966
1052
  console.log(`Installing ${parsed.registry}/${parsed.name}@${targetVersion}...`);
967
1053
  const info = await downloadPackage(serverUrl, parsed.registry, parsed.name, targetVersion);
968
- console.log(`\nInstalled: ${info.name}@${info.version} (${formatBytes(info.sizeBytes)}, ${info.sectionCount} sections)`);
1054
+ reportInstalled(info);
969
1055
  }
970
1056
  catch (err) {
971
1057
  console.error(`Error: ${err instanceof Error ? err.message : err}`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/html.d.ts CHANGED
@@ -4,6 +4,14 @@
4
4
  * resulting Markdown into the existing parseMarkdown pipeline.
5
5
  */
6
6
  import { type ParsedDoc } from "./build.js";
7
+ /**
8
+ * Elements dropped whole: page chrome and non-prose, never document content.
9
+ *
10
+ * Exported because `splitForParsing` has to keep its cuts out of their bodies. A cut
11
+ * inside one leaves the opening tag in the previous chunk, so the next chunk's parser
12
+ * never sees it and indexes the sidebar or footer as prose.
13
+ */
14
+ export declare const REMOVED_TAGS: Set<string>;
7
15
  /**
8
16
  * Parse an HTML file by converting to Markdown, then using the existing
9
17
  * Markdown parser for section extraction and chunking.
package/dist/html.js CHANGED
@@ -9,8 +9,14 @@ const turndown = new TurndownService({
9
9
  headingStyle: "atx",
10
10
  codeBlockStyle: "fenced",
11
11
  });
12
- // Remove non-content elements
13
- for (const tag of [
12
+ /**
13
+ * Elements dropped whole: page chrome and non-prose, never document content.
14
+ *
15
+ * Exported because `splitForParsing` has to keep its cuts out of their bodies. A cut
16
+ * inside one leaves the opening tag in the previous chunk, so the next chunk's parser
17
+ * never sees it and indexes the sidebar or footer as prose.
18
+ */
19
+ export const REMOVED_TAGS = new Set([
14
20
  "script",
15
21
  "style",
16
22
  "nav",
@@ -23,7 +29,8 @@ for (const tag of [
23
29
  "form",
24
30
  "svg",
25
31
  "canvas",
26
- ]) {
32
+ ]);
33
+ for (const tag of REMOVED_TAGS) {
27
34
  turndown.remove(tag);
28
35
  }
29
36
  /**
package/dist/html.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,EAAkB,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;IACnC,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,QAAQ;CACzB,CAAC,CAAC;AAEH,8BAA8B;AAC9B,KAAK,MAAM,GAAG,IAAI;IAChB,QAAQ;IACR,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,QAAQ;CACT,EAAE,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,QAAgB;IACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,EAAkB,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;IACnC,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,QAAQ;CACzB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAClC,QAAQ;IACR,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,QAAQ;CACT,CAAC,CAAC;AAEH,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,QAAgB;IACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC"}
@@ -17,7 +17,34 @@ export interface BuildResult {
17
17
  path: string;
18
18
  sectionCount: number;
19
19
  totalTokens: number;
20
+ /** Files dropped whole because splitting or parsing them threw. */
21
+ skippedFiles: number;
20
22
  }
23
+ /**
24
+ * Split markdown into one chunk per `##` section.
25
+ *
26
+ * Fenced code blocks are tracked so that `## ` lines inside them — common in docs that
27
+ * demonstrate markdown — aren't mistaken for headings and split mid-fence. Fence
28
+ * handling follows CommonMark: an opening fence may carry an info string, a closing
29
+ * fence may not, and only the same character in at least the same run length closes.
30
+ */
31
+ export declare function splitMarkdownByHeadings(file: MarkdownFile): MarkdownFile[];
32
+ /**
33
+ * Break an oversized file into chunks small enough to parse without exhausting the heap.
34
+ *
35
+ * remark builds a full AST for whatever it is given, so a multi-megabyte document (a
36
+ * site's `llms-full.txt`, say) can OOM the process. Splitting by `##` keeps sections
37
+ * intact where possible; the size fallback bounds the rest, so a file with no headings
38
+ * — or one enormous section — can't crash the build either.
39
+ *
40
+ * HTML is split on tag structure instead, because `parseHtml` builds a DOM before it
41
+ * builds an AST and the DOM is what actually hurts: converting an 8MB page peaked at
42
+ * 1451MB RSS, of which the full pipeline added only 40MB more. Converting first and
43
+ * reusing the markdown split would therefore bound nothing — the source has to be cut
44
+ * before turndown sees it. AsciiDoc and reStructuredText are left whole; both parse
45
+ * with plain line scanning, so neither is a heap risk.
46
+ */
47
+ export declare function splitForParsing(file: MarkdownFile): MarkdownFile[];
21
48
  /**
22
49
  * Build a documentation package from markdown files.
23
50
  */