@@ -24,69 +24,69 @@ describe('hasSchemaChanged', () => {
2424 } )
2525
2626 it . concurrent ( 'returns false for identical schemas' , ( ) => {
27- const schema = { type : 'object' , properties : { name : { type : 'string' } } }
27+ const schema = { type : 'object' as const , properties : { name : { type : 'string' } } }
2828 expect ( hasSchemaChanged ( schema , { ...schema } ) ) . toBe ( false )
2929 } )
3030
3131 it . concurrent ( 'returns false when only description differs' , ( ) => {
3232 const stored = {
33- type : 'object' ,
33+ type : 'object' as const ,
3434 properties : { name : { type : 'string' } } ,
3535 description : 'Old description' ,
3636 }
3737 const server = {
38- type : 'object' ,
38+ type : 'object' as const ,
3939 properties : { name : { type : 'string' } } ,
4040 description : 'New description' ,
4141 }
4242 expect ( hasSchemaChanged ( stored , server ) ) . toBe ( false )
4343 } )
4444
45- it . concurrent ( 'returns true when type differs' , ( ) => {
46- const stored = { type : 'object' , properties : { } }
47- const server = { type : 'array' , properties : { } }
48- expect ( hasSchemaChanged ( stored , server ) ) . toBe ( true )
49- } )
50-
5145 it . concurrent ( 'returns true when properties differ' , ( ) => {
52- const stored = { type : 'object' , properties : { name : { type : 'string' } } }
53- const server = { type : 'object' , properties : { id : { type : 'number' } } }
46+ const stored = { type : 'object' as const , properties : { name : { type : 'string' } } }
47+ const server = { type : 'object' as const , properties : { id : { type : 'number' } } }
5448 expect ( hasSchemaChanged ( stored , server ) ) . toBe ( true )
5549 } )
5650
5751 it . concurrent ( 'returns true when required fields differ' , ( ) => {
58- const stored = { type : 'object' , properties : { } , required : [ 'name' ] }
59- const server = { type : 'object' , properties : { } , required : [ 'id' ] }
52+ const stored = { type : 'object' as const , properties : { } , required : [ 'name' ] }
53+ const server = { type : 'object' as const , properties : { } , required : [ 'id' ] }
6054 expect ( hasSchemaChanged ( stored , server ) ) . toBe ( true )
6155 } )
6256
6357 it . concurrent ( 'returns false for deep equal schemas with different key order' , ( ) => {
64- const stored = { type : 'object' , properties : { a : 1 , b : 2 } }
65- const server = { properties : { b : 2 , a : 1 } , type : 'object' }
58+ const stored = { type : 'object' as const , properties : { a : 1 , b : 2 } }
59+ const server = { properties : { b : 2 , a : 1 } , type : 'object' as const }
6660 expect ( hasSchemaChanged ( stored , server ) ) . toBe ( false )
6761 } )
6862
6963 it . concurrent ( 'returns true when nested properties differ' , ( ) => {
7064 const stored = {
71- type : 'object' ,
65+ type : 'object' as const ,
7266 properties : { config : { type : 'object' , properties : { enabled : { type : 'boolean' } } } } ,
7367 }
7468 const server = {
75- type : 'object' ,
69+ type : 'object' as const ,
7670 properties : { config : { type : 'object' , properties : { enabled : { type : 'string' } } } } ,
7771 }
7872 expect ( hasSchemaChanged ( stored , server ) ) . toBe ( true )
7973 } )
8074
8175 it . concurrent ( 'returns true when additional properties setting differs' , ( ) => {
82- const stored = { type : 'object' , additionalProperties : true }
83- const server = { type : 'object' , additionalProperties : false }
76+ const stored = { type : 'object' as const , additionalProperties : true }
77+ const server = { type : 'object' as const , additionalProperties : false }
8478 expect ( hasSchemaChanged ( stored , server ) ) . toBe ( true )
8579 } )
8680
8781 it . concurrent ( 'ignores description at property level' , ( ) => {
88- const stored = { type : 'object' , properties : { name : { type : 'string' , description : 'Old' } } }
89- const server = { type : 'object' , properties : { name : { type : 'string' , description : 'New' } } }
82+ const stored = {
83+ type : 'object' as const ,
84+ properties : { name : { type : 'string' , description : 'Old' } } ,
85+ }
86+ const server = {
87+ type : 'object' as const ,
88+ properties : { name : { type : 'string' , description : 'New' } } ,
89+ }
9090 // Only top-level description is ignored, not nested ones
9191 expect ( hasSchemaChanged ( stored , server ) ) . toBe ( true )
9292 } )
@@ -298,7 +298,7 @@ describe('getMcpToolIssue', () => {
298298 } )
299299
300300 it . concurrent ( 'returns null when schemas match exactly' , ( ) => {
301- const schema = { type : 'object' , properties : { name : { type : 'string' } } }
301+ const schema = { type : 'object' as const , properties : { name : { type : 'string' } } }
302302 const storedTool = createStoredTool ( { schema } )
303303 const servers = [ createServerState ( ) ]
304304 const tools = [ createDiscoveredTool ( { inputSchema : schema } ) ]
0 commit comments