{ "$schema": "https://metabuilder.dev/schemas/json-script.schema.json", "schemaVersion": "2.2.0", "package": "role_editor", "description": "Role management and permission configuration functions", "functions": [ { "id": "role_initialize", "name": "initialize", "exported": true, "description": "Initialize the role editor with default state", "category": "lifecycle", "luaScript": "role/editor.lua" }, { "id": "role_select_role", "name": "selectRole", "exported": true, "description": "Select a role to view/edit its permissions", "category": "interaction", "luaScript": "role/editor.lua" }, { "id": "role_toggle_permission", "name": "togglePermission", "exported": true, "description": "Toggle a permission on or off for the selected role", "category": "interaction", "luaScript": "role/editor.lua" }, { "id": "role_save_changes", "name": "saveChanges", "exported": true, "description": "Save all permission changes", "category": "persistence", "luaScript": "role/editor.lua" }, { "id": "role_cancel_changes", "name": "cancelChanges", "exported": true, "description": "Cancel all pending changes and revert to original state", "category": "persistence", "luaScript": "role/editor.lua" }, { "id": "role_handle_card_click", "name": "handleCardClick", "exported": true, "description": "Handle click on a role card", "category": "interaction", "luaScript": "role/card.lua" }, { "id": "role_get_role_label", "name": "getRoleLabel", "exported": true, "description": "Get role label with proper capitalization", "category": "utility", "luaScript": "role/init.lua" }, { "id": "role_get_role_info", "name": "getRoleInfo", "exported": true, "description": "Get detailed information about a role", "category": "utility", "luaScript": "role/init.lua" }, { "id": "role_get_all_roles", "name": "getAllRoles", "exported": true, "description": "Get all available roles in order", "category": "utility", "luaScript": "role/init.lua" }, { "id": "role_filter_roles", "name": "filterRoles", "exported": true, "description": "Filter roles by allowed list", "category": "utility", "luaScript": "role/init.lua" }, { "id": "role_is_valid_role", "name": "isValidRole", "exported": true, "description": "Validate if a role identifier exists", "category": "validation", "luaScript": "role/init.lua" }, { "id": "config_get_role_config", "name": "getRoleConfig", "exported": true, "description": "Get the full role configuration object", "category": "config", "luaScript": "config.lua" } ], "exports": { "functions": [ "initialize", "selectRole", "togglePermission", "saveChanges", "cancelChanges", "handleCardClick", "getRoleLabel", "getRoleInfo", "getAllRoles", "filterRoles", "isValidRole", "getRoleConfig" ] } }