postgresai 0.14.0-dev.39 → 0.14.0-dev.40
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/bin/postgres-ai.ts +0 -287
- package/dist/bin/postgres-ai.js +0 -263
- package/dist/bin/postgres-ai.js.map +1 -1
- package/dist/lib/config.d.ts +0 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +0 -2
- package/dist/lib/config.js.map +1 -1
- package/dist/package.json +1 -1
- package/lib/config.ts +0 -3
- package/package.json +1 -1
- package/dist/lib/checkup-api.d.ts +0 -33
- package/dist/lib/checkup-api.d.ts.map +0 -1
- package/dist/lib/checkup-api.js +0 -187
- package/dist/lib/checkup-api.js.map +0 -1
- package/dist/lib/checkup.d.ts +0 -153
- package/dist/lib/checkup.d.ts.map +0 -1
- package/dist/lib/checkup.js +0 -536
- package/dist/lib/checkup.js.map +0 -1
- package/lib/checkup-api.ts +0 -177
- package/lib/checkup.ts +0 -622
- package/reports/A002.json +0 -23
- package/reports/A003.json +0 -3343
- package/reports/A004.json +0 -134
- package/reports/A007.json +0 -683
- package/reports/A013.json +0 -23
- package/test/checkup.test.cjs +0 -645
package/dist/lib/checkup-api.js
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.RpcError = void 0;
|
|
37
|
-
exports.formatRpcErrorForDisplay = formatRpcErrorForDisplay;
|
|
38
|
-
exports.createCheckupReport = createCheckupReport;
|
|
39
|
-
exports.uploadCheckupReportJson = uploadCheckupReportJson;
|
|
40
|
-
const https = __importStar(require("https"));
|
|
41
|
-
const url_1 = require("url");
|
|
42
|
-
const util_1 = require("./util");
|
|
43
|
-
class RpcError extends Error {
|
|
44
|
-
constructor(params) {
|
|
45
|
-
const { rpcName, statusCode, payloadText, payloadJson } = params;
|
|
46
|
-
super(`RPC ${rpcName} failed: HTTP ${statusCode}`);
|
|
47
|
-
this.name = "RpcError";
|
|
48
|
-
this.rpcName = rpcName;
|
|
49
|
-
this.statusCode = statusCode;
|
|
50
|
-
this.payloadText = payloadText;
|
|
51
|
-
this.payloadJson = payloadJson;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
exports.RpcError = RpcError;
|
|
55
|
-
function formatRpcErrorForDisplay(err) {
|
|
56
|
-
const lines = [];
|
|
57
|
-
lines.push(`Error: RPC ${err.rpcName} failed: HTTP ${err.statusCode}`);
|
|
58
|
-
const obj = err.payloadJson && typeof err.payloadJson === "object" ? err.payloadJson : null;
|
|
59
|
-
const details = obj && typeof obj.details === "string" ? obj.details : "";
|
|
60
|
-
const hint = obj && typeof obj.hint === "string" ? obj.hint : "";
|
|
61
|
-
const message = obj && typeof obj.message === "string" ? obj.message : "";
|
|
62
|
-
if (message)
|
|
63
|
-
lines.push(`Message: ${message}`);
|
|
64
|
-
if (details)
|
|
65
|
-
lines.push(`Details: ${details}`);
|
|
66
|
-
if (hint)
|
|
67
|
-
lines.push(`Hint: ${hint}`);
|
|
68
|
-
// Fallback to raw payload if we couldn't extract anything useful.
|
|
69
|
-
if (!message && !details && !hint) {
|
|
70
|
-
const t = (err.payloadText || "").trim();
|
|
71
|
-
if (t)
|
|
72
|
-
lines.push(t);
|
|
73
|
-
}
|
|
74
|
-
return lines;
|
|
75
|
-
}
|
|
76
|
-
function unwrapRpcResponse(parsed) {
|
|
77
|
-
// Some deployments return a plain object, others return an array of rows,
|
|
78
|
-
// and some wrap OUT params under a "result" key.
|
|
79
|
-
if (Array.isArray(parsed)) {
|
|
80
|
-
if (parsed.length === 1)
|
|
81
|
-
return unwrapRpcResponse(parsed[0]);
|
|
82
|
-
return parsed;
|
|
83
|
-
}
|
|
84
|
-
if (parsed && typeof parsed === "object") {
|
|
85
|
-
const obj = parsed;
|
|
86
|
-
if (obj.result !== undefined)
|
|
87
|
-
return obj.result;
|
|
88
|
-
}
|
|
89
|
-
return parsed;
|
|
90
|
-
}
|
|
91
|
-
async function postRpc(params) {
|
|
92
|
-
const { apiKey, apiBaseUrl, rpcName, bodyObj } = params;
|
|
93
|
-
if (!apiKey)
|
|
94
|
-
throw new Error("API key is required");
|
|
95
|
-
const base = (0, util_1.normalizeBaseUrl)(apiBaseUrl);
|
|
96
|
-
const url = new url_1.URL(`${base}/rpc/${rpcName}`);
|
|
97
|
-
const body = JSON.stringify(bodyObj);
|
|
98
|
-
const headers = {
|
|
99
|
-
// The backend RPC functions accept access_token in body, but we also set the header
|
|
100
|
-
// for compatibility with other endpoints and deployments.
|
|
101
|
-
"access-token": apiKey,
|
|
102
|
-
"Prefer": "return=representation",
|
|
103
|
-
"Content-Type": "application/json",
|
|
104
|
-
"Content-Length": Buffer.byteLength(body).toString(),
|
|
105
|
-
};
|
|
106
|
-
return new Promise((resolve, reject) => {
|
|
107
|
-
const req = https.request(url, {
|
|
108
|
-
method: "POST",
|
|
109
|
-
headers,
|
|
110
|
-
}, (res) => {
|
|
111
|
-
let data = "";
|
|
112
|
-
res.on("data", (chunk) => (data += chunk));
|
|
113
|
-
res.on("end", () => {
|
|
114
|
-
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
|
|
115
|
-
try {
|
|
116
|
-
const parsed = JSON.parse(data);
|
|
117
|
-
resolve(unwrapRpcResponse(parsed));
|
|
118
|
-
}
|
|
119
|
-
catch {
|
|
120
|
-
reject(new Error(`Failed to parse RPC response: ${data}`));
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
const statusCode = res.statusCode || 0;
|
|
125
|
-
let payloadJson = null;
|
|
126
|
-
if (data) {
|
|
127
|
-
try {
|
|
128
|
-
payloadJson = JSON.parse(data);
|
|
129
|
-
}
|
|
130
|
-
catch {
|
|
131
|
-
payloadJson = null;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
reject(new RpcError({ rpcName, statusCode, payloadText: data, payloadJson }));
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
req.on("error", (err) => reject(err));
|
|
139
|
-
req.write(body);
|
|
140
|
-
req.end();
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
async function createCheckupReport(params) {
|
|
144
|
-
const { apiKey, apiBaseUrl, project, epoch, status } = params;
|
|
145
|
-
const bodyObj = {
|
|
146
|
-
access_token: apiKey,
|
|
147
|
-
project,
|
|
148
|
-
epoch,
|
|
149
|
-
};
|
|
150
|
-
if (status)
|
|
151
|
-
bodyObj.status = status;
|
|
152
|
-
const resp = await postRpc({
|
|
153
|
-
apiKey,
|
|
154
|
-
apiBaseUrl,
|
|
155
|
-
rpcName: "checkup_report_create",
|
|
156
|
-
bodyObj,
|
|
157
|
-
});
|
|
158
|
-
const reportId = Number(resp?.report_id);
|
|
159
|
-
if (!Number.isFinite(reportId) || reportId <= 0) {
|
|
160
|
-
throw new Error(`Unexpected checkup_report_create response: ${JSON.stringify(resp)}`);
|
|
161
|
-
}
|
|
162
|
-
return { reportId };
|
|
163
|
-
}
|
|
164
|
-
async function uploadCheckupReportJson(params) {
|
|
165
|
-
const { apiKey, apiBaseUrl, reportId, filename, checkId, jsonText } = params;
|
|
166
|
-
const bodyObj = {
|
|
167
|
-
access_token: apiKey,
|
|
168
|
-
checkup_report_id: reportId,
|
|
169
|
-
filename,
|
|
170
|
-
check_id: checkId,
|
|
171
|
-
data: jsonText,
|
|
172
|
-
type: "json",
|
|
173
|
-
generate_issue: true,
|
|
174
|
-
};
|
|
175
|
-
const resp = await postRpc({
|
|
176
|
-
apiKey,
|
|
177
|
-
apiBaseUrl,
|
|
178
|
-
rpcName: "checkup_report_file_post",
|
|
179
|
-
bodyObj,
|
|
180
|
-
});
|
|
181
|
-
const chunkId = Number(resp?.report_chunck_id ?? resp?.report_chunk_id);
|
|
182
|
-
if (!Number.isFinite(chunkId) || chunkId <= 0) {
|
|
183
|
-
throw new Error(`Unexpected checkup_report_file_post response: ${JSON.stringify(resp)}`);
|
|
184
|
-
}
|
|
185
|
-
return { reportChunkId: chunkId };
|
|
186
|
-
}
|
|
187
|
-
//# sourceMappingURL=checkup-api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkup-api.js","sourceRoot":"","sources":["../../lib/checkup-api.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/checkup.d.ts
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Express checkup module - generates JSON reports directly from PostgreSQL
|
|
3
|
-
* without going through Prometheus.
|
|
4
|
-
*
|
|
5
|
-
* This module reuses the same SQL queries from metrics.yml but runs them
|
|
6
|
-
* directly against the target database.
|
|
7
|
-
*/
|
|
8
|
-
import { Client } from "pg";
|
|
9
|
-
/**
|
|
10
|
-
* PostgreSQL version information
|
|
11
|
-
*/
|
|
12
|
-
export interface PostgresVersion {
|
|
13
|
-
version: string;
|
|
14
|
-
server_version_num: string;
|
|
15
|
-
server_major_ver: string;
|
|
16
|
-
server_minor_ver: string;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Setting information from pg_settings
|
|
20
|
-
*/
|
|
21
|
-
export interface SettingInfo {
|
|
22
|
-
setting: string;
|
|
23
|
-
unit: string;
|
|
24
|
-
category: string;
|
|
25
|
-
context: string;
|
|
26
|
-
vartype: string;
|
|
27
|
-
pretty_value: string;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Altered setting (A007) - subset of SettingInfo
|
|
31
|
-
*/
|
|
32
|
-
export interface AlteredSetting {
|
|
33
|
-
value: string;
|
|
34
|
-
unit: string;
|
|
35
|
-
category: string;
|
|
36
|
-
pretty_value: string;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Cluster metric (A004)
|
|
40
|
-
*/
|
|
41
|
-
export interface ClusterMetric {
|
|
42
|
-
value: string;
|
|
43
|
-
unit: string;
|
|
44
|
-
description: string;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Node result for reports
|
|
48
|
-
*/
|
|
49
|
-
export interface NodeResult {
|
|
50
|
-
data: Record<string, any>;
|
|
51
|
-
postgres_version?: PostgresVersion;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Report structure matching JSON schemas
|
|
55
|
-
*/
|
|
56
|
-
export interface Report {
|
|
57
|
-
version: string | null;
|
|
58
|
-
build_ts: string | null;
|
|
59
|
-
checkId: string;
|
|
60
|
-
checkTitle: string;
|
|
61
|
-
timestamptz: string;
|
|
62
|
-
nodes: {
|
|
63
|
-
primary: string;
|
|
64
|
-
standbys: string[];
|
|
65
|
-
};
|
|
66
|
-
results: Record<string, NodeResult>;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* SQL queries derived from metrics.yml
|
|
70
|
-
* These are the same queries used by pgwatch to export metrics to Prometheus
|
|
71
|
-
*/
|
|
72
|
-
export declare const METRICS_SQL: {
|
|
73
|
-
settings: string;
|
|
74
|
-
alteredSettings: string;
|
|
75
|
-
version: string;
|
|
76
|
-
databaseSizes: string;
|
|
77
|
-
clusterStats: string;
|
|
78
|
-
connectionStates: string;
|
|
79
|
-
uptimeInfo: string;
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Parse PostgreSQL version number into major and minor components
|
|
83
|
-
*/
|
|
84
|
-
export declare function parseVersionNum(versionNum: string): {
|
|
85
|
-
major: string;
|
|
86
|
-
minor: string;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Format bytes to human readable string
|
|
90
|
-
*/
|
|
91
|
-
export declare function formatBytes(bytes: number): string;
|
|
92
|
-
/**
|
|
93
|
-
* Get PostgreSQL version information
|
|
94
|
-
*/
|
|
95
|
-
export declare function getPostgresVersion(client: Client): Promise<PostgresVersion>;
|
|
96
|
-
/**
|
|
97
|
-
* Get all PostgreSQL settings
|
|
98
|
-
*/
|
|
99
|
-
export declare function getSettings(client: Client): Promise<Record<string, SettingInfo>>;
|
|
100
|
-
/**
|
|
101
|
-
* Get altered (non-default) PostgreSQL settings
|
|
102
|
-
*/
|
|
103
|
-
export declare function getAlteredSettings(client: Client): Promise<Record<string, AlteredSetting>>;
|
|
104
|
-
/**
|
|
105
|
-
* Get database sizes
|
|
106
|
-
*/
|
|
107
|
-
export declare function getDatabaseSizes(client: Client): Promise<Record<string, number>>;
|
|
108
|
-
/**
|
|
109
|
-
* Get cluster general info metrics
|
|
110
|
-
*/
|
|
111
|
-
export declare function getClusterInfo(client: Client): Promise<Record<string, ClusterMetric>>;
|
|
112
|
-
/**
|
|
113
|
-
* Create base report structure
|
|
114
|
-
*/
|
|
115
|
-
export declare function createBaseReport(checkId: string, checkTitle: string, nodeName: string): Report;
|
|
116
|
-
/**
|
|
117
|
-
* Generate A002 report - Postgres major version
|
|
118
|
-
*/
|
|
119
|
-
export declare function generateA002(client: Client, nodeName?: string): Promise<Report>;
|
|
120
|
-
/**
|
|
121
|
-
* Generate A003 report - Postgres settings
|
|
122
|
-
*/
|
|
123
|
-
export declare function generateA003(client: Client, nodeName?: string): Promise<Report>;
|
|
124
|
-
/**
|
|
125
|
-
* Generate A004 report - Cluster information
|
|
126
|
-
*/
|
|
127
|
-
export declare function generateA004(client: Client, nodeName?: string): Promise<Report>;
|
|
128
|
-
/**
|
|
129
|
-
* Generate A007 report - Altered settings
|
|
130
|
-
*/
|
|
131
|
-
export declare function generateA007(client: Client, nodeName?: string): Promise<Report>;
|
|
132
|
-
/**
|
|
133
|
-
* Generate A013 report - Postgres minor version
|
|
134
|
-
*/
|
|
135
|
-
export declare function generateA013(client: Client, nodeName?: string): Promise<Report>;
|
|
136
|
-
/**
|
|
137
|
-
* Available report generators
|
|
138
|
-
*/
|
|
139
|
-
export declare const REPORT_GENERATORS: Record<string, (client: Client, nodeName: string) => Promise<Report>>;
|
|
140
|
-
/**
|
|
141
|
-
* Check IDs and titles
|
|
142
|
-
*/
|
|
143
|
-
export declare const CHECK_INFO: Record<string, string>;
|
|
144
|
-
/**
|
|
145
|
-
* Generate all available reports
|
|
146
|
-
*/
|
|
147
|
-
export declare function generateAllReports(client: Client, nodeName?: string, onProgress?: (info: {
|
|
148
|
-
checkId: string;
|
|
149
|
-
checkTitle: string;
|
|
150
|
-
index: number;
|
|
151
|
-
total: number;
|
|
152
|
-
}) => void): Promise<Record<string, Report>>;
|
|
153
|
-
//# sourceMappingURL=checkup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkup.d.ts","sourceRoot":"","sources":["../../lib/checkup.ts"],"names":[],"mappings":"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"}
|