GPAL - Generally Positive Automation Library v1.0
GPAL The Fluent Automation LIbrary
Loading...
Searching...
No Matches
GenerallyPositive Namespace Reference

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)