7966c6cba9
* fix: rename save_memory to save_observation and fix MCP search instructions Stop the primary agent from proactively saving memories by renaming save_memory to save_observation with a neutral description. Remove "Saving Memories" section from SKILL.md. Update context formatters and output styles to reference the mem-search skill instead of raw MCP tool names. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: split SessionStart hooks so smart-install failure doesn't block worker start smart-install.js and worker-start were in the same hook group, so if smart-install exited non-zero the worker never started. Split into separate hook groups so they run independently. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: worker startup waits for readiness before hooks fire Move initializationCompleteFlag to set after DB/search init (not MCP), add waitForReadiness() polling /api/readiness, and extract shared pollEndpointUntilOk helper to DRY up health/readiness checks. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
35 lines
1.5 KiB
TypeScript
35 lines
1.5 KiB
TypeScript
export const HOOK_TIMEOUTS = {
|
|
DEFAULT: 300000, // Standard HTTP timeout (5 min for slow systems)
|
|
HEALTH_CHECK: 3000, // Worker health check (3s — healthy worker responds in <100ms)
|
|
POST_SPAWN_WAIT: 5000, // Wait for daemon to start after spawn (starts in <1s on Linux)
|
|
READINESS_WAIT: 30000, // Wait for DB + search init after spawn (typically <5s)
|
|
PORT_IN_USE_WAIT: 3000, // Wait when port occupied but health failing
|
|
WORKER_STARTUP_WAIT: 1000,
|
|
PRE_RESTART_SETTLE_DELAY: 2000, // Give files time to sync before restart
|
|
POWERSHELL_COMMAND: 10000, // PowerShell process enumeration (10s - typically completes in <1s)
|
|
WINDOWS_MULTIPLIER: 1.5 // Platform-specific adjustment for hook-side operations
|
|
} as const;
|
|
|
|
/**
|
|
* Hook exit codes for Claude Code
|
|
*
|
|
* Exit code behavior per Claude Code docs:
|
|
* - 0: Success. For SessionStart/UserPromptSubmit, stdout added to context.
|
|
* - 2: Blocking error. For SessionStart, stderr shown to user only.
|
|
* - Other non-zero: stderr shown in verbose mode only.
|
|
*/
|
|
export const HOOK_EXIT_CODES = {
|
|
SUCCESS: 0,
|
|
FAILURE: 1,
|
|
/** Blocking error - for SessionStart, shows stderr to user only */
|
|
BLOCKING_ERROR: 2,
|
|
/** Show stderr to user only, don't inject into context. Used by user-message handler (Cursor). */
|
|
USER_MESSAGE_ONLY: 3,
|
|
} as const;
|
|
|
|
export function getTimeout(baseTimeout: number): number {
|
|
return process.platform === 'win32'
|
|
? Math.round(baseTimeout * HOOK_TIMEOUTS.WINDOWS_MULTIPLIER)
|
|
: baseTimeout;
|
|
}
|