@steipete/summarize-core 0.10.0 → 0.11.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 (194) hide show
  1. package/README.md +0 -1
  2. package/dist/esm/content/index.js +5 -5
  3. package/dist/esm/content/index.js.map +1 -1
  4. package/dist/esm/content/link-preview/client.js +20 -9
  5. package/dist/esm/content/link-preview/client.js.map +1 -1
  6. package/dist/esm/content/link-preview/content/article.js +84 -83
  7. package/dist/esm/content/link-preview/content/article.js.map +1 -1
  8. package/dist/esm/content/link-preview/content/cleaner.js +23 -20
  9. package/dist/esm/content/link-preview/content/cleaner.js.map +1 -1
  10. package/dist/esm/content/link-preview/content/constants.js.map +1 -1
  11. package/dist/esm/content/link-preview/content/fetcher.js +46 -40
  12. package/dist/esm/content/link-preview/content/fetcher.js.map +1 -1
  13. package/dist/esm/content/link-preview/content/firecrawl.js +16 -16
  14. package/dist/esm/content/link-preview/content/firecrawl.js.map +1 -1
  15. package/dist/esm/content/link-preview/content/html.js +29 -27
  16. package/dist/esm/content/link-preview/content/html.js.map +1 -1
  17. package/dist/esm/content/link-preview/content/index.js +141 -88
  18. package/dist/esm/content/link-preview/content/index.js.map +1 -1
  19. package/dist/esm/content/link-preview/content/jsonld.js +12 -12
  20. package/dist/esm/content/link-preview/content/jsonld.js.map +1 -1
  21. package/dist/esm/content/link-preview/content/parsers.js +20 -20
  22. package/dist/esm/content/link-preview/content/parsers.js.map +1 -1
  23. package/dist/esm/content/link-preview/content/podcast-utils.js +34 -34
  24. package/dist/esm/content/link-preview/content/podcast-utils.js.map +1 -1
  25. package/dist/esm/content/link-preview/content/readability.js +16 -15
  26. package/dist/esm/content/link-preview/content/readability.js.map +1 -1
  27. package/dist/esm/content/link-preview/content/twitter-utils.js +24 -11
  28. package/dist/esm/content/link-preview/content/twitter-utils.js.map +1 -1
  29. package/dist/esm/content/link-preview/content/types.js +1 -1
  30. package/dist/esm/content/link-preview/content/types.js.map +1 -1
  31. package/dist/esm/content/link-preview/content/utils.js +17 -17
  32. package/dist/esm/content/link-preview/content/utils.js.map +1 -1
  33. package/dist/esm/content/link-preview/content/video.js +19 -19
  34. package/dist/esm/content/link-preview/content/video.js.map +1 -1
  35. package/dist/esm/content/link-preview/content/visibility.js +121 -0
  36. package/dist/esm/content/link-preview/content/visibility.js.map +1 -0
  37. package/dist/esm/content/link-preview/content/youtube.js +10 -10
  38. package/dist/esm/content/link-preview/content/youtube.js.map +1 -1
  39. package/dist/esm/content/link-preview/deps.js +16 -16
  40. package/dist/esm/content/link-preview/deps.js.map +1 -1
  41. package/dist/esm/content/link-preview/fetch-with-timeout.js +4 -4
  42. package/dist/esm/content/link-preview/fetch-with-timeout.js.map +1 -1
  43. package/dist/esm/content/link-preview/types.js +1 -1
  44. package/dist/esm/content/link-preview/types.js.map +1 -1
  45. package/dist/esm/content/transcript/cache.js +22 -22
  46. package/dist/esm/content/transcript/cache.js.map +1 -1
  47. package/dist/esm/content/transcript/index.js +34 -24
  48. package/dist/esm/content/transcript/index.js.map +1 -1
  49. package/dist/esm/content/transcript/normalize.js +10 -10
  50. package/dist/esm/content/transcript/normalize.js.map +1 -1
  51. package/dist/esm/content/transcript/parse.js +31 -31
  52. package/dist/esm/content/transcript/parse.js.map +1 -1
  53. package/dist/esm/content/transcript/providers/generic.js +74 -78
  54. package/dist/esm/content/transcript/providers/generic.js.map +1 -1
  55. package/dist/esm/content/transcript/providers/podcast/apple-flow.js +36 -36
  56. package/dist/esm/content/transcript/providers/podcast/apple-flow.js.map +1 -1
  57. package/dist/esm/content/transcript/providers/podcast/apple.js +5 -5
  58. package/dist/esm/content/transcript/providers/podcast/apple.js.map +1 -1
  59. package/dist/esm/content/transcript/providers/podcast/constants.js +2 -2
  60. package/dist/esm/content/transcript/providers/podcast/constants.js.map +1 -1
  61. package/dist/esm/content/transcript/providers/podcast/itunes.js +44 -42
  62. package/dist/esm/content/transcript/providers/podcast/itunes.js.map +1 -1
  63. package/dist/esm/content/transcript/providers/podcast/json.js +4 -4
  64. package/dist/esm/content/transcript/providers/podcast/json.js.map +1 -1
  65. package/dist/esm/content/transcript/providers/podcast/media.js +58 -49
  66. package/dist/esm/content/transcript/providers/podcast/media.js.map +1 -1
  67. package/dist/esm/content/transcript/providers/podcast/results.js +2 -2
  68. package/dist/esm/content/transcript/providers/podcast/results.js.map +1 -1
  69. package/dist/esm/content/transcript/providers/podcast/rss.js +29 -29
  70. package/dist/esm/content/transcript/providers/podcast/rss.js.map +1 -1
  71. package/dist/esm/content/transcript/providers/podcast/spotify-flow.js +38 -38
  72. package/dist/esm/content/transcript/providers/podcast/spotify-flow.js.map +1 -1
  73. package/dist/esm/content/transcript/providers/podcast/spotify.js +32 -32
  74. package/dist/esm/content/transcript/providers/podcast/spotify.js.map +1 -1
  75. package/dist/esm/content/transcript/providers/podcast.js +43 -47
  76. package/dist/esm/content/transcript/providers/podcast.js.map +1 -1
  77. package/dist/esm/content/transcript/providers/transcription-start.js +59 -31
  78. package/dist/esm/content/transcript/providers/transcription-start.js.map +1 -1
  79. package/dist/esm/content/transcript/providers/youtube/api.js +56 -56
  80. package/dist/esm/content/transcript/providers/youtube/api.js.map +1 -1
  81. package/dist/esm/content/transcript/providers/youtube/apify.js +7 -7
  82. package/dist/esm/content/transcript/providers/youtube/apify.js.map +1 -1
  83. package/dist/esm/content/transcript/providers/youtube/captions.js +76 -76
  84. package/dist/esm/content/transcript/providers/youtube/captions.js.map +1 -1
  85. package/dist/esm/content/transcript/providers/youtube/yt-dlp.js +82 -75
  86. package/dist/esm/content/transcript/providers/youtube/yt-dlp.js.map +1 -1
  87. package/dist/esm/content/transcript/providers/youtube.js +84 -77
  88. package/dist/esm/content/transcript/providers/youtube.js.map +1 -1
  89. package/dist/esm/content/transcript/timestamps.js +8 -8
  90. package/dist/esm/content/transcript/timestamps.js.map +1 -1
  91. package/dist/esm/content/transcript/transcription-config.js +14 -0
  92. package/dist/esm/content/transcript/transcription-config.js.map +1 -0
  93. package/dist/esm/content/transcript/utils.js +35 -35
  94. package/dist/esm/content/transcript/utils.js.map +1 -1
  95. package/dist/esm/content/url.js +59 -28
  96. package/dist/esm/content/url.js.map +1 -1
  97. package/dist/esm/index.js +4 -3
  98. package/dist/esm/index.js.map +1 -1
  99. package/dist/esm/language.js +77 -77
  100. package/dist/esm/language.js.map +1 -1
  101. package/dist/esm/openai/base-url.js +35 -0
  102. package/dist/esm/openai/base-url.js.map +1 -0
  103. package/dist/esm/processes.js +16 -16
  104. package/dist/esm/processes.js.map +1 -1
  105. package/dist/esm/prompts/cli.js +17 -17
  106. package/dist/esm/prompts/cli.js.map +1 -1
  107. package/dist/esm/prompts/file.js +54 -54
  108. package/dist/esm/prompts/file.js.map +1 -1
  109. package/dist/esm/prompts/format.js +2 -2
  110. package/dist/esm/prompts/format.js.map +1 -1
  111. package/dist/esm/prompts/index.js +5 -5
  112. package/dist/esm/prompts/index.js.map +1 -1
  113. package/dist/esm/prompts/link-summary.js +65 -65
  114. package/dist/esm/prompts/link-summary.js.map +1 -1
  115. package/dist/esm/prompts/summary-lengths.js +10 -10
  116. package/dist/esm/prompts/summary-lengths.js.map +1 -1
  117. package/dist/esm/prompts/summary-system.js +9 -9
  118. package/dist/esm/prompts/summary-system.js.map +1 -1
  119. package/dist/esm/shared/contracts.js +1 -1
  120. package/dist/esm/shared/contracts.js.map +1 -1
  121. package/dist/esm/transcription/onnx-cli.js +69 -69
  122. package/dist/esm/transcription/onnx-cli.js.map +1 -1
  123. package/dist/esm/transcription/whisper/constants.js +3 -3
  124. package/dist/esm/transcription/whisper/constants.js.map +1 -1
  125. package/dist/esm/transcription/whisper/core.js +148 -59
  126. package/dist/esm/transcription/whisper/core.js.map +1 -1
  127. package/dist/esm/transcription/whisper/fal.js +14 -14
  128. package/dist/esm/transcription/whisper/fal.js.map +1 -1
  129. package/dist/esm/transcription/whisper/ffmpeg.js +106 -106
  130. package/dist/esm/transcription/whisper/ffmpeg.js.map +1 -1
  131. package/dist/esm/transcription/whisper/groq.js +46 -0
  132. package/dist/esm/transcription/whisper/groq.js.map +1 -0
  133. package/dist/esm/transcription/whisper/openai.js +19 -13
  134. package/dist/esm/transcription/whisper/openai.js.map +1 -1
  135. package/dist/esm/transcription/whisper/utils.js +19 -19
  136. package/dist/esm/transcription/whisper/utils.js.map +1 -1
  137. package/dist/esm/transcription/whisper/whisper-cpp.js +64 -64
  138. package/dist/esm/transcription/whisper/whisper-cpp.js.map +1 -1
  139. package/dist/esm/transcription/whisper.js +4 -4
  140. package/dist/esm/transcription/whisper.js.map +1 -1
  141. package/dist/types/content/cache/types.d.ts +1 -1
  142. package/dist/types/content/index.d.ts +7 -7
  143. package/dist/types/content/link-preview/client.d.ts +7 -4
  144. package/dist/types/content/link-preview/content/cleaner.d.ts +1 -0
  145. package/dist/types/content/link-preview/content/fetcher.d.ts +2 -2
  146. package/dist/types/content/link-preview/content/firecrawl.d.ts +7 -7
  147. package/dist/types/content/link-preview/content/html.d.ts +8 -8
  148. package/dist/types/content/link-preview/content/index.d.ts +3 -3
  149. package/dist/types/content/link-preview/content/twitter-utils.d.ts +1 -0
  150. package/dist/types/content/link-preview/content/types.d.ts +8 -8
  151. package/dist/types/content/link-preview/content/utils.d.ts +3 -3
  152. package/dist/types/content/link-preview/content/video.d.ts +1 -1
  153. package/dist/types/content/link-preview/content/visibility.d.ts +1 -0
  154. package/dist/types/content/link-preview/deps.d.ts +36 -33
  155. package/dist/types/content/link-preview/types.d.ts +4 -4
  156. package/dist/types/content/transcript/cache.d.ts +4 -4
  157. package/dist/types/content/transcript/index.d.ts +7 -7
  158. package/dist/types/content/transcript/parse.d.ts +1 -1
  159. package/dist/types/content/transcript/providers/generic.d.ts +1 -1
  160. package/dist/types/content/transcript/providers/podcast/apple-flow.d.ts +2 -2
  161. package/dist/types/content/transcript/providers/podcast/flow-context.d.ts +4 -4
  162. package/dist/types/content/transcript/providers/podcast/media.d.ts +9 -6
  163. package/dist/types/content/transcript/providers/podcast/results.d.ts +3 -3
  164. package/dist/types/content/transcript/providers/podcast/rss.d.ts +1 -1
  165. package/dist/types/content/transcript/providers/podcast/spotify-flow.d.ts +2 -2
  166. package/dist/types/content/transcript/providers/podcast/spotify.d.ts +2 -2
  167. package/dist/types/content/transcript/providers/podcast.d.ts +5 -5
  168. package/dist/types/content/transcript/providers/transcription-start.d.ts +14 -8
  169. package/dist/types/content/transcript/providers/youtube/api.d.ts +1 -1
  170. package/dist/types/content/transcript/providers/youtube/captions.d.ts +1 -1
  171. package/dist/types/content/transcript/providers/youtube/yt-dlp.d.ts +11 -8
  172. package/dist/types/content/transcript/providers/youtube.d.ts +1 -1
  173. package/dist/types/content/transcript/timestamps.d.ts +1 -1
  174. package/dist/types/content/transcript/transcription-config.d.ts +15 -0
  175. package/dist/types/content/transcript/types.d.ts +12 -9
  176. package/dist/types/content/transcript/utils.d.ts +1 -1
  177. package/dist/types/content/url.d.ts +5 -3
  178. package/dist/types/index.d.ts +5 -4
  179. package/dist/types/language.d.ts +4 -4
  180. package/dist/types/openai/base-url.d.ts +14 -0
  181. package/dist/types/processes.d.ts +2 -2
  182. package/dist/types/prompts/cli.d.ts +3 -3
  183. package/dist/types/prompts/file.d.ts +2 -2
  184. package/dist/types/prompts/index.d.ts +6 -6
  185. package/dist/types/prompts/link-summary.d.ts +3 -3
  186. package/dist/types/prompts/summary-lengths.d.ts +1 -1
  187. package/dist/types/transcription/onnx-cli.d.ts +3 -3
  188. package/dist/types/transcription/whisper/core.d.ts +6 -3
  189. package/dist/types/transcription/whisper/groq.d.ts +2 -0
  190. package/dist/types/transcription/whisper/openai.d.ts +6 -1
  191. package/dist/types/transcription/whisper/types.d.ts +1 -1
  192. package/dist/types/transcription/whisper/whisper-cpp.d.ts +1 -1
  193. package/dist/types/transcription/whisper.d.ts +5 -5
  194. package/package.json +13 -13
@@ -1,7 +1,7 @@
1
- import type { OutputLanguage } from '../language.js';
2
- import { type SummaryLengthTarget } from './link-summary.js';
1
+ import type { OutputLanguage } from "../language.js";
2
+ import { type SummaryLengthTarget } from "./link-summary.js";
3
3
  export declare function buildPathSummaryPrompt({ kindLabel, filePath, filename, mediaType, outputLanguage, summaryLength, promptOverride, lengthInstruction, languageInstruction, }: {
4
- kindLabel: 'file' | 'image';
4
+ kindLabel: "file" | "image";
5
5
  filePath: string;
6
6
  filename: string | null;
7
7
  mediaType: string | null;
@@ -1,5 +1,5 @@
1
- import type { OutputLanguage } from '../language.js';
2
- import { type SummaryLengthTarget } from './link-summary.js';
1
+ import type { OutputLanguage } from "../language.js";
2
+ import { type SummaryLengthTarget } from "./link-summary.js";
3
3
  export declare function buildFileSummaryPrompt({ filename, mediaType, outputLanguage, summaryLength, contentLength, promptOverride, lengthInstruction, languageInstruction, }: {
4
4
  filename: string | null;
5
5
  mediaType: string | null;
@@ -1,6 +1,6 @@
1
- export type { SummaryLength } from '../shared/contracts.js';
2
- export { buildPathSummaryPrompt } from './cli.js';
3
- export { buildFileSummaryPrompt, buildFileTextSummaryPrompt } from './file.js';
4
- export { buildLinkSummaryPrompt, estimateMaxCompletionTokensForCharacters, pickSummaryLengthForCharacters, type ShareContextEntry, SUMMARY_LENGTH_TO_TOKENS, type SummaryLengthTarget, } from './link-summary.js';
5
- export { formatPresetLengthGuidance, resolveSummaryLengthSpec, SUMMARY_LENGTH_MAX_CHARACTERS, SUMMARY_LENGTH_SPECS, SUMMARY_LENGTH_TARGET_CHARACTERS, } from './summary-lengths.js';
6
- export { SUMMARY_SYSTEM_PROMPT } from './summary-system.js';
1
+ export type { SummaryLength } from "../shared/contracts.js";
2
+ export { buildPathSummaryPrompt } from "./cli.js";
3
+ export { buildFileSummaryPrompt, buildFileTextSummaryPrompt } from "./file.js";
4
+ export { buildLinkSummaryPrompt, estimateMaxCompletionTokensForCharacters, pickSummaryLengthForCharacters, type ShareContextEntry, SUMMARY_LENGTH_TO_TOKENS, type SummaryLengthTarget, } from "./link-summary.js";
5
+ export { formatPresetLengthGuidance, resolveSummaryLengthSpec, SUMMARY_LENGTH_MAX_CHARACTERS, SUMMARY_LENGTH_SPECS, SUMMARY_LENGTH_TARGET_CHARACTERS, } from "./summary-lengths.js";
6
+ export { SUMMARY_SYSTEM_PROMPT } from "./summary-system.js";
@@ -1,6 +1,6 @@
1
- import type { OutputLanguage } from '../language.js';
2
- import type { SummaryLength } from '../shared/contracts.js';
3
- import { SUMMARY_LENGTH_TO_TOKENS } from './summary-lengths.js';
1
+ import type { OutputLanguage } from "../language.js";
2
+ import type { SummaryLength } from "../shared/contracts.js";
3
+ import { SUMMARY_LENGTH_TO_TOKENS } from "./summary-lengths.js";
4
4
  export { SUMMARY_LENGTH_TO_TOKENS };
5
5
  export type SummaryLengthTarget = SummaryLength | {
6
6
  maxCharacters: number;
@@ -1,4 +1,4 @@
1
- import type { SummaryLength } from '../shared/contracts.js';
1
+ import type { SummaryLength } from "../shared/contracts.js";
2
2
  export type SummaryLengthSpec = {
3
3
  guidance: string;
4
4
  formatting: string;
@@ -1,9 +1,9 @@
1
- import type { WhisperProgressEvent, WhisperTranscriptionResult } from './whisper/types.js';
2
- export type OnnxModelId = 'parakeet' | 'canary';
1
+ import type { WhisperProgressEvent, WhisperTranscriptionResult } from "./whisper/types.js";
2
+ export type OnnxModelId = "parakeet" | "canary";
3
3
  type Env = Record<string, string | undefined>;
4
4
  export declare function resolvePreferredOnnxModel(env?: Env): OnnxModelId | null;
5
5
  export declare function isOnnxCliConfigured(model: OnnxModelId, env?: Env): boolean;
6
- export declare function resolveOnnxProviderId(model: OnnxModelId): WhisperTranscriptionResult['provider'];
6
+ export declare function resolveOnnxProviderId(model: OnnxModelId): WhisperTranscriptionResult["provider"];
7
7
  export declare function resolveOnnxCommand(model: OnnxModelId, env?: Env): string | null;
8
8
  export declare function transcribeWithOnnxCli({ model, bytes, mediaType, filename, totalDurationSeconds, onProgress, env, }: {
9
9
  model: OnnxModelId;
@@ -1,19 +1,22 @@
1
- import type { WhisperProgressEvent, WhisperTranscriptionResult } from './types.js';
1
+ import type { WhisperProgressEvent, WhisperTranscriptionResult } from "./types.js";
2
2
  type Env = Record<string, string | undefined>;
3
- export declare function transcribeMediaWithWhisper({ bytes, mediaType, filename, openaiApiKey, falApiKey, totalDurationSeconds, onProgress, env, }: {
3
+ export declare function transcribeMediaWithWhisper({ bytes, mediaType, filename, groqApiKey, skipGroq, openaiApiKey, falApiKey, totalDurationSeconds, onProgress, env, }: {
4
4
  bytes: Uint8Array;
5
5
  mediaType: string;
6
6
  filename: string | null;
7
+ groqApiKey: string | null;
8
+ skipGroq?: boolean;
7
9
  openaiApiKey: string | null;
8
10
  falApiKey: string | null;
9
11
  totalDurationSeconds?: number | null;
10
12
  onProgress?: ((event: WhisperProgressEvent) => void) | null;
11
13
  env?: Env;
12
14
  }): Promise<WhisperTranscriptionResult>;
13
- export declare function transcribeMediaFileWithWhisper({ filePath, mediaType, filename, openaiApiKey, falApiKey, segmentSeconds, totalDurationSeconds, onProgress, env, }: {
15
+ export declare function transcribeMediaFileWithWhisper({ filePath, mediaType, filename, groqApiKey, openaiApiKey, falApiKey, segmentSeconds, totalDurationSeconds, onProgress, env, }: {
14
16
  filePath: string;
15
17
  mediaType: string;
16
18
  filename: string | null;
19
+ groqApiKey: string | null;
17
20
  openaiApiKey: string | null;
18
21
  falApiKey: string | null;
19
22
  segmentSeconds?: number;
@@ -0,0 +1,2 @@
1
+ export declare function transcribeWithGroq(bytes: Uint8Array, mediaType: string, filename: string | null, apiKey: string): Promise<string | null>;
2
+ export declare function shouldRetryGroqViaFfmpeg(error: Error): boolean;
@@ -1,2 +1,7 @@
1
- export declare function transcribeWithOpenAi(bytes: Uint8Array, mediaType: string, filename: string | null, apiKey: string): Promise<string | null>;
1
+ type Env = Record<string, string | undefined>;
2
+ export declare function transcribeWithOpenAi(bytes: Uint8Array, mediaType: string, filename: string | null, apiKey: string, options?: {
3
+ baseUrl?: string | null;
4
+ env?: Env;
5
+ }): Promise<string | null>;
2
6
  export declare function shouldRetryOpenAiViaFfmpeg(error: Error): boolean;
7
+ export {};
@@ -1,4 +1,4 @@
1
- export type TranscriptionProvider = 'openai' | 'fal' | 'whisper.cpp' | 'onnx-parakeet' | 'onnx-canary';
1
+ export type TranscriptionProvider = "groq" | "openai" | "fal" | "whisper.cpp" | "onnx-parakeet" | "onnx-canary";
2
2
  export type WhisperTranscriptionResult = {
3
3
  text: string | null;
4
4
  provider: TranscriptionProvider | null;
@@ -1,4 +1,4 @@
1
- import type { WhisperProgressEvent, WhisperTranscriptionResult } from './types.js';
1
+ import type { WhisperProgressEvent, WhisperTranscriptionResult } from "./types.js";
2
2
  export declare function isWhisperCppReady(): Promise<boolean>;
3
3
  export declare function resolveWhisperCppModelNameForDisplay(): Promise<string | null>;
4
4
  export declare function transcribeWithWhisperCppFile({ filePath, mediaType, totalDurationSeconds, onProgress, }: {
@@ -1,5 +1,5 @@
1
- export { MAX_OPENAI_UPLOAD_BYTES } from './whisper/constants.js';
2
- export { transcribeMediaFileWithWhisper, transcribeMediaWithWhisper } from './whisper/core.js';
3
- export { isFfmpegAvailable, probeMediaDurationSecondsWithFfprobe } from './whisper/ffmpeg.js';
4
- export type { TranscriptionProvider, WhisperProgressEvent, WhisperTranscriptionResult, } from './whisper/types.js';
5
- export { isWhisperCppReady, resolveWhisperCppModelNameForDisplay, } from './whisper/whisper-cpp.js';
1
+ export { MAX_OPENAI_UPLOAD_BYTES } from "./whisper/constants.js";
2
+ export { transcribeMediaFileWithWhisper, transcribeMediaWithWhisper } from "./whisper/core.js";
3
+ export { isFfmpegAvailable, probeMediaDurationSecondsWithFfprobe } from "./whisper/ffmpeg.js";
4
+ export type { TranscriptionProvider, WhisperProgressEvent, WhisperTranscriptionResult, } from "./whisper/types.js";
5
+ export { isWhisperCppReady, resolveWhisperCppModelNameForDisplay } from "./whisper/whisper-cpp.js";
package/package.json CHANGED
@@ -1,7 +1,11 @@
1
1
  {
2
2
  "name": "@steipete/summarize-core",
3
- "version": "0.10.0",
3
+ "version": "0.11.1",
4
4
  "description": "Summarize core library (content extraction + prompts).",
5
+ "files": [
6
+ "dist",
7
+ "README.md"
8
+ ],
5
9
  "type": "module",
6
10
  "main": "./dist/esm/index.js",
7
11
  "module": "./dist/esm/index.js",
@@ -32,31 +36,27 @@
32
36
  "import": "./dist/esm/language.js"
33
37
  }
34
38
  },
35
- "files": [
36
- "dist",
37
- "README.md"
38
- ],
39
- "engines": {
40
- "node": ">=22"
41
- },
42
39
  "dependencies": {
43
- "@fal-ai/client": "^1.8.3",
40
+ "@fal-ai/client": "^1.9.1",
44
41
  "@mozilla/readability": "0.6.0",
45
- "cheerio": "^1.1.2",
42
+ "cheerio": "^1.2.0",
46
43
  "es-toolkit": "^1.44.0",
47
- "jsdom": "27.4.0",
44
+ "jsdom": "28.0.0",
48
45
  "sanitize-html": "^2.17.0"
49
46
  },
50
47
  "devDependencies": {
51
48
  "@types/jsdom": "^27.0.0",
52
- "@types/node": "^25.0.9",
49
+ "@types/node": "^25.2.3",
53
50
  "@types/sanitize-html": "^2.16.0",
54
51
  "rimraf": "^6.1.2",
55
52
  "typescript": "^5.9.3"
56
53
  },
54
+ "engines": {
55
+ "node": ">=22"
56
+ },
57
57
  "scripts": {
58
- "clean": "rimraf dist",
59
58
  "build": "pnpm clean && tsc -p tsconfig.build.json",
59
+ "clean": "rimraf dist",
60
60
  "typecheck": "tsc -p tsconfig.build.json --noEmit"
61
61
  }
62
62
  }