@padua/cli 2.0.4 → 2.0.6
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/dist/mcp/daemon/entry-logic.d.ts.map +1 -1
- package/dist/mcp/daemon/entry-logic.js +1 -0
- package/dist/mcp/daemon/entry-logic.js.map +1 -1
- package/dist/mcp/daemon/entry.js +3 -2
- package/dist/mcp/daemon/entry.js.map +1 -1
- package/dist/mcp/token/oauth.d.ts.map +1 -1
- package/dist/mcp/token/oauth.js +18 -5
- package/dist/mcp/token/oauth.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-logic.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/entry-logic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"entry-logic.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/entry-logic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUlE;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAUnD;AAgBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C"}
|
|
@@ -29,6 +29,7 @@ function writeStartupFile(pid, port) {
|
|
|
29
29
|
readyAt: new Date().toISOString(),
|
|
30
30
|
};
|
|
31
31
|
(0, node_fs_1.writeFileSync)(filePath, JSON.stringify(data));
|
|
32
|
+
(0, node_fs_1.chmodSync)(filePath, 0o600);
|
|
32
33
|
return filePath;
|
|
33
34
|
}
|
|
34
35
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-logic.js","sourceRoot":"","sources":["../../../src/mcp/daemon/entry-logic.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAiBH,
|
|
1
|
+
{"version":3,"file":"entry-logic.js","sourceRoot":"","sources":["../../../src/mcp/daemon/entry-logic.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAiBH,4CAUC;AAYD,8CAUC;AAsBD,8CAQC;AA7ED,qCAA+D;AAC/D,yCAAiC;AACjC,qCAA0C;AAG1C,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,GAAW,EAAE,IAAY;IACxD,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,aAAa,GAAG,QAAQ,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAsB;QAC9B,GAAG;QACH,IAAI;QACJ,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAClC,CAAC;IACF,IAAA,uBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAA,mBAAS,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,MAAM,KAAK,GAAG;QACZ,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QAC3C,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,QAAQ,EAAE,eAAe,CAAC;QAC1C,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,aAAa,GAAG,QAAQ,CAAC;KACzC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,cAAc,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,CAAC;QACH,IAAA,oBAAU,EAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;GAKG;AACH,SAAgB,iBAAiB;IAC/B,IAAI,CAAC;QACH,8DAA8D;QAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAyB,CAAC;QAC/F,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
|
package/dist/mcp/daemon/entry.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
const logging_1 = require("../server/logging");
|
|
10
|
+
const server_1 = require("../server/server");
|
|
10
11
|
const entry_logic_1 = require("./entry-logic");
|
|
11
12
|
const port = parseInt(process.env.PADUA_MCP_PORT ?? '8919', 10);
|
|
12
13
|
const bearerToken = process.env.PADUA_MCP_BEARER_TOKEN ?? '';
|
|
@@ -22,10 +23,10 @@ process.on('SIGTERM', () => {
|
|
|
22
23
|
async function main() {
|
|
23
24
|
logger.info('Daemon starting', { pid: process.pid, port });
|
|
24
25
|
const version = (0, entry_logic_1.getPackageVersion)();
|
|
26
|
+
const server = (0, server_1.createMcpServer)({ port, bearerToken, version }, () => ({}));
|
|
27
|
+
await server.start();
|
|
25
28
|
const startupFilePath = (0, entry_logic_1.writeStartupFile)(process.pid, port);
|
|
26
29
|
logger.info('Daemon ready', { port, startupFile: startupFilePath, version });
|
|
27
|
-
// Keep the process alive; signal handlers above manage lifecycle.
|
|
28
|
-
void bearerToken; // consumed via env by the MCP server (server.ts integration)
|
|
29
30
|
}
|
|
30
31
|
main().catch((err) => {
|
|
31
32
|
logger.error('Daemon failed to start', { error: String(err) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../src/mcp/daemon/entry.ts"],"names":[],"mappings":";;AACA;;;;GAIG;;AAEH,+CAAiD;AACjD,+CAAuF;AAEvF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAChE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC;AAC7D,MAAM,MAAM,GAAG,IAAA,sBAAY,GAAE,CAAC;AAE9B,kFAAkF;AAClF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAE/B,sDAAsD;AACtD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACvC,IAAA,+BAAiB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,MAAM,OAAO,GAAG,IAAA,+BAAiB,GAAE,CAAC;IAEpC,MAAM,eAAe,GAAG,IAAA,8BAAgB,EAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../src/mcp/daemon/entry.ts"],"names":[],"mappings":";;AACA;;;;GAIG;;AAEH,+CAAiD;AACjD,6CAAmD;AACnD,+CAAuF;AAEvF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAChE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC;AAC7D,MAAM,MAAM,GAAG,IAAA,sBAAY,GAAE,CAAC;AAE9B,kFAAkF;AAClF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAE/B,sDAAsD;AACtD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACvC,IAAA,+BAAiB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,MAAM,OAAO,GAAG,IAAA,+BAAiB,GAAE,CAAC;IAEpC,MAAM,MAAM,GAAG,IAAA,wBAAe,EAC5B,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAC9B,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CACX,CAAC;IAEF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,MAAM,eAAe,GAAG,IAAA,8BAAgB,EAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/mcp/token/oauth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkBlE;;;GAGG;AACH,wBAAgB,YAAY,IAAI,QAAQ,CAIvC;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB/F;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/mcp/token/oauth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkBlE;;;GAGG;AACH,wBAAgB,YAAY,IAAI,QAAQ,CAIvC;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB/F;AA0FD;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAMD;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,WAAW,EACnB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,WAAW,CAAC,CAsBtB;AAQD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,SAAS,SAAqB,GAC7B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA6E1C;AAMD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAa7C"}
|
package/dist/mcp/token/oauth.js
CHANGED
|
@@ -97,11 +97,18 @@ function postForm(url, params) {
|
|
|
97
97
|
// ---------------------------------------------------------------------------
|
|
98
98
|
// extractOAuthError — safe extraction of error fields from token endpoint
|
|
99
99
|
// ---------------------------------------------------------------------------
|
|
100
|
+
/** Max length for sanitised OAuth error fields to prevent unbounded provider data in errors. */
|
|
101
|
+
const MAX_ERROR_FIELD_LENGTH = 200;
|
|
102
|
+
function sanitizeErrorField(value) {
|
|
103
|
+
if (typeof value !== 'string')
|
|
104
|
+
return '';
|
|
105
|
+
return value.slice(0, MAX_ERROR_FIELD_LENGTH);
|
|
106
|
+
}
|
|
100
107
|
function extractOAuthError(body) {
|
|
101
108
|
try {
|
|
102
109
|
const parsed = JSON.parse(body);
|
|
103
|
-
const error = parsed.error
|
|
104
|
-
const desc = parsed.error_description
|
|
110
|
+
const error = sanitizeErrorField(parsed.error);
|
|
111
|
+
const desc = sanitizeErrorField(parsed.error_description);
|
|
105
112
|
const detail = [error, desc].filter(Boolean).join(' — ');
|
|
106
113
|
return detail || 'Unknown error';
|
|
107
114
|
}
|
|
@@ -194,13 +201,19 @@ function startCallbackServer(port, expectedState, timeoutMs = DEFAULT_TIMEOUT_MS
|
|
|
194
201
|
};
|
|
195
202
|
const server = (0, node_http_1.createServer)((req, res) => {
|
|
196
203
|
const reqUrl = new node_url_1.URL(req.url ?? '/', `http://127.0.0.1:${port}`);
|
|
197
|
-
|
|
198
|
-
|
|
204
|
+
// Only accept requests on /callback paths — reject anything else.
|
|
205
|
+
if (!reqUrl.pathname.startsWith('/callback')) {
|
|
206
|
+
res.writeHead(404, { 'Content-Type': 'text/plain' });
|
|
207
|
+
res.end('Not Found');
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const errorParam = sanitizeErrorField(reqUrl.searchParams.get('error'));
|
|
211
|
+
const errorDescription = sanitizeErrorField(reqUrl.searchParams.get('error_description'));
|
|
199
212
|
const state = reqUrl.searchParams.get('state') ?? '';
|
|
200
213
|
const code = reqUrl.searchParams.get('code');
|
|
201
214
|
if (errorParam) {
|
|
202
215
|
res.writeHead(400, { 'Content-Type': 'text/html' });
|
|
203
|
-
res.end(
|
|
216
|
+
res.end('<html><body><h1>Authentication Error</h1><p>The provider returned an error. Check the CLI output for details.</p></body></html>');
|
|
204
217
|
settle(() => reject(new errors_1.AuthError(`OAuth error: ${errorParam} — ${errorDescription}`, errors_1.ErrorCodes.OAUTH_CALLBACK_ERROR)), server);
|
|
205
218
|
return;
|
|
206
219
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/mcp/token/oauth.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAgCH,oCAIC;AASD,oCAqBC;
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/mcp/token/oauth.ts"],"names":[],"mappings":"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"}
|