/**
 * Artisan subcommands the `artisan` tool is willing to run.
 * Anything not on this list is rejected — the agent must not pass arbitrary
 * artisan commands (e.g. `tinker` interactive, `db:wipe` without confirm, etc.).
 *
 * Destructive commands additionally require `confirm: true` in the tool call.
 */
export const ARTISAN_ALLOWED = [
    'make:controller',
    'make:model',
    'make:migration',
    'make:seeder',
    'make:factory',
    'make:request',
    'make:resource',
    'make:middleware',
    'make:job',
    'make:event',
    'make:listener',
    'make:mail',
    'make:notification',
    'make:policy',
    'make:command',
    'make:test',
    'migrate',
    'migrate:rollback',
    'migrate:status',
    'migrate:fresh',
    'migrate:refresh',
    'migrate:reset',
    'db:seed',
    'db:wipe',
    'route:list',
    'config:clear',
    'config:cache',
    'cache:clear',
    'view:clear',
    'route:clear',
    'optimize:clear',
    'queue:work',
    'queue:listen',
    'queue:failed',
    'queue:retry',
    'queue:batches',
    'queue:clear',
    'reverb:start',
    'storage:link',
    'key:generate',
    'about',
    'list',
];
/** Commands that mutate/destroy data and therefore require confirm: true. */
export const ARTISAN_DESTRUCTIVE = new Set([
    'migrate:fresh',
    'migrate:refresh',
    'migrate:reset',
    'db:wipe',
    'queue:clear',
]);
/** Long-running commands tracked via processManager instead of runCommand. */
export const ARTISAN_BACKGROUND = new Set(['queue:work', 'queue:listen', 'reverb:start']);
export function isAllowedArtisanCommand(command) {
    return ARTISAN_ALLOWED.includes(command);
}
//# sourceMappingURL=artisanAllowList.js.map