GPAL - Generally Positive Automation Library v1.0
GPAL The Fluent Automation LIbrary
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 NGenerallyPositive
 NApplication
 CApplicationApplication object that contains the fluent methods to create your Application workflow.
Instantiated using GPAL.Application
 CElementAssistantApplication ElementAssistant with fluent methods to help you manipulate AutomationElements in callback EventHandlers.
Instantiated with GPAL.ElementAssistant
 CElementSettings
 CGPALAutomationElementApplication workflow container for automation elements
 CIAllowAfterAnySelector
 CIAllowAfterAnySelectorExceptWithAll
 CIAllowAfterWaitForAndSizeControl
 CIAllowAllActionAndAnySelector
 CIAllowAllApplicationAndAllSelector
 CIAllowAllExceptParameters
 CIAllowAnySelector
 CIAllowApplicationAction
 CIAllowApplicationOpen
 CIAllowApplicationOpenOrParameters
 CIAllowApplicationSettings
 CIAllowApplicationSettingsOrOpen
 CIAllowCallBack
 CIAllowClicks
 CIAllowClose
 CIAllowElementActions
 CIAllowElementSetting
 CIAllowElementSettingsAndActions
 CIAllowFileActions
 CIAllowFillInFrom
 CIAllowFocus
 CIAllowForSelector
 CIAllowGetGrid
 CIAllowGetGridAndFillInFrom
 CIAllowHover
 CIAllowKeyboardActions
 CIAllowMoveTo
 CIAllowPersistence
 CIAllowPersistentCallBack
 CIAllowScrolling
 CIAllowSelectorAction
 CIAllowSelectorActionOrAnySelector
 CIAllowSetRange
 CIAllowSizeControl
 CIAllowTabActions
 CIAllowToGPALObject< TResult >
 CIAllowWaitFor
 CIAllowWaitForWindow
 CIAllowWithAllThatMatch
 CIAllowWithGridToSave
 CIAllowWithHardware
 CIAllowWithHeader
 CIAllowWithHeaderOrFileActions
 CIAllowWithInfiniteScroll
 CIAllowWithNextPageButton
 CIAllowWithNextPageButtonOrGetGrid
 CIAllowWithPages
 CIAllowWithPagesAndGridActions
 CIAllowWithPersistentSelector
 CIAllowWithSelector
 CIApplication
 CIGPALAutomationElement
 NBrowser
 CBoxModelResponse
 CBrowserBrowser object that contains the fluent methods to create your Browser workflow.
Instatiated using GPAL.Browser
 CBrowserHelper
 CKillProcessesResultResult of attempting to kill one or more processes by name
 CBrowserSettings
 CElementAssistantBrowser ElementAssistant object with fluent methods to help you manipulate WebElements in Callback EventHandlers.
Instantiated with GPAL.ElementAssistant()
 CElementSettings
 CGPALUrlRepresents a URL with optional pre-navigation storage cleanup / inspection actions. Uses fluent builder pattern with fail-forward design (logs issues instead of throwing exceptions). Supports implicit conversion to/from string (with warning on first implicit use)
 CGPALYouTubeFluent YouTube video uploader. Entry point: GPAL.YouTube. Upload phase: WithCredentials -> WithTitle -> ... -> Upload(file). Schedule phase: WithVideos(results) -> WaitForProcessing(seconds) -> ScheduleAt(PremiereTime). ScheduleAt runs in the background; the calling thread is not blocked
 CIAllowAfterAnySelector
 CIAllowAfterAnySelectorExceptWithAll
 CIAllowAfterImageSelector
 CIAllowAfterWaitFor
 CIAllowAfterWaitForAndSizeControl
 CIAllowAllBrowserAndAllSelector
 CIAllowAnySelector
 CIAllowBrowserAction
 CIAllowBrowserActionOrAnySelector
 CIAllowBrowserSettings
 CIAllowBrowserSettingsOrGoToAllow Browser Settings, Goto, WaitOnDocumentReady
 CIAllowBrowserSettingsOrSelectorAction
 CIAllowBrowserType
 CIAllowBrowserTypeOrGoto
 CIAllowCallBack
 CIAllowCallTemplateWhat a workflow may say once .WithCallFilter has said which call it is after. Taking a template only means something when there is something to match, so this is the only place it is offered
 CIAllowCasting
 CIAllowClicks
 CIAllowClose
 CIAllowDataOperations
 CIAllowDebugPort
 CIAllowDeployWebApp
 CIAllowDialogHandling
 CIAllowDragAndDrop
 CIAllowElementActions
 CIAllowElementSetting
 CIAllowElementSettingsAndActions
 CIAllowExecuteJavaScript
 CIAllowExistingBrowser
 CIAllowFetch
 CIAllowFileActions
 CIAllowFillInFrom
 CIAllowFocus
 CIAllowFormatRange
 CIAllowFormatSettings
 CIAllowGet
 CIAllowGetElements
 CIAllowGetGrid
 CIAllowGetGridAndFillInFrom
 CIAllowGetWindowRectangle
 CIAllowGoogleSheetsSaveTo
 CIAllowGoTo
 CIAllowGoToOrGet
 CIAllowGPALUrlForUrlStarting interface - only allows setting the target URL
 CIAllowGPALUrlStorageDataAllow setting the storage data parameter for 'set' operations
 CIAllowGPALUrlStorageItemConfigInterface after deleting a specific item - allows optional path/domain
 CIAllowGPALUrlStorageTypeInterface after URL is set - allows selecting storage type
 CIAllowGraphicSettings
 CIAllowHideElement
 CIAllowHover
 CIAllowInDataOperations
 CIAllowInjectScript
 CIAllowInSelector
 CIAllowInsertSettings
 CIAllowMoveTo
 CIAllowNetworkIdleSettings
 CIAllowNewTabOrWindow
 CIAllowPageControl
 CIAllowPersistentCallBack
 CIAllowPrintDomElement
 CIAllowPuppeteerActions
 CIAllowPuppeteerAttribute
 CIAllowPuppeteerCheckNetworkIdleOrExecution
 CIAllowPuppeteerCommunicator
 CIAllowPuppeteerDragAndDrop
 CIAllowPuppeteerEndpoint
 CIAllowPuppeteerEndpointDetails
 CIAllowPuppeteerExecution
 CIAllowPuppeteerInputText
 CIAllowPuppeteerParameters
 CIAllowPuppeteerParametersOrExecution
 CIAllowPuppeteerRangeValue
 CIAllowPuppeteerScrollElement
 CIAllowPuppeteerSelectOptions
 CIAllowPuppeteerStorageOptions
 CIAllowPuppeteerWorkflow
 CIAllowRun
 CIAllowScheduledWorkflow
 CIAllowScheduledWorkflowExecution
 CIAllowScreenshot
 CIAllowScriptOperations
 CIAllowScrolling
 CIAllowSelectorAction
 CIAllowSelectorInFrameBrowserSettingsOrGoto
 CIAllowSetAttributeValue
 CIAllowSetValueFromElement
 CIAllowSheetOperations
 CIAllowSheetSelection
 CIAllowSiteMapOperations
 CIAllowSizeControl
 CIAllowSpreadsheetSelection
 CIAllowStartWorkflow
 CIAllowStorageAction
 CIAllowStorageData
 CIAllowStorageOptions
 CIAllowStorageOutData
 CIAllowTabActions
 CIAllowToGPALObject< TResult >
 CIAllowTriggerSettings
 CIAllowWaitFor
 CIAllowWaitForWindow
 CIAllowWindowActions
 CIAllowWindowScrollBy
 CIAllowWithAllThatMatch
 CIAllowWithAttribute
 CIAllowWithAutomationEngine
 CIAllowWithData
 CIAllowWithGridToSave
 CIAllowWithHardware
 CIAllowWithHeader
 CIAllowWithHeaderOrFileActions
 CIAllowWithInfiniteScroll
 CIAllowWithJavaScript
 CIAllowWithNextPageButton
 CIAllowWithNextPageButtonOrGetGrid
 CIAllowWithPages
 CIAllowWithPagesAndFetch
 CIAllowWithPagesAndGridActions
 CIAllowWithPersistentSelector
 CIAllowWithSelector
 CIAllowWithTokensFrom
 CIAllowWithTriggerFunction
 CIAllowWorkflow
 CIAllowWorkflowExecution
 CIBrowser
 CIGoogleSheets
 CIGPALUrlPublic interface exposed to consumers
 CIHiddenDesktopOne Win32 desktop object a browser is running on. Reached from the browser that is on it, so a workflow that has the browser never has to remember what the desktop was called
 CIHiddenDesktopsEvery hidden desktop this process has made, and the screen itself. Peek and Return move the screen, which is not something one desktop owns, so they live here rather than on a single desktop
 CIImageHelper
 CIMagicHelper
 CIPuppeteerClient
 CMagicHelper
 CModel
 CPremiereTimeRepresents a premiere schedule time. Presets (In5Minutes, In1Hour, etc.) store a relative offset and resolve to UtcNow + offset at the moment Resolve() is called, so the premiere time is set relative to when each video finishes processing, not when the chain was built
 CPuppeteer
 CPuppeteerClient
 CPuppeteerCommunicator
 CNode
 CSeleniumStorageHelper
 CStorageActionRepresents a single storage-related action to perform before navigating to a URL
 CTabTuple
 CWindowHelper
 CWindowInfo
 CWindowSession
 CWindowTuple
 CWorkflowRunWhat became of one workflow handed to WorkflowScheduler: whether it finished, how long it took, and what it threw if it threw. Held in the order the workflows were added, so Index says which
 CWorkflowSchedulerRuns whole workflows at once, each one building and owning whatever it drives. Scheduling only: it starts workflows, limits how many are in flight, spaces their starts, and waits for them. It knows nothing about browsers, which is why one workflow can run Chrome on OttoMagic while the next runs Firefox on Selenium.

For several steps against one browser you already have, use Browser.WithWorkflow(Action<IBrowser>) and Browser.Run instead
 CYouTubePlaylistResultResult returned by GPALYouTube.CreatePlaylist containing the playlist ID and public URL
 CYouTubeUploadResultResult returned by GPALYouTube.Upload containing the assigned video ID, public URL, and status
 CYouTubeVideoInfoVideo metadata returned by GPALYouTube.GetResults. Tags are populated for direct video lookups; search results leave Tags empty
 NGPALForm
 CFileSelectorEventArgsEvent arguments passed to a GPALFileSelector callback when the file/folder selection dialog is closed, whether by the user picking a path or cancelling
 CGPALBarItemA single item shared by GPAL menu bars and toolbars. Because it derives from GPALControl it speaks the same one-parameter fluent vocabulary as every other control (WithCallback, WithShortcutKey, WithName, WithToolTip), and adds an optional image. The callback added via GPALControl.WithCallback<TDelegate>(TDelegate) is wired to the item's Click event; the shortcut set via GPALControl.WithShortcutKey is shown on menu items (toolbars have no per-button shortcut)
 CGPALButtonA GPAL button instantiated with GPAL.Button for use on GPAL forms.
Callback EventHandler is invoked on the GPALButton.WindowsControl.Clicked event
 CGPALChartA GPAL chart instantiated with GPAL.Chart for use on GPAL forms.
Callback EventHandler is invoked on the GPALChart.WindowsControl.Clicked event
 CGPALCheckboxA GPAL checkbox instantiateds with GPAL,Checkbox for use on GPAL forms.
Callback EventHandler is invoked on the GPALCheckbox.WindowsControl.CheckChanged event.
Default is not checked
 CGPALComboBoxA dropdown list (ComboBox) for selecting one option from a predefined set of choices. Selection changes trigger WhenSelectedDo callback(s). By default uses DropDownList style (no free text entry)
 CGPALControlBase class for all GPAL form controls
 CGPALControlsUnused placeholder class
 CGPALDataGridViewA grid control instantiated with GPAL.DataGridView for use on GPAL forms, displaying the contents of an IGPALGrid<T> as rows and columns
 CGPALDateTimePickerA date/time picker control instantiated with GPAL.DateTimePicker for use on GPAL forms
 CGPALFileSelectorA file/folder selector control instantiated with GPAL.FileSelector for use on GPAL forms. Displays a button which, when clicked, opens an OpenFileDialog or FolderBrowserDialog (depending on WithSelectFolder(bool)) and raises its callbacks with a FileSelectorEventArgs once the dialog closes
 CGPALFormForm object that contains the fluent methods to create interactive forms.
Instatiated using GPAL.Form
 CGPALGroupBoxA titled box around a set of controls, instantiated with GPAL.GroupBox and laid out like any other control.
 CGPALInputA GPAL single line input instantiated with GPAL.Input for use on GPAL forms.
Callback EventHandler is invoked on the GPALInput.WindowsControl.TextChanged event
 CGPALLabelA GPAL lable instantiated with GPAL.Label for use on GPAL forms.
Callback EventHandler is invoked on the GPALLabel.WindowsControl.Clicked event.
Labels autosize to fit the form
 CGPALListViewA list view control capable of displaying data in Details, List, LargeIcon, SmallIcon, or Tile views. Supports columns, item selection, double-click activation and multi-select
 CGPALMenuBarA menu bar docked to the top of a GPAL form. Open a top-level menu with WithMenu(string), then attach GPALBarItems to it with WithItem(GPALBarItem) (and optional WithSeparator rules). Items added after a WithMenu call belong to that menu until the next WithMenu
 CGPALNumericUpDownA numeric up/down spinner control instantiated with GPAL.NumericUpDown for use on GPAL forms
 CGPALProgressBarA progress indicator control that shows completion percentage or indeterminate activity. Supports continuous bar, marquee animation and basic value tracking
 CGPALRadioButtonA GPAL radiobutton instantiated with GPAL.RadioButton for use GPAL forms.
Callback EventHandler is invoked on the GPALRadioButton.WindowsControl.CheckChanged event.
Default is not selected
 CGPALRichTextBoxA read-only display control for rendering simple Markdown - headings (#, ##, ###), bold, italic, underline, strikethrough, inline code, {colorname}text{} color spans, — horizontal rules, and bullet (-, *) or numbered (1.) lists with nesting via leading spaces. Intended for displaying formatted AI responses or other structured text
 CGPALSpliterMarks where one pane of a GPALSplitter ends and the other begins, added to the splitter with GPAL.SplitRight or GPAL.SplitBottom.
It is not a control and cannot be added to a form, which is the point: a split belongs to the splitter that owns it rather than to wherever it happened to appear in a chain
 CGPALSplitterTwo panes with a bar between them, instantiated with GPAL.Splitter and laid out like any other control.
The controls of both panes are added in order, with GPAL.SplitRight or GPAL.SplitBottom marking where the first pane ends. Everything before the marker is the left or top pane, everything after it the right or bottom. With no marker at all, everything is in the first pane.
A splitter is built whole before it goes anywhere, so it can hold another splitter, a group box, or a plain control, and nesting is whatever the workflow nested rather than whatever the ordering happened to imply.
 CGPALStatusStripA status bar (usually docked at the bottom of the form) that displays real-time messages, progress indicators, or simple key-value status pairs
 CGPALTabA GPAL tab instantiated with GPAL.Tab for use on GPAL forms.
Callback EventHandler is invoked on the GPALTab.WindowsControl.Clicked event
 CGPALTableLayoutPanelA table layout panel instantiated with GPAL.TableLayoutPanel for use on GPAL forms, used to arrange other controls in a configurable grid of rows and columns
 CGPALTextAreaA GPAL multiline textare instantiated with GPAL.TextArea for use on GPAL forms.
Callback EventHandler is invoked on the GPALTextarea.WindowsControl.TextChanged event
 CGPALToolbarA toolbar docked below the menu bar, containing GPALBarItem buttons and optional separators
 CGPALTreeNodeA handle to a tree node returned by GPALTreeView.AddNode(string). Use it to add children and control expansion
 CGPALTreeViewA tree view control instantiated with GPAL.TreeView for use on GPAL forms
 CIAllowBarItemSettings
 CIAllowCallBack
 CIAllowChartSettings
 CIAllowChecked
 CIAllowComboBoxControlSettings
 CIAllowControlAndDataGridViewSettingsAndActions
 CIAllowControlSettings
 CIAllowControlSettingsAndChartSettings
 CIAllowControlSettingsAndChecked
 CIAllowControlSettingsAndDataGridViewSettings
 CIAllowControlSettingsAndEnabled
 CIAllowControlSettingsAndFontSettings
 CIAllowControlSettingsAndTableLayoutPanelSettings
 CIAllowControlSettingsEnabledAndChecked
 CIAllowControlSettingsEnabledAndDefault
 CIAllowControlSettingsPlaceholderEnabledAndPassword
 CIAllowDataGridViewActions
 CIAllowDataGridViewControlSettings
 CIAllowDataGridViewSettings
 CIAllowDateTimePickerControlSettings
 CIAllowDefault
 CIAllowEnabled
 CIAllowFileSelectorControlSettings
 CIAllowFillInFrom
 CIAllowFontSettings
 CIAllowForEventControlSettings
 CIAllowFormActions
 CIAllowFormActionsAndFillIn
 CIAllowFormSettings
 CIAllowFormSettingsAndActions
 CIAllowGroupBoxControlSettings
 CIAllowListVIewControlSettings
 CIAllowMenuBarControlSettings
 CIAllowNumericUpDownControlSettings
 CIAllowPassword
 CIAllowPlaceholder
 CIAllowProgressBarControlSettings
 CIAllowReadOnly
 CIAllowRichTextBoxControlSettings
 CIAllowSplitterControlSettings
 CIAllowStatusStripControlSettings
 CIAllowTableLayoutPanelSettings
 CIAllowToolbarControlSettings
 CIAllowToolTipDelay
 CIAllowTreeViewControlSettings
 CPlaceholderTextBoxHttps://stackoverflow.com/questions/11873378/adding-placeholder-text-to-textbox
 CActionAttribute
 CAIProvider
 CAIProviderDefinitionPer-provider connection definition: base URL, endpoint, default model, auth style, and any extra headers. Stored in AIProvidersConfig.yaml; built-in defaults cover XAI, OpenAI, Anthropic
 CAIProvidersConfigLoads and saves the AI provider definitions used by GPAL.AI.WithProvider. Stored as ./AIProvidersConfig.yaml. Built-in defaults for XAI, OpenAI, and Anthropic are always available even without a config file; the file extends or overrides them. Auto-loaded silently on startup if the file exists
 CApplicationHelper
 CAuthCodePayloadAuthorization code (and granted scope) returned by GPALRESTAPI's get-access-token endpoint after a user completes an OAuth redirect
 CAWSTokenResponseJSON response from the AWS Cognito OAuth token endpoint
 CAzureTokenResponseJSON response from the Azure AD (Microsoft Entra ID) OAuth token endpoint
 CBase64HelperHelper class for base64 encoding/decoding and saving decoded content with sensible file extensions based on content type. Designed for backend use - no UI, no complex fluent API
 CBigIntegerJsonConverter
 CBitwardenTokenResponseJSON response from Bitwarden's OAuth token endpoint
 CBrowserAttribute
 CBrowserTypeAttribute
 CCallbackAttribute
 CClassificationConfig
 CClientRectangleRepresents a client-side bounding rectangle (similar to DOMRect) with additional convenience properties
 CCommandAttribute
 CComplexJsonConverter
 CComponentAttribute
 CConstantAttribute
 CConverterHelper
 CReferenceEqualityComparer
 CConverterSettings
 CCredentials
 CCredentialsConfigEndpoint URLs, redirect URIs, and protocol field names used by the credential service handlers.
Holds protocol/endpoint configuration only - never secrets. Loaded from and saved to ./credentialsConfig.json via Load()/Save()
 CCryptography
 CCsvValue
 CCustomJsonConverter
 CDashlaneItemA single vault item returned by the Dashlane CLI (dcli password list --json)
 CDataAttribute
 CDigestRulesConfigLoads and saves the named DigestRuleSets used by HtmlToOptimizedMarkdown, stored as ./LLMDigestRules.yaml so site-specific tuning can be edited without recompiling
 CDigestRuleSetOne named set of LLM-digest cleanup rules: which nodes are junk, where the main content usually lives, what base URL to use for relative sitemap links, and which post-conversion markdown cleanup passes to run. Sites drift over time, so these live in LLMDigestRules.yaml rather than being hardcoded
 CDirectoryAttribute
 CElementAssitantAttribute
 CEnumAttribute
 CFileAttribute
 CFileHelperFile-side plumbing behind the fluent chain: writing a unit of work's data out in a delimited format, resolving where each browser actually downloads to, tokenizing input files, and the path handling the rest of the library leans on.
Most of this is internal. The members exposed here are the ones a workflow has a legitimate reason to call directly, mainly to find out where a download will land before going to fetch it
 CFluentAttribute
 CFormsAttribute
 CGoogleCloudHandles Google Cloud operations such as project creation, API enabling, and API key generation
 CGoogleDorking
 CGoogleDorkingConfig
 CGoogleDrive
 CGoogleDriveConfig
 CGoogleServiceAccountKeyDeserialized contents of a Google Cloud service account JSON key file, used by GoogleHandler.FetchServiceAccountToken to sign a JWT
 CGoogleSheets
 CGoogleSheetsConfig
 CGoogleTokenResponseJSON response from Google's OAuth token endpoint
 CGPALEverything starts here, all the GPAL controls and global settings using fluent syntax are here. GPAL cannot inherit any of the GPAL interfaces since it is a static class, but it does implement them, but will return some GPAL object or interface
 CGPALEventArgsUsed to pass objects of interest when publishing an Information or Exception Channel message
NOTE: Properties are contextual to where the Information/Exception is published.
Only objects relevant to that context will be passed as an event argument, the rest will be null.
In this way, the programmer can examine aspects when the message is published and utilize those for logging or debugging or fault-tolerance handling.
Every event will have a GPALObject as applicable to the context publishing the message.
 CGPALAI
 CGPALAttribute
 CGPALCallOne request the page made, as reported by the browser while .CaptureCalls was on. Where a GPALRequest says what to ask for, this says what was asked for, so an endpoint can be read off a page rather than guessed at and then written into a request
 CGPALConverter
 CGPALDatabaseClass to define database usage. Currently only used for input from a table, sql or stored procedure.
Instantiated with GPAL.Database
 CDatabaseErrorWhat went wrong on the last call, and enough about it to act on.
A failure hands the callback the database and nothing else, so everything it would need to ask about lives here: the server's own number for it, the sql that ran, the parameters it ran against, and which row of them was being written when it stopped
 CGPALElementPseudo element used in Applications and Browser workflows for image matching and unified automation. Implements IGPALElement and mimics IWebElement where possible
 CGPALExcelProvides fluent, file-based automation of Excel workbooks: opening one or more workbooks (including wildcard-matched sets of files), selecting a sheet, reading/writing ranges, columns, rows and individual cells, performing simple aggregate calculations (sum/count), comparing ranges against a grid, another file, or another range, and saving results back to a file, grid, or sheet. All operations apply to every workbook currently loaded via WithFile(GPALFile), so a single chain can drive many files at once. Errors are reported via GPAL.PublishSimpleEvent rather than thrown
 CGPALExceptionThrown where GPAL deliberately ends the workflow, such as a CallIf handler returning CallIfStatus.Terminate or a driver that could not be started.
The reason has always been published before this is thrown, so the uncaught handler reports the termination without repeating the message or printing a stack trace
 CGPALFileGPAL File object instantied with GPAL.File
Used to load tokens into a GPALGrid [rows/columns]
 CGPALFileAttribute
 CGPALLoggerProvides configurable logging to a file (in any format supported by GPALConverter) or to a GPALDatabase. Configuration is performed via a fluent interface (IAllowLoggingSettings / IAllowLoggingAndSetting), allowing the root directory, directory structure, filename pattern, delimiter, log type, and date format to be set before calling Log(dynamic). Errors and warnings encountered while logging are reported via GPAL.PublishSimpleEvent rather than throwing exceptions
 CGPALMailProvides a fluent API for configuring, sending, and receiving email via SMTP, IMAP, and POP. Supports specifying server connection settings, envelope details (from/to/cc/bcc, subject, body, attachments), sending mail through SMTP, retrieving messages from an IMAP inbox, and persisting/loading mail settings to/from a GPALFile
 CGPALRequestDescribes an API request for .Fetch to issue from inside the page, so it carries the session the browser has already earned: its cookies, its TLS fingerprint, its header order and any anti-bot clearance.
Built once and reused, the same way a Selector is. Where a Selector says how to find an element, this says what to ask the site's own API for
 CGPALSettings
 CGPALSettingsAttribute
 CHelperAttribute
 CIAllowAIConfig
 CIAllowAICredentials
 CIAllowAIExecution
 CIAllowAIModel
 CIAllowAIOutput
 CIAllowAIProvider
 CIAllowAITask
 CIAllowAITaskConfig
 CIAllowAnd
 CIAllowBase64Save
 CIAllowBase64SaveOrInput
 CIAllowCallBack
 CIAllowCheckNetworkIdleOrExecution
 CIAllowClientId
 CIAllowClientSecret
 CIAllowColumnPrecision
 CIAllowColumnScale
 CIAllowConverterActions
 CIAllowConverterInput
 CIAllowConverterInputAndActions
 CIAllowConverterSettings
 CIAllowConverterSettingsAndActions
 CIAllowCredentialServiceType
 CIAllowCredentialsIntoCredentials
 CIAllowCredentialsPassword
 CIAllowCredentialsServiceKeyWithCredentials
 CIAllowCredentialsUsername
 CIAllowCryptoAction
 CIAllowCryptoConfig
 CIAllowCryptoDecrypt
 CIAllowCryptoEncrypt
 CIAllowCryptoGenerateIV
 CIAllowCryptoGenerateKey
 CIAllowCryptoHash
 CIAllowCryptoInput
 CIAllowCryptoKeyGenInput
 CIAllowCryptoSign
 CIAllowCryptoVerify
 CIAllowDatabaseActions
 CIAllowDatabaseExecute
 CIAllowDatabaseGridSettingsSaveTo(...) already ran the read (an out parameter forces that), so chaining .Execute() afterward would just re-run the same command as a meaningless non-query. Chain more settings instead, or .ToGPALObject() to get back to the full interface for a new Create/Read/Update/Delete
 CIAllowDatabaseInto
 CIAllowDatabaseSettings
 CIAllowDatabaseUsing
 CIAllowDriveActions
 CIAllowDriveCredentials
 CIAllowDriveFileSelection
 CIAllowDriveListOperations
 CIAllowEmailActions
 CIAllowEmailEnvelope
 CIAllowEmailEnvelopeAndActions
 CIAllowEmailReceiveOptions
 CIAllowEmailServerSettings
 CIAllowEmailServerSettingsAndName
 CIAllowExcelCellSettings
 CIAllowExcelCompareSettings
 CIAllowExcelCore
 CIAllowExcelFileSelection
 CIAllowExcelOperations
 CIAllowExcelSearchAndReplaceSettings
 CIAllowExcelSheetSelection
 CIAllowExecutableSetup
 CIAllowFileActions
 CIAllowFileName
 CIAllowFileSettings
 CIAllowGetCredentials
 CIAllowGiven
 CIAllowGPALSettings
 CIAllowGridActions< T >
 CIAllowKeyFromApiEndpoint
 CIAllowLocalFileOperations
 CIAllowLoggingAndSetting
 CIAllowLoggingSettings
 CIAllowName
 CIAllowNameEnvelopeAndActions
 CIAllowParameterLength
 CIAllowParameters
 CIAllowParametersAndActions
 CIAllowParametersAndInto
 CIAllowParametersAndUsing
 CIAllowPrecsionScaleAndSettings
 CIAllowRangeValue
 CIAllowRemoteFileOperations
 CIAllowRequestSettings
 CIAllowRESTAttribute
 CIAllowRESTCaptureOptions
 CIAllowRESTDragAndDrop
 CIAllowRESTEndpoint
 CIAllowRESTEndpointDetails
 CIAllowRESTExecution
 CIAllowRESTInputText
 CIAllowRESTMethod
 CIAllowRestMethods
 CIAllowRESTParameters
 CIAllowRESTParametersOrExecution
 CIAllowRESTScrollElement
 CIAllowRESTStorageOptions
 CIAllowRESTWithDownloadFilename
 CIAllowRESTWithUploadFilename
 CIAllowRESTWorkflow
 CIAllowRunningExecutable
 CIAllowSelectOptions
 CIAllowSelectorSettings
 CIAllowThen
 CIAllowToGPALObject< TResult >
 CIAllowWaitingExecutable
 CIAllowWhen
 CICredentials
 CICryptography
 CIGoogleDrive
 CIGPALAI
 CIGPALConverter
 CIGPALDatabase
 CIGPALElement
 CIGPALExcel
 CIGPALFile
 CIGPALGrid< T >
 CIGPALLogger
 CIGPALMail
 CIGPALYouTube
 CImageHelperProvides comprehensive image capture, conversion, and matching capabilities for automation scenarios. Supports both desktop (headful) and browser (headless/headful) screenshot workflows with fluent chaining
 CInProgressAttribute
 CIntAttribute
 CInterfaceAttribute
 CIPAddressJsonConverter
 CIRESTClient
 CKeeperLoginDataLogin fields (username, password, and URL) of a Keeper record
 CKeeperRecordA single record returned by Keeper Commander (keeper list/keeper search --format=json)
 CKeysAttribute
 CLastPassItemA single vault item returned by the LastPass CLI (lpass ls --json)
 CLauncher
 CLLMDigestResult
 CMatchHRef
 CMatchPlaceholder
 CMatchSrc
 CMatchText
 CMatchValue
 CModifierAttribute
 CNextJsHydrationResult
 COCRInterfaces
 CIAllowOCRRegion
 CIAllowOCRSettings
 CIAllowOCRSettingsOrExecute
 CIGPALOCR
 CIAllowToGPALObject< TResult >
 COnePasswordFieldA single custom field of a 1Password item, such as a username or password field
 COnePasswordItemA single vault item returned by the 1Password CLI (op item list --format=json)
 COnePasswordUrlA single URL associated with a 1Password item
 CPrinter
 CPrinterSettings
 CReceivedEmailA simplified representation of a single email message retrieved by GPALMail.Receive
 CReferenceEqualityComparer
 CRESTClientFluent REST client for making API calls with a chained interface. Supports defining workflows, executing them in loops, and accessing results. Results are accessed via a non-generic indexer, requiring casting to the desired type
 CScrollAttribute
 CSearchItem
 CSearchResponse
 CSelectorGPAL Selector used to locate Application and Browser elements.
Instantiated with GPAL.Selector
 CSelectorAttribute
 CSelectorSet
 CClientRectangle
 CSelectorSettingsSettings for the current selector. Use this only for debugging
 CSelectorPathEntryAn entry defining a selector locator, a selector path
 CSettingsAttribute
 CSingleUseAttribute
 CUnitOfWorkEverything revolves around the Unit of Work.
A Unit of Work is defined as one or more selectors between actions (GoTo, Run, LeftClick, Hover, etc.)
Use this only for debugging
 CUriJsonConverter
 CURLAttribute
 CVersionJsonConverter
 CVkCodeToDomKeyConverter
 CWaitAttribute
 CWindowHelper
 CWithCSS
 CWithDeltaX
 CWithDeltaY
 CWithImage
 CWithOffsetX
 CWithOffsetY
 CWithSelectorName
 CWithText
 CWithValue
 CWithXPath
 CWorkflowAttribute
 CXPathInfoRepresents XPath matching information returned by advanced selector strategies
 CComplexYamlConverter
 CDateTimeOffsetYamlConverterWrites a DateTimeOffset as a single round-trippable string, and a null as a null. Without this YamlDotNet walks the struct's properties and emits a mapping of dateTime, utcDateTime, localDateTime, date, day, dayOfWeek and the rest, which carries the same instant six times over and cannot be read back into a DateTimeOffset.
The "o" format is the only one that keeps the offset, which is the whole reason to use this type over DateTime
 CExplicitNullYamlEventEmitter
 CHumanReadableAliasEventEmitter
 CIPAddressYamlConverter
 CNullableBigIntegerYamlConverter
 CNullableGuidYamlConverterWrites a Guid, and a null Guid?, the way the rest of GPAL writes nulls. Without this YamlDotNet has no handling for the type and renders a null as an empty string, which does not read back as a null
 CNullableTimeSpanYamlConverterWrites a TimeSpan, and a null TimeSpan?, the way the rest of GPAL writes nulls. Without this YamlDotNet has no handling for the type and renders a null as an empty string, which does not read back as a null.
The "c" format is the round-trippable one, matching what ConverterHelper writes elsewhere
 CResultCollection
 CUriYamlConverter
 CVersionYamlConverterWrites a Version as the string everyone recognizes, "1.2.3.4", and a null as a null. Without this YamlDotNet walks the type's properties and emits a mapping of major, minor, build, revision, majorRevision and minorRevision, with -1 standing in for the parts that were never set
 CWaitTimeYamlConverter