build(deps): bump commander from 13.1.0 to 14.0.3#4
Open
dependabot[bot] wants to merge 21 commits intomainfrom
Open
build(deps): bump commander from 13.1.0 to 14.0.3#4dependabot[bot] wants to merge 21 commits intomainfrom
dependabot[bot] wants to merge 21 commits intomainfrom
Conversation
8f6d56f to
b724d25
Compare
Delete old WS streaming code (stream, list, ws-client, media). Create new Edge Ingest Gateway structure with grab command stub, ffmpeg utility stub, and data contract types. Remove ws/@types/ws/@inquirer/prompts deps, bump to 0.1.0.
Add vitest as dev dependency, create vitest.config.ts, add test/test:watch scripts, and write bucketSec unit tests.
- grabFrame() spawns ffmpeg with RTSP TCP transport, grabs 1 frame - Timeout via SIGKILL, stderr tail on failure, ENOENT detection - grab command wires CLI opts to grabFrame with chalk output - Unit tests: success, nonzero exit, timeout, ENOENT, spawn error - Integration test skipped unless RTSP_URL env var is set
Rewrite README with grab command docs, roadmap, and dev instructions. Add docs/mediamtx-setup.md for local RTSP test server. Add lint+build+test check job to pr-preview workflow.
Pure spoolPath() for deterministic bucket_sec-based filenames, ensureSpoolDir() for recursive mkdir at startup.
Wall-clock-anchored ticks prevent drift from variable grab latency. Skips forward on overrun, logs + continues on grab failure.
Wires sampler + spool into CLI with --store, --camera, --rtsp, --spool, --fps, --timeout flags. Graceful shutdown on SIGINT/SIGTERM.
uploadFrame() reads spool file, builds multipart FormData with meta + file, POSTs to ingest service with Bearer devtoken auth. Includes 4 tests (mock fetch, FormData verification, error handling).
When --ingest <url> is passed, sampler POSTs each grabbed frame to the ingest service after writing to spool. Upload errors are logged and counted but don't stop sampling. Stats summary includes uploaded/uploadErrors.
vi.mocked() is vitest-only; use type casts since mocked imports are already the mock objects from vi.mock factories.
Add --config flag to sample command that loads cameras from a YAML file and runs concurrent samplers with aligned bucket_sec timestamps. Single-camera flags (--store/--camera/--rtsp) kept as fallback. - New config loader with Zod validation (src/lib/config.ts) - Multi-sampler spawn via Promise.all with per-camera stats + aggregate - SIGINT gracefully stops all samplers - 11 new tests (6 config + 5 multi-camera), 39 total passing
Assembles per-camera spool frames into a single grid JPEG per bucket_sec using Sharp. Missing cameras get a gray placeholder tile. - Extend YAML config with grid + grid_position (Zod validated) - New compositor module: compositeFrames() + generatePlaceholder() - Standalone `cctv composite` command for replay/debugging - Inline compositing loop in multi-camera sample mode - Tile map JSON tracks present/absent cameras per composite - 13 new tests (52 total, all pass)
The .check() and .refine() with function message args aren't compatible with Zod v4's type signatures. Switch to .superRefine() + ctx.addIssue() which is the correct Zod v4 API for custom cross-field validation.
…ase 6) Motion watcher interface with TTL state machine, simulate mode for dev, and stub ONVIF watcher for when hardware is available. Sampler grabs HQ frames when motion is hot (best-effort, failures don't stop sampling). Config extended with optional motion + onvif_url fields. 78 tests pass.
- Validate storeId/cameraId in spool.ts to prevent path traversal - Move auth token to CCTV_AUTH_TOKEN env var (falls back to devtoken) - Add 10s AbortSignal timeout on upload fetch to prevent hangs - Fix aggregateStats([]) returning Infinity for startedAt - Use parseAsync() for async commander actions
Sampler now calls grabBestFrame for low-res grabs instead of grabFrame. Updated test mocks in sampler.test.ts, sample-multi.test.ts, and ffmpeg.test.ts (-hwaccel auto arg) to match current implementation.
b724d25 to
69e9121
Compare
feat: Edge Ingest Gateway CLI (Phases 0-6)
Bumps [commander](https://github.com/tj/commander.js) from 13.1.0 to 14.0.3. - [Release notes](https://github.com/tj/commander.js/releases) - [Changelog](https://github.com/tj/commander.js/blob/master/CHANGELOG.md) - [Commits](tj/commander.js@v13.1.0...v14.0.3) --- updated-dependencies: - dependency-name: commander dependency-version: 14.0.3 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
69e9121 to
0a32a50
Compare
0a32a50 to
b0d79f6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps commander from 13.1.0 to 14.0.3.
Release notes
Sourced from commander's releases.
Changelog
Sourced from commander's changelog.
... (truncated)
Commits
824736414.0.3e281fe3Update docs for 14.0.3 (#2474)7357ddaSeparate out a more detailed release policy document (#2462)b6e2e3aBump eslint from 9.39.1 to 9.39.2 (#2470)d6f63a7Bump ts-jest from 29.4.5 to 29.4.6 (#2467)2a9768aBump prettier from 3.6.2 to 3.7.4 (#2466)9211918docs(README): Tweak formatting, punctuation for clarity (#2465)4208a96Bump typescript-eslint from 8.46.2 to 8.48.0 (#2458)03308ceBump eslint-plugin-jest from 29.0.1 to 29.2.1 (#2457)4d2db1fBump globals from 16.4.0 to 16.5.0 (#2456)You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)