bluelamp 6.0.2 → 6.2.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": "6.0.2",
3
+ "version": "6.2.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": {
@@ -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"),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"),n=path.join(__dirname,"..","lib","mcp-gmail","credentials.json");!fs.existsSync(o)&&fs.existsSync(n)&&(fs.copyFileSync(n,o),console.log(" 📧 Gmail OAuth設定をコピーしました"));const t=path.join(os.homedir(),".playwright-profiles");fs.existsSync(t)||fs.mkdirSync(t,{recursive:!0});let a={};if(fs.existsSync(REGISTRY_PATH))try{a=JSON.parse(fs.readFileSync(REGISTRY_PATH,"utf-8")),console.log(" 📋 既存registry.jsonを検出、マージします")}catch{console.log(" ⚠️ registry.json解析失敗、新規作成します"),a={}}a.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)&&(a["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)&&(a.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 (オンデマンド)")),fs.writeFileSync(REGISTRY_PATH,JSON.stringify(a,null,2)+"\n"),console.log(`\n 📋 registry.json 更新完了 (${Object.keys(a).length}サービス)`);let r={mcpServers:{}};if(fs.existsSync(MCP_JSON_PATH))try{r=JSON.parse(fs.readFileSync(MCP_JSON_PATH,"utf8")),r.mcpServers||(r.mcpServers={})}catch{console.log(" ⚠️ ~/.mcp.json 解析失敗、再作成します"),r={mcpServers:{}}}const i=["playwright","playwright-2","playwright-3","password-manager","gmail","ms365","poc-gateway"];let l=0;for(const e of i)r.mcpServers[e]&&(delete r.mcpServers[e],l++);l>0&&console.log(` 🧹 ~/.mcp.json から ${l}個の個別MCP登録を削除`),r.mcpServers.bluelamp||(r.mcpServers.bluelamp={command:"bluelamp1",args:[]},console.log(" 🚀 bluelamp ゲートウェイを ~/.mcp.json に登録")),fs.writeFileSync(MCP_JSON_PATH,JSON.stringify(r,null,2)+"\n"),console.log(" ✅ ~/.mcp.json 更新完了"),console.log("\n✨ BlueLamp MCP セットアップ完了"),console.log(" Gateway統合: bluelamp 1プロセスで全MCPをプロキシ"),console.log(" autoActivate: playwright, password-manager"),console.log(" オンデマンド: gmail(search_mcp → activate_serviceで有効化)\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"),n=path.join(__dirname,"..","lib","mcp-gmail","credentials.json");!fs.existsSync(o)&&fs.existsSync(n)&&(fs.copyFileSync(n,o),console.log(" 📧 Gmail OAuth設定をコピーしました"));const r=path.join(os.homedir(),".playwright-profiles");fs.existsSync(r)||fs.mkdirSync(r,{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={}}fs.writeFileSync(REGISTRY_PATH,JSON.stringify(i,null,2)+"\n"),console.log(`\n 📋 registry.json 更新完了 (${Object.keys(i).length}サービス)`);let l={mcpServers:{}};if(fs.existsSync(MCP_JSON_PATH))try{l=JSON.parse(fs.readFileSync(MCP_JSON_PATH,"utf8")),l.mcpServers||(l.mcpServers={})}catch{console.log(" ⚠️ ~/.mcp.json 解析失敗、再作成します"),l={mcpServers:{}}}const c=["playwright","playwright-2","playwright-3","password-manager","gmail","ms365","poc-gateway"];let t=0;for(const e of c)l.mcpServers[e]&&(delete l.mcpServers[e],t++);t>0&&console.log(` 🧹 ~/.mcp.json から ${t}個の個別MCP登録を削除`),l.mcpServers.bluelamp||(l.mcpServers.bluelamp={command:"bluelamp1",args:[]},console.log(" 🚀 bluelamp ゲートウェイを ~/.mcp.json に登録")),fs.writeFileSync(MCP_JSON_PATH,JSON.stringify(l,null,2)+"\n"),console.log(" ✅ ~/.mcp.json 更新完了"),console.log("\n✨ BlueLamp MCP セットアップ完了"),console.log(" Gateway統合: bluelamp 1プロセスで全MCPをプロキシ"),console.log(" MCPのインストール: install_from_store + @BlueLampセットアップ で登録してください\n")}setup();