ea08563411
Erster Start aus DMG oder Downloads bietet einmalig an, sich nach ~/Applications zu kopieren und von dort neu zu starten — der Weg dorthin braucht kein Administrator-Passwort, anders als /Applications. Ein DMG kann das nicht selbst leisten: der Applications-Alias darin ist ein absoluter Symlink auf /Applications. Die Kopie erbt per ditto die Quarantäne des Downloads, deshalb wird sie am Ziel gelöst — sonst käme beim Neustart erneut die Gatekeeper-Warnung für dieselbe, gerade laufende App. Ablehnen merkt sich die App (moveOfferDismissed), im Debug-Build fragt sie nie. README: ~/Applications als gleichwertiger Installationsort, dazu der Weg über System-Einstellungen -> Datenschutz & Sicherheit fuer alle, die kein Terminal aufmachen wollen. 0.8 ist fuer den Windows-Stand reserviert. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
55 lines
1.8 KiB
TOML
55 lines
1.8 KiB
TOML
[package]
|
|
name = "ai-control"
|
|
version = "0.3.0"
|
|
description = "Pool- und Session-Verwaltung für Claude Code"
|
|
authors = ["marcus.hinz"]
|
|
license = "MIT"
|
|
repository = "https://github.com/mHinz-hub/ai-control"
|
|
edition = "2021"
|
|
rust-version = "1.77.2"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
name = "app_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
# Zeilennummern im Release-Backtrace (sonst zeigt der Panic-Tracer nur Adressen).
|
|
[profile.release]
|
|
debug = 1
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2.6.3", features = [] }
|
|
|
|
[dependencies]
|
|
serde_json = "1.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
log = "0.4"
|
|
tauri = { version = "2.11.3", features = ["macos-private-api", "tray-icon", "image-png"] }
|
|
tauri-plugin-log = "2"
|
|
tauri-plugin-autostart = "2"
|
|
tauri-plugin-dialog = "2"
|
|
tauri-plugin-clipboard-manager = "2"
|
|
base64 = "0.22"
|
|
sha2 = "0.10"
|
|
portable-pty = "0.9"
|
|
uuid = { version = "1", features = ["v4"] }
|
|
# Volltext-Suche übers Panel-Archiv (SQLite FTS5, in-memory aus dem Baum gebaut).
|
|
rusqlite = { version = "0.32", features = ["bundled"] }
|
|
keyring = { version = "3", features = ["apple-native", "sync-secret-service", "windows-native"] }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
zbus = "5"
|
|
glib = "0.18"
|
|
gtk = "0.18"
|
|
rfd = { version = "0.15", default-features = false, features = ["gtk3"] }
|
|
ksni = "0.1"
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
# Der Installations-Dialog läuft vor dem Tauri-Setup, also ohne AppHandle und
|
|
# damit ohne das Dialog-Plugin. Unter macOS braucht rfd kein Backend-Feature.
|
|
rfd = { version = "0.15", default-features = false }
|
|
objc2 = "0.6"
|
|
objc2-app-kit = { version = "0.3", features = ["NSApplication", "NSImage", "NSResponder", "NSRunningApplication"] }
|
|
objc2-foundation = { version = "0.3", features = ["NSString"] }
|