@@ -2,6 +2,8 @@ use super::*;
22use crate :: error_code:: internal_error;
33use crate :: error_code:: invalid_request;
44use codex_app_server_protocol:: PluginInstallPolicy ;
5+ use codex_core_plugins:: remote:: is_valid_remote_plugin_id;
6+ use codex_core_plugins:: remote:: validate_remote_plugin_id;
57
68impl CodexMessageProcessor {
79 pub ( super ) async fn plugin_list (
@@ -452,11 +454,7 @@ impl CodexMessageProcessor {
452454 "remote plugin install is not enabled for marketplace {remote_marketplace_name}"
453455 ) ) ) ;
454456 }
455- if plugin_name. is_empty ( ) || !is_valid_remote_plugin_id ( & plugin_name) {
456- return Err ( invalid_request (
457- "invalid remote plugin id: only ASCII letters, digits, `_`, `-`, and `~` are allowed" ,
458- ) ) ;
459- }
457+ validate_remote_plugin_id ( & plugin_name) ?;
460458
461459 let auth = self . auth_manager . auth ( ) . await ;
462460 let remote_plugin_service_config = RemotePluginServiceConfig {
@@ -715,11 +713,7 @@ impl CodexMessageProcessor {
715713 {
716714 return Err ( invalid_request ( "remote plugin uninstall is not enabled" ) ) ;
717715 }
718- if plugin_id. is_empty ( ) || !is_valid_remote_plugin_id ( & plugin_id) {
719- return Err ( invalid_request (
720- "invalid remote plugin id: only ASCII letters, digits, `_`, `-`, and `~` are allowed" ,
721- ) ) ;
722- }
716+ validate_remote_plugin_id ( & plugin_id) ?;
723717
724718 let auth = self . auth_manager . auth ( ) . await ;
725719 let remote_plugin_service_config = RemotePluginServiceConfig {
@@ -755,15 +749,8 @@ impl CodexMessageProcessor {
755749 }
756750}
757751
758- fn is_valid_remote_plugin_id ( plugin_name : & str ) -> bool {
759- plugin_name
760- . chars ( )
761- . all ( |ch| ch. is_ascii_alphanumeric ( ) || ch == '-' || ch == '_' || ch == '~' )
762- }
763-
764752fn is_valid_remote_uninstall_plugin_id ( plugin_name : & str ) -> bool {
765- !plugin_name. is_empty ( )
766- && is_valid_remote_plugin_id ( plugin_name)
753+ is_valid_remote_plugin_id ( plugin_name)
767754 && ( plugin_name. starts_with ( "plugins~" )
768755 || plugin_name. starts_with ( "app_" )
769756 || plugin_name. starts_with ( "asdk_app_" )
@@ -866,20 +853,6 @@ fn remote_plugin_catalog_error_to_jsonrpc(
866853 }
867854}
868855
869- fn validate_remote_plugin_id ( plugin_id : & str ) -> Result < ( ) , JSONRPCErrorError > {
870- if plugin_id. is_empty ( )
871- || !plugin_id
872- . chars ( )
873- . all ( |ch| ch. is_ascii_alphanumeric ( ) || ch == '-' || ch == '_' || ch == '~' )
874- {
875- return Err ( invalid_request (
876- "invalid remote plugin id: only ASCII letters, digits, `_`, `-`, and `~` are allowed" ,
877- ) ) ;
878- }
879-
880- Ok ( ( ) )
881- }
882-
883856fn remote_plugin_bundle_install_error_to_jsonrpc (
884857 err : codex_core_plugins:: remote_bundle:: RemotePluginBundleInstallError ,
885858) -> JSONRPCErrorError {
0 commit comments