feat: add explicit worker filesystem authority
This commit is contained in:
@@ -164,9 +164,16 @@ async fn make_worker_with_manifest(
|
||||
std::mem::forget(pwd_tmp);
|
||||
|
||||
let worker = Engine::new(client);
|
||||
let mut worker = Worker::new(manifest, worker, store, pwd, scope)
|
||||
.await
|
||||
.unwrap();
|
||||
let mut worker = Worker::new(
|
||||
manifest,
|
||||
worker,
|
||||
store,
|
||||
pwd.clone(),
|
||||
worker::WorkerFilesystemAuthority::local(pwd.clone(), pwd.clone()),
|
||||
scope,
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
worker.enable_worker_metadata_write_through().unwrap();
|
||||
worker
|
||||
}
|
||||
|
||||
@@ -170,9 +170,16 @@ async fn make_worker_with(
|
||||
|
||||
let scope = worker::Scope::writable(&pwd).unwrap();
|
||||
let worker = Engine::new(client);
|
||||
Worker::new(manifest, worker, store, pwd, scope)
|
||||
.await
|
||||
.unwrap()
|
||||
Worker::new(
|
||||
manifest,
|
||||
worker,
|
||||
store,
|
||||
pwd.clone(),
|
||||
worker::WorkerFilesystemAuthority::local(pwd.clone(), pwd.clone()),
|
||||
scope,
|
||||
)
|
||||
.await
|
||||
.unwrap()
|
||||
}
|
||||
|
||||
fn write_n_staging(layout: &WorkspaceLayout, n: usize) -> Vec<uuid::Uuid> {
|
||||
|
||||
@@ -12,7 +12,10 @@ use llm_engine::tool::{Tool, ToolDefinition, ToolError, ToolMeta, ToolOutput};
|
||||
use session_store::{CombinedStore, FsWorkerStore};
|
||||
use session_store::{FsStore, LogEntry};
|
||||
|
||||
use worker::{Event, Method, Worker, WorkerController, WorkerHandle, WorkerManifest, WorkerStatus};
|
||||
use worker::{
|
||||
Event, Method, Worker, WorkerController, WorkerFilesystemAuthority, WorkerHandle,
|
||||
WorkerManifest, WorkerStatus,
|
||||
};
|
||||
|
||||
type TestStore = CombinedStore<FsStore, FsWorkerStore>;
|
||||
|
||||
@@ -186,7 +189,8 @@ async fn make_worker_with_pwd_and_manifest(
|
||||
std::mem::forget(pwd_tmp);
|
||||
|
||||
let worker = Engine::new(client);
|
||||
let worker = Worker::new(manifest, worker, store, pwd.clone(), scope)
|
||||
let authority = WorkerFilesystemAuthority::local(pwd.clone(), pwd.clone());
|
||||
let worker = Worker::new(manifest, worker, store, pwd.clone(), authority, scope)
|
||||
.await
|
||||
.unwrap();
|
||||
(worker, pwd)
|
||||
|
||||
@@ -190,9 +190,16 @@ async fn make_worker(
|
||||
let mut worker = Engine::new(client);
|
||||
worker.register_tool(big_content_tool_definition(tool_name));
|
||||
|
||||
let worker = Worker::new(manifest, worker, store, pwd, scope)
|
||||
.await
|
||||
.unwrap();
|
||||
let worker = Worker::new(
|
||||
manifest,
|
||||
worker,
|
||||
store,
|
||||
pwd.clone(),
|
||||
worker::WorkerFilesystemAuthority::local(pwd.clone(), pwd.clone()),
|
||||
scope,
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
(worker, store_tmp, pwd_tmp)
|
||||
}
|
||||
|
||||
@@ -453,9 +460,16 @@ async fn metric_write_failure_emits_warn_alert_and_does_not_abort_run() {
|
||||
// the failure path: at least one metric attempts to write.
|
||||
let client = MockClient::new(vec![text_response_with_cache("hi", 0, 0)]);
|
||||
let worker = Engine::new(client);
|
||||
let mut worker = Worker::new(manifest, worker, store.clone(), pwd, scope)
|
||||
.await
|
||||
.unwrap();
|
||||
let mut worker = Worker::new(
|
||||
manifest,
|
||||
worker,
|
||||
store.clone(),
|
||||
pwd.clone(),
|
||||
worker::WorkerFilesystemAuthority::local(pwd.clone(), pwd.clone()),
|
||||
scope,
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
let (tx, mut rx) = broadcast::channel::<Event>(64);
|
||||
let alerter = worker::Alerter::new(tx);
|
||||
@@ -522,9 +536,16 @@ permission = "write"
|
||||
let pwd = pwd_tmp.path().to_path_buf();
|
||||
let scope = worker::Scope::writable(&pwd).unwrap();
|
||||
let worker = Engine::new(client);
|
||||
let mut worker = Worker::new(manifest, worker, store.clone(), pwd, scope)
|
||||
.await
|
||||
.unwrap();
|
||||
let mut worker = Worker::new(
|
||||
manifest,
|
||||
worker,
|
||||
store.clone(),
|
||||
pwd.clone(),
|
||||
worker::WorkerFilesystemAuthority::local(pwd.clone(), pwd.clone()),
|
||||
scope,
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
let session_id = worker.session_id();
|
||||
let segment_id = worker.segment_id();
|
||||
worker.run_text("hello").await.unwrap();
|
||||
|
||||
@@ -123,7 +123,15 @@ async fn make_worker_with_body(
|
||||
std::mem::forget(user_prompts_tmp);
|
||||
|
||||
let worker = Engine::new(client);
|
||||
let mut worker = Worker::new(manifest, worker, store, pwd.clone(), scope).await?;
|
||||
let mut worker = Worker::new(
|
||||
manifest,
|
||||
worker,
|
||||
store,
|
||||
pwd.clone(),
|
||||
worker::WorkerFilesystemAuthority::local(pwd.clone(), pwd.clone()),
|
||||
scope,
|
||||
)
|
||||
.await?;
|
||||
|
||||
let template = SystemPromptTemplate::parse("$user/test", loader)
|
||||
.map_err(|source| WorkerError::InvalidSystemPromptTemplate { source })?;
|
||||
|
||||
Reference in New Issue
Block a user