export { PhasedToolExecutor } from './phased-executor.js';
export * from './phases/index.js';
import { PhasedToolExecutor } from './phased-executor.js';
/** Default executor configuration. */
const DEFAULTS = {
    enableHooks: true,
    enablePermissions: true,
    enableEvents: true,
};
/**
 * createPhasedExecutor — factory with sane defaults.
 *
 * Merges the provided partial config over the defaults so callers only
 * need to specify what they want to change.
 *
 * @param config - Optional overrides for ExecutorConfig.
 * @returns A fully configured PhasedToolExecutor instance.
 */
export function createPhasedExecutor(config) {
    const enableBudgetEnforcement = config?.enableBudgetEnforcement
        ?? config?.featureFlags?.isEnabled('runtime-tools-budget-enforcement')
        ?? false;
    return new PhasedToolExecutor({ ...DEFAULTS, ...config, enableBudgetEnforcement });
}
