task-summary-extractor 9.2.2 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +6 -2
- package/ARCHITECTURE.md +37 -37
- package/QUICK_START.md +1 -1
- package/README.md +32 -13
- package/package.json +2 -3
- package/src/config.js +1 -1
- package/src/modes/deep-summary.js +406 -0
- package/src/phases/discover.js +1 -0
- package/src/phases/init.js +9 -30
- package/src/phases/services.js +61 -1
- package/src/pipeline.js +33 -3
- package/src/services/gemini.js +142 -17
- package/src/utils/cli.js +89 -1
- package/src/utils/context-manager.js +31 -4
- package/EXPLORATION.md +0 -514
package/.env.example
CHANGED
|
@@ -12,8 +12,8 @@ GEMINI_API_KEY=your_gemini_api_key
|
|
|
12
12
|
GEMINI_MODEL=gemini-2.5-flash
|
|
13
13
|
|
|
14
14
|
# ======================== VIDEO PROCESSING ========================
|
|
15
|
-
# Speed multiplier (default: 1.
|
|
16
|
-
VIDEO_SPEED=1.
|
|
15
|
+
# Speed multiplier (default: 1.6)
|
|
16
|
+
VIDEO_SPEED=1.6
|
|
17
17
|
# Segment duration in seconds (default: 280)
|
|
18
18
|
VIDEO_SEGMENT_TIME=280
|
|
19
19
|
# ffmpeg preset: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow
|
|
@@ -36,3 +36,7 @@ THINKING_BUDGET=24576
|
|
|
36
36
|
COMPILATION_THINKING_BUDGET=10240
|
|
37
37
|
# Max polling time for Gemini File API processing in ms (default: 300000 = 5 min)
|
|
38
38
|
GEMINI_POLL_TIMEOUT_MS=300000
|
|
39
|
+
|
|
40
|
+
# ======================== NPM PUBLISHING ========================
|
|
41
|
+
# Automation token for npm publish (optional — if not set, browser sign-in is used)
|
|
42
|
+
# NPM_TOKEN=npm_your_token_here
|
package/ARCHITECTURE.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# Architecture & Technical Deep Dive
|
|
2
2
|
|
|
3
3
|
> Internal reference for the pipeline's architecture, processing flows, and design decisions.
|
|
4
|
-
> For setup instructions, see [README.md](README.md) · [Quick Start](QUICK_START.md)
|
|
5
|
-
> For module map and roadmap, see [EXPLORATION.md](EXPLORATION.md)
|
|
4
|
+
> For setup instructions, see [README.md](README.md) · [Quick Start](QUICK_START.md)
|
|
6
5
|
|
|
7
6
|
---
|
|
8
7
|
|
|
@@ -126,6 +125,7 @@ flowchart TB
|
|
|
126
125
|
| 1 | **Init** | CLI parsing, interactive folder selection (if no arg), config validation, logger setup, load learning insights, route to dynamic/progress mode |
|
|
127
126
|
| 2 | **Discover** | Find videos/audio, discover documents, resolve user name, check resume state |
|
|
128
127
|
| 3 | **Services** | Firebase auth, Gemini init, prepare document parts |
|
|
128
|
+
| 3.5 | **Deep Summary** | (optional) Pre-summarize context docs with Gemini — 60-80% token savings |
|
|
129
129
|
| 4 | **Process** | Compress → Upload → Analyze → Quality Gate → Retry → Focused Pass |
|
|
130
130
|
| 5 | **Compile** | Cross-segment compilation, diff engine comparison |
|
|
131
131
|
| 6 | **Output** | Write JSON, render Markdown + HTML, upload to Firebase |
|
|
@@ -199,7 +199,7 @@ Each video segment goes through this flow (Phase 4 detail):
|
|
|
199
199
|
|
|
200
200
|
```mermaid
|
|
201
201
|
flowchart TB
|
|
202
|
-
START(["Segment N"]) --> COMPRESS["ffmpeg compress\nH.264 CRF 24, 1.
|
|
202
|
+
START(["Segment N"]) --> COMPRESS["ffmpeg compress\nH.264 CRF 24, 1.6x speed"]
|
|
203
203
|
COMPRESS --> VERIFY["Verify segment integrity"]
|
|
204
204
|
VERIFY --> UPLOAD_FB["Upload to Firebase Storage\n→ download URL"]
|
|
205
205
|
|
|
@@ -563,7 +563,7 @@ JSONL structured format includes phase spans with timing metrics for observabili
|
|
|
563
563
|
| **ffmpeg** | System binary | H.264 video compression + segmentation |
|
|
564
564
|
| **Git** | System binary | Change detection for progress tracking |
|
|
565
565
|
|
|
566
|
-
**Codebase: ~
|
|
566
|
+
**Codebase: ~48 files · ~13,600+ lines** · npm package: `task-summary-extractor` · CLI: `taskex`
|
|
567
567
|
|
|
568
568
|
---
|
|
569
569
|
|
|
@@ -634,8 +634,8 @@ The project includes a comprehensive test suite using [vitest](https://vitest.de
|
|
|
634
634
|
|
|
635
635
|
| Metric | Value |
|
|
636
636
|
|--------|-------|
|
|
637
|
-
| Test files |
|
|
638
|
-
| Total tests |
|
|
637
|
+
| Test files | 15 |
|
|
638
|
+
| Total tests | 331 |
|
|
639
639
|
| Framework | vitest v4.x |
|
|
640
640
|
| Coverage | `@vitest/coverage-v8` |
|
|
641
641
|
|
|
@@ -662,45 +662,45 @@ npm run test:coverage # Coverage report
|
|
|
662
662
|
|-----|-------------|
|
|
663
663
|
| 📖 [README.md](README.md) | Setup, CLI flags, configuration, features |
|
|
664
664
|
| 📖 [QUICK_START.md](QUICK_START.md) | Step-by-step first-time walkthrough |
|
|
665
|
-
| 🔭 [EXPLORATION.md](EXPLORATION.md) | Module map, line counts, future roadmap |
|
|
666
665
|
|
|
667
666
|
---
|
|
668
667
|
|
|
669
|
-
##
|
|
670
|
-
|
|
671
|
-
All AI output is validated against JSON Schema definitions in `src/schemas/`:
|
|
672
|
-
|
|
673
|
-
| Schema | File | Purpose |
|
|
674
|
-
|--------|------|---------|
|
|
675
|
-
| Segment analysis | `analysis-segment.schema.json` | Validates each segment's extracted data |
|
|
676
|
-
| Compiled analysis | `analysis-compiled.schema.json` | Validates the final cross-segment compilation |
|
|
668
|
+
## Deep Summary
|
|
677
669
|
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
---
|
|
670
|
+
The `--deep-summary` flag (or interactive prompt when many docs are detected) pre-summarizes context documents before segment analysis:
|
|
681
671
|
|
|
682
|
-
|
|
672
|
+
```mermaid
|
|
673
|
+
flowchart TB
|
|
674
|
+
START(["Context Docs"]) --> PARTITION["Partition: summarize vs. keep full"]
|
|
675
|
+
PARTITION --> SKIP["Skip tiny docs (<500 chars)"]
|
|
676
|
+
PARTITION --> EXCL["Excluded docs → keep full fidelity"]
|
|
677
|
+
PARTITION --> TO_SUM["Docs to summarize"]
|
|
678
|
+
TO_SUM --> TRUNC["Truncate oversized docs (>900K chars)"]
|
|
679
|
+
TRUNC --> BATCH["Group into batches\n(≤600K chars each)"]
|
|
680
|
+
BATCH --> AI["Gemini summarization\n(per batch)"]
|
|
681
|
+
AI --> REPLACE["Replace full content\nwith condensed summaries"]
|
|
682
|
+
REPLACE --> OUT(["Token-efficient\ncontext docs"])
|
|
683
|
+
```
|
|
683
684
|
|
|
684
|
-
|
|
685
|
+
| Constant | Value | Purpose |
|
|
686
|
+
|----------|-------|---------|
|
|
687
|
+
| `BATCH_MAX_CHARS` | 600,000 | Max input chars per summarization batch |
|
|
688
|
+
| `MAX_DOC_CHARS` | 900,000 | Hard cap per-document before truncation |
|
|
689
|
+
| `SUMMARY_MAX_OUTPUT` | 16,384 | Max output tokens per summarization call |
|
|
690
|
+
| `MIN_SUMMARIZE_LENGTH` | 500 | Docs below this skip summarization |
|
|
685
691
|
|
|
686
|
-
|
|
687
|
-
|--------|-------|
|
|
688
|
-
| Test files | 13 |
|
|
689
|
-
| Total tests | 285 |
|
|
690
|
-
| Framework | vitest v4.x |
|
|
691
|
-
| Coverage | `@vitest/coverage-v8` |
|
|
692
|
+
Typical savings: 60-80% reduction in per-segment context tokens. The user can exclude specific docs from summarization via `--exclude-docs` or the interactive picker.
|
|
692
693
|
|
|
693
|
-
|
|
694
|
+
---
|
|
694
695
|
|
|
695
|
-
|
|
696
|
-
|-----------|---------------|
|
|
697
|
-
| `tests/utils/` | Utility modules: adaptive-budget, cli, confidence-filter, context-manager, diff-engine, format, json-parser, progress-bar, quality-gate, retry, schema-validator |
|
|
698
|
-
| `tests/renderers/` | Renderer modules: html, markdown |
|
|
696
|
+
## Context Window Safety
|
|
699
697
|
|
|
700
|
-
|
|
698
|
+
Safeguards to prevent context window overflow:
|
|
701
699
|
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
700
|
+
| Safeguard | Where | What It Does |
|
|
701
|
+
|-----------|-------|-------------|
|
|
702
|
+
| **P0/P1 hard cap** | `context-manager.js` | Critical docs can't exceed 2× the token budget |
|
|
703
|
+
| **VTT fallback cap** | `context-manager.js` | Full VTT fallback capped at 500K chars |
|
|
704
|
+
| **Doc truncation** | `deep-summary.js` | Oversized docs truncated to 900K chars before summarization |
|
|
705
|
+
| **Compilation pre-flight** | `gemini.js` | Estimates tokens before compilation; trims middle segments if >80% of context |
|
|
706
|
+
| **RESOURCE_EXHAUSTED recovery** | `gemini.js` | On quota/context errors: waits 30s, sheds docs, retries with reduced input |
|
package/QUICK_START.md
CHANGED
|
@@ -223,6 +223,7 @@ my-project/runs/{timestamp}/
|
|
|
223
223
|
| **Force Gemini File API** | `taskex --no-storage-url "my-meeting"` |
|
|
224
224
|
| **Preview without running** | `taskex --dry-run "my-meeting"` |
|
|
225
225
|
| **Deep dive docs** | `taskex --deep-dive "my-meeting"` |
|
|
226
|
+
| **Pre-summarize docs** | `taskex --deep-summary "my-meeting"` |
|
|
226
227
|
| **Generate docs (no video)** | `taskex --dynamic "my-project"` |
|
|
227
228
|
| **Track progress via git** | `taskex --update-progress --repo "C:\project" "my-meeting"` |
|
|
228
229
|
| **Debug mode** | `taskex --log-level debug "my-meeting"` |
|
|
@@ -272,4 +273,3 @@ Your recordings, `.env`, logs — everything local is `.gitignore`d and safe.
|
|
|
272
273
|
|------|-------|
|
|
273
274
|
| Full feature list, all CLI flags, configuration | [README.md](README.md) |
|
|
274
275
|
| How the pipeline works internally | [ARCHITECTURE.md](ARCHITECTURE.md) |
|
|
275
|
-
| Module map, line counts, roadmap | [EXPLORATION.md](EXPLORATION.md) |
|
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Task Summary Extractor
|
|
2
2
|
|
|
3
|
-
> **v9.
|
|
3
|
+
> **v9.4.0** — AI-powered content analysis CLI — meetings, recordings, documents, or any mix. Install globally, run anywhere.
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
6
|
<img src="https://img.shields.io/badge/node-%3E%3D18.0.0-green" alt="Node.js" />
|
|
7
7
|
<img src="https://img.shields.io/badge/gemini-2.5--flash-blue" alt="Gemini" />
|
|
8
8
|
<img src="https://img.shields.io/badge/firebase-11.x-orange" alt="Firebase" />
|
|
9
|
-
<img src="https://img.shields.io/badge/version-9.
|
|
10
|
-
<img src="https://img.shields.io/badge/tests-
|
|
9
|
+
<img src="https://img.shields.io/badge/version-9.4.0-brightgreen" alt="Version" />
|
|
10
|
+
<img src="https://img.shields.io/badge/tests-331%20passing-brightgreen" alt="Tests" />
|
|
11
11
|
<img src="https://img.shields.io/badge/npm-task--summary--extractor-red" alt="npm" />
|
|
12
12
|
</p>
|
|
13
13
|
|
|
@@ -62,6 +62,20 @@ taskex --update-progress --repo "C:\my-project" "my-meeting"
|
|
|
62
62
|
|
|
63
63
|
> **v7.2.3**: If the call folder isn't a git repo, the tool auto-initializes one for baseline tracking.
|
|
64
64
|
|
|
65
|
+
### ⚡ Deep Summary (`--deep-summary`)
|
|
66
|
+
|
|
67
|
+
Pre-summarize context documents to reduce per-segment token usage by 60-80%:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
taskex --deep-summary --name "Jane" "my-meeting"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Exclude specific docs from summarization (keep at full fidelity):
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
taskex --deep-summary --exclude-docs "code-map.md,sprint.md" "my-meeting"
|
|
77
|
+
```
|
|
78
|
+
|
|
65
79
|
> See all modes explained with diagrams → [ARCHITECTURE.md](ARCHITECTURE.md#pipeline-phases)
|
|
66
80
|
|
|
67
81
|
---
|
|
@@ -172,6 +186,8 @@ These are the ones you'll actually use:
|
|
|
172
186
|
| `--format <type>` | Output format: `md`, `html`, `json`, `pdf`, `docx`, `all` (default: `md`) | `--format html` |
|
|
173
187
|
| `--min-confidence <level>` | Filter items by confidence: `high`, `medium`, `low` | `--min-confidence high` |
|
|
174
188
|
| `--no-html` | Suppress HTML report generation | `--no-html` |
|
|
189
|
+
| `--deep-summary` | Pre-summarize context docs (60-80% token savings) | `--deep-summary` |
|
|
190
|
+
| `--exclude-docs <list>` | Docs to keep full during deep-summary (comma-separated) | `--exclude-docs "code-map.md"` |
|
|
175
191
|
|
|
176
192
|
**Typical usage:**
|
|
177
193
|
|
|
@@ -198,6 +214,7 @@ Choose what the tool does. Only use one at a time:
|
|
|
198
214
|
| *(none)* | **Content analysis** | `results.md` + `results.html` — structured task document |
|
|
199
215
|
| `--dynamic` | **Doc generation** | `INDEX.md` + 3–15 topic documents |
|
|
200
216
|
| `--deep-dive` | **Topic explainers** | `INDEX.md` + per-topic deep-dive docs |
|
|
217
|
+
| `--deep-summary` | **Token-efficient analysis** | Same as content analysis, but context docs pre-summarized (60-80% savings) |
|
|
201
218
|
| `--update-progress` | **Progress check** | `progress.md` — item status via git |
|
|
202
219
|
|
|
203
220
|
**Dynamic mode** also uses:
|
|
@@ -259,7 +276,7 @@ taskex [flags] [folder]
|
|
|
259
276
|
|
|
260
277
|
CONFIG --gemini-key --firebase-key --firebase-project
|
|
261
278
|
--firebase-bucket --firebase-domain
|
|
262
|
-
MODES --dynamic --deep-dive --update-progress
|
|
279
|
+
MODES --dynamic --deep-dive --deep-summary --update-progress
|
|
263
280
|
CORE --name --model --skip-upload --resume --reanalyze --dry-run
|
|
264
281
|
OUTPUT --format <md|html|json|pdf|docx|all> --min-confidence <high|medium|low>
|
|
265
282
|
--no-html
|
|
@@ -394,7 +411,7 @@ GEMINI_API_KEY=your-key-here
|
|
|
394
411
|
|
|
395
412
|
# Optional — uncomment to customize
|
|
396
413
|
# GEMINI_MODEL=gemini-2.5-flash
|
|
397
|
-
# VIDEO_SPEED=1.
|
|
414
|
+
# VIDEO_SPEED=1.6
|
|
398
415
|
# THINKING_BUDGET=24576
|
|
399
416
|
# LOG_LEVEL=info
|
|
400
417
|
|
|
@@ -413,7 +430,7 @@ GEMINI_API_KEY=your-key-here
|
|
|
413
430
|
|
|
414
431
|
| Feature | Description |
|
|
415
432
|
|---------|-------------|
|
|
416
|
-
| **Video/Audio Compression** | H.264 CRF 24, text-optimized sharpening,
|
|
433
|
+
| **Video/Audio Compression** | H.264 CRF 24, text-optimized sharpening, 1.6× speed |
|
|
417
434
|
| **Smart Segmentation** | ≤5 min chunks with boundary-aware splitting |
|
|
418
435
|
| **Cross-Segment Continuity** | Ticket IDs, names, and context carry forward |
|
|
419
436
|
| **Document Discovery** | Auto-finds docs in all subfolders |
|
|
@@ -434,6 +451,8 @@ GEMINI_API_KEY=your-key-here
|
|
|
434
451
|
| **HTML Report** | Self-contained HTML report with collapsible sections, filtering, dark mode |
|
|
435
452
|
| **JSON Schema Validation** | Validates AI output against JSON Schema (segment + compiled) |
|
|
436
453
|
| **Confidence Filter** | `--min-confidence` flag to exclude low-confidence items from output |
|
|
454
|
+
| **Deep Summary** | `--deep-summary` pre-summarizes context docs, 60-80% token savings per segment |
|
|
455
|
+
| **Context Window Safety** | Auto-truncation, pre-flight token checks, RESOURCE_EXHAUSTED recovery |
|
|
437
456
|
| **Multi-Format Output** | `--format` flag: Markdown, HTML, JSON, PDF, DOCX, or all formats at once |
|
|
438
457
|
| **Interactive CLI** | Run with no args → guided experience |
|
|
439
458
|
| **Resume / Checkpoint** | `--resume` continues interrupted runs |
|
|
@@ -507,6 +526,7 @@ task-summary-extractor/
|
|
|
507
526
|
│ │ ├── git.js Git CLI wrapper
|
|
508
527
|
│ │ └── doc-parser.js Document text extraction (DOCX, XLSX, PPTX, etc.)
|
|
509
528
|
│ ├── modes/ AI-heavy pipeline phase modules
|
|
529
|
+
│ │ ├── deep-summary.js Pre-summarize context docs (deep-summary feature)
|
|
510
530
|
│ │ ├── deep-dive.js Topic discovery & deep-dive doc generation
|
|
511
531
|
│ │ ├── dynamic-mode.js Dynamic document planning & generation
|
|
512
532
|
│ │ ├── focused-reanalysis.js Targeted reanalysis of weak segments
|
|
@@ -528,17 +548,14 @@ task-summary-extractor/
|
|
|
528
548
|
│ ├── schema-validator.js JSON Schema validation (ajv)
|
|
529
549
|
│ └── ... (15 more utility modules)
|
|
530
550
|
│
|
|
531
|
-
├── tests/ Test suite —
|
|
551
|
+
├── tests/ Test suite — 331 tests across 15 files (vitest)
|
|
532
552
|
│ ├── utils/ Utility module tests
|
|
533
553
|
│ └── renderers/ Renderer tests
|
|
534
554
|
│
|
|
535
555
|
├── QUICK_START.md Step-by-step setup guide
|
|
536
|
-
|
|
537
|
-
└── EXPLORATION.md Roadmap & future features
|
|
556
|
+
└── ARCHITECTURE.md Technical deep dive
|
|
538
557
|
```
|
|
539
558
|
|
|
540
|
-
> Full module map with line counts → [EXPLORATION.md](EXPLORATION.md#full-module-map)
|
|
541
|
-
|
|
542
559
|
---
|
|
543
560
|
|
|
544
561
|
## npm Scripts
|
|
@@ -551,7 +568,7 @@ task-summary-extractor/
|
|
|
551
568
|
| `npm run check` | Validate environment |
|
|
552
569
|
| `npm start` | Run the pipeline |
|
|
553
570
|
| `npm run help` | Show CLI help |
|
|
554
|
-
| `npm test` | Run test suite (
|
|
571
|
+
| `npm test` | Run test suite (331 tests) |
|
|
555
572
|
| `npm run test:watch` | Run tests in watch mode |
|
|
556
573
|
| `npm run test:coverage` | Run tests with coverage report |
|
|
557
574
|
|
|
@@ -561,6 +578,9 @@ task-summary-extractor/
|
|
|
561
578
|
|
|
562
579
|
| Version | Highlights |
|
|
563
580
|
|---------|-----------|
|
|
581
|
+
| **v9.4.0** | **Context window safety** — pre-flight token checks, auto-truncation for oversized docs/VTTs, RESOURCE_EXHAUSTED recovery with automatic doc shedding, chunked compilation for large segment sets, P0/P1 hard cap (2× budget) prevents context overflow, improved deep-summary prompt quality |
|
|
582
|
+
| **v9.3.1** | **Audit & polish** — VIDEO_SPEED 1.5→1.6, `--exclude-docs` flag for non-interactive deep-summary exclusion, friendlier Gemini error messages, dead code removal, DRY RUN_PRESETS |
|
|
583
|
+
| **v9.3.0** | **Deep summary** — `--deep-summary` pre-summarizes context documents (60-80% token savings), interactive doc picker, `--exclude-docs` for CLI automation, batch processing |
|
|
564
584
|
| **v9.0.0** | **CLI UX upgrade** — colors & progress bar, HTML reports, PDF & DOCX output (via puppeteer and docx npm package), JSON Schema validation, confidence filter (`--min-confidence`), pipeline decomposition (`src/phases/` — 9 modules), test suite (285 tests via vitest), multi-format output (`--format`: md/html/json/pdf/docx/all), doc-parser service, shared renderer utilities |
|
|
565
585
|
| **v8.3.0** | **Universal content analysis** — prompt v4.0.0 supports video, audio, documents, and mixed content; input type auto-detection; timestamps conditional on content type; gemini.js bridge text generalized; all markdown docs updated |
|
|
566
586
|
| **v8.2.0** | **Architecture cleanup** — `src/modes/` for AI pipeline phases, `retry.js` self-contained defaults, dead code removal, export trimming, `process_and_upload.js` slim shim, `progress.js` → `checkpoint.js`, merged `prompt.js` into `cli.js` |
|
|
@@ -587,7 +607,6 @@ task-summary-extractor/
|
|
|
587
607
|
|-----|-------------|-------------|
|
|
588
608
|
| 📖 **[QUICK_START.md](QUICK_START.md)** | Full setup walkthrough, examples, troubleshooting | First time using the tool |
|
|
589
609
|
| 🏗️ **[ARCHITECTURE.md](ARCHITECTURE.md)** | Pipeline phases, algorithms, Mermaid diagrams | Understanding how it works |
|
|
590
|
-
| 🔭 **[EXPLORATION.md](EXPLORATION.md)** | Module map, line counts, future roadmap | Contributing or extending |
|
|
591
610
|
|
|
592
611
|
---
|
|
593
612
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "task-summary-extractor",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.0",
|
|
4
4
|
"description": "AI-powered meeting analysis & document generation CLI — video + document processing, deep dive docs, dynamic mode, interactive CLI with model selection, confidence scoring, learning loop, git progress tracking",
|
|
5
5
|
"main": "process_and_upload.js",
|
|
6
6
|
"bin": {
|
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
".env.example",
|
|
16
16
|
"README.md",
|
|
17
17
|
"QUICK_START.md",
|
|
18
|
-
"ARCHITECTURE.md"
|
|
19
|
-
"EXPLORATION.md"
|
|
18
|
+
"ARCHITECTURE.md"
|
|
20
19
|
],
|
|
21
20
|
"scripts": {
|
|
22
21
|
"setup": "node setup.js",
|
package/src/config.js
CHANGED
|
@@ -220,7 +220,7 @@ function getMaxThinkingBudget() {
|
|
|
220
220
|
|
|
221
221
|
// ======================== VIDEO PROCESSING ========================
|
|
222
222
|
|
|
223
|
-
const SPEED = envFloat('VIDEO_SPEED', 1.
|
|
223
|
+
const SPEED = envFloat('VIDEO_SPEED', 1.6);
|
|
224
224
|
const SEG_TIME = envInt('VIDEO_SEGMENT_TIME', 280); // seconds — produces segments < 5 min
|
|
225
225
|
const PRESET = env('VIDEO_PRESET', 'slow');
|
|
226
226
|
const VIDEO_EXTS = ['.mp4', '.mkv', '.avi', '.mov', '.webm'];
|