{"record":{"id":"b931868b89983469","repo":"thedotmack/claude-mem","slug":"unknown-antigravity-cli-event-antigravityeventname","errorCode":null,"errorMessage":"Unknown Antigravity CLI event: ${antigravityEventName}","messagePattern":"Unknown Antigravity CLI event: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/services/integrations/AntigravityCliHooksInstaller.ts","lineNumber":138,"sourceCode":"      logger.error('WORKER', 'Failed to resolve Windows 8.3 short path', { path: filePath }, error);\n    }\n  }\n  console.warn(\n    `  WARNING: Antigravity CLI hook path contains spaces and 8.3 short-path\\n` +\n    `  resolution failed: ${filePath}\\n` +\n    `  agy splits commands on spaces, so hooks may fail to launch.`,\n  );\n  return filePath;\n}\n\nfunction buildHookCommand(\n  bunPath: string,\n  workerServicePath: string,\n  antigravityEventName: string,\n): string {\n  const internalEvent = ANTIGRAVITY_EVENT_TO_INTERNAL_EVENT[antigravityEventName];\n  if (!internalEvent) {\n    throw new Error(`Unknown Antigravity CLI event: ${antigravityEventName}`);\n  }\n\n  // Emit bare, forward-slashed paths (see toSpaceFreePath): agy does not run the\n  // command through a shell, so quotes are taken literally and backslashes are\n  // fragile.\n  const formattedBunPath = toSpaceFreePath(bunPath).replace(/\\\\/g, '/');\n  const formattedWorkerPath = toSpaceFreePath(workerServicePath).replace(/\\\\/g, '/');\n\n  return `${formattedBunPath} ${formattedWorkerPath} hook antigravity-cli ${internalEvent}`;\n}\n\nfunction createHookGroup(hookCommand: string): AntigravityHookGroup {\n  return {\n    matcher: '*',\n    hooks: [{\n      name: HOOK_NAME,\n      type: 'command',\n      command: hookCommand,","sourceCodeStart":120,"sourceCodeEnd":156,"githubUrl":"https://github.com/thedotmack/claude-mem/blob/d8bc9755e74915e5c3b999181e10a67c889bce2a/src/services/integrations/AntigravityCliHooksInstaller.ts#L120-L156","documentation":"buildHookCommand maps Antigravity CLI event names (e.g. from ANTIGRAVITY_EVENT_TO_INTERNAL_EVENT) to internal events. If passed an event name not present in that mapping table, it throws to prevent installing a hook command that would silently do nothing. This is an internal allow-list check over the supported Antigravity events.","triggerScenarios":"Calling buildHookCommand with an event name that is not a key of ANTIGRAVITY_EVENT_TO_INTERNAL_EVENT — e.g. after Antigravity added a new lifecycle event the installer does not yet know, or a typo in the event name.","commonSituations":"Antigravity CLI version upgrade introducing new event names, hand-edited hook config referencing an unsupported event, or a typo like 'afterEdit' vs 'AfterEdit'.","solutions":["Use only event names listed in ANTIGRAVITY_EVENT_TO_INTERNAL_EVENT.","If a new Antigravity event exists, add it to the mapping table and update the code.","Check for case/typo mismatches between the CLI's event name and the mapping key.","Upgrade claude-mem to a version that supports the new Antigravity event set."],"exampleFix":"// before\nconst EVENT_TO_INTERNAL = { SessionStart: 'session_start', SessionEnd: 'session_end' };\nbuildHookCommand(bun, worker, 'PostToolUse'); // throws\n\n// after\nconst EVENT_TO_INTERNAL = { SessionStart: 'session_start', SessionEnd: 'session_end', PostToolUse: 'post_tool_use' };","handlingStrategy":"validation","validationCode":"if (!(eventName in ANTIGRAVITY_EVENT_TO_INTERNAL_EVENT)) {\n  throw new Error(`Unsupported Antigravity event: ${eventName}`);\n}","typeGuard":"function isAntigravityEvent(name: string): name is keyof typeof ANTIGRAVITY_EVENT_TO_INTERNAL_EVENT {\n  return name in ANTIGRAVITY_EVENT_TO_INTERNAL_EVENT;\n}","tryCatchPattern":"try {\n  cmd = buildHookCommand(bunPath, workerPath, event);\n} catch (e) {\n  logger.warn(`Skipping unsupported Antigravity event ${event}: ${e.message}`);\n  return null;\n}","preventionTips":["Derive event names from the mapping table's keys, never hard-code literals.","After Antigravity CLI upgrades, diff its event list against the mapping table.","Add unit tests covering every supported event name."],"tags":["integration","antigravity","mapping","unsupported-event"],"backgroundTag":"invalid-enum-value","analyzedSha":"d8bc9755e74915e5c3b999181e10a67c889bce2a","analyzedAt":"2026-09-17T16:40:26.182Z","contentChangedAt":"2026-09-17T16:40:26.182Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}