export { ProcessManager, RingBuffer } from './manager.js';
export type { ManagedProcess, ProcessManagerConfig } from './manager.js';
export { createProcessStartTool } from './start.js';
export { createProcessStatusTool } from './status.js';
export { createProcessOutputTool } from './output.js';
export { createProcessKillTool } from './kill.js';
export { createProcessListTool } from './list.js';

import type { Tool } from '../../types.js';
import type { ProcessManager } from './manager.js';
import { createProcessStartTool } from './start.js';
import { createProcessStatusTool } from './status.js';
import { createProcessOutputTool } from './output.js';
import { createProcessKillTool } from './kill.js';
import { createProcessListTool } from './list.js';

/** Create all process management tools bound to a ProcessManager instance. */
export function createProcessTools(manager: ProcessManager): Tool[] {
  return [
    createProcessStartTool(manager),
    createProcessStatusTool(manager),
    createProcessOutputTool(manager),
    createProcessKillTool(manager),
    createProcessListTool(manager),
  ];
}
