@steipete/summarize 0.9.0 → 0.11.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.
- package/CHANGELOG.md +121 -0
- package/LICENSE +1 -1
- package/README.md +391 -183
- package/dist/cli.js +1 -1
- package/dist/esm/cache.js +134 -64
- package/dist/esm/cache.js.map +1 -1
- package/dist/esm/cli-main.js +27 -27
- package/dist/esm/cli-main.js.map +1 -1
- package/dist/esm/cli.js +2 -2
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/config.js +396 -126
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/content/asset.js +53 -50
- package/dist/esm/content/asset.js.map +1 -1
- package/dist/esm/content/index.js +1 -1
- package/dist/esm/content/index.js.map +1 -1
- package/dist/esm/costs.js +1 -1
- package/dist/esm/costs.js.map +1 -1
- package/dist/esm/daemon/agent.js +548 -0
- package/dist/esm/daemon/agent.js.map +1 -0
- package/dist/esm/daemon/auto-mode.js +3 -3
- package/dist/esm/daemon/auto-mode.js.map +1 -1
- package/dist/esm/daemon/chat.js +88 -178
- package/dist/esm/daemon/chat.js.map +1 -1
- package/dist/esm/daemon/cli-entrypoint.js +72 -0
- package/dist/esm/daemon/cli-entrypoint.js.map +1 -0
- package/dist/esm/daemon/cli.js +91 -83
- package/dist/esm/daemon/cli.js.map +1 -1
- package/dist/esm/daemon/config.js +15 -15
- package/dist/esm/daemon/config.js.map +1 -1
- package/dist/esm/daemon/constants.js +6 -6
- package/dist/esm/daemon/constants.js.map +1 -1
- package/dist/esm/daemon/env-merge.js.map +1 -1
- package/dist/esm/daemon/env-snapshot.js +36 -28
- package/dist/esm/daemon/env-snapshot.js.map +1 -1
- package/dist/esm/daemon/flow-context.js +86 -32
- package/dist/esm/daemon/flow-context.js.map +1 -1
- package/dist/esm/daemon/launchd.js +119 -47
- package/dist/esm/daemon/launchd.js.map +1 -1
- package/dist/esm/daemon/meta.js +5 -5
- package/dist/esm/daemon/meta.js.map +1 -1
- package/dist/esm/daemon/models.js +54 -31
- package/dist/esm/daemon/models.js.map +1 -1
- package/dist/esm/daemon/process-registry.js +206 -0
- package/dist/esm/daemon/process-registry.js.map +1 -0
- package/dist/esm/daemon/schtasks.js +96 -32
- package/dist/esm/daemon/schtasks.js.map +1 -1
- package/dist/esm/daemon/server.js +832 -158
- package/dist/esm/daemon/server.js.map +1 -1
- package/dist/esm/daemon/summarize-progress.js +11 -11
- package/dist/esm/daemon/summarize-progress.js.map +1 -1
- package/dist/esm/daemon/summarize.js +61 -32
- package/dist/esm/daemon/summarize.js.map +1 -1
- package/dist/esm/daemon/systemd.js +96 -35
- package/dist/esm/daemon/systemd.js.map +1 -1
- package/dist/esm/firecrawl.js +12 -12
- package/dist/esm/firecrawl.js.map +1 -1
- package/dist/esm/flags.js +55 -31
- package/dist/esm/flags.js.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/language.js +1 -1
- package/dist/esm/language.js.map +1 -1
- package/dist/esm/llm/cli.js +128 -64
- package/dist/esm/llm/cli.js.map +1 -1
- package/dist/esm/llm/errors.js +1 -1
- package/dist/esm/llm/errors.js.map +1 -1
- package/dist/esm/llm/generate-text.js +107 -98
- package/dist/esm/llm/generate-text.js.map +1 -1
- package/dist/esm/llm/google-models.js +17 -17
- package/dist/esm/llm/google-models.js.map +1 -1
- package/dist/esm/llm/html-to-markdown.js +3 -3
- package/dist/esm/llm/html-to-markdown.js.map +1 -1
- package/dist/esm/llm/model-id.js +38 -16
- package/dist/esm/llm/model-id.js.map +1 -1
- package/dist/esm/llm/prompt.js +5 -5
- package/dist/esm/llm/prompt.js.map +1 -1
- package/dist/esm/llm/providers/anthropic.js +33 -33
- package/dist/esm/llm/providers/anthropic.js.map +1 -1
- package/dist/esm/llm/providers/google.js +19 -19
- package/dist/esm/llm/providers/google.js.map +1 -1
- package/dist/esm/llm/providers/models.js +30 -30
- package/dist/esm/llm/providers/models.js.map +1 -1
- package/dist/esm/llm/providers/openai.js +36 -35
- package/dist/esm/llm/providers/openai.js.map +1 -1
- package/dist/esm/llm/providers/shared.js +8 -8
- package/dist/esm/llm/providers/shared.js.map +1 -1
- package/dist/esm/llm/transcript-to-markdown.js +9 -5
- package/dist/esm/llm/transcript-to-markdown.js.map +1 -1
- package/dist/esm/llm/usage.js +18 -18
- package/dist/esm/llm/usage.js.map +1 -1
- package/dist/esm/logging/daemon.js +21 -21
- package/dist/esm/logging/daemon.js.map +1 -1
- package/dist/esm/logging/ring-file.js +5 -5
- package/dist/esm/logging/ring-file.js.map +1 -1
- package/dist/esm/markitdown.js +21 -19
- package/dist/esm/markitdown.js.map +1 -1
- package/dist/esm/media-cache.js +251 -0
- package/dist/esm/media-cache.js.map +1 -0
- package/dist/esm/model-auto.js +175 -106
- package/dist/esm/model-auto.js.map +1 -1
- package/dist/esm/model-spec.js +52 -42
- package/dist/esm/model-spec.js.map +1 -1
- package/dist/esm/pricing/litellm.js +4 -4
- package/dist/esm/pricing/litellm.js.map +1 -1
- package/dist/esm/processes.js +2 -0
- package/dist/esm/processes.js.map +1 -0
- package/dist/esm/prompts/index.js +1 -1
- package/dist/esm/prompts/index.js.map +1 -1
- package/dist/esm/refresh-free.js +81 -81
- package/dist/esm/refresh-free.js.map +1 -1
- package/dist/esm/run/attachments.js +47 -44
- package/dist/esm/run/attachments.js.map +1 -1
- package/dist/esm/run/bird.js +125 -12
- package/dist/esm/run/bird.js.map +1 -1
- package/dist/esm/run/cache-state.js +7 -7
- package/dist/esm/run/cache-state.js.map +1 -1
- package/dist/esm/run/cli-fallback-state.js +45 -0
- package/dist/esm/run/cli-fallback-state.js.map +1 -0
- package/dist/esm/run/cli-preflight.js +40 -22
- package/dist/esm/run/cli-preflight.js.map +1 -1
- package/dist/esm/run/constants.js +12 -12
- package/dist/esm/run/constants.js.map +1 -1
- package/dist/esm/run/cookies/twitter.js +47 -47
- package/dist/esm/run/cookies/twitter.js.map +1 -1
- package/dist/esm/run/env.js +21 -15
- package/dist/esm/run/env.js.map +1 -1
- package/dist/esm/run/fetch-with-timeout.js +4 -4
- package/dist/esm/run/fetch-with-timeout.js.map +1 -1
- package/dist/esm/run/finish-line.js +78 -71
- package/dist/esm/run/finish-line.js.map +1 -1
- package/dist/esm/run/flows/asset/extract.js +70 -0
- package/dist/esm/run/flows/asset/extract.js.map +1 -0
- package/dist/esm/run/flows/asset/input.js +202 -37
- package/dist/esm/run/flows/asset/input.js.map +1 -1
- package/dist/esm/run/flows/asset/media-policy.js +3 -0
- package/dist/esm/run/flows/asset/media-policy.js.map +1 -0
- package/dist/esm/run/flows/asset/media.js +233 -0
- package/dist/esm/run/flows/asset/media.js.map +1 -0
- package/dist/esm/run/flows/asset/output.js +98 -0
- package/dist/esm/run/flows/asset/output.js.map +1 -0
- package/dist/esm/run/flows/asset/preprocess.js +79 -44
- package/dist/esm/run/flows/asset/preprocess.js.map +1 -1
- package/dist/esm/run/flows/asset/summary.js +306 -89
- package/dist/esm/run/flows/asset/summary.js.map +1 -1
- package/dist/esm/run/flows/url/extract.js +31 -31
- package/dist/esm/run/flows/url/extract.js.map +1 -1
- package/dist/esm/run/flows/url/flow.js +388 -82
- package/dist/esm/run/flows/url/flow.js.map +1 -1
- package/dist/esm/run/flows/url/markdown.js +61 -56
- package/dist/esm/run/flows/url/markdown.js.map +1 -1
- package/dist/esm/run/flows/url/slides-output.js +487 -0
- package/dist/esm/run/flows/url/slides-output.js.map +1 -0
- package/dist/esm/run/flows/url/slides-text.js +628 -0
- package/dist/esm/run/flows/url/slides-text.js.map +1 -0
- package/dist/esm/run/flows/url/summary.js +493 -152
- package/dist/esm/run/flows/url/summary.js.map +1 -1
- package/dist/esm/run/format.js +10 -10
- package/dist/esm/run/format.js.map +1 -1
- package/dist/esm/run/help.js +179 -84
- package/dist/esm/run/help.js.map +1 -1
- package/dist/esm/run/logging.js +20 -12
- package/dist/esm/run/logging.js.map +1 -1
- package/dist/esm/run/markdown.js +12 -12
- package/dist/esm/run/markdown.js.map +1 -1
- package/dist/esm/run/media-cache-state.js +33 -0
- package/dist/esm/run/media-cache-state.js.map +1 -0
- package/dist/esm/run/model-attempts.js.map +1 -1
- package/dist/esm/run/openrouter.js +11 -11
- package/dist/esm/run/openrouter.js.map +1 -1
- package/dist/esm/run/progress.js +19 -1
- package/dist/esm/run/progress.js.map +1 -1
- package/dist/esm/run/run-config.js +16 -16
- package/dist/esm/run/run-config.js.map +1 -1
- package/dist/esm/run/run-context.js +2 -2
- package/dist/esm/run/run-context.js.map +1 -1
- package/dist/esm/run/run-env.js +55 -54
- package/dist/esm/run/run-env.js.map +1 -1
- package/dist/esm/run/run-input.js +3 -3
- package/dist/esm/run/run-input.js.map +1 -1
- package/dist/esm/run/run-metrics.js +16 -16
- package/dist/esm/run/run-metrics.js.map +1 -1
- package/dist/esm/run/run-models.js +28 -23
- package/dist/esm/run/run-models.js.map +1 -1
- package/dist/esm/run/run-output.js +3 -3
- package/dist/esm/run/run-output.js.map +1 -1
- package/dist/esm/run/run-settings.js +108 -21
- package/dist/esm/run/run-settings.js.map +1 -1
- package/dist/esm/run/run-stream.js +4 -4
- package/dist/esm/run/run-stream.js.map +1 -1
- package/dist/esm/run/runner.js +327 -100
- package/dist/esm/run/runner.js.map +1 -1
- package/dist/esm/run/slides-cli.js +226 -0
- package/dist/esm/run/slides-cli.js.map +1 -0
- package/dist/esm/run/slides-render.js +163 -0
- package/dist/esm/run/slides-render.js.map +1 -0
- package/dist/esm/run/stdin-temp-file.js +77 -0
- package/dist/esm/run/stdin-temp-file.js.map +1 -0
- package/dist/esm/run/stream-output.js +17 -10
- package/dist/esm/run/stream-output.js.map +1 -1
- package/dist/esm/run/streaming.js +16 -16
- package/dist/esm/run/streaming.js.map +1 -1
- package/dist/esm/run/summary-engine.js +89 -57
- package/dist/esm/run/summary-engine.js.map +1 -1
- package/dist/esm/run/summary-llm.js +3 -3
- package/dist/esm/run/summary-llm.js.map +1 -1
- package/dist/esm/run/terminal.js +4 -4
- package/dist/esm/run/terminal.js.map +1 -1
- package/dist/esm/run/tips.js +2 -2
- package/dist/esm/run/tips.js.map +1 -1
- package/dist/esm/run/transcriber-cli.js +148 -0
- package/dist/esm/run/transcriber-cli.js.map +1 -0
- package/dist/esm/run.js +1 -1
- package/dist/esm/run.js.map +1 -1
- package/dist/esm/shared/contracts.js +1 -1
- package/dist/esm/shared/contracts.js.map +1 -1
- package/dist/esm/shared/sse-events.js +16 -12
- package/dist/esm/shared/sse-events.js.map +1 -1
- package/dist/esm/shared/streaming-merge.js +3 -3
- package/dist/esm/shared/streaming-merge.js.map +1 -1
- package/dist/esm/slides/extract.js +1951 -0
- package/dist/esm/slides/extract.js.map +1 -0
- package/dist/esm/slides/index.js +4 -0
- package/dist/esm/slides/index.js.map +1 -0
- package/dist/esm/slides/settings.js +73 -0
- package/dist/esm/slides/settings.js.map +1 -0
- package/dist/esm/slides/store.js +111 -0
- package/dist/esm/slides/store.js.map +1 -0
- package/dist/esm/slides/types.js +2 -0
- package/dist/esm/slides/types.js.map +1 -0
- package/dist/esm/tty/format.js +13 -13
- package/dist/esm/tty/format.js.map +1 -1
- package/dist/esm/tty/osc-progress.js +22 -2
- package/dist/esm/tty/osc-progress.js.map +1 -1
- package/dist/esm/tty/progress/fetch-html.js +20 -16
- package/dist/esm/tty/progress/fetch-html.js.map +1 -1
- package/dist/esm/tty/progress/transcript.js +127 -68
- package/dist/esm/tty/progress/transcript.js.map +1 -1
- package/dist/esm/tty/spinner.js +21 -10
- package/dist/esm/tty/spinner.js.map +1 -1
- package/dist/esm/tty/theme.js +189 -0
- package/dist/esm/tty/theme.js.map +1 -0
- package/dist/esm/tty/website-progress.js +38 -34
- package/dist/esm/tty/website-progress.js.map +1 -1
- package/dist/esm/version.js +29 -29
- package/dist/esm/version.js.map +1 -1
- package/dist/types/cache.d.ts +19 -7
- package/dist/types/config.d.ts +71 -6
- package/dist/types/content/asset.d.ts +8 -6
- package/dist/types/content/index.d.ts +1 -1
- package/dist/types/costs.d.ts +3 -3
- package/dist/types/daemon/agent.d.ts +25 -0
- package/dist/types/daemon/auto-mode.d.ts +3 -3
- package/dist/types/daemon/chat.d.ts +10 -18
- package/dist/types/daemon/cli-entrypoint.d.ts +2 -0
- package/dist/types/daemon/config.d.ts +2 -2
- package/dist/types/daemon/env-merge.d.ts +1 -1
- package/dist/types/daemon/env-snapshot.d.ts +1 -1
- package/dist/types/daemon/flow-context.d.ts +24 -4
- package/dist/types/daemon/launchd.d.ts +12 -0
- package/dist/types/daemon/models.d.ts +6 -2
- package/dist/types/daemon/process-registry.d.ts +73 -0
- package/dist/types/daemon/schtasks.d.ts +4 -0
- package/dist/types/daemon/server.d.ts +2 -2
- package/dist/types/daemon/summarize-progress.d.ts +1 -1
- package/dist/types/daemon/summarize.d.ts +38 -7
- package/dist/types/daemon/systemd.d.ts +4 -0
- package/dist/types/firecrawl.d.ts +1 -1
- package/dist/types/flags.d.ts +12 -11
- package/dist/types/index.d.ts +4 -4
- package/dist/types/language.d.ts +1 -1
- package/dist/types/llm/attachments.d.ts +1 -1
- package/dist/types/llm/cli.d.ts +3 -3
- package/dist/types/llm/generate-text.d.ts +7 -7
- package/dist/types/llm/html-to-markdown.d.ts +3 -3
- package/dist/types/llm/model-id.d.ts +1 -1
- package/dist/types/llm/prompt.d.ts +2 -2
- package/dist/types/llm/providers/anthropic.d.ts +3 -3
- package/dist/types/llm/providers/google.d.ts +3 -3
- package/dist/types/llm/providers/models.d.ts +2 -2
- package/dist/types/llm/providers/openai.d.ts +4 -4
- package/dist/types/llm/providers/shared.d.ts +2 -2
- package/dist/types/llm/transcript-to-markdown.d.ts +4 -2
- package/dist/types/llm/usage.d.ts +1 -1
- package/dist/types/logging/daemon.d.ts +4 -4
- package/dist/types/markitdown.d.ts +1 -1
- package/dist/types/media-cache.d.ts +22 -0
- package/dist/types/model-auto.d.ts +14 -4
- package/dist/types/model-spec.d.ts +10 -10
- package/dist/types/pricing/litellm.d.ts +1 -1
- package/dist/types/processes.d.ts +1 -0
- package/dist/types/prompts/index.d.ts +1 -1
- package/dist/types/run/attachments.d.ts +7 -7
- package/dist/types/run/bird.d.ts +7 -0
- package/dist/types/run/cache-state.d.ts +2 -2
- package/dist/types/run/cli-fallback-state.d.ts +6 -0
- package/dist/types/run/constants.d.ts +1 -1
- package/dist/types/run/cookies/twitter.d.ts +1 -1
- package/dist/types/run/env.d.ts +1 -1
- package/dist/types/run/finish-line.d.ts +7 -6
- package/dist/types/run/flows/asset/extract.d.ts +18 -0
- package/dist/types/run/flows/asset/input.d.ts +19 -3
- package/dist/types/run/flows/asset/media-policy.d.ts +2 -0
- package/dist/types/run/flows/asset/media.d.ts +21 -0
- package/dist/types/run/flows/asset/output.d.ts +42 -0
- package/dist/types/run/flows/asset/preprocess.d.ts +23 -17
- package/dist/types/run/flows/asset/summary.d.ts +24 -16
- package/dist/types/run/flows/url/extract.d.ts +3 -2
- package/dist/types/run/flows/url/flow.d.ts +1 -1
- package/dist/types/run/flows/url/markdown.d.ts +6 -6
- package/dist/types/run/flows/url/slides-output.d.ts +66 -0
- package/dist/types/run/flows/url/slides-text.d.ts +87 -0
- package/dist/types/run/flows/url/summary.d.ts +18 -10
- package/dist/types/run/flows/url/types.d.ts +52 -21
- package/dist/types/run/format.d.ts +3 -3
- package/dist/types/run/help.d.ts +4 -1
- package/dist/types/run/logging.d.ts +3 -2
- package/dist/types/run/media-cache-state.d.ts +7 -0
- package/dist/types/run/model-attempts.d.ts +1 -1
- package/dist/types/run/progress.d.ts +2 -1
- package/dist/types/run/run-config.d.ts +4 -4
- package/dist/types/run/run-context.d.ts +3 -1
- package/dist/types/run/run-env.d.ts +3 -1
- package/dist/types/run/run-input.d.ts +2 -2
- package/dist/types/run/run-metrics.d.ts +3 -3
- package/dist/types/run/run-models.d.ts +3 -2
- package/dist/types/run/run-output.d.ts +1 -1
- package/dist/types/run/run-settings.d.ts +20 -5
- package/dist/types/run/run-stream.d.ts +2 -2
- package/dist/types/run/runner.d.ts +3 -2
- package/dist/types/run/slides-cli.d.ts +9 -0
- package/dist/types/run/slides-render.d.ts +30 -0
- package/dist/types/run/stdin-temp-file.d.ts +9 -0
- package/dist/types/run/stream-output.d.ts +3 -2
- package/dist/types/run/streaming.d.ts +4 -4
- package/dist/types/run/summary-engine.d.ts +22 -12
- package/dist/types/run/summary-llm.d.ts +5 -5
- package/dist/types/run/transcriber-cli.d.ts +8 -0
- package/dist/types/run/types.d.ts +4 -4
- package/dist/types/run.d.ts +1 -1
- package/dist/types/shared/contracts.d.ts +2 -2
- package/dist/types/shared/sse-events.d.ts +26 -6
- package/dist/types/slides/extract.d.ts +43 -0
- package/dist/types/slides/index.d.ts +5 -0
- package/dist/types/slides/settings.d.ts +20 -0
- package/dist/types/slides/store.d.ts +15 -0
- package/dist/types/slides/types.d.ts +40 -0
- package/dist/types/tty/osc-progress.d.ts +5 -5
- package/dist/types/tty/progress/fetch-html.d.ts +5 -3
- package/dist/types/tty/progress/transcript.d.ts +5 -3
- package/dist/types/tty/spinner.d.ts +3 -1
- package/dist/types/tty/theme.d.ts +44 -0
- package/dist/types/tty/website-progress.d.ts +5 -3
- package/dist/types/version.d.ts +1 -1
- package/docs/README.md +1 -1
- package/docs/_config.yml +26 -0
- package/docs/_layouts/default.html +60 -0
- package/docs/agent.md +367 -0
- package/docs/assets/site.css +748 -0
- package/docs/assets/site.js +72 -0
- package/docs/assets/summarize-cli.png +0 -0
- package/docs/assets/summarize-extension.png +0 -0
- package/docs/assets/youtube-slides.png +0 -0
- package/docs/cache.md +29 -3
- package/docs/chrome-extension.md +72 -16
- package/docs/cli.md +59 -13
- package/docs/config.md +109 -12
- package/docs/extract-only.md +10 -0
- package/docs/index.html +224 -0
- package/docs/index.md +25 -0
- package/docs/llm.md +18 -5
- package/docs/manual-tests.md +2 -0
- package/docs/media.md +6 -2
- package/docs/model-auto.md +3 -2
- package/docs/nvidia-onnx-transcription.md +55 -0
- package/docs/openai.md +1 -1
- package/docs/releasing.md +3 -0
- package/docs/site/404.html +4 -1
- package/docs/site/assets/site.css +399 -228
- package/docs/site/assets/site.js +46 -46
- package/docs/site/assets/summarize-cli.png +0 -0
- package/docs/site/assets/summarize-extension.png +0 -0
- package/docs/site/docs/chrome-extension.html +101 -0
- package/docs/site/docs/config.html +30 -8
- package/docs/site/docs/extract-only.html +17 -4
- package/docs/site/docs/firecrawl.html +13 -3
- package/docs/site/docs/index.html +40 -6
- package/docs/site/docs/llm.html +20 -5
- package/docs/site/docs/openai.html +19 -5
- package/docs/site/docs/website.html +30 -9
- package/docs/site/docs/youtube.html +13 -3
- package/docs/site/index.html +168 -85
- package/docs/slides.md +82 -0
- package/docs/smoketest.md +29 -20
- package/docs/timestamps.md +124 -0
- package/docs/website.md +13 -0
- package/docs/youtube.md +20 -0
- package/package.json +57 -48
|
@@ -1,23 +1,26 @@
|
|
|
1
|
-
import { formatBytes } from
|
|
2
|
-
import { createFetchHtmlProgressRenderer } from
|
|
3
|
-
import { createTranscriptProgressRenderer } from
|
|
4
|
-
export function createWebsiteProgress({ enabled, spinner, oscProgress, }) {
|
|
1
|
+
import { formatBytes } from "./format.js";
|
|
2
|
+
import { createFetchHtmlProgressRenderer } from "./progress/fetch-html.js";
|
|
3
|
+
import { createTranscriptProgressRenderer } from "./progress/transcript.js";
|
|
4
|
+
export function createWebsiteProgress({ enabled, spinner, oscProgress, theme, }) {
|
|
5
5
|
if (!enabled)
|
|
6
6
|
return null;
|
|
7
|
-
const fetchRenderer = createFetchHtmlProgressRenderer({ spinner, oscProgress });
|
|
8
|
-
const transcriptRenderer = createTranscriptProgressRenderer({ spinner, oscProgress });
|
|
7
|
+
const fetchRenderer = createFetchHtmlProgressRenderer({ spinner, oscProgress, theme });
|
|
8
|
+
const transcriptRenderer = createTranscriptProgressRenderer({ spinner, oscProgress, theme });
|
|
9
|
+
const styleLabel = (text) => (theme ? theme.label(text) : text);
|
|
10
|
+
const styleDim = (text) => (theme ? theme.dim(text) : text);
|
|
11
|
+
const renderStatus = (label, detail) => theme ? `${styleLabel(label)}${styleDim(detail)}` : `${label}${detail}`;
|
|
9
12
|
const stopAll = () => {
|
|
10
13
|
fetchRenderer.stop();
|
|
11
14
|
transcriptRenderer.stop();
|
|
12
15
|
};
|
|
13
16
|
const formatFirecrawlReason = (reason) => {
|
|
14
17
|
const lower = reason.toLowerCase();
|
|
15
|
-
if (lower.includes(
|
|
16
|
-
return
|
|
17
|
-
if (lower.includes(
|
|
18
|
-
return
|
|
19
|
-
if (lower.includes(
|
|
20
|
-
return
|
|
18
|
+
if (lower.includes("forced"))
|
|
19
|
+
return "forced";
|
|
20
|
+
if (lower.includes("html fetch failed"))
|
|
21
|
+
return "fallback: HTML fetch failed";
|
|
22
|
+
if (lower.includes("blocked") || lower.includes("thin"))
|
|
23
|
+
return "fallback: blocked/thin HTML";
|
|
21
24
|
return reason;
|
|
22
25
|
};
|
|
23
26
|
return {
|
|
@@ -25,54 +28,55 @@ export function createWebsiteProgress({ enabled, spinner, oscProgress, }) {
|
|
|
25
28
|
onProgress: (event) => {
|
|
26
29
|
fetchRenderer.onProgress(event);
|
|
27
30
|
transcriptRenderer.onProgress(event);
|
|
28
|
-
if (event.kind ===
|
|
31
|
+
if (event.kind === "bird-start") {
|
|
29
32
|
stopAll();
|
|
30
|
-
spinner.setText(
|
|
33
|
+
spinner.setText(renderStatus("Bird", ": reading tweet…"));
|
|
31
34
|
return;
|
|
32
35
|
}
|
|
33
|
-
if (event.kind ===
|
|
36
|
+
if (event.kind === "bird-done") {
|
|
34
37
|
stopAll();
|
|
35
|
-
if (event.ok && typeof event.textBytes ===
|
|
36
|
-
spinner.setText(
|
|
38
|
+
if (event.ok && typeof event.textBytes === "number") {
|
|
39
|
+
spinner.setText(renderStatus("Bird", `: got ${formatBytes(event.textBytes)}…`));
|
|
37
40
|
return;
|
|
38
41
|
}
|
|
39
|
-
spinner.setText(
|
|
42
|
+
spinner.setText(renderStatus("Bird", ": failed; fallback…"));
|
|
40
43
|
return;
|
|
41
44
|
}
|
|
42
|
-
if (event.kind ===
|
|
45
|
+
if (event.kind === "nitter-start") {
|
|
43
46
|
stopAll();
|
|
44
|
-
spinner.setText(
|
|
47
|
+
spinner.setText(renderStatus("Nitter", ": fetching…"));
|
|
45
48
|
return;
|
|
46
49
|
}
|
|
47
|
-
if (event.kind ===
|
|
50
|
+
if (event.kind === "nitter-done") {
|
|
48
51
|
stopAll();
|
|
49
|
-
if (event.ok && typeof event.textBytes ===
|
|
50
|
-
spinner.setText(
|
|
52
|
+
if (event.ok && typeof event.textBytes === "number") {
|
|
53
|
+
spinner.setText(renderStatus("Nitter", `: got ${formatBytes(event.textBytes)}…`));
|
|
51
54
|
return;
|
|
52
55
|
}
|
|
53
|
-
spinner.setText(
|
|
56
|
+
spinner.setText(renderStatus("Nitter", ": failed; fallback…"));
|
|
54
57
|
return;
|
|
55
58
|
}
|
|
56
|
-
if (event.kind ===
|
|
59
|
+
if (event.kind === "firecrawl-start") {
|
|
57
60
|
stopAll();
|
|
58
|
-
const reason = event.reason ? formatFirecrawlReason(event.reason) :
|
|
59
|
-
const suffix = reason ? ` (${reason})` :
|
|
60
|
-
spinner.setText(
|
|
61
|
+
const reason = event.reason ? formatFirecrawlReason(event.reason) : "";
|
|
62
|
+
const suffix = reason ? ` (${reason})` : "";
|
|
63
|
+
spinner.setText(renderStatus("Firecrawl", `: scraping${suffix}…`));
|
|
61
64
|
return;
|
|
62
65
|
}
|
|
63
|
-
if (event.kind ===
|
|
66
|
+
if (event.kind === "firecrawl-done") {
|
|
64
67
|
stopAll();
|
|
65
|
-
if (event.ok && typeof event.markdownBytes ===
|
|
66
|
-
spinner.setText(
|
|
68
|
+
if (event.ok && typeof event.markdownBytes === "number") {
|
|
69
|
+
spinner.setText(renderStatus("Firecrawl", `: got ${formatBytes(event.markdownBytes)}…`));
|
|
67
70
|
return;
|
|
68
71
|
}
|
|
69
|
-
spinner.setText(
|
|
72
|
+
spinner.setText(renderStatus("Firecrawl", ": no content; fallback…"));
|
|
70
73
|
return;
|
|
71
74
|
}
|
|
72
|
-
if (event.kind ===
|
|
75
|
+
if (event.kind === "transcript-start") {
|
|
73
76
|
stopAll();
|
|
74
77
|
const label = event.hint?.trim();
|
|
75
|
-
|
|
78
|
+
const text = label && label.length > 0 ? label : "Transcribing";
|
|
79
|
+
spinner.setText(theme ? `${styleLabel(text)}${styleDim("…")}` : `${text}…`);
|
|
76
80
|
}
|
|
77
81
|
},
|
|
78
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"website-progress.js","sourceRoot":"","sources":["../../../src/tty/website-progress.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"website-progress.js","sourceRoot":"","sources":["../../../src/tty/website-progress.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import fs from
|
|
2
|
-
import path from
|
|
3
|
-
import { fileURLToPath } from
|
|
4
|
-
export const FALLBACK_VERSION =
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
export const FALLBACK_VERSION = "0.11.0";
|
|
5
5
|
export function resolvePackageVersion(importMetaUrl) {
|
|
6
|
-
const injected = typeof process !==
|
|
6
|
+
const injected = typeof process !== "undefined" && typeof process.env.SUMMARIZE_VERSION === "string"
|
|
7
7
|
? process.env.SUMMARIZE_VERSION.trim()
|
|
8
|
-
:
|
|
8
|
+
: "";
|
|
9
9
|
if (injected.length > 0)
|
|
10
10
|
return injected;
|
|
11
11
|
const startDir = (() => {
|
|
12
|
-
if (typeof importMetaUrl ===
|
|
12
|
+
if (typeof importMetaUrl === "string" && importMetaUrl.trim().length > 0) {
|
|
13
13
|
try {
|
|
14
14
|
return path.dirname(fileURLToPath(importMetaUrl));
|
|
15
15
|
}
|
|
@@ -17,17 +17,17 @@ export function resolvePackageVersion(importMetaUrl) {
|
|
|
17
17
|
// ignore
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
if (typeof __dirname ===
|
|
20
|
+
if (typeof __dirname === "string" && __dirname.length > 0)
|
|
21
21
|
return __dirname;
|
|
22
22
|
return process.cwd();
|
|
23
23
|
})();
|
|
24
24
|
let dir = startDir;
|
|
25
25
|
for (let i = 0; i < 10; i += 1) {
|
|
26
|
-
const candidate = path.join(dir,
|
|
26
|
+
const candidate = path.join(dir, "package.json");
|
|
27
27
|
try {
|
|
28
|
-
const raw = fs.readFileSync(candidate,
|
|
28
|
+
const raw = fs.readFileSync(candidate, "utf8");
|
|
29
29
|
const json = JSON.parse(raw);
|
|
30
|
-
if (json && typeof json.version ===
|
|
30
|
+
if (json && typeof json.version === "string" && json.version.trim().length > 0) {
|
|
31
31
|
return json.version.trim();
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -44,47 +44,47 @@ export function resolvePackageVersion(importMetaUrl) {
|
|
|
44
44
|
function truncateSha(sha, length = 8) {
|
|
45
45
|
const trimmed = sha.trim();
|
|
46
46
|
if (!trimmed)
|
|
47
|
-
return
|
|
47
|
+
return "";
|
|
48
48
|
if (trimmed.length <= length)
|
|
49
49
|
return trimmed;
|
|
50
50
|
return trimmed.slice(0, length);
|
|
51
51
|
}
|
|
52
52
|
function resolveGitShaFromGitDir(gitDir) {
|
|
53
|
-
const headPath = path.join(gitDir,
|
|
54
|
-
let head =
|
|
53
|
+
const headPath = path.join(gitDir, "HEAD");
|
|
54
|
+
let head = "";
|
|
55
55
|
try {
|
|
56
|
-
head = fs.readFileSync(headPath,
|
|
56
|
+
head = fs.readFileSync(headPath, "utf8").trim();
|
|
57
57
|
}
|
|
58
58
|
catch {
|
|
59
59
|
return null;
|
|
60
60
|
}
|
|
61
61
|
if (!head)
|
|
62
62
|
return null;
|
|
63
|
-
if (!head.startsWith(
|
|
63
|
+
if (!head.startsWith("ref:")) {
|
|
64
64
|
const sha = truncateSha(head);
|
|
65
65
|
return sha.length > 0 ? sha : null;
|
|
66
66
|
}
|
|
67
|
-
const ref = head.replace(/^ref:\s*/i,
|
|
67
|
+
const ref = head.replace(/^ref:\s*/i, "").trim();
|
|
68
68
|
if (!ref)
|
|
69
69
|
return null;
|
|
70
70
|
const refPath = path.join(gitDir, ref);
|
|
71
71
|
try {
|
|
72
|
-
const sha = truncateSha(fs.readFileSync(refPath,
|
|
72
|
+
const sha = truncateSha(fs.readFileSync(refPath, "utf8"));
|
|
73
73
|
return sha.length > 0 ? sha : null;
|
|
74
74
|
}
|
|
75
75
|
catch {
|
|
76
76
|
// fall through to packed-refs
|
|
77
77
|
}
|
|
78
|
-
const packedRefsPath = path.join(gitDir,
|
|
78
|
+
const packedRefsPath = path.join(gitDir, "packed-refs");
|
|
79
79
|
try {
|
|
80
|
-
const packed = fs.readFileSync(packedRefsPath,
|
|
80
|
+
const packed = fs.readFileSync(packedRefsPath, "utf8");
|
|
81
81
|
const lines = packed.split(/\r?\n/);
|
|
82
82
|
for (const line of lines) {
|
|
83
|
-
if (!line || line.startsWith(
|
|
83
|
+
if (!line || line.startsWith("#") || line.startsWith("^"))
|
|
84
84
|
continue;
|
|
85
|
-
const [shaRaw, refName] = line.split(
|
|
85
|
+
const [shaRaw, refName] = line.split(" ");
|
|
86
86
|
if (refName?.trim() === ref) {
|
|
87
|
-
const sha = truncateSha(shaRaw ??
|
|
87
|
+
const sha = truncateSha(shaRaw ?? "");
|
|
88
88
|
return sha.length > 0 ? sha : null;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -95,13 +95,13 @@ function resolveGitShaFromGitDir(gitDir) {
|
|
|
95
95
|
return null;
|
|
96
96
|
}
|
|
97
97
|
export function resolveGitSha(importMetaUrl) {
|
|
98
|
-
const injected = typeof process !==
|
|
98
|
+
const injected = typeof process !== "undefined" && typeof process.env.SUMMARIZE_GIT_SHA === "string"
|
|
99
99
|
? process.env.SUMMARIZE_GIT_SHA.trim()
|
|
100
|
-
:
|
|
100
|
+
: "";
|
|
101
101
|
if (injected.length > 0)
|
|
102
102
|
return truncateSha(injected);
|
|
103
103
|
const startDir = (() => {
|
|
104
|
-
if (typeof importMetaUrl ===
|
|
104
|
+
if (typeof importMetaUrl === "string" && importMetaUrl.trim().length > 0) {
|
|
105
105
|
try {
|
|
106
106
|
return path.dirname(fileURLToPath(importMetaUrl));
|
|
107
107
|
}
|
|
@@ -109,13 +109,13 @@ export function resolveGitSha(importMetaUrl) {
|
|
|
109
109
|
// ignore
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
if (typeof __dirname ===
|
|
112
|
+
if (typeof __dirname === "string" && __dirname.length > 0)
|
|
113
113
|
return __dirname;
|
|
114
114
|
return process.cwd();
|
|
115
115
|
})();
|
|
116
116
|
let dir = startDir;
|
|
117
117
|
for (let i = 0; i < 10; i += 1) {
|
|
118
|
-
const dotGit = path.join(dir,
|
|
118
|
+
const dotGit = path.join(dir, ".git");
|
|
119
119
|
try {
|
|
120
120
|
const stat = fs.statSync(dotGit);
|
|
121
121
|
if (stat.isDirectory()) {
|
|
@@ -125,7 +125,7 @@ export function resolveGitSha(importMetaUrl) {
|
|
|
125
125
|
}
|
|
126
126
|
else if (stat.isFile()) {
|
|
127
127
|
// Worktrees/submodules can have a file with: `gitdir: /path/to/actual/dir`
|
|
128
|
-
const txt = fs.readFileSync(dotGit,
|
|
128
|
+
const txt = fs.readFileSync(dotGit, "utf8");
|
|
129
129
|
const match = txt.match(/gitdir:\s*(.+)\s*$/i);
|
|
130
130
|
const gitDir = match?.[1]?.trim();
|
|
131
131
|
if (gitDir) {
|
package/dist/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAEzC,MAAM,UAAU,qBAAqB,CAAC,aAAsB;IAC1D,MAAM,QAAQ,GACZ,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,QAAQ;QACjF,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE;QACtC,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEzC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAE5E,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,GAAG,GAAG,QAAQ,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;YAC7D,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,GAAW,EAAE,MAAM,GAAG,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,OAAO,CAAC;IAC7C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAc;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC;QACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YACpE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBACtC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,aAAsB;IAClD,MAAM,QAAQ,GACZ,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,QAAQ;QACjF,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE;QACtC,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAE5E,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,GAAG;oBAAE,OAAO,GAAG,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACzB,2EAA2E;gBAC3E,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBAClC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAC9E,MAAM,GAAG,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;oBAC9C,IAAI,GAAG;wBAAE,OAAO,GAAG,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,aAAsB;IACtD,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IACzC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC"}
|
package/dist/types/cache.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { TranscriptCache } from
|
|
2
|
-
import type { LengthArg } from
|
|
3
|
-
import type { OutputLanguage } from
|
|
4
|
-
export type CacheKind =
|
|
1
|
+
import type { TranscriptCache } from "./content/index.js";
|
|
2
|
+
import type { LengthArg } from "./flags.js";
|
|
3
|
+
import type { OutputLanguage } from "./language.js";
|
|
4
|
+
export type CacheKind = "extract" | "summary" | "transcript" | "chat" | "slides";
|
|
5
5
|
export type CacheConfig = {
|
|
6
6
|
enabled?: boolean;
|
|
7
7
|
maxMb?: number;
|
|
@@ -21,7 +21,7 @@ export type CacheStore = {
|
|
|
21
21
|
transcriptCache: TranscriptCache;
|
|
22
22
|
};
|
|
23
23
|
export type CacheState = {
|
|
24
|
-
mode:
|
|
24
|
+
mode: "default" | "bypass";
|
|
25
25
|
store: CacheStore | null;
|
|
26
26
|
ttlMs: number;
|
|
27
27
|
maxBytes: number;
|
|
@@ -46,7 +46,7 @@ export declare function clearCacheFiles(path: string): void;
|
|
|
46
46
|
export declare function hashString(value: string): string;
|
|
47
47
|
export declare function hashJson(value: unknown): string;
|
|
48
48
|
export declare function normalizeContentForHash(content: string): string;
|
|
49
|
-
export declare function extractTaggedBlock(prompt: string, tag:
|
|
49
|
+
export declare function extractTaggedBlock(prompt: string, tag: "instructions" | "content"): string | null;
|
|
50
50
|
export declare function buildPromptHash(prompt: string): string;
|
|
51
51
|
export declare function buildLengthKey(lengthArg: LengthArg): string;
|
|
52
52
|
export declare function buildLanguageKey(outputLanguage: OutputLanguage): string;
|
|
@@ -61,10 +61,22 @@ export declare function buildSummaryCacheKey({ contentHash, promptHash, model, l
|
|
|
61
61
|
lengthKey: string;
|
|
62
62
|
languageKey: string;
|
|
63
63
|
}): string;
|
|
64
|
-
export declare function
|
|
64
|
+
export declare function buildSlidesCacheKey({ url, settings, }: {
|
|
65
|
+
url: string;
|
|
66
|
+
settings: {
|
|
67
|
+
ocr: boolean;
|
|
68
|
+
outputDir: string;
|
|
69
|
+
sceneThreshold: number;
|
|
70
|
+
autoTuneThreshold: boolean;
|
|
71
|
+
maxSlides: number;
|
|
72
|
+
minDurationSeconds: number;
|
|
73
|
+
};
|
|
74
|
+
}): string;
|
|
75
|
+
export declare function buildTranscriptCacheKey({ url, namespace, formatVersion, fileMtime, }: {
|
|
65
76
|
url: string;
|
|
66
77
|
namespace: string | null;
|
|
67
78
|
formatVersion?: number;
|
|
79
|
+
fileMtime?: number | null;
|
|
68
80
|
}): string;
|
|
69
81
|
export declare function readCacheStats(path: string): Promise<CacheStats | null>;
|
|
70
82
|
export declare function getSqliteFileSizeBytes(path: string): number;
|
package/dist/types/config.d.ts
CHANGED
|
@@ -1,16 +1,29 @@
|
|
|
1
|
-
export type AutoRuleKind =
|
|
2
|
-
export type VideoMode =
|
|
3
|
-
export type CliProvider =
|
|
1
|
+
export type AutoRuleKind = "text" | "website" | "youtube" | "image" | "video" | "file";
|
|
2
|
+
export type VideoMode = "auto" | "transcript" | "understand";
|
|
3
|
+
export type CliProvider = "claude" | "codex" | "gemini" | "agent";
|
|
4
4
|
export type CliProviderConfig = {
|
|
5
5
|
binary?: string;
|
|
6
6
|
extraArgs?: string[];
|
|
7
7
|
model?: string;
|
|
8
8
|
};
|
|
9
|
+
export type CliAutoFallbackConfig = {
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
onlyWhenNoApiKeys?: boolean;
|
|
12
|
+
order?: CliProvider[];
|
|
13
|
+
};
|
|
14
|
+
export type CliMagicAutoConfig = CliAutoFallbackConfig;
|
|
9
15
|
export type CliConfig = {
|
|
10
16
|
enabled?: CliProvider[];
|
|
11
17
|
claude?: CliProviderConfig;
|
|
12
18
|
codex?: CliProviderConfig;
|
|
13
19
|
gemini?: CliProviderConfig;
|
|
20
|
+
agent?: CliProviderConfig;
|
|
21
|
+
autoFallback?: CliAutoFallbackConfig;
|
|
22
|
+
magicAuto?: CliAutoFallbackConfig;
|
|
23
|
+
promptOverride?: string;
|
|
24
|
+
allowTools?: boolean;
|
|
25
|
+
cwd?: string;
|
|
26
|
+
extraArgs?: string[];
|
|
14
27
|
};
|
|
15
28
|
export type OpenAiConfig = {
|
|
16
29
|
/**
|
|
@@ -27,6 +40,14 @@ export type OpenAiConfig = {
|
|
|
27
40
|
*/
|
|
28
41
|
whisperUsdPerMinute?: number;
|
|
29
42
|
};
|
|
43
|
+
export type MediaCacheVerifyMode = "none" | "size" | "hash";
|
|
44
|
+
export type MediaCacheConfig = {
|
|
45
|
+
enabled?: boolean;
|
|
46
|
+
maxMb?: number;
|
|
47
|
+
ttlDays?: number;
|
|
48
|
+
path?: string;
|
|
49
|
+
verify?: MediaCacheVerifyMode;
|
|
50
|
+
};
|
|
30
51
|
export type AnthropicConfig = {
|
|
31
52
|
/**
|
|
32
53
|
* Override the Anthropic API base URL (e.g. a proxy).
|
|
@@ -43,8 +64,20 @@ export type GoogleConfig = {
|
|
|
43
64
|
*/
|
|
44
65
|
baseUrl?: string;
|
|
45
66
|
};
|
|
46
|
-
export type
|
|
47
|
-
|
|
67
|
+
export type ApiKeysConfig = {
|
|
68
|
+
openai?: string;
|
|
69
|
+
anthropic?: string;
|
|
70
|
+
google?: string;
|
|
71
|
+
xai?: string;
|
|
72
|
+
openrouter?: string;
|
|
73
|
+
zai?: string;
|
|
74
|
+
apify?: string;
|
|
75
|
+
firecrawl?: string;
|
|
76
|
+
fal?: string;
|
|
77
|
+
};
|
|
78
|
+
export type EnvConfig = Record<string, string>;
|
|
79
|
+
export type LoggingLevel = "debug" | "info" | "warn" | "error";
|
|
80
|
+
export type LoggingFormat = "json" | "pretty";
|
|
48
81
|
export type LoggingConfig = {
|
|
49
82
|
enabled?: boolean;
|
|
50
83
|
level?: LoggingLevel;
|
|
@@ -91,7 +124,7 @@ export type AutoRule = {
|
|
|
91
124
|
export type ModelConfig = {
|
|
92
125
|
id: string;
|
|
93
126
|
} | {
|
|
94
|
-
mode:
|
|
127
|
+
mode: "auto";
|
|
95
128
|
rules?: AutoRule[];
|
|
96
129
|
} | {
|
|
97
130
|
name: string;
|
|
@@ -116,6 +149,7 @@ export type SummarizeConfig = {
|
|
|
116
149
|
maxMb?: number;
|
|
117
150
|
ttlDays?: number;
|
|
118
151
|
path?: string;
|
|
152
|
+
media?: MediaCacheConfig;
|
|
119
153
|
};
|
|
120
154
|
/**
|
|
121
155
|
* Named model presets selectable via `--model <name>`.
|
|
@@ -126,6 +160,14 @@ export type SummarizeConfig = {
|
|
|
126
160
|
media?: {
|
|
127
161
|
videoMode?: VideoMode;
|
|
128
162
|
};
|
|
163
|
+
slides?: {
|
|
164
|
+
enabled?: boolean;
|
|
165
|
+
ocr?: boolean;
|
|
166
|
+
dir?: string;
|
|
167
|
+
sceneThreshold?: number;
|
|
168
|
+
max?: number;
|
|
169
|
+
minDuration?: number;
|
|
170
|
+
};
|
|
129
171
|
output?: {
|
|
130
172
|
/**
|
|
131
173
|
* Output language for the summary (e.g. "auto", "en", "de", "English").
|
|
@@ -135,13 +177,36 @@ export type SummarizeConfig = {
|
|
|
135
177
|
*/
|
|
136
178
|
language?: string;
|
|
137
179
|
};
|
|
180
|
+
ui?: {
|
|
181
|
+
/**
|
|
182
|
+
* CLI theme name (e.g. "aurora", "ember", "moss", "mono").
|
|
183
|
+
*/
|
|
184
|
+
theme?: string;
|
|
185
|
+
};
|
|
138
186
|
cli?: CliConfig;
|
|
139
187
|
openai?: OpenAiConfig;
|
|
140
188
|
anthropic?: AnthropicConfig;
|
|
141
189
|
google?: GoogleConfig;
|
|
142
190
|
xai?: XaiConfig;
|
|
143
191
|
logging?: LoggingConfig;
|
|
192
|
+
/**
|
|
193
|
+
* Generic environment variable defaults.
|
|
194
|
+
*
|
|
195
|
+
* Precedence: process env > config file env.
|
|
196
|
+
*/
|
|
197
|
+
env?: EnvConfig;
|
|
198
|
+
/**
|
|
199
|
+
* Legacy API key shortcuts. Prefer `env` for new configs.
|
|
200
|
+
*
|
|
201
|
+
* Precedence: environment variables > config file apiKeys.
|
|
202
|
+
*/
|
|
203
|
+
apiKeys?: ApiKeysConfig;
|
|
144
204
|
};
|
|
205
|
+
export declare function resolveConfigEnv(config: SummarizeConfig | null | undefined): EnvConfig;
|
|
206
|
+
export declare function mergeConfigEnv({ env, config, }: {
|
|
207
|
+
env: Record<string, string | undefined>;
|
|
208
|
+
config: SummarizeConfig | null | undefined;
|
|
209
|
+
}): Record<string, string | undefined>;
|
|
145
210
|
export declare function loadSummarizeConfig({ env }: {
|
|
146
211
|
env: Record<string, string | undefined>;
|
|
147
212
|
}): {
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import type { Message } from
|
|
1
|
+
import type { Message } from "@mariozechner/pi-ai";
|
|
2
2
|
export type InputTarget = {
|
|
3
|
-
kind:
|
|
3
|
+
kind: "url";
|
|
4
4
|
url: string;
|
|
5
5
|
} | {
|
|
6
|
-
kind:
|
|
6
|
+
kind: "file";
|
|
7
7
|
filePath: string;
|
|
8
|
+
} | {
|
|
9
|
+
kind: "stdin";
|
|
8
10
|
};
|
|
9
11
|
export type UrlKind = {
|
|
10
|
-
kind:
|
|
12
|
+
kind: "website";
|
|
11
13
|
} | {
|
|
12
|
-
kind:
|
|
14
|
+
kind: "asset";
|
|
13
15
|
};
|
|
14
16
|
export type AssetAttachment = {
|
|
15
17
|
mediaType: string;
|
|
16
18
|
filename: string | null;
|
|
17
|
-
kind:
|
|
19
|
+
kind: "image" | "file";
|
|
18
20
|
bytes: Uint8Array;
|
|
19
21
|
};
|
|
20
22
|
export declare function resolveInputTarget(raw: string): InputTarget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from "@steipete/summarize-core/content";
|
package/dist/types/costs.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { LlmTokenUsage } from
|
|
2
|
-
export type LlmProvider =
|
|
1
|
+
import type { LlmTokenUsage } from "./llm/generate-text.js";
|
|
2
|
+
export type LlmProvider = "xai" | "openai" | "google" | "anthropic" | "zai" | "cli";
|
|
3
3
|
export type LlmCall = {
|
|
4
4
|
provider: LlmProvider;
|
|
5
5
|
model: string;
|
|
6
6
|
usage: LlmTokenUsage | null;
|
|
7
7
|
costUsd?: number | null;
|
|
8
|
-
purpose:
|
|
8
|
+
purpose: "summary" | "markdown";
|
|
9
9
|
};
|
|
10
10
|
export type RunMetricsReport = {
|
|
11
11
|
llm: Array<{
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AssistantMessage } from "@mariozechner/pi-ai";
|
|
2
|
+
export declare function buildAgentPromptHash(automationEnabled: boolean): string;
|
|
3
|
+
export declare function streamAgentResponse({ env, pageUrl, pageTitle, pageContent, messages, modelOverride, tools, automationEnabled, onChunk, onAssistant, signal, }: {
|
|
4
|
+
env: Record<string, string | undefined>;
|
|
5
|
+
pageUrl: string;
|
|
6
|
+
pageTitle: string | null;
|
|
7
|
+
pageContent: string;
|
|
8
|
+
messages: unknown;
|
|
9
|
+
modelOverride: string | null;
|
|
10
|
+
tools: string[];
|
|
11
|
+
automationEnabled: boolean;
|
|
12
|
+
onChunk: (text: string) => void;
|
|
13
|
+
onAssistant: (assistant: AssistantMessage) => void;
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
}): Promise<void>;
|
|
16
|
+
export declare function completeAgentResponse({ env, pageUrl, pageTitle, pageContent, messages, modelOverride, tools, automationEnabled, }: {
|
|
17
|
+
env: Record<string, string | undefined>;
|
|
18
|
+
pageUrl: string;
|
|
19
|
+
pageTitle: string | null;
|
|
20
|
+
pageContent: string;
|
|
21
|
+
messages: unknown;
|
|
22
|
+
modelOverride: string | null;
|
|
23
|
+
tools: string[];
|
|
24
|
+
automationEnabled: boolean;
|
|
25
|
+
}): Promise<AssistantMessage>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export type DaemonRequestedMode =
|
|
1
|
+
export type DaemonRequestedMode = "auto" | "page" | "url";
|
|
2
2
|
export declare function resolveAutoDaemonMode({ url, hasText }: {
|
|
3
3
|
url: string;
|
|
4
4
|
hasText: boolean;
|
|
5
5
|
}): {
|
|
6
|
-
primary:
|
|
7
|
-
fallback:
|
|
6
|
+
primary: "page" | "url";
|
|
7
|
+
fallback: "page" | "url" | null;
|
|
8
8
|
};
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/
|
|
4
|
-
import type { SseEvent } from '../shared/sse-events.js';
|
|
5
|
-
type ChatMessage = {
|
|
6
|
-
role: 'user' | 'assistant';
|
|
7
|
-
content: string;
|
|
8
|
-
};
|
|
9
|
-
type Session = {
|
|
1
|
+
import type { Message } from "@mariozechner/pi-ai";
|
|
2
|
+
type ChatSession = {
|
|
10
3
|
id: string;
|
|
11
4
|
lastMeta: {
|
|
12
5
|
model: string | null;
|
|
@@ -15,21 +8,20 @@ type Session = {
|
|
|
15
8
|
summaryFromCache: boolean | null;
|
|
16
9
|
};
|
|
17
10
|
};
|
|
11
|
+
type ChatEvent = {
|
|
12
|
+
event: string;
|
|
13
|
+
data?: unknown;
|
|
14
|
+
};
|
|
18
15
|
export declare function streamChatResponse({ env, fetchImpl, session: _session, pageUrl, pageTitle, pageContent, messages, modelOverride, pushToSession, emitMeta, }: {
|
|
19
16
|
env: Record<string, string | undefined>;
|
|
20
17
|
fetchImpl: typeof fetch;
|
|
21
|
-
session:
|
|
18
|
+
session: ChatSession;
|
|
22
19
|
pageUrl: string;
|
|
23
20
|
pageTitle: string | null;
|
|
24
21
|
pageContent: string;
|
|
25
|
-
messages:
|
|
22
|
+
messages: Message[];
|
|
26
23
|
modelOverride: string | null;
|
|
27
|
-
pushToSession: (
|
|
28
|
-
emitMeta: (patch: Partial<
|
|
29
|
-
model: string | null;
|
|
30
|
-
modelLabel: string | null;
|
|
31
|
-
inputSummary: string | null;
|
|
32
|
-
summaryFromCache: boolean | null;
|
|
33
|
-
}>) => void;
|
|
24
|
+
pushToSession: (event: ChatEvent) => void;
|
|
25
|
+
emitMeta: (patch: Partial<ChatSession["lastMeta"]>) => void;
|
|
34
26
|
}): Promise<void>;
|
|
35
27
|
export {};
|