willwang-openai
ef76e6ac30
Centralize remote plugin mutations in PluginsManager ( #42114 )
...
## What changed
- Move remote plugin install and uninstall orchestration from the app server into shared `PluginsManager` APIs.
- Keep cache and backend mutations coordinated by the installed-plugin sync gate, and retain install outcomes long enough to protect newly materialized bundles during downstream setup.
- Return structured operation errors and outcomes so callers can preserve JSON-RPC error mapping, telemetry, cache refreshes, and OAuth setup.
## Testing
- Add regression coverage that verifies uninstall holds the mutation gate, preserves the local cache when the backend operation fails, and refreshes installed state after a successful uninstall.
GitOrigin-RevId: de39f19a4e61c6e9c76ddc2c65d2ac130a4b7f88
2026-09-01 18:35:00 +00:00
..
2026-08-24 22:40:35 +00:00
2026-09-01 07:32:54 +00:00
2026-09-01 18:35:00 +00:00
2026-09-01 17:47:29 +00:00
2026-08-25 03:08:33 +00:00
2026-08-24 21:39:48 +00:00
2026-08-31 13:44:12 +00:00
2026-08-31 13:44:12 +00:00
2026-08-24 21:39:48 +00:00
2026-09-01 00:30:55 +00:00
2026-09-01 16:58:54 +00:00
2026-08-25 16:38:46 +00:00
2026-08-28 19:44:50 +00:00
2026-08-28 19:44:50 +00:00
2026-08-29 02:52:58 +00:00
2026-09-01 17:17:45 +00:00
2026-09-01 01:00:50 +00:00
2026-09-01 01:00:50 +00:00
2026-09-01 05:17:11 +00:00
2026-08-25 21:20:51 +00:00
2026-09-01 13:43:27 +00:00
2026-08-29 02:46:06 +00:00
2026-09-01 17:09:13 +00:00
2026-08-31 21:27:51 +00:00
2026-09-01 13:43:27 +00:00
2026-08-23 18:53:15 +00:00
2026-09-01 18:24:56 +00:00
2026-08-25 21:20:51 +00:00
2026-09-01 18:35:00 +00:00
2026-09-01 12:23:20 +00:00
2026-09-01 01:00:50 +00:00
2026-08-27 21:05:40 +00:00
2026-09-01 15:54:18 +00:00
2026-09-01 16:58:54 +00:00
2026-09-01 12:23:20 +00:00
2026-09-01 16:49:16 +00:00
2026-08-27 20:44:47 +00:00
2026-08-25 21:34:05 +00:00
2026-09-01 15:54:18 +00:00
2026-09-01 14:33:58 +00:00
2026-09-01 18:02:27 +00:00
2026-09-01 15:12:53 +00:00
2026-08-26 23:41:18 +00:00
2026-08-25 21:08:22 +00:00
2026-08-28 01:14:02 +00:00
2026-08-31 21:15:38 +00:00
2026-08-28 01:14:02 +00:00
2026-08-26 14:36:48 +00:00
2026-08-31 22:08:44 +00:00
2026-08-25 18:41:03 +00:00
2026-08-25 22:46:49 +00:00
2026-09-01 17:17:45 +00:00
2026-09-01 18:02:27 +00:00
2026-08-25 15:50:19 +00:00
2026-09-01 18:02:27 +00:00
2026-08-31 19:44:44 +00:00
2026-08-26 17:45:42 +00:00
2026-08-21 16:45:05 +00:00
2026-08-30 16:45:34 +00:00
2026-09-01 14:33:58 +00:00
2026-08-28 01:14:02 +00:00
2026-09-01 16:40:05 +00:00
2026-09-01 18:24:56 +00:00
2026-09-01 17:47:29 +00:00
2026-08-31 21:15:38 +00:00
2026-09-01 17:09:13 +00:00
2026-09-01 14:33:58 +00:00
2026-08-28 21:40:23 +00:00
2026-09-01 17:37:47 +00:00
2026-08-31 19:44:44 +00:00
2026-08-31 19:44:44 +00:00
2026-08-20 14:55:08 +00:00
2026-09-01 17:47:29 +00:00
2026-08-25 21:44:43 +00:00
2026-09-01 17:17:45 +00:00
2026-09-01 17:17:45 +00:00
2026-09-01 16:40:05 +00:00