code: async def vcx_agent_provision(config: str) -> None:
      
      logger = logging.getLogger(__name__)
  
      if not hasattr(vcx_agent_provision, "cb"):
          logger.debug("vcx_agent_provision: Creating callback")
          vcx_agent_provision.cb = create_cb(CFUNCTYPE(None, c_uint32, c_uint32, c_char_p))
  
      c_config = c_char_p(config.encode('utf-8'))
  
      result = await do_call('vcx_agent_provision_async',
                             c_config,
                             vcx_agent_provision.cb)
  
      logger.debug("vcx_agent_provision completed")
      return result.decode()
docs: Provision an agent in the agency, populate configuration and wallet for this agent.
      Example:
      import json
      enterprise_config = {
          'agency_url': 'http://localhost:8080',
          'agency_did': 'VsKV7grR1BUE29mG2Fm2kX',
          'agency_verkey': "Hezce2UWMZ3wUhVkh2LfKSs8nDzWwzs2Win7EzNN3YaR",
          'wallet_name': 'LIBVCX_SDK_WALLET',
          'agent_seed': '00000000000000000000000001234561',
          'enterprise_seed': '000000000000000000000000Trustee1',
          'wallet_key': '1234'
      }
      vcx_config = await vcx_agent_provision(json.dumps(enterprise_config))
      :param config: JSON configuration
      :return: Configuration for vcx_init call.