oh-my-claude-sisyphus 1.4.1 → 1.5.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/dist/features/auto-update.d.ts +52 -0
- package/dist/features/auto-update.d.ts.map +1 -1
- package/dist/features/auto-update.js +167 -0
- package/dist/features/auto-update.js.map +1 -1
- package/dist/features/index.d.ts +1 -1
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/index.js +3 -1
- package/dist/features/index.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.js +1 -1
- package/package.json +1 -1
- package/scripts/install.sh +181 -3
|
@@ -112,4 +112,56 @@ export declare function backgroundUpdateCheck(callback?: (result: UpdateCheckRes
|
|
|
112
112
|
* CLI helper: perform interactive update
|
|
113
113
|
*/
|
|
114
114
|
export declare function interactiveUpdate(): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* Silent auto-update configuration
|
|
117
|
+
*/
|
|
118
|
+
export interface SilentUpdateConfig {
|
|
119
|
+
/** Minimum hours between update checks (default: 24) */
|
|
120
|
+
checkIntervalHours?: number;
|
|
121
|
+
/** Whether to auto-apply updates without confirmation (default: true) */
|
|
122
|
+
autoApply?: boolean;
|
|
123
|
+
/** Log file path for silent update activity (optional) */
|
|
124
|
+
logFile?: string;
|
|
125
|
+
/** Maximum retries on failure (default: 3) */
|
|
126
|
+
maxRetries?: number;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Perform a completely silent update check and installation
|
|
130
|
+
*
|
|
131
|
+
* This function runs without any user interaction or console output.
|
|
132
|
+
* It's designed to be called from hooks or startup scripts to keep
|
|
133
|
+
* the system updated automatically without user awareness.
|
|
134
|
+
*
|
|
135
|
+
* Features:
|
|
136
|
+
* - Rate-limited to prevent excessive checks
|
|
137
|
+
* - Exponential backoff on failures
|
|
138
|
+
* - Optional logging to file for debugging
|
|
139
|
+
* - Tracks pending restart state
|
|
140
|
+
*
|
|
141
|
+
* @param config - Silent update configuration
|
|
142
|
+
* @returns Promise resolving to update result or null if skipped
|
|
143
|
+
*/
|
|
144
|
+
export declare function silentAutoUpdate(config?: SilentUpdateConfig): Promise<UpdateResult | null>;
|
|
145
|
+
/**
|
|
146
|
+
* Check if there's a pending restart after a silent update
|
|
147
|
+
*/
|
|
148
|
+
export declare function hasPendingUpdateRestart(): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Clear the pending restart flag (call after notifying user or restart)
|
|
151
|
+
*/
|
|
152
|
+
export declare function clearPendingUpdateRestart(): void;
|
|
153
|
+
/**
|
|
154
|
+
* Get the version that was silently updated to (if pending restart)
|
|
155
|
+
*/
|
|
156
|
+
export declare function getPendingUpdateVersion(): string | null;
|
|
157
|
+
/**
|
|
158
|
+
* Initialize silent auto-update on startup
|
|
159
|
+
*
|
|
160
|
+
* This is the main entry point for the silent update system.
|
|
161
|
+
* Call this function once when the application starts or from a hook.
|
|
162
|
+
* It runs the update check completely in the background without blocking.
|
|
163
|
+
*
|
|
164
|
+
* @param config - Silent update configuration
|
|
165
|
+
*/
|
|
166
|
+
export declare function initSilentAutoUpdate(config?: SilentUpdateConfig): void;
|
|
115
167
|
//# sourceMappingURL=auto-update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/features/auto-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,oCAAoC;AACpC,eAAO,MAAM,UAAU,gBAAgB,CAAC;AACxC,eAAO,MAAM,SAAS,0BAA0B,CAAC;AACjD,eAAO,MAAM,cAAc,mEAA4D,CAAC;AACxF,eAAO,MAAM,cAAc,wEAAiE,CAAC;AAE7F,yBAAyB;AACzB,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,YAAY,QAAoD,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,aAAa,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,GAAG,IAAI,CA8B5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAMnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAM1C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,CAqC/D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB5D;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAmBlE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,YAAY,CAAC,CAyExB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,CA8B/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,GAAE,MAAW,GAAG,OAAO,CAYzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI,CAqB1F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BvD"}
|
|
1
|
+
{"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/features/auto-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,oCAAoC;AACpC,eAAO,MAAM,UAAU,gBAAgB,CAAC;AACxC,eAAO,MAAM,SAAS,0BAA0B,CAAC;AACjD,eAAO,MAAM,cAAc,mEAA4D,CAAC;AACxF,eAAO,MAAM,cAAc,wEAAiE,CAAC;AAE7F,yBAAyB;AACzB,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,YAAY,QAAoD,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,aAAa,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,GAAG,IAAI,CA8B5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAMnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAM1C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,CAqC/D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB5D;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAmBlE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,YAAY,CAAC,CAyExB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,CA8B/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,GAAE,MAAW,GAAG,OAAO,CAYzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI,CAqB1F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BvD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA0DD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAkFpG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAGjD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAGvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,kBAAuB,GAAG,IAAI,CAK1E"}
|
|
@@ -323,4 +323,171 @@ export async function interactiveUpdate() {
|
|
|
323
323
|
process.exit(1);
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
|
+
/** State file for tracking silent update status */
|
|
327
|
+
const SILENT_UPDATE_STATE_FILE = join(CLAUDE_CONFIG_DIR, '.sisyphus-silent-update.json');
|
|
328
|
+
/**
|
|
329
|
+
* Read silent update state
|
|
330
|
+
*/
|
|
331
|
+
function getSilentUpdateState() {
|
|
332
|
+
if (!existsSync(SILENT_UPDATE_STATE_FILE)) {
|
|
333
|
+
return { consecutiveFailures: 0, pendingRestart: false };
|
|
334
|
+
}
|
|
335
|
+
try {
|
|
336
|
+
return JSON.parse(readFileSync(SILENT_UPDATE_STATE_FILE, 'utf-8'));
|
|
337
|
+
}
|
|
338
|
+
catch {
|
|
339
|
+
return { consecutiveFailures: 0, pendingRestart: false };
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Save silent update state
|
|
344
|
+
*/
|
|
345
|
+
function saveSilentUpdateState(state) {
|
|
346
|
+
const dir = dirname(SILENT_UPDATE_STATE_FILE);
|
|
347
|
+
if (!existsSync(dir)) {
|
|
348
|
+
mkdirSync(dir, { recursive: true });
|
|
349
|
+
}
|
|
350
|
+
writeFileSync(SILENT_UPDATE_STATE_FILE, JSON.stringify(state, null, 2));
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Log message to silent update log file (if configured)
|
|
354
|
+
*/
|
|
355
|
+
function silentLog(message, logFile) {
|
|
356
|
+
const timestamp = new Date().toISOString();
|
|
357
|
+
const logMessage = `[${timestamp}] ${message}\n`;
|
|
358
|
+
if (logFile) {
|
|
359
|
+
try {
|
|
360
|
+
const dir = dirname(logFile);
|
|
361
|
+
if (!existsSync(dir)) {
|
|
362
|
+
mkdirSync(dir, { recursive: true });
|
|
363
|
+
}
|
|
364
|
+
writeFileSync(logFile, logMessage, { flag: 'a' });
|
|
365
|
+
}
|
|
366
|
+
catch {
|
|
367
|
+
// Silently ignore log errors
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Perform a completely silent update check and installation
|
|
373
|
+
*
|
|
374
|
+
* This function runs without any user interaction or console output.
|
|
375
|
+
* It's designed to be called from hooks or startup scripts to keep
|
|
376
|
+
* the system updated automatically without user awareness.
|
|
377
|
+
*
|
|
378
|
+
* Features:
|
|
379
|
+
* - Rate-limited to prevent excessive checks
|
|
380
|
+
* - Exponential backoff on failures
|
|
381
|
+
* - Optional logging to file for debugging
|
|
382
|
+
* - Tracks pending restart state
|
|
383
|
+
*
|
|
384
|
+
* @param config - Silent update configuration
|
|
385
|
+
* @returns Promise resolving to update result or null if skipped
|
|
386
|
+
*/
|
|
387
|
+
export async function silentAutoUpdate(config = {}) {
|
|
388
|
+
const { checkIntervalHours = 24, autoApply = true, logFile = join(CLAUDE_CONFIG_DIR, '.sisyphus-update.log'), maxRetries = 3 } = config;
|
|
389
|
+
const state = getSilentUpdateState();
|
|
390
|
+
// Check rate limiting
|
|
391
|
+
if (!shouldCheckForUpdates(checkIntervalHours)) {
|
|
392
|
+
return null;
|
|
393
|
+
}
|
|
394
|
+
// Check for consecutive failures and apply exponential backoff
|
|
395
|
+
if (state.consecutiveFailures >= maxRetries) {
|
|
396
|
+
const backoffHours = Math.min(24 * state.consecutiveFailures, 168); // Max 1 week
|
|
397
|
+
const lastAttempt = state.lastAttempt ? new Date(state.lastAttempt).getTime() : 0;
|
|
398
|
+
const hoursSinceLastAttempt = (Date.now() - lastAttempt) / (1000 * 60 * 60);
|
|
399
|
+
if (hoursSinceLastAttempt < backoffHours) {
|
|
400
|
+
silentLog(`Skipping update check (in backoff period: ${backoffHours}h)`, logFile);
|
|
401
|
+
return null;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
silentLog('Starting silent update check...', logFile);
|
|
405
|
+
state.lastAttempt = new Date().toISOString();
|
|
406
|
+
try {
|
|
407
|
+
// Check for updates
|
|
408
|
+
const checkResult = await checkForUpdates();
|
|
409
|
+
if (!checkResult.updateAvailable) {
|
|
410
|
+
silentLog(`No update available (current: ${checkResult.currentVersion})`, logFile);
|
|
411
|
+
state.consecutiveFailures = 0;
|
|
412
|
+
state.pendingRestart = false;
|
|
413
|
+
saveSilentUpdateState(state);
|
|
414
|
+
return null;
|
|
415
|
+
}
|
|
416
|
+
silentLog(`Update available: ${checkResult.currentVersion} -> ${checkResult.latestVersion}`, logFile);
|
|
417
|
+
if (!autoApply) {
|
|
418
|
+
silentLog('Auto-apply disabled, skipping installation', logFile);
|
|
419
|
+
return null;
|
|
420
|
+
}
|
|
421
|
+
// Perform the update silently
|
|
422
|
+
const result = await performUpdate({
|
|
423
|
+
skipConfirmation: true,
|
|
424
|
+
verbose: false
|
|
425
|
+
});
|
|
426
|
+
if (result.success) {
|
|
427
|
+
silentLog(`Update successful: ${result.previousVersion} -> ${result.newVersion}`, logFile);
|
|
428
|
+
state.consecutiveFailures = 0;
|
|
429
|
+
state.pendingRestart = true;
|
|
430
|
+
state.lastSuccess = new Date().toISOString();
|
|
431
|
+
state.lastVersion = result.newVersion;
|
|
432
|
+
saveSilentUpdateState(state);
|
|
433
|
+
return result;
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
silentLog(`Update failed: ${result.message}`, logFile);
|
|
437
|
+
state.consecutiveFailures++;
|
|
438
|
+
saveSilentUpdateState(state);
|
|
439
|
+
return result;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
catch (error) {
|
|
443
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
444
|
+
silentLog(`Update check error: ${errorMessage}`, logFile);
|
|
445
|
+
state.consecutiveFailures++;
|
|
446
|
+
saveSilentUpdateState(state);
|
|
447
|
+
return {
|
|
448
|
+
success: false,
|
|
449
|
+
previousVersion: null,
|
|
450
|
+
newVersion: 'unknown',
|
|
451
|
+
message: `Silent update failed: ${errorMessage}`,
|
|
452
|
+
errors: [errorMessage]
|
|
453
|
+
};
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
/**
|
|
457
|
+
* Check if there's a pending restart after a silent update
|
|
458
|
+
*/
|
|
459
|
+
export function hasPendingUpdateRestart() {
|
|
460
|
+
const state = getSilentUpdateState();
|
|
461
|
+
return state.pendingRestart;
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Clear the pending restart flag (call after notifying user or restart)
|
|
465
|
+
*/
|
|
466
|
+
export function clearPendingUpdateRestart() {
|
|
467
|
+
const state = getSilentUpdateState();
|
|
468
|
+
state.pendingRestart = false;
|
|
469
|
+
saveSilentUpdateState(state);
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Get the version that was silently updated to (if pending restart)
|
|
473
|
+
*/
|
|
474
|
+
export function getPendingUpdateVersion() {
|
|
475
|
+
const state = getSilentUpdateState();
|
|
476
|
+
return state.pendingRestart ? (state.lastVersion ?? null) : null;
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Initialize silent auto-update on startup
|
|
480
|
+
*
|
|
481
|
+
* This is the main entry point for the silent update system.
|
|
482
|
+
* Call this function once when the application starts or from a hook.
|
|
483
|
+
* It runs the update check completely in the background without blocking.
|
|
484
|
+
*
|
|
485
|
+
* @param config - Silent update configuration
|
|
486
|
+
*/
|
|
487
|
+
export function initSilentAutoUpdate(config = {}) {
|
|
488
|
+
// Run update check in background without blocking
|
|
489
|
+
silentAutoUpdate(config).catch(() => {
|
|
490
|
+
// Silently ignore any errors - they're already logged
|
|
491
|
+
});
|
|
492
|
+
}
|
|
326
493
|
//# sourceMappingURL=auto-update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/features/auto-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,oCAAoC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AACxC,MAAM,CAAC,MAAM,SAAS,GAAG,uBAAuB,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,gCAAgC,UAAU,IAAI,SAAS,EAAE,CAAC;AACxF,MAAM,CAAC,MAAM,cAAc,GAAG,qCAAqC,UAAU,IAAI,SAAS,EAAE,CAAC;AAE7F,yBAAyB;AACzB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;AAqD9E;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,+DAA+D;QAC/D,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,sDAAsD,EAAE;gBAC9E,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,CAAC;gBAC1D,OAAO;oBACL,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,OAAO;oBAC3D,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACrC,aAAa,EAAE,KAAK;iBACrB,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAyB;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,cAAc,kBAAkB,EAAE;QAChE,OAAO,EAAE;YACP,QAAQ,EAAE,gCAAgC;YAC1C,YAAY,EAAE,+BAA+B;SAC9C;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,mEAAmE;QACnE,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,GAAG,cAAc,oBAAoB,EAAE;YACrE,OAAO,EAAE;gBACP,YAAY,EAAE,+BAA+B;aAC9C;SACF,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAyB,CAAC;YAC5D,OAAO;gBACL,QAAQ,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;gBAC3B,IAAI,EAAE,WAAW,GAAG,CAAC,OAAO,EAAE;gBAC9B,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACtC,QAAQ,EAAE,sBAAsB,UAAU,IAAI,SAAS,EAAE;gBACzD,IAAI,EAAE,wDAAwD;gBAC9D,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,KAAK;aACb,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAiB,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,+BAA+B;IAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE3C,MAAM,cAAc,GAAG,SAAS,EAAE,OAAO,IAAI,IAAI,CAAC;IAClD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,cAAc,KAAK,IAAI,IAAI,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAEtG,yBAAyB;IACzB,mBAAmB,EAAE,CAAC;IAEtB,OAAO;QACL,cAAc;QACd,aAAa;QACb,eAAe;QACf,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,OAAO,CAAC,IAAI,IAAI,6BAA6B;KAC5D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAGnC;IACC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,eAAe,GAAG,SAAS,EAAE,OAAO,IAAI,IAAI,CAAC;IAEnD,IAAI,CAAC;QACH,8CAA8C;QAC9C,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtD,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,GAAG,cAAc,0BAA0B,CAAC;QACrE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE5C,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAErE,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1D,6BAA6B;QAC7B,IAAI,CAAC;YACH,QAAQ,CAAC,SAAS,UAAU,GAAG,EAAE;gBAC/B,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;gBAC5C,OAAO,EAAE,KAAK,CAAC,mBAAmB;aACnC,CAAC,CAAC;YAEH,0BAA0B;YAC1B,mBAAmB,CAAC;gBAClB,OAAO,EAAE,UAAU;gBACnB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,aAAa,EAAE,QAAQ;gBACvB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;YAEH,qBAAqB;YACrB,IAAI,CAAC;gBACH,UAAU,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,eAAe;gBACf,UAAU;gBACV,OAAO,EAAE,6BAA6B,eAAe,IAAI,SAAS,OAAO,UAAU,EAAE;aACtF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kCAAkC;YAClC,IAAI,CAAC;gBACH,UAAU,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO;YACL,OAAO,EAAE,KAAK;YACd,eAAe;YACf,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,kBAAkB,YAAY,EAAE;YACzC,MAAM,EAAE,CAAC,YAAY,CAAC;SACvB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAA8B;IACrE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QACjC,OAAO,yCAAyC,WAAW,CAAC,cAAc,IAAI,SAAS,GAAG,CAAC;IAC7F,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,+DAA+D;QAC/D,+DAA+D;QAC/D,+DAA+D;QAC/D,EAAE;QACF,sBAAsB,WAAW,CAAC,cAAc,IAAI,SAAS,EAAE;QAC/D,sBAAsB,WAAW,CAAC,aAAa,EAAE;QACjD,EAAE;QACF,2BAA2B;QAC3B,yHAAyH;QACzH,EAAE;KACH,CAAC;IAEF,2CAA2C;IAC3C,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,KAAK,6BAA6B,EAAE,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,gBAAwB,EAAE;IAC9D,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,mBAAmB,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAEjE,OAAO,mBAAmB,IAAI,aAAa,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA8C;IAClF,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,gDAAgD;IAChD,eAAe,EAAE;SACd,IAAI,CAAC,MAAM,CAAC,EAAE;QACb,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAClC,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC;SACD,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,8CAA8C;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAC;QAE5C,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,yCAAyC,WAAW,CAAC,cAAc,GAAG,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/features/auto-update.ts"],"names":[],"mappings":"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"}
|
package/dist/features/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export { createMagicKeywordProcessor, detectMagicKeywords, builtInMagicKeywords } from './magic-keywords.js';
|
|
5
5
|
export { createContinuationHook, continuationSystemPromptAddition, detectCompletionSignals, generateVerificationPrompt } from './continuation-enforcement.js';
|
|
6
|
-
export { type VersionMetadata, type ReleaseInfo, type UpdateCheckResult, type UpdateResult, REPO_OWNER, REPO_NAME, GITHUB_API_URL, GITHUB_RAW_URL, CLAUDE_CONFIG_DIR, VERSION_FILE, getInstalledVersion, saveVersionMetadata, updateLastCheckTime, fetchLatestRelease, compareVersions, checkForUpdates, performUpdate, formatUpdateNotification, shouldCheckForUpdates, backgroundUpdateCheck, interactiveUpdate } from './auto-update.js';
|
|
6
|
+
export { type VersionMetadata, type ReleaseInfo, type UpdateCheckResult, type UpdateResult, type SilentUpdateConfig, REPO_OWNER, REPO_NAME, GITHUB_API_URL, GITHUB_RAW_URL, CLAUDE_CONFIG_DIR, VERSION_FILE, getInstalledVersion, saveVersionMetadata, updateLastCheckTime, fetchLatestRelease, compareVersions, checkForUpdates, performUpdate, formatUpdateNotification, shouldCheckForUpdates, backgroundUpdateCheck, interactiveUpdate, silentAutoUpdate, hasPendingUpdateRestart, clearPendingUpdateRestart, getPendingUpdateVersion, initSilentAutoUpdate } from './auto-update.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAEvB,UAAU,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,YAAY,EAEZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EAEjB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC"}
|
package/dist/features/index.js
CHANGED
|
@@ -7,5 +7,7 @@ export {
|
|
|
7
7
|
// Constants
|
|
8
8
|
REPO_OWNER, REPO_NAME, GITHUB_API_URL, GITHUB_RAW_URL, CLAUDE_CONFIG_DIR, VERSION_FILE,
|
|
9
9
|
// Functions
|
|
10
|
-
getInstalledVersion, saveVersionMetadata, updateLastCheckTime, fetchLatestRelease, compareVersions, checkForUpdates, performUpdate, formatUpdateNotification, shouldCheckForUpdates, backgroundUpdateCheck, interactiveUpdate
|
|
10
|
+
getInstalledVersion, saveVersionMetadata, updateLastCheckTime, fetchLatestRelease, compareVersions, checkForUpdates, performUpdate, formatUpdateNotification, shouldCheckForUpdates, backgroundUpdateCheck, interactiveUpdate,
|
|
11
|
+
// Silent auto-update
|
|
12
|
+
silentAutoUpdate, hasPendingUpdateRestart, clearPendingUpdateRestart, getPendingUpdateVersion, initSilentAutoUpdate } from './auto-update.js';
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO;AAOL,YAAY;AACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,YAAY;AACZ,YAAY;AACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB;AACjB,qBAAqB;AACrB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC"}
|
|
@@ -16,7 +16,7 @@ export declare const HOOKS_DIR: string;
|
|
|
16
16
|
export declare const SETTINGS_FILE: string;
|
|
17
17
|
export declare const VERSION_FILE: string;
|
|
18
18
|
/** Current version */
|
|
19
|
-
export declare const VERSION = "1.
|
|
19
|
+
export declare const VERSION = "1.5.0";
|
|
20
20
|
/** Installation result */
|
|
21
21
|
export interface InstallResult {
|
|
22
22
|
success: boolean;
|
package/dist/installer/index.js
CHANGED
|
@@ -21,7 +21,7 @@ export const HOOKS_DIR = join(CLAUDE_CONFIG_DIR, 'hooks');
|
|
|
21
21
|
export const SETTINGS_FILE = join(CLAUDE_CONFIG_DIR, 'settings.json');
|
|
22
22
|
export const VERSION_FILE = join(CLAUDE_CONFIG_DIR, '.sisyphus-version.json');
|
|
23
23
|
/** Current version */
|
|
24
|
-
export const VERSION = '1.
|
|
24
|
+
export const VERSION = '1.5.0';
|
|
25
25
|
/**
|
|
26
26
|
* Check if Claude Code is installed
|
|
27
27
|
*/
|
package/package.json
CHANGED
package/scripts/install.sh
CHANGED
|
@@ -1150,7 +1150,177 @@ exit 0
|
|
|
1150
1150
|
HOOK_EOF
|
|
1151
1151
|
chmod +x "$CLAUDE_CONFIG_DIR/hooks/stop-continuation.sh"
|
|
1152
1152
|
|
|
1153
|
-
|
|
1153
|
+
# Silent auto-update hook - checks and applies updates without user awareness
|
|
1154
|
+
cat > "$CLAUDE_CONFIG_DIR/hooks/silent-auto-update.sh" << 'HOOK_EOF'
|
|
1155
|
+
#!/bin/bash
|
|
1156
|
+
# Sisyphus Silent Auto-Update Hook
|
|
1157
|
+
# Runs completely in the background to check for and apply updates
|
|
1158
|
+
# without any user notification or interruption.
|
|
1159
|
+
#
|
|
1160
|
+
# This hook is designed to be called on UserPromptSubmit events
|
|
1161
|
+
# but runs asynchronously so it doesn't block the user experience.
|
|
1162
|
+
|
|
1163
|
+
# Read stdin (JSON input from Claude Code)
|
|
1164
|
+
INPUT=$(cat)
|
|
1165
|
+
|
|
1166
|
+
# Always return immediately to not block the user
|
|
1167
|
+
# The actual update check happens in the background
|
|
1168
|
+
(
|
|
1169
|
+
# Configuration
|
|
1170
|
+
VERSION_FILE="$HOME/.claude/.sisyphus-version.json"
|
|
1171
|
+
STATE_FILE="$HOME/.claude/.sisyphus-silent-update.json"
|
|
1172
|
+
LOG_FILE="$HOME/.claude/.sisyphus-update.log"
|
|
1173
|
+
CHECK_INTERVAL_HOURS=24
|
|
1174
|
+
REPO_URL="https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claude-sisyphus/main"
|
|
1175
|
+
|
|
1176
|
+
# Log function (silent - only to file)
|
|
1177
|
+
log() {
|
|
1178
|
+
echo "[$(date -Iseconds)] $1" >> "$LOG_FILE" 2>/dev/null
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
# Check if we should check for updates (rate limiting)
|
|
1182
|
+
should_check() {
|
|
1183
|
+
if [ ! -f "$VERSION_FILE" ]; then
|
|
1184
|
+
return 0 # No version file - should check
|
|
1185
|
+
fi
|
|
1186
|
+
|
|
1187
|
+
local last_check=""
|
|
1188
|
+
if [ -f "$STATE_FILE" ]; then
|
|
1189
|
+
last_check=$(cat "$STATE_FILE" 2>/dev/null | grep -o '"lastAttempt"[[:space:]]*:[[:space:]]*"[^"]*"' | sed 's/.*"\([^"]*\)"$/\1/')
|
|
1190
|
+
fi
|
|
1191
|
+
|
|
1192
|
+
if [ -z "$last_check" ]; then
|
|
1193
|
+
return 0 # No last check time - should check
|
|
1194
|
+
fi
|
|
1195
|
+
|
|
1196
|
+
# Calculate hours since last check
|
|
1197
|
+
local last_check_epoch=$(date -d "$last_check" +%s 2>/dev/null || echo 0)
|
|
1198
|
+
local now_epoch=$(date +%s)
|
|
1199
|
+
local diff_hours=$(( (now_epoch - last_check_epoch) / 3600 ))
|
|
1200
|
+
|
|
1201
|
+
if [ "$diff_hours" -ge "$CHECK_INTERVAL_HOURS" ]; then
|
|
1202
|
+
return 0 # Enough time has passed
|
|
1203
|
+
fi
|
|
1204
|
+
|
|
1205
|
+
return 1 # Too soon to check
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
# Get current installed version
|
|
1209
|
+
get_current_version() {
|
|
1210
|
+
if [ -f "$VERSION_FILE" ]; then
|
|
1211
|
+
cat "$VERSION_FILE" 2>/dev/null | grep -o '"version"[[:space:]]*:[[:space:]]*"[^"]*"' | sed 's/.*"\([^"]*\)"$/\1/'
|
|
1212
|
+
else
|
|
1213
|
+
echo ""
|
|
1214
|
+
fi
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
# Fetch latest version from GitHub
|
|
1218
|
+
get_latest_version() {
|
|
1219
|
+
local pkg_json
|
|
1220
|
+
pkg_json=$(curl -fsSL --connect-timeout 5 --max-time 10 "$REPO_URL/package.json" 2>/dev/null)
|
|
1221
|
+
if [ $? -eq 0 ]; then
|
|
1222
|
+
echo "$pkg_json" | grep -o '"version"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"\([^"]*\)"$/\1/'
|
|
1223
|
+
else
|
|
1224
|
+
echo ""
|
|
1225
|
+
fi
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
# Compare semantic versions (returns 0 if first < second)
|
|
1229
|
+
version_lt() {
|
|
1230
|
+
[ "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$1" ] && [ "$1" != "$2" ]
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
# Update state file
|
|
1234
|
+
update_state() {
|
|
1235
|
+
local now=$(date -Iseconds)
|
|
1236
|
+
cat > "$STATE_FILE" << EOF
|
|
1237
|
+
{
|
|
1238
|
+
"lastAttempt": "$now",
|
|
1239
|
+
"lastSuccess": "${1:-}",
|
|
1240
|
+
"consecutiveFailures": ${2:-0},
|
|
1241
|
+
"pendingRestart": ${3:-false},
|
|
1242
|
+
"lastVersion": "${4:-}"
|
|
1243
|
+
}
|
|
1244
|
+
EOF
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
# Perform silent update
|
|
1248
|
+
do_update() {
|
|
1249
|
+
log "Downloading install script..."
|
|
1250
|
+
|
|
1251
|
+
local temp_script=$(mktemp)
|
|
1252
|
+
if curl -fsSL --connect-timeout 10 --max-time 60 "$REPO_URL/scripts/install.sh" -o "$temp_script" 2>/dev/null; then
|
|
1253
|
+
chmod +x "$temp_script"
|
|
1254
|
+
|
|
1255
|
+
log "Running install script..."
|
|
1256
|
+
# Run silently, redirect all output to log
|
|
1257
|
+
bash "$temp_script" >> "$LOG_FILE" 2>&1
|
|
1258
|
+
local result=$?
|
|
1259
|
+
|
|
1260
|
+
rm -f "$temp_script"
|
|
1261
|
+
|
|
1262
|
+
if [ $result -eq 0 ]; then
|
|
1263
|
+
log "Update completed successfully"
|
|
1264
|
+
return 0
|
|
1265
|
+
else
|
|
1266
|
+
log "Install script failed with exit code $result"
|
|
1267
|
+
return 1
|
|
1268
|
+
fi
|
|
1269
|
+
else
|
|
1270
|
+
log "Failed to download install script"
|
|
1271
|
+
rm -f "$temp_script" 2>/dev/null
|
|
1272
|
+
return 1
|
|
1273
|
+
fi
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
# Main logic
|
|
1277
|
+
main() {
|
|
1278
|
+
# Check rate limiting
|
|
1279
|
+
if ! should_check; then
|
|
1280
|
+
exit 0
|
|
1281
|
+
fi
|
|
1282
|
+
|
|
1283
|
+
log "Starting silent update check..."
|
|
1284
|
+
|
|
1285
|
+
local current_version=$(get_current_version)
|
|
1286
|
+
local latest_version=$(get_latest_version)
|
|
1287
|
+
|
|
1288
|
+
if [ -z "$latest_version" ]; then
|
|
1289
|
+
log "Failed to fetch latest version"
|
|
1290
|
+
update_state "" 1 false ""
|
|
1291
|
+
exit 1
|
|
1292
|
+
fi
|
|
1293
|
+
|
|
1294
|
+
log "Current: $current_version, Latest: $latest_version"
|
|
1295
|
+
|
|
1296
|
+
if [ -z "$current_version" ] || version_lt "$current_version" "$latest_version"; then
|
|
1297
|
+
log "Update available: $current_version -> $latest_version"
|
|
1298
|
+
|
|
1299
|
+
if do_update; then
|
|
1300
|
+
local now=$(date -Iseconds)
|
|
1301
|
+
update_state "$now" 0 true "$latest_version"
|
|
1302
|
+
log "Silent update to $latest_version completed"
|
|
1303
|
+
else
|
|
1304
|
+
update_state "" 1 false ""
|
|
1305
|
+
log "Silent update failed"
|
|
1306
|
+
fi
|
|
1307
|
+
else
|
|
1308
|
+
log "Already up to date ($current_version)"
|
|
1309
|
+
update_state "" 0 false ""
|
|
1310
|
+
fi
|
|
1311
|
+
}
|
|
1312
|
+
|
|
1313
|
+
# Run in background, completely detached
|
|
1314
|
+
main
|
|
1315
|
+
) </dev/null >/dev/null 2>&1 &
|
|
1316
|
+
|
|
1317
|
+
# Return success immediately (don't block)
|
|
1318
|
+
echo '{"continue": true}'
|
|
1319
|
+
exit 0
|
|
1320
|
+
HOOK_EOF
|
|
1321
|
+
chmod +x "$CLAUDE_CONFIG_DIR/hooks/silent-auto-update.sh"
|
|
1322
|
+
|
|
1323
|
+
echo -e "${GREEN}✓ Installed 3 hook scripts${NC}"
|
|
1154
1324
|
|
|
1155
1325
|
echo -e "${BLUE}[7/8]${NC} Configuring hooks in settings.json..."
|
|
1156
1326
|
|
|
@@ -1178,6 +1348,10 @@ if command -v jq &> /dev/null; then
|
|
|
1178
1348
|
{
|
|
1179
1349
|
"type": "command",
|
|
1180
1350
|
"command": "bash $HOME/.claude/hooks/keyword-detector.sh"
|
|
1351
|
+
},
|
|
1352
|
+
{
|
|
1353
|
+
"type": "command",
|
|
1354
|
+
"command": "bash $HOME/.claude/hooks/silent-auto-update.sh"
|
|
1181
1355
|
}
|
|
1182
1356
|
]
|
|
1183
1357
|
}
|
|
@@ -1213,6 +1387,10 @@ else
|
|
|
1213
1387
|
{
|
|
1214
1388
|
"type": "command",
|
|
1215
1389
|
"command": "bash $HOME/.claude/hooks/keyword-detector.sh"
|
|
1390
|
+
},
|
|
1391
|
+
{
|
|
1392
|
+
"type": "command",
|
|
1393
|
+
"command": "bash $HOME/.claude/hooks/silent-auto-update.sh"
|
|
1216
1394
|
}
|
|
1217
1395
|
]
|
|
1218
1396
|
}
|
|
@@ -1246,7 +1424,7 @@ SETTINGS_EOF
|
|
|
1246
1424
|
# No hooks section - try to add it before the last closing brace
|
|
1247
1425
|
# Create temp file with hooks added
|
|
1248
1426
|
HOOKS_JSON='"hooks": {
|
|
1249
|
-
"UserPromptSubmit": [{"hooks": [{"type": "command", "command": "bash $HOME/.claude/hooks/keyword-detector.sh"}]}],
|
|
1427
|
+
"UserPromptSubmit": [{"hooks": [{"type": "command", "command": "bash $HOME/.claude/hooks/keyword-detector.sh"}, {"type": "command", "command": "bash $HOME/.claude/hooks/silent-auto-update.sh"}]}],
|
|
1250
1428
|
"Stop": [{"hooks": [{"type": "command", "command": "bash $HOME/.claude/hooks/stop-continuation.sh"}]}]
|
|
1251
1429
|
}'
|
|
1252
1430
|
# Use sed to insert before the last }
|
|
@@ -1359,7 +1537,7 @@ else
|
|
|
1359
1537
|
fi
|
|
1360
1538
|
|
|
1361
1539
|
# Save version metadata for auto-update system
|
|
1362
|
-
VERSION="1.
|
|
1540
|
+
VERSION="1.5.0"
|
|
1363
1541
|
VERSION_FILE="$CLAUDE_CONFIG_DIR/.sisyphus-version.json"
|
|
1364
1542
|
|
|
1365
1543
|
cat > "$VERSION_FILE" << VERSION_EOF
|