Skip to content

Commit ddf46db

Browse files
author
zk
committed
Expose generated assistant source
1 parent abbcd78 commit ddf46db

3 files changed

Lines changed: 479 additions & 187 deletions

File tree

crates/aionui-api-types/src/assistant.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use crate::{AgentManagementStatus, AgentSource};
2020
#[serde(rename_all = "lowercase")]
2121
pub enum AssistantSource {
2222
Builtin,
23-
Bare,
23+
Generated,
2424
User,
2525
}
2626

@@ -333,12 +333,18 @@ mod tests {
333333
fn assistant_source_serializes_lowercase() {
334334
let json = serde_json::to_string(&AssistantSource::Builtin).unwrap();
335335
assert_eq!(json, "\"builtin\"");
336-
let json = serde_json::to_string(&AssistantSource::Bare).unwrap();
337-
assert_eq!(json, "\"bare\"");
336+
let json = serde_json::to_string(&AssistantSource::Generated).unwrap();
337+
assert_eq!(json, "\"generated\"");
338338
let json = serde_json::to_string(&AssistantSource::User).unwrap();
339339
assert_eq!(json, "\"user\"");
340340
}
341341

342+
#[test]
343+
fn assistant_source_rejects_legacy_bare_value() {
344+
let parsed = serde_json::from_str::<AssistantSource>("\"bare\"");
345+
assert!(parsed.is_err());
346+
}
347+
342348
#[test]
343349
fn assistant_response_round_trip_snake_case() {
344350
let resp = AssistantResponse {

crates/aionui-app/tests/assistants_e2e.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ async fn list_populated_excludes_extension_assistants() {
416416
assert!(ids.contains(&"builtin-bare"));
417417
assert!(!ids.contains(&"ext-helper"));
418418
let sources: Vec<&str> = list.iter().map(|a| a["source"].as_str().unwrap()).collect();
419-
assert!(sources.contains(&"bare"));
419+
assert!(sources.contains(&"generated"));
420420
assert!(sources.contains(&"builtin"));
421421
assert!(!sources.contains(&"extension"));
422422
let office = find_id(&json["data"], "builtin-office").expect("builtin-office missing from assistant list");
@@ -453,7 +453,7 @@ async fn list_builtin_file_avatar_is_served_via_assistant_avatar_route() {
453453
}
454454

455455
#[tokio::test]
456-
async fn list_generated_assistant_exposes_bare_runtime_fields() {
456+
async fn list_generated_assistant_exposes_generated_runtime_fields() {
457457
let fx = fixture().await;
458458
insert_generated_bare_assistant(&fx, "bare:agent-droid", "agent-droid", "droid", "Droid").await;
459459

@@ -466,18 +466,18 @@ async fn list_generated_assistant_exposes_bare_runtime_fields() {
466466
assert_eq!(resp.status(), StatusCode::OK);
467467
let json = body_json(resp).await;
468468
let list = json["data"].as_array().unwrap();
469-
let bare = list
469+
let generated = list
470470
.iter()
471471
.find(|assistant| assistant["id"] == "bare:agent-droid")
472-
.expect("generated bare assistant missing from assistant list");
472+
.expect("generated assistant missing from assistant list");
473473

474-
assert_eq!(bare["source"], "bare");
475-
assert_eq!(bare["deletable"], false);
476-
assert_eq!(bare["agent_status"], "missing");
477-
assert_eq!(bare["agent_status_message"], Value::Null);
478-
assert_eq!(bare["team_selectable"], false);
474+
assert_eq!(generated["source"], "generated");
475+
assert_eq!(generated["deletable"], false);
476+
assert_eq!(generated["agent_status"], "missing");
477+
assert_eq!(generated["agent_status_message"], Value::Null);
478+
assert_eq!(generated["team_selectable"], false);
479479
assert_eq!(
480-
bare["team_block_reason"],
480+
generated["team_block_reason"],
481481
"This assistant's agent could not be resolved."
482482
);
483483
}
@@ -622,7 +622,7 @@ async fn get_detail_returns_definition_state_preferences_and_rules() {
622622
}
623623

624624
#[tokio::test]
625-
async fn get_detail_generated_assistant_exposes_bare_runtime_fields() {
625+
async fn get_detail_generated_assistant_exposes_generated_runtime_fields() {
626626
let fx = fixture().await;
627627
insert_generated_bare_assistant(&fx, "bare:agent-droid", "agent-droid", "droid", "Droid").await;
628628

@@ -640,7 +640,7 @@ async fn get_detail_generated_assistant_exposes_bare_runtime_fields() {
640640
let json = body_json(resp).await;
641641
let data = &json["data"];
642642
assert_eq!(data["id"], "bare:agent-droid");
643-
assert_eq!(data["source"], "bare");
643+
assert_eq!(data["source"], "generated");
644644
assert_eq!(data["deletable"], false);
645645
assert_eq!(data["agent_status"], "missing");
646646
assert_eq!(data["agent_status_message"], Value::Null);

0 commit comments

Comments
 (0)