scope_set_default
Set the default store view scope for the current Magento session to control which store views are affected by subsequent operations.
Instructions
Set the default store view scope for the current session.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Action parameters as a JSON object |
Implementation Reference
- src/actions/scope.ts:34-50 (handler)The handler for 'scope.set_default'. Uses ScopeSetDefaultSchema to validate params, then sets the default scope via sessionStore.setDefaultScope().
{ name: 'scope.set_default', description: 'Set the default store view scope for the current session.', riskTier: RiskTier.Safe, requiresAuth: true, handler: async (params: Record<string, unknown>, context: ActionContext) => { const validated = ScopeSetDefaultSchema.parse(params); sessionStore.setDefaultScope(context.sessionId, { store_view_code: validated.store_view_code, }); return { message: `Default scope set to store view: ${validated.store_view_code}`, store_view_code: validated.store_view_code, }; }, - src/validation/schemas.ts:43-45 (schema)Zod schema for scope_set_default: requires a store_view_code string of min length 1.
export const ScopeSetDefaultSchema = z.object({ store_view_code: z.string().min(1), }); - src/index.ts:51-53 (registration)Registration: createScopeActions is called in main() and its returned ActionDefinitions (including scope.set_default) are collected into allActions array.
const allActions: ActionDefinition[] = [ ...createAuthActions(sessionStore), ...createScopeActions(sessionStore), - src/actions/scope.ts:9-53 (helper)Factory function that creates scope actions (including scope.set_default), registering them as ActionDefinition objects.
export function createScopeActions(sessionStore: SessionStore): ActionDefinition[] { return [ { name: 'scope.list_websites_stores', description: 'List all websites, stores, and store views configured in Magento.', riskTier: RiskTier.Safe, requiresAuth: true, handler: async (_params: Record<string, unknown>, context: ActionContext) => { const client = context.getClient(); // Fetch store configs to get websites/stores/views const storeConfigs = await client.get<unknown[]>('/V1/store/storeConfigs'); const websites = await client.get<unknown[]>('/V1/store/websites'); const storeGroups = await client.get<unknown[]>('/V1/store/storeGroups'); const storeViews = await client.get<unknown[]>('/V1/store/storeViews'); return { websites, store_groups: storeGroups, store_views: storeViews, store_configs: storeConfigs, default_scope: context.getDefaultScope(), }; }, }, { name: 'scope.set_default', description: 'Set the default store view scope for the current session.', riskTier: RiskTier.Safe, requiresAuth: true, handler: async (params: Record<string, unknown>, context: ActionContext) => { const validated = ScopeSetDefaultSchema.parse(params); sessionStore.setDefaultScope(context.sessionId, { store_view_code: validated.store_view_code, }); return { message: `Default scope set to store view: ${validated.store_view_code}`, store_view_code: validated.store_view_code, }; }, }, ]; }