Class ThinkingStage
Represents a single stage (step) within a thinking block's reasoning timeline.
Inherited Members
Namespace: Syncfusion.Blazor.InteractiveChat
Assembly: Syncfusion.Blazor.InteractiveChat.dll
Syntax
public class ThinkingStage
Remarks
A thinking stage represents a discrete step or phase in the model's reasoning process. Each stage has a status (completed, in-progress, or failed), descriptive content, and can reference contextual metadata such as files, variables, tools, and results through inline placeholders.
Stages are rendered sequentially in a timeline within the parent ThinkingBlock, with visual indicators (icons, spinners, or checkmarks) reflecting their current status. Content within stages can contain markdown formatting and editable context references using placeholder notation (e.g., {0}, {1}).
Examples
Creating a thinking stage with inline context references:
var stage = new ThinkingStage
{
ID = "stage-001",
Status = ThinkingStageStatus.InProgress,
Content = "Searching {0} for relevant information...",
EditableContext = new List<ThinkingContextItem>
{
new ThinkingContextItem
{
Type = ThinkingContextType.Search,
Name = "Documentation",
Value = "search-results",
Badge = ThinkingContextBadge.None,
Clickable = true
}
}
};
Constructors
ThinkingStage()
Declaration
public ThinkingStage()
Properties
Content
Gets or sets the descriptive content displayed for this stage in the timeline.
Declaration
public string Content { get; set; }
Property Value
| Type | Description |
|---|---|
| string | A string containing the stage description. Supports inline context references using placeholder notation (e.g., {0}, {1}). The default value is Empty. |
Remarks
The content can contain plain text or markdown formatting. Context items from EditableContext are referenced using numeric placeholders matching their list index (e.g., {0} for the first item, {1} for the second).
Referenced context items are displayed as clickable or non-clickable inline elements depending on the Clickable property.
EditableContext
Gets or sets the collection of contextual metadata items referenced within this stage's content.
Declaration
public List<ThinkingContextItem> EditableContext { get; set; }
Property Value
| Type | Description |
|---|---|
| List<ThinkingContextItem> | A List<T> of ThinkingContextItem objects. The default value is an empty collection. |
Remarks
These context items are referenced inline within the Content string using numeric placeholders (e.g., {0}, {1}, {2}).
Each context item can represent files, variables, search queries, tool invocations, results, or generic context with associated type, badge, and interactivity settings.
When users click on clickable context items, the EditableContextClicked event is triggered with the clicked item's details.
ID
Gets or sets the unique identifier for this thinking stage.
Declaration
public string ID { get; set; }
Property Value
| Type | Description |
|---|---|
| string | A string representing a unique identifier for the stage. The default value is Empty. |
Remarks
The ID is used to uniquely identify this stage within its parent thinking block, enabling programmatic access and event tracking.
IconCss
Gets or sets the CSS icon class that overrides the default status-based icon.
Declaration
public string IconCss { get; set; }
Property Value
| Type | Description |
|---|---|
| string | A string representing a CSS class for a custom icon. The default value is Empty. |
Remarks
When specified, this custom icon CSS class overrides the default icon determined by the Status property. Use Syncfusion icon CSS classes (e.g., "e-icons e-check", "e-icons e-warning") or custom icon classes.
If empty, the UI displays the default icon based on the current status.
Status
Gets or sets the execution status of this thinking stage.
Declaration
public ThinkingStageStatus Status { get; set; }
Property Value
| Type | Description |
|---|---|
| ThinkingStageStatus | A ThinkingStageStatus indicating the current status. The default value is Completed. |
Remarks
The status determines the visual representation of the stage in the UI:
- Completed - Displays a checkmark icon, indicating successful completion.
- InProgress - Displays an animated spinner, indicating active processing.
- Failed - Displays an error icon, indicating failure or error condition.