@dollhousemcp/mcp-server 2.0.20 → 2.0.21
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/CHANGELOG.md +4 -0
- package/dist/generated/version.d.ts +2 -2
- package/dist/generated/version.js +3 -3
- package/oauth-helper.mjs +18 -18
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Auto-generated file - DO NOT EDIT
|
|
3
3
|
* Generated at build time by scripts/generate-version.js
|
|
4
4
|
*/
|
|
5
|
-
export declare const PACKAGE_VERSION = "2.0.
|
|
6
|
-
export declare const BUILD_TIMESTAMP = "2026-04-
|
|
5
|
+
export declare const PACKAGE_VERSION = "2.0.21";
|
|
6
|
+
export declare const BUILD_TIMESTAMP = "2026-04-16T15:35:15.005Z";
|
|
7
7
|
export declare const BUILD_TYPE: 'npm' | 'git';
|
|
8
8
|
export declare const PACKAGE_NAME = "@dollhousemcp/mcp-server";
|
|
9
9
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Auto-generated file - DO NOT EDIT
|
|
3
3
|
* Generated at build time by scripts/generate-version.js
|
|
4
4
|
*/
|
|
5
|
-
export const PACKAGE_VERSION = '2.0.
|
|
6
|
-
export const BUILD_TIMESTAMP = '2026-04-
|
|
5
|
+
export const PACKAGE_VERSION = '2.0.21';
|
|
6
|
+
export const BUILD_TIMESTAMP = '2026-04-16T15:35:15.005Z';
|
|
7
7
|
export const BUILD_TYPE = 'npm';
|
|
8
8
|
export const PACKAGE_NAME = '@dollhousemcp/mcp-server';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWtCLEtBQUssQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF1dG8tZ2VuZXJhdGVkIGZpbGUgLSBETyBOT1QgRURJVFxuICogR2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUgYnkgc2NyaXB0cy9nZW5lcmF0ZS12ZXJzaW9uLmpzXG4gKi9cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9ICcyLjAuMjEnO1xuZXhwb3J0IGNvbnN0IEJVSUxEX1RJTUVTVEFNUCA9ICcyMDI2LTA0LTE2VDE1OjM1OjE1LjAwNVonO1xuZXhwb3J0IGNvbnN0IEJVSUxEX1RZUEU6ICducG0nIHwgJ2dpdCcgPSAnbnBtJztcbmV4cG9ydCBjb25zdCBQQUNLQUdFX05BTUUgPSAnQGRvbGxob3VzZW1jcC9tY3Atc2VydmVyJztcbiJdfQ==
|
package/oauth-helper.mjs
CHANGED
|
@@ -110,7 +110,7 @@ async function pollGitHub(deviceCode, clientId) {
|
|
|
110
110
|
const data = await response.json();
|
|
111
111
|
return data;
|
|
112
112
|
} catch (error) {
|
|
113
|
-
await log(
|
|
113
|
+
await log('Network error polling GitHub');
|
|
114
114
|
throw error;
|
|
115
115
|
}
|
|
116
116
|
}
|
|
@@ -130,8 +130,8 @@ async function storeToken(token) {
|
|
|
130
130
|
await TokenManager.storeGitHubToken(token);
|
|
131
131
|
await log('Token stored successfully using TokenManager');
|
|
132
132
|
return true;
|
|
133
|
-
} catch
|
|
134
|
-
await log(
|
|
133
|
+
} catch {
|
|
134
|
+
await log('Failed to store token using TokenManager');
|
|
135
135
|
|
|
136
136
|
// Fallback: Write to a temporary file for the MCP server to pick up
|
|
137
137
|
try {
|
|
@@ -154,10 +154,10 @@ async function storeToken(token) {
|
|
|
154
154
|
// Verify file permissions
|
|
155
155
|
await fs.chmod(tempTokenFile, 0o600);
|
|
156
156
|
|
|
157
|
-
await log(
|
|
157
|
+
await log('Token written to fallback file with secure permissions');
|
|
158
158
|
return true;
|
|
159
159
|
} catch (fallbackError) {
|
|
160
|
-
await log(
|
|
160
|
+
await log('Fallback storage also failed');
|
|
161
161
|
throw fallbackError;
|
|
162
162
|
}
|
|
163
163
|
}
|
|
@@ -192,14 +192,14 @@ async function writePidFile() {
|
|
|
192
192
|
await fs.mkdir(pidDir, { recursive: true, mode: 0o700 });
|
|
193
193
|
await fs.writeFile(pidFile, process.pid.toString(), { mode: 0o600 });
|
|
194
194
|
await log(`PID file written: ${pidFile}`);
|
|
195
|
-
} catch
|
|
196
|
-
await log(
|
|
195
|
+
} catch {
|
|
196
|
+
await log('Failed to write PID file');
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
async function main() {
|
|
201
201
|
await log(`[START] OAuth helper started - PID: ${process.pid}`);
|
|
202
|
-
await log(
|
|
202
|
+
await log('[CONFIG] Device code received');
|
|
203
203
|
await log(`[CONFIG] Poll interval: ${pollInterval}s, Expires in: ${expiresIn}s`);
|
|
204
204
|
await log(`[CONFIG] Node version: ${process.version}`);
|
|
205
205
|
await log(`[CONFIG] Platform: ${process.platform}`);
|
|
@@ -278,9 +278,9 @@ async function main() {
|
|
|
278
278
|
process.exit(1);
|
|
279
279
|
|
|
280
280
|
default:
|
|
281
|
-
await log(
|
|
282
|
-
await log(
|
|
283
|
-
console.error(
|
|
281
|
+
await log('OAUTH_HELPER_276: Unknown error from GitHub during device flow polling');
|
|
282
|
+
await log('[ERROR] GitHub returned an unrecognized OAuth polling response');
|
|
283
|
+
console.error('OAUTH_UNKNOWN_RESPONSE: Unknown GitHub OAuth response at line 276');
|
|
284
284
|
}
|
|
285
285
|
} else if (response.access_token) {
|
|
286
286
|
// Success! We got the token
|
|
@@ -309,7 +309,7 @@ async function main() {
|
|
|
309
309
|
consecutiveErrors = 0;
|
|
310
310
|
}
|
|
311
311
|
} catch (error) {
|
|
312
|
-
await log(
|
|
312
|
+
await log('[ERROR] Polling error');
|
|
313
313
|
|
|
314
314
|
// Classify error types
|
|
315
315
|
const isNetworkError = error.message && (
|
|
@@ -333,8 +333,8 @@ async function main() {
|
|
|
333
333
|
}
|
|
334
334
|
} else {
|
|
335
335
|
// Non-network error, likely fatal
|
|
336
|
-
await log(
|
|
337
|
-
console.error(
|
|
336
|
+
await log('OAUTH_HELPER_330: Non-recoverable error');
|
|
337
|
+
console.error('OAUTH_FATAL_ERROR: Non-recoverable error at line 330');
|
|
338
338
|
clearInterval(heartbeatInterval);
|
|
339
339
|
await cleanupPidFile();
|
|
340
340
|
process.exit(1);
|
|
@@ -355,9 +355,9 @@ async function main() {
|
|
|
355
355
|
}
|
|
356
356
|
|
|
357
357
|
// Run the main function
|
|
358
|
-
main().catch(async (
|
|
359
|
-
await log(
|
|
360
|
-
console.error('Fatal error in OAuth helper
|
|
358
|
+
main().catch(async () => {
|
|
359
|
+
await log('Fatal error');
|
|
360
|
+
console.error('Fatal error in OAuth helper');
|
|
361
361
|
await cleanupPidFile();
|
|
362
362
|
process.exit(1);
|
|
363
|
-
});
|
|
363
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dollhousemcp/mcp-server",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.21",
|
|
4
4
|
"description": "DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
package/server.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.DollhouseMCP/mcp-server",
|
|
4
4
|
"title": "DollhouseMCP",
|
|
5
5
|
"description": "OSS to create Personas, Skills, Templates, Agents, and Memories to customize your AI experience.",
|
|
6
|
-
"version": "2.0.
|
|
6
|
+
"version": "2.0.21",
|
|
7
7
|
"homepage": "https://dollhousemcp.com",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
{
|
|
30
30
|
"registryType": "npm",
|
|
31
31
|
"identifier": "@dollhousemcp/mcp-server",
|
|
32
|
-
"version": "2.0.
|
|
32
|
+
"version": "2.0.21",
|
|
33
33
|
"transport": {
|
|
34
34
|
"type": "stdio"
|
|
35
35
|
}
|