@steipete/summarize 0.12.0 → 0.13.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 +36 -1
- package/README.md +41 -17
- package/dist/cli.js +1 -1
- package/dist/esm/cache-keys.js +10 -2
- package/dist/esm/cache-keys.js.map +1 -1
- package/dist/esm/cache.js +1 -1
- package/dist/esm/config/parse-helpers.js +6 -1
- package/dist/esm/config/parse-helpers.js.map +1 -1
- package/dist/esm/config/sections.js +35 -1
- package/dist/esm/config/sections.js.map +1 -1
- package/dist/esm/costs.js.map +1 -1
- package/dist/esm/daemon/agent-model.js +56 -8
- package/dist/esm/daemon/agent-model.js.map +1 -1
- package/dist/esm/daemon/chat.js +52 -4
- package/dist/esm/daemon/chat.js.map +1 -1
- package/dist/esm/daemon/cli.js +100 -5
- package/dist/esm/daemon/cli.js.map +1 -1
- package/dist/esm/daemon/env-snapshot.js +2 -0
- package/dist/esm/daemon/env-snapshot.js.map +1 -1
- package/dist/esm/daemon/flow-context.js +76 -73
- package/dist/esm/daemon/flow-context.js.map +1 -1
- package/dist/esm/daemon/models.js +10 -0
- package/dist/esm/daemon/models.js.map +1 -1
- package/dist/esm/daemon/schtasks.js +101 -5
- package/dist/esm/daemon/schtasks.js.map +1 -1
- package/dist/esm/daemon/server.js +8 -1
- package/dist/esm/daemon/server.js.map +1 -1
- package/dist/esm/daemon/windows-container.js +21 -0
- package/dist/esm/daemon/windows-container.js.map +1 -0
- package/dist/esm/llm/cli-provider-output.js +225 -1
- package/dist/esm/llm/cli-provider-output.js.map +1 -1
- package/dist/esm/llm/cli.js +95 -7
- package/dist/esm/llm/cli.js.map +1 -1
- package/dist/esm/llm/generate-text-document.js.map +1 -1
- package/dist/esm/llm/generate-text-shared.js +22 -3
- package/dist/esm/llm/generate-text-shared.js.map +1 -1
- package/dist/esm/llm/generate-text-stream.js +34 -1
- package/dist/esm/llm/generate-text-stream.js.map +1 -1
- package/dist/esm/llm/generate-text.js +33 -6
- package/dist/esm/llm/generate-text.js.map +1 -1
- package/dist/esm/llm/github-models.js +45 -0
- package/dist/esm/llm/github-models.js.map +1 -0
- package/dist/esm/llm/html-to-markdown.js.map +1 -1
- package/dist/esm/llm/model-id.js +18 -2
- package/dist/esm/llm/model-id.js.map +1 -1
- package/dist/esm/llm/provider-profile.js +44 -2
- package/dist/esm/llm/provider-profile.js.map +1 -1
- package/dist/esm/llm/providers/models.js +6 -1
- package/dist/esm/llm/providers/models.js.map +1 -1
- package/dist/esm/llm/providers/openai.js +243 -5
- package/dist/esm/llm/providers/openai.js.map +1 -1
- package/dist/esm/llm/transcript-to-markdown.js.map +1 -1
- package/dist/esm/media-cache.js +3 -0
- package/dist/esm/media-cache.js.map +1 -1
- package/dist/esm/model-auto-cli.js +7 -5
- package/dist/esm/model-auto-cli.js.map +1 -1
- package/dist/esm/model-spec.js +39 -2
- package/dist/esm/model-spec.js.map +1 -1
- package/dist/esm/run/attachments.js.map +1 -1
- package/dist/esm/run/cli-fallback-state.js +6 -1
- package/dist/esm/run/cli-fallback-state.js.map +1 -1
- package/dist/esm/run/env.js +21 -3
- package/dist/esm/run/env.js.map +1 -1
- package/dist/esm/run/flows/asset/summary-attempts.js +9 -1
- package/dist/esm/run/flows/asset/summary-attempts.js.map +1 -1
- package/dist/esm/run/flows/asset/summary.js +11 -0
- package/dist/esm/run/flows/asset/summary.js.map +1 -1
- package/dist/esm/run/flows/url/extraction-session.js +174 -0
- package/dist/esm/run/flows/url/extraction-session.js.map +1 -0
- package/dist/esm/run/flows/url/fetch-options.js +32 -0
- package/dist/esm/run/flows/url/fetch-options.js.map +1 -0
- package/dist/esm/run/flows/url/flow-progress.js +11 -7
- package/dist/esm/run/flows/url/flow-progress.js.map +1 -1
- package/dist/esm/run/flows/url/flow.js +64 -385
- package/dist/esm/run/flows/url/flow.js.map +1 -1
- package/dist/esm/run/flows/url/markdown.js +18 -1
- package/dist/esm/run/flows/url/markdown.js.map +1 -1
- package/dist/esm/run/flows/url/progress-status-state.js +28 -0
- package/dist/esm/run/flows/url/progress-status-state.js.map +1 -0
- package/dist/esm/run/flows/url/progress-status.js +18 -23
- package/dist/esm/run/flows/url/progress-status.js.map +1 -1
- package/dist/esm/run/flows/url/slides-session.js +159 -0
- package/dist/esm/run/flows/url/slides-session.js.map +1 -0
- package/dist/esm/run/flows/url/summary-finish.js +10 -4
- package/dist/esm/run/flows/url/summary-finish.js.map +1 -1
- package/dist/esm/run/flows/url/summary-resolution.js +8 -1
- package/dist/esm/run/flows/url/summary-resolution.js.map +1 -1
- package/dist/esm/run/flows/url/summary.js +115 -149
- package/dist/esm/run/flows/url/summary.js.map +1 -1
- package/dist/esm/run/flows/url/types.js +31 -1
- package/dist/esm/run/flows/url/types.js.map +1 -1
- package/dist/esm/run/flows/url/video-only.js +68 -0
- package/dist/esm/run/flows/url/video-only.js.map +1 -0
- package/dist/esm/run/help.js +6 -2
- package/dist/esm/run/help.js.map +1 -1
- package/dist/esm/run/run-config.js +1 -1
- package/dist/esm/run/run-config.js.map +1 -1
- package/dist/esm/run/run-models.js +35 -5
- package/dist/esm/run/run-models.js.map +1 -1
- package/dist/esm/run/run-settings-parse.js +4 -0
- package/dist/esm/run/run-settings-parse.js.map +1 -1
- package/dist/esm/run/run-settings.js +6 -0
- package/dist/esm/run/run-settings.js.map +1 -1
- package/dist/esm/run/runner-contexts.js +70 -64
- package/dist/esm/run/runner-contexts.js.map +1 -1
- package/dist/esm/run/runner-execution.js +22 -2
- package/dist/esm/run/runner-execution.js.map +1 -1
- package/dist/esm/run/runner-plan.js +369 -0
- package/dist/esm/run/runner-plan.js.map +1 -0
- package/dist/esm/run/runner-slides.js +14 -3
- package/dist/esm/run/runner-slides.js.map +1 -1
- package/dist/esm/run/runner.js +50 -398
- package/dist/esm/run/runner.js.map +1 -1
- package/dist/esm/run/slides-cli.js +3 -2
- package/dist/esm/run/slides-cli.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 +24 -0
- package/dist/esm/run/summary-engine.js.map +1 -1
- package/dist/esm/run/summary-llm.js.map +1 -1
- package/dist/esm/shared/slides-text.js +2 -0
- package/dist/esm/shared/slides-text.js.map +1 -0
- package/dist/esm/slides/extract.js +43 -66
- package/dist/esm/slides/extract.js.map +1 -1
- package/dist/esm/slides/index.js +2 -1
- package/dist/esm/slides/index.js.map +1 -1
- package/dist/esm/slides/ingest.js +27 -0
- package/dist/esm/slides/ingest.js.map +1 -1
- package/dist/esm/slides/source.js +80 -0
- package/dist/esm/slides/source.js.map +1 -0
- package/dist/esm/tty/progress/fetch-html.js +6 -0
- package/dist/esm/tty/progress/fetch-html.js.map +1 -1
- package/dist/esm/tty/progress/transcript-state.js +202 -0
- package/dist/esm/tty/progress/transcript-state.js.map +1 -0
- package/dist/esm/tty/progress/transcript.js +43 -207
- package/dist/esm/tty/progress/transcript.js.map +1 -1
- package/dist/esm/tty/spinner.js +14 -6
- package/dist/esm/tty/spinner.js.map +1 -1
- package/dist/esm/tty/website-progress.js +11 -0
- package/dist/esm/tty/website-progress.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/cache-keys.d.ts +1 -1
- package/dist/types/cache.d.ts +1 -1
- package/dist/types/config/sections.d.ts +2 -1
- package/dist/types/config/types.d.ts +9 -1
- package/dist/types/costs.d.ts +1 -1
- 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 +2 -0
- package/dist/types/daemon/schtasks.d.ts +2 -1
- package/dist/types/daemon/server.d.ts +1 -0
- package/dist/types/daemon/windows-container.d.ts +1 -0
- package/dist/types/llm/cli-provider-output.d.ts +10 -1
- package/dist/types/llm/generate-text-document.d.ts +2 -1
- package/dist/types/llm/generate-text-shared.d.ts +7 -0
- package/dist/types/llm/generate-text-stream.d.ts +2 -1
- package/dist/types/llm/generate-text.d.ts +3 -2
- package/dist/types/llm/github-models.d.ts +5 -0
- package/dist/types/llm/html-to-markdown.d.ts +2 -1
- package/dist/types/llm/model-id.d.ts +1 -1
- package/dist/types/llm/provider-profile.d.ts +4 -4
- package/dist/types/llm/providers/openai.d.ts +9 -5
- package/dist/types/llm/providers/types.d.ts +1 -0
- package/dist/types/llm/transcript-to-markdown.d.ts +2 -1
- package/dist/types/model-spec.d.ts +4 -3
- package/dist/types/run/attachments.d.ts +3 -2
- package/dist/types/run/env.d.ts +5 -0
- package/dist/types/run/flows/asset/summary.d.ts +10 -0
- package/dist/types/run/flows/url/extraction-session.d.ts +22 -0
- package/dist/types/run/flows/url/fetch-options.d.ts +29 -0
- package/dist/types/run/flows/url/flow-progress.d.ts +3 -1
- package/dist/types/run/flows/url/markdown.d.ts +1 -1
- package/dist/types/run/flows/url/progress-status-state.d.ts +17 -0
- package/dist/types/run/flows/url/progress-status.d.ts +1 -0
- package/dist/types/run/flows/url/slides-session.d.ts +26 -0
- package/dist/types/run/flows/url/types.d.ts +16 -0
- package/dist/types/run/flows/url/video-only.d.ts +27 -0
- package/dist/types/run/run-settings.d.ts +2 -1
- package/dist/types/run/runner-contexts.d.ts +3 -28
- package/dist/types/run/runner-execution.d.ts +1 -0
- package/dist/types/run/runner-plan.d.ts +19 -0
- package/dist/types/run/runner-slides.d.ts +2 -1
- package/dist/types/run/streaming.d.ts +2 -1
- package/dist/types/run/summary-engine.d.ts +1 -1
- package/dist/types/run/summary-llm.d.ts +2 -1
- package/dist/types/run/types.d.ts +3 -2
- package/dist/types/shared/slides-text.d.ts +1 -0
- package/dist/types/slides/extract.d.ts +1 -6
- package/dist/types/slides/index.d.ts +2 -1
- package/dist/types/slides/source.d.ts +8 -0
- package/dist/types/tty/progress/fetch-html.d.ts +1 -0
- package/dist/types/tty/progress/transcript-state.d.ts +27 -0
- package/dist/types/tty/progress/transcript.d.ts +1 -0
- package/dist/types/tty/spinner.d.ts +1 -0
- package/dist/types/version.d.ts +1 -1
- package/docs/README.md +1 -1
- package/docs/agent.md +1 -1
- package/docs/assets/site.css +11 -0
- package/docs/chrome-extension.md +7 -1
- package/docs/cli.md +24 -6
- package/docs/config.md +19 -5
- package/docs/extract-only.md +2 -2
- package/docs/firecrawl.md +2 -1
- package/docs/llm.md +29 -3
- package/docs/media.md +6 -0
- package/docs/releasing.md +9 -12
- package/docs/site/docs/chrome-extension.html +1 -1
- package/docs/transcript-provider-flow.md +7 -0
- package/docs/website.md +2 -1
- package/package.json +15 -14
package/docs/releasing.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Release checklist + Homebrew
|
|
2
|
+
summary: "Release checklist + Homebrew/core verify step."
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Releasing
|
|
@@ -8,22 +8,19 @@ summary: "Release checklist + Homebrew tap update."
|
|
|
8
8
|
|
|
9
9
|
- Ship npm packages (core first, then CLI).
|
|
10
10
|
- Tag + GitHub release.
|
|
11
|
-
-
|
|
11
|
+
- Verify the Homebrew/core formula so `brew install summarize` matches the latest tag.
|
|
12
12
|
|
|
13
13
|
## Checklist
|
|
14
14
|
|
|
15
|
-
1. `scripts/release.sh all` (gates → build → verify → publish → smoke → tag
|
|
15
|
+
1. `scripts/release.sh all` (gates → build → verify → publish → smoke → tag).
|
|
16
16
|
2. Create GitHub release for the new tag (match version, attach notes/assets as needed).
|
|
17
|
-
3.
|
|
18
|
-
-
|
|
19
|
-
- Update tarball URL + SHA256 for the new release.
|
|
20
|
-
4. Verify Homebrew install reflects the new version:
|
|
21
|
-
- `brew install steipete/tap/summarize`
|
|
17
|
+
3. Verify the Homebrew/core formula reflects the new version:
|
|
18
|
+
- `brew install summarize`
|
|
22
19
|
- `summarize --version` matches tag.
|
|
23
|
-
- Run a feature added in the release (
|
|
24
|
-
|
|
20
|
+
- Run a feature added in the release (for example `summarize daemon install`).
|
|
21
|
+
4. If anything fails, fix and re-cut the release (no partials).
|
|
25
22
|
|
|
26
23
|
## Common failure
|
|
27
24
|
|
|
28
|
-
- NPM/GitHub release updated,
|
|
29
|
-
Fix: always do step 3
|
|
25
|
+
- NPM/GitHub release updated, but Homebrew/core still serves the old version.
|
|
26
|
+
Fix: always do step 3 before announcing.
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
<ul>
|
|
55
55
|
<li>
|
|
56
56
|
<code>npm i -g @steipete/summarize</code> or
|
|
57
|
-
<code>brew install
|
|
57
|
+
<code>brew install summarize</code>
|
|
58
58
|
</li>
|
|
59
59
|
<li>Build extension: <code>pnpm -C apps/chrome-extension build</code></li>
|
|
60
60
|
<li>Load unpacked: <code>apps/chrome-extension/.output/chrome-mv3</code></li>
|
|
@@ -19,8 +19,15 @@ Goal: keep provider entrypoints thin; keep provider policy explicit.
|
|
|
19
19
|
Podcast orchestration only.
|
|
20
20
|
Feed/Spotify/Apple/enclosure/`yt-dlp` chain.
|
|
21
21
|
- `packages/core/src/content/transcript/providers/generic.ts`
|
|
22
|
+
Thin orchestration only.
|
|
22
23
|
Embedded tracks first.
|
|
23
24
|
Direct-media / X media fallback next.
|
|
25
|
+
- `packages/core/src/content/transcript/providers/generic-embedded.ts`
|
|
26
|
+
Embedded media detection + caption-track parsing only.
|
|
27
|
+
- `packages/core/src/content/transcript/providers/generic-direct-media.ts`
|
|
28
|
+
Direct-media yt-dlp/transcription fallback only.
|
|
29
|
+
- `packages/core/src/content/transcript/providers/generic-twitter.ts`
|
|
30
|
+
X/Twitter cookies + yt-dlp orchestration only.
|
|
24
31
|
|
|
25
32
|
## Shared policy
|
|
26
33
|
|
package/docs/website.md
CHANGED
|
@@ -13,10 +13,11 @@ Use this for non-YouTube URLs.
|
|
|
13
13
|
- Fetches the page HTML.
|
|
14
14
|
- Extracts “article-ish” content and normalizes it into clean text.
|
|
15
15
|
- If extraction looks blocked or too thin, it can retry via Firecrawl (Markdown).
|
|
16
|
+
- Firecrawl applies to non-YouTube URLs only; YouTube URLs use the `--youtube` transcript path instead.
|
|
16
17
|
- If a page is effectively “video-only”, it may treat it as a video input (see `--video-mode`).
|
|
17
18
|
- `--video-mode transcript` prefers embedded media transcripts on pages with audio/video (captions → yt-dlp/Whisper fallback).
|
|
18
19
|
- With `--format md`, the CLI defaults to `--markdown-mode readability` (Readability article HTML as the Markdown input).
|
|
19
|
-
- Use `--firecrawl always` to try Firecrawl first.
|
|
20
|
+
- Use `--firecrawl always` to try Firecrawl first for non-YouTube URLs.
|
|
20
21
|
- With `--format md`, `--markdown-mode auto|llm|readability` can also convert HTML → Markdown via an LLM using the configured `--model` (no provider fallback).
|
|
21
22
|
- With `--format md`, `--markdown-mode auto` may fall back to `uvx markitdown` when available (disable with `--preprocess off`).
|
|
22
23
|
- For podcast URLs (Apple Podcasts, RSS, Spotify episodes), it downloads the episode audio and transcribes via Whisper (prefers local `whisper.cpp` when installed + model available); progress shows “Downloading audio …” then “Transcribing …” (duration uses RSS hints or `ffprobe` when available).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steipete/summarize",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Link → clean text → summary.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"summarize": "./dist/cli.js",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@mariozechner/pi-ai": "^0.
|
|
35
|
+
"@mariozechner/pi-ai": "^0.65.2",
|
|
36
36
|
"commander": "^14.0.3",
|
|
37
|
-
"file-type": "^
|
|
37
|
+
"file-type": "^22.0.0",
|
|
38
38
|
"gpt-tokenizer": "^3.4.0",
|
|
39
39
|
"json5": "^2.2.3",
|
|
40
40
|
"markdansi": "^0.2.1",
|
|
@@ -43,22 +43,22 @@
|
|
|
43
43
|
"osc-progress": "^0.3.0",
|
|
44
44
|
"tokentally": "^0.1.1",
|
|
45
45
|
"tslog": "^4.10.2",
|
|
46
|
-
"@steipete/summarize-core": "0.
|
|
46
|
+
"@steipete/summarize-core": "0.13.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@fal-ai/client": "^1.9.
|
|
50
|
-
"@types/jsdom": "^28.0.
|
|
51
|
-
"@types/node": "^25.
|
|
49
|
+
"@fal-ai/client": "^1.9.5",
|
|
50
|
+
"@types/jsdom": "^28.0.1",
|
|
51
|
+
"@types/node": "^25.5.2",
|
|
52
52
|
"@types/sanitize-html": "^2.16.1",
|
|
53
|
-
"@vitest/coverage-v8": "^4.
|
|
54
|
-
"esbuild": "^0.
|
|
55
|
-
"oxfmt": "0.
|
|
56
|
-
"oxlint": "^1.
|
|
57
|
-
"oxlint-tsgolint": "^0.
|
|
53
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
54
|
+
"esbuild": "^0.28.0",
|
|
55
|
+
"oxfmt": "0.44.0",
|
|
56
|
+
"oxlint": "^1.59.0",
|
|
57
|
+
"oxlint-tsgolint": "^0.20.0",
|
|
58
58
|
"rimraf": "^6.1.3",
|
|
59
59
|
"tsx": "^4.21.0",
|
|
60
|
-
"typescript": "^
|
|
61
|
-
"vitest": "^4.
|
|
60
|
+
"typescript": "^6.0.2",
|
|
61
|
+
"vitest": "^4.1.2"
|
|
62
62
|
},
|
|
63
63
|
"engines": {
|
|
64
64
|
"node": ">=22"
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
"build:lib": "tsc -p tsconfig.build.json",
|
|
72
72
|
"check": "pnpm format:check && pnpm lint && pnpm test:coverage",
|
|
73
73
|
"clean": "rimraf dist packages/core/dist",
|
|
74
|
+
"dev:cli": "pnpm -C packages/core build && tsx src/cli.ts",
|
|
74
75
|
"docs:list": "tsx scripts/docs-list.ts",
|
|
75
76
|
"format": "oxfmt --write",
|
|
76
77
|
"format:check": "oxfmt --check",
|