const mcpToolkitExt = 'ext.mcp.toolkit';
final mcpToolkitExtKeys = (
  appErrors: '$mcpToolkitExt.${mcpToolkitExtNames.appErrors}',
  viewDetails: '$mcpToolkitExt.${mcpToolkitExtNames.viewDetails}',
  viewScreenshots: '$mcpToolkitExt.${mcpToolkitExtNames.viewScreenshots}',
  inspectWidgetAtPoint:
      '$mcpToolkitExt.${mcpToolkitExtNames.inspectWidgetAtPoint}',
  registerDynamics: '$mcpToolkitExt.${mcpToolkitExtNames.registerDynamics}',
  semanticSnapshot: '$mcpToolkitExt.${mcpToolkitExtNames.semanticSnapshot}',
  tapWidget: '$mcpToolkitExt.${mcpToolkitExtNames.tapWidget}',
  enterText: '$mcpToolkitExt.${mcpToolkitExtNames.enterText}',
  scroll: '$mcpToolkitExt.${mcpToolkitExtNames.scroll}',
  longPress: '$mcpToolkitExt.${mcpToolkitExtNames.longPress}',
  swipe: '$mcpToolkitExt.${mcpToolkitExtNames.swipe}',
  drag: '$mcpToolkitExt.${mcpToolkitExtNames.drag}',
  getRecentLogs: '$mcpToolkitExt.${mcpToolkitExtNames.getRecentLogs}',
  waitFor: '$mcpToolkitExt.${mcpToolkitExtNames.waitFor}',
  pressKey: '$mcpToolkitExt.${mcpToolkitExtNames.pressKey}',
  handleDialog: '$mcpToolkitExt.${mcpToolkitExtNames.handleDialog}',
  navigate: '$mcpToolkitExt.${mcpToolkitExtNames.navigate}',
  hover: '$mcpToolkitExt.${mcpToolkitExtNames.hover}',
);

final allMcpToolkitExtNames = {
  mcpToolkitExtNames.appErrors,
  mcpToolkitExtNames.viewDetails,
  mcpToolkitExtNames.viewScreenshots,
  mcpToolkitExtNames.inspectWidgetAtPoint,
  mcpToolkitExtNames.registerDynamics,
  mcpToolkitExtNames.semanticSnapshot,
  mcpToolkitExtNames.tapWidget,
  mcpToolkitExtNames.enterText,
  mcpToolkitExtNames.scroll,
  mcpToolkitExtNames.longPress,
  mcpToolkitExtNames.swipe,
  mcpToolkitExtNames.drag,
  mcpToolkitExtNames.getRecentLogs,
  mcpToolkitExtNames.waitFor,
  mcpToolkitExtNames.pressKey,
  mcpToolkitExtNames.handleDialog,
  mcpToolkitExtNames.navigate,
  mcpToolkitExtNames.hover,
};

const mcpToolkitExtNames = (
  appErrors: 'app_errors',
  viewDetails: 'view_details',
  viewScreenshots: 'view_screenshots',
  inspectWidgetAtPoint: 'inspect_widget_at_point',
  registerDynamics: 'registerDynamics',
  semanticSnapshot: 'semantic_snapshot',
  tapWidget: 'tap_widget',
  enterText: 'enter_text',
  scroll: 'scroll',
  longPress: 'long_press',
  swipe: 'swipe',
  drag: 'drag',
  getRecentLogs: 'get_recent_logs',
  waitFor: 'wait_for',
  pressKey: 'press_key',
  handleDialog: 'handle_dialog',
  navigate: 'navigate',
  hover: 'hover',
);
