activity-tracker/Cargo.toml
Augustin b61c8e31a8 Fix: Replace tokenizers crate with custom SimpleTokenizer
Resolve Windows linker C runtime mismatch by implementing a custom
tokenizer that doesn't depend on esaxx-rs (which uses static runtime).

Changes:
- Remove tokenizers crate dependency (caused MT/MD conflict)
- Add custom SimpleTokenizer in src/ai/tokenizer.rs
  - Loads vocab.txt files directly
  - Implements WordPiece-style subword tokenization
  - Pure Rust, no C++ dependencies
  - Handles [CLS], [SEP], [PAD], [UNK] special tokens

- Update OnnxClassifier to use SimpleTokenizer
- Update ModelConfig to use vocab.txt instead of tokenizer.json
- Rename distilbert_tokenizer() to distilbert_vocab()

Build status:
 Compiles successfully
 Links without C runtime conflicts
 Executable works correctly
 All previous functionality preserved

This resolves the LNK2038 error completely while maintaining full
ONNX inference capability with NPU acceleration.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-16 19:38:44 +02:00

75 lines
1.6 KiB
TOML

[package]
name = "activity-tracker"
version = "0.1.0"
edition = "2021"
authors = ["Activity Tracker Team"]
description = "Backend de suivi d'activité pour reconstruire l'historique de travail (Windows uniquement)"
[dependencies]
# Core dependencies
tokio = { version = "1.35", features = ["full"] }
anyhow = "1.0"
thiserror = "1.0"
log = "0.4"
env_logger = "0.11"
# Capture
screenshots = "0.6"
image = "0.24"
webp = "0.2"
# Windows APIs
[target.'cfg(windows)'.dependencies]
windows = { version = "0.52", features = [
"Win32_Foundation",
"Win32_UI_WindowsAndMessaging",
"Win32_System_Threading",
"Win32_System_ProcessStatus",
] }
# Storage (SQLite + Encryption)
rusqlite = { version = "0.31", features = ["bundled"] }
# Encryption (AES-256-GCM)
aes-gcm = "0.10"
pbkdf2 = { version = "0.12", features = ["simple"] }
rand = "0.8"
sha2 = "0.10"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
base64 = "0.22"
# Time management
chrono = { version = "0.4", features = ["serde"] }
# CLI
clap = { version = "4.4", features = ["derive"] }
# Configuration
toml = "0.8"
dotenv = "0.15"
# Utilities
regex = "1.10"
ureq = "3.1"
# Web Server (Dashboard)
axum = { version = "0.7", features = ["ws", "macros"] }
tower = { version = "0.4", features = ["util"] }
tower-http = { version = "0.5", features = ["fs", "trace", "cors"] }
mime_guess = "2.0"
# AI/ML (NPU support via DirectML)
ort = { version = "2.0.0-rc.10", features = ["download-binaries", "directml"] }
ndarray = "0.16"
[dev-dependencies]
tempfile = "3.8"
criterion = "0.5"
[[bin]]
name = "activity-tracker"
path = "src/main.rs"