diff --git a/package.json b/package.json index 548ac820..9875fbde 100644 --- a/package.json +++ b/package.json @@ -31,8 +31,8 @@ "posttest": "yarn lint", "prepack": "yarn build && oclif readme --multi", "pretest": "yarn format:check", - "test": "mocha test/*.ts \"src/**/*.test.ts\" && yarn workspace @devcycle/mcp-worker test", - "test:ci": "mocha --forbid-only test/*.ts \"src/**/*.test.ts\" && yarn workspace @devcycle/mcp-worker test", + "test": "mocha -r ts-node/register test/*.ts \"src/**/*.test.ts\" && yarn workspace @devcycle/mcp-worker test", + "test:ci": "mocha --forbid-only -r ts-node/register test/*.ts \"src/**/*.test.ts\" && yarn workspace @devcycle/mcp-worker test", "test:update-snapshots": "UPDATE_SNAPSHOT=1 yarn test", "version": "oclif readme --multi && git add README.md" }, diff --git a/src/mcp/tools/selfTargetingTools.ts b/src/mcp/tools/selfTargetingTools.ts index 03490da9..6e21c56e 100644 --- a/src/mcp/tools/selfTargetingTools.ts +++ b/src/mcp/tools/selfTargetingTools.ts @@ -54,7 +54,11 @@ export async function updateSelfTargetingIdentityHandler( return await handleZodiosValidationErrors( () => updateUserProfile(authToken, projectKey, { - dvcUserId: args.dvc_user_id, + dvcUserId: + typeof args.dvc_user_id === 'string' && + args.dvc_user_id.trim() === '' + ? null + : args.dvc_user_id, }), 'updateUserProfile', ) diff --git a/src/mcp/types.ts b/src/mcp/types.ts index f670aca5..23c95fda 100644 --- a/src/mcp/types.ts +++ b/src/mcp/types.ts @@ -402,7 +402,6 @@ export const UpdateFeatureStatusArgsSchema = z.object({ export const UpdateSelfTargetingIdentityArgsSchema = z.object({ dvc_user_id: z .string() - .nullable() .describe( 'DevCycle User ID for self-targeting (use null or empty string to clear)', ), diff --git a/src/mcp/utils/api.test.ts b/src/mcp/utils/api.test.ts index 1b343180..d853b1c9 100644 --- a/src/mcp/utils/api.test.ts +++ b/src/mcp/utils/api.test.ts @@ -34,12 +34,11 @@ describe('DevCycleApiClient', () => { // Create a proper mock Zodios error with data property class ZodiosValidationError extends Error { - constructor( - message: string, - public data: any, - ) { + public data: unknown + constructor(message: string, data: unknown) { super(message) this.name = 'ZodiosValidationError' + this.data = data } }