# IntelligenceX - Complete AI Context ## Overview IntelligenceX is a lightweight .NET client for the Codex app-server protocol. It provides a JSON-RPC client, process management, and convenience methods for authentication and conversations. - Package: IntelligenceX - Version: 0.1.0 - API types: 411 - License: MIT - Targets: .NET 8+, .NET 10+, .NET Standard 2.0, .NET Framework 4.7.2 ## Installation ``` dotnet add package IntelligenceX ``` ## Quickstart ```csharp using IntelligenceX; // TODO: add quickstart snippet ``` ## API Resources - /api/index.json - /api/search.json - /api/types/{slug}.json ## API Summary - IntelligenceX.Analysis.AnalysisCatalog — In-memory view of rule and pack definitions. - IntelligenceX.Analysis.AnalysisCatalogLoader — Loads analysis rule and pack definitions from disk. - IntelligenceX.Analysis.AnalysisCatalogValidationResult — Validation outcome for analysis rule and pack catalogs. - IntelligenceX.Analysis.AnalysisCatalogValidator — Validates analysis catalog rules and packs for structural integrity. - IntelligenceX.Analysis.AnalysisConfigExporter — Exports analyzer configuration files based on analysis settings and packs. - IntelligenceX.Analysis.AnalysisConfigExportResult — Result of exporting analyzer configuration files. - IntelligenceX.Analysis.AnalysisConfigMode — Controls how analysis configs interact with existing repository settings. - IntelligenceX.Analysis.AnalysisConfigReader — Reads analysis configuration from a reviewer.json payload. - IntelligenceX.Analysis.AnalysisGateDuplicationSettings — Settings that control duplication-specific gate behavior. - IntelligenceX.Analysis.AnalysisGateSettings — Settings that control CI gating behavior for static analysis. - IntelligenceX.Analysis.AnalysisHotspotsSettings — Settings that control how security hotspots are rendered and tracked. - IntelligenceX.Analysis.AnalysisPack — Defines a curated set of rules with optional severity overrides. - IntelligenceX.Analysis.AnalysisPolicy — Fully resolved policy from configured packs and rule overrides. - IntelligenceX.Analysis.AnalysisPolicyBuilder — Resolves configured packs, disabled rules, and severity overrides into a concrete policy. - IntelligenceX.Analysis.AnalysisPolicyRule — Selected analysis rule and effective severity. - IntelligenceX.Analysis.AnalysisResultsSettings — Settings that control how analysis findings are ingested and rendered. - IntelligenceX.Analysis.AnalysisRule — Describes a single analyzer rule and its metadata. - IntelligenceX.Analysis.AnalysisRunSettings — Settings that control intelligencex analyze run execution behavior. - IntelligenceX.Analysis.AnalysisSettings — Analysis configuration derived from reviewer.json. - IntelligenceX.Configuration.CopilotConfig — GitHub Copilot-specific configuration. - IntelligenceX.Configuration.IntelligenceXConfig — Loads and holds the IntelligenceX configuration from disk. - IntelligenceX.Configuration.OpenAIConfig — OpenAI-specific configuration that can be applied to client and session options. - IntelligenceX.Copilot.CopilotAttachment — Attachment metadata for Copilot messages. - IntelligenceX.Copilot.CopilotAuthStatus — Represents the Copilot authentication status. - IntelligenceX.Copilot.CopilotChatClient — High-level Copilot chat client that can switch between CLI and direct HTTP transports. - IntelligenceX.Copilot.CopilotChatClientOptions — Options for the high-level Copilot chat client that can select between CLI and direct transports. - IntelligenceX.Copilot.CopilotClient — Client for the GitHub Copilot CLI protocol. - IntelligenceX.Copilot.CopilotClientOptions — Options for connecting to the Copilot CLI. - IntelligenceX.Copilot.CopilotCliInstall — Utilities for installing the Copilot CLI. - IntelligenceX.Copilot.CopilotCliInstallCommand — Describes a CLI install command. - IntelligenceX.Copilot.CopilotCliInstallMethod — Supported Copilot CLI install methods. - IntelligenceX.Copilot.CopilotMessageOptions — Options for sending a Copilot message. - IntelligenceX.Copilot.CopilotModelInfo — Represents a Copilot model entry. - IntelligenceX.Copilot.CopilotSession — Represents an active Copilot session. - IntelligenceX.Copilot.CopilotSessionEvent — Represents an event emitted by a Copilot session. - IntelligenceX.Copilot.CopilotSessionOptions — Options for Copilot chat sessions. - IntelligenceX.Copilot.CopilotStatus — Represents Copilot CLI status information. - IntelligenceX.Copilot.CopilotTransportKind — Describes the transport used to talk to Copilot. - IntelligenceX.Copilot.Direct.CopilotDirectClient — Experimental direct HTTP client for Copilot-compatible endpoints. - IntelligenceX.Copilot.Direct.CopilotDirectOptions — Options for the experimental Copilot direct HTTP client. - IntelligenceX.Json.JsonArray — Represents a mutable JSON array. - IntelligenceX.Json.JsonLite — Lightweight JSON parsing and serialization helpers. - IntelligenceX.Json.JsonMapper — Maps common CLR types to [[cref:IntelligenceX.Json.JsonValue]] representations. - IntelligenceX.Json.JsonObject — Represents a mutable JSON object. - IntelligenceX.Json.JsonObjectExtensions — Extension helpers for [[cref:IntelligenceX.Json.JsonObject]]. - IntelligenceX.Json.JsonValue — Represents a JSON value with a kind and raw value storage. - IntelligenceX.Json.JsonValueKind — Enumerates the supported JSON value kinds. - IntelligenceX.OpenAI.AppServer.AppServerClient — Low-level client for the OpenAI app-server JSON-RPC protocol. - IntelligenceX.OpenAI.AppServer.AppServerOptions — Options for starting and configuring the app-server process. - IntelligenceX.OpenAI.AppServer.ClientInfo — Identifies a client when initializing the app-server. - IntelligenceX.OpenAI.AppServer.Models.AccountInfo — Represents account metadata returned by the app-server. - IntelligenceX.OpenAI.AppServer.Models.ChatGptLoginStart — Represents the initial response from a ChatGPT login start call. - IntelligenceX.OpenAI.AppServer.Models.CollaborationModeListResult — Represents a list of collaboration mode masks. - IntelligenceX.OpenAI.AppServer.Models.CollaborationModeMask — Describes a collaboration mode mask. - IntelligenceX.OpenAI.AppServer.Models.CommandExecRequest — Represents a command execution request for the app-server. - IntelligenceX.OpenAI.AppServer.Models.CommandExecResult — Represents the result of a command execution. - IntelligenceX.OpenAI.AppServer.Models.ConfigEntry — Represents a single configuration key/value pair sent to app-server write APIs. - IntelligenceX.OpenAI.AppServer.Models.ConfigLayer — Represents a single configuration layer considered by app-server. - IntelligenceX.OpenAI.AppServer.Models.ConfigLayerMetadata — Metadata about the source of a specific configuration field. - IntelligenceX.OpenAI.AppServer.Models.ConfigLayerSourceInfo — Represents source descriptor details for a configuration layer. - IntelligenceX.OpenAI.AppServer.Models.ConfigReadResult — Represents the app-server configuration read response. Includes merged effective config plus metadata describing value origins and layers. - IntelligenceX.OpenAI.AppServer.Models.ConfigRequirements — Describes allowed values for selected configuration keys. - IntelligenceX.OpenAI.AppServer.Models.ConfigRequirementsReadResult — Represents the response containing server-side configuration constraints. - IntelligenceX.OpenAI.AppServer.Models.McpAuthStatus — Authentication status for an MCP server. - IntelligenceX.OpenAI.AppServer.Models.McpOauthLoginStart — Represents the initial response from an MCP OAuth login start request. - IntelligenceX.OpenAI.AppServer.Models.McpResourceInfo — Describes an MCP resource. - IntelligenceX.OpenAI.AppServer.Models.McpResourceTemplateInfo — Describes an MCP resource template. - IntelligenceX.OpenAI.AppServer.Models.McpServerStatus — Represents the status and capabilities of a single MCP server. - IntelligenceX.OpenAI.AppServer.Models.McpServerStatusListResult — Represents one page of MCP server status results. - IntelligenceX.OpenAI.AppServer.Models.McpToolInfo — Describes an MCP tool. - IntelligenceX.OpenAI.AppServer.Models.ModelInfo — Represents a single model entry. - IntelligenceX.OpenAI.AppServer.Models.ModelListResult — Represents the result of a model list request. - IntelligenceX.OpenAI.AppServer.Models.ReasoningEffortOption — Describes a supported reasoning effort option for a model. - IntelligenceX.OpenAI.AppServer.Models.ReviewStartResult — Represents the response after starting a review. - IntelligenceX.OpenAI.AppServer.Models.ReviewTarget — Describes what content should be reviewed. - IntelligenceX.OpenAI.AppServer.Models.SkillGroup — Represents a skill group for a working directory. - IntelligenceX.OpenAI.AppServer.Models.SkillInfo — Represents a single skill entry. - IntelligenceX.OpenAI.AppServer.Models.SkillInterfaceInfo — Represents UI metadata for a skill. - IntelligenceX.OpenAI.AppServer.Models.SkillListResult — Represents a list of skill groups. - IntelligenceX.OpenAI.AppServer.Models.ThreadIdListResult — Represents a list of thread ids. - IntelligenceX.OpenAI.AppServer.Models.ThreadInfo — Represents a chat thread summary. - IntelligenceX.OpenAI.AppServer.Models.ThreadListResult — Represents a list of chat threads. - IntelligenceX.OpenAI.AppServer.Models.ThreadUsageSummary — Represents cumulative token usage for a thread/session. - IntelligenceX.OpenAI.AppServer.Models.TurnInfo — Represents a single chat turn and its outputs. - IntelligenceX.OpenAI.AppServer.Models.TurnOutput — Represents a single output item in a chat turn. - IntelligenceX.OpenAI.AppServer.Models.TurnUsage — Represents token usage details for a single turn. - IntelligenceX.OpenAI.AppServer.Models.UserInputResponse — Represents a response to a user input prompt. - IntelligenceX.OpenAI.AppServer.SandboxPolicy — Describes sandbox constraints for app-server execution. - IntelligenceX.OpenAI.Auth.AuthBundle — Represents an authentication bundle for OpenAI providers. - IntelligenceX.OpenAI.Auth.AuthBundleSerializer — Serializes and deserializes auth bundles. - IntelligenceX.OpenAI.Auth.AuthPaths — Provides common paths used for auth storage. - IntelligenceX.OpenAI.Auth.CodexAuthProfile - IntelligenceX.OpenAI.Auth.CodexAuthStore — Utilities for working with Codex auth.json files. - IntelligenceX.OpenAI.Auth.FileAuthBundleStore — File-based authentication bundle store with optional encryption. - IntelligenceX.OpenAI.Auth.IAuthBundleStore — Abstraction for storing authentication bundles. - IntelligenceX.OpenAI.Auth.OAuthConfig — Configuration for the OAuth login flow. - IntelligenceX.OpenAI.Auth.OAuthLoginOptions — Options for the OAuth login flow. - IntelligenceX.OpenAI.Auth.OAuthLoginResult — Represents the result of an OAuth login flow. - IntelligenceX.OpenAI.Auth.OAuthLoginService — Implements the OAuth login flow and token refresh. - IntelligenceX.OpenAI.Chat.ChatEnumParser — Helpers for parsing enum values from strings. - IntelligenceX.OpenAI.Chat.ChatInput — Represents structured chat input content. - IntelligenceX.OpenAI.Chat.ChatOptions — Options for chat requests. - IntelligenceX.OpenAI.Chat.ImageGenerationOptions — Options for the Responses API image generation built-in tool. - IntelligenceX.OpenAI.Chat.ReasoningEffort — Indicates the desired reasoning effort. - IntelligenceX.OpenAI.Chat.ReasoningSummary — Indicates the desired reasoning summary level. - IntelligenceX.OpenAI.Chat.TextVerbosity — Indicates the desired text verbosity level. - IntelligenceX.OpenAI.CompatibleHttp.OpenAICompatibleHttpAuthMode — Authentication mode for OpenAI-compatible HTTP transports. - IntelligenceX.OpenAI.CompatibleHttp.OpenAICompatibleHttpOptions — Options for connecting to an OpenAI-compatible HTTP endpoint (for example a local model server). - IntelligenceX.OpenAI.Easy — Convenience helpers for one-shot chat calls. - IntelligenceX.OpenAI.EasyChatOptions — Configuration for an easy chat request. - IntelligenceX.OpenAI.EasyChatResult — Represents the simplified result of an easy chat call. - IntelligenceX.OpenAI.EasyImage — Represents an image output from a chat call. - IntelligenceX.OpenAI.EasyLoginMode — Identifies which login mode to use for easy sessions. - IntelligenceX.OpenAI.EasySession — Provides a simplified session wrapper for chat interactions. - IntelligenceX.OpenAI.EasySessionOptions — Options for creating [[cref:IntelligenceX.OpenAI.EasySession]] instances. - IntelligenceX.OpenAI.Fluent.AppServerFluent — Fluent helpers for launching the local OpenAI App Server and returning a session wrapper. - IntelligenceX.OpenAI.Fluent.FluentLoginSession — Represents a fluent login session wrapper. - IntelligenceX.OpenAI.Fluent.FluentSession — Fluent wrapper around [[cref:IntelligenceX.OpenAI.AppServer.AppServerClient]]. - IntelligenceX.OpenAI.Fluent.FluentThreadSession — Fluent wrapper for operations on a specific thread. - IntelligenceX.OpenAI.IntelligenceXClient — Main client for OpenAI app-server and native transports. - IntelligenceX.OpenAI.IntelligenceXClientOptions — Configuration for creating an [[cref:IntelligenceX.OpenAI.IntelligenceXClient]]. - IntelligenceX.OpenAI.Native.OpenAINativeOptions — Options for the ChatGPT native transport, including auth, endpoints, and defaults. - IntelligenceX.OpenAI.OpenAIAuthenticationRequiredException — Exception thrown when an operation requires an authenticated ChatGPT session. - IntelligenceX.OpenAI.OpenAIModelCatalog — Shared helpers for OpenAI/Codex model identifiers used across IntelligenceX. - IntelligenceX.OpenAI.OpenAITransportKind — Identifies the OpenAI transport implementation. - IntelligenceX.OpenAI.OpenAIUserCanceledLoginException — Exception thrown when a user explicitly cancels an interactive login flow. - IntelligenceX.OpenAI.ToolCalling.ToolCallParser — Helper for extracting tool calls from a turn response. - IntelligenceX.OpenAI.ToolCalling.ToolChoice — Represents the tool selection strategy for a request. - IntelligenceX.OpenAI.ToolCalling.ToolRunner — Executes a chat request with tool calls resolved locally. - IntelligenceX.OpenAI.ToolCalling.ToolRunnerOptions — Tool runner configuration. - IntelligenceX.OpenAI.ToolCalling.ToolRunResult — Result of a tool runner execution. - IntelligenceX.OpenAI.Usage.ChatGptCreditsSnapshot — Represents a credits snapshot for a ChatGPT account. - IntelligenceX.OpenAI.Usage.ChatGptCreditUsageEvent — Represents a single credit usage event. - IntelligenceX.OpenAI.Usage.ChatGptDailyTokenUsageBreakdown — Represents daily token usage breakdown grouped by product surface. - IntelligenceX.OpenAI.Usage.ChatGptDailyTokenUsageDay — Represents one day's token usage breakdown by product surface. - IntelligenceX.OpenAI.Usage.ChatGptNamedRateLimit — Represents an additional named rate limit returned alongside the primary usage status. - IntelligenceX.OpenAI.Usage.ChatGptRateLimitStatus — Represents rate limit status information. - IntelligenceX.OpenAI.Usage.ChatGptRateLimitWindow — Represents a rate limit window. - IntelligenceX.OpenAI.Usage.ChatGptUsageCache — Helpers for reading and writing the local usage cache. - IntelligenceX.OpenAI.Usage.ChatGptUsageCacheEntry — Represents a cached usage snapshot entry. - IntelligenceX.OpenAI.Usage.ChatGptUsageReport — Represents a combined usage snapshot and usage events report. - IntelligenceX.OpenAI.Usage.ChatGptUsageService — Retrieves ChatGPT usage, rate limits, and credit usage events. - IntelligenceX.OpenAI.Usage.ChatGptUsageSnapshot — Represents a usage snapshot returned by ChatGPT usage endpoints. - IntelligenceX.Presentation.PopupBounds — Device-independent bounds used during popup placement. - IntelligenceX.Presentation.PopupPlacement — Final popup placement in device-independent units. - IntelligenceX.Presentation.PopupPlacementMath — Helper methods for converting monitor pixel coordinates into device-independent popup placement. - IntelligenceX.Presentation.PopupPoint — Device-independent point used during popup placement. - IntelligenceX.Rpc.JsonRpcError — Represents a JSON-RPC error payload. - IntelligenceX.Rpc.JsonRpcErrorHints — Provides friendly descriptions for JSON-RPC error codes. - IntelligenceX.Rpc.JsonRpcException — Exception raised for JSON-RPC error responses. - IntelligenceX.Rpc.JsonRpcNotificationEventArgs — Event arguments for JSON-RPC notifications. - IntelligenceX.Rpc.JsonRpcRequest — Represents an inbound JSON-RPC request. - IntelligenceX.Rpc.JsonRpcRequestEventArgs — Event arguments for JSON-RPC requests. - IntelligenceX.Setup.Onboarding.SetupOnboardingCommandTemplates — Canonical command templates for onboarding flows. - IntelligenceX.Setup.Onboarding.SetupOnboardingContract — Canonical onboarding contract consumed by CLI, Web, and Bot surfaces. - IntelligenceX.Setup.Onboarding.SetupOnboardingContractMismatch — Single mismatch entry for onboarding contract verification. - IntelligenceX.Setup.Onboarding.SetupOnboardingContractVerification — Verification helper for onboarding contract metadata parity checks. - IntelligenceX.Setup.Onboarding.SetupOnboardingContractVerificationResult — Result payload for onboarding contract metadata verification. - IntelligenceX.Setup.Onboarding.SetupOnboardingOperationIds — Canonical operation ids used by onboarding contracts. - IntelligenceX.Setup.Onboarding.SetupOnboardingPathContract — Immutable onboarding path contract. - IntelligenceX.Telemetry.Git.GitCodeChurnSummaryService — Summarizes recent local git churn so tray and report surfaces can reuse one compact model. - IntelligenceX.Telemetry.Git.GitCodeUsageCorrelationSummaryBuilder — Builds a compact summary that compares local git churn with recent telemetry usage patterns. - IntelligenceX.Telemetry.Git.GitCodeUsageCorrelationSummaryData — Compact repository churn vs usage summary. - IntelligenceX.Telemetry.Git.GitCodeUsageDailyValueData — One daily activity point for churn-vs-usage comparison. - IntelligenceX.Telemetry.Git.GitCodeUsageProviderCorrelationData — One provider-level churn vs usage correlation result. - IntelligenceX.Telemetry.Git.GitCodeUsageProviderSeriesData — Daily usage/activity series for one provider. - IntelligenceX.Telemetry.GitHub.GitHubContribData — Contribution summary for the dashboard window. - IntelligenceX.Telemetry.GitHub.GitHubCredentialResolution — Holds the resolved GitHub credential state for the tray. - IntelligenceX.Telemetry.GitHub.GitHubCredentialResolver — Resolves GitHub credentials from supported local sources without requiring manual token entry. - IntelligenceX.Telemetry.GitHub.GitHubCredentialSource — Identifies where the tray resolved GitHub credentials from. - IntelligenceX.Telemetry.GitHub.GitHubDailyContrib — Daily contribution entry for the dashboard. - IntelligenceX.Telemetry.GitHub.GitHubDashboardData — Shared GitHub dashboard data for tray or diagnostics UIs. - IntelligenceX.Telemetry.GitHub.GitHubDashboardService — Native GitHub dashboard service for shared observability scenarios. - IntelligenceX.Telemetry.GitHub.GitHubLocalActivityCorrelationSummaryBuilder — Correlates watched GitHub repository momentum with local code churn and telemetry activity. - IntelligenceX.Telemetry.GitHub.GitHubObservabilitySummaryData — Compact GitHub watch summary consumed by tray and report view models. - IntelligenceX.Telemetry.GitHub.GitHubObservabilitySummaryService — Builds compact GitHub repository watch momentum data for UI and report surfaces. - IntelligenceX.Telemetry.GitHub.GitHubObservedCorrelationData — Pairwise repository movement correlation derived from watched daily trend points. - IntelligenceX.Telemetry.GitHub.GitHubObservedForkNetworkOverlapData — Shared fork-owner overlap between two watched repositories. - IntelligenceX.Telemetry.GitHub.GitHubObservedRepositoryTrendData — Single watched repository trend row. - IntelligenceX.Telemetry.GitHub.GitHubObservedStarCorrelationData — Pairwise star-delta correlation derived from watched daily star movement. - IntelligenceX.Telemetry.GitHub.GitHubObservedStargazerAudienceOverlapData — Shared stargazer-audience overlap between two watched repositories. - IntelligenceX.Telemetry.GitHub.GitHubObservedTrendPointData — Single recent trend point derived from daily snapshot deltas. - IntelligenceX.Telemetry.GitHub.GitHubProfileInfo — Profile details for the GitHub dashboard window. - IntelligenceX.Telemetry.GitHub.GitHubRepoInfo — Repository summary for the dashboard. - IntelligenceX.Telemetry.GitHub.GitHubRepositoryClusterSummaryBuilder — Combines star-sync, shared stargazers, fork-network overlap, and local-pulse alignment into related repo clusters. - IntelligenceX.Telemetry.GitHub.GitHubRepositoryForkChange — Latest status change for a tracked fork. - IntelligenceX.Telemetry.GitHub.GitHubRepositoryForkHistoryAnalytics — Analytics helpers for persisted fork history. - IntelligenceX.Telemetry.GitHub.GitHubRepositoryForkInfo — Ranked fork candidate returned by the shared dashboard client. - IntelligenceX.Telemetry.GitHub.GitHubRepositoryForkSnapshotRecord — Canonical persisted observation of a fork at a point in time. - IntelligenceX.Telemetry.GitHub.GitHubRepositoryIdentity — Helpers for repository watch identity and normalization. - IntelligenceX.Telemetry.GitHub.GitHubRepositoryObservabilityService — Coordinates repository watch management and persisted snapshot history. - IntelligenceX.Telemetry.GitHub.GitHubRepositorySnapshotAnalytics — Analytics helpers for repository snapshots. - IntelligenceX.Telemetry.GitHub.GitHubRepositorySnapshotDelta — Delta between two repository snapshots. - IntelligenceX.Telemetry.GitHub.GitHubRepositorySnapshotRecord — Canonical repository snapshot used to track stars, forks, watchers, and related trend metrics over time. - IntelligenceX.Telemetry.GitHub.GitHubRepositoryStargazerInfo — Lightweight stargazer record returned by the shared dashboard client. - IntelligenceX.Telemetry.GitHub.GitHubRepositoryStargazerSnapshotRecord — Canonical persisted observation of a repository stargazer at a point in time. - IntelligenceX.Telemetry.GitHub.GitHubRepositoryWatchRecord — Canonical GitHub repository watch definition for tray and reporting features. - IntelligenceX.Telemetry.GitHub.IGitHubRepositoryForkSnapshotStore — Contract for persisted GitHub fork observations. - IntelligenceX.Telemetry.GitHub.IGitHubRepositorySnapshotStore — Contract for persisted GitHub repository snapshots. - IntelligenceX.Telemetry.GitHub.IGitHubRepositoryStargazerSnapshotStore — Contract for persisted GitHub stargazer observations. ## API Members ### IntelligenceX.Analysis.AnalysisCatalog In-memory view of rule and pack definitions. #### Methods - public Boolean TryGetRule(String id, out AnalysisRule rule) — Try to get a rule by ID. - public Boolean TryGetPack(String id, out AnalysisPack pack) — Try to get a pack by ID. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyDictionary Rules { get; } — Rule definitions keyed by rule ID. - public IReadOnlyDictionary Packs { get; } — Pack definitions keyed by pack ID. ### IntelligenceX.Analysis.AnalysisCatalogLoader Loads analysis rule and pack definitions from disk. #### Methods - public static AnalysisCatalog LoadFromWorkspace(String workspace) — Loads catalog content from the workspace (defaults to current directory). - public static AnalysisCatalog LoadFromPaths(String rulesRoot, String packsRoot) — Loads catalog content from explicit rule and pack directories. - public static AnalysisCatalog LoadFromPaths(String rulesRoot, String overridesRoot, String packsRoot) — Loads catalog content from explicit rule, override, and pack directories. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Analysis.AnalysisCatalogValidationResult Validation outcome for analysis rule and pack catalogs. #### Methods - public String BuildSummary() — Builds a short one-line summary string. - public AnalysisCatalogValidationResult Normalize() — Creates a normalized result with deterministic ordering. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean IsValid { get; } — True when no validation errors were found. - public IReadOnlyList Errors { get; } — Validation errors that should block catalog usage. - public IReadOnlyList Warnings { get; } — Validation warnings that should be reviewed but do not block by themselves. - public Int32 IssueCount { get; } — Total number of discovered issues (errors + warnings). ### IntelligenceX.Analysis.AnalysisCatalogValidator Validates analysis catalog rules and packs for structural integrity. #### Methods - public static AnalysisCatalogValidationResult ValidateWorkspace(String workspace) — Validates catalog content under the workspace. - public static AnalysisCatalogValidationResult ValidatePaths(String rulesRoot, String packsRoot) — Validates catalog content under explicit rules and packs roots. - public static AnalysisCatalogValidationResult ValidatePaths(String rulesRoot, String overridesRoot, String packsRoot) — Validates catalog content under explicit rules, overrides, and packs roots. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Analysis.AnalysisConfigExporter Exports analyzer configuration files based on analysis settings and packs. #### Methods - public static AnalysisConfigExportResult Export(AnalysisSettings settings, AnalysisCatalog catalog, String outputDirectory) — Writes analyzer configuration files into the output directory. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Analysis.AnalysisConfigExportResult Result of exporting analyzer configuration files. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String OutputDirectory { get; } — Directory that received exported config files. - public IReadOnlyList Files { get; } — Generated config file paths. - public Int32 RuleCount { get; } — Number of rules exported. - public IReadOnlyList Warnings { get; } — Non-fatal warnings produced during export. ### IntelligenceX.Analysis.AnalysisConfigMode Controls how analysis configs interact with existing repository settings. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const AnalysisConfigMode Respect — Keep repository analyzer configs intact and only filter findings. - public const AnalysisConfigMode Overlay — Merge pack rules on top of repository configs for the analysis run. - public const AnalysisConfigMode Replace — Ignore repository configs and use only pack rules for the analysis run. ### IntelligenceX.Analysis.AnalysisConfigReader Reads analysis configuration from a reviewer.json payload. #### Methods - public static Void Apply(JsonObject root, JsonObject reviewObj, AnalysisSettings settings) — Applies analysis configuration values from the JSON object. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Analysis.AnalysisGateDuplicationSettings Settings that control duplication-specific gate behavior. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean Enabled { get; set; } — Enables duplication gate checks based on duplication metrics produced by analyze run. - public String MetricsPath { get; set; } — Path to duplication metrics JSON emitted by analyze run. - public IReadOnlyList RuleIds { get; set; } — Rule IDs to evaluate from the duplication metrics payload. - public Nullable MaxFilePercent { get; set; } — Optional per-file duplication threshold override (0-100). When null, each rule's configured threshold is used. - public Nullable MaxFilePercentIncrease { get; set; } — Optional allowed per-file duplication increase (in percentage points, 0-100) compared to the baseline file snapshot. Requires analysis.gate.baselinePath to be configured and present. - public Nullable MaxOverallPercent { get; set; } — Optional overall duplication threshold (0-100) across all significant lines. - public Nullable MaxOverallPercentIncrease { get; set; } — Optional allowed increase (in percentage points, 0-100) compared to the baseline overall duplication snapshot. Requires analysis.gate.baselinePath to be configured and present. - public String Scope { get; set; } — Scope used for duplication gating. Supported values: changed-files (default) and all. - public Boolean ScopeExplicitlyConfigured { get; set; } — True when analysis.gate.duplication.scope was explicitly provided in config. Used to distinguish default scope fallback from an intentional strict scope selection. - public Boolean NewIssuesOnly { get; set; } — When true, duplication gate checks honor baseline/new-only suppression semantics. - public Boolean FailOnUnavailable { get; set; } — When true, unavailable duplication metrics fail the gate. ### IntelligenceX.Analysis.AnalysisGateSettings Settings that control CI gating behavior for static analysis. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean Enabled { get; set; } — Enables the analysis gate. When enabled, intelligencex analyze gate can fail CI deterministically. - public String MinSeverity { get; set; } — Minimum severity to consider for gate evaluation. Defaults to warning. - public IReadOnlyList Types { get; set; } — Optional list of rule types to gate on (e.g. bug, vulnerability). When empty, all types are considered. - public IReadOnlyList RuleIds { get; set; } — Optional list of explicit rule IDs to gate on. When set together with [[cref:IntelligenceX.Analysis.AnalysisGateSettings.Types]], a finding is in-scope when it matches either filter. - public Boolean IncludeOutsidePackRules { get; set; } — When true, findings for rules outside the enabled packs can fail the gate (useful to detect untracked tool rules). - public Boolean FailOnUnavailable { get; set; } — When true (default), fail when results are unavailable (no matched inputs, parse failures, etc.). - public Boolean FailOnNoEnabledRules { get; set; } — When true (default), fail when no rules are enabled (for example packs missing or empty). - public Boolean FailOnHotspotsToReview { get; set; } — When true, fail the gate if any in-scope security hotspot has state to-review. - public Boolean NewIssuesOnly { get; set; } — When true, the gate evaluates only findings that are not present in the configured baseline. - public String BaselinePath { get; set; } — Relative or absolute path to the findings baseline used when [[cref:IntelligenceX.Analysis.AnalysisGateSettings.NewIssuesOnly]] is enabled. - public AnalysisGateDuplicationSettings Duplication { get; } — Duplication-specific gate settings. ### IntelligenceX.Analysis.AnalysisHotspotsSettings Settings that control how security hotspots are rendered and tracked. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean Show { get; set; } — Whether to render the security hotspots block. - public Int32 MaxItems { get; set; } — Maximum number of hotspots shown in the summary block. Set to 0 to hide item lists while keeping counts. - public String StatePath { get; set; } — Relative or absolute path to the persisted hotspots state file. Defaults to a repo-local file under .intelligencex. - public Boolean ShowStateSummary { get; set; } — Whether to include state breakdown and missing-state hints in output. - public Boolean AlwaysRender { get; set; } — Render the hotspots block even when there are no hotspots in the current PR. ### IntelligenceX.Analysis.AnalysisPack Defines a curated set of rules with optional severity overrides. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Id { get; } — Pack identifier. - public String Label { get; } — Human-friendly label. - public String Description { get; } — Optional pack description. - public IReadOnlyList Rules { get; } — Rule IDs included in the pack. - public IReadOnlyDictionary SeverityOverrides { get; } — Optional severity overrides applied by the pack. - public IReadOnlyList Includes { get; } — Optional included pack IDs. Included packs are resolved before this pack. - public String SourcePath { get; } — Source file path for the pack definition. ### IntelligenceX.Analysis.AnalysisPolicy Fully resolved policy from configured packs and rule overrides. #### Methods - public IReadOnlyList SelectByLanguage(params String[] languages) — Returns selected rules that match any of the provided languages. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyDictionary Rules { get; } — Selected rules keyed by catalog rule id. - public IReadOnlyList Warnings { get; } — Non-fatal warnings while resolving packs/rules. ### IntelligenceX.Analysis.AnalysisPolicyBuilder Resolves configured packs, disabled rules, and severity overrides into a concrete policy. #### Methods - public static AnalysisPolicy Build(AnalysisSettings settings, AnalysisCatalog catalog) — Builds an analysis policy from settings and catalog metadata. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Analysis.AnalysisPolicyRule Selected analysis rule and effective severity. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public AnalysisRule Rule { get; } — Rule metadata. - public String Severity { get; } — Effective severity after pack and user overrides. ### IntelligenceX.Analysis.AnalysisResultsSettings Settings that control how analysis findings are ingested and rendered. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList Inputs { get; set; } — Paths or globs to analysis result files (SARIF or IntelligenceX findings JSON). - public String MinSeverity { get; set; } — Minimum severity to include when rendering analysis findings. - public Int32 MaxInline { get; set; } — Maximum inline static-analysis comments to emit when a repository opts into legacy inline comments. Defaults to 0, which keeps static-analysis findings summary-only. - public Boolean Summary { get; set; } — Whether to emit a summary block for analysis findings. - public Int32 SummaryMaxItems { get; set; } — Maximum findings to include in the summary block. - public String SummaryPlacement { get; set; } — Placement for the summary block. - public Boolean ShowPolicy { get; set; } — Whether to include a policy overview in the PR summary. - public Int32 PolicyRulePreviewItems { get; set; } — Maximum number of rules shown per policy rule list line (for example enabled, failing, clean). Set to 0 to hide per-rule lists while keeping aggregate counts. #### Fields - public const Int32 DefaultPolicyRulePreviewItems — Default number of rules shown per policy preview line. - public const Int32 MaxPolicyRulePreviewItems — Maximum number of rules shown per policy preview line. ### IntelligenceX.Analysis.AnalysisRule Describes a single analyzer rule and its metadata. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Id { get; } — Stable rule identifier. - public String Language { get; } — Language identifier for the rule. - public String Tool { get; } — Analyzer tool that owns the rule. - public String ToolRuleId { get; } — Tool-specific rule identifier. - public String Title { get; } — Short rule title. - public String Description { get; } — Rule description shown in UI. - public String Category { get; } — Rule category label. - public String DefaultSeverity { get; } — Default severity assigned by the pack. - public IReadOnlyList Tags { get; } — Optional rule tags for grouping. - public String Docs { get; } — Optional documentation link. - public String SourcePath { get; } — Source file path for the rule definition. - public String Type { get; } — Optional rule type classification (for example: bug, vulnerability, code-smell, security-hotspot). ### IntelligenceX.Analysis.AnalysisRunSettings Settings that control intelligencex analyze run execution behavior. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean Strict { get; set; } — When true, analysis runner failures (for example tool execution failures) return a non-zero exit code. ### IntelligenceX.Analysis.AnalysisSettings Analysis configuration derived from reviewer.json. #### Methods - public static AnalysisConfigMode ParseConfigMode(String value, AnalysisConfigMode fallback) — Parses a config mode value with a fallback. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean Enabled { get; set; } — Enables analysis ingestion and rendering. - public AnalysisConfigMode ConfigMode { get; set; } — Strategy for applying pack rules relative to existing repo configs. - public IReadOnlyList Packs { get; set; } — Pack identifiers to enable. - public IReadOnlyList DisabledRules { get; set; } — Rule IDs to disable after packs are applied. - public IReadOnlyDictionary SeverityOverrides { get; set; } — Per-rule severity overrides. - public AnalysisResultsSettings Results { get; } — Rendering and ingestion settings for analysis findings. - public AnalysisHotspotsSettings Hotspots { get; } — Security hotspot rendering and state settings. - public AnalysisRunSettings Run { get; } — Analysis runner execution settings. - public AnalysisGateSettings Gate { get; } — CI gate settings. ### IntelligenceX.Configuration.CopilotConfig GitHub Copilot-specific configuration. #### Methods - public Void ApplyTo(CopilotClientOptions options) — Applies settings to a [[cref:IntelligenceX.Copilot.CopilotClientOptions]] instance. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String CliPath { get; set; } — Path to the Copilot CLI executable. - public String CliUrl { get; set; } — Download URL for the Copilot CLI. - public Nullable AutoInstall { get; set; } — Automatically installs the Copilot CLI when missing. ### IntelligenceX.Configuration.IntelligenceXConfig Loads and holds the IntelligenceX configuration from disk. #### Methods - public static Boolean TryLoad(out IntelligenceXConfig config, String path = null, String baseDirectory = null) — Attempts to load configuration from the provided path, the environment, or the default location. - public static IntelligenceXConfig Load(String path = null, String baseDirectory = null) — Loads configuration or throws if it cannot be found or parsed. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public OpenAIConfig OpenAI { get; } — OpenAI provider configuration. - public CopilotConfig Copilot { get; } — Copilot provider configuration. ### IntelligenceX.Configuration.OpenAIConfig OpenAI-specific configuration that can be applied to client and session options. #### Methods - public Void ApplyTo(AppServerOptions options) — Applies settings to an [[cref:IntelligenceX.OpenAI.EasySessionOptions]] instance. - ApplyTo — Applies settings to an [[cref:IntelligenceX.OpenAI.IntelligenceXClientOptions]] instance. - ApplyTo — Applies app-server related settings to an [[cref:IntelligenceX.OpenAI.AppServer.AppServerOptions]] instance. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String DefaultModel { get; set; } — Default model name to use for new sessions. - public String WorkingDirectory { get; set; } — Default working directory for file operations. - public String ApprovalPolicy { get; set; } — Default approval policy string (for example, "never" or "auto"). - public Nullable AllowNetwork { get; set; } — Enables or disables network access for tools that can use it. - public String Transport { get; set; } — Transport identifier (for example, "native" or "appserver"). - public String CompatibleHttpBaseUrl { get; set; } — Base URL for OpenAI-compatible HTTP endpoints (for example, a local provider). Example: http://127.0.0.1:11434/v1 - public String CompatibleHttpApiKey { get; set; } — Optional API key for OpenAI-compatible HTTP endpoints (sent as Bearer). - public Nullable CompatibleHttpStreaming { get; set; } — Whether to request streaming from OpenAI-compatible HTTP endpoints. - public Nullable CompatibleHttpAllowInsecureHttp { get; set; } — Allows insecure http:// base URLs (loopback only). - public Nullable CompatibleHttpAllowInsecureHttpNonLoopback { get; set; } — Allows insecure http:// base URLs for non-loopback hosts (dangerous). - public String Originator { get; set; } — Originator value reported for native OpenAI requests. - public String ResponsesUrl { get; set; } — Overrides the OpenAI responses endpoint URL. - public String ChatGptApiBaseUrl { get; set; } — Overrides the ChatGPT API base URL for native transport. - public String AuthAccountId { get; set; } — Optional ChatGPT account id to use when multiple bundles exist in the auth store. - public String Instructions { get; set; } — Default system instructions for native sessions. - public String TextVerbosity { get; set; } — Text verbosity hint for native requests. - public String AppServerPath { get; set; } — Path to the OpenAI app-server executable. - public String AppServerArgs { get; set; } — Arguments passed to the app-server executable. - public String AppServerWorkingDirectory { get; set; } — Working directory for the app-server process. - public Nullable OpenBrowser { get; set; } — Opens a browser during ChatGPT login flows when enabled. - public Nullable PrintLoginUrl { get; set; } — Prints the login URL to the console during ChatGPT login flows when enabled. - public Nullable AutoLogin { get; set; } — Attempts automatic login when enabled. - public String LoginMode { get; set; } — Login mode override ("chatgpt", "api", or "none"). - public Nullable MaxImageBytes { get; set; } — Maximum allowed image payload size in bytes. - public Nullable RequireWorkspaceForFileAccess { get; set; } — Requires the workspace path to be set before file access is allowed. - public String ReasoningEffort { get; set; } — Reasoning effort hint ("low", "medium", "high"). - public String ReasoningSummary { get; set; } — Reasoning summary hint ("auto", "concise", "detailed"). ### IntelligenceX.Copilot.CopilotAttachment Attachment metadata for Copilot messages. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Type { get; set; } — Attachment type (for example, "file"). - public String Path { get; set; } — Attachment path. - public String DisplayName { get; set; } — Optional display name. ### IntelligenceX.Copilot.CopilotAuthStatus Represents the Copilot authentication status. #### Methods - public static CopilotAuthStatus FromJson(JsonObject obj) — Parses a Copilot auth status from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean IsAuthenticated { get; } — Gets a value indicating whether the user is authenticated. - public String AuthType { get; } — Gets the auth type. - public String Host { get; } — Gets the host name. - public String Login { get; } — Gets the login name. - public String StatusMessage { get; } — Gets the status message. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.Copilot.CopilotChatClient High-level Copilot chat client that can switch between CLI and direct HTTP transports. #### Methods - public static async Task StartAsync(CopilotChatClientOptions options = null, CancellationToken cancellationToken = null) — Starts a Copilot chat client using the selected transport. - public async Task ChatAsync(String prompt, String model = null, CancellationToken cancellationToken = null) — Sends a single prompt and returns the response text. - public virtual Void Dispose() — Disposes the client synchronously. - public virtual async ValueTask DisposeAsync() — Disposes the client asynchronously. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Copilot.CopilotChatClientOptions Options for the high-level Copilot chat client that can select between CLI and direct transports. #### Methods - public Void Validate() — Validates configuration values. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public CopilotTransportKind Transport { get; set; } — Transport selection (CLI or direct HTTP). - public CopilotClientOptions Cli { get; } — Options for the Copilot CLI transport. - public CopilotDirectOptions Direct { get; } — Options for the direct HTTP transport. - public String DefaultModel { get; set; } — Default model to use when none is provided to ChatAsync. - public TimeSpan Timeout { get; set; } — Timeout to apply to CLI SendAndWaitAsync calls. ### IntelligenceX.Copilot.CopilotClient Client for the GitHub Copilot CLI protocol. #### Methods - public static async Task StartAsync(CopilotClientOptions options = null, CancellationToken cancellationToken = null) — Starts the Copilot client. - public async Task GetStatusAsync(CancellationToken cancellationToken = null) — Retrieves Copilot CLI status information. - public async Task GetAuthStatusAsync(CancellationToken cancellationToken = null) — Retrieves Copilot authentication status. - public async Task> ListModelsAsync(CancellationToken cancellationToken = null) — Lists available Copilot models. - public async Task CreateSessionAsync(CopilotSessionOptions options = null, CancellationToken cancellationToken = null) — Creates a new Copilot session. - public async Task DeleteSessionAsync(String sessionId, CancellationToken cancellationToken = null) — Deletes a Copilot session. - public async Task HealthCheckAsync(Nullable timeout = null, CancellationToken cancellationToken = null) — Executes a health check call. - public virtual Void Dispose() — Disposes the client synchronously. - public virtual async ValueTask DisposeAsync() — Disposes the client asynchronously. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Events - public event EventHandler StandardErrorReceived — Raised when standard error output is received. - public event EventHandler StandardOutputReceived — Raised when standard output is received. - public event EventHandler ProtocolMessageReceived — Raised when a protocol message is received. - public event EventHandler ProtocolMessageSent — Raised when a protocol message is sent. - public event EventHandler RpcCallStarted — Raised when an RPC call starts. - public event EventHandler RpcCallCompleted — Raised when an RPC call completes. ### IntelligenceX.Copilot.CopilotClientOptions Options for connecting to the Copilot CLI. #### Methods - public Void Validate() — Validates configuration values. - public Boolean TryApplyConfig(String path = null, String baseDirectory = null) — Attempts to apply configuration from disk. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String CliPath { get; set; } — Path to the Copilot CLI executable. - public List CliArgs { get; } — Additional CLI arguments. - public String CliUrl { get; set; } — Override URL for the Copilot CLI download. - public Boolean UseStdio { get; set; } — Whether to use stdio transport. - public Int32 Port { get; set; } — Port for HTTP transport when not using stdio. - public String LogLevel { get; set; } — Log level for the CLI. - public String WorkingDirectory { get; set; } — Working directory for the CLI process. - public Dictionary Environment { get; } — Environment variables for the CLI process. - public Boolean InheritEnvironment { get; set; } — Whether to inherit the current process environment. - public Boolean AutoStart { get; set; } — Whether to start the CLI automatically. - public Boolean AutoInstallCli { get; set; } — Whether to auto-install the CLI when missing. - public CopilotCliInstallMethod AutoInstallMethod { get; set; } — Preferred auto-install method. - public Boolean AutoInstallPrerelease { get; set; } — Whether to allow prerelease installs. - public TimeSpan ConnectTimeout { get; set; } — Connection timeout. - public Int32 ConnectRetryCount { get; set; } — Retry count for connection attempts. - public TimeSpan ConnectRetryInitialDelay { get; set; } — Initial delay for connect retries. - public TimeSpan ConnectRetryMaxDelay { get; set; } — Maximum delay for connect retries. - public TimeSpan ShutdownTimeout { get; set; } — Timeout for graceful shutdown. - public RpcRetryOptions RpcRetry { get; } — Retry options for RPC calls. ### IntelligenceX.Copilot.CopilotCliInstall Utilities for installing the Copilot CLI. #### Methods - public static IReadOnlyList GetInstallCommands(Boolean prerelease = false) — Returns install commands suitable for the current OS. - public static CopilotCliInstallCommand GetDefaultCommand(Boolean prerelease = false) — Returns the default install command for the current OS. - public static CopilotCliInstallCommand GetCommand(CopilotCliInstallMethod method, Boolean prerelease = false) — Returns a specific install command. - public static async Task InstallAsync(CopilotCliInstallCommand command, CancellationToken cancellationToken = null) — Executes the provided install command. - public static String GetInstallInstructions(Boolean prerelease = false) — Returns human-readable install instructions. - public static String TryResolveInstalledCliPath(String cliPath) — Attempts to resolve a Copilot CLI binary from common install locations even when PATH is stale. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Copilot.CopilotCliInstallCommand Describes a CLI install command. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public CopilotCliInstallMethod Method { get; } — Gets the install method. - public String FileName { get; } — Gets the executable name. - public String Arguments { get; } — Gets the command arguments. - public String Description { get; } — Gets the human-readable description. ### IntelligenceX.Copilot.CopilotCliInstallMethod Supported Copilot CLI install methods. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const CopilotCliInstallMethod Auto — Automatically choose the best method for the OS. - public const CopilotCliInstallMethod Winget — Install via WinGet. - public const CopilotCliInstallMethod Homebrew — Install via Homebrew. - public const CopilotCliInstallMethod Npm — Install via npm. - public const CopilotCliInstallMethod Script — Install via script. ### IntelligenceX.Copilot.CopilotMessageOptions Options for sending a Copilot message. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Prompt { get; set; } — Prompt text. - public List Attachments { get; set; } — Optional attachments. - public String Mode { get; set; } — Optional mode identifier. ### IntelligenceX.Copilot.CopilotModelInfo Represents a Copilot model entry. #### Methods - public static CopilotModelInfo FromJson(JsonObject obj) — Parses model info from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Id { get; } — Gets the model id. - public String Name { get; } — Gets the model name. - public Dictionary Metadata { get; } — Gets the metadata dictionary. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.Copilot.CopilotSession Represents an active Copilot session. #### Methods - public IDisposable OnEvent(Action handler) — Subscribes to session events. - public async Task SendAsync(CopilotMessageOptions options, CancellationToken cancellationToken = null) — Sends a message to the session. - public async Task SendAndWaitAsync(CopilotMessageOptions options, Nullable timeout = null, CancellationToken cancellationToken = null) — Sends a message and waits for the response. - public virtual Void Dispose() — Disposes the session and clears handlers. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String SessionId { get; } — Gets the session id. ### IntelligenceX.Copilot.CopilotSessionEvent Represents an event emitted by a Copilot session. #### Methods - public static CopilotSessionEvent FromJson(JsonObject obj) — Parses a session event from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Type { get; } — Gets the event type. - public JsonObject Data { get; } — Gets the event data payload. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. - public String Content { get; set; } — Gets the full content for message events. - public String DeltaContent { get; set; } — Gets the delta content for streaming events. - public String MessageId { get; set; } — Gets the message id when present. - public String ErrorMessage { get; set; } — Gets the error message when present. - public String ErrorStack { get; set; } — Gets the error stack when present. - public Boolean IsIdle { get; } — Gets a value indicating whether the session is idle. ### IntelligenceX.Copilot.CopilotSessionOptions Options for Copilot chat sessions. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Model { get; set; } — Model name override. - public String SessionId { get; set; } — Optional session id. - public String SystemMessage { get; set; } — Optional system message. - public Nullable Streaming { get; set; } — Whether to enable streaming. ### IntelligenceX.Copilot.CopilotStatus Represents Copilot CLI status information. #### Methods - public static CopilotStatus FromJson(JsonObject obj) — Parses status information from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Version { get; } — Gets the CLI version. - public Int32 ProtocolVersion { get; } — Gets the protocol version. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.Copilot.CopilotTransportKind Describes the transport used to talk to Copilot. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const CopilotTransportKind Cli — Use the official Copilot CLI JSON-RPC transport. - public const CopilotTransportKind Direct — Use the experimental direct HTTP transport. ### IntelligenceX.Copilot.Direct.CopilotDirectClient Experimental direct HTTP client for Copilot-compatible endpoints. #### Methods - public async Task ChatAsync(String prompt, String model, CancellationToken cancellationToken = null) — Sends a chat request and returns the response text. - public virtual Void Dispose() — Disposes the client and its underlying HTTP resources. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Copilot.Direct.CopilotDirectOptions Options for the experimental Copilot direct HTTP client. #### Methods - public Void Validate() — Validates configuration values. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Url { get; set; } — Absolute URL for the Copilot HTTP endpoint. - public String Token { get; set; } — Optional bearer token to send with requests. - public Dictionary Headers { get; } — Optional additional headers to attach to requests. - public TimeSpan Timeout { get; set; } — Request timeout. ### IntelligenceX.Json.JsonArray Represents a mutable JSON array. #### Methods - public JsonArray Add(JsonArray value) — Adds a JSON value to the array. - public JsonArray AddRange(IEnumerable values) — Adds multiple JSON values to the array. - AddRange — Adds multiple CLR values to the array by mapping them to JSON values. - public JsonArray Add(String value) — Adds a string value to the array. - public JsonArray Add(Boolean value) — Adds a boolean value to the array. - public JsonArray Add(Int64 value) — Adds an integer value to the array. - public JsonArray Add(Double value) — Adds a double value to the array. - Add — Adds a JSON object to the array. - Add — Adds a nested JSON array to the array. - public virtual IEnumerator GetEnumerator() — Returns a typed enumerator over the array values. - System#Collections#IEnumerable#GetEnumerator — Returns a non-generic enumerator over the array values. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Int32 Count { get; } — Gets the number of elements in the array. - public JsonValue Item { get; set; } — Gets or sets a value at the specified index. ### IntelligenceX.Json.JsonLite Lightweight JSON parsing and serialization helpers. #### Methods - public static JsonValue Parse(String json) — Parses a JSON string into a [[cref:IntelligenceX.Json.JsonValue]]. - public static String Serialize(JsonValue value) — Serializes a [[cref:IntelligenceX.Json.JsonValue]] to JSON text. - public static String Serialize(Object value) — Serializes a supported object into JSON text. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Json.JsonMapper Maps common CLR types to [[cref:IntelligenceX.Json.JsonValue]] representations. #### Methods - public static JsonValue FromObject(Object value) — Converts an object into a [[cref:IntelligenceX.Json.JsonValue]]. - public static JsonObject FromDictionary(IReadOnlyDictionary dictionary) — Converts a dictionary to a [[cref:IntelligenceX.Json.JsonObject]]. - public static JsonArray FromEnumerable(IEnumerable enumerable) — Converts an enumerable into a [[cref:IntelligenceX.Json.JsonArray]]. - FromDictionary — Converts a dictionary with string keys to a [[cref:IntelligenceX.Json.JsonObject]]. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Json.JsonObject Represents a mutable JSON object. #### Methods - public JsonObject Add(String key, JsonArray value) — Adds or replaces a JSON value for the specified key. - public JsonObject Add(String key, String value) — Adds or replaces a string value for the specified key. - public JsonObject Add(String key, Boolean value) — Adds or replaces a boolean value for the specified key. - public JsonObject Add(String key, Int64 value) — Adds or replaces an integer value for the specified key. - public JsonObject Add(String key, Double value) — Adds or replaces a double value for the specified key. - Add — Adds or replaces a JSON object value for the specified key. - Add — Adds or replaces a JSON array value for the specified key. - public Boolean TryGetValue(String key, out JsonValue value) — Attempts to retrieve a JSON value by key. - public String GetString(String key) — Returns a string value for the specified key. - public Nullable GetInt64(String key) — Returns an integer value for the specified key. - public Nullable GetDouble(String key) — Returns a double value for the specified key. - public Boolean GetBoolean(String key, Boolean defaultValue = false) — Returns a boolean value for the specified key or a default when missing. - public JsonObject GetObject(String key) — Returns a JSON object value for the specified key. - public JsonArray GetArray(String key) — Returns a JSON array value for the specified key. - public virtual IEnumerator> GetEnumerator() — Returns a typed enumerator over the object's properties. - System#Collections#IEnumerable#GetEnumerator — Returns a non-generic enumerator over the object's properties. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Int32 Count { get; } — Gets the number of properties in the object. - public JsonValue Item { get; set; } — Gets or sets a value by property key. ### IntelligenceX.Json.JsonObjectExtensions Extension helpers for [[cref:IntelligenceX.Json.JsonObject]]. #### Methods - public static JsonObject ExtractAdditional(JsonObject obj, params String[] knownKeys) — Returns a new object containing properties that are not in knownKeys. - public static JsonObject AddIfNotEmpty(JsonObject obj, String key, JsonArray value) — Adds the array property only when the value is not null and contains at least one element. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Json.JsonValue Represents a JSON value with a kind and raw value storage. #### Methods - public static JsonValue From(JsonArray value) — Creates a boolean JSON value. - public static JsonValue From(String value) — Creates a string JSON value (or null if the input is null). - public static JsonValue From(Int64 value) — Creates a numeric JSON value from a 64-bit integer. - public static JsonValue From(Double value) — Creates a numeric JSON value from a double. - From — Wraps a JSON object value. - From — Wraps a JSON array value. - public Boolean AsBoolean(Boolean defaultValue = false) — Reads this value as a boolean, returning defaultValue if not a boolean. - public String AsString() — Reads this value as a string, or null if not a string. - public Nullable AsInt64() — Reads this value as a 64-bit integer when possible. - public Nullable AsDouble() — Reads this value as a double when possible. - public JsonObject AsObject() — Reads this value as a JSON object, or null if not an object. - public JsonArray AsArray() — Reads this value as a JSON array, or null if not an array. - public override String ToString() — Serializes the JSON value to a string. - public Type GetType() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public JsonValueKind Kind { get; } — Gets the JSON kind of this value. - public Object Value { get; } — Gets the raw value payload. #### Fields - public static readonly JsonValue Null — Singleton null JSON value. ### IntelligenceX.Json.JsonValueKind Enumerates the supported JSON value kinds. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const JsonValueKind Null — Represents a JSON null literal. - public const JsonValueKind Boolean — Represents a JSON boolean. - public const JsonValueKind Number — Represents a JSON number. - public const JsonValueKind String — Represents a JSON string. - public const JsonValueKind Object — Represents a JSON object. - public const JsonValueKind Array — Represents a JSON array. ### IntelligenceX.OpenAI.AppServer.AppServerClient Low-level client for the OpenAI app-server JSON-RPC protocol. #### Methods - public async Task StartChatGptLoginAsync(CancellationToken cancellationToken = null) — Starts a ChatGPT login flow. - public Task LoginWithApiKeyAsync(String apiKey, CancellationToken cancellationToken = null) — Logs in using an API key. - public async Task ReadAccountAsync(CancellationToken cancellationToken = null) — Reads account information. - public Task LogoutAsync(CancellationToken cancellationToken = null) — Logs out of the current session. - public async Task StartThreadAsync(String model, String currentDirectory = null, String approvalPolicy = null, String sandbox = null, CancellationToken cancellationToken = null) — Starts a new chat thread. - public async Task StartTurnAsync(String threadId, String text, CancellationToken cancellationToken = null) — Starts a turn with a text-only input. - public async Task StartTurnAsync(String threadId, JsonArray input, String model, String currentDirectory, String approvalPolicy, SandboxPolicy sandboxPolicy, CancellationToken cancellationToken = null) — Starts a turn with a text-only input and optional overrides. - StartTurnAsync — Starts a turn with a structured input payload. - public async Task ResumeThreadAsync(String threadId, CancellationToken cancellationToken = null) — Resumes a thread by id. - public async Task ForkThreadAsync(String threadId, CancellationToken cancellationToken = null) — Forks a thread by id. - public async Task ListThreadsAsync(String cursor = null, Nullable limit = null, String sortKey = null, IReadOnlyList modelProviders = null, CancellationToken cancellationToken = null) — Lists threads with optional filters. - public async Task ListLoadedThreadsAsync(CancellationToken cancellationToken = null) — Lists currently loaded thread ids. - public Task ArchiveThreadAsync(String threadId, CancellationToken cancellationToken = null) — Archives a thread by id. - public async Task RollbackThreadAsync(String threadId, Int32 turns, CancellationToken cancellationToken = null) — Rolls back a thread by a number of turns. - public Task InterruptTurnAsync(String threadId, String turnId, CancellationToken cancellationToken = null) — Interrupts an in-flight turn. - public async Task StartReviewAsync(String threadId, String delivery, ReviewTarget target, CancellationToken cancellationToken = null) — Starts a review for a thread. - public async Task ExecuteCommandAsync(CommandExecRequest request, CancellationToken cancellationToken = null) — Executes a command through the app-server. - public async Task ListModelsAsync(CancellationToken cancellationToken = null) — Lists available models. - public async Task ListCollaborationModesAsync(CancellationToken cancellationToken = null) — Lists available collaboration modes. - public async Task ListSkillsAsync(IReadOnlyList cwds = null, Nullable forceReload = null, CancellationToken cancellationToken = null) — Lists available skills. - public Task WriteSkillConfigAsync(String path, Boolean enabled, CancellationToken cancellationToken = null) — Writes a skill configuration entry. - public async Task ReadConfigAsync(CancellationToken cancellationToken = null) — Reads the effective app-server configuration and layer metadata. - public Task WriteConfigValueAsync(String key, JsonValue value, CancellationToken cancellationToken = null) — Writes a single app-server configuration value. - public Task WriteConfigBatchAsync(IReadOnlyList entries, CancellationToken cancellationToken = null) — Writes multiple app-server configuration values in a single request. - public async Task ReadConfigRequirementsAsync(CancellationToken cancellationToken = null) — Reads server-side constraints for configuration values. - public async Task StartMcpOauthLoginAsync(String serverId, String serverName = null, CancellationToken cancellationToken = null) — Starts an MCP OAuth login flow for a configured server. - public async Task ListMcpServerStatusAsync(String cursor = null, Nullable limit = null, CancellationToken cancellationToken = null) — Lists MCP server status entries, including auth and capability metadata. - public async Task ReloadMcpServerConfigAsync(CancellationToken cancellationToken = null) — Reloads MCP server configuration in the running app-server. - public async Task RequestUserInputAsync(IReadOnlyList questions, CancellationToken cancellationToken = null) — Requests user input responses. - public Task UploadFeedbackAsync(String content, CancellationToken cancellationToken = null) — Uploads feedback content. - public Task CallAsync(String method, JsonObject parameters, CancellationToken cancellationToken = null) — Executes a raw JSON-RPC call. - public Task NotifyAsync(String method, JsonObject parameters, CancellationToken cancellationToken = null) — Sends a JSON-RPC notification. - public Task WaitForLoginCompletionAsync(String loginId = null, CancellationToken cancellationToken = null) — Waits for a login completion notification. - public virtual Void Dispose() — Disposes the app-server client and underlying process. - public static async Task StartAsync(AppServerOptions options = null, CancellationToken cancellationToken = null) — Starts the app-server process and returns a connected client. - public async Task InitializeAsync(ClientInfo clientInfo, CancellationToken cancellationToken = null) — Initializes the app-server with client metadata. - public async Task HealthCheckAsync(String method = null, Nullable timeout = null, CancellationToken cancellationToken = null) — Executes a health check call. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Events - public event EventHandler NotificationReceived — Raised when a JSON-RPC notification is received. - public event EventHandler RequestReceived — Raised when an inbound request is received. - public event EventHandler ProtocolError — Raised when a protocol parsing error occurs. - public event EventHandler StandardErrorReceived — Raised when a line is received on standard error. - public event EventHandler ProtocolLineReceived — Raised when a protocol line is received. - public event EventHandler RpcCallStarted — Raised when an RPC call starts. - public event EventHandler RpcCallCompleted — Raised when an RPC call completes. - public event EventHandler LoginStarted — Raised when a login flow starts. - public event EventHandler LoginCompleted — Raised when a login flow completes. ### IntelligenceX.OpenAI.AppServer.AppServerOptions Options for starting and configuring the app-server process. #### Methods - public Void Validate() — Validates the configuration and throws on invalid values. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String ExecutablePath { get; set; } — Path to the app-server executable. - public String Arguments { get; set; } — Arguments passed to the executable. - public String WorkingDirectory { get; set; } — Working directory for the process. - public Dictionary Environment { get; } — Environment variables passed to the process. - public Boolean RedirectStandardError { get; set; } — Whether to redirect standard error. - public Boolean HealthCheckOnStart { get; set; } — Whether to perform a health check after start. - public String HealthCheckMethod { get; set; } — Health check method name. - public TimeSpan StartTimeout { get; set; } — Timeout for the app-server start. - public TimeSpan HealthCheckTimeout { get; set; } — Timeout for health check calls. - public Int32 ConnectRetryCount { get; set; } — Retry count for connect attempts. - public TimeSpan ConnectRetryInitialDelay { get; set; } — Initial delay for connect retries. - public TimeSpan ConnectRetryMaxDelay { get; set; } — Maximum delay for connect retries. - public TimeSpan ShutdownTimeout { get; set; } — Timeout for graceful shutdown. - public RpcRetryOptions RpcRetry { get; } — Retry options for RPC calls. ### IntelligenceX.OpenAI.AppServer.ClientInfo Identifies a client when initializing the app-server. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Name { get; } — Gets the client name. - public String Title { get; } — Gets the client title. - public String Version { get; } — Gets the client version. ### IntelligenceX.OpenAI.AppServer.Models.AccountInfo Represents account metadata returned by the app-server. #### Methods - public static AccountInfo FromJson(JsonObject obj) — Parses account info from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Email { get; } — Gets the account email. - public String PlanType { get; } — Gets the plan type identifier. - public String AccountId { get; } — Gets the account id. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ChatGptLoginStart Represents the initial response from a ChatGPT login start call. #### Methods - public static ChatGptLoginStart FromJson(JsonObject obj) — Parses the login start payload from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String LoginId { get; } — Gets the login id. - public String AuthUrl { get; } — Gets the authorization URL. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.CollaborationModeListResult Represents a list of collaboration mode masks. #### Methods - public static CollaborationModeListResult FromJson(JsonObject obj) — Parses a collaboration mode list from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList Modes { get; } — Gets the available collaboration modes. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.CollaborationModeMask Describes a collaboration mode mask. #### Methods - public static CollaborationModeMask FromJson(JsonObject obj) — Parses a collaboration mode mask from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Name { get; } — Gets the mask name. - public String Mode { get; } — Gets the mode identifier. - public String Model { get; } — Gets the model name. - public OptionalValue ReasoningEffort { get; } — Gets the optional reasoning effort setting. - public OptionalValue DeveloperInstructions { get; } — Gets the optional developer instructions. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.CommandExecRequest Represents a command execution request for the app-server. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList Command { get; } — Gets the command and arguments. - public String WorkingDirectory { get; set; } — Gets or sets the working directory. - public SandboxPolicy SandboxPolicy { get; set; } — Gets or sets the sandbox policy. - public Nullable TimeoutMs { get; set; } — Gets or sets the timeout in milliseconds. ### IntelligenceX.OpenAI.AppServer.Models.CommandExecResult Represents the result of a command execution. #### Methods - public static CommandExecResult FromJson(JsonObject obj) — Parses a command execution result from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Nullable ExitCode { get; } — Gets the exit code when available. - public String Stdout { get; } — Gets standard output. - public String Stderr { get; } — Gets standard error. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ConfigEntry Represents a single configuration key/value pair sent to app-server write APIs. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Key { get; } — Gets the configuration key. - public JsonValue Value { get; } — Gets the JSON configuration value. ### IntelligenceX.OpenAI.AppServer.Models.ConfigLayer Represents a single configuration layer considered by app-server. #### Methods - public static ConfigLayer FromJson(JsonObject obj) — Parses a configuration layer from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public ConfigLayerSourceInfo Source { get; } — Gets source descriptor information for this layer. - public String Version { get; } — Gets the configuration version. - public JsonValue Config { get; } — Gets the configuration payload. - public String DisabledReason { get; } — Gets the reason the layer was disabled, if this layer was not active. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ConfigLayerMetadata Metadata about the source of a specific configuration field. #### Methods - public static ConfigLayerMetadata FromJson(JsonObject obj) — Parses layer metadata from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public ConfigLayerSourceInfo Source { get; } — Gets source descriptor information for the configuration value. - public String Version { get; } — Gets the configuration version. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ConfigLayerSourceInfo Represents source descriptor details for a configuration layer. #### Methods - public static ConfigLayerSourceInfo FromJson(JsonValue value) — Parses a source info value from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Type { get; } — Gets the source type. - public JsonValue Raw { get; } — Gets the raw source payload. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload when the source is represented as an object. ### IntelligenceX.OpenAI.AppServer.Models.ConfigReadResult Represents the app-server configuration read response. Includes merged effective config plus metadata describing value origins and layers. #### Methods - public static ConfigReadResult FromJson(JsonObject obj) — Parses a configuration read result from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public JsonObject Config { get; } — Gets the merged effective configuration object. - public IReadOnlyDictionary Origins { get; } — Gets metadata keyed by configuration field name that describes where each value originated. - public IReadOnlyList Layers { get; } — Gets configuration layers in evaluation order. - public JsonObject Raw { get; } — Gets the original raw JSON payload returned by app-server. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ConfigRequirements Describes allowed values for selected configuration keys. #### Methods - public static ConfigRequirements FromJson(JsonObject obj) — Parses requirements from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList AllowedApprovalPolicies { get; } — Gets allowed values for approval policy settings. - public IReadOnlyList AllowedSandboxModes { get; } — Gets allowed values for sandbox mode settings. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ConfigRequirementsReadResult Represents the response containing server-side configuration constraints. #### Methods - public static ConfigRequirementsReadResult FromJson(JsonObject obj) — Parses a requirements result from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public ConfigRequirements Requirements { get; } — Gets the configuration requirements returned by app-server. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.McpAuthStatus Authentication status for an MCP server. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const McpAuthStatus Unknown — Unknown auth status. - public const McpAuthStatus Unsupported — Authentication is not supported. - public const McpAuthStatus NotLoggedIn — Not logged in. - public const McpAuthStatus BearerToken — Bearer token authentication. - public const McpAuthStatus OAuth — OAuth authentication is available. ### IntelligenceX.OpenAI.AppServer.Models.McpOauthLoginStart Represents the initial response from an MCP OAuth login start request. #### Methods - public static McpOauthLoginStart FromJson(JsonObject obj) — Parses the MCP OAuth login start payload from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String LoginId { get; } — Gets the login identifier used to correlate this OAuth flow. - public String AuthUrl { get; } — Gets the browser authorization URL for completing OAuth consent. - public JsonObject Raw { get; } — Gets the original raw JSON payload returned by app-server. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.McpResourceInfo Describes an MCP resource. #### Methods - public static McpResourceInfo FromJson(JsonObject obj) — Parses resource info from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Uri { get; } — Gets the resource URI. - public String Name { get; } — Gets the resource name. - public String Title { get; } — Gets the resource title. - public String Description { get; } — Gets the resource description. - public String MimeType { get; } — Gets the mime type. - public Nullable Size { get; } — Gets the resource size in bytes when the server provides it. - public JsonObject Annotations { get; } — Gets resource annotations. - public JsonObject Meta { get; } — Gets resource metadata. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.McpResourceTemplateInfo Describes an MCP resource template. #### Methods - public static McpResourceTemplateInfo FromJson(JsonObject obj) — Parses a resource template from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String UriTemplate { get; } — Gets the URI template (for example repo://{owner}/{name}). - public String Name { get; } — Gets the template name. - public String Title { get; } — Gets the template title. - public String Description { get; } — Gets the template description. - public String MimeType { get; } — Gets the mime type. - public JsonObject Annotations { get; } — Gets template annotations. - public JsonObject Meta { get; } — Gets template metadata. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.McpServerStatus Represents the status and capabilities of a single MCP server. #### Methods - public static McpServerStatus FromJson(JsonObject obj) — Parses a server status from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Name { get; } — Gets the MCP server name. - public IReadOnlyDictionary Tools { get; } — Gets available tools keyed by tool name. - public IReadOnlyList Resources { get; } — Gets currently exposed resources. - public IReadOnlyList ResourceTemplates { get; } — Gets available resource templates. - public McpAuthStatus AuthStatus { get; } — Gets server authentication status. - public JsonObject Raw { get; } — Gets the original raw JSON payload for this server. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.McpServerStatusListResult Represents one page of MCP server status results. #### Methods - public static McpServerStatusListResult FromJson(JsonObject obj) — Parses an MCP server status list from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList Servers { get; } — Gets MCP server entries for the current page. - public String NextCursor { get; } — Gets the pagination cursor for the next page, or null when no further pages exist. - public JsonObject Raw { get; } — Gets the original raw JSON payload returned by app-server. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.McpToolInfo Describes an MCP tool. #### Methods - public static McpToolInfo FromJson(JsonObject obj, String fallbackName = null) — Parses tool info from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Name { get; } — Gets the tool name. - public String Title { get; } — Gets the optional tool title. - public String Description { get; } — Gets the optional tool description. - public JsonObject InputSchema { get; } — Gets the input schema (when provided by the server). - public JsonObject OutputSchema { get; } — Gets the output schema (when provided by the server). - public JsonObject Annotations { get; } — Gets tool annotations. - public JsonObject Meta { get; } — Gets tool metadata. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ModelInfo Represents a single model entry. #### Methods - public static ModelInfo FromJson(JsonObject obj) — Parses a model entry from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Id { get; } — Gets the model id. - public String Model { get; } — Gets the model name. - public String DisplayName { get; } — Gets the display name. - public String Description { get; } — Gets the model description. - public IReadOnlyList SupportedReasoningEfforts { get; } — Gets the supported reasoning effort options. - public String DefaultReasoningEffort { get; } — Gets the default reasoning effort value. - public Boolean IsDefault { get; } — Gets a value indicating whether this is the default model. - public String OwnedBy { get; } — Gets the provider owner identifier when exposed (for example owned_by). - public String Publisher { get; } — Gets the model publisher when exposed by the runtime. - public String Architecture { get; } — Gets the model architecture identifier when known. - public String Quantization { get; } — Gets the quantization identifier when known. - public String CompatibilityType { get; } — Gets the compatibility format (for example gguf) when known. - public String RuntimeState { get; } — Gets the runtime load state (for example loaded/not-loaded) when known. - public String ModelType { get; } — Gets the model type/category when known. - public Nullable MaxContextLength { get; } — Gets the maximum context length when exposed by the runtime. - public Nullable LoadedContextLength { get; } — Gets the currently loaded context length when exposed by the runtime. - public IReadOnlyList Capabilities { get; } — Gets capability tags exposed by the runtime. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ModelListResult Represents the result of a model list request. #### Methods - public static ModelListResult FromJson(JsonObject obj) — Parses a model list result from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList Models { get; } — Gets the list of models. - public String NextCursor { get; } — Gets the pagination cursor for the next page. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ReasoningEffortOption Describes a supported reasoning effort option for a model. #### Methods - public static ReasoningEffortOption FromJson(JsonObject obj) — Parses a reasoning effort option from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String ReasoningEffort { get; } — Gets the reasoning effort identifier. - public String Description { get; } — Gets the description of the effort level. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ReviewStartResult Represents the response after starting a review. #### Methods - public static ReviewStartResult FromJson(JsonObject obj) — Parses a review start result from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public TurnInfo Turn { get; } — Gets the review turn info. - public String ReviewThreadId { get; } — Gets the review thread id when available. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ReviewTarget Describes what content should be reviewed. #### Methods - public static ReviewTarget UncommittedChanges() — Targets uncommitted working tree changes. - public static ReviewTarget BaseBranch(String branch) — Targets a base branch. - public static ReviewTarget Commit(String sha) — Targets a specific commit by SHA. - public static ReviewTarget Custom(String text) — Targets a custom text payload. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.AppServer.Models.SkillGroup Represents a skill group for a working directory. #### Methods - public static SkillGroup FromJson(JsonObject obj) — Parses a skill group from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Cwd { get; } — Gets the working directory associated with the group. - public IReadOnlyList Skills { get; } — Gets the skills in the group. - public IReadOnlyList Errors { get; } — Gets any errors for the group. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.SkillInfo Represents a single skill entry. #### Methods - public static SkillInfo FromJson(JsonObject obj) — Parses skill info from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Name { get; } — Gets the skill name. - public String Description { get; } — Gets the skill description. - public Boolean Enabled { get; } — Gets a value indicating whether the skill is enabled. - public SkillInterfaceInfo Interface { get; } — Gets the optional interface metadata. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.SkillInterfaceInfo Represents UI metadata for a skill. #### Methods - public static SkillInterfaceInfo FromJson(JsonObject obj) — Parses skill interface metadata from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String DisplayName { get; } — Gets the display name. - public String ShortDescription { get; } — Gets the short description. - public String IconSmall { get; } — Gets the small icon URL. - public String IconLarge { get; } — Gets the large icon URL. - public String BrandColor { get; } — Gets the brand color. - public String DefaultPrompt { get; } — Gets the default prompt. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.SkillListResult Represents a list of skill groups. #### Methods - public static SkillListResult FromJson(JsonObject obj) — Parses a skill list from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList Groups { get; } — Gets the skill groups. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ThreadIdListResult Represents a list of thread ids. #### Methods - public static ThreadIdListResult FromJson(JsonObject obj) — Parses a thread id list from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList Data { get; } — Gets the thread id list. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ThreadInfo Represents a chat thread summary. #### Methods - public static ThreadInfo FromJson(JsonObject threadObj) — Parses a thread info model from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Id { get; } — Gets the thread id. - public String Preview { get; } — Gets the preview text. - public String ModelProvider { get; } — Gets the model provider identifier. - public Nullable CreatedAt { get; } — Gets the creation time (UTC). - public Nullable UpdatedAt { get; } — Gets the last update time (UTC). - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. - public ThreadUsageSummary UsageSummary { get; } — Gets cumulative usage summary when present. ### IntelligenceX.OpenAI.AppServer.Models.ThreadListResult Represents a list of chat threads. #### Methods - public static ThreadListResult FromJson(JsonObject obj) — Parses a thread list from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList Data { get; } — Gets the thread list. - public String NextCursor { get; } — Gets the pagination cursor for the next page. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.ThreadUsageSummary Represents cumulative token usage for a thread/session. #### Methods - public static ThreadUsageSummary FromJson(JsonObject obj) — Parses usage summary from JSON. - public JsonObject ToJson() — Serializes usage summary to JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Nullable InputTokens { get; } — Gets cumulative input token count. - public Nullable OutputTokens { get; } — Gets cumulative output token count. - public Nullable TotalTokens { get; } — Gets cumulative total token count. - public Nullable Turns { get; } — Gets number of turns with usage recorded. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.TurnInfo Represents a single chat turn and its outputs. #### Methods - public static TurnInfo FromJson(JsonObject turnObj) — Parses a turn info model from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Id { get; } — Gets the turn id. - public String ResponseId { get; } — Gets the response id when available. - public String Status { get; } — Gets the turn status. - public IReadOnlyList Outputs { get; } — Gets all outputs. - public IReadOnlyList ImageOutputs { get; } — Gets image outputs. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. - public TurnUsage Usage { get; } — Gets token usage details when available. ### IntelligenceX.OpenAI.AppServer.Models.TurnOutput Represents a single output item in a chat turn. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Type { get; } — Gets the output type. - public String Text { get; } — Gets the text content when present. - public String ImageUrl { get; } — Gets the image URL when present. - public String ImagePath { get; } — Gets the local image path when present. - public String Base64 { get; } — Gets the base64 payload when present. - public String MimeType { get; } — Gets the mime type when present. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. - public Boolean IsText { get; } — Gets a value indicating whether this output is text. - public Boolean IsImage { get; } — Gets a value indicating whether this output is an image. ### IntelligenceX.OpenAI.AppServer.Models.TurnUsage Represents token usage details for a single turn. #### Methods - public static TurnUsage FromJson(JsonObject obj) — Parses turn usage from JSON. - public JsonObject ToJson() — Serializes usage to JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Nullable InputTokens { get; } — Gets input/prompt token count. - public Nullable OutputTokens { get; } — Gets output/completion token count. - public Nullable TotalTokens { get; } — Gets total token count. - public Nullable CachedInputTokens { get; } — Gets cached input token count. - public Nullable ReasoningTokens { get; } — Gets reasoning token count. - public JsonObject Raw { get; } — Gets the raw JSON usage object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.Models.UserInputResponse Represents a response to a user input prompt. #### Methods - public static UserInputResponse FromJson(JsonObject obj) — Parses a user input response from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList Answers { get; } — Gets the answers as a flat list. - public IReadOnlyDictionary> AnswersById { get; } — Gets answers grouped by id when provided. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.AppServer.SandboxPolicy Describes sandbox constraints for app-server execution. #### Methods - public SandboxPolicy Clone() — Creates a defensive copy of this policy instance. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Type { get; } — Gets the sandbox type identifier. - public Nullable NetworkAccess { get; } — Gets the network access flag when provided. - public String NetworkAccessMode { get; } — Gets the network access mode when provided. - public IReadOnlyList WritableRoots { get; } — Gets the writable root paths. ### IntelligenceX.OpenAI.Auth.AuthBundle Represents an authentication bundle for OpenAI providers. #### Methods - public Boolean IsExpired(Nullable now = null) — Returns whether the bundle is expired at the given instant. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Provider { get; } — Gets the provider identifier. - public String AccessToken { get; set; } — Gets or sets the access token. - public String RefreshToken { get; set; } — Gets or sets the refresh token. - public Nullable ExpiresAt { get; set; } — Gets or sets the expiration time. - public String TokenType { get; set; } — Gets or sets the token type. - public String Scope { get; set; } — Gets or sets the scopes string. - public String AccountId { get; set; } — Gets or sets the account id when known. - public String IdToken { get; set; } — Gets or sets the ID token when present. ### IntelligenceX.OpenAI.Auth.AuthBundleSerializer Serializes and deserializes auth bundles. #### Methods - public static String Serialize(AuthBundle bundle) — Serializes an auth bundle to JSON text. - public static AuthBundle Deserialize(String json) — Deserializes an auth bundle from JSON text. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.Auth.AuthPaths Provides common paths used for auth storage. #### Methods - public static String ResolveAuthPath() — Resolves the default auth bundle path, honoring INTELLIGENCEX_AUTH_PATH when set. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.Auth.CodexAuthProfile #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String AccountId { get; } - public String Email { get; } - public String PlanType { get; } - public String AccountLabel { get; } ### IntelligenceX.OpenAI.Auth.CodexAuthStore Utilities for working with Codex auth.json files. #### Methods - public static String ResolveCodexHome() — Resolves the Codex home directory, honoring CODEX_HOME when set. - public static String ResolveAuthPath(String codexHome = null) — Resolves the Codex auth.json path. - public static CodexAuthProfile TryReadProfile(String authPath) — Reads a best-effort Codex auth profile from auth.json. - public static String BuildAuthJson(AuthBundle bundle, Nullable lastRefresh = null, String openAiApiKey = null) — Builds Codex auth.json content from an auth bundle. - public static Void WriteAuthJson(AuthBundle bundle, String codexHome = null, Nullable lastRefresh = null, String openAiApiKey = null) — Writes Codex auth.json to disk. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.Auth.FileAuthBundleStore File-based authentication bundle store with optional encryption. #### Methods - public virtual async Task GetAsync(String provider, String accountId = null, CancellationToken cancellationToken = null) — Retrieves a bundle for the specified provider and account. - public virtual async Task> ListAsync(String provider, CancellationToken cancellationToken = null) — Lists all bundles for the specified provider. - public virtual async Task SaveAsync(AuthBundle bundle, CancellationToken cancellationToken = null) — Saves an authentication bundle to disk. - public Void Delete() — Deletes the auth store file if it exists. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.Auth.IAuthBundleStore Abstraction for storing authentication bundles. #### Methods - public abstract Task GetAsync(String provider, String accountId = null, CancellationToken cancellationToken = null) — Retrieves a bundle for the specified provider and account. - public abstract Task> ListAsync(String provider, CancellationToken cancellationToken = null) — Lists known bundles for the specified provider. - public abstract Task SaveAsync(AuthBundle bundle, CancellationToken cancellationToken = null) — Saves an authentication bundle. ### IntelligenceX.OpenAI.Auth.OAuthConfig Configuration for the OAuth login flow. #### Methods - public static OAuthConfig FromEnvironment() — Builds an OAuth configuration from environment variables. - public Void Validate() — Validates required configuration values. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String AuthorizeUrl { get; set; } — Authorization endpoint URL. - public String TokenUrl { get; set; } — Token endpoint URL. - public String ClientId { get; set; } — OAuth client id. - public String Scopes { get; set; } — OAuth scopes string. - public String RedirectUri { get; set; } — Redirect URI. - public Int32 RedirectPort { get; set; } — Redirect port when using a local listener. - public String RedirectPath { get; set; } — Redirect path when using a local listener. - public Boolean AddOrganizations { get; set; } — Whether to add organizations during login. - public Boolean CodexCliSimplifiedFlow { get; set; } — Whether to use the simplified Codex CLI flow. - public String Originator { get; set; } — Originator identifier. ### IntelligenceX.OpenAI.Auth.OAuthLoginOptions Options for the OAuth login flow. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public OAuthConfig Config { get; } — Gets the OAuth configuration. - public Func OnAuthUrl { get; set; } — Callback invoked with the authorization URL. - public Func> OnPrompt { get; set; } — Callback used to prompt for user input. - public TimeSpan Timeout { get; set; } — Overall timeout for the login flow. - public Boolean UseLocalListener { get; set; } — Whether to use a local listener for the redirect. - public CancellationToken CancellationToken { get; set; } — Cancellation token for the login flow. ### IntelligenceX.OpenAI.Auth.OAuthLoginResult Represents the result of an OAuth login flow. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public AuthBundle Bundle { get; } — Gets the authentication bundle. - public Dictionary Raw { get; } — Gets the raw response data. ### IntelligenceX.OpenAI.Auth.OAuthLoginService Implements the OAuth login flow and token refresh. #### Methods - public async Task LoginAsync(OAuthLoginOptions options) — Performs an OAuth login flow. - public async Task RefreshAsync(OAuthConfig config, AuthBundle bundle, CancellationToken cancellationToken = null) — Refreshes an OAuth access token. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.Chat.ChatEnumParser Helpers for parsing enum values from strings. #### Methods - public static Nullable ParseReasoningEffort(String value) — Parses a reasoning effort from a string. - public static Nullable ParseReasoningSummary(String value) — Parses a reasoning summary from a string. - public static Nullable ParseTextVerbosity(String value) — Parses a text verbosity from a string. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.Chat.ChatInput Represents structured chat input content. #### Methods - public static ChatInput FromText(String text) — Creates a chat input from a text prompt. - public static ChatInput FromTextWithImagePath(String text, String path) — Creates a chat input from text and a local image path. - public static ChatInput FromTextWithImageUrl(String text, String url) — Creates a chat input from text and an image URL. - public ChatInput AddText(String text) — Adds a text item to the input. - public ChatInput AddImageUrl(String url) — Adds an image URL item to the input. - public ChatInput AddToolCall(String callId, String name, String input = null) — Adds a synthetic tool call item to the input. - public ChatInput AddToolOutput(String callId, String output) — Adds a tool output item to the input. - public ChatInput AddImagePath(String path) — Adds a local image path item to the input. - public ChatInput AddRaw(JsonObject item) — Adds a raw JSON item to the input. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.Chat.ChatOptions Options for chat requests. #### Methods - public ChatOptions Clone() — Creates a copy of this instance. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Model { get; set; } — Model name override. - public String Instructions { get; set; } — System instructions. - public Nullable ReasoningEffort { get; set; } — Reasoning effort hint. - public Nullable ReasoningSummary { get; set; } — Reasoning summary hint. - public Nullable TextVerbosity { get; set; } — Text verbosity hint. - public ImageGenerationOptions ImageGeneration { get; set; } — Image generation built-in tool options. - public Nullable Temperature { get; set; } — Sampling temperature. - public String WorkingDirectory { get; set; } — Working directory for file operations. - public String Workspace { get; set; } — Workspace path for tool access. - public IReadOnlyList Tools { get; set; } — Tool definitions available to the model. - public ToolChoice ToolChoice { get; set; } — Tool choice override. - public Nullable ParallelToolCalls { get; set; } — Whether tool calls can run in parallel when supported. - public String PreviousResponseId { get; set; } — Previous response id for continuing a response chain. - public Boolean AllowNetwork { get; set; } — Whether network access is allowed. - public String ApprovalPolicy { get; set; } — Approval policy string passed to the app-server. - public SandboxPolicy SandboxPolicy { get; set; } — Sandbox policy for the request. - public Boolean NewThread { get; set; } — Whether to force a new thread. - public String TelemetryFeature { get; set; } — Optional feature label used for internal IntelligenceX telemetry. - public String TelemetrySurface { get; set; } — Optional surface label used for internal IntelligenceX telemetry. - public Nullable MaxImageBytes { get; set; } — Maximum allowed image size in bytes. - public Boolean RequireWorkspaceForFileAccess { get; set; } — Whether a workspace is required for file access. ### IntelligenceX.OpenAI.Chat.ImageGenerationOptions Options for the Responses API image generation built-in tool. #### Methods - public ImageGenerationOptions Clone() — Creates a deep copy. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean Enabled { get; set; } — Whether to expose the image generation built-in tool to the model. - public String Quality { get; set; } — Optional image quality hint, for example low, medium, high, or auto. - public String Size { get; set; } — Optional output size, for example 1024x1024, 1536x1024, or auto. - public String OutputFormat { get; set; } — Optional output format, for example png, webp, or jpeg. - public Nullable OutputCompression { get; set; } — Optional compression level for compressed formats when supported by the selected image model. - public String Background { get; set; } — Optional background preference, for example auto, transparent, or opaque. - public Nullable PartialImages { get; set; } — Optional streaming partial image count when supported by the backend. - public String OutputDirectory { get; set; } — Optional directory where generated images should be saved. - public Nullable SaveOutputImages { get; set; } — Optional override for whether generated image base64 payloads should be persisted to disk. ### IntelligenceX.OpenAI.Chat.ReasoningEffort Indicates the desired reasoning effort. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const ReasoningEffort Minimal — Minimal reasoning effort. - public const ReasoningEffort Low — Low reasoning effort. - public const ReasoningEffort Medium — Medium reasoning effort. - public const ReasoningEffort High — High reasoning effort. - public const ReasoningEffort XHigh — Extra-high reasoning effort. ### IntelligenceX.OpenAI.Chat.ReasoningSummary Indicates the desired reasoning summary level. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const ReasoningSummary Auto — Automatically choose summary level. - public const ReasoningSummary Concise — Concise summary. - public const ReasoningSummary Detailed — Detailed summary. - public const ReasoningSummary Off — Disable summaries. ### IntelligenceX.OpenAI.Chat.TextVerbosity Indicates the desired text verbosity level. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const TextVerbosity Low — Low verbosity. - public const TextVerbosity Medium — Medium verbosity. - public const TextVerbosity High — High verbosity. ### IntelligenceX.OpenAI.CompatibleHttp.OpenAICompatibleHttpAuthMode Authentication mode for OpenAI-compatible HTTP transports. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const OpenAICompatibleHttpAuthMode None — No Authorization header is sent. - public const OpenAICompatibleHttpAuthMode Bearer — Sends Authorization: Bearer ... using [[cref:IntelligenceX.OpenAI.CompatibleHttp.OpenAICompatibleHttpOptions.ApiKey]]. - public const OpenAICompatibleHttpAuthMode Basic — Sends Authorization: Basic ... using [[cref:IntelligenceX.OpenAI.CompatibleHttp.OpenAICompatibleHttpOptions.BasicUsername]] and [[cref:IntelligenceX.OpenAI.CompatibleHttp.OpenAICompatibleHttpOptions.BasicPassword]]. ### IntelligenceX.OpenAI.CompatibleHttp.OpenAICompatibleHttpOptions Options for connecting to an OpenAI-compatible HTTP endpoint (for example a local model server). #### Methods - public Void Validate() — Validates the configuration and throws on invalid values. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String BaseUrl { get; set; } — Base URL for the OpenAI-compatible API. Example: http://127.0.0.1:11434/v1 or http://localhost:1234/v1. - public OpenAICompatibleHttpAuthMode AuthMode { get; set; } — Auth mode for compatible-http requests. - public String ApiKey { get; set; } — Optional API key used with [[cref:IntelligenceX.OpenAI.CompatibleHttp.OpenAICompatibleHttpAuthMode.Bearer]]. Local providers often ignore this. - public String BasicUsername { get; set; } — Optional username used with [[cref:IntelligenceX.OpenAI.CompatibleHttp.OpenAICompatibleHttpAuthMode.Basic]]. - public String BasicPassword { get; set; } — Optional password used with [[cref:IntelligenceX.OpenAI.CompatibleHttp.OpenAICompatibleHttpAuthMode.Basic]]. - public Boolean Streaming { get; set; } — Whether to request streaming responses when supported by the provider. - public Boolean AllowInsecureHttp { get; set; } — When true, allows insecure http:// URLs (loopback only). - public Boolean AllowInsecureHttpNonLoopback { get; set; } — When true, allows insecure http:// URLs for non-loopback hosts (dangerous). ### IntelligenceX.OpenAI.Easy Convenience helpers for one-shot chat calls. #### Methods - public static async Task ChatAsync(String text, EasySessionOptions sessionOptions = null, EasyChatOptions chatOptions = null, CancellationToken cancellationToken = null) — Sends a text-only chat request using an ephemeral session. - public static async Task ChatWithImagePathAsync(String text, String imagePath, EasySessionOptions sessionOptions = null, EasyChatOptions chatOptions = null, CancellationToken cancellationToken = null) — Sends a chat request with an image loaded from a local path. - public static async Task ChatWithImageUrlAsync(String text, String imageUrl, EasySessionOptions sessionOptions = null, EasyChatOptions chatOptions = null, CancellationToken cancellationToken = null) — Sends a chat request with an image loaded from a URL. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.EasyChatOptions Configuration for an easy chat request. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Model { get; set; } — Model name override. - public String Instructions { get; set; } — System instructions. - public Nullable ReasoningEffort { get; set; } — Reasoning effort hint. - public Nullable ReasoningSummary { get; set; } — Reasoning summary hint. - public Nullable TextVerbosity { get; set; } — Text verbosity hint. - public Nullable Temperature { get; set; } — Sampling temperature. - public String Workspace { get; set; } — Workspace path for tool access. - public IReadOnlyList Tools { get; set; } — Tool definitions available to the model. - public ToolChoice ToolChoice { get; set; } — Tool choice override. - public Nullable ParallelToolCalls { get; set; } — Whether tool calls can run in parallel when supported. - public String PreviousResponseId { get; set; } — Previous response id for continuing a response chain. - public Boolean AllowNetwork { get; set; } — Whether network access is allowed. - public Boolean NewThread { get; set; } — Whether to force a new thread. - public String TelemetryFeature { get; set; } — Optional feature label used for internal IntelligenceX telemetry. - public String TelemetrySurface { get; set; } — Optional surface label used for internal IntelligenceX telemetry. - public Nullable MaxImageBytes { get; set; } — Maximum image size in bytes. - public Nullable RequireWorkspaceForFileAccess { get; set; } — Require workspace for file access when set. ### IntelligenceX.OpenAI.EasyChatResult Represents the simplified result of an easy chat call. #### Methods - public static EasyChatResult FromTurn(TurnInfo turn) — Creates an [[cref:IntelligenceX.OpenAI.EasyChatResult]] from a turn. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Text { get; } — Gets the concatenated text response. - public IReadOnlyList TextBlocks { get; } — Gets the individual text blocks. - public IReadOnlyList Images { get; } — Gets any image outputs. - public TurnInfo Turn { get; } — Gets the underlying turn information. ### IntelligenceX.OpenAI.EasyImage Represents an image output from a chat call. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Url { get; } — Gets the image URL when available. - public String Path { get; } — Gets the local file path when available. - public String Base64 { get; } — Gets the base64 payload when provided. - public String MimeType { get; } — Gets the mime type when available. ### IntelligenceX.OpenAI.EasyLoginMode Identifies which login mode to use for easy sessions. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const EasyLoginMode ChatGpt — Uses ChatGPT login flow. - public const EasyLoginMode ApiKey — Uses API key authentication. - public const EasyLoginMode None — Disables login. ### IntelligenceX.OpenAI.EasySession Provides a simplified session wrapper for chat interactions. #### Methods - public static async Task StartAsync(EasySessionOptions options = null, CancellationToken cancellationToken = null) — Creates and initializes a new easy session. - public IDisposable SubscribeDelta(Action onDelta) — Subscribes to streaming text deltas. - public Task ChatAsync(String text, CancellationToken cancellationToken = null) — Sends a text-only chat request. - public async Task AskAsync(String text, EasyChatOptions options = null, CancellationToken cancellationToken = null) — Sends a text-only chat request and returns a simplified result. - public async Task AskWithImagePathAsync(String text, String imagePath, EasyChatOptions options = null, CancellationToken cancellationToken = null) — Sends a chat request with a local image and returns a simplified result. - public async Task AskWithImageUrlAsync(String text, String imageUrl, EasyChatOptions options = null, CancellationToken cancellationToken = null) — Sends a chat request with an image URL and returns a simplified result. - public Task ChatWithImagePathAsync(String text, String imagePath, EasyChatOptions options = null, CancellationToken cancellationToken = null) — Sends a chat request with a local image and returns the raw turn info. - public Task ChatWithImageUrlAsync(String text, String imageUrl, EasyChatOptions options = null, CancellationToken cancellationToken = null) — Sends a chat request with an image URL and returns the raw turn info. - public async Task ChatAsync(ChatInput input, EasyChatOptions options = null, CancellationToken cancellationToken = null) — Sends a chat request with the specified input. - public async Task EnsureLoggedInAsync(CancellationToken cancellationToken = null) — Ensures the session is authenticated before issuing requests. - public virtual Void Dispose() — Disposes the underlying client synchronously. - public virtual ValueTask DisposeAsync() — Disposes the underlying client asynchronously. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IntelligenceXClient Client { get; } — Gets the underlying client instance. ### IntelligenceX.OpenAI.EasySessionOptions Options for creating [[cref:IntelligenceX.OpenAI.EasySession]] instances. #### Methods - public Void Validate() — Validates the options and throws on invalid configuration. - public Boolean TryApplyConfig(String path = null, String baseDirectory = null) — Attempts to apply configuration from disk to these options. - public static EasySessionOptions FromConfig(String path = null, String baseDirectory = null) — Creates new options and applies configuration from disk when available. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public AppServerOptions AppServerOptions { get; } — App-server transport options. - public OpenAINativeOptions NativeOptions { get; } — Native transport options. - public OpenAICompatibleHttpOptions CompatibleHttpOptions { get; } — OpenAI-compatible HTTP transport options (for example local providers such as Ollama/LM Studio). - public CopilotClientOptions CopilotOptions { get; } — Copilot CLI transport options. - public OpenAITransportKind TransportKind { get; set; } — Selected transport kind. - public ClientInfo ClientInfo { get; set; } — Client identity for native calls. - public EasyLoginMode Login { get; set; } — Login mode selection. - public String ApiKey { get; set; } — API key to use when [[cref:IntelligenceX.OpenAI.EasySessionOptions.Login]] is [[cref:IntelligenceX.OpenAI.EasyLoginMode.ApiKey]]. - public Action OnLoginUrl { get; set; } — Callback invoked with the login URL. - public Func> OnPrompt { get; set; } — Callback used for prompting the user. - public Boolean UseLocalListener { get; set; } — Whether to use a local listener during login. - public Boolean OpenBrowser { get; set; } — Whether to open a browser during login. - public Boolean PrintLoginUrl { get; set; } — Whether to print the login URL. - public Boolean AutoInitialize { get; set; } — Whether to initialize the transport automatically. - public Boolean AutoLogin { get; set; } — Whether to login automatically on initialization. - public Boolean ValidateLoginOnEachRequest { get; set; } — Whether to validate login before each request. - public Boolean RequireWorkspaceForFileAccess { get; set; } — Whether to require a workspace for file access. - public Int64 MaxImageBytes { get; set; } — Maximum allowed image size in bytes. - public String DefaultModel { get; set; } — Default model name. - public String WorkingDirectory { get; set; } — Default working directory for file operations. - public String Workspace { get; set; } — Workspace path for tool access. - public Boolean AllowNetwork { get; set; } — Whether network access is allowed. - public String ApprovalPolicy { get; set; } — Approval policy string passed to the app-server. - public Boolean EnableUsageTelemetry { get; set; } — Enables persistent usage telemetry for IntelligenceX-owned turns. - public String UsageTelemetryDatabasePath { get; set; } — Optional SQLite database path used for usage telemetry persistence. - public String UsageTelemetryMachineId { get; set; } — Optional machine identifier stored with usage telemetry events. - public String UsageTelemetryAccountLabel { get; set; } — Optional account label stored with usage telemetry events. - public String UsageTelemetryProviderAccountId { get; set; } — Optional provider account identifier stored with usage telemetry events. - public String UsageTelemetrySourcePath { get; set; } — Optional logical source path used for the usage telemetry root. - public IIntelligenceXUsageTelemetrySessionFactory UsageTelemetrySessionFactory { get; set; } — Optional factory used to attach persistent usage telemetry storage. ### IntelligenceX.OpenAI.Fluent.AppServerFluent Fluent helpers for launching the local OpenAI App Server and returning a session wrapper. #### Methods - public static async Task StartAsync(AppServerOptions options = null, CancellationToken cancellationToken = null) — Starts the app server with the provided options and returns a fluent session. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.Fluent.FluentLoginSession Represents a fluent login session wrapper. #### Methods - public async Task WaitAsync(CancellationToken cancellationToken = null) — Waits for login completion and returns the fluent session. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public FluentSession Session { get; } — Gets the parent fluent session. - public ChatGptLoginStart Login { get; } — Gets the login start response. ### IntelligenceX.OpenAI.Fluent.FluentSession Fluent wrapper around [[cref:IntelligenceX.OpenAI.AppServer.AppServerClient]]. #### Methods - public async Task InitializeAsync(ClientInfo clientInfo, CancellationToken cancellationToken = null) — Initializes the session with client metadata. - public async Task LoginChatGptAsync(CancellationToken cancellationToken = null) — Starts a ChatGPT login flow. - public async Task LoginApiKeyAsync(String apiKey, CancellationToken cancellationToken = null) — Logs in using an API key. - public Task GetAccountAsync(CancellationToken cancellationToken = null) — Retrieves account information. - public async Task StartThreadAsync(String model, String currentDirectory = null, String approvalPolicy = null, String sandbox = null, CancellationToken cancellationToken = null) — Starts a new thread and returns a fluent thread session. - public async Task ResumeThreadAsync(String threadId, CancellationToken cancellationToken = null) — Resumes an existing thread. - public Task ListThreadsAsync(String cursor = null, Nullable limit = null, String sortKey = null, IReadOnlyList modelProviders = null, CancellationToken cancellationToken = null) — Lists threads with optional filters. - public Task LogoutAsync(CancellationToken cancellationToken = null) — Logs out of the current session. - public virtual Void Dispose() — Disposes the session. - public virtual ValueTask DisposeAsync() — Disposes the session asynchronously. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public AppServerClient Client { get; } — Gets the underlying app-server client. ### IntelligenceX.OpenAI.Fluent.FluentThreadSession Fluent wrapper for operations on a specific thread. #### Methods - public Task SendAsync(String text, CancellationToken cancellationToken = null) — Sends a text-only turn. - public Task SendAsync(String text, String model, String currentDirectory, String approvalPolicy, SandboxPolicy sandboxPolicy, CancellationToken cancellationToken = null) — Sends a text-only turn with overrides. - public Task RollbackAsync(Int32 turns, CancellationToken cancellationToken = null) — Rolls back the thread by a number of turns. - public Task InterruptAsync(String turnId, CancellationToken cancellationToken = null) — Interrupts a running turn. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public FluentSession Session { get; } — Gets the parent fluent session. - public ThreadInfo Thread { get; } — Gets the thread info. ### IntelligenceX.OpenAI.IntelligenceXClient Main client for OpenAI app-server and native transports. #### Methods - public AppServerClient RequireAppServer() — Returns the underlying app-server client or throws if not active. - public static async Task ConnectAsync(IntelligenceXClientOptions options = null, CancellationToken cancellationToken = null) — Connects to the configured transport and returns a ready client. - public Task InitializeAsync(ClientInfo clientInfo, CancellationToken cancellationToken = null) — Initializes the transport with client metadata. - public Task HealthCheckAsync(String method = null, Nullable timeout = null, CancellationToken cancellationToken = null) — Executes a health check call. - public Task GetAccountAsync(CancellationToken cancellationToken = null) — Retrieves account information. - public Task LogoutAsync(CancellationToken cancellationToken = null) — Logs out of the current session. - public Task ListModelsAsync(CancellationToken cancellationToken = null) — Lists available models. - public Task LoginChatGptAsync(CancellationToken cancellationToken = null) — Starts a ChatGPT login flow. - public Task LoginChatGptAsync(Action onUrl, Func> onPrompt, Boolean useLocalListener = true, Nullable timeout = null, CancellationToken cancellationToken = null) — Starts a ChatGPT login flow with callbacks and options. - public async Task LoginChatGptAndWaitAsync(Action onUrl = null, Func> onPrompt = null, Boolean useLocalListener = true, Nullable timeout = null, CancellationToken cancellationToken = null) — Starts a ChatGPT login flow and waits for completion. - public async Task EnsureChatGptLoginAsync(Boolean forceLogin = false, Action onUrl = null, Func> onPrompt = null, Boolean useLocalListener = true, Nullable timeout = null, CancellationToken cancellationToken = null) — Ensures a valid ChatGPT login is available by using cached credentials when possible and falling back to the OAuth flow. - public Task LoginApiKeyAsync(String apiKey, CancellationToken cancellationToken = null) — Logs in using an API key (app-server transport only). - public async Task StartNewThreadAsync(String model = null, String currentDirectory = null, String approvalPolicy = null, String sandbox = null, CancellationToken cancellationToken = null) — Starts a new thread and sets it as the current thread. - public async Task UseThreadAsync(String threadId, CancellationToken cancellationToken = null) — Resumes an existing thread and sets it as the current thread. - public async Task ChatAsync(ChatInput input, ChatOptions options = null, CancellationToken cancellationToken = null) — Sends a text-only chat request. - public async Task ChatWithImagePathAsync(String text, String imagePath, ChatOptions options = null, CancellationToken cancellationToken = null) — Sends a chat request with a local image. - public async Task ChatWithImageUrlAsync(String text, String imageUrl, ChatOptions options = null, CancellationToken cancellationToken = null) — Sends a chat request with an image URL. - ChatAsync — Sends a chat request with a structured input. - public IntelligenceXClient ConfigureWorkspace(String workingDirectory, Boolean allowNetwork = false) — Configures defaults for workspace-based tool access. - public IntelligenceXClient ConfigureDefaults(String model = null, String workingDirectory = null, String approvalPolicy = null, SandboxPolicy sandboxPolicy = null) — Configures default model and execution settings. - public IDisposable SubscribeDelta(Action onDelta) — Subscribes to streaming text deltas. - public virtual Void Dispose() — Disposes the client and underlying transport. - public virtual ValueTask DisposeAsync() — Disposes the client and underlying transport asynchronously. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public OpenAITransportKind TransportKind { get; } — Gets the active transport kind. - public AppServerClient RawClient { get; } — Gets the underlying app-server client when using app-server transport. #### Events - public event EventHandler DeltaReceived — Raised when streaming deltas are received. - public event EventHandler RpcCallStarted — Raised when an RPC call starts. - public event EventHandler RpcCallCompleted — Raised when an RPC call completes. - public event EventHandler TurnCompleted — Raised when a chat turn completes, including optional usage metadata. - public event EventHandler LoginStarted — Raised when a login flow starts. - public event EventHandler LoginCompleted — Raised when a login flow completes. - public event EventHandler ProtocolLineReceived — Raised when a protocol line is received from the transport. - public event EventHandler StandardErrorReceived — Raised when the transport writes to standard error. ### IntelligenceX.OpenAI.IntelligenceXClientOptions Configuration for creating an [[cref:IntelligenceX.OpenAI.IntelligenceXClient]]. #### Methods - public Void Validate() — Validates the configuration and throws on invalid values. - public Boolean TryApplyConfig(String path = null, String baseDirectory = null) — Attempts to apply configuration from disk to these options. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public AppServerOptions AppServerOptions { get; } — Options for the app-server transport. - public OpenAINativeOptions NativeOptions { get; } — Options for the native ChatGPT transport. - public OpenAICompatibleHttpOptions CompatibleHttpOptions { get; } — Options for OpenAI-compatible HTTP transports (for example local providers such as Ollama/LM Studio). - public CopilotClientOptions CopilotOptions { get; } — Options for the Copilot CLI transport. - public OpenAITransportKind TransportKind { get; set; } — Selected transport for API calls. - public ClientInfo ClientInfo { get; set; } — Client identity metadata sent to providers. - public Boolean AutoInitialize { get; set; } — Whether to auto-initialize the transport. - public String DefaultModel { get; set; } — Default model name used for requests when none is provided. - public String DefaultWorkingDirectory { get; set; } — Default working directory for file operations. - public String DefaultApprovalPolicy { get; set; } — Default approval policy used by the app-server. - public SandboxPolicy DefaultSandboxPolicy { get; set; } — Default sandbox policy used by the app-server. - public Boolean EnableUsageTelemetry { get; set; } — Enables persistent usage telemetry for IntelligenceX-owned turns. - public String UsageTelemetryDatabasePath { get; set; } — Optional SQLite database path used for usage telemetry persistence. - public String UsageTelemetryMachineId { get; set; } — Optional machine identifier stored with usage telemetry events. - public String UsageTelemetryAccountLabel { get; set; } — Optional account label stored with usage telemetry events. - public String UsageTelemetryProviderAccountId { get; set; } — Optional provider account identifier stored with usage telemetry events. - public String UsageTelemetrySourcePath { get; set; } — Optional logical source path used for the usage telemetry root. - public IIntelligenceXUsageTelemetrySessionFactory UsageTelemetrySessionFactory { get; set; } — Optional factory used to attach persistent usage telemetry storage. When omitted, telemetry persistence is skipped. ### IntelligenceX.OpenAI.Native.OpenAINativeOptions Options for the ChatGPT native transport, including auth, endpoints, and defaults. #### Methods - public Void Validate() — Validates required configuration values. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public OAuthConfig OAuth { get; } — OAuth configuration used for ChatGPT sign-in. - public IAuthBundleStore AuthStore { get; set; } — Store used to load/save the auth bundle. - public String AuthAccountId { get; set; } — Optional ChatGPT account id to use when multiple bundles are present in the auth store. When set, native transport will load the bundle for this account id. - public String ResponsesUrl { get; set; } — Endpoint for responses in the native transport. - public String[] ModelUrls { get; set; } — Endpoint list used to fetch available models. - public String ChatGptApiBaseUrl { get; set; } — Base URL for ChatGPT API calls (defaults to the public backend-api host). - public String ClientVersion { get; set; } — Client version string reported to the API. - public String Instructions { get; set; } — Default system instructions. - public Nullable ReasoningEffort { get; set; } — Default reasoning effort hint. - public Nullable ReasoningSummary { get; set; } — Default reasoning summary hint. - public String Originator { get; set; } — Originator identifier used in requests. - public TextVerbosity TextVerbosity { get; set; } — Default text verbosity hint. - public ImageGenerationOptions ImageGeneration { get; set; } — Default image generation built-in tool options. - public Boolean IncludeReasoningEncryptedContent { get; set; } — Whether to include encrypted reasoning content. - public Boolean EnableToolSchemaFallback { get; set; } — Whether the native transport should retry request tool definitions when the server rejects the tool schema (e.g., unknown parameter under tools[*]). Disable if you require strict single-attempt semantics. - public TimeSpan OAuthTimeout { get; set; } — Timeout for OAuth login flows. - public Boolean UseLocalListener { get; set; } — Whether to use a local listener for OAuth callbacks. - public Boolean PersistCodexAuthJson { get; set; } — Whether to persist codex auth JSON to disk. - public String CodexHome { get; set; } — Override path to the Codex home directory. - public String UserAgent { get; set; } — Optional user agent for HTTP requests. ### IntelligenceX.OpenAI.OpenAIAuthenticationRequiredException Exception thrown when an operation requires an authenticated ChatGPT session. #### Methods - public override Exception GetBaseException() - public override Void GetObjectData(SerializationInfo info, StreamingContext context) - public override String ToString() - public Type GetType() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public MethodBase TargetSite { get; } - public override String Message { get; } - public override IDictionary Data { get; } - public Exception InnerException { get; } - public override String HelpLink { get; set; } - public override String Source { get; set; } - public Int32 HResult { get; set; } - public override String StackTrace { get; } #### Fields - public const String DefaultMessage — Default error message used when authentication is missing. ### IntelligenceX.OpenAI.OpenAIModelCatalog Shared helpers for OpenAI/Codex model identifiers used across IntelligenceX. #### Methods - public static String NormalizeModelId(String model, String fallback = null) — Normalizes provider-prefixed model identifiers while preserving known mode suffixes such as /fast. - public static String NormalizeBaseModelId(String model, String fallback = null) — Returns the normalized base model id without known OpenAI mode suffixes such as /fast or /spark. - public static String ClassifyProductSurface(String surface, String processingTier = null) — Classifies usage events into stable surface buckets, including fast-tier Codex usage when exposed by telemetry. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Fields - public const String DefaultModel — Default OpenAI model for new IntelligenceX sessions and reviewer runs. ### IntelligenceX.OpenAI.OpenAITransportKind Identifies the OpenAI transport implementation. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const OpenAITransportKind Native — Native HTTP transport. - public const OpenAITransportKind AppServer — App-server JSON-RPC transport. - public const OpenAITransportKind CompatibleHttp — OpenAI-compatible HTTP transport (for example local providers such as Ollama/LM Studio). - public const OpenAITransportKind CopilotCli — GitHub Copilot CLI transport (subscription-backed). ### IntelligenceX.OpenAI.OpenAIUserCanceledLoginException Exception thrown when a user explicitly cancels an interactive login flow. #### Methods - public override Exception GetBaseException() - public override Void GetObjectData(SerializationInfo info, StreamingContext context) - public override String ToString() - public Type GetType() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public CancellationToken CancellationToken { get; } - public MethodBase TargetSite { get; } - public override String Message { get; } - public override IDictionary Data { get; } - public Exception InnerException { get; } - public override String HelpLink { get; set; } - public override String Source { get; set; } - public Int32 HResult { get; set; } - public override String StackTrace { get; } #### Fields - public const String DefaultMessage — Default error message used when the user cancels login. ### IntelligenceX.OpenAI.ToolCalling.ToolCallParser Helper for extracting tool calls from a turn response. #### Methods - public static IReadOnlyList Extract(TurnInfo turn) — Extracts tool calls from a turn. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.ToolCalling.ToolChoice Represents the tool selection strategy for a request. #### Methods - public static ToolChoice Custom(String name) — Forces the model to call a specific tool. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Type { get; } — Gets the tool choice type. - public String Name { get; } — Gets the tool name when a specific tool is required. - public static ToolChoice Auto { get; } — Allows the model to decide which tool to call. - public static ToolChoice None { get; } — Disables tool calling. ### IntelligenceX.OpenAI.ToolCalling.ToolRunner Executes a chat request with tool calls resolved locally. #### Methods - public static async Task RunAsync(IntelligenceXClient client, ChatInput input, ChatOptions options, ToolRegistry registry, ToolRunnerOptions runnerOptions = null, CancellationToken cancellationToken = null) — Runs a chat request and executes tool calls until completion. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.ToolCalling.ToolRunnerOptions Tool runner configuration. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Int32 MaxRounds { get; set; } — Maximum number of tool-call rounds allowed. - public Boolean ParallelToolCalls { get; set; } — Whether to execute tool calls in parallel. ### IntelligenceX.OpenAI.ToolCalling.ToolRunResult Result of a tool runner execution. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public TurnInfo FinalTurn { get; } — Gets the final turn returned by the model. - public IReadOnlyList ToolCalls { get; } — Gets all tool calls executed during the run. - public IReadOnlyList ToolOutputs { get; } — Gets all tool outputs returned to the model. ### IntelligenceX.OpenAI.Usage.ChatGptCreditsSnapshot Represents a credits snapshot for a ChatGPT account. #### Methods - public static ChatGptCreditsSnapshot FromJson(JsonObject obj) — Parses a credits snapshot from JSON. - public JsonObject ToJson() — Serializes the credits snapshot to a JSON object. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean HasCredits { get; } — Gets a value indicating whether the account has credits. - public Boolean Unlimited { get; } — Gets a value indicating whether credits are unlimited. - public Nullable Balance { get; } — Gets the credits balance, when available. - public Int32[] ApproxLocalMessages { get; } — Gets approximate local message counts. - public Int32[] ApproxCloudMessages { get; } — Gets approximate cloud message counts. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.Usage.ChatGptCreditUsageEvent Represents a single credit usage event. #### Methods - public static ChatGptCreditUsageEvent FromJson(JsonObject obj) — Parses a credit usage event from JSON. - public JsonObject ToJson() — Serializes the event to a JSON object. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Date { get; } — Gets the event date. - public String ProductSurface { get; } — Gets the product surface identifier. - public Nullable CreditAmount { get; } — Gets the credit amount for the event. - public String UsageId { get; } — Gets the usage id when present. - public String ProcessingTier { get; } — Gets the processing tier when present (for example priority/fast). - public String Model { get; } — Gets the model identifier when present. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.Usage.ChatGptDailyTokenUsageBreakdown Represents daily token usage breakdown grouped by product surface. #### Methods - public static ChatGptDailyTokenUsageBreakdown FromJson(JsonObject obj) — Parses a daily token usage breakdown payload from JSON. - public JsonObject ToJson() — Serializes the breakdown to a JSON object. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public IReadOnlyList Data { get; } — Gets the daily data points. - public String Units { get; } — Gets the unit label reported by the API. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.Usage.ChatGptDailyTokenUsageDay Represents one day's token usage breakdown by product surface. #### Methods - public static ChatGptDailyTokenUsageDay FromJson(JsonObject obj) — Parses a daily token usage row from JSON. - public JsonObject ToJson() — Serializes the day to a JSON object. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Date { get; } — Gets the bucket date. - public IReadOnlyDictionary ProductSurfaceUsageValues { get; } — Gets usage values keyed by product surface. - public Double Total { get; } — Gets the total across all surfaces for the day. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.Usage.ChatGptNamedRateLimit Represents an additional named rate limit returned alongside the primary usage status. #### Methods - public static ChatGptNamedRateLimit FromJson(JsonObject obj) — Parses a named rate limit from JSON. - public JsonObject ToJson() — Serializes the named rate limit to JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String LimitName { get; } — Gets the provider-facing limit name. - public String MeteredFeature { get; } — Gets the metered feature identifier when present. - public ChatGptRateLimitStatus RateLimit { get; } — Gets the underlying rate limit status. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.Usage.ChatGptRateLimitStatus Represents rate limit status information. #### Methods - public static ChatGptRateLimitStatus FromJson(JsonObject obj) — Parses a rate limit status from JSON. - public JsonObject ToJson() — Serializes the status to a JSON object. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean Allowed { get; } — Gets a value indicating whether requests are allowed. - public Boolean LimitReached { get; } — Gets a value indicating whether the limit has been reached. - public ChatGptRateLimitWindow PrimaryWindow { get; } — Gets the primary rate limit window. - public ChatGptRateLimitWindow SecondaryWindow { get; } — Gets the secondary rate limit window. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.Usage.ChatGptRateLimitWindow Represents a rate limit window. #### Methods - public static ChatGptRateLimitWindow FromJson(JsonObject obj) — Parses a rate limit window from JSON. - public JsonObject ToJson() — Serializes the window to a JSON object. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Nullable UsedPercent { get; } — Gets the percentage of usage consumed. - public Nullable LimitWindowSeconds { get; } — Gets the window length in seconds. - public Nullable ResetAfterSeconds { get; } — Gets the seconds remaining until reset. - public Nullable ResetAtUnixSeconds { get; } — Gets the reset time in Unix seconds. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.OpenAI.Usage.ChatGptUsageCache Helpers for reading and writing the local usage cache. #### Methods - public static String ResolveCachePath() — Resolves the default cache path, honoring INTELLIGENCEX_USAGE_PATH when present. - public static String ResolveCachePath(String accountId) — Resolves the usage cache path for a specific account id. - public static Boolean TryLoad(out ChatGptUsageCacheEntry entry, String path = null) — Attempts to load a cached usage snapshot. - public static Void Save(ChatGptUsageSnapshot snapshot, String path = null) — Saves a usage snapshot to the cache. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.Usage.ChatGptUsageCacheEntry Represents a cached usage snapshot entry. #### Methods - public JsonObject ToJson() — Serializes the cache entry to JSON. - public static ChatGptUsageCacheEntry FromJson(JsonObject obj) — Parses a cache entry from JSON. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public ChatGptUsageSnapshot Snapshot { get; } — Gets the cached usage snapshot. - public DateTimeOffset UpdatedAt { get; } — Gets the timestamp when the snapshot was updated. ### IntelligenceX.OpenAI.Usage.ChatGptUsageReport Represents a combined usage snapshot and usage events report. #### Methods - public JsonObject ToJson() — Serializes the report to a JSON object. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public ChatGptUsageSnapshot Snapshot { get; } — Gets the usage snapshot. - public IReadOnlyList Events { get; } — Gets the credit usage events. - public ChatGptDailyTokenUsageBreakdown DailyBreakdown { get; } — Gets the daily token usage breakdown when requested. ### IntelligenceX.OpenAI.Usage.ChatGptUsageService Retrieves ChatGPT usage, rate limits, and credit usage events. #### Methods - public Task GetUsageSnapshotAsync(CancellationToken cancellationToken = null) — Retrieves the current usage snapshot. - public Task> GetCreditUsageEventsAsync(CancellationToken cancellationToken = null) — Retrieves recent credit usage events. - public Task GetDailyTokenUsageBreakdownAsync(CancellationToken cancellationToken = null) — Retrieves daily token usage breakdown by product surface. - public Task GetReportAsync(Boolean includeEvents, CancellationToken cancellationToken = null) — Retrieves a combined usage report. - public async Task GetReportAsync(Boolean includeEvents, Boolean includeDailyBreakdown = false, CancellationToken cancellationToken = null) — Retrieves a combined usage report. - public virtual Void Dispose() — Disposes the underlying usage client. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.OpenAI.Usage.ChatGptUsageSnapshot Represents a usage snapshot returned by ChatGPT usage endpoints. #### Methods - public static ChatGptUsageSnapshot FromJson(JsonObject obj) — Creates a snapshot from a JSON object. - public JsonObject ToJson() — Serializes the snapshot to a JSON object. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String UserId { get; } — Gets the user id. - public String AccountId { get; } — Gets the account id. - public String Email { get; } — Gets the account email. - public String PlanType { get; } — Gets the plan type identifier. - public ChatGptRateLimitStatus RateLimit { get; } — Gets the main rate limit status. - public ChatGptCreditsSnapshot Credits { get; } — Gets the credits snapshot. - public IReadOnlyList AdditionalRateLimits { get; } — Gets any additional named rate limits returned by the API. - public JsonObject Raw { get; } — Gets the raw JSON object. - public JsonObject Additional { get; } — Gets unrecognized fields from the payload. ### IntelligenceX.Presentation.PopupBounds Device-independent bounds used during popup placement. #### Methods - public override String ToString() - public override Int32 GetHashCode() - public virtual Boolean Equals(PopupBounds other) - public Void Deconstruct(out Double Left, out Double Top, out Double Right, out Double Bottom) - public Type GetType() #### Properties - public Double Left { get; set; } - public Double Top { get; set; } - public Double Right { get; set; } - public Double Bottom { get; set; } ### IntelligenceX.Presentation.PopupPlacement Final popup placement in device-independent units. #### Methods - public override String ToString() - public override Int32 GetHashCode() - public virtual Boolean Equals(PopupPlacement other) - public Void Deconstruct(out Double Left, out Double Top) - public Type GetType() #### Properties - public Double Left { get; set; } - public Double Top { get; set; } ### IntelligenceX.Presentation.PopupPlacementMath Helper methods for converting monitor pixel coordinates into device-independent popup placement. #### Methods - public static PopupBounds ConvertPixelBoundsToDips(Double leftPixels, Double topPixels, Double rightPixels, Double bottomPixels, Double dpiX, Double dpiY) — Converts monitor work-area bounds from device pixels into device-independent units. - public static PopupPoint ConvertPixelsToDips(Double xPixels, Double yPixels, Double dpiX, Double dpiY) — Converts a monitor-relative point from device pixels into device-independent units. - public static PopupPlacement PlaceNearCursor(PopupBounds workArea, Double popupWidth, Double popupHeight, Double cursorXDips, Double cursorYDips) — Computes a popup placement near the cursor while clamping the result into the visible work area. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Presentation.PopupPoint Device-independent point used during popup placement. #### Methods - public override String ToString() - public override Int32 GetHashCode() - public virtual Boolean Equals(PopupPoint other) - public Void Deconstruct(out Double X, out Double Y) - public Type GetType() #### Properties - public Double X { get; set; } - public Double Y { get; set; } ### IntelligenceX.Rpc.JsonRpcError Represents a JSON-RPC error payload. #### Methods - public override String ToString() — Returns a human-readable error string. - public Type GetType() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Int32 Code { get; } — Gets the error code. - public String Message { get; } — Gets the error message. - public JsonValue Data { get; } — Gets optional error data. ### IntelligenceX.Rpc.JsonRpcErrorHints Provides friendly descriptions for JSON-RPC error codes. #### Methods - public static String GetHint(Int32 code) — Returns a human-readable hint for a JSON-RPC error code, when known. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Rpc.JsonRpcException Exception raised for JSON-RPC error responses. #### Methods - public override Exception GetBaseException() - public override Void GetObjectData(SerializationInfo info, StreamingContext context) - public override String ToString() - public Type GetType() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public JsonRpcError Error { get; } — Gets the JSON-RPC error payload. - public String Method { get; } — Gets the JSON-RPC method name. - public String Hint { get; } — Gets a human-readable hint for the error code when available. - public MethodBase TargetSite { get; } - public override String Message { get; } - public override IDictionary Data { get; } - public Exception InnerException { get; } - public override String HelpLink { get; set; } - public override String Source { get; set; } - public Int32 HResult { get; set; } - public override String StackTrace { get; } ### IntelligenceX.Rpc.JsonRpcNotificationEventArgs Event arguments for JSON-RPC notifications. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Method { get; } — Gets the notification method name. - public JsonValue Params { get; } — Gets the notification parameters. ### IntelligenceX.Rpc.JsonRpcRequest Represents an inbound JSON-RPC request. #### Methods - public Task RespondAsync(JsonValue result, CancellationToken cancellationToken = null) — Sends a successful response for this request. - public Task RespondErrorAsync(Int32 code, String message, JsonValue data = null, CancellationToken cancellationToken = null) — Sends an error response for this request. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Int64 Id { get; } — Gets the request id. - public String Method { get; } — Gets the JSON-RPC method name. - public JsonValue Params { get; } — Gets the request parameters. ### IntelligenceX.Rpc.JsonRpcRequestEventArgs Event arguments for JSON-RPC requests. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public JsonRpcRequest Request { get; } — Gets the JSON-RPC request. ### IntelligenceX.Setup.Onboarding.SetupOnboardingCommandTemplates Canonical command templates for onboarding flows. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String AutoDetect { get; } — Auto-detect command. - public String NewSetupDryRun { get; } — New setup dry-run command. - public String NewSetupApply { get; } — New setup apply command. - public String RefreshAuthDryRun { get; } — Refresh auth dry-run command. - public String RefreshAuthApply { get; } — Refresh auth apply command. - public String CleanupDryRun { get; } — Cleanup dry-run command. - public String CleanupApply { get; } — Cleanup apply command. - public String MaintenanceWizard { get; } — Maintenance wizard command. ### IntelligenceX.Setup.Onboarding.SetupOnboardingContract Canonical onboarding contract consumed by CLI, Web, and Bot surfaces. #### Methods - public static IReadOnlyList GetPaths(Boolean includeMaintenancePath = true) — Returns onboarding paths. - public static SetupOnboardingPathContract GetPathOrDefault(String id, Boolean includeMaintenancePath = true) — Returns a path by id, or the default path when not found. - public static String PathIdFromOperation(String operationId) — Returns canonical path id for the given operation id. - public static SetupOnboardingCommandTemplates GetCommandTemplates() — Returns canonical command templates. - public static String GetContractFingerprint(Boolean includeMaintenancePath = true) — Returns deterministic contract fingerprint for drift checks. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Fields - public const String NewSetupPathId — New setup path id. - public const String RefreshAuthPathId — Refresh auth path id. - public const String CleanupPathId — Cleanup path id. - public const String MaintenancePathId — Maintenance path id. - public const String ContractVersion — Semantic onboarding contract version. ### IntelligenceX.Setup.Onboarding.SetupOnboardingContractMismatch Single mismatch entry for onboarding contract verification. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Source { get; } — Source of compared metadata (autodetect or pack_info). - public String Field { get; } — Name of the compared field. - public String Expected { get; } — Canonical expected value. - public String Actual { get; } — Actual value received from caller metadata. ### IntelligenceX.Setup.Onboarding.SetupOnboardingContractVerification Verification helper for onboarding contract metadata parity checks. #### Methods - public static SetupOnboardingContractVerificationResult Verify(String autodetectContractVersion, String autodetectContractFingerprint, String packContractVersion = null, String packContractFingerprint = null, Boolean includeMaintenancePath = true) — Verifies autodetect/pack contract metadata against canonical onboarding contract values. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Setup.Onboarding.SetupOnboardingContractVerificationResult Result payload for onboarding contract metadata verification. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Boolean IncludeMaintenancePath { get; } — Whether maintenance path was included when computing expected fingerprint. - public String ExpectedContractVersion { get; } — Canonical expected contract version. - public String ExpectedContractFingerprint { get; } — Canonical expected contract fingerprint. - public String AutodetectContractVersion { get; } — Autodetect contract version provided by caller. - public String AutodetectContractFingerprint { get; } — Autodetect contract fingerprint provided by caller. - public String PackContractVersion { get; } — Optional pack contract version provided by caller. - public String PackContractFingerprint { get; } — Optional pack contract fingerprint provided by caller. - public IReadOnlyList Mismatches { get; } — Detected mismatch list. - public Int32 MismatchCount { get; } — Number of detected mismatches. - public Boolean IsMatch { get; } — True when no mismatches were detected. ### IntelligenceX.Setup.Onboarding.SetupOnboardingOperationIds Canonical operation ids used by onboarding contracts. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Fields - public const String Setup — Setup operation id. - public const String UpdateSecret — Update secret operation id. - public const String Cleanup — Cleanup operation id. ### IntelligenceX.Setup.Onboarding.SetupOnboardingPathContract Immutable onboarding path contract. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Id { get; } — Stable path id (for example, new-setup). - public String DisplayName { get; } — Human-readable path label. - public String Description { get; } — Path description. - public String Operation { get; } — Default operation id. - public Boolean RequiresGitHubAuth { get; } — Whether GitHub auth is required. - public Boolean RequiresRepoSelection { get; } — Whether repository selection is required. - public Boolean RequiresAiAuth { get; } — Whether AI auth is required. - public IReadOnlyList Flow { get; } — Ordered flow steps for this path. ### IntelligenceX.Telemetry.Git.GitCodeChurnSummaryService Summarizes recent local git churn so tray and report surfaces can reuse one compact model. ### IntelligenceX.Telemetry.Git.GitCodeUsageCorrelationSummaryBuilder Builds a compact summary that compares local git churn with recent telemetry usage patterns. ### IntelligenceX.Telemetry.Git.GitCodeUsageCorrelationSummaryData Compact repository churn vs usage summary. ### IntelligenceX.Telemetry.Git.GitCodeUsageDailyValueData One daily activity point for churn-vs-usage comparison. ### IntelligenceX.Telemetry.Git.GitCodeUsageProviderCorrelationData One provider-level churn vs usage correlation result. ### IntelligenceX.Telemetry.Git.GitCodeUsageProviderSeriesData Daily usage/activity series for one provider. ### IntelligenceX.Telemetry.GitHub.GitHubContribData Contribution summary for the dashboard window. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public Int32 TotalContributions { get; } — Gets total contributions in the dashboard window. - public Int32 TotalCommits { get; } — Gets total commit contributions in the dashboard window. - public Int32 TotalIssues { get; } — Gets total issue contributions in the dashboard window. - public Int32 TotalPRs { get; } — Gets total pull request contributions in the dashboard window. - public Int32 TotalReviews { get; } — Gets total review contributions in the dashboard window. - public IReadOnlyList DailyContributions { get; } — Gets daily contribution records for the dashboard window. ### IntelligenceX.Telemetry.GitHub.GitHubCredentialResolution Holds the resolved GitHub credential state for the tray. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Token { get; } — Gets the resolved GitHub token when one is available. - public GitHubCredentialSource Source { get; } — Gets the source that produced the token. - public Boolean HasToken { get; } — Gets whether a usable GitHub token was found. ### IntelligenceX.Telemetry.GitHub.GitHubCredentialResolver Resolves GitHub credentials from supported local sources without requiring manual token entry. #### Methods - public static String ResolveFromEnvironment() — Returns a GitHub token from supported environment variables when present. - public static async Task ResolveAsync(CancellationToken cancellationToken = null) — Resolves GitHub credentials from the preferred source chain. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Telemetry.GitHub.GitHubCredentialSource Identifies where the tray resolved GitHub credentials from. #### Methods - public Boolean HasFlag(Enum flag) - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() - public override sealed Int32 CompareTo(Object target) - public override sealed String ToString(String format, IFormatProvider provider) - public override sealed TypeCode GetTypeCode() - public Type GetType() #### Fields - public const GitHubCredentialSource None — No GitHub credential source was available. - public const GitHubCredentialSource Environment — The token came from environment variables. - public const GitHubCredentialSource GitHubCli — The token came from an existing local GitHub CLI login. ### IntelligenceX.Telemetry.GitHub.GitHubDailyContrib Daily contribution entry for the dashboard. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public DateTime Date { get; } — Gets the UTC day represented by this record. - public Int32 Count { get; } — Gets the contribution count for the day. - public String Color { get; } — Gets the optional GitHub contribution color for the day. ### IntelligenceX.Telemetry.GitHub.GitHubDashboardData Shared GitHub dashboard data for tray or diagnostics UIs. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Login { get; } — Gets the login this dashboard represents. - public GitHubProfileInfo Profile { get; } — Gets profile details for the requested user. - public GitHubContribData Contributions { get; } — Gets aggregated contribution data. - public IReadOnlyList TopRepos { get; } — Gets top repositories by stars/forks. - public IReadOnlyList AllRepos { get; } — Gets the full repository set used to build ownership and totals. - public Boolean HasContributionData { get; } — Gets whether contribution totals came from the authenticated GitHub dashboard path. ### IntelligenceX.Telemetry.GitHub.GitHubDashboardService Native GitHub dashboard service for shared observability scenarios. #### Methods - public async Task FetchAsync(String login = null, CancellationToken cancellationToken = null) — Creates a dashboard snapshot for the authenticated user or an explicitly supplied login. - public async Task FetchRepositoryAsync(String repositoryNameWithOwner, CancellationToken cancellationToken = null) — Fetches a single public repository by owner/name. - public async Task> FetchStargazersAsync(String repositoryNameWithOwner, Int32 limit = 200, CancellationToken cancellationToken = null) — Fetches recent stargazers for a repository using the public REST API. - public async Task> FetchUsefulForksAsync(String repositoryNameWithOwner, Int32 limit = 20, CancellationToken cancellationToken = null) — Fetches and ranks potentially useful forks for a repository. - public async Task GetAuthenticatedLoginAsync(CancellationToken cancellationToken = null) — Resolves the authenticated GitHub login from the API. - public static String ResolveTokenFromEnvironment() — Returns a GitHub token from common environment variables when available. - public static async Task ResolveTokenAsync(CancellationToken cancellationToken = null) — Returns a GitHub token from common environment variables or the local GitHub CLI login when available. - public virtual Void Dispose() - public static GitHubProfileInfo CreateProfileInfo(JsonElement user, String fallbackLogin = null) — Creates profile details from a GitHub REST user payload. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Telemetry.GitHub.GitHubLocalActivityCorrelationSummaryBuilder Correlates watched GitHub repository momentum with local code churn and telemetry activity. ### IntelligenceX.Telemetry.GitHub.GitHubObservabilitySummaryData Compact GitHub watch summary consumed by tray and report view models. ### IntelligenceX.Telemetry.GitHub.GitHubObservabilitySummaryService Builds compact GitHub repository watch momentum data for UI and report surfaces. ### IntelligenceX.Telemetry.GitHub.GitHubObservedCorrelationData Pairwise repository movement correlation derived from watched daily trend points. ### IntelligenceX.Telemetry.GitHub.GitHubObservedForkNetworkOverlapData Shared fork-owner overlap between two watched repositories. ### IntelligenceX.Telemetry.GitHub.GitHubObservedRepositoryTrendData Single watched repository trend row. ### IntelligenceX.Telemetry.GitHub.GitHubObservedStarCorrelationData Pairwise star-delta correlation derived from watched daily star movement. ### IntelligenceX.Telemetry.GitHub.GitHubObservedStargazerAudienceOverlapData Shared stargazer-audience overlap between two watched repositories. ### IntelligenceX.Telemetry.GitHub.GitHubObservedTrendPointData Single recent trend point derived from daily snapshot deltas. ### IntelligenceX.Telemetry.GitHub.GitHubProfileInfo Profile details for the GitHub dashboard window. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Login { get; } — Gets the canonical login. - public String DisplayName { get; } — Gets the display name when available. - public String Bio { get; } — Gets the public bio text. - public String Company { get; } — Gets the company field when available. - public String Location { get; } — Gets the public location field when available. - public String WebsiteUrl { get; } — Gets the website or blog URL when available. - public String AvatarUrl { get; } — Gets the avatar URL when available. - public Int32 Followers { get; } — Gets follower count. - public Int32 Following { get; } — Gets following count. - public Int32 PublicRepositories { get; } — Gets the public repository count. ### IntelligenceX.Telemetry.GitHub.GitHubRepoInfo Repository summary for the dashboard. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String NameWithOwner { get; } — Gets the canonical owner/repository name. - public Int32 Stars { get; } — Gets the repository star count. - public Int32 Forks { get; } — Gets the repository fork count. - public Int32 Watchers { get; } — Gets the repository watcher count. - public Int32 OpenIssues { get; } — Gets the repository open issue count. - public String Description { get; } — Gets the optional repository description. - public String Language { get; } — Gets the optional primary language name. - public String LanguageColor { get; } — Gets the optional primary language color. - public Nullable PushedAtUtc { get; } — Gets the last pushed timestamp when available. - public Boolean IsArchived { get; } — Gets whether the repository is archived. - public Boolean IsFork { get; } — Gets whether the repository itself is a fork. ### IntelligenceX.Telemetry.GitHub.GitHubRepositoryClusterSummaryBuilder Combines star-sync, shared stargazers, fork-network overlap, and local-pulse alignment into related repo clusters. ### IntelligenceX.Telemetry.GitHub.GitHubRepositoryForkChange Latest status change for a tracked fork. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String ParentRepositoryNameWithOwner { get; } — Gets the parent repository in owner/name form. - public String ForkRepositoryNameWithOwner { get; } — Gets the fork repository in owner/name form. - public Nullable PreviousCapturedAtUtc { get; } — Gets the previous observation time when available. - public DateTimeOffset CurrentCapturedAtUtc { get; } — Gets the latest observation time. - public Double Score { get; } — Gets the latest usefulness score. - public Double ScoreDelta { get; } — Gets the usefulness score delta versus the prior observation. - public Int32 Stars { get; } — Gets the latest star count. - public Int32 StarDelta { get; } — Gets the star delta versus the prior observation. - public Int32 Watchers { get; } — Gets the latest watcher count. - public Int32 WatcherDelta { get; } — Gets the watcher delta versus the prior observation. - public String Tier { get; } — Gets the latest usefulness tier. - public String Status { get; } — Gets the derived status label such as new, rising, steady, cooling, or archived. ### IntelligenceX.Telemetry.GitHub.GitHubRepositoryForkHistoryAnalytics Analytics helpers for persisted fork history. #### Methods - public static IReadOnlyList BuildLatestChanges(IEnumerable snapshots) — Builds one latest change record per fork. - public static GitHubRepositoryForkChange CreateChange(GitHubRepositoryForkSnapshotRecord previous, GitHubRepositoryForkSnapshotRecord current) — Creates one status change between two fork snapshots. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Telemetry.GitHub.GitHubRepositoryForkInfo Ranked fork candidate returned by the shared dashboard client. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String ParentRepositoryNameWithOwner { get; } — Gets the watched parent repository. - public String RepositoryNameWithOwner { get; } — Gets the fork repository name. - public Double Score { get; } — Gets the usefulness score. - public String Tier { get; } — Gets the usefulness tier. - public Int32 Stars { get; } — Gets the fork star count. - public Int32 Forks { get; } — Gets the fork count of the fork itself. - public Int32 Watchers { get; } — Gets the watcher count. - public Int32 OpenIssues { get; } — Gets the open issue count. - public String Url { get; } — Gets the public fork URL. - public String Description { get; } — Gets the optional description. - public String PrimaryLanguage { get; } — Gets the primary language when available. - public Nullable PushedAtUtc { get; } — Gets the most recent push timestamp. - public Nullable UpdatedAtUtc { get; } — Gets the most recent update timestamp. - public Nullable CreatedAtUtc { get; } — Gets the creation timestamp. - public Boolean IsArchived { get; } — Gets whether the fork is archived. - public IReadOnlyList Reasons { get; } — Gets the score reasons. ### IntelligenceX.Telemetry.GitHub.GitHubRepositoryForkSnapshotRecord Canonical persisted observation of a fork at a point in time. #### Methods - public static String CreateStableId(String parentRepositoryNameWithOwner, String forkRepositoryNameWithOwner, DateTimeOffset capturedAtUtc) — Creates a deterministic snapshot identifier from parent, fork, and capture time. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Id { get; } — Gets the stable snapshot identifier. - public String ParentRepositoryNameWithOwner { get; } — Gets the parent repository in owner/name form. - public String ForkRepositoryNameWithOwner { get; } — Gets the fork repository in owner/name form. - public DateTimeOffset CapturedAtUtc { get; } — Gets the UTC time when the observation was captured. - public Double Score { get; } — Gets the computed usefulness score. - public String Tier { get; } — Gets the computed usefulness tier. - public Int32 Stars { get; } — Gets the fork star count. - public Int32 Forks { get; } — Gets the fork count of the fork itself. - public Int32 Watchers { get; } — Gets the fork watcher count. - public Int32 OpenIssues { get; } — Gets the fork open issue count. - public String Url { get; set; } — Gets or sets the optional fork URL. - public String Description { get; set; } — Gets or sets the optional fork description. - public String PrimaryLanguage { get; set; } — Gets or sets the optional primary language. - public Nullable PushedAtUtc { get; set; } — Gets or sets the optional last pushed timestamp. - public Nullable UpdatedAtUtc { get; set; } — Gets or sets the optional last updated timestamp. - public Nullable CreatedAtUtc { get; set; } — Gets or sets the optional creation timestamp. - public Boolean IsArchived { get; set; } — Gets or sets whether the fork is archived. - public String ReasonsSummary { get; set; } — Gets or sets the compact reason summary used for the score. ### IntelligenceX.Telemetry.GitHub.GitHubRepositoryIdentity Helpers for repository watch identity and normalization. #### Methods - public static String NormalizeNameWithOwner(String repositoryNameWithOwner) — Normalizes a repository name into owner/name form. - public static ValueTuple SplitNameWithOwner(String repositoryNameWithOwner) — Splits a canonical repository name into owner and repository parts. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Telemetry.GitHub.GitHubRepositoryObservabilityService Coordinates repository watch management and persisted snapshot history. #### Methods - public GitHubRepositoryWatchRecord EnsureWatch(String repositoryNameWithOwner, Nullable createdAtUtc = null, String displayName = null, String category = null, String notes = null, Nullable enabled = null) — Ensures a watch exists for the supplied repository. - public IReadOnlyList GetWatches(Boolean enabledOnly = false) — Returns all known watches. - public GitHubRepositorySnapshotDelta RecordSnapshot(GitHubRepositorySnapshotRecord snapshot) — Persists a snapshot and returns its latest delta versus the prior snapshot. - public IReadOnlyList GetSnapshots(String watchId = null) — Returns all persisted snapshots. - public IReadOnlyList GetLatestDeltas(Boolean enabledOnly = true) — Returns the latest per-watch deltas across known watches. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Telemetry.GitHub.GitHubRepositorySnapshotAnalytics Analytics helpers for repository snapshots. #### Methods - public static IReadOnlyList BuildDailyDeltas(IEnumerable snapshots) — Builds day-over-day deltas for the supplied snapshots, using the latest capture per UTC day. - public static GitHubRepositorySnapshotDelta CreateDelta(GitHubRepositorySnapshotRecord previous, GitHubRepositorySnapshotRecord current) — Creates a delta from two snapshots of the same repository. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() ### IntelligenceX.Telemetry.GitHub.GitHubRepositorySnapshotDelta Delta between two repository snapshots. #### Methods - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String RepositoryNameWithOwner { get; } — Gets the repository name in owner/name form. - public Nullable PreviousCapturedAtUtc { get; } — Gets the prior snapshot time when available. - public DateTimeOffset CurrentCapturedAtUtc { get; } — Gets the current snapshot time. - public Int32 Stars { get; } — Gets the current star count. - public Int32 Forks { get; } — Gets the current fork count. - public Int32 Watchers { get; } — Gets the current watcher count. - public Int32 OpenIssues { get; } — Gets the current open issue count. - public Int32 StarDelta { get; } — Gets the star delta versus the prior snapshot. - public Int32 ForkDelta { get; } — Gets the fork delta versus the prior snapshot. - public Int32 WatcherDelta { get; } — Gets the watcher delta versus the prior snapshot. - public Int32 OpenIssueDelta { get; } — Gets the open issue delta versus the prior snapshot. ### IntelligenceX.Telemetry.GitHub.GitHubRepositorySnapshotRecord Canonical repository snapshot used to track stars, forks, watchers, and related trend metrics over time. #### Methods - public static String CreateStableId(String watchId, DateTimeOffset capturedAtUtc) — Creates a deterministic snapshot id from watch and capture time. - public Type GetType() - public override String ToString() - public override Boolean Equals(Object obj) - public override Int32 GetHashCode() #### Properties - public String Id { get; } — Gets the stable snapshot identifier. - public String WatchId { get; } — Gets the watch definition that produced the snapshot. - public String RepositoryNameWithOwner { get; } — Gets the canonical repository name in owner/name form. - public DateTimeOffset CapturedAtUtc { get; } — Gets the UTC time when the snapshot was captured. - public Int32 Stars { get; } — Gets the repository star count. - public Int32 Forks { get; } — Gets the repository fork count. - public Int32 Watchers { get; } — Gets the repository watcher count.