// // PersistenceService.swift // Zyquo Atlas // // Author: Simon-Pierre Boucher // Mail: contact@spboucher.ai // // Owns Zyquo Atlas's on-disk root and the browsing-data subfolders. The // encrypted key vault (SecureKeyStore) and, in later phases, bookmarks / // history / sessions / profiles live under this root. Deliberately minimal in // Phase 3 — it exists so SecureKeyStore has a stable rootDirectory // (`~/Library/Application Support/ZyquoAtlas/`), separate from Zyquo Cloud's. // import Foundation final class PersistenceService { static let shared = PersistenceService() /// `~/Library/Application Support/ZyquoAtlas/`, created on first access. let rootDirectory: URL /// `…/ZyquoAtlas/Profiles/` — per-profile browsing data (Phase 4/6). let profilesDirectory: URL private init() { let appSupport = FileManager.default.urls( for: .applicationSupportDirectory, in: .userDomainMask ).first ?? URL(fileURLWithPath: NSHomeDirectory()) .appendingPathComponent("Library/Application Support") rootDirectory = appSupport.appendingPathComponent("ZyquoAtlas", isDirectory: true) profilesDirectory = rootDirectory.appendingPathComponent("Profiles", isDirectory: true) for dir in [rootDirectory, profilesDirectory] { try? FileManager.default.createDirectory( at: dir, withIntermediateDirectories: true ) } } }