@steipete/summarize 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +33 -3
  2. package/README.md +41 -9
  3. package/dist/cli.cjs +5209 -740
  4. package/dist/cli.cjs.map +4 -4
  5. package/dist/esm/content/link-preview/client.js +6 -0
  6. package/dist/esm/content/link-preview/client.js.map +1 -1
  7. package/dist/esm/content/link-preview/transcript/index.js +6 -0
  8. package/dist/esm/content/link-preview/transcript/index.js.map +1 -1
  9. package/dist/esm/content/link-preview/transcript/providers/youtube/yt-dlp.js +213 -0
  10. package/dist/esm/content/link-preview/transcript/providers/youtube/yt-dlp.js.map +1 -0
  11. package/dist/esm/content/link-preview/transcript/providers/youtube.js +40 -2
  12. package/dist/esm/content/link-preview/transcript/providers/youtube.js.map +1 -1
  13. package/dist/esm/flags.js +20 -1
  14. package/dist/esm/flags.js.map +1 -1
  15. package/dist/esm/llm/generate-text.js +51 -14
  16. package/dist/esm/llm/generate-text.js.map +1 -1
  17. package/dist/esm/llm/html-to-markdown.js +3 -2
  18. package/dist/esm/llm/html-to-markdown.js.map +1 -1
  19. package/dist/esm/markitdown.js +54 -0
  20. package/dist/esm/markitdown.js.map +1 -0
  21. package/dist/esm/prompts/file.js +19 -0
  22. package/dist/esm/prompts/file.js.map +1 -1
  23. package/dist/esm/prompts/index.js +1 -1
  24. package/dist/esm/prompts/index.js.map +1 -1
  25. package/dist/esm/run.js +302 -44
  26. package/dist/esm/run.js.map +1 -1
  27. package/dist/esm/version.js +1 -1
  28. package/dist/types/content/link-preview/client.d.ts +3 -0
  29. package/dist/types/content/link-preview/content/types.d.ts +1 -1
  30. package/dist/types/content/link-preview/deps.d.ts +3 -0
  31. package/dist/types/content/link-preview/transcript/providers/youtube/yt-dlp.d.ts +15 -0
  32. package/dist/types/content/link-preview/transcript/types.d.ts +4 -0
  33. package/dist/types/flags.d.ts +5 -1
  34. package/dist/types/llm/generate-text.d.ts +8 -2
  35. package/dist/types/llm/html-to-markdown.d.ts +4 -1
  36. package/dist/types/markitdown.d.ts +10 -0
  37. package/dist/types/prompts/file.d.ts +7 -0
  38. package/dist/types/prompts/index.d.ts +1 -1
  39. package/dist/types/run.d.ts +3 -1
  40. package/dist/types/version.d.ts +1 -1
  41. package/docs/README.md +1 -1
  42. package/docs/extract-only.md +10 -7
  43. package/docs/firecrawl.md +2 -2
  44. package/docs/site/docs/config.html +3 -3
  45. package/docs/site/docs/extract-only.html +7 -5
  46. package/docs/site/docs/firecrawl.html +6 -6
  47. package/docs/site/docs/index.html +2 -2
  48. package/docs/site/docs/llm.html +2 -2
  49. package/docs/site/docs/openai.html +2 -2
  50. package/docs/site/docs/website.html +7 -4
  51. package/docs/site/docs/youtube.html +2 -2
  52. package/docs/site/index.html +1 -1
  53. package/docs/website.md +10 -7
  54. package/docs/youtube.md +6 -3
  55. package/package.json +5 -1
@@ -20,7 +20,7 @@ ${html}
20
20
  `;
21
21
  return { system, prompt };
22
22
  }
23
- export function createHtmlToMarkdownConverter({ modelId, xaiApiKey, googleApiKey, openaiApiKey, anthropicApiKey, fetchImpl, onUsage, }) {
23
+ export function createHtmlToMarkdownConverter({ modelId, xaiApiKey, googleApiKey, openaiApiKey, anthropicApiKey, openrouterApiKey, openrouter, fetchImpl, onUsage, }) {
24
24
  return async ({ url, html, title, siteName, timeoutMs }) => {
25
25
  const trimmedHtml = html.length > MAX_HTML_INPUT_CHARACTERS ? html.slice(0, MAX_HTML_INPUT_CHARACTERS) : html;
26
26
  const { system, prompt } = buildHtmlToMarkdownPrompt({
@@ -31,7 +31,8 @@ export function createHtmlToMarkdownConverter({ modelId, xaiApiKey, googleApiKey
31
31
  });
32
32
  const result = await generateTextWithModelId({
33
33
  modelId,
34
- apiKeys: { xaiApiKey, googleApiKey, openaiApiKey, anthropicApiKey },
34
+ apiKeys: { xaiApiKey, googleApiKey, openaiApiKey, anthropicApiKey, openrouterApiKey },
35
+ openrouter,
35
36
  system,
36
37
  prompt,
37
38
  timeoutMs,
@@ -1 +1 @@
1
- {"version":3,"file":"html-to-markdown.js","sourceRoot":"","sources":["../../../src/llm/html-to-markdown.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,MAAM,yBAAyB,GAAG,OAAO,CAAA;AAEzC,SAAS,yBAAyB,CAAC,EACjC,GAAG,EACH,KAAK,EACL,QAAQ,EACR,IAAI,GAML;IACC,MAAM,MAAM,GAAG;;;;;;;yBAOQ,CAAA;IAEvB,MAAM,MAAM,GAAG,QAAQ,GAAG;QACpB,QAAQ,IAAI,SAAS;SACpB,KAAK,IAAI,SAAS;;;;EAIzB,IAAI;;CAEL,CAAA;IAEC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,EAC5C,OAAO,EACP,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,OAAO,GAaR;IACC,OAAO,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QACzD,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3F,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,yBAAyB,CAAC;YACnD,GAAG;YACH,KAAK;YACL,QAAQ;YACR,IAAI,EAAE,WAAW;SAClB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;YAC3C,OAAO;YACP,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE;YACnE,MAAM;YACN,MAAM;YACN,SAAS;YACT,SAAS;SACV,CAAC,CAAA;QACF,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAC7F,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"html-to-markdown.js","sourceRoot":"","sources":["../../../src/llm/html-to-markdown.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAA0B,MAAM,oBAAoB,CAAA;AAEpF,MAAM,yBAAyB,GAAG,OAAO,CAAA;AAEzC,SAAS,yBAAyB,CAAC,EACjC,GAAG,EACH,KAAK,EACL,QAAQ,EACR,IAAI,GAML;IACC,MAAM,MAAM,GAAG;;;;;;;yBAOQ,CAAA;IAEvB,MAAM,MAAM,GAAG,QAAQ,GAAG;QACpB,QAAQ,IAAI,SAAS;SACpB,KAAK,IAAI,SAAS;;;;EAIzB,IAAI;;CAEL,CAAA;IAEC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,EAC5C,OAAO,EACP,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,OAAO,GAeR;IACC,OAAO,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QACzD,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3F,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,yBAAyB,CAAC;YACnD,GAAG;YACH,KAAK;YACL,QAAQ;YACR,IAAI,EAAE,WAAW;SAClB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;YAC3C,OAAO;YACP,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE;YACrF,UAAU;YACV,MAAM;YACN,MAAM;YACN,SAAS;YACT,SAAS;SACV,CAAC,CAAA;QACF,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAC7F,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,54 @@
1
+ import fs from 'node:fs/promises';
2
+ import { tmpdir } from 'node:os';
3
+ import path from 'node:path';
4
+ function guessExtension({ filenameHint, mediaType, }) {
5
+ const ext = filenameHint ? path.extname(filenameHint).toLowerCase() : '';
6
+ if (ext)
7
+ return ext;
8
+ if (mediaType === 'text/html' || mediaType === 'application/xhtml+xml')
9
+ return '.html';
10
+ if (mediaType === 'application/pdf')
11
+ return '.pdf';
12
+ return '.bin';
13
+ }
14
+ async function execFileText(execFileImpl, cmd, args, options) {
15
+ return await new Promise((resolve, reject) => {
16
+ execFileImpl(cmd, args, options, (error, stdout, stderr) => {
17
+ if (error) {
18
+ const stderrText = typeof stderr === 'string' ? stderr : stderr.toString('utf8');
19
+ const message = stderrText.trim() ? `${error.message}: ${stderrText.trim()}` : error.message;
20
+ reject(new Error(message, { cause: error }));
21
+ return;
22
+ }
23
+ const stdoutText = typeof stdout === 'string' ? stdout : stdout.toString('utf8');
24
+ const stderrText = typeof stderr === 'string' ? stderr : stderr.toString('utf8');
25
+ resolve({ stdout: stdoutText, stderr: stderrText });
26
+ });
27
+ });
28
+ }
29
+ export async function convertToMarkdownWithMarkitdown({ bytes, filenameHint, mediaTypeHint, uvxCommand, timeoutMs, env, execFileImpl, }) {
30
+ const dir = await fs.mkdtemp(path.join(tmpdir(), 'summarize-markitdown-'));
31
+ const ext = guessExtension({ filenameHint, mediaType: mediaTypeHint });
32
+ const base = (filenameHint ? path.basename(filenameHint, path.extname(filenameHint)) : 'input')
33
+ .replaceAll(/[^\w.-]+/g, '-')
34
+ .slice(0, 64);
35
+ const filePath = path.join(dir, `${base}${ext}`);
36
+ try {
37
+ await fs.writeFile(filePath, bytes);
38
+ const from = 'markitdown[all]';
39
+ const { stdout } = await execFileText(execFileImpl, uvxCommand && uvxCommand.trim().length > 0 ? uvxCommand.trim() : 'uvx', ['--from', from, 'markitdown', filePath], {
40
+ timeout: timeoutMs,
41
+ env: { ...process.env, ...env },
42
+ maxBuffer: 50 * 1024 * 1024,
43
+ });
44
+ const markdown = stdout.trim();
45
+ if (!markdown) {
46
+ throw new Error('markitdown returned empty output');
47
+ }
48
+ return markdown;
49
+ }
50
+ finally {
51
+ await fs.rm(dir, { recursive: true, force: true });
52
+ }
53
+ }
54
+ //# sourceMappingURL=markitdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markitdown.js","sourceRoot":"","sources":["../../src/markitdown.ts"],"names":[],"mappings":"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"}
@@ -22,4 +22,23 @@ export function buildFileSummaryPrompt({ filename, mediaType, summaryLength, con
22
22
  ${headerLines.length > 0 ? `${headerLines.join('\n')}\n\n` : ''}Return only the summary.`;
23
23
  return prompt;
24
24
  }
25
+ export function buildFileTextSummaryPrompt({ filename, originalMediaType, contentMediaType, summaryLength, contentLength, }) {
26
+ const effectiveSummaryLength = typeof summaryLength === 'string'
27
+ ? summaryLength
28
+ : summaryLength.maxCharacters > contentLength
29
+ ? { maxCharacters: contentLength }
30
+ : summaryLength;
31
+ const maxCharactersLine = typeof effectiveSummaryLength === 'string'
32
+ ? ''
33
+ : `Target length: around ${effectiveSummaryLength.maxCharacters.toLocaleString()} characters total (including Markdown and whitespace). This is a soft guideline; prioritize clarity.`;
34
+ const headerLines = [
35
+ filename ? `Filename: ${filename}` : null,
36
+ originalMediaType ? `Original media type: ${originalMediaType}` : null,
37
+ `Provided as: ${contentMediaType}`,
38
+ `Extracted content length: ${contentLength.toLocaleString()} characters. Do not exceed the extracted content length; if the requested length is larger, keep the summary at or below the extracted content length and do not add details.`,
39
+ ].filter(Boolean);
40
+ return `You summarize files for curious users. Summarize the file content below. Be factual and do not invent details. Format the answer in Markdown. Do not use emojis. ${maxCharactersLine}
41
+
42
+ ${headerLines.length > 0 ? `${headerLines.join('\n')}\n\n` : ''}Return only the summary.`;
43
+ }
25
44
  //# sourceMappingURL=file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/prompts/file.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,GAMd;IACC,MAAM,iBAAiB,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAA;IAClF,MAAM,sBAAsB,GAC1B,OAAO,aAAa,KAAK,QAAQ;QAC/B,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,iBAAiB;YACf,iBAAiB,GAAG,CAAC;YACrB,aAAa,CAAC,aAAa,GAAG,iBAAiB;YACjD,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE;YACtC,CAAC,CAAC,aAAa,CAAA;IACrB,MAAM,iBAAiB,GACrB,OAAO,sBAAsB,KAAK,QAAQ;QACxC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,yBAAyB,sBAAsB,CAAC,aAAa,CAAC,cAAc,EAAE,sGAAsG,CAAA;IAC1L,MAAM,iBAAiB,GACrB,iBAAiB,IAAI,iBAAiB,GAAG,CAAC;QACxC,CAAC,CAAC,6BAA6B,iBAAiB,CAAC,cAAc,EAAE,+KAA+K;QAChP,CAAC,CAAC,EAAE,CAAA;IAER,MAAM,WAAW,GAAG;QAClB,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;QACzC,SAAS,CAAC,CAAC,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI;KAC9C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEjB,MAAM,MAAM,GAAG,+JAA+J,iBAAiB,IAAI,iBAAiB;;EAEpN,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAA;IAEvF,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/prompts/file.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,GAMd;IACC,MAAM,iBAAiB,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAA;IAClF,MAAM,sBAAsB,GAC1B,OAAO,aAAa,KAAK,QAAQ;QAC/B,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,iBAAiB;YACf,iBAAiB,GAAG,CAAC;YACrB,aAAa,CAAC,aAAa,GAAG,iBAAiB;YACjD,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE;YACtC,CAAC,CAAC,aAAa,CAAA;IACrB,MAAM,iBAAiB,GACrB,OAAO,sBAAsB,KAAK,QAAQ;QACxC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,yBAAyB,sBAAsB,CAAC,aAAa,CAAC,cAAc,EAAE,sGAAsG,CAAA;IAC1L,MAAM,iBAAiB,GACrB,iBAAiB,IAAI,iBAAiB,GAAG,CAAC;QACxC,CAAC,CAAC,6BAA6B,iBAAiB,CAAC,cAAc,EAAE,+KAA+K;QAChP,CAAC,CAAC,EAAE,CAAA;IAER,MAAM,WAAW,GAAG;QAClB,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;QACzC,SAAS,CAAC,CAAC,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI;KAC9C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEjB,MAAM,MAAM,GAAG,+JAA+J,iBAAiB,IAAI,iBAAiB;;EAEpN,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAA;IAEvF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,EACzC,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,aAAa,GAOd;IACC,MAAM,sBAAsB,GAC1B,OAAO,aAAa,KAAK,QAAQ;QAC/B,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,aAAa,CAAC,aAAa,GAAG,aAAa;YAC3C,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE;YAClC,CAAC,CAAC,aAAa,CAAA;IACrB,MAAM,iBAAiB,GACrB,OAAO,sBAAsB,KAAK,QAAQ;QACxC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,yBAAyB,sBAAsB,CAAC,aAAa,CAAC,cAAc,EAAE,sGAAsG,CAAA;IAE1L,MAAM,WAAW,GAAG;QAClB,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;QACzC,iBAAiB,CAAC,CAAC,CAAC,wBAAwB,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;QACtE,gBAAgB,gBAAgB,EAAE;QAClC,6BAA6B,aAAa,CAAC,cAAc,EAAE,+KAA+K;KAC3O,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEjB,OAAO,oKAAoK,iBAAiB;;EAE5L,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAA;AACzF,CAAC"}
@@ -1,3 +1,3 @@
1
- export { buildFileSummaryPrompt } from './file.js';
1
+ export { buildFileSummaryPrompt, buildFileTextSummaryPrompt } from './file.js';
2
2
  export { buildLinkSummaryPrompt, estimateMaxCompletionTokensForCharacters, pickSummaryLengthForCharacters, SUMMARY_LENGTH_TO_TOKENS, } from './link-summary.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EACL,sBAAsB,EACtB,wCAAwC,EACxC,8BAA8B,EAE9B,wBAAwB,GAEzB,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EACL,sBAAsB,EACtB,wCAAwC,EACxC,8BAA8B,EAE9B,wBAAwB,GAEzB,MAAM,mBAAmB,CAAA"}