@steipete/summarize 0.11.0 → 0.12.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 +44 -1
- package/README.md +63 -17
- package/dist/cli.js +1 -1
- package/dist/esm/cache-keys.js +75 -0
- package/dist/esm/cache-keys.js.map +1 -0
- package/dist/esm/cache-slides-cleanup.js +47 -0
- package/dist/esm/cache-slides-cleanup.js.map +1 -0
- package/dist/esm/cache.js +14 -91
- package/dist/esm/cache.js.map +1 -1
- package/dist/esm/config/env.js +49 -0
- package/dist/esm/config/env.js.map +1 -0
- package/dist/esm/config/model.js +193 -0
- package/dist/esm/config/model.js.map +1 -0
- package/dist/esm/config/parse-helpers.js +50 -0
- package/dist/esm/config/parse-helpers.js.map +1 -0
- package/dist/esm/config/read.js +83 -0
- package/dist/esm/config/read.js.map +1 -0
- package/dist/esm/config/sections.js +438 -0
- package/dist/esm/config/sections.js.map +1 -0
- package/dist/esm/config/types.js +2 -0
- package/dist/esm/config/types.js.map +1 -0
- package/dist/esm/config.js +24 -807
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/content/asset.js +2 -2
- package/dist/esm/content/asset.js.map +1 -1
- package/dist/esm/daemon/agent-model.js +235 -0
- package/dist/esm/daemon/agent-model.js.map +1 -0
- package/dist/esm/daemon/agent-request.js +87 -0
- package/dist/esm/daemon/agent-request.js.map +1 -0
- package/dist/esm/daemon/agent.js +42 -243
- package/dist/esm/daemon/agent.js.map +1 -1
- package/dist/esm/daemon/chat.js +69 -8
- package/dist/esm/daemon/chat.js.map +1 -1
- package/dist/esm/daemon/cli.js +21 -4
- package/dist/esm/daemon/cli.js.map +1 -1
- package/dist/esm/daemon/config.js +65 -9
- package/dist/esm/daemon/config.js.map +1 -1
- package/dist/esm/daemon/env-snapshot.js +4 -0
- package/dist/esm/daemon/env-snapshot.js.map +1 -1
- package/dist/esm/daemon/flow-context.js +8 -1
- package/dist/esm/daemon/flow-context.js.map +1 -1
- package/dist/esm/daemon/models.js +16 -0
- package/dist/esm/daemon/models.js.map +1 -1
- package/dist/esm/daemon/process-registry.js.map +1 -1
- package/dist/esm/daemon/server-admin-routes.js +134 -0
- package/dist/esm/daemon/server-admin-routes.js.map +1 -0
- package/dist/esm/daemon/server-agent-route.js +104 -0
- package/dist/esm/daemon/server-agent-route.js.map +1 -0
- package/dist/esm/daemon/server-http.js +89 -0
- package/dist/esm/daemon/server-http.js.map +1 -0
- package/dist/esm/daemon/server-session-routes.js +209 -0
- package/dist/esm/daemon/server-session-routes.js.map +1 -0
- package/dist/esm/daemon/server-session.js +118 -0
- package/dist/esm/daemon/server-session.js.map +1 -0
- package/dist/esm/daemon/server-sse.js +28 -0
- package/dist/esm/daemon/server-sse.js.map +1 -0
- package/dist/esm/daemon/server-summarize-execution.js +357 -0
- package/dist/esm/daemon/server-summarize-execution.js.map +1 -0
- package/dist/esm/daemon/server-summarize-request.js +119 -0
- package/dist/esm/daemon/server-summarize-request.js.map +1 -0
- package/dist/esm/daemon/server.js +72 -1121
- package/dist/esm/daemon/server.js.map +1 -1
- package/dist/esm/daemon/summarize-progress.js +1 -1
- package/dist/esm/daemon/summarize-progress.js.map +1 -1
- package/dist/esm/daemon/summarize.js.map +1 -1
- package/dist/esm/llm/cli-exec.js +75 -0
- package/dist/esm/llm/cli-exec.js.map +1 -0
- package/dist/esm/llm/cli-provider-output.js +191 -0
- package/dist/esm/llm/cli-provider-output.js.map +1 -0
- package/dist/esm/llm/cli.js +3 -212
- package/dist/esm/llm/cli.js.map +1 -1
- package/dist/esm/llm/generate-text-document.js +109 -0
- package/dist/esm/llm/generate-text-document.js.map +1 -0
- package/dist/esm/llm/generate-text-shared.js +102 -0
- package/dist/esm/llm/generate-text-shared.js.map +1 -0
- package/dist/esm/llm/generate-text-stream.js +258 -0
- package/dist/esm/llm/generate-text-stream.js.map +1 -0
- package/dist/esm/llm/generate-text.js +145 -480
- package/dist/esm/llm/generate-text.js.map +1 -1
- package/dist/esm/llm/model-id.js +21 -20
- package/dist/esm/llm/model-id.js.map +1 -1
- package/dist/esm/llm/provider-capabilities.js +2 -0
- package/dist/esm/llm/provider-capabilities.js.map +1 -0
- package/dist/esm/llm/provider-profile.js +142 -0
- package/dist/esm/llm/provider-profile.js.map +1 -0
- package/dist/esm/llm/providers/google.js +42 -5
- package/dist/esm/llm/providers/google.js.map +1 -1
- package/dist/esm/llm/providers/models.js +13 -0
- package/dist/esm/llm/providers/models.js.map +1 -1
- package/dist/esm/llm/providers/openai.js.map +1 -1
- package/dist/esm/llm/transcript-to-markdown.js.map +1 -1
- package/dist/esm/model-auto-cli.js +89 -0
- package/dist/esm/model-auto-cli.js.map +1 -0
- package/dist/esm/model-auto-rules.js +86 -0
- package/dist/esm/model-auto-rules.js.map +1 -0
- package/dist/esm/model-auto.js +10 -245
- package/dist/esm/model-auto.js.map +1 -1
- package/dist/esm/model-spec.js +23 -17
- package/dist/esm/model-spec.js.map +1 -1
- package/dist/esm/refresh-free.js +1 -1
- package/dist/esm/refresh-free.js.map +1 -1
- package/dist/esm/run/attachments.js +1 -1
- package/dist/esm/run/attachments.js.map +1 -1
- package/dist/esm/run/bird/exec.js +23 -0
- package/dist/esm/run/bird/exec.js.map +1 -0
- package/dist/esm/run/bird/media.js +171 -0
- package/dist/esm/run/bird/media.js.map +1 -0
- package/dist/esm/run/bird/parse.js +82 -0
- package/dist/esm/run/bird/parse.js.map +1 -0
- package/dist/esm/run/bird/types.js +2 -0
- package/dist/esm/run/bird/types.js.map +1 -0
- package/dist/esm/run/bird.js +86 -144
- package/dist/esm/run/bird.js.map +1 -1
- package/dist/esm/run/cache-state.js.map +1 -1
- package/dist/esm/run/constants.js +2 -1
- package/dist/esm/run/constants.js.map +1 -1
- package/dist/esm/run/env.js +3 -0
- package/dist/esm/run/env.js.map +1 -1
- package/dist/esm/run/finish-line-labels.js +76 -0
- package/dist/esm/run/finish-line-labels.js.map +1 -0
- package/dist/esm/run/finish-line-lengths.js +96 -0
- package/dist/esm/run/finish-line-lengths.js.map +1 -0
- package/dist/esm/run/finish-line.js +3 -169
- package/dist/esm/run/finish-line.js.map +1 -1
- package/dist/esm/run/flows/asset/extract.js.map +1 -1
- package/dist/esm/run/flows/asset/input.js +1 -1
- package/dist/esm/run/flows/asset/input.js.map +1 -1
- package/dist/esm/run/flows/asset/media.js +19 -10
- package/dist/esm/run/flows/asset/media.js.map +1 -1
- package/dist/esm/run/flows/asset/output.js.map +1 -1
- package/dist/esm/run/flows/asset/preprocess.js.map +1 -1
- package/dist/esm/run/flows/asset/summary-attempts.js +109 -0
- package/dist/esm/run/flows/asset/summary-attempts.js.map +1 -0
- package/dist/esm/run/flows/asset/summary.js +19 -107
- package/dist/esm/run/flows/asset/summary.js.map +1 -1
- package/dist/esm/run/flows/url/extract.js +7 -4
- package/dist/esm/run/flows/url/extract.js.map +1 -1
- package/dist/esm/run/flows/url/flow-progress.js +119 -0
- package/dist/esm/run/flows/url/flow-progress.js.map +1 -0
- package/dist/esm/run/flows/url/flow.js +22 -93
- package/dist/esm/run/flows/url/flow.js.map +1 -1
- package/dist/esm/run/flows/url/markdown.js +21 -3
- package/dist/esm/run/flows/url/markdown.js.map +1 -1
- package/dist/esm/run/flows/url/progress-status.js +56 -0
- package/dist/esm/run/flows/url/progress-status.js.map +1 -0
- package/dist/esm/run/flows/url/slides-output-render.js +78 -0
- package/dist/esm/run/flows/url/slides-output-render.js.map +1 -0
- package/dist/esm/run/flows/url/slides-output-state.js +86 -0
- package/dist/esm/run/flows/url/slides-output-state.js.map +1 -0
- package/dist/esm/run/flows/url/slides-output-stream.js +271 -0
- package/dist/esm/run/flows/url/slides-output-stream.js.map +1 -0
- package/dist/esm/run/flows/url/slides-output.js +29 -422
- package/dist/esm/run/flows/url/slides-output.js.map +1 -1
- package/dist/esm/run/flows/url/slides-text-markdown.js +431 -0
- package/dist/esm/run/flows/url/slides-text-markdown.js.map +1 -0
- package/dist/esm/run/flows/url/slides-text-transcript.js +199 -0
- package/dist/esm/run/flows/url/slides-text-transcript.js.map +1 -0
- package/dist/esm/run/flows/url/slides-text-types.js +2 -0
- package/dist/esm/run/flows/url/slides-text-types.js.map +1 -0
- package/dist/esm/run/flows/url/slides-text.js +2 -627
- package/dist/esm/run/flows/url/slides-text.js.map +1 -1
- package/dist/esm/run/flows/url/summary-finish.js +34 -0
- package/dist/esm/run/flows/url/summary-finish.js.map +1 -0
- package/dist/esm/run/flows/url/summary-json.js +32 -0
- package/dist/esm/run/flows/url/summary-json.js.map +1 -0
- package/dist/esm/run/flows/url/summary-prompt.js +147 -0
- package/dist/esm/run/flows/url/summary-prompt.js.map +1 -0
- package/dist/esm/run/flows/url/summary-resolution.js +320 -0
- package/dist/esm/run/flows/url/summary-resolution.js.map +1 -0
- package/dist/esm/run/flows/url/summary-timestamps.js +136 -0
- package/dist/esm/run/flows/url/summary-timestamps.js.map +1 -0
- package/dist/esm/run/flows/url/summary.js +49 -543
- package/dist/esm/run/flows/url/summary.js.map +1 -1
- package/dist/esm/run/help.js +9 -3
- package/dist/esm/run/help.js.map +1 -1
- package/dist/esm/run/markdown-transforms.js +89 -0
- package/dist/esm/run/markdown-transforms.js.map +1 -0
- package/dist/esm/run/markdown.js +1 -96
- package/dist/esm/run/markdown.js.map +1 -1
- package/dist/esm/run/run-env.js +28 -7
- package/dist/esm/run/run-env.js.map +1 -1
- package/dist/esm/run/run-settings-parse.js +73 -0
- package/dist/esm/run/run-settings-parse.js.map +1 -0
- package/dist/esm/run/run-settings.js +1 -72
- package/dist/esm/run/run-settings.js.map +1 -1
- package/dist/esm/run/runner-contexts.js +116 -0
- package/dist/esm/run/runner-contexts.js.map +1 -0
- package/dist/esm/run/runner-execution.js +62 -0
- package/dist/esm/run/runner-execution.js.map +1 -0
- package/dist/esm/run/runner-flags.js +97 -0
- package/dist/esm/run/runner-flags.js.map +1 -0
- package/dist/esm/run/runner-setup.js +109 -0
- package/dist/esm/run/runner-setup.js.map +1 -0
- package/dist/esm/run/runner-slides.js +38 -0
- package/dist/esm/run/runner-slides.js.map +1 -0
- package/dist/esm/run/runner.js +99 -390
- package/dist/esm/run/runner.js.map +1 -1
- package/dist/esm/run/slides-render.js +5 -2
- package/dist/esm/run/slides-render.js.map +1 -1
- package/dist/esm/run/stdin-temp-file.js +1 -1
- package/dist/esm/run/stdin-temp-file.js.map +1 -1
- package/dist/esm/run/streaming.js +1 -0
- package/dist/esm/run/streaming.js.map +1 -1
- package/dist/esm/run/summary-engine.js +26 -10
- package/dist/esm/run/summary-engine.js.map +1 -1
- package/dist/esm/run/summary-llm.js +2 -1
- package/dist/esm/run/summary-llm.js.map +1 -1
- package/dist/esm/run/terminal.js +4 -1
- package/dist/esm/run/terminal.js.map +1 -1
- package/dist/esm/run/transcriber-cli.js +1 -1
- package/dist/esm/run/transcriber-cli.js.map +1 -1
- package/dist/esm/slides/download.js +242 -0
- package/dist/esm/slides/download.js.map +1 -0
- package/dist/esm/slides/extract-finalize.js +98 -0
- package/dist/esm/slides/extract-finalize.js.map +1 -0
- package/dist/esm/slides/extract.js +64 -1621
- package/dist/esm/slides/extract.js.map +1 -1
- package/dist/esm/slides/frame-extraction.js +372 -0
- package/dist/esm/slides/frame-extraction.js.map +1 -0
- package/dist/esm/slides/ingest.js +167 -0
- package/dist/esm/slides/ingest.js.map +1 -0
- package/dist/esm/slides/ocr.js +91 -0
- package/dist/esm/slides/ocr.js.map +1 -0
- package/dist/esm/slides/process.js +218 -0
- package/dist/esm/slides/process.js.map +1 -0
- package/dist/esm/slides/scene-detection.js +387 -0
- package/dist/esm/slides/scene-detection.js.map +1 -0
- package/dist/esm/slides/source-id.js +42 -0
- package/dist/esm/slides/source-id.js.map +1 -0
- package/dist/esm/tty/progress/fetch-html.js.map +1 -1
- package/dist/esm/tty/progress/transcript.js +21 -8
- package/dist/esm/tty/progress/transcript.js.map +1 -1
- package/dist/esm/tty/spinner.js +8 -2
- package/dist/esm/tty/spinner.js.map +1 -1
- package/dist/esm/tty/website-progress.js +5 -3
- package/dist/esm/tty/website-progress.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/cache-keys.d.ts +44 -0
- package/dist/types/cache-slides-cleanup.d.ts +1 -0
- package/dist/types/cache.d.ts +1 -9
- package/dist/types/config/env.d.ts +6 -0
- package/dist/types/config/model.d.ts +3 -0
- package/dist/types/config/parse-helpers.d.ts +7 -0
- package/dist/types/config/read.d.ts +2 -0
- package/dist/types/config/sections.d.ts +33 -0
- package/dist/types/config/types.d.ts +230 -0
- package/dist/types/config.d.ts +3 -209
- package/dist/types/costs.d.ts +1 -1
- package/dist/types/daemon/agent-model.d.ts +40 -0
- package/dist/types/daemon/agent-request.d.ts +14 -0
- package/dist/types/daemon/chat.d.ts +3 -1
- package/dist/types/daemon/config.d.ts +13 -2
- package/dist/types/daemon/env-snapshot.d.ts +1 -1
- package/dist/types/daemon/flow-context.d.ts +1 -1
- package/dist/types/daemon/models.d.ts +1 -0
- package/dist/types/daemon/server-admin-routes.d.ts +22 -0
- package/dist/types/daemon/server-agent-route.d.ts +9 -0
- package/dist/types/daemon/server-http.d.ts +10 -0
- package/dist/types/daemon/server-session-routes.d.ts +11 -0
- package/dist/types/daemon/server-session.d.ts +52 -0
- package/dist/types/daemon/server-sse.d.ts +12 -0
- package/dist/types/daemon/server-summarize-execution.d.ts +70 -0
- package/dist/types/daemon/server-summarize-request.d.ts +36 -0
- package/dist/types/daemon/server.d.ts +3 -4
- package/dist/types/daemon/summarize.d.ts +1 -1
- package/dist/types/llm/cli-exec.d.ts +13 -0
- package/dist/types/llm/cli-provider-output.d.ts +16 -0
- package/dist/types/llm/generate-text-document.d.ts +34 -0
- package/dist/types/llm/generate-text-shared.d.ts +25 -0
- package/dist/types/llm/generate-text-stream.d.ts +26 -0
- package/dist/types/llm/generate-text.d.ts +6 -26
- package/dist/types/llm/html-to-markdown.d.ts +1 -1
- package/dist/types/llm/model-id.d.ts +1 -1
- package/dist/types/llm/provider-capabilities.d.ts +2 -0
- package/dist/types/llm/provider-profile.d.ts +31 -0
- package/dist/types/llm/providers/google.d.ts +6 -0
- package/dist/types/llm/providers/models.d.ts +5 -0
- package/dist/types/llm/transcript-to-markdown.d.ts +1 -1
- package/dist/types/model-auto-cli.d.ts +15 -0
- package/dist/types/model-auto-rules.d.ts +7 -0
- package/dist/types/model-auto.d.ts +5 -7
- package/dist/types/model-spec.d.ts +2 -2
- package/dist/types/run/attachments.d.ts +2 -2
- package/dist/types/run/bird/exec.d.ts +1 -0
- package/dist/types/run/bird/media.d.ts +3 -0
- package/dist/types/run/bird/parse.d.ts +3 -0
- package/dist/types/run/bird/types.d.ts +18 -0
- package/dist/types/run/bird.d.ts +12 -17
- package/dist/types/run/cache-state.d.ts +1 -1
- package/dist/types/run/constants.d.ts +2 -1
- package/dist/types/run/env.d.ts +1 -0
- package/dist/types/run/finish-line-labels.d.ts +29 -0
- package/dist/types/run/finish-line-lengths.d.ts +23 -0
- package/dist/types/run/finish-line.d.ts +2 -52
- package/dist/types/run/flows/asset/extract.d.ts +1 -1
- package/dist/types/run/flows/asset/input.d.ts +1 -1
- package/dist/types/run/flows/asset/preprocess.d.ts +1 -1
- package/dist/types/run/flows/asset/summary-attempts.d.ts +24 -0
- package/dist/types/run/flows/asset/summary.d.ts +6 -2
- package/dist/types/run/flows/url/flow-progress.d.ts +41 -0
- package/dist/types/run/flows/url/markdown.d.ts +2 -2
- package/dist/types/run/flows/url/progress-status.d.ts +16 -0
- package/dist/types/run/flows/url/slides-output-render.d.ts +43 -0
- package/dist/types/run/flows/url/slides-output-state.d.ts +21 -0
- package/dist/types/run/flows/url/slides-output-stream.d.ts +18 -0
- package/dist/types/run/flows/url/slides-output.d.ts +2 -17
- package/dist/types/run/flows/url/slides-text-markdown.d.ts +46 -0
- package/dist/types/run/flows/url/slides-text-transcript.d.ts +36 -0
- package/dist/types/run/flows/url/slides-text-types.d.ts +8 -0
- package/dist/types/run/flows/url/slides-text.d.ts +3 -87
- package/dist/types/run/flows/url/summary-finish.d.ts +16 -0
- package/dist/types/run/flows/url/summary-json.d.ts +51 -0
- package/dist/types/run/flows/url/summary-prompt.d.ts +22 -0
- package/dist/types/run/flows/url/summary-resolution.d.ts +31 -0
- package/dist/types/run/flows/url/summary-timestamps.d.ts +11 -0
- package/dist/types/run/flows/url/types.d.ts +4 -0
- package/dist/types/run/markdown-transforms.d.ts +3 -0
- package/dist/types/run/run-context.d.ts +4 -0
- package/dist/types/run/run-env.d.ts +4 -0
- package/dist/types/run/run-settings-parse.d.ts +5 -0
- package/dist/types/run/runner-contexts.d.ts +62 -0
- package/dist/types/run/runner-execution.d.ts +57 -0
- package/dist/types/run/runner-flags.d.ts +41 -0
- package/dist/types/run/runner-setup.d.ts +21 -0
- package/dist/types/run/runner-slides.d.ts +8 -0
- package/dist/types/run/streaming.d.ts +1 -1
- package/dist/types/run/summary-engine.d.ts +8 -4
- package/dist/types/run/summary-llm.d.ts +4 -3
- package/dist/types/run/terminal.d.ts +2 -0
- package/dist/types/run/types.d.ts +2 -2
- package/dist/types/slides/download.d.ts +29 -0
- package/dist/types/slides/extract-finalize.d.ts +57 -0
- package/dist/types/slides/extract.d.ts +1 -7
- package/dist/types/slides/frame-extraction.d.ts +38 -0
- package/dist/types/slides/ingest.d.ts +47 -0
- package/dist/types/slides/ocr.d.ts +5 -0
- package/dist/types/slides/process.d.ts +22 -0
- package/dist/types/slides/scene-detection.d.ts +75 -0
- package/dist/types/slides/source-id.d.ts +2 -0
- package/dist/types/version.d.ts +1 -1
- package/docs/_config.yml +1 -0
- package/docs/agent.md +3 -2
- package/docs/assets/site.css +134 -2
- package/docs/cache.md +2 -1
- package/docs/chrome-extension.md +12 -4
- package/docs/cli.md +2 -2
- package/docs/config.md +11 -4
- package/docs/index.html +5 -0
- package/docs/llm.md +5 -2
- package/docs/manual-tests.md +3 -0
- package/docs/media.md +3 -1
- package/docs/model-auto.md +2 -2
- package/docs/model-provider-resolution.md +57 -0
- package/docs/site/index.html +5 -0
- package/docs/slides-rendering-flow.md +46 -0
- package/docs/slides.md +5 -5
- package/docs/smoketest.md +1 -1
- package/docs/transcript-provider-flow.md +66 -0
- package/docs/website.md +1 -0
- package/docs/youtube.md +4 -2
- package/package.json +34 -41
|
@@ -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,7 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
-
export const FALLBACK_VERSION = "0.
|
|
4
|
+
export const FALLBACK_VERSION = "0.12.0";
|
|
5
5
|
export function resolvePackageVersion(importMetaUrl) {
|
|
6
6
|
const injected = typeof process !== "undefined" && typeof process.env.SUMMARIZE_VERSION === "string"
|
|
7
7
|
? process.env.SUMMARIZE_VERSION.trim()
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { LengthArg } from "./flags.js";
|
|
2
|
+
import type { OutputLanguage } from "./language.js";
|
|
3
|
+
export declare function hashString(value: string): string;
|
|
4
|
+
export declare function hashJson(value: unknown): string;
|
|
5
|
+
export declare function normalizeContentForHash(content: string): string;
|
|
6
|
+
export declare function extractTaggedBlock(prompt: string, tag: "instructions" | "content"): string | null;
|
|
7
|
+
export declare function buildPromptHash(prompt: string): string;
|
|
8
|
+
export declare function buildPromptContentHash({ prompt, fallbackContent, }: {
|
|
9
|
+
prompt: string;
|
|
10
|
+
fallbackContent?: string | null;
|
|
11
|
+
}): string | null;
|
|
12
|
+
export declare function buildLengthKey(lengthArg: LengthArg): string;
|
|
13
|
+
export declare function buildLanguageKey(outputLanguage: OutputLanguage): string;
|
|
14
|
+
export declare function buildExtractCacheKeyValue({ url, options, formatVersion, }: {
|
|
15
|
+
url: string;
|
|
16
|
+
options: Record<string, unknown>;
|
|
17
|
+
formatVersion: number;
|
|
18
|
+
}): string;
|
|
19
|
+
export declare function buildSummaryCacheKeyValue({ contentHash, promptHash, model, lengthKey, languageKey, formatVersion, }: {
|
|
20
|
+
contentHash: string;
|
|
21
|
+
promptHash: string;
|
|
22
|
+
model: string;
|
|
23
|
+
lengthKey: string;
|
|
24
|
+
languageKey: string;
|
|
25
|
+
formatVersion: number;
|
|
26
|
+
}): string;
|
|
27
|
+
export declare function buildSlidesCacheKeyValue({ url, settings, formatVersion, }: {
|
|
28
|
+
url: string;
|
|
29
|
+
settings: {
|
|
30
|
+
ocr: boolean;
|
|
31
|
+
outputDir: string;
|
|
32
|
+
sceneThreshold: number;
|
|
33
|
+
autoTuneThreshold: boolean;
|
|
34
|
+
maxSlides: number;
|
|
35
|
+
minDurationSeconds: number;
|
|
36
|
+
};
|
|
37
|
+
formatVersion: number;
|
|
38
|
+
}): string;
|
|
39
|
+
export declare function buildTranscriptCacheKeyValue({ url, namespace, formatVersion, fileMtime, }: {
|
|
40
|
+
url: string;
|
|
41
|
+
namespace: string | null;
|
|
42
|
+
formatVersion: number;
|
|
43
|
+
fileMtime?: number | null;
|
|
44
|
+
}): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function cleanupSlidesPayload(raw: string): void;
|
package/dist/types/cache.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
export { buildExtractCacheKeyValue, buildLanguageKey, buildLengthKey, buildPromptContentHash, buildPromptHash, buildSlidesCacheKeyValue, buildSummaryCacheKeyValue, buildTranscriptCacheKeyValue, hashJson, hashString, normalizeContentForHash, extractTaggedBlock, } from "./cache-keys.js";
|
|
1
2
|
import type { TranscriptCache } from "./content/index.js";
|
|
2
|
-
import type { LengthArg } from "./flags.js";
|
|
3
|
-
import type { OutputLanguage } from "./language.js";
|
|
4
3
|
export type CacheKind = "extract" | "summary" | "transcript" | "chat" | "slides";
|
|
5
4
|
export type CacheConfig = {
|
|
6
5
|
enabled?: boolean;
|
|
@@ -43,13 +42,6 @@ export declare function createCacheStore({ path, maxBytes, transcriptNamespace,
|
|
|
43
42
|
transcriptNamespace?: string | null;
|
|
44
43
|
}): Promise<CacheStore>;
|
|
45
44
|
export declare function clearCacheFiles(path: string): void;
|
|
46
|
-
export declare function hashString(value: string): string;
|
|
47
|
-
export declare function hashJson(value: unknown): string;
|
|
48
|
-
export declare function normalizeContentForHash(content: string): string;
|
|
49
|
-
export declare function extractTaggedBlock(prompt: string, tag: "instructions" | "content"): string | null;
|
|
50
|
-
export declare function buildPromptHash(prompt: string): string;
|
|
51
|
-
export declare function buildLengthKey(lengthArg: LengthArg): string;
|
|
52
|
-
export declare function buildLanguageKey(outputLanguage: OutputLanguage): string;
|
|
53
45
|
export declare function buildExtractCacheKey({ url, options, }: {
|
|
54
46
|
url: string;
|
|
55
47
|
options: Record<string, unknown>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EnvConfig, SummarizeConfig } from "./types.js";
|
|
2
|
+
export declare function resolveConfigEnv(config: SummarizeConfig | null | undefined): EnvConfig;
|
|
3
|
+
export declare function mergeConfigEnv({ env, config, }: {
|
|
4
|
+
env: Record<string, string | undefined>;
|
|
5
|
+
config: SummarizeConfig | null | undefined;
|
|
6
|
+
}): Record<string, string | undefined>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ModelConfig } from "./types.js";
|
|
2
|
+
export declare function parseModelConfig(raw: unknown, path: string, label: string): ModelConfig | undefined;
|
|
3
|
+
export declare function parseModelsConfig(root: Record<string, unknown>, path: string): Record<string, ModelConfig> | undefined;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CliProvider, LoggingFormat, LoggingLevel } from "./types.js";
|
|
2
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
3
|
+
export declare function parseOptionalBaseUrl(raw: unknown): string | undefined;
|
|
4
|
+
export declare function parseCliProvider(value: unknown, path: string): CliProvider;
|
|
5
|
+
export declare function parseStringArray(raw: unknown, path: string, label: string): string[];
|
|
6
|
+
export declare function parseLoggingLevel(raw: unknown, path: string): LoggingLevel;
|
|
7
|
+
export declare function parseLoggingFormat(raw: unknown, path: string): LoggingFormat;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ApiKeysConfig, CliConfig, EnvConfig, LoggingConfig, MediaCacheConfig, OpenAiConfig, VideoMode } from "./types.js";
|
|
2
|
+
export declare function parseProviderBaseUrlConfig(raw: unknown, path: string, providerName: string): {
|
|
3
|
+
baseUrl: string;
|
|
4
|
+
} | undefined;
|
|
5
|
+
export declare function parseCacheConfig(root: Record<string, unknown>, path: string): {
|
|
6
|
+
media?: MediaCacheConfig | undefined;
|
|
7
|
+
path?: string | undefined;
|
|
8
|
+
ttlDays?: number | undefined;
|
|
9
|
+
maxMb?: number | undefined;
|
|
10
|
+
enabled?: boolean | undefined;
|
|
11
|
+
} | undefined;
|
|
12
|
+
export declare function parseMediaConfig(root: Record<string, unknown>): {
|
|
13
|
+
videoMode: VideoMode;
|
|
14
|
+
} | undefined;
|
|
15
|
+
export declare function parseSlidesConfig(root: Record<string, unknown>, path: string): {
|
|
16
|
+
minDuration?: number | undefined;
|
|
17
|
+
max?: number | undefined;
|
|
18
|
+
sceneThreshold?: number | undefined;
|
|
19
|
+
dir?: string | undefined;
|
|
20
|
+
ocr?: boolean | undefined;
|
|
21
|
+
enabled?: boolean | undefined;
|
|
22
|
+
} | undefined;
|
|
23
|
+
export declare function parseCliConfig(root: Record<string, unknown>, path: string): CliConfig | undefined;
|
|
24
|
+
export declare function parseOutputConfig(root: Record<string, unknown>, path: string): {
|
|
25
|
+
language: string;
|
|
26
|
+
} | undefined;
|
|
27
|
+
export declare function parseUiConfig(root: Record<string, unknown>, path: string): {
|
|
28
|
+
theme: string;
|
|
29
|
+
} | undefined;
|
|
30
|
+
export declare function parseLoggingConfig(root: Record<string, unknown>, path: string): LoggingConfig | undefined;
|
|
31
|
+
export declare function parseOpenAiConfig(root: Record<string, unknown>, path: string): OpenAiConfig | undefined;
|
|
32
|
+
export declare function parseEnvConfig(root: Record<string, unknown>, path: string): EnvConfig | undefined;
|
|
33
|
+
export declare function parseApiKeysConfig(root: Record<string, unknown>, path: string): ApiKeysConfig | undefined;
|
|
@@ -0,0 +1,230 @@
|
|
|
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
|
+
export type CliProviderConfig = {
|
|
5
|
+
binary?: string;
|
|
6
|
+
extraArgs?: string[];
|
|
7
|
+
model?: string;
|
|
8
|
+
};
|
|
9
|
+
export type CliAutoFallbackConfig = {
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
onlyWhenNoApiKeys?: boolean;
|
|
12
|
+
order?: CliProvider[];
|
|
13
|
+
};
|
|
14
|
+
export type CliMagicAutoConfig = CliAutoFallbackConfig;
|
|
15
|
+
export type CliConfig = {
|
|
16
|
+
enabled?: CliProvider[];
|
|
17
|
+
claude?: CliProviderConfig;
|
|
18
|
+
codex?: CliProviderConfig;
|
|
19
|
+
gemini?: CliProviderConfig;
|
|
20
|
+
agent?: CliProviderConfig;
|
|
21
|
+
autoFallback?: CliAutoFallbackConfig;
|
|
22
|
+
magicAuto?: CliAutoFallbackConfig;
|
|
23
|
+
promptOverride?: string;
|
|
24
|
+
allowTools?: boolean;
|
|
25
|
+
cwd?: string;
|
|
26
|
+
extraArgs?: string[];
|
|
27
|
+
};
|
|
28
|
+
export type OpenAiConfig = {
|
|
29
|
+
/**
|
|
30
|
+
* Override the OpenAI-compatible API base URL (e.g. a proxy, OpenRouter, or a local gateway).
|
|
31
|
+
*
|
|
32
|
+
* Prefer env `OPENAI_BASE_URL` when you need per-run overrides.
|
|
33
|
+
*/
|
|
34
|
+
baseUrl?: string;
|
|
35
|
+
useChatCompletions?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* USD per minute for OpenAI Whisper transcription cost estimation.
|
|
38
|
+
*
|
|
39
|
+
* Default: 0.006 (per OpenAI pricing as of 2025-12-24).
|
|
40
|
+
*/
|
|
41
|
+
whisperUsdPerMinute?: number;
|
|
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
|
+
};
|
|
51
|
+
export type AnthropicConfig = {
|
|
52
|
+
/**
|
|
53
|
+
* Override the Anthropic API base URL (e.g. a proxy).
|
|
54
|
+
*
|
|
55
|
+
* Prefer env `ANTHROPIC_BASE_URL` when you need per-run overrides.
|
|
56
|
+
*/
|
|
57
|
+
baseUrl?: string;
|
|
58
|
+
};
|
|
59
|
+
export type GoogleConfig = {
|
|
60
|
+
/**
|
|
61
|
+
* Override the Google Generative Language API base URL (e.g. a proxy).
|
|
62
|
+
*
|
|
63
|
+
* Prefer env `GOOGLE_BASE_URL` / `GEMINI_BASE_URL` when you need per-run overrides.
|
|
64
|
+
*/
|
|
65
|
+
baseUrl?: string;
|
|
66
|
+
};
|
|
67
|
+
export type NvidiaConfig = {
|
|
68
|
+
/**
|
|
69
|
+
* Override the NVIDIA OpenAI-compatible API base URL.
|
|
70
|
+
*
|
|
71
|
+
* Default: https://integrate.api.nvidia.com/v1
|
|
72
|
+
*
|
|
73
|
+
* Prefer env `NVIDIA_BASE_URL` when you need per-run overrides.
|
|
74
|
+
*/
|
|
75
|
+
baseUrl?: string;
|
|
76
|
+
};
|
|
77
|
+
export type ApiKeysConfig = {
|
|
78
|
+
openai?: string;
|
|
79
|
+
nvidia?: string;
|
|
80
|
+
anthropic?: string;
|
|
81
|
+
google?: string;
|
|
82
|
+
xai?: string;
|
|
83
|
+
openrouter?: string;
|
|
84
|
+
zai?: string;
|
|
85
|
+
apify?: string;
|
|
86
|
+
firecrawl?: string;
|
|
87
|
+
fal?: string;
|
|
88
|
+
groq?: string;
|
|
89
|
+
assemblyai?: string;
|
|
90
|
+
};
|
|
91
|
+
export type EnvConfig = Record<string, string>;
|
|
92
|
+
export type LoggingLevel = "debug" | "info" | "warn" | "error";
|
|
93
|
+
export type LoggingFormat = "json" | "pretty";
|
|
94
|
+
export type LoggingConfig = {
|
|
95
|
+
enabled?: boolean;
|
|
96
|
+
level?: LoggingLevel;
|
|
97
|
+
format?: LoggingFormat;
|
|
98
|
+
file?: string;
|
|
99
|
+
maxMb?: number;
|
|
100
|
+
maxFiles?: number;
|
|
101
|
+
};
|
|
102
|
+
export type XaiConfig = {
|
|
103
|
+
/**
|
|
104
|
+
* Override the xAI API base URL (e.g. a proxy).
|
|
105
|
+
*
|
|
106
|
+
* Prefer env `XAI_BASE_URL` when you need per-run overrides.
|
|
107
|
+
*/
|
|
108
|
+
baseUrl?: string;
|
|
109
|
+
};
|
|
110
|
+
export type ZaiConfig = {
|
|
111
|
+
/**
|
|
112
|
+
* Override the Z.AI API base URL (e.g. use China endpoint).
|
|
113
|
+
*
|
|
114
|
+
* Default: https://api.z.ai/api/paas/v4
|
|
115
|
+
* China: https://api.zhipuai.cn/paas/v4
|
|
116
|
+
*
|
|
117
|
+
* Prefer env `Z_AI_BASE_URL` when you need per-run overrides.
|
|
118
|
+
*/
|
|
119
|
+
baseUrl?: string;
|
|
120
|
+
};
|
|
121
|
+
export type AutoRule = {
|
|
122
|
+
/**
|
|
123
|
+
* Input kinds this rule applies to.
|
|
124
|
+
*
|
|
125
|
+
* Omit for "catch-all".
|
|
126
|
+
*/
|
|
127
|
+
when?: AutoRuleKind[];
|
|
128
|
+
/**
|
|
129
|
+
* Candidate model ids (ordered).
|
|
130
|
+
*
|
|
131
|
+
* - Native: `openai/...`, `google/...`, `xai/...`, `anthropic/...`, `zai/...`
|
|
132
|
+
* - OpenRouter (forced): `openrouter/<provider>/<model>` (e.g. `openrouter/openai/gpt-5-mini`)
|
|
133
|
+
*/
|
|
134
|
+
candidates?: string[];
|
|
135
|
+
/**
|
|
136
|
+
* Token-based candidate selection (ordered).
|
|
137
|
+
*
|
|
138
|
+
* First matching band wins.
|
|
139
|
+
*/
|
|
140
|
+
bands?: Array<{
|
|
141
|
+
token?: {
|
|
142
|
+
min?: number;
|
|
143
|
+
max?: number;
|
|
144
|
+
};
|
|
145
|
+
candidates: string[];
|
|
146
|
+
}>;
|
|
147
|
+
};
|
|
148
|
+
export type ModelConfig = {
|
|
149
|
+
id: string;
|
|
150
|
+
} | {
|
|
151
|
+
mode: "auto";
|
|
152
|
+
rules?: AutoRule[];
|
|
153
|
+
} | {
|
|
154
|
+
name: string;
|
|
155
|
+
};
|
|
156
|
+
export type SummarizeConfig = {
|
|
157
|
+
model?: ModelConfig;
|
|
158
|
+
/**
|
|
159
|
+
* Output language for summaries (default: auto = match source content language).
|
|
160
|
+
*
|
|
161
|
+
* Examples: "en", "de", "english", "german", "pt-BR".
|
|
162
|
+
*/
|
|
163
|
+
language?: string;
|
|
164
|
+
/**
|
|
165
|
+
* Summary prompt override (replaces the built-in instruction block).
|
|
166
|
+
*/
|
|
167
|
+
prompt?: string;
|
|
168
|
+
/**
|
|
169
|
+
* Cache settings for extracted content, transcripts, and summaries.
|
|
170
|
+
*/
|
|
171
|
+
cache?: {
|
|
172
|
+
enabled?: boolean;
|
|
173
|
+
maxMb?: number;
|
|
174
|
+
ttlDays?: number;
|
|
175
|
+
path?: string;
|
|
176
|
+
media?: MediaCacheConfig;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Named model presets selectable via `--model <name>`.
|
|
180
|
+
*
|
|
181
|
+
* Note: `auto` is reserved and cannot be defined here.
|
|
182
|
+
*/
|
|
183
|
+
models?: Record<string, ModelConfig>;
|
|
184
|
+
media?: {
|
|
185
|
+
videoMode?: VideoMode;
|
|
186
|
+
};
|
|
187
|
+
slides?: {
|
|
188
|
+
enabled?: boolean;
|
|
189
|
+
ocr?: boolean;
|
|
190
|
+
dir?: string;
|
|
191
|
+
sceneThreshold?: number;
|
|
192
|
+
max?: number;
|
|
193
|
+
minDuration?: number;
|
|
194
|
+
};
|
|
195
|
+
output?: {
|
|
196
|
+
/**
|
|
197
|
+
* Output language for the summary (e.g. "auto", "en", "de", "English").
|
|
198
|
+
*
|
|
199
|
+
* - "auto": match the source language (default behavior when unset)
|
|
200
|
+
* - otherwise: translate the output into the requested language
|
|
201
|
+
*/
|
|
202
|
+
language?: string;
|
|
203
|
+
};
|
|
204
|
+
ui?: {
|
|
205
|
+
/**
|
|
206
|
+
* CLI theme name (e.g. "aurora", "ember", "moss", "mono").
|
|
207
|
+
*/
|
|
208
|
+
theme?: string;
|
|
209
|
+
};
|
|
210
|
+
cli?: CliConfig;
|
|
211
|
+
openai?: OpenAiConfig;
|
|
212
|
+
nvidia?: NvidiaConfig;
|
|
213
|
+
anthropic?: AnthropicConfig;
|
|
214
|
+
google?: GoogleConfig;
|
|
215
|
+
xai?: XaiConfig;
|
|
216
|
+
zai?: ZaiConfig;
|
|
217
|
+
logging?: LoggingConfig;
|
|
218
|
+
/**
|
|
219
|
+
* Generic environment variable defaults.
|
|
220
|
+
*
|
|
221
|
+
* Precedence: process env > config file env.
|
|
222
|
+
*/
|
|
223
|
+
env?: EnvConfig;
|
|
224
|
+
/**
|
|
225
|
+
* Legacy API key shortcuts. Prefer `env` for new configs.
|
|
226
|
+
*
|
|
227
|
+
* Precedence: environment variables > config file apiKeys.
|
|
228
|
+
*/
|
|
229
|
+
apiKeys?: ApiKeysConfig;
|
|
230
|
+
};
|
package/dist/types/config.d.ts
CHANGED
|
@@ -1,212 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export type VideoMode
|
|
3
|
-
export
|
|
4
|
-
export type CliProviderConfig = {
|
|
5
|
-
binary?: string;
|
|
6
|
-
extraArgs?: string[];
|
|
7
|
-
model?: string;
|
|
8
|
-
};
|
|
9
|
-
export type CliAutoFallbackConfig = {
|
|
10
|
-
enabled?: boolean;
|
|
11
|
-
onlyWhenNoApiKeys?: boolean;
|
|
12
|
-
order?: CliProvider[];
|
|
13
|
-
};
|
|
14
|
-
export type CliMagicAutoConfig = CliAutoFallbackConfig;
|
|
15
|
-
export type CliConfig = {
|
|
16
|
-
enabled?: CliProvider[];
|
|
17
|
-
claude?: CliProviderConfig;
|
|
18
|
-
codex?: CliProviderConfig;
|
|
19
|
-
gemini?: CliProviderConfig;
|
|
20
|
-
agent?: CliProviderConfig;
|
|
21
|
-
autoFallback?: CliAutoFallbackConfig;
|
|
22
|
-
magicAuto?: CliAutoFallbackConfig;
|
|
23
|
-
promptOverride?: string;
|
|
24
|
-
allowTools?: boolean;
|
|
25
|
-
cwd?: string;
|
|
26
|
-
extraArgs?: string[];
|
|
27
|
-
};
|
|
28
|
-
export type OpenAiConfig = {
|
|
29
|
-
/**
|
|
30
|
-
* Override the OpenAI-compatible API base URL (e.g. a proxy, OpenRouter, or a local gateway).
|
|
31
|
-
*
|
|
32
|
-
* Prefer env `OPENAI_BASE_URL` when you need per-run overrides.
|
|
33
|
-
*/
|
|
34
|
-
baseUrl?: string;
|
|
35
|
-
useChatCompletions?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* USD per minute for OpenAI Whisper transcription cost estimation.
|
|
38
|
-
*
|
|
39
|
-
* Default: 0.006 (per OpenAI pricing as of 2025-12-24).
|
|
40
|
-
*/
|
|
41
|
-
whisperUsdPerMinute?: number;
|
|
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
|
-
};
|
|
51
|
-
export type AnthropicConfig = {
|
|
52
|
-
/**
|
|
53
|
-
* Override the Anthropic API base URL (e.g. a proxy).
|
|
54
|
-
*
|
|
55
|
-
* Prefer env `ANTHROPIC_BASE_URL` when you need per-run overrides.
|
|
56
|
-
*/
|
|
57
|
-
baseUrl?: string;
|
|
58
|
-
};
|
|
59
|
-
export type GoogleConfig = {
|
|
60
|
-
/**
|
|
61
|
-
* Override the Google Generative Language API base URL (e.g. a proxy).
|
|
62
|
-
*
|
|
63
|
-
* Prefer env `GOOGLE_BASE_URL` / `GEMINI_BASE_URL` when you need per-run overrides.
|
|
64
|
-
*/
|
|
65
|
-
baseUrl?: string;
|
|
66
|
-
};
|
|
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";
|
|
81
|
-
export type LoggingConfig = {
|
|
82
|
-
enabled?: boolean;
|
|
83
|
-
level?: LoggingLevel;
|
|
84
|
-
format?: LoggingFormat;
|
|
85
|
-
file?: string;
|
|
86
|
-
maxMb?: number;
|
|
87
|
-
maxFiles?: number;
|
|
88
|
-
};
|
|
89
|
-
export type XaiConfig = {
|
|
90
|
-
/**
|
|
91
|
-
* Override the xAI API base URL (e.g. a proxy).
|
|
92
|
-
*
|
|
93
|
-
* Prefer env `XAI_BASE_URL` when you need per-run overrides.
|
|
94
|
-
*/
|
|
95
|
-
baseUrl?: string;
|
|
96
|
-
};
|
|
97
|
-
export type AutoRule = {
|
|
98
|
-
/**
|
|
99
|
-
* Input kinds this rule applies to.
|
|
100
|
-
*
|
|
101
|
-
* Omit for "catch-all".
|
|
102
|
-
*/
|
|
103
|
-
when?: AutoRuleKind[];
|
|
104
|
-
/**
|
|
105
|
-
* Candidate model ids (ordered).
|
|
106
|
-
*
|
|
107
|
-
* - Native: `openai/...`, `google/...`, `xai/...`, `anthropic/...`, `zai/...`
|
|
108
|
-
* - OpenRouter (forced): `openrouter/<provider>/<model>` (e.g. `openrouter/openai/gpt-5-mini`)
|
|
109
|
-
*/
|
|
110
|
-
candidates?: string[];
|
|
111
|
-
/**
|
|
112
|
-
* Token-based candidate selection (ordered).
|
|
113
|
-
*
|
|
114
|
-
* First matching band wins.
|
|
115
|
-
*/
|
|
116
|
-
bands?: Array<{
|
|
117
|
-
token?: {
|
|
118
|
-
min?: number;
|
|
119
|
-
max?: number;
|
|
120
|
-
};
|
|
121
|
-
candidates: string[];
|
|
122
|
-
}>;
|
|
123
|
-
};
|
|
124
|
-
export type ModelConfig = {
|
|
125
|
-
id: string;
|
|
126
|
-
} | {
|
|
127
|
-
mode: "auto";
|
|
128
|
-
rules?: AutoRule[];
|
|
129
|
-
} | {
|
|
130
|
-
name: string;
|
|
131
|
-
};
|
|
132
|
-
export type SummarizeConfig = {
|
|
133
|
-
model?: ModelConfig;
|
|
134
|
-
/**
|
|
135
|
-
* Output language for summaries (default: auto = match source content language).
|
|
136
|
-
*
|
|
137
|
-
* Examples: "en", "de", "english", "german", "pt-BR".
|
|
138
|
-
*/
|
|
139
|
-
language?: string;
|
|
140
|
-
/**
|
|
141
|
-
* Summary prompt override (replaces the built-in instruction block).
|
|
142
|
-
*/
|
|
143
|
-
prompt?: string;
|
|
144
|
-
/**
|
|
145
|
-
* Cache settings for extracted content, transcripts, and summaries.
|
|
146
|
-
*/
|
|
147
|
-
cache?: {
|
|
148
|
-
enabled?: boolean;
|
|
149
|
-
maxMb?: number;
|
|
150
|
-
ttlDays?: number;
|
|
151
|
-
path?: string;
|
|
152
|
-
media?: MediaCacheConfig;
|
|
153
|
-
};
|
|
154
|
-
/**
|
|
155
|
-
* Named model presets selectable via `--model <name>`.
|
|
156
|
-
*
|
|
157
|
-
* Note: `auto` is reserved and cannot be defined here.
|
|
158
|
-
*/
|
|
159
|
-
models?: Record<string, ModelConfig>;
|
|
160
|
-
media?: {
|
|
161
|
-
videoMode?: VideoMode;
|
|
162
|
-
};
|
|
163
|
-
slides?: {
|
|
164
|
-
enabled?: boolean;
|
|
165
|
-
ocr?: boolean;
|
|
166
|
-
dir?: string;
|
|
167
|
-
sceneThreshold?: number;
|
|
168
|
-
max?: number;
|
|
169
|
-
minDuration?: number;
|
|
170
|
-
};
|
|
171
|
-
output?: {
|
|
172
|
-
/**
|
|
173
|
-
* Output language for the summary (e.g. "auto", "en", "de", "English").
|
|
174
|
-
*
|
|
175
|
-
* - "auto": match the source language (default behavior when unset)
|
|
176
|
-
* - otherwise: translate the output into the requested language
|
|
177
|
-
*/
|
|
178
|
-
language?: string;
|
|
179
|
-
};
|
|
180
|
-
ui?: {
|
|
181
|
-
/**
|
|
182
|
-
* CLI theme name (e.g. "aurora", "ember", "moss", "mono").
|
|
183
|
-
*/
|
|
184
|
-
theme?: string;
|
|
185
|
-
};
|
|
186
|
-
cli?: CliConfig;
|
|
187
|
-
openai?: OpenAiConfig;
|
|
188
|
-
anthropic?: AnthropicConfig;
|
|
189
|
-
google?: GoogleConfig;
|
|
190
|
-
xai?: XaiConfig;
|
|
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;
|
|
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>;
|
|
1
|
+
import type { SummarizeConfig } from "./config/types.js";
|
|
2
|
+
export type { AnthropicConfig, ApiKeysConfig, AutoRule, AutoRuleKind, CliAutoFallbackConfig, CliConfig, CliMagicAutoConfig, CliProvider, CliProviderConfig, EnvConfig, GoogleConfig, LoggingConfig, LoggingFormat, LoggingLevel, MediaCacheConfig, MediaCacheVerifyMode, ModelConfig, NvidiaConfig, OpenAiConfig, SummarizeConfig, VideoMode, XaiConfig, ZaiConfig, } from "./config/types.js";
|
|
3
|
+
export { mergeConfigEnv, resolveConfigEnv } from "./config/env.js";
|
|
210
4
|
export declare function loadSummarizeConfig({ env }: {
|
|
211
5
|
env: Record<string, string | undefined>;
|
|
212
6
|
}): {
|
package/dist/types/costs.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LlmTokenUsage } from "./llm/generate-text.js";
|
|
2
|
-
export type LlmProvider = "xai" | "openai" | "google" | "anthropic" | "zai" | "cli";
|
|
2
|
+
export type LlmProvider = "xai" | "openai" | "google" | "anthropic" | "zai" | "nvidia" | "cli";
|
|
3
3
|
export type LlmCall = {
|
|
4
4
|
provider: LlmProvider;
|
|
5
5
|
model: string;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Api, Model } from "@mariozechner/pi-ai";
|
|
2
|
+
type AgentApiKeys = {
|
|
3
|
+
openaiApiKey: string | null;
|
|
4
|
+
openrouterApiKey: string | null;
|
|
5
|
+
anthropicApiKey: string | null;
|
|
6
|
+
googleApiKey: string | null;
|
|
7
|
+
xaiApiKey: string | null;
|
|
8
|
+
zaiApiKey: string | null;
|
|
9
|
+
nvidiaApiKey: string | null;
|
|
10
|
+
};
|
|
11
|
+
export declare function resolveApiKeyForModel({ provider, apiKeys, }: {
|
|
12
|
+
provider: string;
|
|
13
|
+
apiKeys: AgentApiKeys;
|
|
14
|
+
}): string;
|
|
15
|
+
export declare function resolveAgentModel({ env, pageContent, modelOverride, }: {
|
|
16
|
+
env: Record<string, string | undefined>;
|
|
17
|
+
pageContent: string;
|
|
18
|
+
modelOverride: string | null;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
provider: string;
|
|
21
|
+
model: null;
|
|
22
|
+
maxOutputTokens: number;
|
|
23
|
+
apiKeys: AgentApiKeys;
|
|
24
|
+
transport: "cli";
|
|
25
|
+
cliProvider: import("../config.js").CliProvider;
|
|
26
|
+
cliModel: string | null;
|
|
27
|
+
userModelId: string;
|
|
28
|
+
cliConfig: import("../config.js").CliConfig | null;
|
|
29
|
+
} | {
|
|
30
|
+
maxOutputTokens: number;
|
|
31
|
+
apiKeys: AgentApiKeys;
|
|
32
|
+
provider: string;
|
|
33
|
+
model: Model<Api>;
|
|
34
|
+
transport?: undefined;
|
|
35
|
+
cliProvider?: undefined;
|
|
36
|
+
cliModel?: undefined;
|
|
37
|
+
userModelId?: undefined;
|
|
38
|
+
cliConfig?: undefined;
|
|
39
|
+
}>;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Message, Tool } from "@mariozechner/pi-ai";
|
|
2
|
+
export declare function getAgentPrompt(automationEnabled: boolean): string;
|
|
3
|
+
export declare function buildSystemPrompt({ pageUrl, pageTitle, pageContent, automationEnabled, }: {
|
|
4
|
+
pageUrl: string;
|
|
5
|
+
pageTitle: string | null;
|
|
6
|
+
pageContent: string;
|
|
7
|
+
automationEnabled: boolean;
|
|
8
|
+
}): string;
|
|
9
|
+
export declare function flattenAgentForCli({ systemPrompt, messages, }: {
|
|
10
|
+
systemPrompt: string;
|
|
11
|
+
messages: Message[];
|
|
12
|
+
}): string;
|
|
13
|
+
export declare function normalizeMessages(raw: unknown): Message[];
|
|
14
|
+
export declare function resolveToolList(automationEnabled: boolean, tools: string[], definitions: Record<string, Tool>): Tool[];
|