meeticulous/Cargo.toml
lakshit verma 03244fa783
fix(all): apply full-codebase review fixes
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
2026-07-31 18:08:32 +05:30

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"] }