export class AcpSession {
    sessionId;
    cwd;
    conn;
    clientCapabilities;
    messages = [];
    systemMessage;
    abortController = new AbortController();
    developmentMode;
    /** True while a prompt turn is being processed, to reject overlapping prompts. */
    turnActive = false;
    constructor(options) {
        this.sessionId = options.sessionId;
        this.cwd = options.cwd;
        this.conn = options.conn;
        this.clientCapabilities = options.clientCapabilities;
        this.developmentMode = options.initialMode ?? 'auto-accept';
    }
    cancel() {
        this.abortController.abort();
        // Create a fresh controller for potential subsequent prompts
        this.abortController = new AbortController();
    }
}
//# sourceMappingURL=acp-session.js.map