Improve AI enhancement service logging and privacy
This commit is contained in:
parent
ce3ac6d449
commit
79dbe18979
@ -235,12 +235,12 @@ class AIEnhancementService: ObservableObject {
|
|||||||
// Handle Ollama requests differently
|
// Handle Ollama requests differently
|
||||||
if aiService.selectedProvider == .ollama {
|
if aiService.selectedProvider == .ollama {
|
||||||
logger.notice("📤 Request to Ollama")
|
logger.notice("📤 Request to Ollama")
|
||||||
logger.notice("🤖 System: \(systemMessage)")
|
logger.notice("🤖 System: \(systemMessage, privacy: .public)")
|
||||||
logger.notice("📝 Sending: \(text)")
|
logger.notice("📝 Sending: \(text, privacy: .public)")
|
||||||
do {
|
do {
|
||||||
let result = try await aiService.enhanceWithOllama(text: text, systemPrompt: systemMessage)
|
let result = try await aiService.enhanceWithOllama(text: text, systemPrompt: systemMessage)
|
||||||
logger.notice("✅ Ollama enhancement successful")
|
logger.notice("✅ Ollama enhancement successful")
|
||||||
logger.notice("📝 Received: \(result)")
|
logger.notice("📝 Received: \(result, privacy: .public)")
|
||||||
return result
|
return result
|
||||||
} catch let error as LocalAIError {
|
} catch let error as LocalAIError {
|
||||||
switch error {
|
switch error {
|
||||||
@ -299,8 +299,8 @@ class AIEnhancementService: ObservableObject {
|
|||||||
|
|
||||||
do {
|
do {
|
||||||
logger.notice("📤 Request to Gemini")
|
logger.notice("📤 Request to Gemini")
|
||||||
logger.notice("🤖 System: \(systemMessage)")
|
logger.notice("🤖 System: \(systemMessage, privacy: .public)")
|
||||||
logger.notice("📝 Sending: \(text)")
|
logger.notice("📝 Sending: \(text, privacy: .public)")
|
||||||
let (data, response) = try await URLSession.shared.data(for: request)
|
let (data, response) = try await URLSession.shared.data(for: request)
|
||||||
|
|
||||||
guard let httpResponse = response as? HTTPURLResponse else {
|
guard let httpResponse = response as? HTTPURLResponse else {
|
||||||
@ -323,7 +323,7 @@ class AIEnhancementService: ObservableObject {
|
|||||||
|
|
||||||
let result = enhancedText.trimmingCharacters(in: .whitespacesAndNewlines)
|
let result = enhancedText.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||||
logger.notice("✅ Gemini enhancement successful")
|
logger.notice("✅ Gemini enhancement successful")
|
||||||
logger.notice("📝 Received: \(result)")
|
logger.notice("📝 Received: \(result, privacy: .public)")
|
||||||
return result
|
return result
|
||||||
|
|
||||||
case 401:
|
case 401:
|
||||||
@ -378,8 +378,8 @@ class AIEnhancementService: ObservableObject {
|
|||||||
|
|
||||||
do {
|
do {
|
||||||
logger.notice("📤 Request to Anthropic")
|
logger.notice("📤 Request to Anthropic")
|
||||||
logger.notice("🤖 System: \(systemMessage)")
|
logger.notice("🤖 System: \(systemMessage, privacy: .public)")
|
||||||
logger.notice("📝 Sending: \(text)")
|
logger.notice("📝 Sending: \(text, privacy: .public)")
|
||||||
let (data, response) = try await URLSession.shared.data(for: request)
|
let (data, response) = try await URLSession.shared.data(for: request)
|
||||||
|
|
||||||
guard let httpResponse = response as? HTTPURLResponse else {
|
guard let httpResponse = response as? HTTPURLResponse else {
|
||||||
@ -399,7 +399,7 @@ class AIEnhancementService: ObservableObject {
|
|||||||
|
|
||||||
let result = enhancedText.trimmingCharacters(in: .whitespacesAndNewlines)
|
let result = enhancedText.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||||
logger.notice("✅ Anthropic enhancement successful")
|
logger.notice("✅ Anthropic enhancement successful")
|
||||||
logger.notice("📝 Received: \(result)")
|
logger.notice("📝 Received: \(result, privacy: .public)")
|
||||||
return result
|
return result
|
||||||
|
|
||||||
case 401:
|
case 401:
|
||||||
@ -464,9 +464,9 @@ class AIEnhancementService: ObservableObject {
|
|||||||
request.httpBody = try? JSONSerialization.data(withJSONObject: requestBody)
|
request.httpBody = try? JSONSerialization.data(withJSONObject: requestBody)
|
||||||
|
|
||||||
do {
|
do {
|
||||||
logger.notice("📤 Request to \(self.aiService.selectedProvider.rawValue)")
|
logger.notice("📤 Request to \(self.aiService.selectedProvider.rawValue, privacy: .public)")
|
||||||
logger.notice("🤖 System: \(systemMessage)")
|
logger.notice("🤖 System: \(systemMessage, privacy: .public)")
|
||||||
logger.notice("📝 Sending: \(text)")
|
logger.notice("📝 Sending: \(text, privacy: .public)")
|
||||||
let (data, response) = try await URLSession.shared.data(for: request)
|
let (data, response) = try await URLSession.shared.data(for: request)
|
||||||
|
|
||||||
guard let httpResponse = response as? HTTPURLResponse else {
|
guard let httpResponse = response as? HTTPURLResponse else {
|
||||||
@ -487,7 +487,7 @@ class AIEnhancementService: ObservableObject {
|
|||||||
|
|
||||||
let result = enhancedText.trimmingCharacters(in: .whitespacesAndNewlines)
|
let result = enhancedText.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||||
logger.notice("✅ Enhancement successful")
|
logger.notice("✅ Enhancement successful")
|
||||||
logger.notice("📝 Received: \(result)")
|
logger.notice("📝 Received: \(result, privacy: .public)")
|
||||||
return result
|
return result
|
||||||
|
|
||||||
case 401:
|
case 401:
|
||||||
@ -542,9 +542,22 @@ class AIEnhancementService: ObservableObject {
|
|||||||
func captureScreenContext() async {
|
func captureScreenContext() async {
|
||||||
// Only check for screen capture context toggle
|
// Only check for screen capture context toggle
|
||||||
guard useScreenCaptureContext else {
|
guard useScreenCaptureContext else {
|
||||||
|
logger.notice("📷 Screen capture context is disabled")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_ = await screenCaptureService.captureAndExtractText()
|
|
||||||
|
logger.notice("📷 Initiating screen capture for context")
|
||||||
|
// Wait for the screen capture to complete and check result
|
||||||
|
if let capturedText = await screenCaptureService.captureAndExtractText() {
|
||||||
|
logger.notice("📷 Screen capture successful, got \(capturedText.count, privacy: .public) characters")
|
||||||
|
// Ensure we're on the main thread when updating published properties
|
||||||
|
await MainActor.run {
|
||||||
|
// Manually trigger objectWillChange to ensure UI updates
|
||||||
|
self.objectWillChange.send()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.notice("📷 Screen capture failed or returned empty result")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Prompt Management
|
// MARK: - Prompt Management
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user