framewatch 0.6.0

Event-driven, change-triggered window capture that emits timestamped screenshots + metadata for AI agents.
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.88"
name = "framewatch"
version = "0.6.0"
build = false
exclude = [
    "tests/fixtures/*.png",
    "/.github",
    "framewatch-spec.md",
    "dist/framewatch.exe",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Event-driven, change-triggered window capture that emits timestamped screenshots + metadata for AI agents."
readme = "README.md"
keywords = [
    "screen-capture",
    "screenshot",
    "windows",
    "agent",
    "automation",
]
categories = [
    "multimedia",
    "os::windows-apis",
    "computer-vision",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/dmoore-dwmmholdings/framewatch"

[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = ["x86_64-pc-windows-msvc"]
features = [
    "gui",
    "wgc",
    "record",
]

[features]
cli = [
    "dep:clap",
    "dep:anyhow",
    "dep:tracing-subscriber",
]
default = ["cli"]
gui = [
    "dep:eframe",
    "dep:egui",
    "dep:dirs",
]
jpeg = ["image/jpeg"]
llm = []
record = [
    "dep:cpal",
    "dep:hound",
    "dep:ctrlc",
    "dep:dirs",
    "dep:sha2",
    "dep:ureq",
    "dep:zip",
    "wgc",
]
webp = ["dep:webp"]
wgc = [
    "dep:windows-capture",
    "dep:windows",
]

[lib]
name = "framewatch"
path = "src/lib.rs"

[[bin]]
name = "framewatch"
path = "src/bin/framewatch.rs"
required-features = ["cli"]

[[example]]
name = "embed"
path = "examples/embed.rs"

[[example]]
name = "record-test-app"
path = "examples/record_test_app.rs"
required-features = ["gui"]

[[test]]
name = "codex_integration"
path = "tests/codex_integration.rs"

[[test]]
name = "crop"
path = "tests/crop.rs"

[[test]]
name = "dedup"
path = "tests/dedup.rs"

[[test]]
name = "engine_auto_spinner"
path = "tests/engine_auto_spinner.rs"

[[test]]
name = "engine_dedup_session"
path = "tests/engine_dedup_session.rs"

[[test]]
name = "engine_extra"
path = "tests/engine_extra.rs"

[[test]]
name = "engine_fullscreen"
path = "tests/engine_fullscreen.rs"

[[test]]
name = "engine_spinner"
path = "tests/engine_spinner.rs"

[[test]]
name = "engine_static"
path = "tests/engine_static.rs"

[[test]]
name = "engine_value"
path = "tests/engine_value.rs"

[[test]]
name = "metadata_golden"
path = "tests/metadata_golden.rs"

[[test]]
name = "recording_package"
path = "tests/recording_package.rs"

[[test]]
name = "sink_directory"
path = "tests/sink_directory.rs"

[[test]]
name = "watch_driver"
path = "tests/watch_driver.rs"

[dependencies.anyhow]
version = "1"
optional = true

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.clap]
version = "4"
features = ["derive"]
optional = true

[dependencies.cpal]
version = "0.17"
optional = true

[dependencies.crossbeam-channel]
version = "0.5"

[dependencies.ctrlc]
version = "3"
optional = true

[dependencies.dirs]
version = "5"
optional = true

[dependencies.eframe]
version = "0.33"
optional = true

[dependencies.egui]
version = "0.33"
optional = true

[dependencies.hound]
version = "3.5"
optional = true

[dependencies.image]
version = "0.25"
features = ["png"]
default-features = false

[dependencies.image_hasher]
version = "3"

[dependencies.regex]
version = "1"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"
optional = true

[dependencies.smallvec]
version = "1"

[dependencies.thiserror]
version = "2"

[dependencies.toml]
version = "0.8"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true

[dependencies.ureq]
version = "3"
optional = true

[dependencies.webp]
version = "0.3"
optional = true

[dependencies.zip]
version = "2.4"
features = ["deflate"]
optional = true
default-features = false

[dev-dependencies.tempfile]
version = "3"

[target."cfg(windows)".dependencies.windows]
version = "0.62"
features = [
    "Win32_Foundation",
    "Win32_UI_WindowsAndMessaging",
    "Win32_UI_HiDpi",
    "Win32_Graphics_Dwm",
    "Win32_Graphics_Gdi",
    "Win32_System_Threading",
]
optional = true

[target."cfg(windows)".dependencies.windows-capture]
version = "2"
optional = true