bluelamp 6.4.9 → 6.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -1
- package/dist/auth/InteractiveLogin.js +1 -1
- package/dist/auth/PortalAuthClient.js +1 -1
- package/dist/auth/TokenManager.js +1 -1
- package/dist/bin/bluelamp-vscode-base.mjs +1 -1
- package/dist/lib/account-mcp/index.cjs +2 -0
- package/dist/scripts/generate-commands.js +0 -0
- package/dist/scripts/setup-mcps.js +1 -1
- package/package.json +10 -11
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const{Server:Server}=require("@modelcontextprotocol/sdk/server/index.js"),{StdioServerTransport:StdioServerTransport}=require("@modelcontextprotocol/sdk/server/stdio.js"),{CallToolRequestSchema:CallToolRequestSchema,ListToolsRequestSchema:ListToolsRequestSchema}=require("@modelcontextprotocol/sdk/types.js"),{execSync:execSync}=require("child_process"),fs=require("fs"),os=require("os"),path=require("path");let TokenManager=null;try{({TokenManager:TokenManager}=require("../../auth/TokenManager"))}catch{TokenManager=null}const FALLBACK_TOKEN_PATH=path.join(os.homedir(),".musuhi","portal-token.enc"),TOOLS=[{name:"logout",description:"BlueLamp からログアウトします。ローカルの認証トークン(~/.musuhi/portal-token.enc)を削除するだけで、サーバー側のデータには触れません。別アカウントへ切り替えたいときもこれを使います。実行後に bluelamp1〜200 のいずれかを起動し直すとログイン画面が出るので、新しいアカウントでログインしてください。",inputSchema:{type:"object",properties:{}}},{name:"update_cli",description:"BlueLamp CLI を最新版に更新します(npm install -g bluelamp@latest を実行)。更新後は bluelamp1〜200 を起動し直すと新しい版が使われます。",inputSchema:{type:"object",properties:{}}}];function text(e,t){const n={content:[{type:"text",text:e}]};return t&&(n.isError=!0),n}function tail(e,t){return String(e||"").trim().split("\n").slice(-t).join("\n")}async function handleLogout(){try{let e=!1;return TokenManager&&"function"==typeof TokenManager.deleteToken?e=await TokenManager.deleteToken():fs.existsSync(FALLBACK_TOKEN_PATH)&&(fs.unlinkSync(FALLBACK_TOKEN_PATH),e=!0),text(e?"✅ ログアウトしました(ローカルの認証トークンを削除)。\n次に bluelamp1〜200 のいずれかを起動するとログイン画面が出ます。\n別アカウントに切り替えたい場合は、そのまま新しいメール/パスワードでログインしてください。":"ℹ️ すでにログアウト済みです(認証トークンは見つかりませんでした)。")}catch(e){return text(`Error: ログアウトに失敗しました: ${e&&e.message?e.message:e}`,!0)}}function handleUpdateCli(){try{return text("✅ BlueLamp CLI を更新しました(npm install -g bluelamp@latest)。\n次に bluelamp1〜200 を起動し直すと新しい版が使われます。\n\n"+tail(execSync("npm install -g bluelamp@latest",{encoding:"utf8",stdio:["ignore","pipe","pipe"]}),5))}catch(e){return text("Error: CLI 更新に失敗しました。手動で `npm install -g bluelamp@latest` を実行してください。\n"+tail(e&&(e.stderr||e.message)?e.stderr||e.message:String(e),5),!0)}}async function main(){const e=new Server({name:"bluelamp-account",version:"1.0.0"},{capabilities:{tools:{}}});e.setRequestHandler(ListToolsRequestSchema,async()=>({tools:TOOLS})),e.setRequestHandler(CallToolRequestSchema,async e=>{const t=e.params&&e.params.name;return"logout"===t?handleLogout():"update_cli"===t?handleUpdateCli():text(`Error: unknown tool: ${t}`,!0)});const t=new StdioServerTransport;await e.connect(t),console.error("[bluelamp-account] account-mcp connected (logout / update_cli)")}main().catch(e=>{console.error("[bluelamp-account] startup failed:",e&&e.stack?e.stack:e),process.exit(1)});
|
|
File without changes
|