-
Notifications
You must be signed in to change notification settings - Fork 98
Build a runtime-safe GuildPass client configuration parser #452
Copy link
Copy link
Open
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesThird CampaignOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsadvancedAdvanced difficulty tasks requiring significant domain knowledge and implementation effortAdvanced difficulty tasks requiring significant domain knowledge and implementation effortbackendBackend services, application logic, persistence integration, and server-side functionalityBackend services, application logic, persistence integration, and server-side functionalityconfigChanges related to SDK configuration, runtime options, and configuration validation.Changes related to SDK configuration, runtime options, and configuration validation.type-safetyTypeScript type system improvements and strict type enforcementTypeScript type system improvements and strict type enforcement
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesThird CampaignOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsadvancedAdvanced difficulty tasks requiring significant domain knowledge and implementation effortAdvanced difficulty tasks requiring significant domain knowledge and implementation effortbackendBackend services, application logic, persistence integration, and server-side functionalityBackend services, application logic, persistence integration, and server-side functionalityconfigChanges related to SDK configuration, runtime options, and configuration validation.Changes related to SDK configuration, runtime options, and configuration validation.type-safetyTypeScript type system improvements and strict type enforcementTypeScript type system improvements and strict type enforcement
Difficulty: Advanced
Type: Feature
Recommended labels (if available in this repo): config, type-safety, backend, advanced
Background
GuildPass SDK consumers will configure values such as API base URLs, request timeouts, and network settings. Runtime configuration should be validated once when a client is created instead of failing much later during requests.
This issue introduces a standalone client configuration parser.
Problem
The current
GuildPassClientOptionsonly stores a base URL string and performs no meaningful runtime validation.Invalid URLs, unsupported schemes, negative timeout values, or mutated configuration objects could cause inconsistent failures elsewhere in the SDK.
Expected Outcome
Implement a runtime-safe configuration parser that converts user-provided client options into an immutable canonical configuration object.
Suggested Implementation
A public input may conceptually include:
The parser should:
https:and optionallyhttp:for local development;Acceptance Criteria
pnpm typecheckpasses.pnpm buildpasses.pnpm testpasses.Likely Affected Files/Directories
Independence Requirement
This issue must not depend on the HTTP transport issue or any GuildPass endpoint implementation.