saferx-pharma-sdk 1.4.2 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/Client.d.ts +0 -12
  3. package/dist/cjs/Client.js +0 -67
  4. package/dist/cjs/api/resources/developers/client/Client.d.ts +1 -1
  5. package/dist/cjs/api/resources/developers/client/Client.js +1 -1
  6. package/dist/cjs/api/resources/drugSafety/client/Client.d.ts +5 -37
  7. package/dist/cjs/api/resources/drugSafety/client/Client.js +5 -37
  8. package/dist/cjs/api/resources/drugSafety/client/requests/DrugSafetyCheckRequest.d.ts +4 -38
  9. package/dist/cjs/api/resources/drugSafety/types/GetDrugSafetyHealthResponse.d.ts +14 -2
  10. package/dist/cjs/api/resources/drugSafety/types/GetDrugSafetyHealthResponse.js +11 -0
  11. package/dist/cjs/api/types/Alert.d.ts +2 -8
  12. package/dist/cjs/api/types/Alert.js +1 -5
  13. package/dist/cjs/api/types/ClinicalAlert.d.ts +0 -8
  14. package/dist/cjs/api/types/ClinicalData.d.ts +4 -7
  15. package/dist/cjs/api/types/DailyLimit.d.ts +1 -1
  16. package/dist/cjs/api/types/DomainCode.d.ts +2 -4
  17. package/dist/cjs/api/types/DomainCode.js +2 -4
  18. package/dist/cjs/api/types/DosingData.d.ts +12 -22
  19. package/dist/cjs/api/types/DosingData.js +3 -3
  20. package/dist/cjs/api/types/DrugSafetyCheckResponse.d.ts +0 -1
  21. package/dist/cjs/api/types/ErrorResponse.d.ts +0 -5
  22. package/dist/cjs/api/types/Interaction.d.ts +2 -0
  23. package/dist/cjs/api/types/InteractionSummary.d.ts +4 -4
  24. package/dist/cjs/api/types/Meta.d.ts +0 -2
  25. package/dist/cjs/api/types/Meta.js +0 -1
  26. package/dist/cjs/api/types/MetadataResponse.d.ts +6 -14
  27. package/dist/cjs/api/types/MetadataResponse.js +0 -1
  28. package/dist/cjs/api/types/PatientProfile.d.ts +0 -31
  29. package/dist/cjs/api/types/PatientProfile.js +0 -17
  30. package/dist/cjs/api/types/RateLimitResponse.d.ts +0 -11
  31. package/dist/cjs/api/types/RateLimitResponse.js +0 -1
  32. package/dist/cjs/api/types/ReproductiveSafetyData.d.ts +3 -3
  33. package/dist/cjs/api/types/ResolvedDrug.d.ts +0 -26
  34. package/dist/cjs/api/types/SafetyData.d.ts +0 -1
  35. package/dist/cjs/api/types/index.d.ts +0 -16
  36. package/dist/cjs/api/types/index.js +0 -16
  37. package/dist/cjs/core/fetcher/BinaryResponse.d.ts +1 -1
  38. package/dist/cjs/core/fetcher/Fetcher.js +1 -1
  39. package/dist/cjs/core/fetcher/index.d.ts +0 -2
  40. package/dist/cjs/core/fetcher/index.js +1 -3
  41. package/dist/cjs/core/fetcher/makeRequest.d.ts +1 -6
  42. package/dist/cjs/core/fetcher/makeRequest.js +9 -30
  43. package/dist/cjs/core/runtime/runtime.js +7 -8
  44. package/dist/cjs/version.d.ts +1 -1
  45. package/dist/cjs/version.js +1 -1
  46. package/dist/esm/BaseClient.mjs +2 -2
  47. package/dist/esm/Client.d.mts +0 -12
  48. package/dist/esm/Client.mjs +0 -34
  49. package/dist/esm/api/resources/developers/client/Client.d.mts +1 -1
  50. package/dist/esm/api/resources/developers/client/Client.mjs +1 -1
  51. package/dist/esm/api/resources/drugSafety/client/Client.d.mts +5 -37
  52. package/dist/esm/api/resources/drugSafety/client/Client.mjs +5 -37
  53. package/dist/esm/api/resources/drugSafety/client/requests/DrugSafetyCheckRequest.d.mts +4 -38
  54. package/dist/esm/api/resources/drugSafety/types/GetDrugSafetyHealthResponse.d.mts +14 -2
  55. package/dist/esm/api/resources/drugSafety/types/GetDrugSafetyHealthResponse.mjs +11 -0
  56. package/dist/esm/api/types/Alert.d.mts +2 -8
  57. package/dist/esm/api/types/Alert.mjs +1 -5
  58. package/dist/esm/api/types/ClinicalAlert.d.mts +0 -8
  59. package/dist/esm/api/types/ClinicalData.d.mts +4 -7
  60. package/dist/esm/api/types/DailyLimit.d.mts +1 -1
  61. package/dist/esm/api/types/DomainCode.d.mts +2 -4
  62. package/dist/esm/api/types/DomainCode.mjs +2 -4
  63. package/dist/esm/api/types/DosingData.d.mts +12 -22
  64. package/dist/esm/api/types/DosingData.mjs +3 -3
  65. package/dist/esm/api/types/DrugSafetyCheckResponse.d.mts +0 -1
  66. package/dist/esm/api/types/ErrorResponse.d.mts +0 -5
  67. package/dist/esm/api/types/Interaction.d.mts +2 -0
  68. package/dist/esm/api/types/InteractionSummary.d.mts +4 -4
  69. package/dist/esm/api/types/Meta.d.mts +0 -2
  70. package/dist/esm/api/types/Meta.mjs +0 -1
  71. package/dist/esm/api/types/MetadataResponse.d.mts +6 -14
  72. package/dist/esm/api/types/MetadataResponse.mjs +0 -1
  73. package/dist/esm/api/types/PatientProfile.d.mts +0 -31
  74. package/dist/esm/api/types/PatientProfile.mjs +1 -16
  75. package/dist/esm/api/types/RateLimitResponse.d.mts +0 -11
  76. package/dist/esm/api/types/RateLimitResponse.mjs +0 -1
  77. package/dist/esm/api/types/ReproductiveSafetyData.d.mts +3 -3
  78. package/dist/esm/api/types/ResolvedDrug.d.mts +0 -26
  79. package/dist/esm/api/types/SafetyData.d.mts +0 -1
  80. package/dist/esm/api/types/index.d.mts +0 -16
  81. package/dist/esm/api/types/index.mjs +0 -16
  82. package/dist/esm/core/fetcher/BinaryResponse.d.mts +1 -1
  83. package/dist/esm/core/fetcher/Fetcher.mjs +1 -1
  84. package/dist/esm/core/fetcher/index.d.mts +0 -2
  85. package/dist/esm/core/fetcher/index.mjs +0 -1
  86. package/dist/esm/core/fetcher/makeRequest.d.mts +1 -6
  87. package/dist/esm/core/fetcher/makeRequest.mjs +9 -28
  88. package/dist/esm/core/runtime/runtime.mjs +7 -8
  89. package/dist/esm/version.d.mts +1 -1
  90. package/dist/esm/version.mjs +1 -1
  91. package/package.json +9 -31
  92. package/dist/cjs/api/resources/developers/exports.d.ts +0 -2
  93. package/dist/cjs/api/resources/developers/exports.js +0 -21
  94. package/dist/cjs/api/resources/drugSafety/exports.d.ts +0 -2
  95. package/dist/cjs/api/resources/drugSafety/exports.js +0 -21
  96. package/dist/cjs/api/types/AllergyCrossReactivityReference.d.ts +0 -16
  97. package/dist/cjs/api/types/AllergyCrossReactivityReference.js +0 -3
  98. package/dist/cjs/api/types/AllergyData.d.ts +0 -24
  99. package/dist/cjs/api/types/AllergyData.js +0 -11
  100. package/dist/cjs/api/types/AllergyFamilyReference.d.ts +0 -10
  101. package/dist/cjs/api/types/AllergyFamilyReference.js +0 -3
  102. package/dist/cjs/api/types/AllergyInputEntry.d.ts +0 -10
  103. package/dist/cjs/api/types/AllergyInputEntry.js +0 -3
  104. package/dist/cjs/api/types/AllergyProductFamilyReference.d.ts +0 -9
  105. package/dist/cjs/api/types/AllergyProductFamilyReference.js +0 -3
  106. package/dist/cjs/api/types/AllergySummary.d.ts +0 -14
  107. package/dist/cjs/api/types/AllergySummary.js +0 -3
  108. package/dist/cjs/api/types/AllergyWarning.d.ts +0 -30
  109. package/dist/cjs/api/types/AllergyWarning.js +0 -11
  110. package/dist/cjs/api/types/ClinicalContextApplied.d.ts +0 -10
  111. package/dist/cjs/api/types/ClinicalContextApplied.js +0 -3
  112. package/dist/cjs/api/types/IdentityMatch.d.ts +0 -13
  113. package/dist/cjs/api/types/IdentityMatch.js +0 -3
  114. package/dist/cjs/api/types/IntelligenceClinicalProfile.d.ts +0 -24
  115. package/dist/cjs/api/types/IntelligenceClinicalProfile.js +0 -13
  116. package/dist/cjs/api/types/IntelligenceContext.d.ts +0 -17
  117. package/dist/cjs/api/types/IntelligenceContext.js +0 -3
  118. package/dist/cjs/api/types/IntelligenceProcessorError.d.ts +0 -4
  119. package/dist/cjs/api/types/IntelligenceProcessorError.js +0 -3
  120. package/dist/cjs/api/types/IntelligenceResult.d.ts +0 -16
  121. package/dist/cjs/api/types/IntelligenceResult.js +0 -3
  122. package/dist/cjs/api/types/IntelligenceSynthesis.d.ts +0 -6
  123. package/dist/cjs/api/types/IntelligenceSynthesis.js +0 -3
  124. package/dist/cjs/api/types/MedicationHistoryItem.d.ts +0 -22
  125. package/dist/cjs/api/types/MedicationHistoryItem.js +0 -15
  126. package/dist/cjs/api/types/QuotaMeta.d.ts +0 -11
  127. package/dist/cjs/api/types/QuotaMeta.js +0 -3
  128. package/dist/cjs/core/fetcher/makePassthroughRequest.d.ts +0 -49
  129. package/dist/cjs/core/fetcher/makePassthroughRequest.js +0 -135
  130. package/dist/esm/api/resources/developers/exports.d.mts +0 -2
  131. package/dist/esm/api/resources/developers/exports.mjs +0 -3
  132. package/dist/esm/api/resources/drugSafety/exports.d.mts +0 -2
  133. package/dist/esm/api/resources/drugSafety/exports.mjs +0 -3
  134. package/dist/esm/api/types/AllergyCrossReactivityReference.d.mts +0 -16
  135. package/dist/esm/api/types/AllergyCrossReactivityReference.mjs +0 -2
  136. package/dist/esm/api/types/AllergyData.d.mts +0 -24
  137. package/dist/esm/api/types/AllergyData.mjs +0 -8
  138. package/dist/esm/api/types/AllergyFamilyReference.d.mts +0 -10
  139. package/dist/esm/api/types/AllergyFamilyReference.mjs +0 -2
  140. package/dist/esm/api/types/AllergyInputEntry.d.mts +0 -10
  141. package/dist/esm/api/types/AllergyInputEntry.mjs +0 -2
  142. package/dist/esm/api/types/AllergyProductFamilyReference.d.mts +0 -9
  143. package/dist/esm/api/types/AllergyProductFamilyReference.mjs +0 -2
  144. package/dist/esm/api/types/AllergySummary.d.mts +0 -14
  145. package/dist/esm/api/types/AllergySummary.mjs +0 -2
  146. package/dist/esm/api/types/AllergyWarning.d.mts +0 -30
  147. package/dist/esm/api/types/AllergyWarning.mjs +0 -8
  148. package/dist/esm/api/types/ClinicalContextApplied.d.mts +0 -10
  149. package/dist/esm/api/types/ClinicalContextApplied.mjs +0 -2
  150. package/dist/esm/api/types/IdentityMatch.d.mts +0 -13
  151. package/dist/esm/api/types/IdentityMatch.mjs +0 -2
  152. package/dist/esm/api/types/IntelligenceClinicalProfile.d.mts +0 -24
  153. package/dist/esm/api/types/IntelligenceClinicalProfile.mjs +0 -10
  154. package/dist/esm/api/types/IntelligenceContext.d.mts +0 -17
  155. package/dist/esm/api/types/IntelligenceContext.mjs +0 -2
  156. package/dist/esm/api/types/IntelligenceProcessorError.d.mts +0 -4
  157. package/dist/esm/api/types/IntelligenceProcessorError.mjs +0 -2
  158. package/dist/esm/api/types/IntelligenceResult.d.mts +0 -16
  159. package/dist/esm/api/types/IntelligenceResult.mjs +0 -2
  160. package/dist/esm/api/types/IntelligenceSynthesis.d.mts +0 -6
  161. package/dist/esm/api/types/IntelligenceSynthesis.mjs +0 -2
  162. package/dist/esm/api/types/MedicationHistoryItem.d.mts +0 -22
  163. package/dist/esm/api/types/MedicationHistoryItem.mjs +0 -12
  164. package/dist/esm/api/types/QuotaMeta.d.mts +0 -11
  165. package/dist/esm/api/types/QuotaMeta.mjs +0 -2
  166. package/dist/esm/core/fetcher/makePassthroughRequest.d.mts +0 -49
  167. package/dist/esm/core/fetcher/makePassthroughRequest.mjs +0 -132
@@ -1,13 +0,0 @@
1
- /**
2
- * Non-sensitive drug identity resolution metadata for auditability.
3
- */
4
- export interface IdentityMatch {
5
- /** Resolver path that produced the match. */
6
- method?: string | undefined;
7
- /** Match confidence score. */
8
- confidence?: number | undefined;
9
- /** Public drug field used for the match. */
10
- matched_field?: string | undefined;
11
- /** Public-safe value that matched the input. */
12
- matched_value?: string | undefined;
13
- }
@@ -1,2 +0,0 @@
1
- // This file was auto-generated by Fern from our API Definition.
2
- export {};
@@ -1,24 +0,0 @@
1
- /**
2
- * Patient profile fields used by intelligence processors.
3
- */
4
- export interface IntelligenceClinicalProfile {
5
- age?: number | undefined;
6
- /** Creatinine clearance in mL/min. */
7
- crcl?: number | undefined;
8
- hepatic_status?: IntelligenceClinicalProfile.HepaticStatus | undefined;
9
- pregnancy?: boolean | undefined;
10
- lactation?: boolean | undefined;
11
- conditions?: string[] | undefined;
12
- populations?: string[] | undefined;
13
- allergies?: string[] | undefined;
14
- diet_habits?: string[] | undefined;
15
- }
16
- export declare namespace IntelligenceClinicalProfile {
17
- const HepaticStatus: {
18
- readonly Normal: "normal";
19
- readonly Mild: "mild";
20
- readonly Moderate: "moderate";
21
- readonly Severe: "severe";
22
- };
23
- type HepaticStatus = (typeof HepaticStatus)[keyof typeof HepaticStatus];
24
- }
@@ -1,10 +0,0 @@
1
- // This file was auto-generated by Fern from our API Definition.
2
- export var IntelligenceClinicalProfile;
3
- (function (IntelligenceClinicalProfile) {
4
- IntelligenceClinicalProfile.HepaticStatus = {
5
- Normal: "normal",
6
- Mild: "mild",
7
- Moderate: "moderate",
8
- Severe: "severe",
9
- };
10
- })(IntelligenceClinicalProfile || (IntelligenceClinicalProfile = {}));
@@ -1,17 +0,0 @@
1
- import type * as SafeRx from "../index.mjs";
2
- /**
3
- * Optional Medication Intelligence Platform context. When present and the
4
- * intelligence layer is enabled, SafeRx adds a top-level `intelligence`
5
- * block without changing the standard safety response.
6
- */
7
- export interface IntelligenceContext {
8
- /** Optional caller-side patient or profile identifier. */
9
- user_id?: string | undefined;
10
- clinical_profile?: SafeRx.IntelligenceClinicalProfile | undefined;
11
- /**
12
- * Longitudinal medication list used for active-medication cumulative
13
- * dose tracking. Items with `status: historical` are retained as
14
- * context but excluded from active overdose aggregation.
15
- */
16
- medication_history?: SafeRx.MedicationHistoryItem[] | undefined;
17
- }
@@ -1,2 +0,0 @@
1
- // This file was auto-generated by Fern from our API Definition.
2
- export {};
@@ -1,4 +0,0 @@
1
- export interface IntelligenceProcessorError {
2
- processor?: string | undefined;
3
- error?: string | undefined;
4
- }
@@ -1,2 +0,0 @@
1
- // This file was auto-generated by Fern from our API Definition.
2
- export {};
@@ -1,16 +0,0 @@
1
- import type * as SafeRx from "../index.mjs";
2
- /**
3
- * Optional Medication Intelligence Platform post-processing output.
4
- */
5
- export interface IntelligenceResult {
6
- status?: string | undefined;
7
- /** Active-medication cumulative dose warnings. */
8
- cumulative_warnings?: Record<string, unknown>[] | undefined;
9
- synthesis?: SafeRx.IntelligenceSynthesis | undefined;
10
- /** Allergy/profile-filtered alternative candidates keyed by source `sfrx_id`. */
11
- safer_alternatives?: Record<string, unknown> | undefined;
12
- /** Best-effort processor errors; standard safety output remains valid. */
13
- processor_errors?: SafeRx.IntelligenceProcessorError[] | undefined;
14
- /** Top-level degradation reason when the whole intelligence layer fails. */
15
- error?: string | undefined;
16
- }
@@ -1,2 +0,0 @@
1
- // This file was auto-generated by Fern from our API Definition.
2
- export {};
@@ -1,6 +0,0 @@
1
- export interface IntelligenceSynthesis {
2
- cross_domain_findings?: Record<string, unknown>[] | undefined;
3
- summary?: string | undefined;
4
- /** Condition-specific adverse effects elevated for the supplied context. */
5
- predictive_ae?: Record<string, unknown>[] | undefined;
6
- }
@@ -1,2 +0,0 @@
1
- // This file was auto-generated by Fern from our API Definition.
2
- export {};
@@ -1,22 +0,0 @@
1
- export interface MedicationHistoryItem {
2
- /** SafeRx product identifier. */
3
- sfrx_id: string;
4
- /** Caller-provided start date, preferably ISO 8601. */
5
- start_date?: string | undefined;
6
- /**
7
- * Active medications participate in cumulative dose checks.
8
- * Historical medications are retained as context only.
9
- */
10
- status?: MedicationHistoryItem.Status | undefined;
11
- }
12
- export declare namespace MedicationHistoryItem {
13
- /**
14
- * Active medications participate in cumulative dose checks.
15
- * Historical medications are retained as context only.
16
- */
17
- const Status: {
18
- readonly Active: "active";
19
- readonly Historical: "historical";
20
- };
21
- type Status = (typeof Status)[keyof typeof Status];
22
- }
@@ -1,12 +0,0 @@
1
- // This file was auto-generated by Fern from our API Definition.
2
- export var MedicationHistoryItem;
3
- (function (MedicationHistoryItem) {
4
- /**
5
- * Active medications participate in cumulative dose checks.
6
- * Historical medications are retained as context only.
7
- */
8
- MedicationHistoryItem.Status = {
9
- Active: "active",
10
- Historical: "historical",
11
- };
12
- })(MedicationHistoryItem || (MedicationHistoryItem = {}));
@@ -1,11 +0,0 @@
1
- /**
2
- * Monthly quota accounting for the request.
3
- */
4
- export interface QuotaMeta {
5
- monthly_limit?: number | undefined;
6
- monthly_used?: number | undefined;
7
- monthly_remaining?: number | undefined;
8
- reset_at?: string | undefined;
9
- /** Units consumed by this response. Unresolved-only checks return 0. */
10
- billable_units?: number | undefined;
11
- }
@@ -1,2 +0,0 @@
1
- // This file was auto-generated by Fern from our API Definition.
2
- export {};
@@ -1,49 +0,0 @@
1
- import { type LogConfig, type Logger } from "../logging/logger.mjs";
2
- import { Supplier } from "./Supplier.mjs";
3
- export declare namespace PassthroughRequest {
4
- /**
5
- * Per-request options that can override the SDK client defaults.
6
- */
7
- interface RequestOptions {
8
- /** Override the default timeout for this request (in seconds). */
9
- timeoutInSeconds?: number;
10
- /** Override the default number of retries for this request. */
11
- maxRetries?: number;
12
- /** Additional headers to include in this request. */
13
- headers?: Record<string, string>;
14
- /** Abort signal for this request. */
15
- abortSignal?: AbortSignal;
16
- }
17
- /**
18
- * SDK client configuration used by the passthrough fetch method.
19
- */
20
- interface ClientOptions {
21
- /** The base URL or environment for the client. */
22
- environment?: Supplier<string>;
23
- /** Override the base URL. */
24
- baseUrl?: Supplier<string>;
25
- /** Default headers to include in requests. */
26
- headers?: Record<string, unknown>;
27
- /** Default maximum time to wait for a response in seconds. */
28
- timeoutInSeconds?: number;
29
- /** Default number of times to retry the request. Defaults to 2. */
30
- maxRetries?: number;
31
- /** A custom fetch function. */
32
- fetch?: typeof fetch;
33
- /** Logging configuration. */
34
- logging?: LogConfig | Logger;
35
- /** A function that returns auth headers. */
36
- getAuthHeaders?: () => Promise<Record<string, string>>;
37
- }
38
- }
39
- /**
40
- * Makes a passthrough HTTP request using the SDK's configuration (auth, retry, logging, etc.)
41
- * while mimicking the standard `fetch` API.
42
- *
43
- * @param input - The URL, path, or Request object. If a relative path, it will be resolved against the configured base URL.
44
- * @param init - Standard RequestInit options (method, headers, body, signal, etc.)
45
- * @param clientOptions - SDK client options (auth, default headers, logging, etc.)
46
- * @param requestOptions - Per-request overrides (timeout, retries, extra headers, abort signal).
47
- * @returns A standard Response object.
48
- */
49
- export declare function makePassthroughRequest(input: Request | string | URL, init: RequestInit | undefined, clientOptions: PassthroughRequest.ClientOptions, requestOptions?: PassthroughRequest.RequestOptions): Promise<Response>;
@@ -1,132 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { createLogger } from "../logging/logger.mjs";
11
- import { join } from "../url/join.mjs";
12
- import { EndpointSupplier } from "./EndpointSupplier.mjs";
13
- import { getFetchFn } from "./getFetchFn.mjs";
14
- import { makeRequest } from "./makeRequest.mjs";
15
- import { requestWithRetries } from "./requestWithRetries.mjs";
16
- import { Supplier } from "./Supplier.mjs";
17
- /**
18
- * Makes a passthrough HTTP request using the SDK's configuration (auth, retry, logging, etc.)
19
- * while mimicking the standard `fetch` API.
20
- *
21
- * @param input - The URL, path, or Request object. If a relative path, it will be resolved against the configured base URL.
22
- * @param init - Standard RequestInit options (method, headers, body, signal, etc.)
23
- * @param clientOptions - SDK client options (auth, default headers, logging, etc.)
24
- * @param requestOptions - Per-request overrides (timeout, retries, extra headers, abort signal).
25
- * @returns A standard Response object.
26
- */
27
- export function makePassthroughRequest(input, init, clientOptions, requestOptions) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- var _a, _b, _c, _d, _e, _f, _g;
30
- const logger = createLogger(clientOptions.logging);
31
- // Extract URL and default init properties from Request object if provided
32
- let url;
33
- let effectiveInit = init;
34
- if (input instanceof Request) {
35
- url = input.url;
36
- // If no explicit init provided, extract properties from the Request object
37
- if (init == null) {
38
- effectiveInit = {
39
- method: input.method,
40
- headers: Object.fromEntries(input.headers.entries()),
41
- body: input.body,
42
- signal: input.signal,
43
- credentials: input.credentials,
44
- cache: input.cache,
45
- redirect: input.redirect,
46
- referrer: input.referrer,
47
- integrity: input.integrity,
48
- mode: input.mode,
49
- };
50
- }
51
- }
52
- else {
53
- url = input instanceof URL ? input.toString() : input;
54
- }
55
- // Resolve the base URL
56
- const baseUrl = (_a = (clientOptions.baseUrl != null ? yield Supplier.get(clientOptions.baseUrl) : undefined)) !== null && _a !== void 0 ? _a : (clientOptions.environment != null ? yield Supplier.get(clientOptions.environment) : undefined);
57
- // Determine the full URL
58
- let fullUrl;
59
- if (url.startsWith("http://") || url.startsWith("https://")) {
60
- fullUrl = url;
61
- }
62
- else if (baseUrl != null) {
63
- fullUrl = join(baseUrl, url);
64
- }
65
- else {
66
- fullUrl = url;
67
- }
68
- // Merge headers: SDK default headers -> auth headers -> user-provided headers
69
- const mergedHeaders = {};
70
- // Apply SDK default headers (resolve suppliers)
71
- if (clientOptions.headers != null) {
72
- for (const [key, value] of Object.entries(clientOptions.headers)) {
73
- const resolved = yield EndpointSupplier.get(value, { endpointMetadata: {} });
74
- if (resolved != null) {
75
- mergedHeaders[key.toLowerCase()] = `${resolved}`;
76
- }
77
- }
78
- }
79
- // Apply auth headers
80
- if (clientOptions.getAuthHeaders != null) {
81
- const authHeaders = yield clientOptions.getAuthHeaders();
82
- for (const [key, value] of Object.entries(authHeaders)) {
83
- mergedHeaders[key.toLowerCase()] = value;
84
- }
85
- }
86
- // Apply user-provided headers from init
87
- if ((effectiveInit === null || effectiveInit === void 0 ? void 0 : effectiveInit.headers) != null) {
88
- const initHeaders = effectiveInit.headers instanceof Headers
89
- ? Object.fromEntries(effectiveInit.headers.entries())
90
- : Array.isArray(effectiveInit.headers)
91
- ? Object.fromEntries(effectiveInit.headers)
92
- : effectiveInit.headers;
93
- for (const [key, value] of Object.entries(initHeaders)) {
94
- if (value != null) {
95
- mergedHeaders[key.toLowerCase()] = value;
96
- }
97
- }
98
- }
99
- // Apply per-request option headers (highest priority)
100
- if ((requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers) != null) {
101
- for (const [key, value] of Object.entries(requestOptions.headers)) {
102
- mergedHeaders[key.toLowerCase()] = value;
103
- }
104
- }
105
- const method = (_b = effectiveInit === null || effectiveInit === void 0 ? void 0 : effectiveInit.method) !== null && _b !== void 0 ? _b : "GET";
106
- const body = effectiveInit === null || effectiveInit === void 0 ? void 0 : effectiveInit.body;
107
- const timeoutInSeconds = (_c = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _c !== void 0 ? _c : clientOptions.timeoutInSeconds;
108
- const timeoutMs = timeoutInSeconds != null ? timeoutInSeconds * 1000 : undefined;
109
- const maxRetries = (_d = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _d !== void 0 ? _d : clientOptions.maxRetries;
110
- const abortSignal = (_f = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal) !== null && _e !== void 0 ? _e : effectiveInit === null || effectiveInit === void 0 ? void 0 : effectiveInit.signal) !== null && _f !== void 0 ? _f : undefined;
111
- const fetchFn = (_g = clientOptions.fetch) !== null && _g !== void 0 ? _g : (yield getFetchFn());
112
- if (logger.isDebug()) {
113
- logger.debug("Making passthrough HTTP request", {
114
- method,
115
- url: fullUrl,
116
- hasBody: body != null,
117
- });
118
- }
119
- const response = yield requestWithRetries(() => __awaiter(this, void 0, void 0, function* () {
120
- return makeRequest(fetchFn, fullUrl, method, mergedHeaders, body !== null && body !== void 0 ? body : undefined, timeoutMs, abortSignal, (effectiveInit === null || effectiveInit === void 0 ? void 0 : effectiveInit.credentials) === "include", undefined, // duplex
121
- false);
122
- }), maxRetries);
123
- if (logger.isDebug()) {
124
- logger.debug("Passthrough HTTP request completed", {
125
- method,
126
- url: fullUrl,
127
- statusCode: response.status,
128
- });
129
- }
130
- return response;
131
- });
132
- }