bluelamp 5.3.0 → 6.0.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bluelamp",
3
- "version": "5.3.0",
3
+ "version": "6.0.0",
4
4
  "description": "BlueLamp MCP Server - AI-driven fully automated development environment for Claude Code",
5
5
  "main": "./lib/mcp-server/index.cjs",
6
6
  "bin": {
@@ -240,4 +240,4 @@
240
240
  "type": "git",
241
241
  "url": "https://github.com/yamatovision/mcp-musuhi.git"
242
242
  }
243
- }
243
+ }
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const fs=require("fs"),path=require("path"),os=require("os"),crypto=require("crypto"),MCP_JSON_PATH=path.join(os.homedir(),".mcp.json"),VAULT_DIR=path.join(os.homedir(),".bluelamp"),VAULT_KEY_PATH=path.join(VAULT_DIR,"vault.key"),PASSWORD_MANAGER_DIR=path.join(__dirname,"..","lib","mcp-password-manager"),PASSWORD_MANAGER_ENTRY=path.join(PASSWORD_MANAGER_DIR,"index.js"),GMAIL_MCP_DIR=path.join(__dirname,"..","lib","mcp-gmail"),GMAIL_MCP_ENTRY=path.join(GMAIL_MCP_DIR,"index.js");function setup(){console.log("\n📦 むすひ MCP セットアップ開始...\n");const s=path.join(os.homedir(),".playwright-profiles");if(fs.existsSync(s)||fs.mkdirSync(s,{recursive:!0}),fs.existsSync(VAULT_DIR)||fs.mkdirSync(VAULT_DIR,{recursive:!0,mode:448}),!fs.existsSync(VAULT_KEY_PATH)){const s=crypto.randomBytes(32).toString("hex");fs.writeFileSync(VAULT_KEY_PATH,s,{mode:384}),console.log(" 🔑 暗号化キーを生成しました (~/.bluelamp/vault.key)")}const e=path.join(os.homedir(),".config","gmail-mcp"),o=path.join(e,"tokens");fs.existsSync(o)||fs.mkdirSync(o,{recursive:!0,mode:448});const n=path.join(e,"credentials.json"),i=path.join(__dirname,"..","lib","mcp-gmail","credentials.json");!fs.existsSync(n)&&fs.existsSync(i)&&(fs.copyFileSync(i,n),console.log(" 📧 Gmail OAuth設定をコピーしました"));let r={};if(fs.existsSync(MCP_JSON_PATH))try{r=JSON.parse(fs.readFileSync(MCP_JSON_PATH,"utf8"))}catch{console.error(" ⚠️ ~/.mcp.json の解析に失敗。新規作成します。"),r={}}r.mcpServers||(r.mcpServers={}),r.mcpServers.playwright={command:"npx",args:["@playwright/mcp@latest"],type:"stdio"},console.log(" ✅ Playwright MCP を登録"),fs.existsSync(PASSWORD_MANAGER_ENTRY)?(r.mcpServers["password-manager"]={command:"node",args:[PASSWORD_MANAGER_ENTRY],type:"stdio"},console.log(" ✅ Password Manager MCP を登録")):console.log(" ⏭️ Password Manager MCP: バンドル未検出、スキップ"),fs.existsSync(GMAIL_MCP_ENTRY)?(r.mcpServers.gmail={command:"node",args:[GMAIL_MCP_ENTRY],type:"stdio"},console.log(" ✅ Gmail MCP を登録")):console.log(" ⏭️ Gmail MCP: バンドル未検出、スキップ"),r.mcpServers.ms365={command:"npx",args:["-y","@softeria/ms-365-mcp-server"],type:"stdio"},fs.writeFileSync(MCP_JSON_PATH,JSON.stringify(r,null,2)+"\n"),console.log("\n✨ MCP セットアップ完了"),console.log(" 次回のClaude Code起動時から全MCPが使用可能です"),console.log(" ※ Gmail MCPは初回起動時にGoogleアカウント認証が必要です\n")}setup();
2
+ const fs=require("fs"),path=require("path"),os=require("os"),crypto=require("crypto"),MCP_JSON_PATH=path.join(os.homedir(),".mcp.json"),BLUELAMP_DIR=path.join(os.homedir(),".bluelamp"),REGISTRY_PATH=path.join(BLUELAMP_DIR,"registry.json"),VAULT_KEY_PATH=path.join(BLUELAMP_DIR,"vault.key"),PASSWORD_MANAGER_ENTRY=path.join(__dirname,"..","lib","mcp-password-manager","index.js"),GMAIL_MCP_ENTRY=path.join(__dirname,"..","lib","mcp-gmail","index.js");function setup(){if(console.log("\n📦 BlueLamp MCP セットアップ開始...\n"),fs.existsSync(BLUELAMP_DIR)||fs.mkdirSync(BLUELAMP_DIR,{recursive:!0,mode:448}),!fs.existsSync(VAULT_KEY_PATH)){const e=crypto.randomBytes(32).toString("hex");fs.writeFileSync(VAULT_KEY_PATH,e,{mode:384}),console.log(" 🔑 暗号化キーを生成しました (~/.bluelamp/vault.key)")}const e=path.join(os.homedir(),".config","gmail-mcp"),s=path.join(e,"tokens");fs.existsSync(s)||fs.mkdirSync(s,{recursive:!0,mode:448});const o=path.join(e,"credentials.json"),t=path.join(__dirname,"..","lib","mcp-gmail","credentials.json");!fs.existsSync(o)&&fs.existsSync(t)&&(fs.copyFileSync(t,o),console.log(" 📧 Gmail OAuth設定をコピーしました"));const n=path.join(os.homedir(),".playwright-profiles");fs.existsSync(n)||fs.mkdirSync(n,{recursive:!0});let i={};if(fs.existsSync(REGISTRY_PATH))try{i=JSON.parse(fs.readFileSync(REGISTRY_PATH,"utf-8")),console.log(" 📋 既存registry.jsonを検出、マージします")}catch{console.log(" ⚠️ registry.json解析失敗、新規作成します"),i={}}if(i.playwright={name:"Playwright ブラウザ操作",description:"Webブラウザの自動操作。クリック、入力、スクリーンショット、フォーム送信。",tags:["ブラウザ","browser","自動操作","スクリーンショット","web","クリック"],autoActivate:!0,type:"external",command:"npx",args:["@playwright/mcp@latest"],env:{}},console.log(" ✅ Playwright → registry.json (autoActivate)"),fs.existsSync(PASSWORD_MANAGER_ENTRY)&&(i["password-manager"]={name:"Password Manager",description:"認証情報の暗号化保存・取得。パスワード、APIキー、トークンの安全な管理。",tags:["パスワード","password","認証","暗号化","セキュリティ"],autoActivate:!0,type:"external",command:"node",args:[PASSWORD_MANAGER_ENTRY],env:{}},console.log(" ✅ Password Manager → registry.json (autoActivate)")),fs.existsSync(GMAIL_MCP_ENTRY)&&(i.gmail={name:"Gmail",description:"メール検索・送信・下書き・添付ファイル。2FA確認コード自動取得。",tags:["メール","email","gmail","送信","受信","2FA"],autoActivate:!1,type:"external",command:"node",args:[GMAIL_MCP_ENTRY],env:{}},console.log(" ✅ Gmail → registry.json (オンデマンド)")),i.ms365={name:"Microsoft 365",description:"Outlook メール・カレンダー・OneDrive・Excel連携。",tags:["outlook","メール","カレンダー","onedrive","excel","microsoft"],autoActivate:!1,type:"external",command:"npx",args:["-y","@softeria/ms-365-mcp-server"],env:{}},console.log(" ✅ Microsoft 365 → registry.json (オンデマンド)"),fs.writeFileSync(REGISTRY_PATH,JSON.stringify(i,null,2)+"\n"),console.log(`\n 📋 registry.json 更新完了 (${Object.keys(i).length}サービス)`),fs.existsSync(MCP_JSON_PATH))try{const e=JSON.parse(fs.readFileSync(MCP_JSON_PATH,"utf8"));if(e.mcpServers){const s=["playwright","playwright-2","playwright-3","password-manager","gmail","ms365","poc-gateway"];let o=0;for(const t of s)e.mcpServers[t]&&(delete e.mcpServers[t],o++);o>0&&(fs.writeFileSync(MCP_JSON_PATH,JSON.stringify(e,null,2)+"\n"),console.log(` 🧹 ~/.mcp.json から ${o}個の個別MCP登録を削除`))}}catch{console.log(" ⚠️ ~/.mcp.json のクリーンアップをスキップ")}console.log("\n✨ BlueLamp MCP セットアップ完了"),console.log(" Gateway統合: bluelamp 1プロセスで全MCPをプロキシ"),console.log(" autoActivate: playwright, password-manager"),console.log(" オンデマンド: gmail, ms365(search_mcp → activate_serviceで有効化)\n")}setup();