![]() |
GPAL - Generally Positive Automation Library v1.0
GPAL The Fluent Automation LIbrary
|
| NGenerallyPositive | |
| NApplication | |
| CApplication | Application object that contains the fluent methods to create your Application workflow. Instantiated using GPAL.Application |
| CElementAssistant | Application ElementAssistant with fluent methods to help you manipulate AutomationElements in callback EventHandlers. Instantiated with GPAL.ElementAssistant |
| CElementSettings | |
| CGPALAutomationElement | Application 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 | |
| CBrowser | Browser object that contains the fluent methods to create your Browser workflow. Instatiated using GPAL.Browser |
| CBrowserHelper | |
| CKillProcessesResult | Result of attempting to kill one or more processes by name |
| CBrowserSettings | |
| CElementAssistant | Browser ElementAssistant object with fluent methods to help you manipulate WebElements in Callback EventHandlers. Instantiated with GPAL.ElementAssistant() |
| CElementSettings | |
| CGPALUrl | Represents 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) |
| CGPALYouTube | Fluent 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 | |
| CIAllowBrowserSettingsOrGoTo | Allow Browser Settings, Goto, WaitOnDocumentReady |
| CIAllowBrowserSettingsOrSelectorAction | |
| CIAllowBrowserType | |
| CIAllowBrowserTypeOrGoto | |
| CIAllowCallBack | |
| CIAllowCallTemplate | What 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 | |
| CIAllowGPALUrlForUrl | Starting interface - only allows setting the target URL |
| CIAllowGPALUrlStorageData | Allow setting the storage data parameter for 'set' operations |
| CIAllowGPALUrlStorageItemConfig | Interface after deleting a specific item - allows optional path/domain |
| CIAllowGPALUrlStorageType | Interface 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 | |
| CIGPALUrl | Public interface exposed to consumers |
| CIHiddenDesktop | One 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 |
| CIHiddenDesktops | Every 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 | |
| CPremiereTime | Represents 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 | |
| CStorageAction | Represents a single storage-related action to perform before navigating to a URL |
| CTabTuple | |
| CWindowHelper | |
| CWindowInfo | |
| CWindowSession | |
| CWindowTuple | |
| CWorkflowRun | What 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 |
| CWorkflowScheduler | Runs 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 |
| CYouTubePlaylistResult | Result returned by GPALYouTube.CreatePlaylist containing the playlist ID and public URL |
| CYouTubeUploadResult | Result returned by GPALYouTube.Upload containing the assigned video ID, public URL, and status |
| CYouTubeVideoInfo | Video metadata returned by GPALYouTube.GetResults. Tags are populated for direct video lookups; search results leave Tags empty |
| NGPALForm | |
| CFileSelectorEventArgs | Event arguments passed to a GPALFileSelector callback when the file/folder selection dialog is closed, whether by the user picking a path or cancelling |
| CGPALBarItem | A 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) |
| CGPALButton | A GPAL button instantiated with GPAL.Button for use on GPAL forms. Callback EventHandler is invoked on the GPALButton.WindowsControl.Clicked event |
| CGPALChart | A GPAL chart instantiated with GPAL.Chart for use on GPAL forms. Callback EventHandler is invoked on the GPALChart.WindowsControl.Clicked event |
| CGPALCheckbox | A 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 |
| CGPALComboBox | A 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) |
| CGPALControl | Base class for all GPAL form controls |
| CGPALControls | Unused placeholder class |
| CGPALDataGridView | A grid control instantiated with GPAL.DataGridView for use on GPAL forms, displaying the contents of an IGPALGrid<T> as rows and columns |
| CGPALDateTimePicker | A date/time picker control instantiated with GPAL.DateTimePicker for use on GPAL forms |
| CGPALFileSelector | A 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 |
| CGPALForm | Form object that contains the fluent methods to create interactive forms. Instatiated using GPAL.Form |
| CGPALGroupBox | A titled box around a set of controls, instantiated with GPAL.GroupBox and laid out like any other control. |
| CGPALInput | A GPAL single line input instantiated with GPAL.Input for use on GPAL forms. Callback EventHandler is invoked on the GPALInput.WindowsControl.TextChanged event |
| CGPALLabel | A 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 |
| CGPALListView | A 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 |
| CGPALMenuBar | A 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 |
| CGPALNumericUpDown | A numeric up/down spinner control instantiated with GPAL.NumericUpDown for use on GPAL forms |
| CGPALProgressBar | A progress indicator control that shows completion percentage or indeterminate activity. Supports continuous bar, marquee animation and basic value tracking |
| CGPALRadioButton | A GPAL radiobutton instantiated with GPAL.RadioButton for use GPAL forms. Callback EventHandler is invoked on the GPALRadioButton.WindowsControl.CheckChanged event. Default is not selected |
| CGPALRichTextBox | A read-only display control for rendering simple Markdown - headings (#, ##, ###), bold, italic, underline, |
| CGPALSpliter | Marks 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 |
| CGPALSplitter | Two 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. |
| CGPALStatusStrip | A status bar (usually docked at the bottom of the form) that displays real-time messages, progress indicators, or simple key-value status pairs |
| CGPALTab | A GPAL tab instantiated with GPAL.Tab for use on GPAL forms. Callback EventHandler is invoked on the GPALTab.WindowsControl.Clicked event |
| CGPALTableLayoutPanel | A 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 |
| CGPALTextArea | A GPAL multiline textare instantiated with GPAL.TextArea for use on GPAL forms. Callback EventHandler is invoked on the GPALTextarea.WindowsControl.TextChanged event |
| CGPALToolbar | A toolbar docked below the menu bar, containing GPALBarItem buttons and optional separators |
| CGPALTreeNode | A handle to a tree node returned by GPALTreeView.AddNode(string). Use it to add children and control expansion |
| CGPALTreeView | A 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 | |
| CPlaceholderTextBox | Https://stackoverflow.com/questions/11873378/adding-placeholder-text-to-textbox |
| CActionAttribute | |
| CAIProvider | |
| CAIProviderDefinition | Per-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 |
| CAIProvidersConfig | Loads 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 | |
| CAuthCodePayload | Authorization code (and granted scope) returned by GPALRESTAPI's get-access-token endpoint after a user completes an OAuth redirect |
| CAWSTokenResponse | JSON response from the AWS Cognito OAuth token endpoint |
| CAzureTokenResponse | JSON response from the Azure AD (Microsoft Entra ID) OAuth token endpoint |
| CBase64Helper | Helper 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 | |
| CBitwardenTokenResponse | JSON response from Bitwarden's OAuth token endpoint |
| CBrowserAttribute | |
| CBrowserTypeAttribute | |
| CCallbackAttribute | |
| CClassificationConfig | |
| CClientRectangle | Represents a client-side bounding rectangle (similar to DOMRect) with additional convenience properties |
| CCommandAttribute | |
| CComplexJsonConverter | |
| CComponentAttribute | |
| CConstantAttribute | |
| CConverterHelper | |
| CReferenceEqualityComparer | |
| CConverterSettings | |
| CCredentials | |
| CCredentialsConfig | Endpoint 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 | |
| CDashlaneItem | A single vault item returned by the Dashlane CLI (dcli password list --json) |
| CDataAttribute | |
| CDigestRulesConfig | Loads and saves the named DigestRuleSets used by HtmlToOptimizedMarkdown, stored as ./LLMDigestRules.yaml so site-specific tuning can be edited without recompiling |
| CDigestRuleSet | One 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 | |
| CFileHelper | File-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 | |
| CGoogleCloud | Handles Google Cloud operations such as project creation, API enabling, and API key generation |
| CGoogleDorking | |
| CGoogleDorkingConfig | |
| CGoogleDrive | |
| CGoogleDriveConfig | |
| CGoogleServiceAccountKey | Deserialized contents of a Google Cloud service account JSON key file, used by GoogleHandler.FetchServiceAccountToken to sign a JWT |
| CGoogleSheets | |
| CGoogleSheetsConfig | |
| CGoogleTokenResponse | JSON response from Google's OAuth token endpoint |
| CGPAL | Everything 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 |
| CGPALEventArgs | Used 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 | |
| CGPALCall | One 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 | |
| CGPALDatabase | Class to define database usage. Currently only used for input from a table, sql or stored procedure. Instantiated with GPAL.Database |
| CDatabaseError | What 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 |
| CGPALElement | Pseudo element used in Applications and Browser workflows for image matching and unified automation. Implements IGPALElement and mimics IWebElement where possible |
| CGPALExcel | Provides 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 |
| CGPALException | Thrown 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 |
| CGPALFile | GPAL File object instantied with GPAL.File Used to load tokens into a GPALGrid [rows/columns] |
| CGPALFileAttribute | |
| CGPALLogger | Provides 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 |
| CGPALMail | Provides 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 |
| CGPALRequest | Describes 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 | |
| CIAllowDatabaseGridSettings | SaveTo(...) 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 | |
| CImageHelper | Provides 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 | |
| CKeeperLoginData | Login fields (username, password, and URL) of a Keeper record |
| CKeeperRecord | A single record returned by Keeper Commander (keeper list/keeper search --format=json) |
| CKeysAttribute | |
| CLastPassItem | A 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 > | |
| COnePasswordField | A single custom field of a 1Password item, such as a username or password field |
| COnePasswordItem | A single vault item returned by the 1Password CLI (op item list --format=json) |
| COnePasswordUrl | A single URL associated with a 1Password item |
| CPrinter | |
| CPrinterSettings | |
| CReceivedEmail | A simplified representation of a single email message retrieved by GPALMail.Receive |
| CReferenceEqualityComparer | |
| CRESTClient | Fluent 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 | |
| CSelector | GPAL Selector used to locate Application and Browser elements. Instantiated with GPAL.Selector |
| CSelectorAttribute | |
| CSelectorSet | |
| CClientRectangle | |
| CSelectorSettings | Settings for the current selector. Use this only for debugging |
| CSelectorPathEntry | An entry defining a selector locator, a selector path |
| CSettingsAttribute | |
| CSingleUseAttribute | |
| CUnitOfWork | Everything 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 | |
| CXPathInfo | Represents XPath matching information returned by advanced selector strategies |
| CComplexYamlConverter | |
| CDateTimeOffsetYamlConverter | Writes 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 | |
| CNullableGuidYamlConverter | Writes 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 |
| CNullableTimeSpanYamlConverter | Writes 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 | |
| CVersionYamlConverter | Writes 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 |