"use strict";
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.CapturingToken = void 0;
/**
 * A token that can be used to capture and group related requests together.
 */
class CapturingToken {
    constructor(
    /**
     * A label to display for the parent tree element.
     */
    label, 
    /**
     * An optional icon to display alongside the label.
     */
    icon, 
    /**
     * Optional pre-assigned subAgentInvocationId as session id for trajectory tracking.
     * When set, the trajectory will use this ID instead of generating a new one,
     * enabling explicit linking between parent tool calls and subagent trajectories.
     */
    subAgentInvocationId, 
    /**
     * Optional name of the subagent being invoked.
     * Used alongside subAgentInvocationId to identify the subagent in trajectory tracking.
     */
    subAgentName, 
    /**
     * Optional VS Code chat session ID for trajectory tracking.
     * When set, this ID is used directly as the trajectory session ID for the main chat,
     * providing a 1:1 mapping between chat sessions and trajectories.
     */
    chatSessionId, 
    /**
     * Optional parent chat session ID for debug log grouping.
     * When set, logs from this invocation are written as a child of
     * the parent session's directory instead of creating a top-level log file.
     */
    parentChatSessionId, 
    /**
     * Optional label for debug log child sessions (e.g., 'title', 'categorization').
     * Used to name the child log file within the parent session's directory.
     */
    debugLogLabel) {
        this.label = label;
        this.icon = icon;
        this.subAgentInvocationId = subAgentInvocationId;
        this.subAgentName = subAgentName;
        this.chatSessionId = chatSessionId;
        this.parentChatSessionId = parentChatSessionId;
        this.debugLogLabel = debugLogLabel;
    }
}
exports.CapturingToken = CapturingToken;
//# sourceMappingURL=capturingToken.js.map