Here are a few more details and tips:
Copy the jlab launcher-extension plugin to your own directory outside of jupyterlab. The tsconfig file in the launcher-extension directory references the tsconfig file in the root jlab directory: https://github.com/jupyterlab/jupyterlab/blob/2534ac6d96587b8bf21754fc8e5f3d0e134dbf9b/packages/launcher-extension/tsconfig.json#L2 references https://github.com/jupyterlab/jupyterlab/blob/2534ac6d96587b8bf21754fc8e5f3d0e134dbf9b/tsconfigbase.json. So you can copy the base config and change the reference to the new location, or you can manually combine them into a single tsconfig your plugin would use.
As for copying the launcher plugin, you may need to do that depending on how you are customizing the launcher. You’ll probably want to import the token from the launcher plugin and use that, though, rather than making your own token.