@nanocollective/get-md 1.0.2 → 1.1.0-beta.1

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 (62) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +155 -1
  3. package/dist/cli.js +388 -4
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cli.spec.js +187 -0
  6. package/dist/cli.spec.js.map +1 -1
  7. package/dist/converters/llm-converter.d.ts +71 -0
  8. package/dist/converters/llm-converter.d.ts.map +1 -0
  9. package/dist/converters/llm-converter.js +191 -0
  10. package/dist/converters/llm-converter.js.map +1 -0
  11. package/dist/converters/llm-converter.spec.d.ts +2 -0
  12. package/dist/converters/llm-converter.spec.d.ts.map +1 -0
  13. package/dist/converters/llm-converter.spec.js +281 -0
  14. package/dist/converters/llm-converter.spec.js.map +1 -0
  15. package/dist/converters/llm-manager.d.ts +88 -0
  16. package/dist/converters/llm-manager.d.ts.map +1 -0
  17. package/dist/converters/llm-manager.js +277 -0
  18. package/dist/converters/llm-manager.js.map +1 -0
  19. package/dist/converters/llm-manager.spec.d.ts +2 -0
  20. package/dist/converters/llm-manager.spec.d.ts.map +1 -0
  21. package/dist/converters/llm-manager.spec.js +280 -0
  22. package/dist/converters/llm-manager.spec.js.map +1 -0
  23. package/dist/extractors/metadata-extractor.js +1 -1
  24. package/dist/extractors/metadata-extractor.js.map +1 -1
  25. package/dist/index.d.ts +14 -4
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +23 -10
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.spec.js +172 -1
  30. package/dist/index.spec.js.map +1 -1
  31. package/dist/optimizers/html-cleaner.js +1 -1
  32. package/dist/optimizers/html-cleaner.js.map +1 -1
  33. package/dist/optimizers/html-cleaner.spec.js +1 -0
  34. package/dist/optimizers/html-cleaner.spec.js.map +1 -1
  35. package/dist/optimizers/llm-formatter.js +2 -2
  36. package/dist/optimizers/llm-formatter.js.map +1 -1
  37. package/dist/optimizers/structure-enhancer.js +3 -3
  38. package/dist/optimizers/structure-enhancer.js.map +1 -1
  39. package/dist/optimizers/structure-enhancer.spec.js +1 -1
  40. package/dist/optimizers/structure-enhancer.spec.js.map +1 -1
  41. package/dist/parsers/markdown-parser.d.ts +36 -0
  42. package/dist/parsers/markdown-parser.d.ts.map +1 -1
  43. package/dist/parsers/markdown-parser.js +267 -45
  44. package/dist/parsers/markdown-parser.js.map +1 -1
  45. package/dist/parsers/markdown-parser.spec.js +106 -98
  46. package/dist/parsers/markdown-parser.spec.js.map +1 -1
  47. package/dist/types.d.ts +149 -0
  48. package/dist/types.d.ts.map +1 -1
  49. package/dist/utils/config-loader.d.ts +62 -0
  50. package/dist/utils/config-loader.d.ts.map +1 -0
  51. package/dist/utils/config-loader.js +167 -0
  52. package/dist/utils/config-loader.js.map +1 -0
  53. package/dist/utils/config-loader.spec.d.ts +2 -0
  54. package/dist/utils/config-loader.spec.d.ts.map +1 -0
  55. package/dist/utils/config-loader.spec.js +355 -0
  56. package/dist/utils/config-loader.spec.js.map +1 -0
  57. package/dist/utils/url-fetcher.d.ts.map +1 -1
  58. package/dist/utils/url-fetcher.js +1 -1
  59. package/dist/utils/url-fetcher.js.map +1 -1
  60. package/dist/utils/validators.js +1 -1
  61. package/dist/utils/validators.js.map +1 -1
  62. package/package.json +25 -17
package/dist/types.d.ts CHANGED
@@ -1,3 +1,131 @@
1
+ /** Event emitted when checking for model availability */
2
+ export interface LLMModelCheckEvent {
3
+ type: "model-check";
4
+ status: "checking" | "found" | "not-found";
5
+ path?: string;
6
+ }
7
+ /** Event emitted when model download starts */
8
+ export interface LLMDownloadStartEvent {
9
+ type: "download-start";
10
+ modelName: string;
11
+ totalSize: number;
12
+ }
13
+ /** Event emitted during model download progress */
14
+ export interface LLMDownloadProgressEvent {
15
+ type: "download-progress";
16
+ downloaded: number;
17
+ total: number;
18
+ percentage: number;
19
+ speed?: string;
20
+ }
21
+ /** Event emitted when model download completes */
22
+ export interface LLMDownloadCompleteEvent {
23
+ type: "download-complete";
24
+ path: string;
25
+ size: number;
26
+ }
27
+ /** Event emitted when model download fails */
28
+ export interface LLMDownloadErrorEvent {
29
+ type: "download-error";
30
+ error: Error;
31
+ }
32
+ /** Event emitted when model is loading */
33
+ export interface LLMModelLoadingEvent {
34
+ type: "model-loading";
35
+ modelName: string;
36
+ }
37
+ /** Event emitted when llama.cpp initialization starts */
38
+ export interface LLMInitStartEvent {
39
+ type: "llama-init-start";
40
+ }
41
+ /** Event emitted when llama.cpp initialization completes */
42
+ export interface LLMInitCompleteEvent {
43
+ type: "llama-init-complete";
44
+ }
45
+ /** Event emitted when model file is being loaded */
46
+ export interface LLMModelFileLoadingEvent {
47
+ type: "model-file-loading";
48
+ path: string;
49
+ }
50
+ /** Event emitted when model has loaded */
51
+ export interface LLMModelLoadedEvent {
52
+ type: "model-loaded";
53
+ loadTime: number;
54
+ }
55
+ /** Event emitted when conversion starts */
56
+ export interface LLMConversionStartEvent {
57
+ type: "conversion-start";
58
+ inputSize: number;
59
+ }
60
+ /** Event emitted during conversion progress */
61
+ export interface LLMConversionProgressEvent {
62
+ type: "conversion-progress";
63
+ tokensProcessed?: number;
64
+ }
65
+ /** Event emitted when conversion completes */
66
+ export interface LLMConversionCompleteEvent {
67
+ type: "conversion-complete";
68
+ outputSize: number;
69
+ duration: number;
70
+ }
71
+ /** Event emitted when conversion fails */
72
+ export interface LLMConversionErrorEvent {
73
+ type: "conversion-error";
74
+ error: Error;
75
+ }
76
+ /** Event emitted when falling back to Turndown */
77
+ export interface LLMFallbackStartEvent {
78
+ type: "fallback-start";
79
+ reason: string;
80
+ }
81
+ /** Union of all LLM events */
82
+ export type LLMEvent = LLMModelCheckEvent | LLMDownloadStartEvent | LLMDownloadProgressEvent | LLMDownloadCompleteEvent | LLMDownloadErrorEvent | LLMModelLoadingEvent | LLMInitStartEvent | LLMInitCompleteEvent | LLMModelFileLoadingEvent | LLMModelLoadedEvent | LLMConversionStartEvent | LLMConversionProgressEvent | LLMConversionCompleteEvent | LLMConversionErrorEvent | LLMFallbackStartEvent;
83
+ /** Callback for LLM events */
84
+ export type LLMEventCallback = (event: LLMEvent) => void | Promise<void>;
85
+ /** Result from checking LLM model availability */
86
+ export interface LLMModelStatus {
87
+ /** Whether the model is available locally */
88
+ available: boolean;
89
+ /** Path to the model file */
90
+ path?: string;
91
+ /** Size of the model file in bytes */
92
+ size?: number;
93
+ /** Human-readable size (e.g., "986MB") */
94
+ sizeFormatted?: string;
95
+ /** Model version identifier */
96
+ version?: string;
97
+ }
98
+ /** Options for downloading the LLM model */
99
+ export interface LLMDownloadOptions {
100
+ /** Custom path to save the model */
101
+ modelPath?: string;
102
+ /** Progress callback */
103
+ onProgress?: (downloaded: number, total: number, percentage: number) => void;
104
+ /** Completion callback */
105
+ onComplete?: (path: string) => void;
106
+ /** Error callback */
107
+ onError?: (error: Error) => void;
108
+ }
109
+ /** Information about available LLM models */
110
+ export interface LLMModelInfo {
111
+ /** Default storage path */
112
+ defaultPath: string;
113
+ /** Recommended model name */
114
+ recommendedModel: string;
115
+ /** List of available model variants */
116
+ availableModels: LLMModelVariant[];
117
+ }
118
+ /** Information about a specific model variant */
119
+ export interface LLMModelVariant {
120
+ /** Model name */
121
+ name: string;
122
+ /** Size in bytes */
123
+ size: number;
124
+ /** Quantization type (e.g., "Q4_K_M") */
125
+ quantization: string;
126
+ /** Estimated RAM required */
127
+ ramRequired: string;
128
+ }
1
129
  /** Options for HTML to Markdown conversion */
2
130
  export interface MarkdownOptions {
3
131
  /** Extract only main content using Readability (default: true) */
@@ -32,6 +160,27 @@ export interface MarkdownOptions {
32
160
  headers?: Record<string, string>;
33
161
  /** User agent string for URL fetching */
34
162
  userAgent?: string;
163
+ /** Use LLM for HTML to Markdown conversion (default: false) */
164
+ useLLM?: boolean;
165
+ /** Custom path to the LLM model file */
166
+ llmModelPath?: string;
167
+ /** LLM temperature for generation (default: 0.1) */
168
+ llmTemperature?: number;
169
+ /** Maximum tokens for LLM generation (default: 512000) */
170
+ llmMaxTokens?: number;
171
+ /** Fall back to Turndown if LLM fails (default: true) */
172
+ llmFallback?: boolean;
173
+ /** Callback for all LLM events */
174
+ onLLMEvent?: LLMEventCallback;
175
+ /** Simplified callback for download progress */
176
+ onDownloadProgress?: (downloaded: number, total: number, percentage: number) => void;
177
+ /** Simplified callback for model status changes */
178
+ onModelStatus?: (status: "checking" | "loading" | "loaded" | "not-found") => void;
179
+ /** Simplified callback for conversion progress */
180
+ onConversionProgress?: (progress: {
181
+ stage: string;
182
+ percentage?: number;
183
+ }) => void;
35
184
  }
36
185
  /** Result from markdown conversion */
37
186
  export interface MarkdownResult {
@@ -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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"}
@@ -0,0 +1,62 @@
1
+ import type { MarkdownOptions } from "../types.js";
2
+ /**
3
+ * Configuration schema for .getmdrc or get-md.config.json
4
+ */
5
+ export interface GetMdConfig {
6
+ /** Use LLM for HTML to Markdown conversion */
7
+ useLLM?: boolean;
8
+ /** Custom path to the LLM model file */
9
+ llmModelPath?: string;
10
+ /** LLM temperature for generation */
11
+ llmTemperature?: number;
12
+ /** Fall back to Turndown if LLM fails */
13
+ llmFallback?: boolean;
14
+ /** Extract main content using Readability */
15
+ extractContent?: boolean;
16
+ /** Include metadata as YAML frontmatter */
17
+ includeMeta?: boolean;
18
+ /** Include images in output */
19
+ includeImages?: boolean;
20
+ /** Include links in output */
21
+ includeLinks?: boolean;
22
+ /** Include tables in output */
23
+ includeTables?: boolean;
24
+ /** Aggressive noise removal */
25
+ aggressiveCleanup?: boolean;
26
+ /** Maximum output length */
27
+ maxLength?: number;
28
+ }
29
+ /**
30
+ * Load configuration from file(s)
31
+ *
32
+ * Searches for config files in the following order:
33
+ * 1. Current working directory
34
+ * 2. Home directory (~/.getmdrc)
35
+ *
36
+ * Config from CWD takes precedence over home directory config.
37
+ *
38
+ * @returns Merged config from all found config files, or empty object if none found
39
+ */
40
+ export declare function loadConfig(): GetMdConfig;
41
+ /**
42
+ * Load configuration from a specific file path
43
+ *
44
+ * @param filePath Path to the config file
45
+ * @returns Parsed config object
46
+ */
47
+ export declare function loadConfigFromFile(filePath: string): GetMdConfig;
48
+ /**
49
+ * Find the config file path that would be loaded
50
+ *
51
+ * @returns Path to the config file, or null if none found
52
+ */
53
+ export declare function findConfigPath(): string | null;
54
+ /**
55
+ * Merge loaded config with options, with options taking precedence
56
+ *
57
+ * @param config Loaded config
58
+ * @param options User-provided options (CLI flags or SDK options)
59
+ * @returns Merged options
60
+ */
61
+ export declare function mergeConfigWithOptions(config: GetMdConfig, options: MarkdownOptions): MarkdownOptions;
62
+ //# sourceMappingURL=config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+BAA+B;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwGD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAgBxC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAc9C;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,eAAe,GACvB,eAAe,CAYjB"}
@@ -0,0 +1,167 @@
1
+ // src/utils/config-loader.ts
2
+ import * as fs from "node:fs";
3
+ import * as os from "node:os";
4
+ import * as path from "node:path";
5
+ /**
6
+ * Supported config file names in order of priority
7
+ */
8
+ const CONFIG_FILE_NAMES = [
9
+ ".getmdrc",
10
+ ".getmdrc.json",
11
+ "get-md.config.json",
12
+ "getmd.config.json",
13
+ ];
14
+ /**
15
+ * Search for a config file in the given directory
16
+ */
17
+ function findConfigInDir(dir) {
18
+ for (const fileName of CONFIG_FILE_NAMES) {
19
+ const filePath = path.join(dir, fileName);
20
+ if (fs.existsSync(filePath)) {
21
+ return filePath;
22
+ }
23
+ }
24
+ return null;
25
+ }
26
+ /**
27
+ * Load and parse a config file
28
+ */
29
+ function loadConfigFile(filePath) {
30
+ try {
31
+ const content = fs.readFileSync(filePath, "utf-8");
32
+ const config = JSON.parse(content);
33
+ return validateConfig(config);
34
+ }
35
+ catch (error) {
36
+ const message = error instanceof Error ? error.message : String(error);
37
+ throw new Error(`Failed to load config from ${filePath}: ${message}`);
38
+ }
39
+ }
40
+ /**
41
+ * Validate config values and return a clean config object
42
+ */
43
+ function validateConfig(config) {
44
+ if (typeof config !== "object" || config === null) {
45
+ throw new Error("Config must be a JSON object");
46
+ }
47
+ const result = {};
48
+ const cfg = config;
49
+ // Validate boolean options
50
+ const booleanKeys = [
51
+ "useLLM",
52
+ "llmFallback",
53
+ "extractContent",
54
+ "includeMeta",
55
+ "includeImages",
56
+ "includeLinks",
57
+ "includeTables",
58
+ "aggressiveCleanup",
59
+ ];
60
+ for (const key of booleanKeys) {
61
+ if (key in cfg) {
62
+ const value = cfg[key];
63
+ if (typeof value !== "boolean") {
64
+ throw new Error(`Config option "${key}" must be a boolean`);
65
+ }
66
+ result[key] = value;
67
+ }
68
+ }
69
+ // Validate string options
70
+ if ("llmModelPath" in cfg) {
71
+ if (typeof cfg.llmModelPath !== "string") {
72
+ throw new Error('Config option "llmModelPath" must be a string');
73
+ }
74
+ result.llmModelPath = cfg.llmModelPath;
75
+ }
76
+ // Validate number options
77
+ if ("llmTemperature" in cfg) {
78
+ if (typeof cfg.llmTemperature !== "number") {
79
+ throw new Error('Config option "llmTemperature" must be a number');
80
+ }
81
+ if (cfg.llmTemperature < 0 || cfg.llmTemperature > 2) {
82
+ throw new Error('Config option "llmTemperature" must be between 0 and 2');
83
+ }
84
+ result.llmTemperature = cfg.llmTemperature;
85
+ }
86
+ if ("maxLength" in cfg) {
87
+ if (typeof cfg.maxLength !== "number" || !Number.isInteger(cfg.maxLength)) {
88
+ throw new Error('Config option "maxLength" must be an integer');
89
+ }
90
+ if (cfg.maxLength < 0) {
91
+ throw new Error('Config option "maxLength" must be positive');
92
+ }
93
+ result.maxLength = cfg.maxLength;
94
+ }
95
+ return result;
96
+ }
97
+ /**
98
+ * Load configuration from file(s)
99
+ *
100
+ * Searches for config files in the following order:
101
+ * 1. Current working directory
102
+ * 2. Home directory (~/.getmdrc)
103
+ *
104
+ * Config from CWD takes precedence over home directory config.
105
+ *
106
+ * @returns Merged config from all found config files, or empty object if none found
107
+ */
108
+ export function loadConfig() {
109
+ let config = {};
110
+ // 1. Load from home directory (lowest priority)
111
+ const homeConfig = findConfigInDir(os.homedir());
112
+ if (homeConfig) {
113
+ config = { ...config, ...loadConfigFile(homeConfig) };
114
+ }
115
+ // 2. Load from current working directory (highest priority)
116
+ const cwdConfig = findConfigInDir(process.cwd());
117
+ if (cwdConfig) {
118
+ config = { ...config, ...loadConfigFile(cwdConfig) };
119
+ }
120
+ return config;
121
+ }
122
+ /**
123
+ * Load configuration from a specific file path
124
+ *
125
+ * @param filePath Path to the config file
126
+ * @returns Parsed config object
127
+ */
128
+ export function loadConfigFromFile(filePath) {
129
+ return loadConfigFile(filePath);
130
+ }
131
+ /**
132
+ * Find the config file path that would be loaded
133
+ *
134
+ * @returns Path to the config file, or null if none found
135
+ */
136
+ export function findConfigPath() {
137
+ // Check CWD first (takes precedence)
138
+ const cwdConfig = findConfigInDir(process.cwd());
139
+ if (cwdConfig) {
140
+ return cwdConfig;
141
+ }
142
+ // Then check home directory
143
+ const homeConfig = findConfigInDir(os.homedir());
144
+ if (homeConfig) {
145
+ return homeConfig;
146
+ }
147
+ return null;
148
+ }
149
+ /**
150
+ * Merge loaded config with options, with options taking precedence
151
+ *
152
+ * @param config Loaded config
153
+ * @param options User-provided options (CLI flags or SDK options)
154
+ * @returns Merged options
155
+ */
156
+ export function mergeConfigWithOptions(config, options) {
157
+ // Start with config as base, then override with explicit options
158
+ const merged = { ...config };
159
+ // Only override with options that are explicitly set (not undefined)
160
+ for (const [key, value] of Object.entries(options)) {
161
+ if (value !== undefined) {
162
+ merged[key] = value;
163
+ }
164
+ }
165
+ return merged;
166
+ }
167
+ //# sourceMappingURL=config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config-loader.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.spec.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.spec.ts"],"names":[],"mappings":""}