Skip to content

Commit f5f89d9

Browse files
feat(Handler/enablement): Add enablement state query handler for extension management
Implement handler for retrieving extension enablement state in Mountain backend. This initial implementation returns a default 'enabled' state (EnabledGlobally=1) to support MVP requirements where extensions sent to Cocoon are considered active. - Integrates with Mountain's RPC command handling through Track dispatcher - Provides temporary implementation matching Path A strategy of minimal shim layer changes - Enables Cocoon extension host to perform basic enablement checks required by VS Code extension API surface - Prepares foundation for future integration with persistent AppState storage once enablement service is implemented
1 parent 32a9bc1 commit f5f89d9

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

Source/handlers/enablement.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
use serde_json::{Value, json};
2+
use tauri::{AppHandle, Runtime};
3+
// Assume Mountain has access to the real IWorkbenchExtensionEnablementService state
4+
5+
pub async fn handle_get_enablement_state<R: Runtime>(_app: AppHandle<R>, params: Value) -> Result<Value, String> {
6+
let extension_id = params.get("extensionId").and_then(|v| v.as_str()); // Extract ID
7+
println!("[Enablement Handler] GetState request for {:?}", extension_id);
8+
// TODO: Query the actual enablement service state in Mountain
9+
// For MVP, assume enabled if it was sent to Cocoon in the first place
10+
let enabled_state = 1; // Example: EnabledGlobally
11+
Ok(json!(enabled_state))
12+
}
13+
// TODO: Add handlers for setEnablement etc. if needed by shim

0 commit comments

Comments
 (0)