@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,85 +1,146 @@
|
|
|
1
|
-
import { execFile } from
|
|
2
|
-
import fs from
|
|
3
|
-
import path from
|
|
4
|
-
import { promisify } from
|
|
5
|
-
import { DAEMON_SYSTEMD_SERVICE_NAME } from
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { promisify } from "node:util";
|
|
5
|
+
import { DAEMON_SYSTEMD_SERVICE_NAME } from "./constants.js";
|
|
6
6
|
const execFileAsync = promisify(execFile);
|
|
7
7
|
function resolveHomeDir(env) {
|
|
8
8
|
const home = env.HOME?.trim() || env.USERPROFILE?.trim();
|
|
9
9
|
if (!home)
|
|
10
|
-
throw new Error(
|
|
10
|
+
throw new Error("Missing HOME");
|
|
11
11
|
return home;
|
|
12
12
|
}
|
|
13
13
|
function resolveSystemdUnitPath(env) {
|
|
14
14
|
const home = resolveHomeDir(env);
|
|
15
|
-
return path.join(home,
|
|
15
|
+
return path.join(home, ".config", "systemd", "user", `${DAEMON_SYSTEMD_SERVICE_NAME}.service`);
|
|
16
16
|
}
|
|
17
17
|
function systemdEscapeArg(value) {
|
|
18
18
|
if (!/[\s"\\]/.test(value))
|
|
19
19
|
return value;
|
|
20
|
-
return `"${value.replace(/\\/g,
|
|
20
|
+
return `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
|
|
21
21
|
}
|
|
22
22
|
function buildSystemdUnit({ programArguments, workingDirectory, }) {
|
|
23
|
-
const execStart = programArguments.map(systemdEscapeArg).join(
|
|
23
|
+
const execStart = programArguments.map(systemdEscapeArg).join(" ");
|
|
24
24
|
const workingDirLine = workingDirectory
|
|
25
25
|
? `WorkingDirectory=${systemdEscapeArg(workingDirectory)}`
|
|
26
26
|
: null;
|
|
27
27
|
return [
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
"[Unit]",
|
|
29
|
+
"Description=Summarize daemon",
|
|
30
|
+
"",
|
|
31
|
+
"[Service]",
|
|
32
32
|
`ExecStart=${execStart}`,
|
|
33
|
-
|
|
33
|
+
"Restart=always",
|
|
34
34
|
workingDirLine,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
"",
|
|
36
|
+
"[Install]",
|
|
37
|
+
"WantedBy=default.target",
|
|
38
|
+
"",
|
|
39
39
|
]
|
|
40
40
|
.filter((line) => line !== null)
|
|
41
|
-
.join(
|
|
41
|
+
.join("\n");
|
|
42
|
+
}
|
|
43
|
+
function parseSystemdExecStart(value) {
|
|
44
|
+
const args = [];
|
|
45
|
+
let current = "";
|
|
46
|
+
let inQuotes = false;
|
|
47
|
+
let escapeNext = false;
|
|
48
|
+
for (const char of value) {
|
|
49
|
+
if (escapeNext) {
|
|
50
|
+
current += char;
|
|
51
|
+
escapeNext = false;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (char === "\\") {
|
|
55
|
+
escapeNext = true;
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (char === '"') {
|
|
59
|
+
inQuotes = !inQuotes;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (!inQuotes && /\s/.test(char)) {
|
|
63
|
+
if (current) {
|
|
64
|
+
args.push(current);
|
|
65
|
+
current = "";
|
|
66
|
+
}
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
current += char;
|
|
70
|
+
}
|
|
71
|
+
if (current)
|
|
72
|
+
args.push(current);
|
|
73
|
+
return args;
|
|
74
|
+
}
|
|
75
|
+
export async function readSystemdServiceExecStart(env) {
|
|
76
|
+
const unitPath = resolveSystemdUnitPath(env);
|
|
77
|
+
try {
|
|
78
|
+
const content = await fs.readFile(unitPath, "utf8");
|
|
79
|
+
let execStart = "";
|
|
80
|
+
let workingDirectory = "";
|
|
81
|
+
for (const rawLine of content.split("\n")) {
|
|
82
|
+
const line = rawLine.trim();
|
|
83
|
+
if (!line || line.startsWith("#"))
|
|
84
|
+
continue;
|
|
85
|
+
if (line.startsWith("ExecStart=")) {
|
|
86
|
+
execStart = line.slice("ExecStart=".length).trim();
|
|
87
|
+
}
|
|
88
|
+
else if (line.startsWith("WorkingDirectory=")) {
|
|
89
|
+
workingDirectory = line.slice("WorkingDirectory=".length).trim();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (!execStart)
|
|
93
|
+
return null;
|
|
94
|
+
const programArguments = parseSystemdExecStart(execStart);
|
|
95
|
+
return {
|
|
96
|
+
programArguments,
|
|
97
|
+
...(workingDirectory ? { workingDirectory } : {}),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
42
103
|
}
|
|
43
104
|
async function execSystemctl(args) {
|
|
44
105
|
try {
|
|
45
|
-
const { stdout, stderr } = await execFileAsync(
|
|
46
|
-
return { stdout: String(stdout ??
|
|
106
|
+
const { stdout, stderr } = await execFileAsync("systemctl", args, { encoding: "utf8" });
|
|
107
|
+
return { stdout: String(stdout ?? ""), stderr: String(stderr ?? ""), code: 0 };
|
|
47
108
|
}
|
|
48
109
|
catch (error) {
|
|
49
110
|
const e = error;
|
|
50
111
|
return {
|
|
51
|
-
stdout: typeof e.stdout ===
|
|
52
|
-
stderr: typeof e.stderr ===
|
|
53
|
-
code: typeof e.code ===
|
|
112
|
+
stdout: typeof e.stdout === "string" ? e.stdout : "",
|
|
113
|
+
stderr: typeof e.stderr === "string" ? e.stderr : typeof e.message === "string" ? e.message : "",
|
|
114
|
+
code: typeof e.code === "number" ? e.code : 1,
|
|
54
115
|
};
|
|
55
116
|
}
|
|
56
117
|
}
|
|
57
118
|
async function assertSystemdAvailable() {
|
|
58
|
-
const res = await execSystemctl([
|
|
119
|
+
const res = await execSystemctl(["--user", "status"]);
|
|
59
120
|
if (res.code === 0)
|
|
60
121
|
return;
|
|
61
122
|
const detail = res.stderr || res.stdout;
|
|
62
|
-
if (detail.toLowerCase().includes(
|
|
63
|
-
throw new Error(
|
|
123
|
+
if (detail.toLowerCase().includes("not found")) {
|
|
124
|
+
throw new Error("systemctl not available; systemd user services are required on Linux.");
|
|
64
125
|
}
|
|
65
|
-
throw new Error(`systemctl --user unavailable: ${detail ||
|
|
126
|
+
throw new Error(`systemctl --user unavailable: ${detail || "unknown error"}`.trim());
|
|
66
127
|
}
|
|
67
128
|
export async function installSystemdService({ env, stdout, programArguments, workingDirectory, }) {
|
|
68
129
|
await assertSystemdAvailable();
|
|
69
130
|
const unitPath = resolveSystemdUnitPath(env);
|
|
70
131
|
await fs.mkdir(path.dirname(unitPath), { recursive: true });
|
|
71
132
|
const unit = buildSystemdUnit({ programArguments, workingDirectory });
|
|
72
|
-
await fs.writeFile(unitPath, unit,
|
|
133
|
+
await fs.writeFile(unitPath, unit, "utf8");
|
|
73
134
|
const unitName = `${DAEMON_SYSTEMD_SERVICE_NAME}.service`;
|
|
74
|
-
const reload = await execSystemctl([
|
|
135
|
+
const reload = await execSystemctl(["--user", "daemon-reload"]);
|
|
75
136
|
if (reload.code !== 0) {
|
|
76
137
|
throw new Error(`systemctl daemon-reload failed: ${reload.stderr || reload.stdout}`.trim());
|
|
77
138
|
}
|
|
78
|
-
const enable = await execSystemctl([
|
|
139
|
+
const enable = await execSystemctl(["--user", "enable", unitName]);
|
|
79
140
|
if (enable.code !== 0) {
|
|
80
141
|
throw new Error(`systemctl enable failed: ${enable.stderr || enable.stdout}`.trim());
|
|
81
142
|
}
|
|
82
|
-
const restart = await execSystemctl([
|
|
143
|
+
const restart = await execSystemctl(["--user", "restart", unitName]);
|
|
83
144
|
if (restart.code !== 0) {
|
|
84
145
|
throw new Error(`systemctl restart failed: ${restart.stderr || restart.stdout}`.trim());
|
|
85
146
|
}
|
|
@@ -89,7 +150,7 @@ export async function installSystemdService({ env, stdout, programArguments, wor
|
|
|
89
150
|
export async function uninstallSystemdService({ env, stdout, }) {
|
|
90
151
|
await assertSystemdAvailable();
|
|
91
152
|
const unitName = `${DAEMON_SYSTEMD_SERVICE_NAME}.service`;
|
|
92
|
-
await execSystemctl([
|
|
153
|
+
await execSystemctl(["--user", "disable", "--now", unitName]);
|
|
93
154
|
const unitPath = resolveSystemdUnitPath(env);
|
|
94
155
|
try {
|
|
95
156
|
await fs.unlink(unitPath);
|
|
@@ -102,7 +163,7 @@ export async function uninstallSystemdService({ env, stdout, }) {
|
|
|
102
163
|
export async function restartSystemdService({ stdout, }) {
|
|
103
164
|
await assertSystemdAvailable();
|
|
104
165
|
const unitName = `${DAEMON_SYSTEMD_SERVICE_NAME}.service`;
|
|
105
|
-
const res = await execSystemctl([
|
|
166
|
+
const res = await execSystemctl(["--user", "restart", unitName]);
|
|
106
167
|
if (res.code !== 0) {
|
|
107
168
|
throw new Error(`systemctl restart failed: ${res.stderr || res.stdout}`.trim());
|
|
108
169
|
}
|
|
@@ -111,7 +172,7 @@ export async function restartSystemdService({ stdout, }) {
|
|
|
111
172
|
export async function isSystemdServiceEnabled() {
|
|
112
173
|
await assertSystemdAvailable();
|
|
113
174
|
const unitName = `${DAEMON_SYSTEMD_SERVICE_NAME}.service`;
|
|
114
|
-
const res = await execSystemctl([
|
|
175
|
+
const res = await execSystemctl(["--user", "is-enabled", unitName]);
|
|
115
176
|
return res.code === 0;
|
|
116
177
|
}
|
|
117
178
|
//# sourceMappingURL=systemd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"systemd.js","sourceRoot":"","sources":["../../../src/daemon/systemd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"systemd.js","sourceRoot":"","sources":["../../../src/daemon/systemd.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/firecrawl.js
CHANGED
|
@@ -2,46 +2,46 @@ export function createFirecrawlScraper({ apiKey, fetchImpl, }) {
|
|
|
2
2
|
return async (url, options) => {
|
|
3
3
|
const controller = new AbortController();
|
|
4
4
|
const timeoutMs = options?.timeoutMs;
|
|
5
|
-
const hasTimeout = typeof timeoutMs ===
|
|
5
|
+
const hasTimeout = typeof timeoutMs === "number" && Number.isFinite(timeoutMs) && timeoutMs > 0;
|
|
6
6
|
const timeout = hasTimeout ? setTimeout(() => controller.abort(), timeoutMs) : null;
|
|
7
7
|
try {
|
|
8
|
-
const response = await fetchImpl(
|
|
9
|
-
method:
|
|
8
|
+
const response = await fetchImpl("https://api.firecrawl.dev/v1/scrape", {
|
|
9
|
+
method: "POST",
|
|
10
10
|
headers: {
|
|
11
11
|
Authorization: `Bearer ${apiKey}`,
|
|
12
|
-
|
|
12
|
+
"Content-Type": "application/json",
|
|
13
13
|
},
|
|
14
14
|
signal: controller.signal,
|
|
15
15
|
body: JSON.stringify({
|
|
16
16
|
url,
|
|
17
|
-
formats: [
|
|
17
|
+
formats: ["markdown", "html"],
|
|
18
18
|
onlyMainContent: true,
|
|
19
|
-
proxy:
|
|
19
|
+
proxy: "auto",
|
|
20
20
|
maxAge: 0,
|
|
21
21
|
}),
|
|
22
22
|
});
|
|
23
23
|
const payload = (await response.json().catch(() => null));
|
|
24
24
|
if (!response.ok) {
|
|
25
|
-
const message = payload?.error ? `: ${payload.error}` :
|
|
25
|
+
const message = payload?.error ? `: ${payload.error}` : "";
|
|
26
26
|
throw new Error(`Firecrawl request failed (${response.status})${message}`);
|
|
27
27
|
}
|
|
28
28
|
if (!payload?.success) {
|
|
29
|
-
throw new Error(payload?.error ??
|
|
29
|
+
throw new Error(payload?.error ?? "Firecrawl response was not successful");
|
|
30
30
|
}
|
|
31
31
|
const data = payload.data;
|
|
32
32
|
const markdown = data?.markdown ?? null;
|
|
33
|
-
if (typeof markdown !==
|
|
33
|
+
if (typeof markdown !== "string" || markdown.trim().length === 0) {
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
36
|
return {
|
|
37
37
|
markdown,
|
|
38
|
-
html: typeof data?.html ===
|
|
38
|
+
html: typeof data?.html === "string" ? data.html : null,
|
|
39
39
|
metadata: data?.metadata ?? null,
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
catch (error) {
|
|
43
|
-
if (error instanceof DOMException && error.name ===
|
|
44
|
-
throw new Error(
|
|
43
|
+
if (error instanceof DOMException && error.name === "AbortError") {
|
|
44
|
+
throw new Error("Firecrawl request timed out");
|
|
45
45
|
}
|
|
46
46
|
throw error;
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firecrawl.js","sourceRoot":"","sources":["../../src/firecrawl.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,sBAAsB,CAAC,EACrC,MAAM,EACN,SAAS,GAIV;IACC,OAAO,KAAK,EACV,GAAW,EACX,OAAgC,EACO,EAAE;QACzC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"firecrawl.js","sourceRoot":"","sources":["../../src/firecrawl.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,sBAAsB,CAAC,EACrC,MAAM,EACN,SAAS,GAIV;IACC,OAAO,KAAK,EACV,GAAW,EACX,OAAgC,EACO,EAAE;QACzC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,MAAM,UAAU,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC;QAChG,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,qCAAqC,EAAE;gBACtE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,MAAM,EAAE;oBACjC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG;oBACH,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;oBAC7B,eAAe,EAAE,IAAI;oBACrB,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,CAAC;iBACV,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAA6B,CAAC;YAEtF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,uCAAuC,CAAC,CAAC;YAC7E,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;YACxC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,QAAQ;gBACR,IAAI,EAAE,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACvD,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI;aACjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/esm/flags.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const SUMMARY_LENGTHS = [
|
|
1
|
+
const SUMMARY_LENGTHS = ["short", "medium", "long", "xl", "xxl"];
|
|
2
2
|
const DURATION_PATTERN = /^(?<value>\d+(?:\.\d+)?)(?<unit>ms|s|m|h)?$/i;
|
|
3
3
|
const COUNT_PATTERN = /^(?<value>\d+(?:\.\d+)?)(?<unit>k|m)?$/i;
|
|
4
4
|
const MIN_LENGTH_CHARS = 10;
|
|
@@ -7,64 +7,64 @@ const MIN_RETRIES = 0;
|
|
|
7
7
|
const MAX_RETRIES = 5;
|
|
8
8
|
export function parseYoutubeMode(raw) {
|
|
9
9
|
const normalized = raw.trim().toLowerCase();
|
|
10
|
-
if (normalized ===
|
|
11
|
-
return
|
|
12
|
-
if (normalized ===
|
|
10
|
+
if (normalized === "autp")
|
|
11
|
+
return "auto";
|
|
12
|
+
if (normalized === "auto" || normalized === "web" || normalized === "apify")
|
|
13
13
|
return normalized;
|
|
14
|
-
if (normalized ===
|
|
15
|
-
return
|
|
16
|
-
if (normalized ===
|
|
17
|
-
return
|
|
14
|
+
if (normalized === "yt-dlp")
|
|
15
|
+
return "yt-dlp";
|
|
16
|
+
if (normalized === "no-auto")
|
|
17
|
+
return "no-auto";
|
|
18
18
|
throw new Error(`Unsupported --youtube: ${raw}`);
|
|
19
19
|
}
|
|
20
20
|
export function parseFirecrawlMode(raw) {
|
|
21
21
|
const normalized = raw.trim().toLowerCase();
|
|
22
|
-
if (normalized ===
|
|
22
|
+
if (normalized === "off" || normalized === "auto" || normalized === "always")
|
|
23
23
|
return normalized;
|
|
24
24
|
throw new Error(`Unsupported --firecrawl: ${raw}`);
|
|
25
25
|
}
|
|
26
26
|
export function parseMarkdownMode(raw) {
|
|
27
27
|
const normalized = raw.trim().toLowerCase();
|
|
28
|
-
if (normalized ===
|
|
29
|
-
normalized ===
|
|
30
|
-
normalized ===
|
|
31
|
-
normalized ===
|
|
28
|
+
if (normalized === "off" ||
|
|
29
|
+
normalized === "auto" ||
|
|
30
|
+
normalized === "llm" ||
|
|
31
|
+
normalized === "readability")
|
|
32
32
|
return normalized;
|
|
33
33
|
throw new Error(`Unsupported --markdown-mode: ${raw}`);
|
|
34
34
|
}
|
|
35
35
|
export function parseExtractFormat(raw) {
|
|
36
36
|
const normalized = raw.trim().toLowerCase();
|
|
37
|
-
if (normalized ===
|
|
38
|
-
return
|
|
39
|
-
if (normalized ===
|
|
40
|
-
return
|
|
37
|
+
if (normalized === "text" || normalized === "txt" || normalized === "plain")
|
|
38
|
+
return "text";
|
|
39
|
+
if (normalized === "md" || normalized === "markdown")
|
|
40
|
+
return "markdown";
|
|
41
41
|
throw new Error(`Unsupported --format: ${raw}`);
|
|
42
42
|
}
|
|
43
43
|
export function parsePreprocessMode(raw) {
|
|
44
44
|
const normalized = raw.trim().toLowerCase();
|
|
45
|
-
if (normalized ===
|
|
45
|
+
if (normalized === "off" || normalized === "auto" || normalized === "always") {
|
|
46
46
|
return normalized;
|
|
47
47
|
}
|
|
48
|
-
if (normalized ===
|
|
49
|
-
return
|
|
48
|
+
if (normalized === "on")
|
|
49
|
+
return "always";
|
|
50
50
|
throw new Error(`Unsupported --preprocess: ${raw}`);
|
|
51
51
|
}
|
|
52
52
|
export function parseStreamMode(raw) {
|
|
53
53
|
const normalized = raw.trim().toLowerCase();
|
|
54
|
-
if (normalized ===
|
|
54
|
+
if (normalized === "auto" || normalized === "on" || normalized === "off")
|
|
55
55
|
return normalized;
|
|
56
56
|
throw new Error(`Unsupported --stream: ${raw}`);
|
|
57
57
|
}
|
|
58
58
|
export function parseMetricsMode(raw) {
|
|
59
59
|
const normalized = raw.trim().toLowerCase();
|
|
60
|
-
if (normalized ===
|
|
60
|
+
if (normalized === "off" || normalized === "on" || normalized === "detailed") {
|
|
61
61
|
return normalized;
|
|
62
62
|
}
|
|
63
63
|
throw new Error(`Unsupported --metrics: ${raw}`);
|
|
64
64
|
}
|
|
65
65
|
export function parseVideoMode(raw) {
|
|
66
66
|
const normalized = raw.trim().toLowerCase();
|
|
67
|
-
if (normalized ===
|
|
67
|
+
if (normalized === "auto" || normalized === "transcript" || normalized === "understand") {
|
|
68
68
|
return normalized;
|
|
69
69
|
}
|
|
70
70
|
throw new Error(`Unsupported --video-mode: ${raw}`);
|
|
@@ -79,18 +79,18 @@ export function parseDurationMs(raw) {
|
|
|
79
79
|
if (!Number.isFinite(numeric) || numeric <= 0) {
|
|
80
80
|
throw new Error(`Unsupported --timeout: ${raw}`);
|
|
81
81
|
}
|
|
82
|
-
const unit = match.groups.unit?.toLowerCase() ??
|
|
83
|
-
const multiplier = unit ===
|
|
82
|
+
const unit = match.groups.unit?.toLowerCase() ?? "s";
|
|
83
|
+
const multiplier = unit === "ms" ? 1 : unit === "s" ? 1000 : unit === "m" ? 60_000 : 3_600_000;
|
|
84
84
|
return Math.floor(numeric * multiplier);
|
|
85
85
|
}
|
|
86
86
|
export function parseLengthArg(raw) {
|
|
87
87
|
const normalized = raw.trim().toLowerCase();
|
|
88
|
-
const shorthand = { s:
|
|
88
|
+
const shorthand = { s: "short", m: "medium", l: "long" };
|
|
89
89
|
if (normalized in shorthand) {
|
|
90
|
-
return { kind:
|
|
90
|
+
return { kind: "preset", preset: shorthand[normalized] };
|
|
91
91
|
}
|
|
92
92
|
if (SUMMARY_LENGTHS.includes(normalized)) {
|
|
93
|
-
return { kind:
|
|
93
|
+
return { kind: "preset", preset: normalized };
|
|
94
94
|
}
|
|
95
95
|
const match = COUNT_PATTERN.exec(normalized);
|
|
96
96
|
if (!match?.groups) {
|
|
@@ -101,12 +101,36 @@ export function parseLengthArg(raw) {
|
|
|
101
101
|
throw new Error(`Unsupported --length: ${raw}`);
|
|
102
102
|
}
|
|
103
103
|
const unit = match.groups.unit?.toLowerCase() ?? null;
|
|
104
|
-
const multiplier = unit ===
|
|
104
|
+
const multiplier = unit === "k" ? 1000 : unit === "m" ? 1_000_000 : 1;
|
|
105
105
|
const maxCharacters = Math.floor(numeric * multiplier);
|
|
106
106
|
if (maxCharacters < MIN_LENGTH_CHARS) {
|
|
107
107
|
throw new Error(`Unsupported --length: ${raw} (minimum ${MIN_LENGTH_CHARS} chars)`);
|
|
108
108
|
}
|
|
109
|
-
return { kind:
|
|
109
|
+
return { kind: "chars", maxCharacters };
|
|
110
|
+
}
|
|
111
|
+
export function parseMaxExtractCharactersArg(raw) {
|
|
112
|
+
if (raw === undefined || raw === null)
|
|
113
|
+
return null;
|
|
114
|
+
const normalized = raw.trim().toLowerCase();
|
|
115
|
+
if (!normalized)
|
|
116
|
+
return null;
|
|
117
|
+
const match = COUNT_PATTERN.exec(normalized);
|
|
118
|
+
if (!match?.groups) {
|
|
119
|
+
throw new Error(`Unsupported --max-extract-characters: ${raw}`);
|
|
120
|
+
}
|
|
121
|
+
const numeric = Number(match.groups.value);
|
|
122
|
+
if (!Number.isFinite(numeric)) {
|
|
123
|
+
throw new Error(`Unsupported --max-extract-characters: ${raw}`);
|
|
124
|
+
}
|
|
125
|
+
if (numeric <= 0)
|
|
126
|
+
return null;
|
|
127
|
+
const unit = match.groups.unit?.toLowerCase() ?? null;
|
|
128
|
+
const multiplier = unit === "k" ? 1000 : unit === "m" ? 1_000_000 : 1;
|
|
129
|
+
const maxCharacters = Math.floor(numeric * multiplier);
|
|
130
|
+
if (maxCharacters < MIN_LENGTH_CHARS) {
|
|
131
|
+
throw new Error(`Unsupported --max-extract-characters: ${raw} (minimum ${MIN_LENGTH_CHARS} chars)`);
|
|
132
|
+
}
|
|
133
|
+
return maxCharacters;
|
|
110
134
|
}
|
|
111
135
|
export function parseMaxOutputTokensArg(raw) {
|
|
112
136
|
if (raw === undefined || raw === null)
|
|
@@ -124,7 +148,7 @@ export function parseMaxOutputTokensArg(raw) {
|
|
|
124
148
|
throw new Error(`Unsupported --max-output-tokens: ${raw}`);
|
|
125
149
|
}
|
|
126
150
|
const unit = match.groups.unit?.toLowerCase() ?? null;
|
|
127
|
-
const multiplier = unit ===
|
|
151
|
+
const multiplier = unit === "k" ? 1000 : unit === "m" ? 1_000_000 : 1;
|
|
128
152
|
const maxOutputTokens = Math.floor(numeric * multiplier);
|
|
129
153
|
if (maxOutputTokens < MIN_MAX_OUTPUT_TOKENS) {
|
|
130
154
|
throw new Error(`Unsupported --max-output-tokens: ${raw} (minimum ${MIN_MAX_OUTPUT_TOKENS})`);
|
package/dist/esm/flags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/flags.ts"],"names":[],"mappings":"AAeA,MAAM,eAAe,GAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/flags.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export { SUMMARY_LENGTHS } from
|
|
1
|
+
export * from "./content/index.js";
|
|
2
|
+
export * from "./prompts/index.js";
|
|
3
|
+
export { SUMMARY_LENGTHS } from "./shared/contracts.js";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/esm/language.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from "@steipete/summarize-core/language";
|
|
2
2
|
//# sourceMappingURL=language.js.map
|
package/dist/esm/language.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../src/language.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,
|
|
1
|
+
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../src/language.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
|