postgresai 0.15.0-dev.3 → 0.15.0-dev.5

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.
package/lib/checkup.ts CHANGED
@@ -284,7 +284,7 @@ export function parseVersionNum(versionNum: string): { major: string; minor: str
284
284
  } catch (err) {
285
285
  // parseInt shouldn't throw, but handle edge cases defensively
286
286
  const errorMsg = err instanceof Error ? err.message : String(err);
287
- console.log(`[parseVersionNum] Warning: Failed to parse "${versionNum}": ${errorMsg}`);
287
+ console.error(`[parseVersionNum] Warning: Failed to parse "${versionNum}": ${errorMsg}`);
288
288
  return { major: "", minor: "" };
289
289
  }
290
290
  }
@@ -729,7 +729,7 @@ export async function getStatsReset(client: Client, pgMajorVersion: number = 16)
729
729
  } catch (err) {
730
730
  const errorMsg = err instanceof Error ? err.message : String(err);
731
731
  postmasterStartupError = `Failed to query postmaster start time: ${errorMsg}`;
732
- console.log(`[getStatsReset] Warning: ${postmasterStartupError}`);
732
+ console.error(`[getStatsReset] Warning: ${postmasterStartupError}`);
733
733
  }
734
734
 
735
735
  const statsResult: StatsReset = {
@@ -811,7 +811,7 @@ export async function getRedundantIndexes(client: Client, pgMajorVersion: number
811
811
  const errorMsg = err instanceof Error ? err.message : String(err);
812
812
  const indexName = String(transformed.index_name || "unknown");
813
813
  parseError = `Failed to parse redundant_to_json: ${errorMsg}`;
814
- console.log(`[H004] Warning: ${parseError} for index "${indexName}"`);
814
+ console.error(`[H004] Warning: ${parseError} for index "${indexName}"`);
815
815
  }
816
816
 
817
817
  const result: RedundantIndex = {
@@ -905,7 +905,7 @@ function resolveBuildTs(): string | null {
905
905
  // package.json not found is expected in some environments (e.g., bundled) - debug only
906
906
  if (process.env.DEBUG) {
907
907
  const errorMsg = err instanceof Error ? err.message : String(err);
908
- console.log(`[resolveBuildTs] Could not stat package.json, using current time: ${errorMsg}`);
908
+ console.error(`[resolveBuildTs] Could not stat package.json, using current time: ${errorMsg}`);
909
909
  }
910
910
  return new Date().toISOString();
911
911
  }
@@ -1103,7 +1103,7 @@ async function generateD004(client: Client, nodeName: string): Promise<Report> {
1103
1103
  }
1104
1104
  } catch (err) {
1105
1105
  const errorMsg = err instanceof Error ? err.message : String(err);
1106
- console.log(`[D004] Error querying pg_stat_statements: ${errorMsg}`);
1106
+ console.error(`[D004] Error querying pg_stat_statements: ${errorMsg}`);
1107
1107
  pgssError = errorMsg;
1108
1108
  }
1109
1109
 
@@ -1156,7 +1156,7 @@ async function generateD004(client: Client, nodeName: string): Promise<Report> {
1156
1156
  }
1157
1157
  } catch (err) {
1158
1158
  const errorMsg = err instanceof Error ? err.message : String(err);
1159
- console.log(`[D004] Error querying pg_stat_kcache: ${errorMsg}`);
1159
+ console.error(`[D004] Error querying pg_stat_kcache: ${errorMsg}`);
1160
1160
  kcacheError = errorMsg;
1161
1161
  }
1162
1162
 
@@ -1324,7 +1324,10 @@ async function generateF004(client: Client, nodeName: string): Promise<Report> {
1324
1324
  });
1325
1325
  } catch (err) {
1326
1326
  const errorMsg = err instanceof Error ? err.message : String(err);
1327
- console.log(`[F004] Error estimating table bloat: ${errorMsg}`);
1327
+ console.error(`[F004] Error estimating table bloat: ${errorMsg}`);
1328
+ if (errorMsg.includes("postgres_ai.")) {
1329
+ console.error(` Hint: Run "postgresai prepare-db <connection>" to create required objects.`);
1330
+ }
1328
1331
  }
1329
1332
 
1330
1333
  // Get database info
@@ -1439,7 +1442,10 @@ async function generateF005(client: Client, nodeName: string): Promise<Report> {
1439
1442
  });
1440
1443
  } catch (err) {
1441
1444
  const errorMsg = err instanceof Error ? err.message : String(err);
1442
- console.log(`[F005] Error estimating index bloat: ${errorMsg}`);
1445
+ console.error(`[F005] Error estimating index bloat: ${errorMsg}`);
1446
+ if (errorMsg.includes("postgres_ai.")) {
1447
+ console.error(` Hint: Run "postgresai prepare-db <connection>" to create required objects.`);
1448
+ }
1443
1449
  }
1444
1450
 
1445
1451
  // Get database info
@@ -1564,7 +1570,7 @@ async function generateG001(client: Client, nodeName: string): Promise<Report> {
1564
1570
  }
1565
1571
  } catch (err) {
1566
1572
  const errorMsg = err instanceof Error ? err.message : String(err);
1567
- console.log(`[G001] Error calculating memory usage: ${errorMsg}`);
1573
+ console.error(`[G001] Error calculating memory usage: ${errorMsg}`);
1568
1574
  memoryError = errorMsg;
1569
1575
  }
1570
1576
 
@@ -1642,7 +1648,7 @@ async function generateG003(client: Client, nodeName: string): Promise<Report> {
1642
1648
  }
1643
1649
  } catch (err) {
1644
1650
  const errorMsg = err instanceof Error ? err.message : String(err);
1645
- console.log(`[G003] Error querying deadlock stats: ${errorMsg}`);
1651
+ console.error(`[G003] Error querying deadlock stats: ${errorMsg}`);
1646
1652
  deadlockError = errorMsg;
1647
1653
  }
1648
1654
 
package/lib/config.ts CHANGED
@@ -8,6 +8,7 @@ import * as os from "os";
8
8
  export interface Config {
9
9
  apiKey: string | null;
10
10
  baseUrl: string | null;
11
+ storageBaseUrl: string | null;
11
12
  orgId: number | null;
12
13
  defaultProject: string | null;
13
14
  /** Docker Compose project name for monitoring stack */
@@ -48,6 +49,7 @@ export function readConfig(): Config {
48
49
  const config: Config = {
49
50
  apiKey: null,
50
51
  baseUrl: null,
52
+ storageBaseUrl: null,
51
53
  orgId: null,
52
54
  defaultProject: null,
53
55
  projectName: null,
@@ -61,6 +63,7 @@ export function readConfig(): Config {
61
63
  const parsed = JSON.parse(content);
62
64
  config.apiKey = parsed.apiKey ?? null;
63
65
  config.baseUrl = parsed.baseUrl ?? null;
66
+ config.storageBaseUrl = parsed.storageBaseUrl ?? null;
64
67
  config.orgId = parsed.orgId ?? null;
65
68
  config.defaultProject = parsed.defaultProject ?? null;
66
69
  config.projectName = parsed.projectName ?? null;
package/lib/init.ts CHANGED
@@ -149,7 +149,7 @@ export async function connectWithSslFallback(
149
149
  }
150
150
 
151
151
  if (verbose) {
152
- console.log("SSL connection failed, retrying without SSL...");
152
+ console.error("SSL connection failed, retrying without SSL...");
153
153
  }
154
154
 
155
155
  // Retry without SSL
package/lib/issues.ts CHANGED
@@ -130,10 +130,10 @@ export async function fetchIssues(params: FetchIssuesParams): Promise<IssueListI
130
130
 
131
131
  if (debug) {
132
132
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
133
- console.log(`Debug: Resolved API base URL: ${base}`);
134
- console.log(`Debug: GET URL: ${url.toString()}`);
135
- console.log(`Debug: Auth scheme: access-token`);
136
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
133
+ console.error(`Debug: Resolved API base URL: ${base}`);
134
+ console.error(`Debug: GET URL: ${url.toString()}`);
135
+ console.error(`Debug: Auth scheme: access-token`);
136
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
137
137
  }
138
138
 
139
139
  const response = await fetch(url.toString(), {
@@ -142,8 +142,8 @@ export async function fetchIssues(params: FetchIssuesParams): Promise<IssueListI
142
142
  });
143
143
 
144
144
  if (debug) {
145
- console.log(`Debug: Response status: ${response.status}`);
146
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
145
+ console.error(`Debug: Response status: ${response.status}`);
146
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
147
147
  }
148
148
 
149
149
  const data = await response.text();
@@ -188,10 +188,10 @@ export async function fetchIssueComments(params: FetchIssueCommentsParams): Prom
188
188
 
189
189
  if (debug) {
190
190
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
191
- console.log(`Debug: Resolved API base URL: ${base}`);
192
- console.log(`Debug: GET URL: ${url.toString()}`);
193
- console.log(`Debug: Auth scheme: access-token`);
194
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
191
+ console.error(`Debug: Resolved API base URL: ${base}`);
192
+ console.error(`Debug: GET URL: ${url.toString()}`);
193
+ console.error(`Debug: Auth scheme: access-token`);
194
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
195
195
  }
196
196
 
197
197
  const response = await fetch(url.toString(), {
@@ -200,8 +200,8 @@ export async function fetchIssueComments(params: FetchIssueCommentsParams): Prom
200
200
  });
201
201
 
202
202
  if (debug) {
203
- console.log(`Debug: Response status: ${response.status}`);
204
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
203
+ console.error(`Debug: Response status: ${response.status}`);
204
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
205
205
  }
206
206
 
207
207
  const data = await response.text();
@@ -248,10 +248,10 @@ export async function fetchIssue(params: FetchIssueParams): Promise<IssueDetail
248
248
 
249
249
  if (debug) {
250
250
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
251
- console.log(`Debug: Resolved API base URL: ${base}`);
252
- console.log(`Debug: GET URL: ${url.toString()}`);
253
- console.log(`Debug: Auth scheme: access-token`);
254
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
251
+ console.error(`Debug: Resolved API base URL: ${base}`);
252
+ console.error(`Debug: GET URL: ${url.toString()}`);
253
+ console.error(`Debug: Auth scheme: access-token`);
254
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
255
255
  }
256
256
 
257
257
  const response = await fetch(url.toString(), {
@@ -260,8 +260,8 @@ export async function fetchIssue(params: FetchIssueParams): Promise<IssueDetail
260
260
  });
261
261
 
262
262
  if (debug) {
263
- console.log(`Debug: Response status: ${response.status}`);
264
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
263
+ console.error(`Debug: Response status: ${response.status}`);
264
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
265
265
  }
266
266
 
267
267
  const data = await response.text();
@@ -369,11 +369,11 @@ export async function createIssue(params: CreateIssueParams): Promise<CreatedIss
369
369
 
370
370
  if (debug) {
371
371
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
372
- console.log(`Debug: Resolved API base URL: ${base}`);
373
- console.log(`Debug: POST URL: ${url.toString()}`);
374
- console.log(`Debug: Auth scheme: access-token`);
375
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
376
- console.log(`Debug: Request body: ${body}`);
372
+ console.error(`Debug: Resolved API base URL: ${base}`);
373
+ console.error(`Debug: POST URL: ${url.toString()}`);
374
+ console.error(`Debug: Auth scheme: access-token`);
375
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
376
+ console.error(`Debug: Request body: ${body}`);
377
377
  }
378
378
 
379
379
  const response = await fetch(url.toString(), {
@@ -383,8 +383,8 @@ export async function createIssue(params: CreateIssueParams): Promise<CreatedIss
383
383
  });
384
384
 
385
385
  if (debug) {
386
- console.log(`Debug: Response status: ${response.status}`);
387
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
386
+ console.error(`Debug: Response status: ${response.status}`);
387
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
388
388
  }
389
389
 
390
390
  const data = await response.text();
@@ -442,11 +442,11 @@ export async function createIssueComment(params: CreateIssueCommentParams): Prom
442
442
 
443
443
  if (debug) {
444
444
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
445
- console.log(`Debug: Resolved API base URL: ${base}`);
446
- console.log(`Debug: POST URL: ${url.toString()}`);
447
- console.log(`Debug: Auth scheme: access-token`);
448
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
449
- console.log(`Debug: Request body: ${body}`);
445
+ console.error(`Debug: Resolved API base URL: ${base}`);
446
+ console.error(`Debug: POST URL: ${url.toString()}`);
447
+ console.error(`Debug: Auth scheme: access-token`);
448
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
449
+ console.error(`Debug: Request body: ${body}`);
450
450
  }
451
451
 
452
452
  const response = await fetch(url.toString(), {
@@ -456,8 +456,8 @@ export async function createIssueComment(params: CreateIssueCommentParams): Prom
456
456
  });
457
457
 
458
458
  if (debug) {
459
- console.log(`Debug: Response status: ${response.status}`);
460
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
459
+ console.error(`Debug: Response status: ${response.status}`);
460
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
461
461
  }
462
462
 
463
463
  const data = await response.text();
@@ -550,11 +550,11 @@ export async function updateIssue(params: UpdateIssueParams): Promise<UpdatedIss
550
550
 
551
551
  if (debug) {
552
552
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
553
- console.log(`Debug: Resolved API base URL: ${base}`);
554
- console.log(`Debug: POST URL: ${url.toString()}`);
555
- console.log(`Debug: Auth scheme: access-token`);
556
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
557
- console.log(`Debug: Request body: ${body}`);
553
+ console.error(`Debug: Resolved API base URL: ${base}`);
554
+ console.error(`Debug: POST URL: ${url.toString()}`);
555
+ console.error(`Debug: Auth scheme: access-token`);
556
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
557
+ console.error(`Debug: Request body: ${body}`);
558
558
  }
559
559
 
560
560
  const response = await fetch(url.toString(), {
@@ -564,8 +564,8 @@ export async function updateIssue(params: UpdateIssueParams): Promise<UpdatedIss
564
564
  });
565
565
 
566
566
  if (debug) {
567
- console.log(`Debug: Response status: ${response.status}`);
568
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
567
+ console.error(`Debug: Response status: ${response.status}`);
568
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
569
569
  }
570
570
 
571
571
  const data = await response.text();
@@ -639,11 +639,11 @@ export async function updateIssueComment(params: UpdateIssueCommentParams): Prom
639
639
 
640
640
  if (debug) {
641
641
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
642
- console.log(`Debug: Resolved API base URL: ${base}`);
643
- console.log(`Debug: POST URL: ${url.toString()}`);
644
- console.log(`Debug: Auth scheme: access-token`);
645
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
646
- console.log(`Debug: Request body: ${body}`);
642
+ console.error(`Debug: Resolved API base URL: ${base}`);
643
+ console.error(`Debug: POST URL: ${url.toString()}`);
644
+ console.error(`Debug: Auth scheme: access-token`);
645
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
646
+ console.error(`Debug: Request body: ${body}`);
647
647
  }
648
648
 
649
649
  const response = await fetch(url.toString(), {
@@ -653,8 +653,8 @@ export async function updateIssueComment(params: UpdateIssueCommentParams): Prom
653
653
  });
654
654
 
655
655
  if (debug) {
656
- console.log(`Debug: Response status: ${response.status}`);
657
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
656
+ console.error(`Debug: Response status: ${response.status}`);
657
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
658
658
  }
659
659
 
660
660
  const data = await response.text();
@@ -736,10 +736,10 @@ export async function fetchActionItem(params: FetchActionItemParams): Promise<Is
736
736
 
737
737
  if (debug) {
738
738
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
739
- console.log(`Debug: Resolved API base URL: ${base}`);
740
- console.log(`Debug: GET URL: ${url.toString()}`);
741
- console.log(`Debug: Auth scheme: access-token`);
742
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
739
+ console.error(`Debug: Resolved API base URL: ${base}`);
740
+ console.error(`Debug: GET URL: ${url.toString()}`);
741
+ console.error(`Debug: Auth scheme: access-token`);
742
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
743
743
  }
744
744
 
745
745
  const response = await fetch(url.toString(), {
@@ -748,8 +748,8 @@ export async function fetchActionItem(params: FetchActionItemParams): Promise<Is
748
748
  });
749
749
 
750
750
  if (debug) {
751
- console.log(`Debug: Response status: ${response.status}`);
752
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
751
+ console.error(`Debug: Response status: ${response.status}`);
752
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
753
753
  }
754
754
 
755
755
  const data = await response.text();
@@ -814,10 +814,10 @@ export async function fetchActionItems(params: FetchActionItemsParams): Promise<
814
814
 
815
815
  if (debug) {
816
816
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
817
- console.log(`Debug: Resolved API base URL: ${base}`);
818
- console.log(`Debug: GET URL: ${url.toString()}`);
819
- console.log(`Debug: Auth scheme: access-token`);
820
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
817
+ console.error(`Debug: Resolved API base URL: ${base}`);
818
+ console.error(`Debug: GET URL: ${url.toString()}`);
819
+ console.error(`Debug: Auth scheme: access-token`);
820
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
821
821
  }
822
822
 
823
823
  const response = await fetch(url.toString(), {
@@ -826,8 +826,8 @@ export async function fetchActionItems(params: FetchActionItemsParams): Promise<
826
826
  });
827
827
 
828
828
  if (debug) {
829
- console.log(`Debug: Response status: ${response.status}`);
830
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
829
+ console.error(`Debug: Response status: ${response.status}`);
830
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
831
831
  }
832
832
 
833
833
  const data = await response.text();
@@ -913,11 +913,11 @@ export async function createActionItem(params: CreateActionItemParams): Promise<
913
913
 
914
914
  if (debug) {
915
915
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
916
- console.log(`Debug: Resolved API base URL: ${base}`);
917
- console.log(`Debug: POST URL: ${url.toString()}`);
918
- console.log(`Debug: Auth scheme: access-token`);
919
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
920
- console.log(`Debug: Request body: ${body}`);
916
+ console.error(`Debug: Resolved API base URL: ${base}`);
917
+ console.error(`Debug: POST URL: ${url.toString()}`);
918
+ console.error(`Debug: Auth scheme: access-token`);
919
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
920
+ console.error(`Debug: Request body: ${body}`);
921
921
  }
922
922
 
923
923
  const response = await fetch(url.toString(), {
@@ -927,8 +927,8 @@ export async function createActionItem(params: CreateActionItemParams): Promise<
927
927
  });
928
928
 
929
929
  if (debug) {
930
- console.log(`Debug: Response status: ${response.status}`);
931
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
930
+ console.error(`Debug: Response status: ${response.status}`);
931
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
932
932
  }
933
933
 
934
934
  const data = await response.text();
@@ -1035,11 +1035,11 @@ export async function updateActionItem(params: UpdateActionItemParams): Promise<
1035
1035
 
1036
1036
  if (debug) {
1037
1037
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
1038
- console.log(`Debug: Resolved API base URL: ${base}`);
1039
- console.log(`Debug: POST URL: ${url.toString()}`);
1040
- console.log(`Debug: Auth scheme: access-token`);
1041
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
1042
- console.log(`Debug: Request body: ${body}`);
1038
+ console.error(`Debug: Resolved API base URL: ${base}`);
1039
+ console.error(`Debug: POST URL: ${url.toString()}`);
1040
+ console.error(`Debug: Auth scheme: access-token`);
1041
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
1042
+ console.error(`Debug: Request body: ${body}`);
1043
1043
  }
1044
1044
 
1045
1045
  const response = await fetch(url.toString(), {
@@ -1049,8 +1049,8 @@ export async function updateActionItem(params: UpdateActionItemParams): Promise<
1049
1049
  });
1050
1050
 
1051
1051
  if (debug) {
1052
- console.log(`Debug: Response status: ${response.status}`);
1053
- console.log(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
1052
+ console.error(`Debug: Response status: ${response.status}`);
1053
+ console.error(`Debug: Response headers: ${JSON.stringify(Object.fromEntries(response.headers.entries()))}`);
1054
1054
  }
1055
1055
 
1056
1056
  if (!response.ok) {
package/lib/reports.ts CHANGED
@@ -143,15 +143,15 @@ export async function fetchReports(params: FetchReportsParams): Promise<CheckupR
143
143
 
144
144
  if (debug) {
145
145
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
146
- console.log(`Debug: Resolved API base URL: ${base}`);
147
- console.log(`Debug: GET URL: ${url.toString()}`);
148
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
146
+ console.error(`Debug: Resolved API base URL: ${base}`);
147
+ console.error(`Debug: GET URL: ${url.toString()}`);
148
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
149
149
  }
150
150
 
151
151
  const response = await fetch(url.toString(), { method: "GET", headers });
152
152
 
153
153
  if (debug) {
154
- console.log(`Debug: Response status: ${response.status}`);
154
+ console.error(`Debug: Response status: ${response.status}`);
155
155
  }
156
156
 
157
157
  const data = await response.text();
@@ -220,15 +220,15 @@ export async function fetchReportFiles(params: FetchReportFilesParams): Promise<
220
220
 
221
221
  if (debug) {
222
222
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
223
- console.log(`Debug: Resolved API base URL: ${base}`);
224
- console.log(`Debug: GET URL: ${url.toString()}`);
225
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
223
+ console.error(`Debug: Resolved API base URL: ${base}`);
224
+ console.error(`Debug: GET URL: ${url.toString()}`);
225
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
226
226
  }
227
227
 
228
228
  const response = await fetch(url.toString(), { method: "GET", headers });
229
229
 
230
230
  if (debug) {
231
- console.log(`Debug: Response status: ${response.status}`);
231
+ console.error(`Debug: Response status: ${response.status}`);
232
232
  }
233
233
 
234
234
  const data = await response.text();
@@ -275,15 +275,15 @@ export async function fetchReportFileData(params: FetchReportFileDataParams): Pr
275
275
 
276
276
  if (debug) {
277
277
  const debugHeaders: Record<string, string> = { ...headers, "access-token": maskSecret(apiKey) };
278
- console.log(`Debug: Resolved API base URL: ${base}`);
279
- console.log(`Debug: GET URL: ${url.toString()}`);
280
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
278
+ console.error(`Debug: Resolved API base URL: ${base}`);
279
+ console.error(`Debug: GET URL: ${url.toString()}`);
280
+ console.error(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
281
281
  }
282
282
 
283
283
  const response = await fetch(url.toString(), { method: "GET", headers });
284
284
 
285
285
  if (debug) {
286
- console.log(`Debug: Response status: ${response.status}`);
286
+ console.error(`Debug: Response status: ${response.status}`);
287
287
  }
288
288
 
289
289
  const data = await response.text();