Spaces:
Paused
Paused
| import type { OpenClawConfig } from "../config/config.js"; | |
| import type { HookInstallRecord } from "../config/types.hooks.js"; | |
| export type HookInstallUpdate = HookInstallRecord & { hookId: string }; | |
| export function recordHookInstall(cfg: OpenClawConfig, update: HookInstallUpdate): OpenClawConfig { | |
| const { hookId, ...record } = update; | |
| const installs = { | |
| ...cfg.hooks?.internal?.installs, | |
| [hookId]: { | |
| ...cfg.hooks?.internal?.installs?.[hookId], | |
| ...record, | |
| installedAt: record.installedAt ?? new Date().toISOString(), | |
| }, | |
| }; | |
| return { | |
| ...cfg, | |
| hooks: { | |
| ...cfg.hooks, | |
| internal: { | |
| ...cfg.hooks?.internal, | |
| installs: { | |
| ...installs, | |
| [hookId]: installs[hookId], | |
| }, | |
| }, | |
| }, | |
| }; | |
| } | |