cosense-cliに認証解決ラッパーを挟む
前提
mrsekut.iconは個人用と会社用のCosenseアカウントが別々に存在している
code:prompt
以下の2つを読んでまとめてほしい
これら2つのプロジェクトは別のアカウントでログインしてないと読めないが、そこを良い感じに解決していて便利だった
課題
これに乗っかりたいが、上記の複数アカウント問題に対応されてなかった
環境変数で切り替えることは可能だが、
それをいちいちAIに指示するのは面倒だし、
AIもいちいち解釈して切り替えるのは大変だろう
解決
ということで、プロジェクト名で自動で解決する層を入れた
仕組みは非常にシンプルで、cosenseコマンドを実行した際に、
本物のcosenseを実行する前に、ラッパーがトークンを選んで本物に橋渡しさせるだけ
予め、projectとPATの対応をconfigとして用意しておくだけ
code:nix
{ pkgs, cosense-skills, ... }:
let
cosense-cli = pkgs.writeShellApplication {
name = "cosense";
text = ''
export COSENSE_OFFICIAL_CLI="${cosense-skills}/src/cli.ts"
exec bun run ${./router.ts} "$@"
'';
};
in
{
}
なので、公式Skillは何も知らずにcosenseを呼ぶが、内部では良い感じに認証が解決される