@bluelamp/cli-token 1.1.0 → 1.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/README.md CHANGED
@@ -28,6 +28,7 @@ const maybe = tryReadCliToken();
28
28
  | core(I/O なし) | `encryptPayload` / `decryptPayload` / `extractToken` / `validateTokenFormat` |
29
29
  | shell(I/O あり) | `getTokenFilePath` / `readCliTokenSync` / `tryReadCliToken` / `loadPortalToken` / `savePortalToken` / `deletePortalToken` |
30
30
  | 艦隊の資格の門(1.1.0・n=2607) | `checkFleetGate` / `isAllowedForScope` / `getFleetEntitlementFilePath` / `getFleetGateLogPath` / `formatFleetGateLogLine` / `fleetGateRefusalMessage` / `parseFleetEntitlementCache` / `isFleetEntitlementFresh` |
31
+ | 交換済み JWT の機体共有キャッシュ(1.2.0・n=2774) | `getExchangedJwt` / `evictExchangedJwt` / `exchangedJwtCacheKey` / `getExchangedJwtCacheDir` / `parseCachedExchangedJwt` / `isCachedExchangedJwtUsable` |
31
32
 
32
33
  ### 艦隊の資格の門(`checkFleetGate`)
33
34
 
@@ -41,6 +42,17 @@ const maybe = tryReadCliToken();
41
42
  - `scope`(既定 `"fleet"`): `fleet`=cancelled なら止める(orchestrator・scheduler)。`member`=cancelled でも理由が `no_seat`・`rank_below_min` なら止めない(routine=初伝にも配る。席が丸ごと落ちた・退会・期限切れの時だけ止める)。キャッシュと口は 1 つのまま
42
43
  - throw しない。止めた時の文面は `fleetGateRefusalMessage(reason)`(固定)
43
44
 
45
+ ### 交換済み JWT の機体共有キャッシュ(`getExchangedJwt`)
46
+
47
+ 艦隊の手足(monster-orchestrator・scheduler・routine)が `POST {bluelamp}/auth/exchange` で取る 10 分の JWT を、**期限まで機体で共有**する。
48
+ 以前はプロセスのメモリにだけ持っていたので、発火のたびに立つ fire.js は毎回 exchange し、毎時 :00 に揃っていた(2026-10-09 実測 636 件・p50 6.3 秒)。
49
+
50
+ - 置き場 `~/.bluelamp/jwt-cache/<鍵>.json`(ファイル 600・ディレクトリ 700。`BLUELAMP_JWT_CACHE_DIR` で差し替え=消費側のテスト用)。自分だけが読めるファイルしか信じない
51
+ - 鍵は「口・mcp_id・scope の組・CLI トークンの指紋」の sha256。JWT は `bl:mcp_id` を持つので MCP をまたいで共有しない。CLI トークンはファイルに書かない
52
+ - 取り直すのは期限の 60 秒前から。同時に切れた N プロセスは `<鍵>.json.lock`(`O_EXCL`)を取った 1 本だけが撃ち、他はファイルを待つ(既定 5 秒・過ぎたら自分で撃つ)。30 秒より古いロックは持ち主が死んだと読んで払う
53
+ - 受け手が 401 を返したら `evictExchangedJwt(key, 拒まれた JWT)` → もう一度 `getExchangedJwt`(中身が同じ JWT のときだけ消す)
54
+ - キャッシュの不調(読めない・書けない・ロックが取れない)は exchange に倒す。exchange の失敗だけは throw のまま返す
55
+
44
56
  ## 制約
45
57
 
46
58
  - **node 標準モジュール以外に依存しない**(VSCode 拡張が webpack で bundle するため)。
package/dist/cjs/index.js CHANGED
@@ -46,7 +46,7 @@ var __importStar = (this && this.__importStar) || (function () {
46
46
  };
47
47
  })();
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.FLEET_GATE_LOG_MAX_BYTES = exports.FLEET_ENTITLEMENT_MAX_TTL_SEC = exports.MEMBER_SCOPE_ALLOWED_REASONS = exports.CliTokenNotFoundError = void 0;
49
+ exports.EXCHANGED_JWT_LOCK_STALE_MS = exports.EXCHANGED_JWT_LOCK_WAIT_MS = exports.EXCHANGED_JWT_REFRESH_BUFFER_MS = exports.FLEET_GATE_LOG_MAX_BYTES = exports.FLEET_ENTITLEMENT_MAX_TTL_SEC = exports.MEMBER_SCOPE_ALLOWED_REASONS = exports.CliTokenNotFoundError = void 0;
50
50
  exports.getTokenFilePath = getTokenFilePath;
51
51
  exports.getPinnedTenantFilePath = getPinnedTenantFilePath;
52
52
  exports.encryptPayload = encryptPayload;
@@ -67,6 +67,12 @@ exports.fleetGateRefusalMessage = fleetGateRefusalMessage;
67
67
  exports.parseFleetEntitlementCache = parseFleetEntitlementCache;
68
68
  exports.isFleetEntitlementFresh = isFleetEntitlementFresh;
69
69
  exports.checkFleetGate = checkFleetGate;
70
+ exports.getExchangedJwtCacheDir = getExchangedJwtCacheDir;
71
+ exports.exchangedJwtCacheKey = exchangedJwtCacheKey;
72
+ exports.parseCachedExchangedJwt = parseCachedExchangedJwt;
73
+ exports.isCachedExchangedJwtUsable = isCachedExchangedJwtUsable;
74
+ exports.getExchangedJwt = getExchangedJwt;
75
+ exports.evictExchangedJwt = evictExchangedJwt;
70
76
  const node_crypto_1 = require("node:crypto");
71
77
  const fs = __importStar(require("node:fs"));
72
78
  const os = __importStar(require("node:os"));
@@ -413,4 +419,161 @@ async function decideFleetGate(options) {
413
419
  });
414
420
  return { allowed: isAllowedForScope(asked.status, asked.reason, scope), status: asked.status, reason: asked.reason, from: 'network' };
415
421
  }
422
+ /** 期限の何 ms 前から取り直すか(既定)。10 分の札で 9 分は使い回す */
423
+ exports.EXCHANGED_JWT_REFRESH_BUFFER_MS = 60_000;
424
+ /** 他のプロセスが取り直している間に待つ上限(既定)。過ぎたら自分で取る(fail-open) */
425
+ exports.EXCHANGED_JWT_LOCK_WAIT_MS = 5_000;
426
+ /** ロックがこれより古ければ持ち主は死んだと読む(exchange の打ち切りより長く取る) */
427
+ exports.EXCHANGED_JWT_LOCK_STALE_MS = 30_000;
428
+ const LOCK_POLL_MS = 100;
429
+ /**
430
+ * 置き場。`BLUELAMP_JWT_CACHE_DIR` が在ればそこ(消費側のテストが実機の置き場を触らないため)、無ければ
431
+ * `~/.bluelamp/jwt-cache`。テストで HOME を差し替えられるよう呼び出し時に解決する
432
+ */
433
+ function getExchangedJwtCacheDir() {
434
+ return process.env.BLUELAMP_JWT_CACHE_DIR || path.join(os.homedir(), '.bluelamp', 'jwt-cache');
435
+ }
436
+ /** 鍵(純関数)。sha256 の 16 進 64 文字=そのままファイル名に使える */
437
+ function exchangedJwtCacheKey(k) {
438
+ const fingerprint = (0, node_crypto_1.createHash)('sha256').update(k.cliToken).digest('hex');
439
+ const material = JSON.stringify([k.baseUrl.replace(/\/+$/, ''), k.mcpId, [...k.scopes].sort(), fingerprint]);
440
+ return (0, node_crypto_1.createHash)('sha256').update(material).digest('hex');
441
+ }
442
+ /** キャッシュの中身を検める(純関数)。形が違えば null=キャッシュ無しと同じ */
443
+ function parseCachedExchangedJwt(raw) {
444
+ let v;
445
+ try {
446
+ v = JSON.parse(raw);
447
+ }
448
+ catch {
449
+ return null;
450
+ }
451
+ const o = v;
452
+ if (!o || typeof o.token !== 'string' || o.token.length === 0)
453
+ return null;
454
+ if (typeof o.expiresAt !== 'number' || !Number.isFinite(o.expiresAt))
455
+ return null;
456
+ return { token: o.token, expiresAt: o.expiresAt };
457
+ }
458
+ /** まだ使ってよいか(純関数)。期限の bufferMs 前を過ぎたら使わない */
459
+ function isCachedExchangedJwtUsable(c, nowMs, bufferMs) {
460
+ return nowMs < c.expiresAt - bufferMs;
461
+ }
462
+ function cacheFilePath(dir, key) {
463
+ return path.join(dir, `${exchangedJwtCacheKey(key)}.json`);
464
+ }
465
+ /** 読む。自分だけが読める(group/other のビットが立っていない)ファイルしか信じない */
466
+ function readCachedJwt(file) {
467
+ try {
468
+ const st = fs.statSync(file);
469
+ if ((st.mode & 0o077) !== 0)
470
+ return null;
471
+ if (typeof process.getuid === 'function' && st.uid !== process.getuid())
472
+ return null;
473
+ return parseCachedExchangedJwt(fs.readFileSync(file, 'utf8'));
474
+ }
475
+ catch {
476
+ return null;
477
+ }
478
+ }
479
+ function writeCachedJwt(file, c) {
480
+ try {
481
+ fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
482
+ const tmp = `${file}.${process.pid}.${(0, node_crypto_1.randomBytes)(4).toString('hex')}.tmp`;
483
+ fs.writeFileSync(tmp, JSON.stringify(c) + '\n', { mode: 0o600 });
484
+ fs.chmodSync(tmp, 0o600); // umask に依らず 600
485
+ fs.renameSync(tmp, file);
486
+ }
487
+ catch {
488
+ // 書けなくても今回の JWT は返す(次のプロセスがもう 1 回取るだけ)
489
+ }
490
+ }
491
+ /** ロックを取る。取れたら true。古いロック(持ち主が死んだ)は 1 回だけ払って取り直す */
492
+ function tryLock(lockFile, nowMs) {
493
+ for (let attempt = 0; attempt < 2; attempt++) {
494
+ try {
495
+ fs.mkdirSync(path.dirname(lockFile), { recursive: true, mode: 0o700 });
496
+ fs.closeSync(fs.openSync(lockFile, 'wx', 0o600));
497
+ return true;
498
+ }
499
+ catch (e) {
500
+ if (e.code !== 'EEXIST')
501
+ return false;
502
+ try {
503
+ if (nowMs - fs.statSync(lockFile).mtimeMs <= exports.EXCHANGED_JWT_LOCK_STALE_MS)
504
+ return false;
505
+ fs.unlinkSync(lockFile);
506
+ }
507
+ catch {
508
+ return false;
509
+ }
510
+ }
511
+ }
512
+ return false;
513
+ }
514
+ function unlock(lockFile) {
515
+ try {
516
+ fs.unlinkSync(lockFile);
517
+ }
518
+ catch {
519
+ // 消えていても構わない
520
+ }
521
+ }
522
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
523
+ /**
524
+ * 機体で共有する JWT を返す。使える JWT がファイルに在れば口に出ない。
525
+ * 無い/切れかけなら、ロックを取った 1 プロセスだけが exchange して書く。他はその間ファイルを待つ
526
+ * (lockWaitMs を過ぎたら自分で取る)。exchange の失敗は throw のまま返す。
527
+ */
528
+ async function getExchangedJwt(options) {
529
+ const now = options.now ?? Date.now;
530
+ const bufferMs = options.refreshBufferMs ?? exports.EXCHANGED_JWT_REFRESH_BUFFER_MS;
531
+ const file = cacheFilePath(options.cacheDir ?? getExchangedJwtCacheDir(), options.key);
532
+ const usable = () => {
533
+ const c = readCachedJwt(file);
534
+ return c && isCachedExchangedJwtUsable(c, now(), bufferMs) ? c.token : null;
535
+ };
536
+ const hit = usable();
537
+ if (hit)
538
+ return hit;
539
+ const lockFile = `${file}.lock`;
540
+ const waitUntil = now() + Math.max(0, options.lockWaitMs ?? exports.EXCHANGED_JWT_LOCK_WAIT_MS);
541
+ let locked = tryLock(lockFile, now());
542
+ while (!locked && now() < waitUntil) {
543
+ await sleep(LOCK_POLL_MS);
544
+ const fresh = usable();
545
+ if (fresh)
546
+ return fresh;
547
+ locked = tryLock(lockFile, now());
548
+ }
549
+ try {
550
+ if (locked) {
551
+ // ロックを待っている間に他のプロセスが書いたかもしれない
552
+ const fresh = usable();
553
+ if (fresh)
554
+ return fresh;
555
+ }
556
+ const got = await options.exchange();
557
+ writeCachedJwt(file, { token: got.token, expiresAt: now() + got.expiresInSec * 1000 });
558
+ return got.token;
559
+ }
560
+ finally {
561
+ if (locked)
562
+ unlock(lockFile);
563
+ }
564
+ }
565
+ /**
566
+ * 受け手に拒まれた(401)JWT を捨てる。ファイルの中身が `rejectedToken` のときだけ消す
567
+ * (その間に他のプロセスが書いた新しい JWT は消さない)。throw しない。
568
+ */
569
+ function evictExchangedJwt(key, rejectedToken, cacheDir = getExchangedJwtCacheDir()) {
570
+ const file = cacheFilePath(cacheDir, key);
571
+ try {
572
+ if (parseCachedExchangedJwt(fs.readFileSync(file, 'utf8'))?.token === rejectedToken)
573
+ fs.unlinkSync(file);
574
+ }
575
+ catch {
576
+ // 無ければ何もしない
577
+ }
578
+ }
416
579
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -160,4 +160,65 @@ export declare function isFleetEntitlementFresh(cache: FleetEntitlementCache, no
160
160
  * active/cancelled が返れば書いて答える。それ以外は前回の答え(無ければ通す)。
161
161
  */
162
162
  export declare function checkFleetGate(options?: FleetGateOptions): Promise<FleetGateResult>;
163
+ /** キャッシュの鍵の材料(どれか 1 つ違えば別の JWT) */
164
+ export interface ExchangedJwtKey {
165
+ /** `/api/bluelamp` まで含む口(BLUELAMP_PORTAL_API_BASE_URL か既定) */
166
+ baseUrl: string;
167
+ mcpId: string;
168
+ scopes: readonly string[];
169
+ /** CLI トークン。指紋(sha256)にしてから鍵に混ぜる=ファイルには残らない */
170
+ cliToken: string;
171
+ }
172
+ /** キャッシュ 1 ファイルの形 */
173
+ export interface CachedExchangedJwt {
174
+ token: string;
175
+ /** 期限(epoch ms) */
176
+ expiresAt: number;
177
+ }
178
+ /** exchange の返り(呼び出し側が口を撃って作る) */
179
+ export interface ExchangedJwt {
180
+ token: string;
181
+ expiresInSec: number;
182
+ }
183
+ /** 期限の何 ms 前から取り直すか(既定)。10 分の札で 9 分は使い回す */
184
+ export declare const EXCHANGED_JWT_REFRESH_BUFFER_MS = 60000;
185
+ /** 他のプロセスが取り直している間に待つ上限(既定)。過ぎたら自分で取る(fail-open) */
186
+ export declare const EXCHANGED_JWT_LOCK_WAIT_MS = 5000;
187
+ /** ロックがこれより古ければ持ち主は死んだと読む(exchange の打ち切りより長く取る) */
188
+ export declare const EXCHANGED_JWT_LOCK_STALE_MS = 30000;
189
+ /**
190
+ * 置き場。`BLUELAMP_JWT_CACHE_DIR` が在ればそこ(消費側のテストが実機の置き場を触らないため)、無ければ
191
+ * `~/.bluelamp/jwt-cache`。テストで HOME を差し替えられるよう呼び出し時に解決する
192
+ */
193
+ export declare function getExchangedJwtCacheDir(): string;
194
+ /** 鍵(純関数)。sha256 の 16 進 64 文字=そのままファイル名に使える */
195
+ export declare function exchangedJwtCacheKey(k: ExchangedJwtKey): string;
196
+ /** キャッシュの中身を検める(純関数)。形が違えば null=キャッシュ無しと同じ */
197
+ export declare function parseCachedExchangedJwt(raw: string): CachedExchangedJwt | null;
198
+ /** まだ使ってよいか(純関数)。期限の bufferMs 前を過ぎたら使わない */
199
+ export declare function isCachedExchangedJwtUsable(c: CachedExchangedJwt, nowMs: number, bufferMs: number): boolean;
200
+ export interface GetExchangedJwtOptions {
201
+ key: ExchangedJwtKey;
202
+ /** 口を 1 回撃って JWT を得る。失敗は throw(そのまま呼び出し側へ返る) */
203
+ exchange: () => Promise<ExchangedJwt>;
204
+ /** 既定 Date.now */
205
+ now?: () => number;
206
+ /** 既定 getExchangedJwtCacheDir() */
207
+ cacheDir?: string;
208
+ /** 既定 EXCHANGED_JWT_REFRESH_BUFFER_MS */
209
+ refreshBufferMs?: number;
210
+ /** 既定 EXCHANGED_JWT_LOCK_WAIT_MS。呼び出し側に期限があるなら、その残りより短く渡す */
211
+ lockWaitMs?: number;
212
+ }
213
+ /**
214
+ * 機体で共有する JWT を返す。使える JWT がファイルに在れば口に出ない。
215
+ * 無い/切れかけなら、ロックを取った 1 プロセスだけが exchange して書く。他はその間ファイルを待つ
216
+ * (lockWaitMs を過ぎたら自分で取る)。exchange の失敗は throw のまま返す。
217
+ */
218
+ export declare function getExchangedJwt(options: GetExchangedJwtOptions): Promise<string>;
219
+ /**
220
+ * 受け手に拒まれた(401)JWT を捨てる。ファイルの中身が `rejectedToken` のときだけ消す
221
+ * (その間に他のプロセスが書いた新しい JWT は消さない)。throw しない。
222
+ */
223
+ export declare function evictExchangedJwt(key: ExchangedJwtKey, rejectedToken: string, cacheDir?: string): void;
163
224
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH,wDAAwD;AACxD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,MAAM,CAAC,EAAE,MAAM;CAQ5B;AAQD,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOjE;AAED,qBAAqB;AACrB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEnE;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAuBzC;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAM/C;AAED,oDAAoD;AACpD,wBAAgB,eAAe,IAAI,eAAe,GAAG,IAAI,CAUxD;AAED,yCAAyC;AACzC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAmB,GAAG,IAAI,CAiBlF;AAED,+CAA+C;AAC/C,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,GAAG,IAAI,CAgB3D;AAcD,mCAAmC;AACnC,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAExE,sDAAsD;AACtD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,2FAA2F;IAC3F,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,qEAAqE;IACrE,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;CAC9C;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD,mFAAmF;AACnF,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAAkC,CAAC;AAE7F,yCAAyC;AACzC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAGvH;AAED,qCAAqC;AACrC,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElF,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,wDAAwD;IACxD,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kBAAkB;IAClB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0DAA0D;AAC1D,eAAO,MAAM,6BAA6B,QAAS,CAAC;AAKpD,+CAA+C;AAC/C,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,yCAAyC;AACzC,eAAO,MAAM,wBAAwB,UAAY,CAAC;AAElD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,CAEhG;AAoBD,0CAA0C;AAC1C,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAErE;AAED,8CAA8C;AAC9C,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAiBpF;AAED,2CAA2C;AAC3C,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAI5F;AAmDD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAS7F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -11,7 +11,7 @@
11
11
  * - 失敗の返し方は消費側で分かれていたので、throw 版(readCliTokenSync)と
12
12
  * null 版(tryReadCliToken)の両方を出す。片方に寄せると挙動が変わる。
13
13
  */
14
- import { createCipheriv, createDecipheriv, randomBytes, scryptSync } from 'node:crypto';
14
+ import { createCipheriv, createDecipheriv, createHash, randomBytes, scryptSync } from 'node:crypto';
15
15
  import * as fs from 'node:fs';
16
16
  import * as os from 'node:os';
17
17
  import * as path from 'node:path';
@@ -356,4 +356,161 @@ async function decideFleetGate(options) {
356
356
  });
357
357
  return { allowed: isAllowedForScope(asked.status, asked.reason, scope), status: asked.status, reason: asked.reason, from: 'network' };
358
358
  }
359
+ /** 期限の何 ms 前から取り直すか(既定)。10 分の札で 9 分は使い回す */
360
+ export const EXCHANGED_JWT_REFRESH_BUFFER_MS = 60_000;
361
+ /** 他のプロセスが取り直している間に待つ上限(既定)。過ぎたら自分で取る(fail-open) */
362
+ export const EXCHANGED_JWT_LOCK_WAIT_MS = 5_000;
363
+ /** ロックがこれより古ければ持ち主は死んだと読む(exchange の打ち切りより長く取る) */
364
+ export const EXCHANGED_JWT_LOCK_STALE_MS = 30_000;
365
+ const LOCK_POLL_MS = 100;
366
+ /**
367
+ * 置き場。`BLUELAMP_JWT_CACHE_DIR` が在ればそこ(消費側のテストが実機の置き場を触らないため)、無ければ
368
+ * `~/.bluelamp/jwt-cache`。テストで HOME を差し替えられるよう呼び出し時に解決する
369
+ */
370
+ export function getExchangedJwtCacheDir() {
371
+ return process.env.BLUELAMP_JWT_CACHE_DIR || path.join(os.homedir(), '.bluelamp', 'jwt-cache');
372
+ }
373
+ /** 鍵(純関数)。sha256 の 16 進 64 文字=そのままファイル名に使える */
374
+ export function exchangedJwtCacheKey(k) {
375
+ const fingerprint = createHash('sha256').update(k.cliToken).digest('hex');
376
+ const material = JSON.stringify([k.baseUrl.replace(/\/+$/, ''), k.mcpId, [...k.scopes].sort(), fingerprint]);
377
+ return createHash('sha256').update(material).digest('hex');
378
+ }
379
+ /** キャッシュの中身を検める(純関数)。形が違えば null=キャッシュ無しと同じ */
380
+ export function parseCachedExchangedJwt(raw) {
381
+ let v;
382
+ try {
383
+ v = JSON.parse(raw);
384
+ }
385
+ catch {
386
+ return null;
387
+ }
388
+ const o = v;
389
+ if (!o || typeof o.token !== 'string' || o.token.length === 0)
390
+ return null;
391
+ if (typeof o.expiresAt !== 'number' || !Number.isFinite(o.expiresAt))
392
+ return null;
393
+ return { token: o.token, expiresAt: o.expiresAt };
394
+ }
395
+ /** まだ使ってよいか(純関数)。期限の bufferMs 前を過ぎたら使わない */
396
+ export function isCachedExchangedJwtUsable(c, nowMs, bufferMs) {
397
+ return nowMs < c.expiresAt - bufferMs;
398
+ }
399
+ function cacheFilePath(dir, key) {
400
+ return path.join(dir, `${exchangedJwtCacheKey(key)}.json`);
401
+ }
402
+ /** 読む。自分だけが読める(group/other のビットが立っていない)ファイルしか信じない */
403
+ function readCachedJwt(file) {
404
+ try {
405
+ const st = fs.statSync(file);
406
+ if ((st.mode & 0o077) !== 0)
407
+ return null;
408
+ if (typeof process.getuid === 'function' && st.uid !== process.getuid())
409
+ return null;
410
+ return parseCachedExchangedJwt(fs.readFileSync(file, 'utf8'));
411
+ }
412
+ catch {
413
+ return null;
414
+ }
415
+ }
416
+ function writeCachedJwt(file, c) {
417
+ try {
418
+ fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
419
+ const tmp = `${file}.${process.pid}.${randomBytes(4).toString('hex')}.tmp`;
420
+ fs.writeFileSync(tmp, JSON.stringify(c) + '\n', { mode: 0o600 });
421
+ fs.chmodSync(tmp, 0o600); // umask に依らず 600
422
+ fs.renameSync(tmp, file);
423
+ }
424
+ catch {
425
+ // 書けなくても今回の JWT は返す(次のプロセスがもう 1 回取るだけ)
426
+ }
427
+ }
428
+ /** ロックを取る。取れたら true。古いロック(持ち主が死んだ)は 1 回だけ払って取り直す */
429
+ function tryLock(lockFile, nowMs) {
430
+ for (let attempt = 0; attempt < 2; attempt++) {
431
+ try {
432
+ fs.mkdirSync(path.dirname(lockFile), { recursive: true, mode: 0o700 });
433
+ fs.closeSync(fs.openSync(lockFile, 'wx', 0o600));
434
+ return true;
435
+ }
436
+ catch (e) {
437
+ if (e.code !== 'EEXIST')
438
+ return false;
439
+ try {
440
+ if (nowMs - fs.statSync(lockFile).mtimeMs <= EXCHANGED_JWT_LOCK_STALE_MS)
441
+ return false;
442
+ fs.unlinkSync(lockFile);
443
+ }
444
+ catch {
445
+ return false;
446
+ }
447
+ }
448
+ }
449
+ return false;
450
+ }
451
+ function unlock(lockFile) {
452
+ try {
453
+ fs.unlinkSync(lockFile);
454
+ }
455
+ catch {
456
+ // 消えていても構わない
457
+ }
458
+ }
459
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
460
+ /**
461
+ * 機体で共有する JWT を返す。使える JWT がファイルに在れば口に出ない。
462
+ * 無い/切れかけなら、ロックを取った 1 プロセスだけが exchange して書く。他はその間ファイルを待つ
463
+ * (lockWaitMs を過ぎたら自分で取る)。exchange の失敗は throw のまま返す。
464
+ */
465
+ export async function getExchangedJwt(options) {
466
+ const now = options.now ?? Date.now;
467
+ const bufferMs = options.refreshBufferMs ?? EXCHANGED_JWT_REFRESH_BUFFER_MS;
468
+ const file = cacheFilePath(options.cacheDir ?? getExchangedJwtCacheDir(), options.key);
469
+ const usable = () => {
470
+ const c = readCachedJwt(file);
471
+ return c && isCachedExchangedJwtUsable(c, now(), bufferMs) ? c.token : null;
472
+ };
473
+ const hit = usable();
474
+ if (hit)
475
+ return hit;
476
+ const lockFile = `${file}.lock`;
477
+ const waitUntil = now() + Math.max(0, options.lockWaitMs ?? EXCHANGED_JWT_LOCK_WAIT_MS);
478
+ let locked = tryLock(lockFile, now());
479
+ while (!locked && now() < waitUntil) {
480
+ await sleep(LOCK_POLL_MS);
481
+ const fresh = usable();
482
+ if (fresh)
483
+ return fresh;
484
+ locked = tryLock(lockFile, now());
485
+ }
486
+ try {
487
+ if (locked) {
488
+ // ロックを待っている間に他のプロセスが書いたかもしれない
489
+ const fresh = usable();
490
+ if (fresh)
491
+ return fresh;
492
+ }
493
+ const got = await options.exchange();
494
+ writeCachedJwt(file, { token: got.token, expiresAt: now() + got.expiresInSec * 1000 });
495
+ return got.token;
496
+ }
497
+ finally {
498
+ if (locked)
499
+ unlock(lockFile);
500
+ }
501
+ }
502
+ /**
503
+ * 受け手に拒まれた(401)JWT を捨てる。ファイルの中身が `rejectedToken` のときだけ消す
504
+ * (その間に他のプロセスが書いた新しい JWT は消さない)。throw しない。
505
+ */
506
+ export function evictExchangedJwt(key, rejectedToken, cacheDir = getExchangedJwtCacheDir()) {
507
+ const file = cacheFilePath(cacheDir, key);
508
+ try {
509
+ if (parseCachedExchangedJwt(fs.readFileSync(file, 'utf8'))?.token === rejectedToken)
510
+ fs.unlinkSync(file);
511
+ }
512
+ catch {
513
+ // 無ければ何もしない
514
+ }
515
+ }
359
516
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bluelamp/cli-token",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "BlueLamp CLI が保存するローカルトークンファイルの読み書きの単一実装",
5
5
  "keywords": [
6
6
  "bluelamp",