Expose scheduled tasks in plugin details (#32272)

## What changed

- Add optional `scheduledTasks` metadata to `plugin/read` responses for remote
  plugins, including hourly, daily, weekday, and weekly schedules.
- Preserve the distinction between unavailable metadata (`null`) and a catalog
  response containing no scheduled tasks (`[]`). Local plugin details return
  `null`.
- Export the corresponding Rust, JSON Schema, and TypeScript protocol types.

## Testing

- Cover scheduled-task deserialization and propagation through `plugin/read`.
- Verify missing and empty remote metadata remain distinct.

GitOrigin-RevId: 7af223ed0a1bf6d8f054293084a73f34c6d0332d
This commit is contained in:
Abhinav authored and copyberry committed 2026-07-10 21:13:38 +00:00
1 parent bca577d69a
commit 431ad23be4
16 files changed
+589 -2

No files matched your search

@@ -1503,6 +1503,7 @@ pub(super) fn plugins_test_detail(
.collect(),
app_templates: Vec::new(),
mcp_servers: mcp_servers.iter().map(|name| (*name).to_string()).collect(),
scheduled_tasks: None,
}
}
@@ -1522,6 +1523,7 @@ pub(super) fn plugins_test_remote_detail(
apps: Vec::new(),
app_templates: Vec::new(),
mcp_servers: Vec::new(),
scheduled_tasks: None,
}
}
@@ -876,6 +876,7 @@ async fn plugin_detail_unmaterialized_default_uses_remote_install_path() {
apps: Vec::new(),
app_templates: Vec::new(),
mcp_servers: Vec::new(),
scheduled_tasks: None,
},
}),
);