@kaitranntt/ccs 7.47.0-dev.7 → 7.47.0-dev.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persist-command.d.ts","sourceRoot":"","sources":["../../src/commands/persist-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"persist-command.d.ts","sourceRoot":"","sources":["../../src/commands/persist-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqvBH,mCAAmC;AACnC,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiMxE"}
|
|
@@ -36,6 +36,7 @@ exports.handlePersistCommand = void 0;
|
|
|
36
36
|
const fs = __importStar(require("fs"));
|
|
37
37
|
const path = __importStar(require("path"));
|
|
38
38
|
const os = __importStar(require("os"));
|
|
39
|
+
const lockfile = __importStar(require("proper-lockfile"));
|
|
39
40
|
const ui_1 = require("../utils/ui");
|
|
40
41
|
const prompt_1 = require("../utils/prompt");
|
|
41
42
|
const profile_detector_1 = __importStar(require("../auth/profile-detector"));
|
|
@@ -44,6 +45,37 @@ const copilot_executor_1 = require("../copilot/copilot-executor");
|
|
|
44
45
|
const helpers_1 = require("../utils/helpers");
|
|
45
46
|
const claude_config_path_1 = require("../utils/claude-config-path");
|
|
46
47
|
const arg_extractor_1 = require("./arg-extractor");
|
|
48
|
+
const PERSIST_KNOWN_FLAGS = [
|
|
49
|
+
'--yes',
|
|
50
|
+
'-y',
|
|
51
|
+
'--list-backups',
|
|
52
|
+
'--restore',
|
|
53
|
+
'--permission-mode',
|
|
54
|
+
'--dangerously-skip-permissions',
|
|
55
|
+
'--auto-approve',
|
|
56
|
+
'--help',
|
|
57
|
+
'-h',
|
|
58
|
+
];
|
|
59
|
+
const VALID_PERMISSION_MODES = ['default', 'plan', 'acceptEdits', 'bypassPermissions'];
|
|
60
|
+
const PERSIST_LOCK_STALE_MS = 10000;
|
|
61
|
+
const PERSIST_LOCK_RETRIES = 5;
|
|
62
|
+
const PERSIST_LOCK_RETRY_MIN_MS = 100;
|
|
63
|
+
const PERSIST_LOCK_RETRY_MAX_MS = 500;
|
|
64
|
+
function isPermissionMode(value) {
|
|
65
|
+
return VALID_PERMISSION_MODES.includes(value);
|
|
66
|
+
}
|
|
67
|
+
function isKnownPersistFlagToken(token) {
|
|
68
|
+
return PERSIST_KNOWN_FLAGS.some((flag) => token === flag || token.startsWith(`${flag}=`));
|
|
69
|
+
}
|
|
70
|
+
function resolvePermissionMode(parsedArgs) {
|
|
71
|
+
if (!parsedArgs.dangerouslySkipPermissions) {
|
|
72
|
+
return parsedArgs.permissionMode;
|
|
73
|
+
}
|
|
74
|
+
if (parsedArgs.permissionMode && parsedArgs.permissionMode !== 'bypassPermissions') {
|
|
75
|
+
throw new Error('--dangerously-skip-permissions conflicts with --permission-mode. Use bypassPermissions or remove one flag.');
|
|
76
|
+
}
|
|
77
|
+
return 'bypassPermissions';
|
|
78
|
+
}
|
|
47
79
|
/** Parse command line arguments */
|
|
48
80
|
function parseArgs(args) {
|
|
49
81
|
const result = {
|
|
@@ -54,7 +86,41 @@ function parseArgs(args) {
|
|
|
54
86
|
if (restoreOption.found) {
|
|
55
87
|
result.restore = restoreOption.missingValue ? true : restoreOption.value || true;
|
|
56
88
|
}
|
|
57
|
-
|
|
89
|
+
const permissionModeOption = (0, arg_extractor_1.extractOption)(restoreOption.remainingArgs, ['--permission-mode'], {
|
|
90
|
+
knownFlags: PERSIST_KNOWN_FLAGS,
|
|
91
|
+
});
|
|
92
|
+
if (permissionModeOption.found) {
|
|
93
|
+
if (permissionModeOption.missingValue) {
|
|
94
|
+
result.parseError = 'Missing value for --permission-mode';
|
|
95
|
+
}
|
|
96
|
+
else if (permissionModeOption.value) {
|
|
97
|
+
if (!isPermissionMode(permissionModeOption.value)) {
|
|
98
|
+
result.parseError = `Invalid --permission-mode "${permissionModeOption.value}". Valid modes: ${VALID_PERMISSION_MODES.join(', ')}`;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
result.permissionMode = permissionModeOption.value;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
result.dangerouslySkipPermissions = (0, arg_extractor_1.hasAnyFlag)(permissionModeOption.remainingArgs, [
|
|
106
|
+
'--dangerously-skip-permissions',
|
|
107
|
+
'--auto-approve',
|
|
108
|
+
]);
|
|
109
|
+
const unknownFlags = permissionModeOption.remainingArgs.filter((arg) => arg.startsWith('-') && !isKnownPersistFlagToken(arg));
|
|
110
|
+
if (!result.parseError && unknownFlags.length > 0) {
|
|
111
|
+
const unknownList = unknownFlags.map((flag) => `"${flag}"`).join(', ');
|
|
112
|
+
result.parseError = `Unknown option(s): ${unknownList}. Run 'ccs persist --help' for usage.`;
|
|
113
|
+
}
|
|
114
|
+
if (!result.parseError && result.listBackups && result.restore) {
|
|
115
|
+
result.parseError = '--list-backups cannot be used with --restore';
|
|
116
|
+
}
|
|
117
|
+
if (!result.parseError &&
|
|
118
|
+
(result.listBackups || result.restore) &&
|
|
119
|
+
(result.permissionMode || result.dangerouslySkipPermissions)) {
|
|
120
|
+
result.parseError =
|
|
121
|
+
'Permission flags are not valid with backup operations. Use them only with ccs persist <profile>.';
|
|
122
|
+
}
|
|
123
|
+
for (const arg of permissionModeOption.remainingArgs) {
|
|
58
124
|
if (!arg.startsWith('-')) {
|
|
59
125
|
result.profile = arg;
|
|
60
126
|
break;
|
|
@@ -81,69 +147,176 @@ function formatDisplayPath(filePath) {
|
|
|
81
147
|
function getClaudeSettingsDisplayPath() {
|
|
82
148
|
return formatDisplayPath((0, claude_config_path_1.getClaudeSettingsPath)());
|
|
83
149
|
}
|
|
84
|
-
|
|
85
|
-
function readClaudeSettings() {
|
|
86
|
-
const settingsPath = (0, claude_config_path_1.getClaudeSettingsPath)();
|
|
150
|
+
async function pathExists(filePath) {
|
|
87
151
|
try {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
152
|
+
await fs.promises.access(filePath, fs.constants.F_OK);
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
async function isSymlinkAsync(filePath) {
|
|
160
|
+
try {
|
|
161
|
+
const stats = await fs.promises.lstat(filePath);
|
|
162
|
+
return stats.isSymbolicLink();
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function getNoFollowFlag() {
|
|
169
|
+
const candidate = fs.constants['O_NOFOLLOW'];
|
|
170
|
+
if (process.platform !== 'win32' && typeof candidate === 'number') {
|
|
171
|
+
return candidate;
|
|
172
|
+
}
|
|
173
|
+
return 0;
|
|
174
|
+
}
|
|
175
|
+
function createSymlinkReadError(filePath) {
|
|
176
|
+
const error = new Error(`Refusing to read symlinked file for security: ${formatDisplayPath(filePath)}`);
|
|
177
|
+
error.code = 'ELOOP';
|
|
178
|
+
return error;
|
|
179
|
+
}
|
|
180
|
+
async function readFileUtf8NoFollow(filePath) {
|
|
181
|
+
if (await isSymlinkAsync(filePath)) {
|
|
182
|
+
throw createSymlinkReadError(filePath);
|
|
183
|
+
}
|
|
184
|
+
const noFollowFlag = getNoFollowFlag();
|
|
185
|
+
const flags = fs.constants.O_RDONLY | noFollowFlag;
|
|
186
|
+
const handle = await fs.promises.open(filePath, flags);
|
|
187
|
+
try {
|
|
188
|
+
// Best-effort fallback for platforms without O_NOFOLLOW (notably Windows).
|
|
189
|
+
// Re-check symlink status after open to reduce check-then-use windows.
|
|
190
|
+
if (noFollowFlag === 0 && (await isSymlinkAsync(filePath))) {
|
|
191
|
+
throw createSymlinkReadError(filePath);
|
|
192
|
+
}
|
|
193
|
+
const stats = await handle.stat();
|
|
194
|
+
if (!stats.isFile()) {
|
|
195
|
+
throw new Error('Path is not a regular file');
|
|
92
196
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
197
|
+
if (noFollowFlag === 0) {
|
|
198
|
+
const latestStats = await fs.promises.stat(filePath);
|
|
199
|
+
if (latestStats.dev !== stats.dev || latestStats.ino !== stats.ino) {
|
|
200
|
+
throw new Error('Path changed during secure read');
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return await handle.readFile({ encoding: 'utf8' });
|
|
204
|
+
}
|
|
205
|
+
finally {
|
|
206
|
+
await handle.close();
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
function parseSettingsObject(content, sourceLabel) {
|
|
210
|
+
if (!content.trim()) {
|
|
211
|
+
return {};
|
|
212
|
+
}
|
|
213
|
+
const parsed = JSON.parse(content);
|
|
214
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
215
|
+
throw new Error(`${sourceLabel} must contain a JSON object, not an array or primitive`);
|
|
216
|
+
}
|
|
217
|
+
return parsed;
|
|
218
|
+
}
|
|
219
|
+
async function withPersistSettingsLock(operation) {
|
|
220
|
+
const settingsPath = (0, claude_config_path_1.getClaudeSettingsPath)();
|
|
221
|
+
const settingsDir = path.dirname(settingsPath);
|
|
222
|
+
await fs.promises.mkdir(settingsDir, { recursive: true });
|
|
223
|
+
let release;
|
|
224
|
+
try {
|
|
225
|
+
release = await lockfile.lock(settingsDir, {
|
|
226
|
+
stale: PERSIST_LOCK_STALE_MS,
|
|
227
|
+
retries: {
|
|
228
|
+
retries: PERSIST_LOCK_RETRIES,
|
|
229
|
+
minTimeout: PERSIST_LOCK_RETRY_MIN_MS,
|
|
230
|
+
maxTimeout: PERSIST_LOCK_RETRY_MAX_MS,
|
|
231
|
+
},
|
|
232
|
+
realpath: false,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
throw new Error(`Failed to lock Claude settings directory (${formatDisplayPath(settingsDir)}): ${error.message}`);
|
|
237
|
+
}
|
|
238
|
+
try {
|
|
239
|
+
return await operation();
|
|
240
|
+
}
|
|
241
|
+
finally {
|
|
242
|
+
if (release) {
|
|
243
|
+
try {
|
|
244
|
+
await release();
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
// Best-effort release.
|
|
248
|
+
}
|
|
97
249
|
}
|
|
98
|
-
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
/** Read existing Claude settings.json with validation */
|
|
253
|
+
async function readClaudeSettings() {
|
|
254
|
+
const settingsPath = (0, claude_config_path_1.getClaudeSettingsPath)();
|
|
255
|
+
try {
|
|
256
|
+
const content = await readFileUtf8NoFollow(settingsPath);
|
|
257
|
+
return parseSettingsObject(content, 'settings.json');
|
|
99
258
|
}
|
|
100
259
|
catch (error) {
|
|
101
260
|
const nodeError = error;
|
|
102
261
|
if (nodeError.code === 'ENOENT') {
|
|
103
262
|
return {};
|
|
104
263
|
}
|
|
264
|
+
if (nodeError.code === 'ELOOP') {
|
|
265
|
+
throw new Error('settings.json is a symlink - refusing to read for security');
|
|
266
|
+
}
|
|
105
267
|
throw new Error(`Failed to parse settings.json: ${error.message}`);
|
|
106
268
|
}
|
|
107
269
|
}
|
|
108
|
-
/**
|
|
109
|
-
|
|
110
|
-
* Note: mode 0o600 only applies when creating a new file.
|
|
111
|
-
* Existing file permissions are preserved (acceptable behavior).
|
|
112
|
-
*/
|
|
113
|
-
function writeClaudeSettings(settings) {
|
|
270
|
+
/** Write settings back to settings.json with atomic replace semantics. */
|
|
271
|
+
async function writeClaudeSettings(settings) {
|
|
114
272
|
const settingsPath = (0, claude_config_path_1.getClaudeSettingsPath)();
|
|
115
|
-
|
|
116
|
-
if (isSymlink(settingsPath)) {
|
|
273
|
+
if (await isSymlinkAsync(settingsPath)) {
|
|
117
274
|
throw new Error('settings.json is a symlink - refusing to write for security');
|
|
118
275
|
}
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
276
|
+
const settingsDir = path.dirname(settingsPath);
|
|
277
|
+
await fs.promises.mkdir(settingsDir, { recursive: true });
|
|
278
|
+
const nonce = `${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
|
|
279
|
+
const tmpPath = path.join(settingsDir, `settings.json.tmp-${nonce}`);
|
|
280
|
+
const flags = fs.constants.O_WRONLY | fs.constants.O_CREAT | fs.constants.O_EXCL | getNoFollowFlag();
|
|
281
|
+
let handle;
|
|
282
|
+
try {
|
|
283
|
+
handle = await fs.promises.open(tmpPath, flags, 0o600);
|
|
284
|
+
await handle.writeFile(JSON.stringify(settings, null, 2) + '\n', { encoding: 'utf8' });
|
|
285
|
+
await handle.sync();
|
|
286
|
+
}
|
|
287
|
+
finally {
|
|
288
|
+
if (handle) {
|
|
289
|
+
await handle.close();
|
|
290
|
+
}
|
|
122
291
|
}
|
|
123
|
-
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n', { mode: 0o600 });
|
|
124
|
-
}
|
|
125
|
-
/** Maximum number of backups to keep (oldest are deleted) */
|
|
126
|
-
const MAX_BACKUPS = 10;
|
|
127
|
-
/** Check if path is a symlink (security check) */
|
|
128
|
-
function isSymlink(filePath) {
|
|
129
292
|
try {
|
|
130
|
-
|
|
131
|
-
|
|
293
|
+
await fs.promises.rename(tmpPath, settingsPath);
|
|
294
|
+
}
|
|
295
|
+
catch (error) {
|
|
296
|
+
try {
|
|
297
|
+
await fs.promises.unlink(tmpPath);
|
|
298
|
+
}
|
|
299
|
+
catch {
|
|
300
|
+
// Best-effort cleanup.
|
|
301
|
+
}
|
|
302
|
+
throw error;
|
|
303
|
+
}
|
|
304
|
+
try {
|
|
305
|
+
await fs.promises.chmod(settingsPath, 0o600);
|
|
132
306
|
}
|
|
133
307
|
catch {
|
|
134
|
-
|
|
308
|
+
// Best-effort permission hardening.
|
|
135
309
|
}
|
|
136
310
|
}
|
|
311
|
+
/** Maximum number of backups to keep (oldest are deleted) */
|
|
312
|
+
const MAX_BACKUPS = 10;
|
|
137
313
|
/** Create backup of settings.json with proper permissions and rotation */
|
|
138
|
-
function createBackup() {
|
|
314
|
+
async function createBackup() {
|
|
139
315
|
const settingsPath = (0, claude_config_path_1.getClaudeSettingsPath)();
|
|
140
|
-
if (!
|
|
316
|
+
if (!(await pathExists(settingsPath))) {
|
|
141
317
|
throw new Error('No settings.json to backup');
|
|
142
318
|
}
|
|
143
|
-
|
|
144
|
-
if (isSymlink(settingsPath)) {
|
|
145
|
-
throw new Error('settings.json is a symlink - refusing to backup for security');
|
|
146
|
-
}
|
|
319
|
+
const settingsContent = await readFileUtf8NoFollow(settingsPath);
|
|
147
320
|
const now = new Date();
|
|
148
321
|
const timestamp = now.getFullYear().toString() +
|
|
149
322
|
(now.getMonth() + 1).toString().padStart(2, '0') +
|
|
@@ -153,9 +326,24 @@ function createBackup() {
|
|
|
153
326
|
now.getMinutes().toString().padStart(2, '0') +
|
|
154
327
|
now.getSeconds().toString().padStart(2, '0');
|
|
155
328
|
const backupPath = `${settingsPath}.backup.${timestamp}`;
|
|
156
|
-
fs.
|
|
157
|
-
|
|
158
|
-
|
|
329
|
+
const flags = fs.constants.O_WRONLY | fs.constants.O_CREAT | fs.constants.O_EXCL | getNoFollowFlag();
|
|
330
|
+
let handle;
|
|
331
|
+
try {
|
|
332
|
+
handle = await fs.promises.open(backupPath, flags, 0o600);
|
|
333
|
+
await handle.writeFile(settingsContent, { encoding: 'utf8' });
|
|
334
|
+
await handle.sync();
|
|
335
|
+
}
|
|
336
|
+
finally {
|
|
337
|
+
if (handle) {
|
|
338
|
+
await handle.close();
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
try {
|
|
342
|
+
await fs.promises.chmod(backupPath, 0o600);
|
|
343
|
+
}
|
|
344
|
+
catch {
|
|
345
|
+
// Best-effort permission hardening.
|
|
346
|
+
}
|
|
159
347
|
// Cleanup: Rotate old backups (keep only MAX_BACKUPS)
|
|
160
348
|
cleanupOldBackups();
|
|
161
349
|
return backupPath;
|
|
@@ -169,8 +357,8 @@ function cleanupOldBackups() {
|
|
|
169
357
|
try {
|
|
170
358
|
fs.unlinkSync(backup.path);
|
|
171
359
|
}
|
|
172
|
-
catch {
|
|
173
|
-
|
|
360
|
+
catch (error) {
|
|
361
|
+
console.log((0, ui_1.warn)(`Failed to delete old backup ${formatDisplayPath(backup.path)}: ${error.message}`));
|
|
174
362
|
}
|
|
175
363
|
}
|
|
176
364
|
}
|
|
@@ -233,6 +421,40 @@ function maskApiKey(key) {
|
|
|
233
421
|
}
|
|
234
422
|
return `${key.slice(0, 4)}...${key.slice(-4)}`;
|
|
235
423
|
}
|
|
424
|
+
const SENSITIVE_ENV_PARTS = new Set([
|
|
425
|
+
'TOKEN',
|
|
426
|
+
'KEY',
|
|
427
|
+
'SECRET',
|
|
428
|
+
'PASSWORD',
|
|
429
|
+
'PASS',
|
|
430
|
+
'AUTH',
|
|
431
|
+
'CREDENTIAL',
|
|
432
|
+
'PRIVATE',
|
|
433
|
+
'ACCESS',
|
|
434
|
+
'REFRESH',
|
|
435
|
+
'APIKEY',
|
|
436
|
+
]);
|
|
437
|
+
function splitSensitiveKeyParts(key) {
|
|
438
|
+
const withCamelCaseBoundaries = key.replace(/([a-z0-9])([A-Z])/g, '$1_$2');
|
|
439
|
+
return withCamelCaseBoundaries
|
|
440
|
+
.toUpperCase()
|
|
441
|
+
.split(/[^A-Z0-9]+/)
|
|
442
|
+
.filter(Boolean);
|
|
443
|
+
}
|
|
444
|
+
function isSensitiveEnvKey(key) {
|
|
445
|
+
const parts = splitSensitiveKeyParts(key);
|
|
446
|
+
if (parts.some((part) => SENSITIVE_ENV_PARTS.has(part))) {
|
|
447
|
+
return true;
|
|
448
|
+
}
|
|
449
|
+
const compact = parts.join('');
|
|
450
|
+
return (compact.includes('TOKEN') ||
|
|
451
|
+
compact.includes('APIKEY') ||
|
|
452
|
+
compact.includes('ACCESSKEY') ||
|
|
453
|
+
compact.includes('AUTHKEY') ||
|
|
454
|
+
compact.includes('SECRET') ||
|
|
455
|
+
compact.includes('PASSWORD') ||
|
|
456
|
+
compact.includes('CREDENTIAL'));
|
|
457
|
+
}
|
|
236
458
|
/** Resolve env vars for a profile */
|
|
237
459
|
async function resolveProfileEnvVars(profileName, profileResult) {
|
|
238
460
|
switch (profileResult.type) {
|
|
@@ -343,14 +565,10 @@ async function handleRestore(timestamp, yes) {
|
|
|
343
565
|
process.exit(0);
|
|
344
566
|
}
|
|
345
567
|
}
|
|
346
|
-
|
|
568
|
+
let parsedBackupSettings;
|
|
347
569
|
try {
|
|
348
|
-
const backupContent =
|
|
349
|
-
|
|
350
|
-
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
351
|
-
console.log((0, ui_1.fail)('Backup file is corrupted: not a valid JSON object'));
|
|
352
|
-
process.exit(1);
|
|
353
|
-
}
|
|
570
|
+
const backupContent = await readFileUtf8NoFollow(backup.path);
|
|
571
|
+
parsedBackupSettings = parseSettingsObject(backupContent, 'Backup file');
|
|
354
572
|
}
|
|
355
573
|
catch (error) {
|
|
356
574
|
const nodeError = error;
|
|
@@ -358,22 +576,46 @@ async function handleRestore(timestamp, yes) {
|
|
|
358
576
|
console.log((0, ui_1.fail)('Backup was deleted during restore'));
|
|
359
577
|
process.exit(1);
|
|
360
578
|
}
|
|
579
|
+
if (nodeError.code === 'ELOOP') {
|
|
580
|
+
console.log((0, ui_1.fail)('Backup file is a symlink - refusing to restore for security'));
|
|
581
|
+
process.exit(1);
|
|
582
|
+
}
|
|
361
583
|
console.log((0, ui_1.fail)(`Backup file is corrupted: ${error.message}`));
|
|
362
584
|
process.exit(1);
|
|
363
585
|
}
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
586
|
+
try {
|
|
587
|
+
await withPersistSettingsLock(async () => {
|
|
588
|
+
const settingsPath = (0, claude_config_path_1.getClaudeSettingsPath)();
|
|
589
|
+
if (await isSymlinkAsync(settingsPath)) {
|
|
590
|
+
throw new Error('settings.json is a symlink - refusing to restore for security');
|
|
591
|
+
}
|
|
592
|
+
let rollbackBackupPath = null;
|
|
593
|
+
if (await pathExists(settingsPath)) {
|
|
594
|
+
rollbackBackupPath = await createBackup();
|
|
595
|
+
}
|
|
596
|
+
try {
|
|
597
|
+
await writeClaudeSettings(parsedBackupSettings);
|
|
598
|
+
}
|
|
599
|
+
catch (error) {
|
|
600
|
+
const writeError = error;
|
|
601
|
+
if (rollbackBackupPath) {
|
|
602
|
+
try {
|
|
603
|
+
const rollbackContent = await readFileUtf8NoFollow(rollbackBackupPath);
|
|
604
|
+
const rollbackSettings = parseSettingsObject(rollbackContent, 'Rollback backup');
|
|
605
|
+
await writeClaudeSettings(rollbackSettings);
|
|
606
|
+
}
|
|
607
|
+
catch (rollbackError) {
|
|
608
|
+
throw new Error(`Restore failed: ${writeError.message}. Rollback also failed: ${rollbackError.message}. Manual recovery backup: ${formatDisplayPath(rollbackBackupPath)}`);
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
throw new Error(`Restore failed: ${writeError.message}`);
|
|
612
|
+
}
|
|
613
|
+
});
|
|
368
614
|
}
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
// Security: Reject symlink target
|
|
372
|
-
if (isSymlink(settingsPath)) {
|
|
373
|
-
console.log((0, ui_1.fail)('settings.json is a symlink - refusing to restore for security'));
|
|
615
|
+
catch (error) {
|
|
616
|
+
console.log((0, ui_1.fail)(error.message));
|
|
374
617
|
process.exit(1);
|
|
375
618
|
}
|
|
376
|
-
fs.copyFileSync(backup.path, settingsPath);
|
|
377
619
|
console.log((0, ui_1.ok)(`Restored from backup: ${backup.timestamp}`));
|
|
378
620
|
}
|
|
379
621
|
/** Show help for persist command */
|
|
@@ -395,6 +637,9 @@ async function showHelp() {
|
|
|
395
637
|
console.log('');
|
|
396
638
|
console.log((0, ui_1.subheader)('Options'));
|
|
397
639
|
console.log(` ${(0, ui_1.color)('--yes, -y', 'command')} Skip confirmation prompts (auto-backup)`);
|
|
640
|
+
console.log(` ${(0, ui_1.color)('--permission-mode <mode>', 'command')} Set default permission mode in settings.json`);
|
|
641
|
+
console.log(` ${(0, ui_1.color)('--dangerously-skip-permissions', 'command')} Persist auto-approve (bypassPermissions)`);
|
|
642
|
+
console.log(` ${(0, ui_1.color)('--auto-approve', 'command')} Alias for --dangerously-skip-permissions`);
|
|
398
643
|
console.log(` ${(0, ui_1.color)('--help, -h', 'command')} Show this help message`);
|
|
399
644
|
console.log('');
|
|
400
645
|
console.log((0, ui_1.subheader)('Backup Management'));
|
|
@@ -415,6 +660,12 @@ async function showHelp() {
|
|
|
415
660
|
console.log(` ${(0, ui_1.dim)('# Persist with auto-confirmation')}`);
|
|
416
661
|
console.log(` ${(0, ui_1.color)('ccs persist gemini --yes', 'command')}`);
|
|
417
662
|
console.log('');
|
|
663
|
+
console.log(` ${(0, ui_1.dim)('# Persist with default permission mode')}`);
|
|
664
|
+
console.log(` ${(0, ui_1.color)('ccs persist glm --permission-mode acceptEdits', 'command')}`);
|
|
665
|
+
console.log('');
|
|
666
|
+
console.log(` ${(0, ui_1.dim)('# Persist with auto-approve enabled')}`);
|
|
667
|
+
console.log(` ${(0, ui_1.color)('ccs persist codex --dangerously-skip-permissions', 'command')}`);
|
|
668
|
+
console.log('');
|
|
418
669
|
console.log(` ${(0, ui_1.dim)('# List all backups')}`);
|
|
419
670
|
console.log(` ${(0, ui_1.color)('ccs persist --list-backups', 'command')}`);
|
|
420
671
|
console.log('');
|
|
@@ -438,6 +689,9 @@ async function handlePersistCommand(args) {
|
|
|
438
689
|
return;
|
|
439
690
|
}
|
|
440
691
|
const parsedArgs = parseArgs(args);
|
|
692
|
+
if (parsedArgs.parseError) {
|
|
693
|
+
throw new Error(parsedArgs.parseError);
|
|
694
|
+
}
|
|
441
695
|
// Handle --list-backups
|
|
442
696
|
if (parsedArgs.listBackups) {
|
|
443
697
|
await handleListBackups();
|
|
@@ -449,6 +703,7 @@ async function handlePersistCommand(args) {
|
|
|
449
703
|
return;
|
|
450
704
|
}
|
|
451
705
|
await (0, ui_1.initUI)();
|
|
706
|
+
const resolvedPermissionMode = resolvePermissionMode(parsedArgs);
|
|
452
707
|
if (!parsedArgs.profile) {
|
|
453
708
|
console.log((0, ui_1.fail)('Profile name is required'));
|
|
454
709
|
console.log('');
|
|
@@ -499,12 +754,17 @@ async function handlePersistCommand(args) {
|
|
|
499
754
|
const maxKeyLen = Math.max(...envKeys.map((k) => k.length));
|
|
500
755
|
for (const [key, value] of Object.entries(resolved.env)) {
|
|
501
756
|
const paddedKey = key.padEnd(maxKeyLen + 2);
|
|
502
|
-
const displayValue = key
|
|
503
|
-
? maskApiKey(value)
|
|
504
|
-
: value;
|
|
757
|
+
const displayValue = isSensitiveEnvKey(key) ? maskApiKey(value) : value;
|
|
505
758
|
console.log(` ${(0, ui_1.color)(paddedKey, 'command')} = ${displayValue}`);
|
|
506
759
|
}
|
|
507
760
|
console.log('');
|
|
761
|
+
if (resolvedPermissionMode) {
|
|
762
|
+
console.log(`Default permission mode: ${(0, ui_1.color)(resolvedPermissionMode, 'command')}`);
|
|
763
|
+
if (resolvedPermissionMode === 'bypassPermissions') {
|
|
764
|
+
console.log((0, ui_1.warn)('Auto-approve enabled: Claude will skip permission prompts by default.'));
|
|
765
|
+
}
|
|
766
|
+
console.log('');
|
|
767
|
+
}
|
|
508
768
|
// Show warning if applicable
|
|
509
769
|
if (resolved.warning) {
|
|
510
770
|
console.log((0, ui_1.warn)(resolved.warning));
|
|
@@ -517,27 +777,17 @@ async function handlePersistCommand(args) {
|
|
|
517
777
|
// Check if settings.json exists for backup
|
|
518
778
|
const settingsPath = (0, claude_config_path_1.getClaudeSettingsPath)();
|
|
519
779
|
const settingsExist = fs.existsSync(settingsPath);
|
|
780
|
+
let createBackupFlag = false;
|
|
520
781
|
// Track backup path for error recovery guidance
|
|
521
782
|
let createdBackupPath = null;
|
|
522
783
|
// Backup prompt (unless --yes)
|
|
523
784
|
if (settingsExist) {
|
|
524
|
-
|
|
785
|
+
createBackupFlag = parsedArgs.yes === true; // Auto-backup with --yes
|
|
525
786
|
if (!parsedArgs.yes) {
|
|
526
787
|
createBackupFlag = await prompt_1.InteractivePrompt.confirm('Create backup before modifying?', {
|
|
527
788
|
default: true,
|
|
528
789
|
});
|
|
529
790
|
}
|
|
530
|
-
if (createBackupFlag) {
|
|
531
|
-
try {
|
|
532
|
-
createdBackupPath = createBackup();
|
|
533
|
-
console.log((0, ui_1.ok)(`Backup created: ${formatDisplayPath(createdBackupPath)}`));
|
|
534
|
-
console.log('');
|
|
535
|
-
}
|
|
536
|
-
catch (error) {
|
|
537
|
-
console.log((0, ui_1.fail)(`Failed to create backup: ${error.message}`));
|
|
538
|
-
process.exit(1);
|
|
539
|
-
}
|
|
540
|
-
}
|
|
541
791
|
}
|
|
542
792
|
// Proceed confirmation (unless --yes)
|
|
543
793
|
if (!parsedArgs.yes) {
|
|
@@ -547,32 +797,71 @@ async function handlePersistCommand(args) {
|
|
|
547
797
|
process.exit(0);
|
|
548
798
|
}
|
|
549
799
|
}
|
|
550
|
-
// Read existing settings and merge
|
|
551
|
-
const existingSettings = readClaudeSettings();
|
|
552
|
-
// Validate existing env is an object (not array/primitive)
|
|
553
|
-
const rawEnv = existingSettings.env;
|
|
554
|
-
let existingEnv = {};
|
|
555
|
-
if (rawEnv !== undefined && rawEnv !== null) {
|
|
556
|
-
if (typeof rawEnv !== 'object' || Array.isArray(rawEnv)) {
|
|
557
|
-
console.log((0, ui_1.warn)('Existing env in settings.json is not an object - it will be replaced'));
|
|
558
|
-
}
|
|
559
|
-
else {
|
|
560
|
-
existingEnv = rawEnv;
|
|
561
|
-
}
|
|
562
|
-
}
|
|
563
|
-
const mergedSettings = {
|
|
564
|
-
...existingSettings,
|
|
565
|
-
env: {
|
|
566
|
-
...existingEnv,
|
|
567
|
-
...resolved.env,
|
|
568
|
-
},
|
|
569
|
-
};
|
|
570
|
-
// Write merged settings
|
|
571
800
|
try {
|
|
572
|
-
|
|
801
|
+
await withPersistSettingsLock(async () => {
|
|
802
|
+
if (createBackupFlag && (await pathExists(settingsPath))) {
|
|
803
|
+
try {
|
|
804
|
+
createdBackupPath = await createBackup();
|
|
805
|
+
console.log((0, ui_1.ok)(`Backup created: ${formatDisplayPath(createdBackupPath)}`));
|
|
806
|
+
console.log('');
|
|
807
|
+
}
|
|
808
|
+
catch (error) {
|
|
809
|
+
throw new Error(`Failed to create backup: ${error.message}`);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
// Read existing settings and merge
|
|
813
|
+
const existingSettings = await readClaudeSettings();
|
|
814
|
+
// Validate existing env is an object (not array/primitive)
|
|
815
|
+
const rawEnv = existingSettings.env;
|
|
816
|
+
let existingEnv = {};
|
|
817
|
+
if (rawEnv !== undefined) {
|
|
818
|
+
if (rawEnv === null) {
|
|
819
|
+
console.log((0, ui_1.warn)('Existing env in settings.json is null - it will be replaced'));
|
|
820
|
+
}
|
|
821
|
+
else if (typeof rawEnv !== 'object' || Array.isArray(rawEnv)) {
|
|
822
|
+
console.log((0, ui_1.warn)('Existing env in settings.json is not an object - it will be replaced'));
|
|
823
|
+
}
|
|
824
|
+
else {
|
|
825
|
+
existingEnv = rawEnv;
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
const mergedSettings = {
|
|
829
|
+
...existingSettings,
|
|
830
|
+
env: {
|
|
831
|
+
...existingEnv,
|
|
832
|
+
...resolved.env,
|
|
833
|
+
},
|
|
834
|
+
};
|
|
835
|
+
if (resolvedPermissionMode) {
|
|
836
|
+
const rawPermissions = existingSettings.permissions;
|
|
837
|
+
let existingPermissions = {};
|
|
838
|
+
if (rawPermissions !== undefined) {
|
|
839
|
+
if (rawPermissions === null) {
|
|
840
|
+
console.log((0, ui_1.warn)('Existing permissions in settings.json is null - it will be replaced'));
|
|
841
|
+
}
|
|
842
|
+
else if (typeof rawPermissions !== 'object' || Array.isArray(rawPermissions)) {
|
|
843
|
+
console.log((0, ui_1.warn)('Existing permissions in settings.json is not an object - it will be replaced'));
|
|
844
|
+
}
|
|
845
|
+
else {
|
|
846
|
+
existingPermissions = rawPermissions;
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
mergedSettings.permissions = {
|
|
850
|
+
...existingPermissions,
|
|
851
|
+
defaultMode: resolvedPermissionMode,
|
|
852
|
+
};
|
|
853
|
+
}
|
|
854
|
+
await writeClaudeSettings(mergedSettings);
|
|
855
|
+
});
|
|
573
856
|
}
|
|
574
857
|
catch (error) {
|
|
575
|
-
|
|
858
|
+
const message = error.message;
|
|
859
|
+
if (message.startsWith('Failed to create backup:')) {
|
|
860
|
+
console.log((0, ui_1.fail)(message));
|
|
861
|
+
}
|
|
862
|
+
else {
|
|
863
|
+
console.log((0, ui_1.fail)(`Failed to write settings: ${message}`));
|
|
864
|
+
}
|
|
576
865
|
if (createdBackupPath) {
|
|
577
866
|
console.log('');
|
|
578
867
|
console.log((0, ui_1.info)(`A backup was created before this error:`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persist-command.js","sourceRoot":"","sources":["../../src/commands/persist-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persist-command.js","sourceRoot":"","sources":["../../src/commands/persist-command.ts"],"names":[],"mappings":"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"}
|