feat(console): add initial console for Cursor BYOK with provider management and LLM call tracking

This commit is contained in:
leookun
2026-08-17 10:14:10 +08:00
parent 4db2061611
commit c96cb0a110
220 changed files with 29466 additions and 10769 deletions
+10 -6
View File
@@ -6,14 +6,14 @@ use std::{
};
use cursor_server::{
prompting::ModelRequest,
provider::{Provider, ProviderStream, ResponseEvent},
model::{ModelInvocation, ModelRequest},
provider::{ModelEvent, Provider, ProviderStream},
Error,
};
use futures_util::stream;
use tokio_util::sync::CancellationToken;
type FakeResponse = Vec<Result<ResponseEvent, Error>>;
type FakeResponse = Vec<Result<ModelEvent, Error>>;
#[derive(Clone, Default)]
pub struct FakeProvider {
@@ -22,7 +22,7 @@ pub struct FakeProvider {
}
impl FakeProvider {
pub fn push(&self, events: Vec<ResponseEvent>) {
pub fn push(&self, events: Vec<ModelEvent>) {
self.responses
.lock()
.unwrap()
@@ -37,8 +37,12 @@ impl FakeProvider {
}
impl Provider for FakeProvider {
fn stream(&self, request: ModelRequest, _cancellation: CancellationToken) -> ProviderStream {
self.requests.lock().unwrap().push(request);
fn stream(
&self,
invocation: ModelInvocation,
_cancellation: CancellationToken,
) -> ProviderStream {
self.requests.lock().unwrap().push(invocation.request);
let events = self
.responses
.lock()