@bluelamp/cli-token 1.4.0-rc.3 → 1.4.0-rc.5

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.
@@ -0,0 +1,417 @@
1
+ "use strict";
2
+ /**
3
+ * 置き場の書き手の門(箱 n=4591 段 B): この機体で `~/.musuhi/portal-token.enc` を読む物(読み手)を数え、
4
+ * **見つかった読み手が全部 v2 を読める版のときだけ** 書き手を v2 へ替えてよいと答える。
5
+ *
6
+ * 🩸 なぜ: v2 を読めない古い読み手(版を固定して同梱した local MCP・拡張・CLI)が残った機体で v2 を書くと、
7
+ * その読み手は札を開けずにログインが落ちる。会員の local MCP は自分では上がらない(n=4071)。
8
+ * 🔑 線(fail-safe): 置き場・版が読めない・知らない形・読み手が 1 つも見つからない=偽(古い形のまま)。
9
+ * env `BLUELAMP_TOKEN_FORMAT=v1` で常に偽。
10
+ * 🔑 重さ: ファイルの stat と package.json の読みだけ(npm を起動しない・child_process を使わない)。
11
+ * 呼ぶのは書くときだけ(savePortalToken と、移行の 1 回)。札を読むたびには呼ばない。
12
+ *
13
+ * 読み手の表(置き場の根 → 何で版を見るか):
14
+ * 1. 全体に入った npm の置き場(CLI bluelamp/bizboost・secret-exec など)=その中の `@bluelamp/cli-token` の写しの版
15
+ * 2. local MCP(`<HOME>/.claude/mcp-servers/<id>`)=その中の cli-token の写しの版。cli-token を束ねる・自前で読む物は
16
+ * MCP の版(monster-orchestrator・playwright)。cli-token の写しが無い MCP は中身に置き場の名が在れば「知らない読み手」
17
+ * 3. VS Code 系の拡張(`<HOME>/.vscode/extensions` 等の mikoto.* / global-innovations.*)=cli-token を束ねる=拡張の版
18
+ */
19
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ var desc = Object.getOwnPropertyDescriptor(m, k);
22
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
24
+ }
25
+ Object.defineProperty(o, k2, desc);
26
+ }) : (function(o, m, k, k2) {
27
+ if (k2 === undefined) k2 = k;
28
+ o[k2] = m[k];
29
+ }));
30
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
31
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
32
+ }) : function(o, v) {
33
+ o["default"] = v;
34
+ });
35
+ var __importStar = (this && this.__importStar) || (function () {
36
+ var ownKeys = function(o) {
37
+ ownKeys = Object.getOwnPropertyNames || function (o) {
38
+ var ar = [];
39
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
40
+ return ar;
41
+ };
42
+ return ownKeys(o);
43
+ };
44
+ return function (mod) {
45
+ if (mod && mod.__esModule) return mod;
46
+ var result = {};
47
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
48
+ __setModuleDefault(result, mod);
49
+ return result;
50
+ };
51
+ })();
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.V2_READER_MIN = void 0;
54
+ exports.versionAtLeast = versionAtLeast;
55
+ exports.tokenReaderRoots = tokenReaderRoots;
56
+ exports.scanTokenReaders = scanTokenReaders;
57
+ const fs = __importStar(require("node:fs"));
58
+ const path = __importStar(require("node:path"));
59
+ /** v2 を読める最初の版(箱 n=4590 段 A で上げた版) */
60
+ exports.V2_READER_MIN = {
61
+ /** `@bluelamp/cli-token` の写し(CLI・secret-exec・MCP の node_modules) */
62
+ cliToken: '1.4.0-rc.4',
63
+ /** cli-token を dist-obf に束ねる=MCP の版で見る */
64
+ monsterOrchestrator: '3.26.3',
65
+ /** 1.14.2 より前は自前の読み(古い形だけ)を持っていた=MCP の版で見る */
66
+ playwright: '1.14.2',
67
+ /** VS Code 拡張(bluelamp・白ラベルの bizboost は同じ package.json から版を出す=境は同じ)。cli-token を webpack で束ねる */
68
+ extension: '1.3.159',
69
+ };
70
+ class UnreadablePlace extends Error {
71
+ }
72
+ function parseVersion(v) {
73
+ if (typeof v !== 'string')
74
+ return null;
75
+ const m = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/.exec(v.trim());
76
+ if (!m)
77
+ return null;
78
+ return { core: [Number(m[1]), Number(m[2]), Number(m[3])], pre: m[4] ? m[4].split('.') : [] };
79
+ }
80
+ function comparePre(a, b) {
81
+ if (a.length === 0 || b.length === 0)
82
+ return a.length === b.length ? 0 : a.length === 0 ? 1 : -1;
83
+ for (let i = 0; i < Math.max(a.length, b.length); i++) {
84
+ if (a[i] === undefined)
85
+ return -1;
86
+ if (b[i] === undefined)
87
+ return 1;
88
+ const na = /^\d+$/.test(a[i]);
89
+ const nb = /^\d+$/.test(b[i]);
90
+ if (na && nb) {
91
+ const d = Number(a[i]) - Number(b[i]);
92
+ if (d !== 0)
93
+ return d;
94
+ }
95
+ else if (na !== nb) {
96
+ return na ? -1 : 1;
97
+ }
98
+ else if (a[i] !== b[i]) {
99
+ return a[i] < b[i] ? -1 : 1;
100
+ }
101
+ }
102
+ return 0;
103
+ }
104
+ /** v が min 以上か(semver・pre-release を数える)。読めない版は null */
105
+ function versionAtLeast(v, min) {
106
+ const a = parseVersion(v);
107
+ const b = parseVersion(min);
108
+ if (!a || !b)
109
+ return null;
110
+ for (let i = 0; i < 3; i++)
111
+ if (a.core[i] !== b.core[i])
112
+ return a.core[i] > b.core[i];
113
+ return comparePre(a.pre, b.pre) >= 0;
114
+ }
115
+ // ── 置き場を読む(I/O)──────────────────────────────────────────────────────
116
+ /** フォルダの中身。無い=null・読めない=UnreadablePlace */
117
+ function listDir(dir) {
118
+ try {
119
+ return fs.readdirSync(dir);
120
+ }
121
+ catch (e) {
122
+ const code = e.code;
123
+ if (code === 'ENOENT' || code === 'ENOTDIR')
124
+ return null;
125
+ throw new UnreadablePlace(`${dir}: ${code ?? 'unreadable'}`);
126
+ }
127
+ }
128
+ function isDir(p) {
129
+ try {
130
+ return fs.statSync(p).isDirectory();
131
+ }
132
+ catch {
133
+ return false;
134
+ }
135
+ }
136
+ /** package.json の版。無い=undefined・読めない/壊れている=null */
137
+ function packageVersion(dir) {
138
+ const file = path.join(dir, 'package.json');
139
+ let raw;
140
+ try {
141
+ raw = fs.readFileSync(file, 'utf8');
142
+ }
143
+ catch (e) {
144
+ return e.code === 'ENOENT' ? undefined : null;
145
+ }
146
+ try {
147
+ const v = JSON.parse(raw).version;
148
+ return typeof v === 'string' ? v : null;
149
+ }
150
+ catch {
151
+ return null;
152
+ }
153
+ }
154
+ function judge(place, kind, version, min) {
155
+ const ok = versionAtLeast(version, min);
156
+ if (ok === null)
157
+ return { place, kind, version, ok: false, reason: 'version-unreadable' };
158
+ return ok ? { place, kind, version, ok: true } : { place, kind, version, ok: false, reason: `below ${min}` };
159
+ }
160
+ /**
161
+ * その入口が自分で import する `@bluelamp/cli-token`(`<nodeModules>/@bluelamp/cli-token` の直下の 1 つ)。
162
+ * ⛔ `@bluelamp/*` が抱える入れ子の写しは数えない(例: MCP の中の secret-exec 0.3.1 は handoff の純関数しか
163
+ * import されず、撃たれる bluelamp-secret は全体に入った物=入れ子の bin は誰も撃たない・PM の実測 #4320)。
164
+ * 全体に入った secret-exec 自身は読み手=scanGlobalRoot がその包みの直下の写しとして数える。
165
+ */
166
+ function cliTokenCopies(nodeModules, out) {
167
+ const pkgDir = path.join(nodeModules, '@bluelamp', 'cli-token');
168
+ const v = packageVersion(pkgDir);
169
+ if (v === undefined)
170
+ return 0;
171
+ out.push(judge(pkgDir, 'cli-token', v, exports.V2_READER_MIN.cliToken));
172
+ return 1;
173
+ }
174
+ /** 全体の npm の置き場 1 本(`<prefix>/lib/node_modules` 等)を見る */
175
+ function scanGlobalRoot(root, out) {
176
+ const names = listDir(root);
177
+ if (!names)
178
+ return;
179
+ // 巻き上げられた `<global>/@bluelamp/cli-token`(全体に直に入れた cli-token)
180
+ cliTokenCopies(root, out);
181
+ for (const name of names) {
182
+ if (name.startsWith('.'))
183
+ continue;
184
+ const dirs = name.startsWith('@')
185
+ ? (listDir(path.join(root, name)) ?? [])
186
+ .filter((n) => !(name === '@bluelamp' && n === 'cli-token'))
187
+ .map((n) => path.join(root, name, n))
188
+ : [path.join(root, name)];
189
+ for (const dir of dirs) {
190
+ const n = cliTokenCopies(path.join(dir, 'node_modules'), out);
191
+ // CLI の本体なのに写しが見えない=知らない形(束ねた・置き方が違う)
192
+ if (n === 0 && (name === 'bluelamp' || name === 'bizboost') && packageVersion(dir) !== undefined) {
193
+ out.push({ place: dir, kind: 'cli-token', version: null, ok: false, reason: 'cli-without-cli-token' });
194
+ }
195
+ }
196
+ }
197
+ }
198
+ const TOKEN_FILE_MARK = Buffer.from('portal-token.enc');
199
+ const CONTENT_SCAN_MAX_FILES = 400;
200
+ const CONTENT_SCAN_MAX_BYTES = 40 * 1024 * 1024;
201
+ /** cli-token の写しが無い MCP が、自前で置き場を読むか(中身に置き場の名が在るか)。数え切れない=true(fail-safe) */
202
+ function mentionsTokenFile(dir) {
203
+ let files = 0;
204
+ let bytes = 0;
205
+ const walk = (d, depth) => {
206
+ const names = listDir(d) ?? [];
207
+ for (const name of names) {
208
+ if (name === 'node_modules' || name.startsWith('.'))
209
+ continue;
210
+ const p = path.join(d, name);
211
+ let st;
212
+ try {
213
+ st = fs.statSync(p);
214
+ }
215
+ catch {
216
+ continue;
217
+ }
218
+ if (st.isDirectory()) {
219
+ if (depth < 4 && walk(p, depth + 1))
220
+ return true;
221
+ continue;
222
+ }
223
+ if (!/\.(m?js|cjs|py)$/.test(name))
224
+ continue;
225
+ files++;
226
+ bytes += st.size;
227
+ if (files > CONTENT_SCAN_MAX_FILES || bytes > CONTENT_SCAN_MAX_BYTES)
228
+ throw new UnreadablePlace(`${dir}: too large to scan`);
229
+ try {
230
+ if (fs.readFileSync(p).includes(TOKEN_FILE_MARK))
231
+ return true;
232
+ }
233
+ catch {
234
+ throw new UnreadablePlace(`${p}: unreadable`);
235
+ }
236
+ }
237
+ return false;
238
+ };
239
+ return walk(dir, 0);
240
+ }
241
+ /** local MCP の置き場(`<HOME>/.claude/mcp-servers`)。退避(`_*`・`*.bak*`)は走らない=数えない */
242
+ function scanMcpServers(root, out) {
243
+ const names = listDir(root);
244
+ if (!names)
245
+ return;
246
+ for (const name of names) {
247
+ if (name.startsWith('_') || name.startsWith('.') || name.includes('.bak'))
248
+ continue;
249
+ const dir = path.join(root, name);
250
+ if (!isDir(dir))
251
+ continue;
252
+ const n = cliTokenCopies(path.join(dir, 'node_modules'), out);
253
+ if (name === 'monster-orchestrator' || name === 'playwright') {
254
+ const min = name === 'playwright' ? exports.V2_READER_MIN.playwright : exports.V2_READER_MIN.monsterOrchestrator;
255
+ out.push(judge(dir, 'mcp', packageVersion(dir) ?? null, min));
256
+ }
257
+ else if (n === 0 && mentionsTokenFile(dir)) {
258
+ out.push({ place: dir, kind: 'mcp', version: packageVersion(dir) ?? null, ok: false, reason: 'own-reader-unknown-version' });
259
+ }
260
+ }
261
+ }
262
+ const EXTENSION_PUBLISHERS = ['mikoto.', 'global-innovations.'];
263
+ const EXTENSION_NAMES = new Set(['bluelamp', 'bizboost']);
264
+ /** 拡張の置き場 1 本。自社の発行元の拡張は bluelamp/bizboost の版で見る。それ以外の自社の拡張=知らない形 */
265
+ function scanExtensions(root, out) {
266
+ const names = listDir(root);
267
+ if (!names)
268
+ return;
269
+ for (const folder of names) {
270
+ const lower = folder.toLowerCase();
271
+ if (!EXTENSION_PUBLISHERS.some((p) => lower.startsWith(p)))
272
+ continue;
273
+ const dir = path.join(root, folder);
274
+ if (!isDir(dir))
275
+ continue;
276
+ let name;
277
+ let version;
278
+ try {
279
+ ({ name, version } = JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf8')));
280
+ }
281
+ catch {
282
+ out.push({ place: dir, kind: 'extension', version: null, ok: false, reason: 'package-unreadable' });
283
+ continue;
284
+ }
285
+ if (typeof name !== 'string' || !EXTENSION_NAMES.has(name)) {
286
+ out.push({ place: dir, kind: 'extension', version: typeof version === 'string' ? version : null, ok: false, reason: 'unknown-extension' });
287
+ continue;
288
+ }
289
+ out.push(judge(dir, 'extension', typeof version === 'string' ? version : null, exports.V2_READER_MIN.extension));
290
+ }
291
+ }
292
+ // ── 置き場の表 ───────────────────────────────────────────────────────────────
293
+ function expandHome(p, home) {
294
+ return p.replace(/^~(?=$|[\\/])/, home).replace(/\$\{?HOME\}?/g, home);
295
+ }
296
+ /** `~/.npmrc` の prefix=(npm を起動せずに読む) */
297
+ function npmrcPrefix(home) {
298
+ try {
299
+ const m = /^\s*prefix\s*=\s*(.+?)\s*$/m.exec(fs.readFileSync(path.join(home, '.npmrc'), 'utf8'));
300
+ return m ? expandHome(m[1].replace(/^["']|["']$/g, ''), home) : null;
301
+ }
302
+ catch {
303
+ return null;
304
+ }
305
+ }
306
+ /** 下のフォルダを glob 1 段で(base の子それぞれの下の rest) */
307
+ function eachChild(base, rest) {
308
+ return (listDir(base) ?? []).map((n) => path.join(base, n, ...rest));
309
+ }
310
+ /** この機体で読み手が居うる置き場の表(cli-token の中に 1 本だけ持つ) */
311
+ function tokenReaderRoots(opts = {}) {
312
+ const platform = opts.platform ?? process.platform;
313
+ const env = opts.env ?? process.env;
314
+ const win = platform === 'win32';
315
+ // 結合は走っている OS の path(本物の Windows では win32)。platform は「どの置き場の形を見るか」だけを決める=試験は
316
+ // macOS・Linux の上で Windows の置き場の形を使い捨ての HOME に模せる
317
+ const p = path;
318
+ const home = opts.home ?? (win ? env.USERPROFILE : env.HOME) ?? '';
319
+ const prefixRoot = (prefix) => (win ? p.join(prefix, 'node_modules') : p.join(prefix, 'lib', 'node_modules'));
320
+ const g = new Set();
321
+ const add = (root) => {
322
+ if (root)
323
+ g.add(p.resolve(root));
324
+ };
325
+ // 走っている node と PATH に在る node の全体の置き場(<prefix>/bin/node → <prefix>/lib/node_modules・Windows は node.exe の隣)
326
+ const nodeDirs = [p.dirname(opts.execPath ?? process.execPath)];
327
+ for (const d of (env.PATH ?? env.Path ?? '').split(win ? ';' : ':')) {
328
+ if (d && fs.existsSync(p.join(d, win ? 'node.exe' : 'node')))
329
+ nodeDirs.push(d);
330
+ }
331
+ for (const d of nodeDirs)
332
+ add(win ? p.join(d, 'node_modules') : p.join(p.dirname(d), 'lib', 'node_modules'));
333
+ // npm の prefix を書き替えた機体
334
+ for (const pre of [env.npm_config_prefix, env.NPM_CONFIG_PREFIX, home ? npmrcPrefix(home) : null])
335
+ if (pre)
336
+ add(prefixRoot(pre));
337
+ if (win) {
338
+ if (env.APPDATA) {
339
+ add(p.join(env.APPDATA, 'npm', 'node_modules'));
340
+ for (const d of eachChild(p.join(env.APPDATA, 'nvm'), ['node_modules']))
341
+ add(d);
342
+ for (const d of eachChild(p.join(env.APPDATA, 'fnm', 'node-versions'), ['installation', 'node_modules']))
343
+ add(d);
344
+ }
345
+ if (env.NVM_HOME)
346
+ for (const d of eachChild(env.NVM_HOME, ['node_modules']))
347
+ add(d);
348
+ if (env.NVM_SYMLINK)
349
+ add(p.join(env.NVM_SYMLINK, 'node_modules'));
350
+ if (env.LOCALAPPDATA) {
351
+ add(p.join(env.LOCALAPPDATA, 'pnpm', 'global', '5', 'node_modules'));
352
+ for (const d of eachChild(p.join(env.LOCALAPPDATA, 'Volta', 'tools', 'image', 'packages'), ['node_modules']))
353
+ add(d);
354
+ }
355
+ const sys = opts.systemPrefixes ?? [env.ProgramFiles, env['ProgramFiles(x86)']].filter((x) => !!x).map((d) => p.join(d, 'nodejs'));
356
+ for (const pre of sys)
357
+ add(p.join(pre, 'node_modules'));
358
+ }
359
+ else {
360
+ if (home) {
361
+ const nvm = env.NVM_DIR || p.join(home, '.nvm');
362
+ for (const d of eachChild(p.join(nvm, 'versions', 'node'), ['lib', 'node_modules']))
363
+ add(d);
364
+ for (const d of eachChild(p.join(home, '.volta', 'tools', 'image', 'packages'), ['lib', 'node_modules']))
365
+ add(d);
366
+ for (const d of eachChild(p.join(home, '.asdf', 'installs', 'nodejs'), ['lib', 'node_modules']))
367
+ add(d);
368
+ for (const base of [p.join(home, '.local', 'share', 'fnm'), p.join(home, 'Library', 'Application Support', 'fnm')]) {
369
+ for (const d of eachChild(p.join(base, 'node-versions'), ['installation', 'lib', 'node_modules']))
370
+ add(d);
371
+ }
372
+ add(p.join(home, '.npm-global', 'lib', 'node_modules'));
373
+ add(p.join(home, 'Library', 'pnpm', 'global', '5', 'node_modules'));
374
+ add(p.join(home, '.local', 'share', 'pnpm', 'global', '5', 'node_modules'));
375
+ }
376
+ const sys = opts.systemPrefixes ?? ['/opt/homebrew', '/usr/local', '/usr', '/home/linuxbrew/.linuxbrew'];
377
+ for (const pre of sys)
378
+ add(prefixRoot(pre));
379
+ }
380
+ const extensionHosts = ['.vscode', '.vscode-insiders', '.vscode-oss', '.cursor', '.windsurf', '.vscode-server', '.vscode-server-insiders', '.cursor-server', '.windsurf-server'];
381
+ const ext = new Set(home ? extensionHosts.map((h) => p.join(home, h, 'extensions')) : []);
382
+ if (env.VSCODE_EXTENSIONS)
383
+ ext.add(p.resolve(env.VSCODE_EXTENSIONS));
384
+ return {
385
+ globalRoots: [...g],
386
+ mcpRoots: home ? [p.join(home, '.claude', 'mcp-servers')] : [],
387
+ extensionRoots: [...ext],
388
+ };
389
+ }
390
+ /** 読み手を数える(何が見つかり、なぜ偽かを返す)。throw しない */
391
+ function scanTokenReaders(opts = {}) {
392
+ const env = opts.env ?? process.env;
393
+ if ((env.BLUELAMP_TOKEN_FORMAT ?? '').toLowerCase() === 'v1')
394
+ return { allowed: false, reason: 'env BLUELAMP_TOKEN_FORMAT=v1', readers: [] };
395
+ const readers = [];
396
+ try {
397
+ const roots = tokenReaderRoots(opts);
398
+ if (!roots.mcpRoots.length)
399
+ return { allowed: false, reason: 'home-unknown', readers };
400
+ for (const r of roots.globalRoots)
401
+ scanGlobalRoot(r, readers);
402
+ for (const r of roots.mcpRoots)
403
+ scanMcpServers(r, readers);
404
+ for (const r of roots.extensionRoots)
405
+ scanExtensions(r, readers);
406
+ }
407
+ catch (e) {
408
+ return { allowed: false, reason: e instanceof UnreadablePlace ? `unreadable ${e.message}` : 'scan-failed', readers };
409
+ }
410
+ if (readers.length === 0)
411
+ return { allowed: false, reason: 'no-reader-found', readers };
412
+ const bad = readers.find((r) => !r.ok);
413
+ if (bad)
414
+ return { allowed: false, reason: `${bad.reason ?? 'old'}: ${bad.place}`, readers };
415
+ return { allowed: true, reason: 'all-readers-v2', readers };
416
+ }
417
+ //# sourceMappingURL=token-readers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-readers.js","sourceRoot":"","sources":["../../src/token-readers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EH,wCAMC;AAmMD,4CAgEC;AAGD,4CAiBC;AA1WD,4CAA8B;AAC9B,gDAAkC;AAElC,sCAAsC;AACzB,QAAA,aAAa,GAAG;IAC3B,oEAAoE;IACpE,QAAQ,EAAE,YAAY;IACtB,0CAA0C;IAC1C,mBAAmB,EAAE,QAAQ;IAC7B,8CAA8C;IAC9C,UAAU,EAAE,QAAQ;IACpB,gGAAgG;IAChG,SAAS,EAAE,SAAS;CACZ,CAAC;AA+BX,MAAM,eAAgB,SAAQ,KAAK;CAAG;AAMtC,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,oEAAoE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9F,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAChG,CAAC;AAED,SAAS,UAAU,CAAC,CAAW,EAAE,CAAW;IAC1C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,uDAAuD;AACvD,SAAgB,cAAc,CAAC,CAAU,EAAE,GAAW;IACpD,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,uEAAuE;AAEvE,2CAA2C;AAC3C,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,GAAI,CAA2B,CAAC,IAAI,CAAC;QAC/C,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzD,MAAM,IAAI,eAAe,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,YAAY,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,CAAS;IACtB,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,mDAAmD;AACnD,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC5C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAQ,CAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC;QACH,MAAM,CAAC,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2B,CAAC,OAAO,CAAC;QAC7D,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,IAAgC,EAAE,OAAsB,EAAE,GAAW;IACjG,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC1F,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC;AAC/G,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,WAAmB,EAAE,GAAyB;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,yDAAyD;AACzD,SAAS,cAAc,CAAC,IAAY,EAAE,GAAyB;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,6DAA6D;IAC7D,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAC/B,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;iBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;iBAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9D,sCAAsC;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACjG,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACxD,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD,6EAA6E;AAC7E,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,KAAa,EAAW,EAAE;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC7B,IAAI,EAAY,CAAC;YACjB,IAAI,CAAC;gBACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrB,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7C,KAAK,EAAE,CAAC;YACR,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC;YACjB,IAAI,KAAK,GAAG,sBAAsB,IAAI,KAAK,GAAG,sBAAsB;gBAAE,MAAM,IAAI,eAAe,CAAC,GAAG,GAAG,qBAAqB,CAAC,CAAC;YAC7H,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;oBAAE,OAAO,IAAI,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,+EAA+E;AAC/E,SAAS,cAAc,CAAC,IAAY,EAAE,GAAyB;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1B,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,qBAAa,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAa,CAAC,mBAAmB,CAAC;YACjG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAChE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAE1D,qEAAqE;AACrE,SAAS,cAAc,CAAC,IAAY,EAAE,GAAyB;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1B,IAAI,IAAa,CAAC;QAClB,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAA0C,CAAC,CAAC;QACrI,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACpG,SAAS;QACX,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC3I,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,qBAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC;AAED,2EAA2E;AAE3E,SAAS,UAAU,CAAC,CAAS,EAAE,IAAY;IACzC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AACzE,CAAC;AAED,yCAAyC;AACzC,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACjG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,SAAS,SAAS,CAAC,IAAY,EAAE,IAAc;IAC7C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC;AAQD,+CAA+C;AAC/C,SAAgB,gBAAgB,CAAC,OAA+B,EAAE;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,CAAC;IACjC,6EAA6E;IAC7E,iDAAiD;IACjD,MAAM,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAC9H,MAAM,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,MAAM,GAAG,GAAG,CAAC,IAA+B,EAAQ,EAAE;QACpD,IAAI,IAAI;YAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,0GAA0G;IAC1G,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAE7G,wBAAwB;IACxB,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG;YAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjI,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAChF,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACnH,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ;YAAE,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACpF,IAAI,GAAG,CAAC,WAAW;YAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;QAClE,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;YACrE,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChJ,KAAK,MAAM,GAAG,IAAI,GAAG;YAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5F,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACjH,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACxG,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnH,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;oBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5G,CAAC;YACD,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;YACxD,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;YACpE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACzG,KAAK,MAAM,GAAG,IAAI,GAAG;YAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACjL,MAAM,GAAG,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClG,IAAI,GAAG,CAAC,iBAAiB;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAErE,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;QACnB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC9D,cAAc,EAAE,CAAC,GAAG,GAAG,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,SAAgB,gBAAgB,CAAC,OAA+B,EAAE;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC7I,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;QACvF,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW;YAAE,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ;YAAE,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc;YAAE,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;IACvH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;IACxF,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,GAAG;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC"}
@@ -12,6 +12,8 @@
12
12
  * null 版(tryReadCliToken)の両方を出す。片方に寄せると挙動が変わる。
13
13
  */
14
14
  import { type KeyObject } from 'node:crypto';
15
+ import { type TokenReaderScan, type TokenReaderScanOptions } from './token-readers.js';
16
+ export { scanTokenReaders, tokenReaderRoots, versionAtLeast, V2_READER_MIN, type TokenReaderFinding, type TokenReaderScan, type TokenReaderScanOptions, } from './token-readers.js';
15
17
  /**
16
18
  * 箱 n=4109: `~/.musuhi` の置き場はここ 1 本から出す(札・pin の宣言・機体の鍵・機体の id・延ばしのロック)。
17
19
  * 順=env `BLUELAMP_MUSUHI_DIR` → env の HOME(Windows は USERPROFILE)の下 → `os.homedir()` の下。
@@ -80,10 +82,17 @@ export interface DeviceBinding {
80
82
  export declare class CliTokenNotFoundError extends Error {
81
83
  constructor(detail?: string);
82
84
  }
83
- /** 平文を `<ivHex>:<payloadHex>` にする。IV は毎回ランダム。 */
85
+ /** 置き場の中身が v2 の形か(純関数) */
86
+ export declare function isV2Payload(encrypted: string): boolean;
87
+ /** 平文を v2 の形にする。鍵は渡された機体の鍵(既定はこの機体の鍵・無ければ作る) */
88
+ export declare function encryptPayloadV2(plain: string, deviceKey?: DeviceKey): string;
89
+ /** 平文を `<ivHex>:<payloadHex>` にする(古い形)。段 B で書き手は門が偽の機体だけがこれ(v2WriteAllowed)。IV は毎回ランダム。 */
84
90
  export declare function encryptPayload(plain: string): string;
85
- /** `<ivHex>:<payloadHex>` を平文に戻す。形式不正・復号失敗は throw。 */
86
- export declare function decryptPayload(encrypted: string): string;
91
+ /**
92
+ * 置き場の中身を平文に戻す。古い形(`<ivHex>:<payloadHex>`)と v2(`v2:…`・この機体の鍵)の両方を読む。
93
+ * 形式不正・復号失敗は throw。`deviceKey` は v2 のときだけ使う(既定はこの機体の鍵)。
94
+ */
95
+ export declare function decryptPayload(encrypted: string, deviceKey?: DeviceKey): string;
87
96
  /** 復号済み JSON から token を取り出す。取れなければ null(throw しない)。 */
88
97
  export declare function extractToken(decryptedJson: string): string | null;
89
98
  /** CLI トークンの形式検査。 */
@@ -110,6 +119,29 @@ export declare function loadPortalToken(filePath?: string): StoredTokenData | nu
110
119
  * `binding` は機体に結んだ札だけが渡す(期限と機体の id)。`filePath` は置き場(既定は ~/.musuhi・試験は一時ディレクトリを渡す=箱 n=4102)。
111
120
  */
112
121
  export declare function savePortalToken(token: string, userInfo?: StoredUserInfo, binding?: DeviceBinding, filePath?: string): void;
122
+ /** 門が見る置き場の根を差し替える(試験用・このプロセスだけ)。null で本物の機体に戻す */
123
+ export declare function configureTokenReaderScan(opts: TokenReaderScanOptions | null): void;
124
+ /** 門の中身(何が見つかり、なぜ偽か)。throw しない */
125
+ export declare function explainV2WriteGate(opts?: TokenReaderScanOptions): TokenReaderScan;
126
+ /**
127
+ * この機体で置き場を v2 で書いてよいか。見つかった読み手が全部 v2 を読める版のときだけ true。
128
+ * 置き場・版が読めない・知らない形・読み手が 1 つも見つからない・env `BLUELAMP_TOKEN_FORMAT=v1`=false(fail-safe)。
129
+ * 重さ: stat と package.json の読みだけ(npm を起動しない)。呼ぶのは書くときだけ。
130
+ */
131
+ export declare function v2WriteAllowed(opts?: TokenReaderScanOptions): boolean;
132
+ export type MigrateToV2Result = 'migrated' | 'already-v2' | 'no-file' | 'unreadable' | 'gate-closed' | 'no-device-key' | 'mismatch' | 'busy';
133
+ /**
134
+ * 古い形の置き場を v2 に書き直す(1 回)。throw しない。
135
+ * - 門が偽・古い形が読めない(壊れている・札が無い)=触らない(消さない)
136
+ * - 機体の鍵が無ければ作る。作れなければ古い形のまま
137
+ * - 延ばしのロックを取れた時だけ書く(延ばしと同時に書いて新しい札を古い札で上書きしない)。取れなければ 'busy'
138
+ * - 一時ファイルに v2 で書く→読み戻して札・期限・機体の id・利用者の情報が一致→rename
139
+ */
140
+ export declare function migratePortalTokenToV2(filePath?: string, opts?: TokenReaderScanOptions): MigrateToV2Result;
141
+ /** 移行を試す間隔(機体ごと・門が偽のままの機体で毎回数えない) */
142
+ export declare const V2_MIGRATE_CHECK_INTERVAL_MS: number;
143
+ /** 移行を最後に試した印 */
144
+ export declare function getV2MigrateCheckPath(): string;
113
145
  /** 保存済みトークンを削除する。ファイル無しは no-op。削除失敗は throw。 */
114
146
  export declare function deletePortalToken(): void;
115
147
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}