worker: allow companion to manage workers
This commit is contained in:
@@ -999,7 +999,8 @@ fn apply_role_profile(
|
||||
value["feature"]["memory"] = serde_json::json!({ "enabled": memory });
|
||||
value["feature"]["web"] = serde_json::json!({ "enabled": web });
|
||||
value["feature"]["sub_worker"] = serde_json::json!({ "enabled": sub_worker });
|
||||
value["feature"]["worker"] = serde_json::json!({ "enabled": slug == "orchestrator" });
|
||||
value["feature"]["worker"] =
|
||||
serde_json::json!({ "enabled": matches!(slug, "companion" | "orchestrator") });
|
||||
value["feature"]["manage_workdir"] = serde_json::json!({ "enabled": slug == "orchestrator" });
|
||||
let ticket = match slug {
|
||||
"companion" => serde_json::json!({ "enabled": true, "authoring": true, "thread": true }),
|
||||
@@ -1459,7 +1460,7 @@ mod tests {
|
||||
let companion = resolve("companion");
|
||||
assert!(companion.feature.task.enabled);
|
||||
assert!(companion.feature.sub_worker.enabled);
|
||||
assert!(!companion.feature.worker.enabled);
|
||||
assert!(companion.feature.worker.enabled);
|
||||
assert!(companion.scope.allow.is_empty());
|
||||
assert!(companion.scope.deny.is_empty());
|
||||
assert!(companion.delegation_scope.allow.is_empty());
|
||||
|
||||
@@ -3988,6 +3988,23 @@ mod tests {
|
||||
assert!(manifest.feature.worker.enabled);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn embedded_companion_profile_enables_worker_management() {
|
||||
let root = tempfile::tempdir().unwrap();
|
||||
let selector = ProfileSelector::Builtin("builtin:companion".to_string());
|
||||
let archive = builtin_profile_source_archive(&selector)
|
||||
.unwrap()
|
||||
.verify()
|
||||
.unwrap();
|
||||
let manifest = archive
|
||||
.resolve_profile("builtin:companion", root.path(), "companion-test-worker")
|
||||
.unwrap();
|
||||
|
||||
assert!(manifest.feature.worker.enabled);
|
||||
assert!(manifest.feature.sub_worker.enabled);
|
||||
assert!(!manifest.feature.manage_workdir.enabled);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn embedded_builtin_decodal_profiles_resolve_through_archive() {
|
||||
let root = tempfile::tempdir().unwrap();
|
||||
@@ -4033,7 +4050,10 @@ mod tests {
|
||||
.resolve_profile(&selector_key, root.path(), "embedded-test-worker")
|
||||
.unwrap();
|
||||
assert_eq!(manifest.worker.name, "embedded-test-worker");
|
||||
assert_eq!(manifest.model.ref_.as_deref(), Some("codex-oauth/gpt-5.5"));
|
||||
assert_eq!(
|
||||
manifest.model.ref_.as_deref(),
|
||||
Some("codex-oauth/gpt-5.6-sol")
|
||||
);
|
||||
if selector_key == "builtin:memory-consolidation" {
|
||||
assert!(manifest.feature.memory.enabled);
|
||||
assert!(manifest.feature.memory.staging);
|
||||
|
||||
Reference in New Issue
Block a user