Skip to content
ConsoleMonster

PowerShell and C# API parity

The shared parameter and fluent vocabulary, including every C# host-only member decision.

I use the same domain names for cmdlet parameters, C# configuration and fluent calls. PowerShell keeps numeric duration parameters with units and default-off switches; C# keeps TimeSpan values and Boolean properties.

The contract covers 101 commands, 1067 parameters and 295 reachable public types. The metadata gate checks names, types, sets, positions, defaults, nullability and member paths. Rendering and triplet tests check behavior.

Table and List remain named shortcuts to Show-Console’s shared view implementation. Read-* returns answers; New-ConsoleForm/Menu defines a question workflow; Show-ConsoleApp runs a persistent reactive application.

Typed Options on export, form, menu and replay operations expose the corresponding C# configuration. I can pass a PowerShell hashtable, for example Export-ConsoleFrame -Format Html -Options @{ Width = 100; Padding = 8 }. Options and individual settings are mutually exclusive; the supplied request is not modified.

Callback properties use .Configure(item => item.Action = …). C# invokes a delegate-valued property before considering an extension with that name; Configure assigns the callback without invoking it.

Fluent construction and nesting

Ui is the fluent entry point: New-ConsolePanel becomes Ui.Panel(), named settings stay in the chain, and nested Content uses c.Panel(panel => …). Initializers retain constructors. Factories accept no positional configuration; the recorded primary inputs below are the only exceptions. Chart, Progress and kind-selected inputs materialize their existing typed options through the shared Build operation.

PowerShell constructorFluent entryNested builder
New-ConsoleActivityListUi.ActivityList()c.ActivityList(widget => …)
New-ConsoleAlignUi.Align()c.Align(widget => …)
New-ConsoleBindingUi.Binding()c.Binding(widget => …)
New-ConsoleButtonUi.Button()c.Button(widget => …)
New-ConsoleCalendarUi.Calendar()c.Calendar(widget => …)
New-ConsoleCellMapUi.CellMap()c.CellMap(widget => …)
New-ConsoleChartUi.Chart()c.Chart(widget => …)
New-ConsoleColumnFormatUi.ColumnFormat()Definition, not display content
New-ConsoleColumnsUi.Columns()c.Columns(widget => …)
New-ConsoleCommandUi.Command()Definition, not display content
New-ConsoleDashboardUi.Dashboard()c.Dashboard(widget => …)
New-ConsoleFlowUi.Flow()c.Flow(widget => …)
New-ConsoleFooterBarUi.FooterBar()c.FooterBar(widget => …)
New-ConsoleFormUi.Form()Definition, not display content
New-ConsoleHeaderBarUi.HeaderBar()c.HeaderBar(widget => …)
New-ConsoleKeyValueUi.KeyValue()c.KeyValue(widget => …)
New-ConsoleLanesUi.Lanes()c.Lanes(widget => …)
New-ConsoleLayoutGridUi.LayoutGrid()c.LayoutGrid(widget => …)
New-ConsoleLogRegionUi.LogRegion()c.LogRegion(widget => …)
New-ConsoleLogoUi.Logo()c.Logo(widget => …)
New-ConsoleMenuUi.Menu()Definition, not display content
New-ConsoleMenuItemUi.MenuItem()Definition, not display content
New-ConsoleMenuRunResultUi.MenuRunResult()Definition, not display content
New-ConsolePaddingUi.Padding()c.Padding(widget => …)
New-ConsolePanelUi.Panel()c.Panel(widget => …)
New-ConsolePhasesUi.Phases()c.Phases(widget => …)
New-ConsoleProgressUi.Progress()c.Progress(widget => …)
New-ConsoleRegionUi.Region()c.Region(widget => …)
New-ConsoleRowsUi.Rows()c.Rows(widget => …)
New-ConsoleRuleUi.Rule()c.Rule(widget => …)
New-ConsoleScrollViewUi.ScrollView()c.ScrollView(widget => …)
New-ConsoleSelectUi.Select()c.Select(widget => …)
New-ConsoleStackUi.Stack()c.Stack(widget => …)
New-ConsoleStatusListUi.StatusList()c.StatusList(widget => …)
New-ConsoleSummaryBarUi.SummaryBar()c.SummaryBar(widget => …)
New-ConsoleTableUi.Table()c.Table(widget => …)
New-ConsoleTextUi.Text()c.Text(widget => …)
New-ConsoleTextInputUi.TextInput()c.TextInput(widget => …)
New-ConsoleToggleUi.Toggle()c.Toggle(widget => …)
New-ConsoleTreeUi.Tree()c.Tree(widget => …)
Primary fluent inputPowerShell inputReason
Ui.ActivityList(widgetId)New-ConsoleActivityList -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.CellMap(widgetId)New-ConsoleCellMap -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.KeyValue(widgetId)New-ConsoleKeyValue -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.Lanes(widgetId)New-ConsoleLanes -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.LogRegion(widgetId)New-ConsoleLogRegion -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.Phases(widgetId)New-ConsolePhases -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.SummaryBar(widgetId)New-ConsoleSummaryBar -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.Region(widgetId)New-ConsoleRegion -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.Dashboard(widgetId)New-ConsoleDashboard -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.StatusList(widgetId)New-ConsoleStatusList -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.Flow(widgetId)New-ConsoleFlow -WidgetIdThe primary live identity is positional in both surfaces; it is fixed before session registration.
Ui.Table(items)New-ConsoleTable -InputObjectA single typed row sequence is the primary table input.
Ui.Text(text)New-ConsoleText -TextLiteral text is the primary input; brackets stay literal.
Ui.Rule(title)New-ConsoleRule -TitleThe rule title is the primary separator input.

Parameter-set mappings

A structural parameter set can select a different request model. The metadata gate checks these mappings separately and includes both update requests in its public-member coverage.

Command and parameterSetC# memberConversion
Update-Console -DetailRunConsoleMonster.Live.RunUpdate.DetailIdentity
Update-Console -IndexRunConsoleMonster.Live.RunUpdate.IndexRun requires exactly one index; the cmdlet rejects zero or several elements before using the sole scalar position.
Update-Console -LabelRunConsoleMonster.Live.RunUpdate.LabelIdentity
Update-Console -StatusRunConsoleMonster.Live.RunUpdate.StatusIdentity

Individual member decisions

Native host hooks, runtime models and equivalent representations are listed individually. These decisions do not exempt a namespace or hide newly added options.

C# memberDisposition and reasonPowerShell route or alternative
ConsoleMonster.Changes.ChangePreviewOptions.InteractiveCSharpOnly: The PowerShell adapter supplies its own prompt devices and runspace; C# embedding hosts can provide different devices.Show-ConsoleChanges uses the owning PowerShell host for confirmation.
ConsoleMonster.Changes.ChangeView.LongValueCSharpOnly: PowerShell uses a fixed preview truncation policy; this controls embedded change-view value cells.Choose Show-ConsoleChanges -View; direct ChangeView instances remain configurable in C#.
ConsoleMonster.Changes.ChangeView.MaxPropertiesCSharpOnly: PowerShell selects its property projection before rendering; this caps properties inside a custom embedded ChangeView.Choose Show-ConsoleChanges -View; direct ChangeView instances remain configurable in C#.
ConsoleMonster.Changes.ChangeView.MoreHintCSharpOnly: The PowerShell adapter generates its own command hint; an embedding host supplies its own navigation wording.Choose Show-ConsoleChanges -View; direct ChangeView instances remain configurable in C#.
ConsoleMonster.Changes.DiffOptions.KeySelectorCSharpOnly: A typed key delegate supports custom/AOT C# models; PowerShell adapts named key properties.Use Compare-ConsoleObject property selectors and its bounded inspection defaults.
ConsoleMonster.Changes.DiffOptions.SourcesCSharpOnly: Native member-source implementations support reflection-free C# inspection; PowerShell supplies its PSObject member source.Use Compare-ConsoleObject property selectors and its bounded inspection defaults.
ConsoleMonster.Changes.DiffOptions.TimeBudgetCSharpOnly: PowerShell comparisons use a fixed bounded inspection budget; C# hosts with known member sources can choose a different budget.Use Compare-ConsoleObject property selectors and its bounded inspection defaults.
ConsoleMonster.Changes.DiffOptions.UnwrapCSharpOnly: Custom C# wrappers need a native unwrapping delegate; PowerShell unwraps PSObject through its canonical adapter.Use Compare-ConsoleObject property selectors and its bounded inspection defaults.
ConsoleMonster.Data.InspectorOptions.IdentityCSharpOnly: PowerShell owns cycle identity for wrapped objects; this delegate defines identity for custom C# graph nodes.Use Show-ConsoleObject -Include/-Exclude/-Depth/-MaxItems/-MaxNodes and PowerShell property projection.
ConsoleMonster.Data.InspectorOptions.MaxColumnsCSharpOnly: The PowerShell inspector selects its own property projection; C# member-source hosts can cap discovered columns separately.Use Show-ConsoleObject -Include/-Exclude/-Depth/-MaxItems/-MaxNodes and PowerShell property projection.
ConsoleMonster.Data.InspectorOptions.OrderCSharpOnly: PowerShell preserves its member/property ordering; a C# custom member source can provide an independent order.Use Show-ConsoleObject -Include/-Exclude/-Depth/-MaxItems/-MaxNodes and PowerShell property projection.
ConsoleMonster.Data.InspectorOptions.SourcesCSharpOnly: Member-source implementations are the C# extension point; PowerShell supplies its native member adapter.Use Show-ConsoleObject -Include/-Exclude/-Depth/-MaxItems/-MaxNodes and PowerShell property projection.
ConsoleMonster.Data.InspectorOptions.TimeBudgetCSharpOnly: The interactive PowerShell inspector retains a bounded host inspection budget; custom C# member sources can use a different budget.Use Show-ConsoleObject -Include/-Exclude/-Depth/-MaxItems/-MaxNodes and PowerShell property projection.
ConsoleMonster.Data.InspectorOptions.UnwrapCSharpOnly: PowerShell owns PSObject unwrapping; this delegate adapts wrappers supplied by C# embedding hosts.Use Show-ConsoleObject -Include/-Exclude/-Depth/-MaxItems/-MaxNodes and PowerShell property projection.
ConsoleMonster.Data.InspectorOptions.UseReflectionCSharpOnly: PowerShell uses its adapter rather than C# reflection; C# AOT hosts can explicitly disable reflection.Use Show-ConsoleObject -Include/-Exclude/-Depth/-MaxItems/-MaxNodes and PowerShell property projection.
ConsoleMonster.Demos.DemoOptions.OutputCSharpOnly: A native output callback belongs to the C# presenter host; the cmdlet routes child output through PowerShell streams.Show/Invoke-ConsolePresentation streams through the owning PowerShell host.
ConsoleMonster.Help.CommandLineHelp.CommandsRuntimeModel: PowerShell reads Commands from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.CommandLineHelp.UsageRuntimeModel: PowerShell reads Usage from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.CommandLineHelp.ValuesRuntimeModel: PowerShell reads Values from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.CommandLineHelp.ValuesHeadingRuntimeModel: PowerShell reads ValuesHeading from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpExample.RemarksRuntimeModel: PowerShell reads Remarks from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpParameter.AliasesRuntimeModel: PowerShell reads Aliases from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpParameter.DefaultRuntimeModel: PowerShell reads Default from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpParameter.DescriptionRuntimeModel: PowerShell reads Description from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpParameter.NamedRuntimeModel: PowerShell reads Named from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpParameter.PipelineRuntimeModel: PowerShell reads Pipeline from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpParameter.PositionRuntimeModel: PowerShell reads Position from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpParameter.RequiredRuntimeModel: PowerShell reads Required from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpParameter.TypeRuntimeModel: PowerShell reads Type from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpSyntax.CommonParametersRuntimeModel: PowerShell reads CommonParameters from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpSyntax.ParametersRuntimeModel: PowerShell reads Parameters from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpSyntax.SetNameRuntimeModel: PowerShell reads SetName from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpSyntaxParameter.NamedRuntimeModel: PowerShell reads Named from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpSyntaxParameter.PositionalRuntimeModel: PowerShell reads Positional from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpSyntaxParameter.RequiredRuntimeModel: PowerShell reads Required from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpSyntaxParameter.TypeRuntimeModel: PowerShell reads Type from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.CommandLineRuntimeModel: PowerShell reads CommandLine from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.CommonParametersRuntimeModel: PowerShell reads CommonParameters from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.DescriptionRuntimeModel: PowerShell reads Description from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.ExamplesRuntimeModel: PowerShell reads Examples from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.InputsRuntimeModel: PowerShell reads Inputs from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.LinksRuntimeModel: PowerShell reads Links from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.NotesRuntimeModel: PowerShell reads Notes from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.NoticeRuntimeModel: PowerShell reads Notice from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.OutputsRuntimeModel: PowerShell reads Outputs from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.ParametersRuntimeModel: PowerShell reads Parameters from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.SynopsisRuntimeModel: PowerShell reads Synopsis from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpTopic.SyntaxRuntimeModel: PowerShell reads Syntax from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Help.HelpValue.NoteRuntimeModel: PowerShell reads Note from native Get-Help/command metadata; C# application hosts construct their own help model.Show-ConsoleHelp reads the actual native command/help topic.
ConsoleMonster.Interactive.ConsoleAppOptions.ProcessEventsCSharpOnly: Show-ConsoleApp reserves this owning-thread hook for draining its registered callbacks; replacing it would detach the PowerShell callback lifecycle.Use New-ConsoleBinding and the inputs’ OnChange/OnClick script blocks.
ConsoleMonster.Interactive.InteractiveOptions.ActionClockCSharpOnly: Action workers sample this thread-safe native clock delegate; a PowerShell script block cannot run on that worker without its owning runspace. Null keeps real elapsed time.Normal grid/app commands use real elapsed time. Embedding hosts and external capture recipes can supply SimulatedClock.Read through shared InteractiveOptions.
ConsoleMonster.Interactive.InteractiveOptions.DefaultCSharpOnly: This static process-wide default belongs to an embedding host; PowerShell resolves interaction per owning runspace.Use per-command -Mode or typed operation options.
ConsoleMonster.Interactive.MenuItem.ActionAsyncCSharpOnly: A native asynchronous delegate may resume outside the owning PowerShell runspace; the cmdlet exposes a synchronous script-block adapter.Use -Action for owning-runspace script execution or a compiled C# callback.
ConsoleMonster.Interactive.MenuRunResult.ErrorCSharpOnly: A native Exception retains the C# action failure/stack; the PowerShell adapter owns ErrorRecord handling and reports displayable failure details.Use -Status Fail and -Summary/-Detail/-Transcript for a PowerShell result.
ConsoleMonster.Interactive.PromptLabels.DefaultCSharpOnly: This static label catalogue is host-wide localization state; PowerShell resolves labels from the active language.Use the terminal language/profile and normal per-command question text.
ConsoleMonster.Interactive.SecretPrompt.AllowRevealCSharpOnly: Changing whether a secret can be revealed is a C# embedding-host policy; the PowerShell secret question retains its secure default.Read-ConsoleText -AsSecret keeps the masked secret entry policy.
ConsoleMonster.Interactive.TypedConfirmPrompt.CaseSensitiveCSharpOnly: A custom case-sensitive confirmation belongs to a C# host; the shell uses the conventional case-insensitive name comparison.Read-ConsoleConfirm -TypedConfirmation uses the default case-insensitive comparison.
ConsoleMonster.Live.LiveEvent.PayloadCSharpOnly: This in-process object is deliberately absent from the recording wire protocol; PowerShell uses validated widget updates rather than exposing an unrecordable raw payload.Use Update-Console structured changes; custom C# ILiveTarget implementations may consume native payloads.
ConsoleMonster.Live.LiveRunOptions.ClockCSharpOnly: A native monotonic clock delegate belongs to the C# run host; a PowerShell script block cannot safely serve the background run clock.Use the normal live clock or New-ConsoleSimulatedClock with a dashboard fixture.
ConsoleMonster.Live.RunOptions.PrintCSharpOnly: The cmdlet owns the owning-thread stream relay; a C# embedding host supplies its own native printer.Use Invoke-ConsoleRun -NoLive and normal PowerShell streams.
ConsoleMonster.Live.RunOptions.SessionCSharpOnly: Invoke-ConsoleRun owns its worker/output session; caller-managed sessions use Start-ConsoleRun or Invoke-ConsoleDashboard.Use Invoke-ConsoleRun -NoLive and normal PowerShell streams.
ConsoleMonster.Live.Tails.LogTailOptions.HandleCancelKeyCSharpOnly: PowerShell owns Ctrl+C and pipeline cancellation; C# hosts can choose their own terminal-guard policy.Watch-ConsoleLog owns its input lease and PowerShell output relay.
ConsoleMonster.Live.Tails.LogTailOptions.InputCSharpOnly: The cmdlet owns terminal input/cancellation; a C# embedding host can inject another input device.Watch-ConsoleLog owns its input lease and PowerShell output relay.
ConsoleMonster.Live.Tails.LogTailOptions.ModeCSharpOnly: The PowerShell log follower chooses its supported live layout; C# hosts can embed a tail in another layout.Watch-ConsoleLog owns its input lease and PowerShell output relay.
ConsoleMonster.Live.Tails.LogTailOptions.OutputCSharpOnly: A raw live output implementation belongs to the embedding host; replacing the PowerShell relay would violate stream ownership.Watch-ConsoleLog owns its input lease and PowerShell output relay.
ConsoleMonster.Live.Tails.LogTailOptions.ProfileCSharpOnly: The PowerShell host supplies terminal capabilities; a C# embedding host can provide its own profile.Watch-ConsoleLog owns its input lease and PowerShell output relay.
ConsoleMonster.Live.Tails.LogTailOptions.ThemeCSharpOnly: PowerShell uses Set-ConsoleTheme; a C# embedding host can supply an ITheme instance.Watch-ConsoleLog owns its input lease and PowerShell output relay.
ConsoleMonster.Live.Tails.LogTailOptions.WriteLineCSharpOnly: A C# host printer can write directly; the cmdlet must emit on the owning pipeline thread.Watch-ConsoleLog owns its input lease and PowerShell output relay.
ConsoleMonster.Live.WatchOptions.DelayCSharpOnly: A native scheduler/deterministic test delay is a C# host hook; the PowerShell cmdlet uses cancellable session timing.Use Watch-Console -PollIntervalSeconds/-Count and its PowerShell output route.
ConsoleMonster.Live.WatchOptions.PrintCSharpOnly: The cmdlet owns native stream delivery; a C# embedding host may supply its own printer.Use Watch-Console -PollIntervalSeconds/-Count and its PowerShell output route.
ConsoleMonster.Output.RecordingTarget.CheckpointsCSharpOnly: The fixture driver receives captured checkpoint notifications; normal scripts use Wait-ConsoleDashboard.Use Export-ConsoleFrame or Invoke-ConsoleRecording; deterministic fixture drivers own recording targets.
ConsoleMonster.Output.RecordingTarget.SkipDelaysCSharpOnly: Only a fixture driver may replace real waits with capture checkpoints; this is not a demo/script parameter.Use Export-ConsoleFrame or Invoke-ConsoleRecording; deterministic fixture drivers own recording targets.
ConsoleMonster.Output.RecordingTarget.ThemeCSharpOnly: RecordingTarget is a C# capture device; cmdlets select export/session themes through their normal configuration.Use Export-ConsoleFrame or Invoke-ConsoleRecording; deterministic fixture drivers own recording targets.
ConsoleMonster.Overview.OverviewOptions.ProbeTimeoutCSharpOnly: Per-provider cooperative timeout policy belongs to the C# overview host; PowerShell exposes the caller collection budget.Use Show-ConsoleOverview -BudgetMilliseconds to bound the whole collection.
ConsoleMonster.Sessions.SessionRecordingOptions.ArgumentsCSharpOnly: The PowerShell recording adapter constructs safe child-shell arguments from the script; C# hosts can launch a different approved child command.Use the child script or the presenter’s explicit shell/working-directory setup.
ConsoleMonster.Sessions.SessionRecordingOptions.EnvironmentCSharpOnly: The cmdlet preserves its documented isolated child environment; C# hosts may construct a separate per-child environment map.Use the child script or the presenter’s explicit shell/working-directory setup.
ConsoleMonster.Sessions.SessionRecordingOptions.WorkingDirectoryCSharpOnly: PowerShell resolves script/provider paths before recording; C# hosts can specify the native child process working directory.Use the child script or the presenter’s explicit shell/working-directory setup.
ConsoleMonster.Terminal.CapabilityProviderCSharpOnly: A native detector is an embedding/AOT host dependency; PowerShell uses its installed terminal detector.Use Get-ConsoleCapability, Set-ConsoleTheme and Use-ConsoleTarget for script-scoped behavior.
ConsoleMonster.Terminal.DefaultTargetCSharpOnly: This static fallback target belongs to a host; scripts use scoped Use-ConsoleTarget so disposal and restoration remain owned.Use Get-ConsoleCapability, Set-ConsoleTheme and Use-ConsoleTarget for script-scoped behavior.
ConsoleMonster.Terminal.ProfileCSharpOnly: This static process-wide override belongs to the embedding host; PowerShell resolves capabilities for its actual host.Use Get-ConsoleCapability, Set-ConsoleTheme and Use-ConsoleTarget for script-scoped behavior.
ConsoleMonster.Terminal.StreamingRowThresholdCSharpOnly: This process-wide memory/streaming policy belongs to a C# embedding host; scripts can bound displayed data with MaxRows.Use Get-ConsoleCapability, Set-ConsoleTheme and Use-ConsoleTarget for script-scoped behavior.
ConsoleMonster.Terminal.ThemeCSharpOnly: The static default belongs to the embedding host; PowerShell changes themes through Set-ConsoleTheme with its native-color restoration lifecycle.Use Get-ConsoleCapability, Set-ConsoleTheme and Use-ConsoleTarget for script-scoped behavior.
ConsoleMonster.TestRuns.TestRunSummary.MaxFailuresCSharpOnly: Controls failure density in a custom embedded test summary; the PowerShell adapter selects its supported summary layout.Invoke-ConsolePester owns its consistent final summary; custom C# test hosts can compose a summary widget.
ConsoleMonster.TestRuns.TestRunSummary.ShowFailuresCSharpOnly: Controls a custom summary’s failure section; the PowerShell adapter preserves its standard result summary.Invoke-ConsolePester owns its consistent final summary; custom C# test hosts can compose a summary widget.
ConsoleMonster.TestRuns.TestRunView.CompactCSharpOnly: Selects a custom embedded test view density; the PowerShell adapter chooses density from available terminal space.Invoke-ConsolePester owns its live layout; custom C# test hosts may compose their own.
ConsoleMonster.TestRuns.TestRunView.CompactFailuresCSharpOnly: Selects the compact failure list for a C# embedded test view; the PowerShell adapter chooses it responsively.Invoke-ConsolePester owns its live layout; custom C# test hosts may compose their own.
ConsoleMonster.TestRuns.TestRunView.CompactFilesCSharpOnly: Selects the compact file list for a C# embedded test view; the PowerShell adapter chooses it responsively.Invoke-ConsolePester owns its live layout; custom C# test hosts may compose their own.
ConsoleMonster.TestRuns.TestRunView.TitleCSharpOnly: The C# test host names its embedded live view; the PowerShell adapter names the containing dashboard with Title.Invoke-ConsolePester owns its live layout; custom C# test hosts may compose their own.
ConsoleMonster.Values.ShapeOptions.CollectionsCSharpOnly: The PowerShell adapter preserves native collection expansion; C# hosts can choose another shape policy.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.CultureCSharpOnly: PowerShell’s owning adapter resolves the command/runspace culture; C# shapers can supply a culture directly.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.IdentityCSharpOnly: PowerShell supplies wrapped-object identity; custom C# graphs may define their own identity.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.ItemLimitCSharpOnly: Bounds inline collection shaping for a custom C# host; PowerShell applies its canonical host projection limits.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.MaxFieldsCSharpOnly: Bounds fields from native C# member sources; PowerShell chooses fields through Property projection.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.MaxNodesCSharpOnly: Bounds custom C# shaping graphs; PowerShell uses the host’s bounded projection and explicit inspector limits.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.SeparatorCSharpOnly: Controls inline collection text in a custom C# shaper; PowerShell uses its standard collection presentation.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.SourcesCSharpOnly: Native member sources support custom/AOT C# models; PowerShell installs its own member source.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.TimeBudgetCSharpOnly: Bounds custom native member-source work; PowerShell retains its bounded owning-host shaping budget.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.TypeNamesCSharpOnly: PowerShell uses PSObject.TypeNames; native C# models may supply additional type names.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.UnwrapCSharpOnly: PowerShell owns wrapper unwrapping; this delegate is for native C# wrapper types.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Values.ShapeOptions.UseReflectionCSharpOnly: C# AOT hosts may disable reflection; PowerShell uses its own member adapter.PowerShell uses its canonical PSObject/member shaping and explicit Property/Culture selection.
ConsoleMonster.Views.ConsoleViewOptions.BasePathCSharpOnly: PowerShell supplies its current filesystem provider path for source diagnostics; C# hosts choose their own base path.Use Show-Console’s representation/property options or the public ConsoleHostViews adapter for C# PowerShell hosts.
ConsoleMonster.Views.ConsoleViewOptions.DetailsHintCSharpOnly: The PowerShell adapter generates the native Get-Error hint; C# hosts supply wording for their own error-detail route.Use Show-Console’s representation/property options or the public ConsoleHostViews adapter for C# PowerShell hosts.
ConsoleMonster.Views.ConsoleViewOptions.ProviderCSharpOnly: Native view providers are a C# extension point; cmdlets use the shared built-in and registered PowerShell view owners.Use Show-Console’s representation/property options or the public ConsoleHostViews adapter for C# PowerShell hosts.
ConsoleMonster.Views.ConsoleViewOptions.ShapeCSharpOnly: PowerShell owns PSObject shaping and runspace selectors; native C# hosts supply their own ShapeOptions.Use Show-Console’s representation/property options or the public ConsoleHostViews adapter for C# PowerShell hosts.
ConsoleMonster.Views.ConsoleViewOptions.SourcesCSharpOnly: Native member-source implementations are the AOT/C# extension point; cmdlets install the canonical PSObject source.Use Show-Console’s representation/property options or the public ConsoleHostViews adapter for C# PowerShell hosts.
ConsoleMonster.Widgets.Dashboard.CompactSummaryCSharpOnly: A C# embedding host may supply a separate compact widget; PowerShell uses the dashboard’s normal compact summary.Use New-ConsoleDashboard and the normal adaptive dashboard layout.
ConsoleMonster.Widgets.Dashboard.MinimumSizeCSharpOnly: Controls an embedded C# dashboard’s compact-mode threshold; the PowerShell host keeps its supported adaptive threshold.Use New-ConsoleDashboard and the normal adaptive dashboard layout.
ConsoleMonster.Widgets.ExceptionView.BasePathCSharpOnly: PowerShell supplies its current provider path for source links; C# hosts supply their own source root.Use Show-Console -View Error with its source/stack flags.
ConsoleMonster.Widgets.ExceptionView.DetailsHintCSharpOnly: PowerShell generates its own native Get-Error hint; C# embedding hosts supply another detail action.Use Show-Console -View Error with its source/stack flags.
ConsoleMonster.Widgets.Histogram.EdgeFormatCSharpOnly: This synchronous native formatter is called by the render thread; a PowerShell script block cannot safely run there.Use numeric bucket Edges and Unit; custom C# columns may format bucket labels.
ConsoleMonster.Widgets.InspectorView.PresentationCSharpOnly: A C# host can pin a static inspector’s clock/time zone; PowerShell uses the owning host’s current value presentation.Use Show-ConsoleObject’s standard inspector presentation.
ConsoleMonster.Widgets.InspectorView.ShowHeaderCSharpOnly: Controls a directly embedded static inspector; PowerShell chooses its header according to the inspector route.Use Show-ConsoleObject’s standard inspector presentation.
ConsoleMonster.Widgets.Lane.OrderRuntimeOwned: The Lanes collection assigns insertion order; PowerShell record order is pipeline order.Supply records in the required order to New-ConsoleLanes.
ConsoleMonster.Widgets.RecordView.IndentWidthCSharpOnly: C# embedded records can pin indentation; the PowerShell list view uses its standard two-cell nesting layout.Use Show-ConsoleList and its Property/Depth/ShowEmpty/Culture controls.
ConsoleMonster.Widgets.RecordView.MaxLabelFractionCSharpOnly: C# embedded records can pin the label/value ratio; the PowerShell list view keeps its adaptive label policy.Use Show-ConsoleList and its Property/Depth/ShowEmpty/Culture controls.
ConsoleMonster.Widgets.RecordView.PresentationCSharpOnly: A C# host can pin a record’s clock/time zone; PowerShell list values use their explicit Culture and owning-host context.Use Show-ConsoleList and its Property/Depth/ShowEmpty/Culture controls.
ConsoleMonster.Widgets.RecordView.SummaryCSharpOnly: A directly composed C# record header may include a separate summary; the PowerShell list view derives its record headings from the input.Use Show-ConsoleList and its Property/Depth/ShowEmpty/Culture controls.
ConsoleMonster.Widgets.RunView.MaxCellRowsCSharpOnly: Bounds cell-map geometry in a custom embedded run view; PowerShell selects its supported adaptive run layout.Invoke-ConsoleRun composes the adaptive run view; C# hosts may compose RunView directly.
ConsoleMonster.Widgets.RunView.MaxFailuresCSharpOnly: Bounds failure rows in a custom embedded run view; PowerShell selects its supported adaptive run layout.Invoke-ConsoleRun composes the adaptive run view; C# hosts may compose RunView directly.
ConsoleMonster.Widgets.RunView.MaxFailuresWhenDoneCSharpOnly: Bounds retained final failures in a custom C# run view; PowerShell uses its normal final summary.Invoke-ConsoleRun composes the adaptive run view; C# hosts may compose RunView directly.
ConsoleMonster.Widgets.RunView.MaxListWidthCSharpOnly: Bounds list geometry in a custom embedded run view; PowerShell sizes its view to the active terminal.Invoke-ConsoleRun composes the adaptive run view; C# hosts may compose RunView directly.
ConsoleMonster.Widgets.RunView.MaxRunningCSharpOnly: Bounds running rows in a custom embedded run view; PowerShell selects its supported adaptive run layout.Invoke-ConsoleRun composes the adaptive run view; C# hosts may compose RunView directly.
ConsoleMonster.Widgets.ShellPrompt.BranchRuntimeOwned: PowerShell supplies its cached Git branch; a C# shell host supplies its own repository state.Enable-ConsoleFormatting -Feature Prompt obtains this data from the owning PowerShell session.
ConsoleMonster.Widgets.ShellPrompt.DirtyRuntimeOwned: PowerShell supplies its cached Git worktree state; a C# shell host supplies its own state.Enable-ConsoleFormatting -Feature Prompt obtains this data from the owning PowerShell session.
ConsoleMonster.Widgets.ShellPrompt.DurationRuntimeOwned: PowerShell supplies the completed command duration; a C# shell host supplies its own clock result.Enable-ConsoleFormatting -Feature Prompt obtains this data from the owning PowerShell session.
ConsoleMonster.Widgets.ShellPrompt.HomeRuntimeOwned: PowerShell supplies its user home; a C# shell host supplies its own home for path shortening.Enable-ConsoleFormatting -Feature Prompt obtains this data from the owning PowerShell session.
ConsoleMonster.Widgets.ShellPrompt.PathRuntimeOwned: PowerShell supplies its current provider location; a C# shell host supplies its own path.Enable-ConsoleFormatting -Feature Prompt obtains this data from the owning PowerShell session.
ConsoleMonster.Widgets.ShellPrompt.SucceededRuntimeOwned: PowerShell supplies the last native/pipeline outcome; a C# shell host supplies its own command result.Enable-ConsoleFormatting -Feature Prompt obtains this data from the owning PowerShell session.
ConsoleMonster.Widgets.TextBlock.AlignmentEquivalentRepresentation: TextBlock and RichText share alignment behavior; PowerShell exposes Alignment on its canonical RichText result.Use New-ConsoleText -Text/-Markup/-Role/-Alignment/-Overflow; its RichText result is also a widget.
ConsoleMonster.Widgets.TextBlock.ContentEquivalentRepresentation: TextBlock stores one string; PowerShell’s canonical text command returns RichText pieces usable in cells as well as block rendering.Use New-ConsoleText -Text/-Markup/-Role/-Alignment/-Overflow; its RichText result is also a widget.
ConsoleMonster.Widgets.TextBlock.IsMarkupEquivalentRepresentation: TextBlock selects parsing with a Boolean; PowerShell separates literal Text from explicit Markup input.Use New-ConsoleText -Text/-Markup/-Role/-Alignment/-Overflow; its RichText result is also a widget.
ConsoleMonster.Widgets.TextBlock.OverflowEquivalentRepresentation: TextBlock and RichText share overflow behavior; PowerShell exposes Overflow on its canonical RichText result.Use New-ConsoleText -Text/-Markup/-Role/-Alignment/-Overflow; its RichText result is also a widget.
ConsoleMonster.Widgets.TextBlock.RoleEquivalentRepresentation: TextBlock stores a block role; PowerShell applies the same Role through RichText’s base style.Use New-ConsoleText -Text/-Markup/-Role/-Alignment/-Overflow; its RichText result is also a widget.
ConsoleMonster.Widgets.TreeHierarchyOptions.IdentityCSharpOnly: A native graph identity delegate supports custom/AOT C# nodes; the PowerShell hierarchy adapter owns wrapped-object identity.Use the canonical PSObject identity and bounded tree traversal.
ConsoleMonster.Interactive.ConsoleAppOptions.DispatcherCSharpOnly: An embedding host may post native callbacks from other threads; PowerShell retains the owning runspace and drains its own callback queue.Use Show-ConsoleApp callbacks and SelectionKey; native hosts can supply an AppDispatcher.
ConsoleMonster.Interactive.ConsoleAppOptions.SelectionCSharpOnly: A native host can compute its action row set with a strongly typed delegate; PowerShell selects ordinary state values by SelectionKey.Use Show-ConsoleApp -SelectionKey for scalar or collection state.
ConsoleMonster.Interactive.GridOptions.DispatcherCSharpOnly: A native grid host may provide its own mailbox; PowerShell keeps script execution and row refresh on the owning runspace.Use Show-ConsoleGrid -Command and -RefreshRow; C# hosts can supply an AppDispatcher.
ConsoleMonster.Interactive.CommandOptions.ActionCSharpOnly: PowerShell supplies ScriptBlock, modules and arguments to its isolated script runner; C# supplies the asynchronous delegate directly.New-ConsoleCommand -ScriptBlock configures the same asynchronous command job.

.NET host integrations

The PowerShell formatting, help and progress examples run inside a compiled PSCmdlet on its owning pipeline thread. The generic-host and ILogger examples configure .NET lifetimes; their PowerShell tab launches the same project. These options remain explicit C# integration settings.

Package and C# memberPowerShell route and reason
ConsoleMonster.Hosting.ConsoleDashboardOptions.Title (ConsoleMonster.Hosting)dotnet run: The .NET generic host owns service discovery, worker lifetimes and shutdown; PowerShell dashboard scripts use Invoke-ConsoleDashboard instead.
ConsoleMonster.Hosting.ConsoleDashboardOptions.Mode (ConsoleMonster.Hosting)dotnet run: The .NET generic host owns service discovery, worker lifetimes and shutdown; PowerShell dashboard scripts use Invoke-ConsoleDashboard instead.
ConsoleMonster.Hosting.ConsoleDashboardOptions.ShowServices (ConsoleMonster.Hosting)dotnet run: The .NET generic host owns service discovery, worker lifetimes and shutdown; PowerShell dashboard scripts use Invoke-ConsoleDashboard instead.
ConsoleMonster.Hosting.ConsoleDashboardOptions.ShowLog (ConsoleMonster.Hosting)dotnet run: The .NET generic host owns service discovery, worker lifetimes and shutdown; PowerShell dashboard scripts use Invoke-ConsoleDashboard instead.
ConsoleMonster.Hosting.ConsoleDashboardOptions.LogHeight (ConsoleMonster.Hosting)dotnet run: The .NET generic host owns service discovery, worker lifetimes and shutdown; PowerShell dashboard scripts use Invoke-ConsoleDashboard instead.
ConsoleMonster.Hosting.ConsoleDashboardOptions.KeepFinalState (ConsoleMonster.Hosting)dotnet run: The .NET generic host owns service discovery, worker lifetimes and shutdown; PowerShell dashboard scripts use Invoke-ConsoleDashboard instead.
ConsoleMonster.Hosting.ConsoleDashboardOptions.ServiceName (ConsoleMonster.Hosting)dotnet run: The .NET generic host owns service discovery, worker lifetimes and shutdown; PowerShell dashboard scripts use Invoke-ConsoleDashboard instead.
ConsoleMonster.Extensions.Logging.ConsoleMonsterLoggerOptions.MinimumLevel (ConsoleMonster.Extensions.Logging)dotnet run: The Microsoft.Extensions.Logging provider receives ILogger categories, scopes and event IDs; PowerShell uses its own stream and log-entry adapters.
ConsoleMonster.Extensions.Logging.ConsoleMonsterLoggerOptions.TimestampFormat (ConsoleMonster.Extensions.Logging)dotnet run: The Microsoft.Extensions.Logging provider receives ILogger categories, scopes and event IDs; PowerShell uses its own stream and log-entry adapters.
ConsoleMonster.Extensions.Logging.ConsoleMonsterLoggerOptions.UseUtcTimestamp (ConsoleMonster.Extensions.Logging)dotnet run: The Microsoft.Extensions.Logging provider receives ILogger categories, scopes and event IDs; PowerShell uses its own stream and log-entry adapters.
ConsoleMonster.Extensions.Logging.ConsoleMonsterLoggerOptions.Category (ConsoleMonster.Extensions.Logging)dotnet run: The Microsoft.Extensions.Logging provider receives ILogger categories, scopes and event IDs; PowerShell uses its own stream and log-entry adapters.
ConsoleMonster.Extensions.Logging.ConsoleMonsterLoggerOptions.IncludeScopes (ConsoleMonster.Extensions.Logging)dotnet run: The Microsoft.Extensions.Logging provider receives ILogger categories, scopes and event IDs; PowerShell uses its own stream and log-entry adapters.
ConsoleMonster.Extensions.Logging.ConsoleMonsterLoggerOptions.IncludeEventId (ConsoleMonster.Extensions.Logging)dotnet run: The Microsoft.Extensions.Logging provider receives ILogger categories, scopes and event IDs; PowerShell uses its own stream and log-entry adapters.
ConsoleMonster.Extensions.Logging.ConsoleMonsterLoggerOptions.MaxExceptionLines (ConsoleMonster.Extensions.Logging)dotnet run: The Microsoft.Extensions.Logging provider receives ILogger categories, scopes and event IDs; PowerShell uses its own stream and log-entry adapters.
ConsoleMonster.Extensions.Logging.ConsoleMonsterLoggerOptions.LogRegion (ConsoleMonster.Extensions.Logging)dotnet run: The Microsoft.Extensions.Logging provider receives ILogger categories, scopes and event IDs; PowerShell uses its own stream and log-entry adapters.
ConsoleMonster.Extensions.Logging.ConsoleMonsterLoggerOptions.Profile (ConsoleMonster.Extensions.Logging)dotnet run: The Microsoft.Extensions.Logging provider receives ILogger categories, scopes and event IDs; PowerShell uses its own stream and log-entry adapters.
ConsoleMonster.Extensions.Logging.ConsoleMonsterLoggerOptions.Writer (ConsoleMonster.Extensions.Logging)dotnet run: The Microsoft.Extensions.Logging provider receives ILogger categories, scopes and event IDs; PowerShell uses its own stream and log-entry adapters.

Edit this page on GitHub