Summary
Fix client configuration so retry and hooks can be used together. This matters because production users may want retries and observability lifecycle hooks at the same time.
Current Behaviour
GuildPassClient passes this.config.retry || this.config.hooks into HttpClient. Because HttpClient accepts a single configOrHooks argument, only one of these behaviours can be configured at a time.
Expected Behaviour
The SDK should allow global retry configuration and HTTP lifecycle hooks to be enabled together without one silently overriding the other.
Suggested Implementation
Replace the overloaded configOrHooks constructor parameter with a single options object such as { retry, hooks, fetch } or separate explicit constructor parameters. Update GuildPassClient and tests accordingly.
Files or Areas Likely Affected
src/client/GuildPassClient.ts
src/http/httpClient.ts
src/http/http.types.ts
src/config/sdkConfig.ts
tests/client.test.ts
tests/httpClient.test.ts
Acceptance Criteria
Additional Notes
This is a public constructor design change. Prefer a backwards-compatible migration path if possible.
Summary
Fix client configuration so
retryandhookscan be used together. This matters because production users may want retries and observability lifecycle hooks at the same time.Current Behaviour
GuildPassClientpassesthis.config.retry || this.config.hooksintoHttpClient. BecauseHttpClientaccepts a singleconfigOrHooksargument, only one of these behaviours can be configured at a time.Expected Behaviour
The SDK should allow global retry configuration and HTTP lifecycle hooks to be enabled together without one silently overriding the other.
Suggested Implementation
Replace the overloaded
configOrHooksconstructor parameter with a single options object such as{ retry, hooks, fetch }or separate explicit constructor parameters. UpdateGuildPassClientand tests accordingly.Files or Areas Likely Affected
src/client/GuildPassClient.tssrc/http/httpClient.tssrc/http/http.types.tssrc/config/sdkConfig.tstests/client.test.tstests/httpClient.test.tsAcceptance Criteria
retryandhooksAdditional Notes
This is a public constructor design change. Prefer a backwards-compatible migration path if possible.