mirror of
https://github.com/vee1e/meeticulous.git
synced 2026-09-01 10:18:39 +00:00
Security (summary/CLI): - Delimit untrusted transcript as data in all prompts; add data-hardening - agy: --sandbox + --disable-slash-commands; isolate cwd for all CLIs - claude: prompt via stdin (no argv leak); agy argv capped below E2BIG - non-zero CLI exit is now an error; process groups killed on timeout/quit - executable check in which(); stop stripping json code fences - 0600 temp prompt file; atomic prefs writes; truncate stderr in errors Data loss (recording/system-audio): - stop_recording now real-joins the STT worker and re-drains the queue, so the final ~3-10s of speech is persisted - non-destructive STT queue drain on DB error - periodic WAV flush for crash safety - RAII kill+wait for the Swift helper on all error paths - non-blocking READY wait (no frozen TUI); mic callback moved off the audio thread and skipped when system audio is up - f32 carryover, tap-death diagnostics, actual stream-rate reporting, capped STT feed, wall-clock timestamps, transactional import STT/model: - poisoned-mutex locks can no longer kill the STT worker - decoder tensors are metadata-driven with loud shape/dtype validation - non-overlapping STT windows; tail flushed on stop - intra_threads=1, scratch reuse, FIR anti-alias resampler, vocab-size mismatch check, tightened model discovery TUI/terminal: - RAII terminal guard + panic hook (no more bricked terminal) - handler errors surface in status instead of killing the TUI - Ctrl-C / q / Esc cancel an in-flight summary - wrapped-line scroll reaches the bottom; dead code removed - markdown checkboxes render; db cleanup on TUI exit DB/paths: - index on transcripts(meeting_id); ALTER errors no longer swallowed - atomic summary store + segment append; transactional import helper - safe sqlite filename connect; lowercase statuses; absolute fallbacks
48 lines
1.3 KiB
TOML
48 lines
1.3 KiB
TOML
[package]
|
|
name = "meeticulous"
|
|
version = "0.1.0"
|
|
description = "Minimal macOS TUI for Meetily — same data paths, models, and transcripts"
|
|
authors = ["meeticulous"]
|
|
license = "MIT"
|
|
edition = "2021"
|
|
rust-version = "1.77"
|
|
|
|
[[bin]]
|
|
name = "meeticulous"
|
|
path = "src/main.rs"
|
|
|
|
[lib]
|
|
name = "meeticulous"
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies]
|
|
anyhow = "1.0"
|
|
async-trait = "0.1"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
cpal = "0.15"
|
|
crossterm = "0.28"
|
|
dirs = "5.0"
|
|
hound = "3.5"
|
|
libc = "0.2"
|
|
ratatui = "0.29"
|
|
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite", "chrono"] }
|
|
thiserror = "2.0"
|
|
tokio = { version = "1.40", features = ["full"] }
|
|
uuid = { version = "1.10", features = ["v4", "serde"] }
|
|
log = "0.4"
|
|
env_logger = "0.11"
|
|
futures-util = "0.3"
|
|
tempfile = "3.12"
|
|
ndarray = "0.16.1"
|
|
once_cell = "1.19"
|
|
# Pin ort to rc.10 so it shares ndarray 0.16 with Meetily's Parakeet model code.
|
|
ort = { version = "=2.0.0-rc.10" }
|
|
regex = "1"
|
|
pulldown-cmark = "0.12"
|
|
[dev-dependencies]
|
|
tempfile = "3.12"
|
|
tokio = { version = "1.40", features = ["full", "test-util"] }
|