/**
 * Claude Agent SDK wrapper
 *
 * Uses @anthropic-ai/claude-agent-sdk for native TypeScript integration
 * instead of spawning CLI processes.
 */
import { hasActiveProcess, interruptCurrentProcess, } from './query-manager.js';
import { executeClaudeQuery } from './executor.js';
// Re-export query management functions
export { generateQueryId, hasActiveProcess, isQueryActive, getActiveQueryCount, interruptQuery, interruptAllQueries, interruptCurrentProcess, } from './query-manager.js';
/**
 * Execute a Claude query using the Agent SDK.
 * Supports concurrent execution with query ID tracking.
 */
export async function executeClaudeCli(prompt, options) {
    return executeClaudeQuery(prompt, options);
}
/**
 * ClaudeProcess class wrapping the SDK query function.
 * Wraps the SDK query function.
 */
export class ClaudeProcess {
    options;
    currentSessionId;
    constructor(options) {
        this.options = options;
    }
    /** Execute a prompt */
    async execute(prompt) {
        const result = await executeClaudeCli(prompt, this.options);
        this.currentSessionId = result.sessionId;
        return result;
    }
    /** Interrupt the running query */
    kill() {
        interruptCurrentProcess();
    }
    /** Check if a query is running */
    isRunning() {
        return hasActiveProcess();
    }
    /** Get session ID */
    getSessionId() {
        return this.currentSessionId;
    }
}
//# sourceMappingURL=process.js.map