bizboost 6.6.2 → 6.6.8

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.
Files changed (48) hide show
  1. package/README.md +75 -0
  2. package/dist/auth/InteractiveLogin.js +1 -1
  3. package/dist/auth/PortalAuthClient.js +1 -1
  4. package/dist/auth/TokenManager.d.ts +1 -14
  5. package/dist/auth/TokenManager.d.ts.map +1 -1
  6. package/dist/auth/TokenManager.js +1 -1
  7. package/dist/auth/TokenManager.js.map +1 -1
  8. package/dist/bin/bluelamp-vscode-base.mjs +1 -1
  9. package/dist/i18n/en.d.ts +5 -0
  10. package/dist/i18n/en.d.ts.map +1 -1
  11. package/dist/i18n/en.js +1 -1
  12. package/dist/i18n/en.js.map +1 -1
  13. package/dist/i18n/ja.d.ts +5 -0
  14. package/dist/i18n/ja.d.ts.map +1 -1
  15. package/dist/i18n/ja.js +1 -1
  16. package/dist/i18n/ja.js.map +1 -1
  17. package/dist/lib/account-mcp/index.cjs +1 -1
  18. package/dist/lib/accountAssurance.d.ts +41 -0
  19. package/dist/lib/accountAssurance.d.ts.map +1 -0
  20. package/dist/lib/accountAssurance.js +1 -0
  21. package/dist/lib/accountAssurance.js.map +1 -0
  22. package/dist/lib/claudeAccount.d.ts +45 -0
  23. package/dist/lib/claudeAccount.d.ts.map +1 -0
  24. package/dist/lib/claudeAccount.js +1 -0
  25. package/dist/lib/claudeAccount.js.map +1 -0
  26. package/dist/lib/claudeOnboardingSeed.d.ts +131 -0
  27. package/dist/lib/claudeOnboardingSeed.d.ts.map +1 -0
  28. package/dist/lib/claudeOnboardingSeed.js +1 -0
  29. package/dist/lib/claudeOnboardingSeed.js.map +1 -0
  30. package/dist/lib/debugRedaction.d.ts +42 -0
  31. package/dist/lib/debugRedaction.d.ts.map +1 -0
  32. package/dist/lib/debugRedaction.js +1 -0
  33. package/dist/lib/debugRedaction.js.map +1 -0
  34. package/dist/lib/headlessLaunch.d.ts +63 -0
  35. package/dist/lib/headlessLaunch.d.ts.map +1 -0
  36. package/dist/lib/headlessLaunch.js +1 -0
  37. package/dist/lib/headlessLaunch.js.map +1 -0
  38. package/dist/lib/mcp-server/index.cjs +1 -1
  39. package/dist/lib/mcp-server/install-package.cjs +1 -0
  40. package/dist/lib/mcp-server/mcp-version-advisor.cjs +1 -1
  41. package/dist/lib/mcp-server/portal-api-client.cjs +1 -1
  42. package/dist/lib/requireFromPackage.cjs +1 -0
  43. package/dist/lib/slotKeywordResolve.d.ts +69 -0
  44. package/dist/lib/slotKeywordResolve.d.ts.map +1 -0
  45. package/dist/lib/slotKeywordResolve.js +1 -0
  46. package/dist/lib/slotKeywordResolve.js.map +1 -0
  47. package/package.json +8 -7
  48. package/verify-release.sh +154 -0
package/README.md CHANGED
@@ -16,6 +16,68 @@ bluelamp42 # slot #42
16
16
  # ...
17
17
  ```
18
18
 
19
+ ## 配布物が難読化されていることについて
20
+
21
+ npm で配布している `bluelamp` の `dist/` は、**意図的に難読化してあります**。中身がそのまま読めないのはビルドの設計であって、隠しごとではありません。以下にその理由と、正規のビルドであることの確かめ方を記します。
22
+
23
+ ### なぜ難読化しているのか
24
+
25
+ - **認証とトークンの取り扱いを守るため。** この CLI は利用者の資格情報とアクセストークンを端末上で扱います。その取り回しを読める形のまま配ると、なりすましやトークンの窃取を試みる側に手順を渡すことになります。
26
+ - **当社の知的資産を守るため。** BlueLamp の価値は積み上げてきた設計そのものにあり、配布物はその一部を含みます。
27
+
28
+ 難読化が掛かるのは配布物 (`dist/`) だけです。**ソースは非公開です。** そのうえで、配布物が当社の CI が出した正規ビルドであることは、第三者の立場で検証できます (下の「正規のビルドであることの確かめ方」)。ビルドの段取りそのものは下の「ビルド出力」の節のとおりです。
29
+
30
+ ### 利用者にとって何が変わらないのか
31
+
32
+ - **機能・挙動は変わりません。** 難読化は publish 用ビルドの最終工程で、実行される処理は tsc が出したものと同じです。
33
+ - **通信先は増えません。** CLI が接続するのは当社ポータルの API と、起動する Claude Code だけです。送信先はコードに固定されており、設定で任意の URL に向け替えることはできません。
34
+ - **第三者の解析サービスへの送信はありません。** テレメトリ / 解析 SDK を同梱していません。当社ポータルとの通信は認証と機能提供のためのものです。
35
+ - **認証トークンは利用者の端末内 (`~/.musuhi/portal-token.enc`) にのみ保存されます。**
36
+
37
+ ### 正規のビルドであることの確かめ方
38
+
39
+ 公開されている tarball が当社の CI が出した正規ビルドであることは、**第三者の立場で検証できます**。署名は cosign の keyless 署名で行い、その記録は公開の透明性ログ (Rekor) に載ります。
40
+
41
+ 🔑 **下の手順 1・2 で参照するのは npm registry と公開 Rekor だけで、当社のサーバーは一切登場しません。** 当社を信用しなくても確かめられる、というのがこの手順の要点です。必要なのは `curl` / `openssl` / `node` だけで、**cosign のインストールは要りません**。
42
+
43
+ **1. registry が配っている tarball を取得し、ハッシュを出す**
44
+
45
+ ```bash
46
+ V=<インストールした版> # npm ls -g bluelamp で確認できます
47
+ curl -sSL "https://registry.npmjs.org/bluelamp/-/bluelamp-$V.tgz" -o "bluelamp-$V.tgz"
48
+ shasum -a 256 "bluelamp-$V.tgz"
49
+ ```
50
+
51
+ **2. そのハッシュで公開透明性ログ (Rekor) を引く**
52
+
53
+ ```bash
54
+ SHA=<手順 1 で出た 64 桁>
55
+ curl -s -X POST -H 'Content-Type: application/json' \
56
+ -d "{\"hash\":\"sha256:$SHA\"}" \
57
+ https://rekor.sigstore.dev/api/v1/index/retrieve
58
+ ```
59
+
60
+ エントリが返れば、その tarball が当社の GitHub Actions によって署名され、公開ログに記録されていることを意味します。
61
+
62
+ **3. さらに厳密に確かめる場合** — 証明書チェーンと署名者の固定まで検証するスクリプトをパッケージに同梱しています。グローバルインストールなら次の 1 行で実行できます (依存は上と同じ `curl` / `openssl` / `node` だけです)。
63
+
64
+ ```bash
65
+ "$(npm root -g)/bluelamp/verify-release.sh" "$V"
66
+ ```
67
+
68
+ ⚠️ **信頼の起点は手順 1・2** — ご自身の手で公開ログを引き、目で読む記録 — の側にあります。検証を代行するスクリプトを配布物に同梱しても、それは信頼の起点にはなりません (改ざんされた tarball は、改ざんされた検証器を同梱することもできるためです)。
69
+
70
+ 📌 署名が付くのは、この README を同梱した版以降のリリースです。それより前の版では手順 2 でエントリが返りませんが、改ざんを意味するものではありません。
71
+
72
+ ### ウイルス対策ソフトが反応した場合
73
+
74
+ 難読化されたコードは、その形からヒューリスティックに検知されることがあります (誤検知)。お使いのウイルス対策製品が `bluelamp` を検知した場合は、下記の窓口から誤検知として報告できます。
75
+
76
+ - **各ウイルス対策ベンダーの窓口一覧**: https://docs.virustotal.com/docs/false-positive-contacts
77
+ VirusTotal 自身は判定を出さず、誤検知は各エンジンのベンダーへ直接報告する形になっています。上記ページに 150 社以上の窓口がまとまっているので、検知した製品の窓口から報告してください。
78
+ - **Microsoft Defender (Windows)**: https://www.microsoft.com/en-us/wdsi/filesubmission
79
+ サインイン不要でファイルを送信でき、誤検知として申告できます。
80
+
19
81
  ## 構成
20
82
 
21
83
  - `src/auth/` — Portal API auth client + token manager + interactive login
@@ -131,3 +193,16 @@ publish 対象は `dist/` + `README.md` のみ (`package.json files` で制限)
131
193
  2. 4.3.4〜6.4.1 が `playwright` / `gmail` 等をキー名だけで無条件 delete していた。利用者が自分で登録した同名 MCP を黙って消しうる。
132
194
 
133
195
  **ルール: 今後 `~/.mcp.json` に触る処理を足す場合は、我々が書いた entry だと確認できるものだけを対象にする** (キー名一致だけで削除しない。他人の設定を消さない)。
196
+
197
+ ## 開発時の注意: ソースツリーから直接動かさない
198
+
199
+ `lib/mcp-server/` は **`dist/` レイアウト前提**です(`require('../../utils/logger')` は
200
+ `dist/lib/mcp-server/` に置かれたときにだけ解決します)。ソースツリーの `lib/` を直接
201
+ 起動すると `MODULE_NOT_FOUND` になり、スロット設定の取得が既定へ degrade します。
202
+
203
+ ```bash
204
+ pnpm run build # dist/ を作ってから
205
+ ```
206
+
207
+ ⛔ require パスの二重化はしません(板 #442 ④)。ソースから動かしたときは、
208
+ エラーメッセージが真因(=ソースツリー直実行)を指します。