5 types derived from ContentBlock
Microsoft.AspNetCore.Components.AI (5)
Blocks\ActivityContentBlock.cs (1)
11public class ActivityContentBlock : ContentBlock
Blocks\FunctionApprovalBlock.cs (1)
19public class FunctionApprovalBlock : ContentBlock, IInteractiveBlock
Blocks\FunctionInvocationContentBlock.cs (1)
24public class FunctionInvocationContentBlock : ContentBlock
Blocks\RichContentBlock.cs (1)
11public class RichContentBlock : ContentBlock
Blocks\UIActionBlock.cs (1)
23public class UIActionBlock : ContentBlock, IInteractiveBlock
52 references to ContentBlock
Microsoft.AspNetCore.Components.AI (52)
Blocks\BlockLifecycleState.cs (1)
7/// Describes where a <see cref="ContentBlock"/> is in its streaming lifecycle.
Blocks\ContentBlockChangedSubscription.cs (3)
7/// Represents a subscription to <see cref="ContentBlock.OnChanged(Action)"/>. 12private readonly ContentBlock _owner; 15internal ContentBlockChangedSubscription(ContentBlock owner, Action callback)
Blocks\FunctionApprovalBlock.cs (2)
26ContentBlock innerBlock, 37public ContentBlock InnerBlock { get; }
Components\BlockContainer.cs (2)
9private readonly ContentBlock _block; 13internal BlockContainer(ContentBlock block, MessageListContext listContext, Action requestRender)
Components\BlockRenderer.cs (1)
20public class BlockRenderer<TBlock> : IComponent, IDisposable where TBlock : ContentBlock
Components\BlockRendererRegistration.cs (2)
10public Func<ContentBlock, bool>? When { get; init; } 12public required Func<ContentBlock, RenderFragment> Render { get; init; }
Components\ConversationTurnRenderer.cs (3)
35foreach (var block in turn.RequestBlocks) 39foreach (var block in turn.ResponseBlocks) 45private void OnBlockAdded(ContentBlock block)
Components\MessageListContext.cs (1)
29public RenderFragment RenderBlock(ContentBlock block)
Engine\AgentContext.cs (6)
26private readonly List<Action<ConversationTurn, ContentBlock>> _blockAddedCallbacks = new(); 111foreach (var block in blocks) 198public IDisposable RegisterOnBlockAdded(Action<ConversationTurn, ContentBlock> callback) 202return new CallbackRegistration<Action<ConversationTurn, ContentBlock>>(_blockAddedCallbacks, callback); 241await foreach (var block in _agent.SendMessagesAsync(currentMessages, cancellationToken) 346private void NotifyBlockAdded(ConversationTurn turn, ContentBlock block)
Engine\ConversationTurn.cs (6)
12private readonly List<ContentBlock> _requestBlocks = new(); 13private readonly List<ContentBlock> _responseBlocks = new(); 23public IReadOnlyList<ContentBlock> RequestBlocks => _requestBlocks; 28public IReadOnlyList<ContentBlock> ResponseBlocks => _responseBlocks; 30internal void AddRequestBlock(ContentBlock block) 35internal void AddResponseBlock(ContentBlock block)
Engine\UIAgent.cs (12)
104/// they are created; a block keeps changing (raising <see cref="ContentBlock.OnChanged(Action)"/>) 110public async IAsyncEnumerable<ContentBlock> SendMessageAsync( 116await foreach (var block in SendMessagesAsync([message], cancellationToken).ConfigureAwait(false)) 122internal async IAsyncEnumerable<ContentBlock> SendMessagesAsync( 145await foreach (var block in pipeline.Process(userUpdate, cancellationToken).ConfigureAwait(false)) 151foreach (var block in pipeline.Finalize()) 185await foreach (var block in pipeline.Process(processUpdate, cancellationToken).ConfigureAwait(false)) 193foreach (var block in pipeline.Finalize()) 233public async Task<IReadOnlyList<ContentBlock>> RestoreAsync( 246var blocks = new List<ContentBlock>(); 266await foreach (var block in pipeline.Process(update, cancellationToken).ConfigureAwait(false)) 284await foreach (var block in pipeline.Process(processUpdate, cancellationToken).ConfigureAwait(false))
Pipeline\BlockMappingContext.cs (1)
80public ContentBlock? CreateInnerBlock(AIContent content)
Pipeline\BlockMappingPipeline.cs (5)
51internal async IAsyncEnumerable<ContentBlock> Process( 114var emitBlock = activeEntry.Block; 160internal IReadOnlyList<ContentBlock> Finalize() 171return Array.Empty<ContentBlock>(); 174private static void ThrowIfIdMissing(ContentBlock block)
Pipeline\BlockMappingResult.cs (3)
16internal ContentBlock? Block { get; } 20private BlockMappingResult(ResultKind kind, ContentBlock? block, TState? state) 39public static BlockMappingResult<TState> Emit(ContentBlock block, TState state)
Pipeline\FunctionApprovalHandler.cs (1)
27var innerBlock = context.CreateInnerBlock(approvalRequest.ToolCall)
Pipeline\HandlerEntry.cs (2)
35ContentBlock block) 42public ContentBlock Block { get; }
Pipeline\IActiveEntry.cs (1)
8ContentBlock Block { get; }