swift-apple-intelligence-grpc/Proto/apple_intelligence.proto
Mathias Beaulieu-Duncan 638656e7ca Add vision support, gRPC reflection toggle, and chat improvements
- Add Vision framework integration for image analysis (OCR, classification)
- Add image attachment support in chat UI with drag & drop
- Add recent images sidebar from Downloads/Desktop
- Add copy to clipboard button for assistant responses
- Add gRPC reflection service with toggle in settings
- Create proper .proto file and generate Swift code
- Add server restart when toggling reflection setting
- Fix port number formatting in settings (remove comma grouping)
- Update gRPC dependencies to v2.x

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 16:18:06 -05:00

65 lines
1.3 KiB
Protocol Buffer

syntax = "proto3";
package appleintelligence;
// Image data for vision requests
message ImageData {
bytes data = 1;
string filename = 2;
string mime_type = 3;
}
// Vision analysis results
message ImageAnalysis {
string text_content = 1;
repeated string labels = 2;
string description = 3;
}
// Completion request
message CompletionRequest {
string prompt = 1;
optional float temperature = 2;
optional int32 max_tokens = 3;
repeated ImageData images = 4;
bool include_analysis = 5;
}
// Completion response (non-streaming)
message CompletionResponse {
string id = 1;
string text = 2;
string finish_reason = 3;
repeated ImageAnalysis image_analyses = 4;
}
// Streaming completion chunk
message CompletionChunk {
string id = 1;
string delta = 2;
bool is_final = 3;
string finish_reason = 4;
repeated ImageAnalysis image_analyses = 5;
}
// Health check request
message HealthRequest {}
// Health check response
message HealthResponse {
bool healthy = 1;
string model_status = 2;
}
// Apple Intelligence Service
service AppleIntelligenceService {
// Single completion request
rpc Complete(CompletionRequest) returns (CompletionResponse);
// Streaming completion request
rpc StreamComplete(CompletionRequest) returns (stream CompletionChunk);
// Health check
rpc Health(HealthRequest) returns (HealthResponse);
}