![]() |
GPAL - Generally Positive Automation Library v1.0
GPAL The Fluent Automation LIbrary
|
Classes | |
| class | ActionAttribute |
| class | ActivatorHelper |
| Our generic handler to create any type using one method. Also this allows us to keep GPAL classes internal so users cannot instantiate them except via the GPAL factory new GPALFile() is not allowed, use GPALFile gpalFile = GPAL.File.ToGPALObject();. | |
| class | AIProvider |
| class | AIProviderDefinition |
| 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. More... | |
| class | AIProvidersConfig |
| 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. More... | |
| class | ApplicationHelper |
| class | AuthCodePayload |
| Authorization code (and granted scope) returned by GPALRESTAPI's get-access-token endpoint after a user completes an OAuth redirect. More... | |
| class | AuthHandler |
| Drives the OAuth authorization-code flow (Google/Azure/AWS): builds provider authorization URLs and obtains the resulting authorization code, either via the GPAL REST redirect or manual browser/console entry. | |
| class | AWSHandler |
| Fetches OAuth access tokens from an AWS Cognito user pool, via the refresh-token or authorization-code flow. | |
| class | AWSTokenResponse |
| JSON response from the AWS Cognito OAuth token endpoint. More... | |
| class | AzureHandler |
| Fetches OAuth access tokens from Azure AD (Microsoft Entra ID), via the refresh-token or authorization-code flow. | |
| class | AzureTokenResponse |
| JSON response from the Azure AD (Microsoft Entra ID) OAuth token endpoint. More... | |
| class | Base64Helper |
| 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. More... | |
| class | BigIntegerJsonConverter |
| class | BitwardenHandler |
| Retrieves login items from a Bitwarden vault via the public vault REST API. | |
| class | BitwardenLogin |
| Login fields (username, password, and associated site URLs) of a Bitwarden vault item. | |
| class | BitwardenTokenResponse |
| JSON response from Bitwarden's OAuth token endpoint. More... | |
| class | BitwardenUri |
| A single URL associated with a Bitwarden login item. | |
| class | BitwardenVaultItem |
| A single item in a Bitwarden vault response. | |
| class | BitwardenVaultResponse |
| JSON response from the Bitwarden vault items search endpoint. | |
| class | BrowserAttribute |
| class | BrowserTypeAttribute |
| class | CallbackAttribute |
| class | ClassificationConfig |
| class | ClientRectangle |
| Represents a client-side bounding rectangle (similar to DOMRect) with additional convenience properties. More... | |
| class | CommandAttribute |
| class | ComplexJsonConverter |
| class | ComponentAttribute |
| class | ConstantAttribute |
| class | ConverterHelper |
| class | ConverterSettings |
| class | CredentialResult |
| A single username/password pair retrieved from a password manager vault or supplied directly, ready to be added as a row to a GPALGrid. | |
| class | Credentials |
| class | CredentialsConfig |
| 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(). More... | |
| class | Cryptography |
| class | CsvValue |
| class | CsvValueYamlConverter |
| class | CustomJsonConverter |
| class | DashlaneHandler |
| Retrieves login items from a Dashlane vault via the Dashlane CLI (dcli). | |
| class | DashlaneItem |
| A single vault item returned by the Dashlane CLI (dcli password list --json). More... | |
| class | DataAttribute |
| class | DatabaseHelper |
| class | DatabaseSettings |
| class | DataTableExtensions |
| DataTable extension method set the order of the columns in a datatable based upon the order of strings in an array. | |
| class | DigestRulesConfig |
| Loads and saves the named DigestRuleSets used by HtmlToOptimizedMarkdown, stored as ./LLMDigestRules.yaml so site-specific tuning can be edited without recompiling. More... | |
| class | DigestRuleSet |
| 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. More... | |
| class | DirectHandler |
| Handles CredentialServiceType.None: Username/Password were set directly via .WithUsername/.WithPassword rather than retrieved from a password manager. | |
| class | DirectoryAttribute |
| class | DriveFileResponse |
| class | DriveFilesResponse |
| class | ElementAssitantAttribute |
| class | EnumAttribute |
| class | Enums |
| Class that holds all the GPAL enum definitions. | |
| class | ExcelHelper |
| class | FileAttribute |
| class | FileHelper |
| 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. More... | |
| class | FileTypeGuesser |
| class | FluentAttribute |
| class | FormsAttribute |
| class | Gherkin |
| Gherkin-style (Given/When/And/Then) wrapper for writing GPAL workflows as readable behavior-driven scenarios, backed by a Browser or Application instance. | |
| class | GoogleCloud |
| Handles Google Cloud operations such as project creation, API enabling, and API key generation. More... | |
| class | GoogleDorking |
| class | GoogleDorkingConfig |
| class | GoogleDrive |
| class | GoogleDriveConfig |
| class | GoogleHandler |
| Fetches OAuth access tokens from Google, via the refresh-token flow, the authorization-code flow, or a service-account JWT. | |
| class | GoogleServiceAccountKey |
| Deserialized contents of a Google Cloud service account JSON key file, used by GoogleHandler.FetchServiceAccountToken to sign a JWT. More... | |
| class | GoogleSheets |
| class | GoogleSheetsConfig |
| class | GoogleTokenResponse |
| JSON response from Google's OAuth token endpoint. More... | |
| class | GPAL |
| 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. More... | |
| class | GPALAI |
| class | GPALAttribute |
| class | GPALCall |
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. More... | |
| class | GPALConverter |
| class | GPALDatabase |
| Class to define database usage. Currently only used for input from a table, sql or stored procedure. Instantiated with GPAL.Database. More... | |
| class | GPALElement |
| Pseudo element used in Applications and Browser workflows for image matching and unified automation. Implements IGPALElement and mimics IWebElement where possible. More... | |
| class | GPALElementConverter |
| class | GPALExcel |
| 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. More... | |
| class | GPALException |
| 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. More... | |
| class | GPALFile |
| GPAL File object instantied with GPAL.File Used to load tokens into a GPALGrid [rows/columns]. More... | |
| class | GPALFileAttribute |
| class | GPALFileSettings |
| class | GPALGrid< T > |
| A generic grid implementation for storing and manipulating tabular data in rows and columns. The grid uses a List<T> of List<T> to store data, where each inner list represents a row. Supports operations like adding/deleting rows, adding columns, and accessing cells. Errors are logged using GPAL.PublishSimpleEvent to allow graceful continuation without throwing exceptions. | |
| class | GPALLogger |
| 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. More... | |
| class | GPALMail |
| 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. More... | |
| class | GPALMailSettings |
| Backing storage for GPALMail: server connection settings (IMAP/POP/SMTP host, port, credentials), the email envelope (from/to/cc/bcc, subject, body, attachments), and any messages retrieved via GPALMail.Receive. | |
| class | GPALRequest |
| 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. More... | |
| class | GPALSettings |
| class | GPALSettingsAttribute |
| class | GridHelper |
| class | HardwareHelper |
| Low-level Windows input simulation (HardwareEngine/HardwareHW) - mouse movement and clicks via mouse_event, and keyboard input via keybd_event - used as an alternative to WebDriver/CDP-level interaction. | |
| class | HelperAttribute |
| class | HtmlToOptimizedMarkdown |
| interface | IAllowAIConfig |
| interface | IAllowAICredentials |
| interface | IAllowAIExecution |
| interface | IAllowAIModel |
| interface | IAllowAIOutput |
| interface | IAllowAIProvider |
| interface | IAllowAITask |
| interface | IAllowAITaskConfig |
| interface | IAllowAnd |
| interface | IAllowBase64Save |
| interface | IAllowBase64SaveOrInput |
| interface | IAllowCallBack |
| interface | IAllowCheckNetworkIdleOrExecution |
| interface | IAllowClientId |
| interface | IAllowClientSecret |
| interface | IAllowColumnPrecision |
| interface | IAllowColumnScale |
| interface | IAllowConverterActions |
| interface | IAllowConverterInput |
| interface | IAllowConverterInputAndActions |
| interface | IAllowConverterSettings |
| interface | IAllowConverterSettingsAndActions |
| interface | IAllowCredentialServiceType |
| interface | IAllowCredentialsIntoCredentials |
| interface | IAllowCredentialsPassword |
| interface | IAllowCredentialsServiceKeyWithCredentials |
| interface | IAllowCredentialsUsername |
| interface | IAllowCryptoAction |
| interface | IAllowCryptoConfig |
| interface | IAllowCryptoDecrypt |
| interface | IAllowCryptoEncrypt |
| interface | IAllowCryptoGenerateIV |
| interface | IAllowCryptoGenerateKey |
| interface | IAllowCryptoHash |
| interface | IAllowCryptoInput |
| interface | IAllowCryptoKeyGenInput |
| interface | IAllowCryptoSign |
| interface | IAllowCryptoVerify |
| interface | IAllowDatabaseActions |
| interface | IAllowDatabaseExecute |
| interface | IAllowDatabaseGridSettings |
| 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. More... | |
| interface | IAllowDatabaseInto |
| interface | IAllowDatabaseSettings |
| interface | IAllowDatabaseUsing |
| interface | IAllowDriveActions |
| interface | IAllowDriveCredentials |
| interface | IAllowDriveFileSelection |
| interface | IAllowDriveListOperations |
| interface | IAllowEmailActions |
| interface | IAllowEmailEnvelope |
| interface | IAllowEmailEnvelopeAndActions |
| interface | IAllowEmailReceiveOptions |
| interface | IAllowEmailServerSettings |
| interface | IAllowEmailServerSettingsAndName |
| interface | IAllowExcelCellSettings |
| interface | IAllowExcelCompareSettings |
| interface | IAllowExcelCore |
| interface | IAllowExcelFileSelection |
| interface | IAllowExcelOperations |
| interface | IAllowExcelSearchAndReplaceSettings |
| interface | IAllowExcelSheetSelection |
| interface | IAllowExecutableSetup |
| interface | IAllowFileActions |
| interface | IAllowFileName |
| interface | IAllowFileSettings |
| interface | IAllowGetCredentials |
| interface | IAllowGiven |
| interface | IAllowGPALSettings |
| interface | IAllowGridActions< T > |
| interface | IAllowKeyFromApiEndpoint |
| interface | IAllowLocalFileOperations |
| interface | IAllowLoggingAndSetting |
| interface | IAllowLoggingSettings |
| interface | IAllowName |
| interface | IAllowNameEnvelopeAndActions |
| interface | IAllowParameterLength |
| interface | IAllowParameters |
| interface | IAllowParametersAndActions |
| interface | IAllowParametersAndInto |
| interface | IAllowParametersAndUsing |
| interface | IAllowPrecsionScaleAndSettings |
| interface | IAllowRangeValue |
| interface | IAllowRemoteFileOperations |
| interface | IAllowRequestSettings |
| interface | IAllowRESTAttribute |
| interface | IAllowRESTCaptureOptions |
| interface | IAllowRESTDragAndDrop |
| interface | IAllowRESTEndpoint |
| interface | IAllowRESTEndpointDetails |
| interface | IAllowRESTExecution |
| interface | IAllowRESTInputText |
| interface | IAllowRESTMethod |
| interface | IAllowRestMethods |
| interface | IAllowRESTParameters |
| interface | IAllowRESTParametersOrExecution |
| interface | IAllowRESTScrollElement |
| interface | IAllowRESTStorageOptions |
| interface | IAllowRESTWithDownloadFilename |
| interface | IAllowRESTWithUploadFilename |
| interface | IAllowRESTWorkflow |
| interface | IAllowRunningExecutable |
| interface | IAllowSelectOptions |
| interface | IAllowSelectorSettings |
| interface | IAllowThen |
| interface | IAllowToGPALObject< TResult > |
| interface | IAllowWaitingExecutable |
| interface | IAllowWhen |
| interface | ICredentials |
| interface | ICryptography |
| interface | IGoogleDrive |
| interface | IGPALAI |
| interface | IGPALConverter |
| interface | IGPALDatabase |
| interface | IGPALElement |
| interface | IGPALExcel |
| interface | IGPALFile |
| interface | IGPALFileInternal |
| interface | IGPALGrid< T > |
| interface | IGPALLogger |
| interface | IGPALMail |
| interface | IGPALYouTube |
| class | ImageExtensions |
| Extension methods for image conversion, primarily used with OpenCV interop. | |
| class | ImageHelper |
| Provides comprehensive image capture, conversion, and matching capabilities for automation scenarios. Supports both desktop (headful) and browser (headless/headful) screenshot workflows with fluent chaining. More... | |
| class | InProgressAttribute |
| class | IntAttribute |
| class | InterfaceAttribute |
| class | IPAddressJsonConverter |
| interface | IRESTClient |
| class | KeeperHandler |
| Retrieves login records from a Keeper vault via Keeper Commander (keeper). | |
| class | KeeperLoginData |
| Login fields (username, password, and URL) of a Keeper record. More... | |
| class | KeeperRecord |
| A single record returned by Keeper Commander (keeper list/keeper search --format=json). More... | |
| class | KeysAttribute |
| class | KnownFolders |
| Class containing methods to retrieve specific file system paths. | |
| class | LastPassHandler |
| Retrieves login items from a local LastPass vault via the LastPass CLI (lpass). | |
| class | LastPassItem |
| A single vault item returned by the LastPass CLI (lpass ls --json). More... | |
| class | Launcher |
| class | LLMDigestResult |
| class | LocalAuthCallbackServer |
| Minimal fallback HTTP listener for the OAuth redirect callback (e.g. http://localhost:3000/access-token). GPALRESTAPI normally serves this redirect and its paired get-access-token endpoint; if GPALRESTAPI is not running, StartIfNeeded binds the same base URL itself and serves the same two endpoints, so the OAuth redirect always has somewhere to land. | |
| class | MatchHRef |
| class | MatchPlaceholder |
| class | MatchSrc |
| class | MatchText |
| class | MatchValue |
| class | ModifierAttribute |
| class | NaturalFilenameComparer |
Compares filenames "naturally" so that embedded numbers sort by value rather than character-by-character (e.g. file2.csv sorts before file10.csv). Used by GPALFile.WithFileSortOrder(Enums.FileSortOrder) when Enums.FileSortOrder.NaturalAscending or Enums.FileSortOrder.NaturalDescending is selected. | |
| class | NextJsHydrationExtractor |
| class | NextJsHydrationResult |
| class | ObjectCopier |
| Clone an object into another object, does not have to be the same type, but same named fields/properties will be set Use GPAL.Converter.WithInput(class).SaveTo(ref outClass) to access functionality, altho there is no granular control over copying fields or properties. | |
| class | ObjectFactory |
| Custom objet factory for our classes which do not have public constructors. | |
| class | OCRInterfaces |
| class | OnePasswordField |
| A single custom field of a 1Password item, such as a username or password field. More... | |
| class | OnePasswordHandler |
| Retrieves login items from a 1Password vault via the 1Password CLI (op). | |
| class | OnePasswordItem |
| A single vault item returned by the 1Password CLI (op item list --format=json). More... | |
| class | OnePasswordUrl |
| A single URL associated with a 1Password item. More... | |
| class | PointConverter |
| class | Printer |
| class | PrinterHelper |
| class | PrinterSettings |
| class | QuotedString |
| class | QuotedStringYamlConverter |
| class | ReceivedEmail |
| A simplified representation of a single email message retrieved by GPALMail.Receive. More... | |
| class | ReferenceEqualityComparer |
| class | RESTClient |
| 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. More... | |
| class | RESTHelper |
| class | ScrollAttribute |
| class | SearchItem |
| class | SearchResponse |
| class | Selector |
| GPAL Selector used to locate Application and Browser elements. Instantiated with GPAL.Selector. More... | |
| class | SelectorAttribute |
| class | SelectorSet |
| class | SelectorSettings |
| Settings for the current selector. Use this only for debugging. More... | |
| class | SettingsAttribute |
| class | SingleUseAttribute |
| class | SizeConverter |
| class | SmallSelectorNode |
| class | SpreadsheetResponse |
| class | stringExtension |
| class | StringFormatDetector |
| class | UnitOfWork |
| 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. More... | |
| class | UriJsonConverter |
| class | URLAttribute |
| class | ValueRange |
| class | VersionJsonConverter |
| class | VkCodeToDomKeyConverter |
| class | WaitAttribute |
| class | WindowHelper |
| class | WithCSS |
| class | WithDeltaX |
| class | WithDeltaY |
| class | WithImage |
| class | WithOffsetX |
| class | WithOffsetY |
| class | WithSelectorName |
| class | WithText |
| class | WithValue |
| class | WithXPath |
| class | WorkflowAttribute |
| class | XPathInfo |
| Represents XPath matching information returned by advanced selector strategies. More... | |
Functions | |
| delegate int | AIResponseDelegate (IGPALAI ai, IGPALGrid< string > results) |