@ai-support-agent/cli 0.1.20 → 0.1.21
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.
|
@@ -28,16 +28,25 @@
|
|
|
28
28
|
*/
|
|
29
29
|
/**
|
|
30
30
|
* envVarsOverride に `CLAUDE_CODE_OAUTH_TOKEN` が含まれていれば、
|
|
31
|
-
* `~/.claude.json`
|
|
31
|
+
* `~/.claude.json` を以下の状態にする:
|
|
32
32
|
*
|
|
33
|
-
*
|
|
33
|
+
* 1. `oauthAccount` キー(オブジェクト)を存在させる
|
|
34
|
+
* 2. `hasCompletedOnboarding: true` を設定
|
|
35
|
+
* 3. `lastOnboardingVersion` に claude CLI の実バージョンを設定
|
|
36
|
+
*
|
|
37
|
+
* 1 だけでは対話 (TTY) モードで claude が "Select login method:" を出す。
|
|
38
|
+
* 2 + 3 を加えることで onboarding wizard を完全にスキップし、
|
|
39
|
+
* `CLAUDE_CODE_OAUTH_TOKEN` env だけで対話 REPL が起動する。
|
|
40
|
+
*
|
|
41
|
+
* 動作詳細:
|
|
34
42
|
* - envVarsOverride に CLAUDE_CODE_OAUTH_TOKEN が無い / 不正な場合は何もしない
|
|
35
43
|
* - 並列 spawn での lost update を防ぐため lockfile で排他
|
|
36
44
|
* - `~/.claude.json` が存在しない or 破損している場合は最小限の JSON で新規作成
|
|
37
45
|
* (破損時は `.claude.json.broken-<ts>` にバックアップを残す)
|
|
38
46
|
* - トップレベルが object でない場合 (配列/プリミティブ) は corrupted 扱い
|
|
39
|
-
* - 既に
|
|
40
|
-
*
|
|
47
|
+
* - 既に 3 つすべて有効な値で揃っていれば変更しない (no-op、mtime も変化しない)
|
|
48
|
+
* - 不足キーのみを追加し、既存の正規メタデータ (実 OAuth login 由来の
|
|
49
|
+
* accountUuid 等) は温存
|
|
41
50
|
* - atomic write + 明示的 chmod 0o600
|
|
42
51
|
*
|
|
43
52
|
* 失敗は warn してスキップ(spawn 自体は止めない)。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-json-oauth-sync.d.ts","sourceRoot":"","sources":["../../src/utils/claude-json-oauth-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;
|
|
1
|
+
{"version":3,"file":"claude-json-oauth-sync.d.ts","sourceRoot":"","sources":["../../src/utils/claude-json-oauth-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA0PH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GACtB,IAAI,CAwBN"}
|
|
@@ -170,6 +170,50 @@ function hasValidOauthAccount(data) {
|
|
|
170
170
|
const v = data.oauthAccount;
|
|
171
171
|
return isPlainObject(v);
|
|
172
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* onboarding 完了 flag が既に正しくセットされているか。
|
|
175
|
+
* `hasCompletedOnboarding: true` + `lastOnboardingVersion: string` の両方が必要。
|
|
176
|
+
*/
|
|
177
|
+
function hasValidOnboardingFlags(data) {
|
|
178
|
+
return (data.hasCompletedOnboarding === true &&
|
|
179
|
+
typeof data.lastOnboardingVersion === 'string' &&
|
|
180
|
+
data.lastOnboardingVersion.length > 0);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* インストール済み claude CLI のバージョンを取得する。
|
|
184
|
+
*
|
|
185
|
+
* `~/.claude.json` の `lastOnboardingVersion` に書き込むため、claude CLI 本体の
|
|
186
|
+
* package.json から実バージョンを読む。これにより claude をアップデートしても
|
|
187
|
+
* version 文字列が古いまま残らない。
|
|
188
|
+
*
|
|
189
|
+
* 取得失敗時はフォールバック値を返す。実機検証で `lastOnboardingVersion` は
|
|
190
|
+
* 何かしらの string であれば onboarding スキップが有効になる挙動を確認済み。
|
|
191
|
+
*/
|
|
192
|
+
function detectClaudeVersion() {
|
|
193
|
+
const candidates = [
|
|
194
|
+
'/usr/local/lib/node_modules/@anthropic-ai/claude-code/package.json',
|
|
195
|
+
'/usr/lib/node_modules/@anthropic-ai/claude-code/package.json',
|
|
196
|
+
path.join(os.homedir(), '.npm-global/lib/node_modules/@anthropic-ai/claude-code/package.json'),
|
|
197
|
+
];
|
|
198
|
+
for (const candidate of candidates) {
|
|
199
|
+
try {
|
|
200
|
+
if (!fs.existsSync(candidate))
|
|
201
|
+
continue;
|
|
202
|
+
const raw = fs.readFileSync(candidate, 'utf-8');
|
|
203
|
+
const pkg = JSON.parse(raw);
|
|
204
|
+
if (typeof pkg.version === 'string' && pkg.version.length > 0) {
|
|
205
|
+
return pkg.version;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
// 次の候補を試す
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
// フォールバック: 適当な version 文字列。claude CLI は string であれば
|
|
213
|
+
// 内容を厳密にバージョン比較しないと推測される(実機検証では '2.1.150' で
|
|
214
|
+
// OK だった)が、固定値だと将来の挙動変化に弱いため UNKNOWN を埋める
|
|
215
|
+
return 'unknown';
|
|
216
|
+
}
|
|
173
217
|
/**
|
|
174
218
|
* OAuth token の妥当性を簡易検証。
|
|
175
219
|
* - 文字列でなければ無効
|
|
@@ -258,16 +302,25 @@ function atomicWriteJson(targetPath, data) {
|
|
|
258
302
|
}
|
|
259
303
|
/**
|
|
260
304
|
* envVarsOverride に `CLAUDE_CODE_OAUTH_TOKEN` が含まれていれば、
|
|
261
|
-
* `~/.claude.json`
|
|
305
|
+
* `~/.claude.json` を以下の状態にする:
|
|
306
|
+
*
|
|
307
|
+
* 1. `oauthAccount` キー(オブジェクト)を存在させる
|
|
308
|
+
* 2. `hasCompletedOnboarding: true` を設定
|
|
309
|
+
* 3. `lastOnboardingVersion` に claude CLI の実バージョンを設定
|
|
262
310
|
*
|
|
263
|
-
*
|
|
311
|
+
* 1 だけでは対話 (TTY) モードで claude が "Select login method:" を出す。
|
|
312
|
+
* 2 + 3 を加えることで onboarding wizard を完全にスキップし、
|
|
313
|
+
* `CLAUDE_CODE_OAUTH_TOKEN` env だけで対話 REPL が起動する。
|
|
314
|
+
*
|
|
315
|
+
* 動作詳細:
|
|
264
316
|
* - envVarsOverride に CLAUDE_CODE_OAUTH_TOKEN が無い / 不正な場合は何もしない
|
|
265
317
|
* - 並列 spawn での lost update を防ぐため lockfile で排他
|
|
266
318
|
* - `~/.claude.json` が存在しない or 破損している場合は最小限の JSON で新規作成
|
|
267
319
|
* (破損時は `.claude.json.broken-<ts>` にバックアップを残す)
|
|
268
320
|
* - トップレベルが object でない場合 (配列/プリミティブ) は corrupted 扱い
|
|
269
|
-
* - 既に
|
|
270
|
-
*
|
|
321
|
+
* - 既に 3 つすべて有効な値で揃っていれば変更しない (no-op、mtime も変化しない)
|
|
322
|
+
* - 不足キーのみを追加し、既存の正規メタデータ (実 OAuth login 由来の
|
|
323
|
+
* accountUuid 等) は温存
|
|
271
324
|
* - atomic write + 明示的 chmod 0o600
|
|
272
325
|
*
|
|
273
326
|
* 失敗は warn してスキップ(spawn 自体は止めない)。
|
|
@@ -326,15 +379,29 @@ function syncOauthAccount(claudeJsonPath, ctx) {
|
|
|
326
379
|
data = {};
|
|
327
380
|
}
|
|
328
381
|
}
|
|
329
|
-
//
|
|
330
|
-
|
|
382
|
+
// 既に 3 つすべて揃っていれば no-op
|
|
383
|
+
const oauthAccountValid = hasValidOauthAccount(data);
|
|
384
|
+
const onboardingValid = hasValidOnboardingFlags(data);
|
|
385
|
+
if (oauthAccountValid && onboardingValid) {
|
|
331
386
|
return 'noop';
|
|
332
387
|
}
|
|
333
|
-
//
|
|
334
|
-
const
|
|
335
|
-
const
|
|
388
|
+
// 不足分を補完する diff を構築
|
|
389
|
+
const next = { ...data };
|
|
390
|
+
const changes = [];
|
|
391
|
+
if (!oauthAccountValid) {
|
|
392
|
+
const wasPresent = 'oauthAccount' in data;
|
|
393
|
+
next.oauthAccount = {};
|
|
394
|
+
changes.push(wasPresent ? 'replaced invalid oauthAccount' : 'added oauthAccount');
|
|
395
|
+
}
|
|
396
|
+
if (!onboardingValid) {
|
|
397
|
+
next.hasCompletedOnboarding = true;
|
|
398
|
+
if (typeof data.lastOnboardingVersion !== 'string' || data.lastOnboardingVersion === '') {
|
|
399
|
+
next.lastOnboardingVersion = detectClaudeVersion();
|
|
400
|
+
}
|
|
401
|
+
changes.push('set onboarding flags');
|
|
402
|
+
}
|
|
336
403
|
atomicWriteJson(claudeJsonPath, next);
|
|
337
|
-
logger_1.logger.info(`${ctx.prefix}
|
|
338
|
-
return
|
|
404
|
+
logger_1.logger.info(`${ctx.prefix} Updated ~/.claude.json for CLAUDE_CODE_OAUTH_TOKEN authentication: ${changes.join(', ')}`);
|
|
405
|
+
return oauthAccountValid && onboardingValid ? 'noop' : 'updated';
|
|
339
406
|
}
|
|
340
407
|
//# sourceMappingURL=claude-json-oauth-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-json-oauth-sync.js","sourceRoot":"","sources":["../../src/utils/claude-json-oauth-sync.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"claude-json-oauth-sync.js","sourceRoot":"","sources":["../../src/utils/claude-json-oauth-sync.ts"],"names":[],"mappings":"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"}
|