postgresai 0.14.0-dev.42 → 0.14.0-dev.44

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 (58) hide show
  1. package/bin/postgres-ai.ts +649 -310
  2. package/bun.lock +258 -0
  3. package/dist/bin/postgres-ai.js +29491 -1910
  4. package/dist/sql/01.role.sql +16 -0
  5. package/dist/sql/02.permissions.sql +37 -0
  6. package/dist/sql/03.optional_rds.sql +6 -0
  7. package/dist/sql/04.optional_self_managed.sql +8 -0
  8. package/dist/sql/05.helpers.sql +415 -0
  9. package/lib/auth-server.ts +58 -97
  10. package/lib/checkup-api.ts +175 -0
  11. package/lib/checkup.ts +833 -0
  12. package/lib/config.ts +3 -0
  13. package/lib/init.ts +106 -74
  14. package/lib/issues.ts +121 -194
  15. package/lib/mcp-server.ts +6 -17
  16. package/lib/metrics-loader.ts +156 -0
  17. package/package.json +13 -9
  18. package/sql/02.permissions.sql +9 -5
  19. package/sql/05.helpers.sql +415 -0
  20. package/test/checkup.test.ts +953 -0
  21. package/test/init.integration.test.ts +396 -0
  22. package/test/init.test.ts +345 -0
  23. package/test/schema-validation.test.ts +188 -0
  24. package/tsconfig.json +12 -20
  25. package/dist/bin/postgres-ai.d.ts +0 -3
  26. package/dist/bin/postgres-ai.d.ts.map +0 -1
  27. package/dist/bin/postgres-ai.js.map +0 -1
  28. package/dist/lib/auth-server.d.ts +0 -31
  29. package/dist/lib/auth-server.d.ts.map +0 -1
  30. package/dist/lib/auth-server.js +0 -263
  31. package/dist/lib/auth-server.js.map +0 -1
  32. package/dist/lib/config.d.ts +0 -45
  33. package/dist/lib/config.d.ts.map +0 -1
  34. package/dist/lib/config.js +0 -181
  35. package/dist/lib/config.js.map +0 -1
  36. package/dist/lib/init.d.ts +0 -85
  37. package/dist/lib/init.d.ts.map +0 -1
  38. package/dist/lib/init.js +0 -644
  39. package/dist/lib/init.js.map +0 -1
  40. package/dist/lib/issues.d.ts +0 -75
  41. package/dist/lib/issues.d.ts.map +0 -1
  42. package/dist/lib/issues.js +0 -336
  43. package/dist/lib/issues.js.map +0 -1
  44. package/dist/lib/mcp-server.d.ts +0 -9
  45. package/dist/lib/mcp-server.d.ts.map +0 -1
  46. package/dist/lib/mcp-server.js +0 -168
  47. package/dist/lib/mcp-server.js.map +0 -1
  48. package/dist/lib/pkce.d.ts +0 -32
  49. package/dist/lib/pkce.d.ts.map +0 -1
  50. package/dist/lib/pkce.js +0 -101
  51. package/dist/lib/pkce.js.map +0 -1
  52. package/dist/lib/util.d.ts +0 -27
  53. package/dist/lib/util.d.ts.map +0 -1
  54. package/dist/lib/util.js +0 -46
  55. package/dist/lib/util.js.map +0 -1
  56. package/dist/package.json +0 -46
  57. package/test/init.integration.test.cjs +0 -382
  58. package/test/init.test.cjs +0 -392
@@ -1,75 +0,0 @@
1
- export interface IssueActionItem {
2
- id: string;
3
- issue_id: string;
4
- title: string;
5
- description: string | null;
6
- severity: number;
7
- is_done: boolean;
8
- done_by: number | null;
9
- done_at: string | null;
10
- created_at: string;
11
- updated_at: string;
12
- }
13
- export interface Issue {
14
- id: string;
15
- title: string;
16
- description: string | null;
17
- created_at: string;
18
- updated_at: string;
19
- status: number;
20
- url_main: string | null;
21
- urls_extra: string[] | null;
22
- data: unknown | null;
23
- author_id: number;
24
- org_id: number;
25
- project_id: number | null;
26
- is_ai_generated: boolean;
27
- assigned_to: number[] | null;
28
- labels: string[] | null;
29
- is_edited: boolean;
30
- author_display_name: string;
31
- comment_count: number;
32
- action_items: IssueActionItem[];
33
- }
34
- export interface IssueComment {
35
- id: string;
36
- issue_id: string;
37
- author_id: number;
38
- parent_comment_id: string | null;
39
- content: string;
40
- created_at: string;
41
- updated_at: string;
42
- data: unknown | null;
43
- }
44
- export type IssueListItem = Pick<Issue, "id" | "title" | "status" | "created_at">;
45
- export type IssueDetail = Pick<Issue, "id" | "title" | "description" | "status" | "created_at" | "author_display_name">;
46
- export interface FetchIssuesParams {
47
- apiKey: string;
48
- apiBaseUrl: string;
49
- debug?: boolean;
50
- }
51
- export declare function fetchIssues(params: FetchIssuesParams): Promise<IssueListItem[]>;
52
- export interface FetchIssueCommentsParams {
53
- apiKey: string;
54
- apiBaseUrl: string;
55
- issueId: string;
56
- debug?: boolean;
57
- }
58
- export declare function fetchIssueComments(params: FetchIssueCommentsParams): Promise<IssueComment[]>;
59
- export interface FetchIssueParams {
60
- apiKey: string;
61
- apiBaseUrl: string;
62
- issueId: string;
63
- debug?: boolean;
64
- }
65
- export declare function fetchIssue(params: FetchIssueParams): Promise<IssueDetail | null>;
66
- export interface CreateIssueCommentParams {
67
- apiKey: string;
68
- apiBaseUrl: string;
69
- issueId: string;
70
- content: string;
71
- parentCommentId?: string;
72
- debug?: boolean;
73
- }
74
- export declare function createIssueComment(params: CreateIssueCommentParams): Promise<IssueComment>;
75
- //# sourceMappingURL=issues.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../lib/issues.ts"],"names":[],"mappings":"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"}
@@ -1,336 +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.fetchIssues = fetchIssues;
37
- exports.fetchIssueComments = fetchIssueComments;
38
- exports.fetchIssue = fetchIssue;
39
- exports.createIssueComment = createIssueComment;
40
- const https = __importStar(require("https"));
41
- const url_1 = require("url");
42
- const util_1 = require("./util");
43
- async function fetchIssues(params) {
44
- const { apiKey, apiBaseUrl, debug } = params;
45
- if (!apiKey) {
46
- throw new Error("API key is required");
47
- }
48
- const base = (0, util_1.normalizeBaseUrl)(apiBaseUrl);
49
- const url = new url_1.URL(`${base}/issues`);
50
- url.searchParams.set("select", "id,title,status,created_at");
51
- const headers = {
52
- "access-token": apiKey,
53
- "Prefer": "return=representation",
54
- "Content-Type": "application/json",
55
- };
56
- if (debug) {
57
- const debugHeaders = { ...headers, "access-token": (0, util_1.maskSecret)(apiKey) };
58
- // eslint-disable-next-line no-console
59
- console.log(`Debug: Resolved API base URL: ${base}`);
60
- // eslint-disable-next-line no-console
61
- console.log(`Debug: GET URL: ${url.toString()}`);
62
- // eslint-disable-next-line no-console
63
- console.log(`Debug: Auth scheme: access-token`);
64
- // eslint-disable-next-line no-console
65
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
66
- }
67
- return new Promise((resolve, reject) => {
68
- const req = https.request(url, {
69
- method: "GET",
70
- headers,
71
- }, (res) => {
72
- let data = "";
73
- res.on("data", (chunk) => (data += chunk));
74
- res.on("end", () => {
75
- if (debug) {
76
- // eslint-disable-next-line no-console
77
- console.log(`Debug: Response status: ${res.statusCode}`);
78
- // eslint-disable-next-line no-console
79
- console.log(`Debug: Response headers: ${JSON.stringify(res.headers)}`);
80
- }
81
- if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
82
- try {
83
- const parsed = JSON.parse(data);
84
- resolve(parsed);
85
- }
86
- catch {
87
- reject(new Error(`Failed to parse issues response: ${data}`));
88
- }
89
- }
90
- else {
91
- let errMsg = `Failed to fetch issues: HTTP ${res.statusCode}`;
92
- if (data) {
93
- try {
94
- const errObj = JSON.parse(data);
95
- errMsg += `\n${JSON.stringify(errObj, null, 2)}`;
96
- }
97
- catch {
98
- errMsg += `\n${data}`;
99
- }
100
- }
101
- reject(new Error(errMsg));
102
- }
103
- });
104
- });
105
- req.on("error", (err) => reject(err));
106
- req.end();
107
- });
108
- }
109
- async function fetchIssueComments(params) {
110
- const { apiKey, apiBaseUrl, issueId, debug } = params;
111
- if (!apiKey) {
112
- throw new Error("API key is required");
113
- }
114
- if (!issueId) {
115
- throw new Error("issueId is required");
116
- }
117
- const base = (0, util_1.normalizeBaseUrl)(apiBaseUrl);
118
- const url = new url_1.URL(`${base}/issue_comments?issue_id=eq.${encodeURIComponent(issueId)}`);
119
- const headers = {
120
- "access-token": apiKey,
121
- "Prefer": "return=representation",
122
- "Content-Type": "application/json",
123
- };
124
- if (debug) {
125
- const debugHeaders = { ...headers, "access-token": (0, util_1.maskSecret)(apiKey) };
126
- // eslint-disable-next-line no-console
127
- console.log(`Debug: Resolved API base URL: ${base}`);
128
- // eslint-disable-next-line no-console
129
- console.log(`Debug: GET URL: ${url.toString()}`);
130
- // eslint-disable-next-line no-console
131
- console.log(`Debug: Auth scheme: access-token`);
132
- // eslint-disable-next-line no-console
133
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
134
- }
135
- return new Promise((resolve, reject) => {
136
- const req = https.request(url, {
137
- method: "GET",
138
- headers,
139
- }, (res) => {
140
- let data = "";
141
- res.on("data", (chunk) => (data += chunk));
142
- res.on("end", () => {
143
- if (debug) {
144
- // eslint-disable-next-line no-console
145
- console.log(`Debug: Response status: ${res.statusCode}`);
146
- // eslint-disable-next-line no-console
147
- console.log(`Debug: Response headers: ${JSON.stringify(res.headers)}`);
148
- }
149
- if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
150
- try {
151
- const parsed = JSON.parse(data);
152
- resolve(parsed);
153
- }
154
- catch {
155
- reject(new Error(`Failed to parse issue comments response: ${data}`));
156
- }
157
- }
158
- else {
159
- let errMsg = `Failed to fetch issue comments: HTTP ${res.statusCode}`;
160
- if (data) {
161
- try {
162
- const errObj = JSON.parse(data);
163
- errMsg += `\n${JSON.stringify(errObj, null, 2)}`;
164
- }
165
- catch {
166
- errMsg += `\n${data}`;
167
- }
168
- }
169
- reject(new Error(errMsg));
170
- }
171
- });
172
- });
173
- req.on("error", (err) => reject(err));
174
- req.end();
175
- });
176
- }
177
- async function fetchIssue(params) {
178
- const { apiKey, apiBaseUrl, issueId, debug } = params;
179
- if (!apiKey) {
180
- throw new Error("API key is required");
181
- }
182
- if (!issueId) {
183
- throw new Error("issueId is required");
184
- }
185
- const base = (0, util_1.normalizeBaseUrl)(apiBaseUrl);
186
- const url = new url_1.URL(`${base}/issues`);
187
- url.searchParams.set("select", "id,title,description,status,created_at,author_display_name");
188
- url.searchParams.set("id", `eq.${issueId}`);
189
- url.searchParams.set("limit", "1");
190
- const headers = {
191
- "access-token": apiKey,
192
- "Prefer": "return=representation",
193
- "Content-Type": "application/json",
194
- };
195
- if (debug) {
196
- const debugHeaders = { ...headers, "access-token": (0, util_1.maskSecret)(apiKey) };
197
- // eslint-disable-next-line no-console
198
- console.log(`Debug: Resolved API base URL: ${base}`);
199
- // eslint-disable-next-line no-console
200
- console.log(`Debug: GET URL: ${url.toString()}`);
201
- // eslint-disable-next-line no-console
202
- console.log(`Debug: Auth scheme: access-token`);
203
- // eslint-disable-next-line no-console
204
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
205
- }
206
- return new Promise((resolve, reject) => {
207
- const req = https.request(url, {
208
- method: "GET",
209
- headers,
210
- }, (res) => {
211
- let data = "";
212
- res.on("data", (chunk) => (data += chunk));
213
- res.on("end", () => {
214
- if (debug) {
215
- // eslint-disable-next-line no-console
216
- console.log(`Debug: Response status: ${res.statusCode}`);
217
- // eslint-disable-next-line no-console
218
- console.log(`Debug: Response headers: ${JSON.stringify(res.headers)}`);
219
- }
220
- if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
221
- try {
222
- const parsed = JSON.parse(data);
223
- if (Array.isArray(parsed)) {
224
- resolve(parsed[0] ?? null);
225
- }
226
- else {
227
- resolve(parsed);
228
- }
229
- }
230
- catch {
231
- reject(new Error(`Failed to parse issue response: ${data}`));
232
- }
233
- }
234
- else {
235
- let errMsg = `Failed to fetch issue: HTTP ${res.statusCode}`;
236
- if (data) {
237
- try {
238
- const errObj = JSON.parse(data);
239
- errMsg += `\n${JSON.stringify(errObj, null, 2)}`;
240
- }
241
- catch {
242
- errMsg += `\n${data}`;
243
- }
244
- }
245
- reject(new Error(errMsg));
246
- }
247
- });
248
- });
249
- req.on("error", (err) => reject(err));
250
- req.end();
251
- });
252
- }
253
- async function createIssueComment(params) {
254
- const { apiKey, apiBaseUrl, issueId, content, parentCommentId, debug } = params;
255
- if (!apiKey) {
256
- throw new Error("API key is required");
257
- }
258
- if (!issueId) {
259
- throw new Error("issueId is required");
260
- }
261
- if (!content) {
262
- throw new Error("content is required");
263
- }
264
- const base = (0, util_1.normalizeBaseUrl)(apiBaseUrl);
265
- const url = new url_1.URL(`${base}/rpc/issue_comment_create`);
266
- const bodyObj = {
267
- issue_id: issueId,
268
- content: content,
269
- };
270
- if (parentCommentId) {
271
- bodyObj.parent_comment_id = parentCommentId;
272
- }
273
- const body = JSON.stringify(bodyObj);
274
- const headers = {
275
- "access-token": apiKey,
276
- "Prefer": "return=representation",
277
- "Content-Type": "application/json",
278
- "Content-Length": Buffer.byteLength(body).toString(),
279
- };
280
- if (debug) {
281
- const debugHeaders = { ...headers, "access-token": (0, util_1.maskSecret)(apiKey) };
282
- // eslint-disable-next-line no-console
283
- console.log(`Debug: Resolved API base URL: ${base}`);
284
- // eslint-disable-next-line no-console
285
- console.log(`Debug: POST URL: ${url.toString()}`);
286
- // eslint-disable-next-line no-console
287
- console.log(`Debug: Auth scheme: access-token`);
288
- // eslint-disable-next-line no-console
289
- console.log(`Debug: Request headers: ${JSON.stringify(debugHeaders)}`);
290
- // eslint-disable-next-line no-console
291
- console.log(`Debug: Request body: ${body}`);
292
- }
293
- return new Promise((resolve, reject) => {
294
- const req = https.request(url, {
295
- method: "POST",
296
- headers,
297
- }, (res) => {
298
- let data = "";
299
- res.on("data", (chunk) => (data += chunk));
300
- res.on("end", () => {
301
- if (debug) {
302
- // eslint-disable-next-line no-console
303
- console.log(`Debug: Response status: ${res.statusCode}`);
304
- // eslint-disable-next-line no-console
305
- console.log(`Debug: Response headers: ${JSON.stringify(res.headers)}`);
306
- }
307
- if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
308
- try {
309
- const parsed = JSON.parse(data);
310
- resolve(parsed);
311
- }
312
- catch {
313
- reject(new Error(`Failed to parse create comment response: ${data}`));
314
- }
315
- }
316
- else {
317
- let errMsg = `Failed to create issue comment: HTTP ${res.statusCode}`;
318
- if (data) {
319
- try {
320
- const errObj = JSON.parse(data);
321
- errMsg += `\n${JSON.stringify(errObj, null, 2)}`;
322
- }
323
- catch {
324
- errMsg += `\n${data}`;
325
- }
326
- }
327
- reject(new Error(errMsg));
328
- }
329
- });
330
- });
331
- req.on("error", (err) => reject(err));
332
- req.write(body);
333
- req.end();
334
- });
335
- }
336
- //# sourceMappingURL=issues.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../lib/issues.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- interface RootOptsLike {
2
- apiKey?: string;
3
- apiBaseUrl?: string;
4
- }
5
- export declare function startMcpServer(rootOpts?: RootOptsLike, extra?: {
6
- debug?: boolean;
7
- }): Promise<void>;
8
- export {};
9
- //# sourceMappingURL=mcp-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../lib/mcp-server.ts"],"names":[],"mappings":"AAUA,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,cAAc,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0IxG"}
@@ -1,168 +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.startMcpServer = startMcpServer;
37
- const pkg = __importStar(require("../package.json"));
38
- const config = __importStar(require("./config"));
39
- const issues_1 = require("./issues");
40
- const util_1 = require("./util");
41
- // MCP SDK imports
42
- const server_1 = require("@modelcontextprotocol/sdk/server");
43
- const path = __importStar(require("path"));
44
- async function startMcpServer(rootOpts, extra) {
45
- // Resolve stdio transport at runtime to avoid subpath export resolution issues
46
- const serverEntry = require.resolve("@modelcontextprotocol/sdk/server");
47
- const stdioPath = path.join(path.dirname(serverEntry), "stdio.js");
48
- // eslint-disable-next-line @typescript-eslint/no-var-requires
49
- const { StdioServerTransport } = require(stdioPath);
50
- // Load schemas dynamically to avoid subpath export resolution issues
51
- const typesPath = path.resolve(path.dirname(serverEntry), "../types.js");
52
- // eslint-disable-next-line @typescript-eslint/no-var-requires
53
- const { CallToolRequestSchema, ListToolsRequestSchema } = require(typesPath);
54
- const server = new server_1.Server({ name: "postgresai-mcp", version: pkg.version }, { capabilities: { tools: {} } });
55
- // Interpret escape sequences (e.g., \n -> newline). Input comes from JSON, but
56
- // we still normalize common escapes for consistency.
57
- const interpretEscapes = (str) => (str || "")
58
- .replace(/\\n/g, "\n")
59
- .replace(/\\t/g, "\t")
60
- .replace(/\\r/g, "\r")
61
- .replace(/\\"/g, '"')
62
- .replace(/\\'/g, "'");
63
- server.setRequestHandler(ListToolsRequestSchema, async () => {
64
- return {
65
- tools: [
66
- {
67
- name: "list_issues",
68
- description: "List issues from PostgresAI API (same as CLI 'issues list')",
69
- inputSchema: {
70
- type: "object",
71
- properties: {
72
- debug: { type: "boolean", description: "Enable verbose debug logs" },
73
- },
74
- additionalProperties: false,
75
- },
76
- },
77
- {
78
- name: "view_issue",
79
- description: "View a specific issue with its comments",
80
- inputSchema: {
81
- type: "object",
82
- properties: {
83
- issue_id: { type: "string", description: "Issue ID (UUID)" },
84
- debug: { type: "boolean", description: "Enable verbose debug logs" },
85
- },
86
- required: ["issue_id"],
87
- additionalProperties: false,
88
- },
89
- },
90
- {
91
- name: "post_issue_comment",
92
- description: "Post a new comment to an issue (optionally as a reply)",
93
- inputSchema: {
94
- type: "object",
95
- properties: {
96
- issue_id: { type: "string", description: "Issue ID (UUID)" },
97
- content: { type: "string", description: "Comment text (supports \\n as newline)" },
98
- parent_comment_id: { type: "string", description: "Parent comment ID (UUID) for replies" },
99
- debug: { type: "boolean", description: "Enable verbose debug logs" },
100
- },
101
- required: ["issue_id", "content"],
102
- additionalProperties: false,
103
- },
104
- },
105
- ],
106
- };
107
- });
108
- server.setRequestHandler(CallToolRequestSchema, async (req) => {
109
- const toolName = req.params.name;
110
- const args = req.params.arguments || {};
111
- const cfg = config.readConfig();
112
- const apiKey = (rootOpts?.apiKey || process.env.PGAI_API_KEY || cfg.apiKey || "").toString();
113
- const { apiBaseUrl } = (0, util_1.resolveBaseUrls)(rootOpts, cfg);
114
- const debug = Boolean(args.debug ?? extra?.debug);
115
- if (!apiKey) {
116
- return {
117
- content: [
118
- {
119
- type: "text",
120
- text: "API key is required. Run 'pgai auth' or set PGAI_API_KEY.",
121
- },
122
- ],
123
- isError: true,
124
- };
125
- }
126
- try {
127
- if (toolName === "list_issues") {
128
- const issues = await (0, issues_1.fetchIssues)({ apiKey, apiBaseUrl, debug });
129
- return { content: [{ type: "text", text: JSON.stringify(issues, null, 2) }] };
130
- }
131
- if (toolName === "view_issue") {
132
- const issueId = String(args.issue_id || "").trim();
133
- if (!issueId) {
134
- return { content: [{ type: "text", text: "issue_id is required" }], isError: true };
135
- }
136
- const issue = await (0, issues_1.fetchIssue)({ apiKey, apiBaseUrl, issueId, debug });
137
- if (!issue) {
138
- return { content: [{ type: "text", text: "Issue not found" }], isError: true };
139
- }
140
- const comments = await (0, issues_1.fetchIssueComments)({ apiKey, apiBaseUrl, issueId, debug });
141
- const combined = { issue, comments };
142
- return { content: [{ type: "text", text: JSON.stringify(combined, null, 2) }] };
143
- }
144
- if (toolName === "post_issue_comment") {
145
- const issueId = String(args.issue_id || "").trim();
146
- const rawContent = String(args.content || "");
147
- const parentCommentId = args.parent_comment_id ? String(args.parent_comment_id) : undefined;
148
- if (!issueId) {
149
- return { content: [{ type: "text", text: "issue_id is required" }], isError: true };
150
- }
151
- if (!rawContent) {
152
- return { content: [{ type: "text", text: "content is required" }], isError: true };
153
- }
154
- const content = interpretEscapes(rawContent);
155
- const result = await (0, issues_1.createIssueComment)({ apiKey, apiBaseUrl, issueId, content, parentCommentId, debug });
156
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
157
- }
158
- throw new Error(`Unknown tool: ${toolName}`);
159
- }
160
- catch (err) {
161
- const message = err instanceof Error ? err.message : String(err);
162
- return { content: [{ type: "text", text: message }], isError: true };
163
- }
164
- });
165
- const transport = new StdioServerTransport();
166
- await server.connect(transport);
167
- }
168
- //# sourceMappingURL=mcp-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../lib/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- /**
2
- * PKCE parameters for OAuth 2.0 Authorization Code Flow with PKCE
3
- */
4
- export interface PKCEParams {
5
- codeVerifier: string;
6
- codeChallenge: string;
7
- codeChallengeMethod: "S256";
8
- state: string;
9
- }
10
- /**
11
- * Generate PKCE code verifier
12
- * @returns Random code verifier (43-128 characters)
13
- */
14
- export declare function generateCodeVerifier(): string;
15
- /**
16
- * Generate PKCE code challenge from verifier
17
- * Uses S256 method (SHA256)
18
- * @param verifier - Code verifier string
19
- * @returns Base64URL-encoded SHA256 hash of verifier
20
- */
21
- export declare function generateCodeChallenge(verifier: string): string;
22
- /**
23
- * Generate random state for CSRF protection
24
- * @returns Random state string
25
- */
26
- export declare function generateState(): string;
27
- /**
28
- * Generate complete PKCE parameters
29
- * @returns Object with verifier, challenge, challengeMethod, and state
30
- */
31
- export declare function generatePKCEParams(): PKCEParams;
32
- //# sourceMappingURL=pkce.d.ts.map