postgresai 0.14.0-dev.27 → 0.14.0-dev.29

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.
@@ -13,12 +13,12 @@ export type PgClientConfig = {
13
13
  export type AdminConnection = {
14
14
  clientConfig: PgClientConfig;
15
15
  display: string;
16
- /** True if SSL was auto-detected (not explicitly set), enabling fallback. */
17
- sslAutoDetected?: boolean;
16
+ /** True if SSL fallback is enabled (try SSL first, fall back to non-SSL on failure). */
17
+ sslFallbackEnabled?: boolean;
18
18
  };
19
19
  /**
20
20
  * Connect to PostgreSQL with sslmode=prefer-like behavior.
21
- * If sslAutoDetected is true, tries SSL first, then falls back to non-SSL on failure.
21
+ * If sslFallbackEnabled is true, tries SSL first, then falls back to non-SSL on failure.
22
22
  */
23
23
  export declare function connectWithSslFallback(ClientClass: new (config: PgClientConfig) => PgClient, adminConn: AdminConnection, verbose?: boolean): Promise<{
24
24
  client: PgClient;
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../lib/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../lib/init.ts"],"names":[],"mappings":"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"}
package/dist/lib/init.js CHANGED
@@ -85,31 +85,38 @@ function stripSslModeFromUri(uri) {
85
85
  }
86
86
  }
87
87
  /**
88
- * Check if an error is SSL-related and fallback should be attempted.
88
+ * Check if an error indicates SSL negotiation failed and fallback to non-SSL should be attempted.
89
89
  * This mimics libpq's sslmode=prefer behavior.
90
+ *
91
+ * IMPORTANT: This should NOT match certificate errors (expired, invalid, self-signed)
92
+ * as those are real errors the user needs to fix, not negotiation failures.
90
93
  */
91
94
  function isSslNegotiationError(err) {
92
95
  if (!err || typeof err !== "object")
93
96
  return false;
94
97
  const e = err;
95
- // Common SSL negotiation failure patterns:
96
- // - "SSL connection is required" / "SSL required" (server wants SSL but we didn't try)
97
- // - "The server does not support SSL connections" (server doesn't support SSL)
98
- // - SSL handshake errors, TLS errors
99
- // - PostgreSQL error code 08P01 can be SSL-related
100
98
  const msg = typeof e.message === "string" ? e.message.toLowerCase() : "";
101
99
  const code = typeof e.code === "string" ? e.code : "";
102
- if (msg.includes("ssl") || msg.includes("tls"))
103
- return true;
104
- if (msg.includes("the server does not support"))
100
+ // Specific patterns that indicate server doesn't support SSL (should fallback)
101
+ const fallbackPatterns = [
102
+ "the server does not support ssl",
103
+ "ssl off",
104
+ "server does not support ssl connections",
105
+ ];
106
+ for (const pattern of fallbackPatterns) {
107
+ if (msg.includes(pattern))
108
+ return true;
109
+ }
110
+ // PostgreSQL error code 08P01 (protocol violation) during initial connection
111
+ // often indicates SSL negotiation mismatch, but only if the message suggests it
112
+ if (code === "08P01" && (msg.includes("ssl") || msg.includes("unsupported"))) {
105
113
  return true;
106
- if (code === "08P01")
107
- return true; // Protocol violation (often SSL-related)
114
+ }
108
115
  return false;
109
116
  }
110
117
  /**
111
118
  * Connect to PostgreSQL with sslmode=prefer-like behavior.
112
- * If sslAutoDetected is true, tries SSL first, then falls back to non-SSL on failure.
119
+ * If sslFallbackEnabled is true, tries SSL first, then falls back to non-SSL on failure.
113
120
  */
114
121
  async function connectWithSslFallback(ClientClass, adminConn, verbose) {
115
122
  const tryConnect = async (config) => {
@@ -118,7 +125,7 @@ async function connectWithSslFallback(ClientClass, adminConn, verbose) {
118
125
  return client;
119
126
  };
120
127
  // If SSL was explicitly set or no SSL configured, just try once
121
- if (!adminConn.sslAutoDetected) {
128
+ if (!adminConn.sslFallbackEnabled) {
122
129
  const client = await tryConnect(adminConn.clientConfig);
123
130
  return { client, usedSsl: !!adminConn.clientConfig.ssl };
124
131
  }
@@ -334,7 +341,7 @@ function resolveAdminConnection(opts) {
334
341
  return {
335
342
  clientConfig: { connectionString: cleanUri, ssl: sslConfig },
336
343
  display: maskConnectionString(v),
337
- sslAutoDetected: shouldFallback,
344
+ sslFallbackEnabled: shouldFallback,
338
345
  };
339
346
  }
340
347
  // libpq conninfo (dbname=... host=...)
@@ -354,7 +361,7 @@ function resolveAdminConnection(opts) {
354
361
  return {
355
362
  clientConfig: cfg,
356
363
  display: describePgConfig(cfg),
357
- sslAutoDetected: shouldFallback,
364
+ sslFallbackEnabled: shouldFallback,
358
365
  };
359
366
  }
360
367
  if (!hasConnDetails) {
@@ -383,11 +390,11 @@ function resolveAdminConnection(opts) {
383
390
  cfg.ssl = sslModeToConfig(explicitSsl);
384
391
  // Enable fallback for explicit "prefer"/"allow"
385
392
  const shouldFallback = explicitSsl.toLowerCase() === "prefer" || explicitSsl.toLowerCase() === "allow";
386
- return { clientConfig: cfg, display: describePgConfig(cfg), sslAutoDetected: shouldFallback };
393
+ return { clientConfig: cfg, display: describePgConfig(cfg), sslFallbackEnabled: shouldFallback };
387
394
  }
388
395
  // Default: try SSL with fallback (sslmode=prefer behavior)
389
396
  cfg.ssl = { rejectUnauthorized: false };
390
- return { clientConfig: cfg, display: describePgConfig(cfg), sslAutoDetected: true };
397
+ return { clientConfig: cfg, display: describePgConfig(cfg), sslFallbackEnabled: true };
391
398
  }
392
399
  function generateMonitoringPassword() {
393
400
  // URL-safe and easy to copy/paste; 24 bytes => 32 base64url chars (no padding).
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../lib/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../lib/init.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "postgresai",
3
- "version": "0.14.0-dev.27",
3
+ "version": "0.14.0-dev.29",
4
4
  "description": "postgres_ai CLI (Node.js)",
5
5
  "license": "Apache-2.0",
6
6
  "private": false,
package/lib/init.ts CHANGED
@@ -54,34 +54,46 @@ function stripSslModeFromUri(uri: string): string {
54
54
  export type AdminConnection = {
55
55
  clientConfig: PgClientConfig;
56
56
  display: string;
57
- /** True if SSL was auto-detected (not explicitly set), enabling fallback. */
58
- sslAutoDetected?: boolean;
57
+ /** True if SSL fallback is enabled (try SSL first, fall back to non-SSL on failure). */
58
+ sslFallbackEnabled?: boolean;
59
59
  };
60
60
 
61
61
  /**
62
- * Check if an error is SSL-related and fallback should be attempted.
62
+ * Check if an error indicates SSL negotiation failed and fallback to non-SSL should be attempted.
63
63
  * This mimics libpq's sslmode=prefer behavior.
64
+ *
65
+ * IMPORTANT: This should NOT match certificate errors (expired, invalid, self-signed)
66
+ * as those are real errors the user needs to fix, not negotiation failures.
64
67
  */
65
68
  function isSslNegotiationError(err: unknown): boolean {
66
69
  if (!err || typeof err !== "object") return false;
67
70
  const e = err as any;
68
- // Common SSL negotiation failure patterns:
69
- // - "SSL connection is required" / "SSL required" (server wants SSL but we didn't try)
70
- // - "The server does not support SSL connections" (server doesn't support SSL)
71
- // - SSL handshake errors, TLS errors
72
- // - PostgreSQL error code 08P01 can be SSL-related
73
71
  const msg = typeof e.message === "string" ? e.message.toLowerCase() : "";
74
72
  const code = typeof e.code === "string" ? e.code : "";
75
73
 
76
- if (msg.includes("ssl") || msg.includes("tls")) return true;
77
- if (msg.includes("the server does not support")) return true;
78
- if (code === "08P01") return true; // Protocol violation (often SSL-related)
74
+ // Specific patterns that indicate server doesn't support SSL (should fallback)
75
+ const fallbackPatterns = [
76
+ "the server does not support ssl",
77
+ "ssl off",
78
+ "server does not support ssl connections",
79
+ ];
80
+
81
+ for (const pattern of fallbackPatterns) {
82
+ if (msg.includes(pattern)) return true;
83
+ }
84
+
85
+ // PostgreSQL error code 08P01 (protocol violation) during initial connection
86
+ // often indicates SSL negotiation mismatch, but only if the message suggests it
87
+ if (code === "08P01" && (msg.includes("ssl") || msg.includes("unsupported"))) {
88
+ return true;
89
+ }
90
+
79
91
  return false;
80
92
  }
81
93
 
82
94
  /**
83
95
  * Connect to PostgreSQL with sslmode=prefer-like behavior.
84
- * If sslAutoDetected is true, tries SSL first, then falls back to non-SSL on failure.
96
+ * If sslFallbackEnabled is true, tries SSL first, then falls back to non-SSL on failure.
85
97
  */
86
98
  export async function connectWithSslFallback(
87
99
  ClientClass: new (config: PgClientConfig) => PgClient,
@@ -95,7 +107,7 @@ export async function connectWithSslFallback(
95
107
  };
96
108
 
97
109
  // If SSL was explicitly set or no SSL configured, just try once
98
- if (!adminConn.sslAutoDetected) {
110
+ if (!adminConn.sslFallbackEnabled) {
99
111
  const client = await tryConnect(adminConn.clientConfig);
100
112
  return { client, usedSsl: !!adminConn.clientConfig.ssl };
101
113
  }
@@ -352,7 +364,7 @@ export function resolveAdminConnection(opts: {
352
364
  return {
353
365
  clientConfig: { connectionString: cleanUri, ssl: sslConfig },
354
366
  display: maskConnectionString(v),
355
- sslAutoDetected: shouldFallback,
367
+ sslFallbackEnabled: shouldFallback,
356
368
  };
357
369
  }
358
370
  // libpq conninfo (dbname=... host=...)
@@ -369,7 +381,7 @@ export function resolveAdminConnection(opts: {
369
381
  return {
370
382
  clientConfig: cfg,
371
383
  display: describePgConfig(cfg),
372
- sslAutoDetected: shouldFallback,
384
+ sslFallbackEnabled: shouldFallback,
373
385
  };
374
386
  }
375
387
 
@@ -395,11 +407,11 @@ export function resolveAdminConnection(opts: {
395
407
  cfg.ssl = sslModeToConfig(explicitSsl);
396
408
  // Enable fallback for explicit "prefer"/"allow"
397
409
  const shouldFallback = explicitSsl.toLowerCase() === "prefer" || explicitSsl.toLowerCase() === "allow";
398
- return { clientConfig: cfg, display: describePgConfig(cfg), sslAutoDetected: shouldFallback };
410
+ return { clientConfig: cfg, display: describePgConfig(cfg), sslFallbackEnabled: shouldFallback };
399
411
  }
400
412
  // Default: try SSL with fallback (sslmode=prefer behavior)
401
413
  cfg.ssl = { rejectUnauthorized: false };
402
- return { clientConfig: cfg, display: describePgConfig(cfg), sslAutoDetected: true };
414
+ return { clientConfig: cfg, display: describePgConfig(cfg), sslFallbackEnabled: true };
403
415
  }
404
416
 
405
417
  function generateMonitoringPassword(): string {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "postgresai",
3
- "version": "0.14.0-dev.27",
3
+ "version": "0.14.0-dev.29",
4
4
  "description": "postgres_ai CLI (Node.js)",
5
5
  "license": "Apache-2.0",
6
6
  "private": false,