/** * schema-domain-update.ts, the daemon self-update config domain. * * The daemon checks for a new release hourly, downloads and * checksum-verifies it, swaps binaries at a no-active-work moment (never * mid-turn), keeps the previous binary at `.previous` for one-command * rollback, and restarts via the service manager. Default-on per the owner * directive; `update.auto` turns it off. * * WHICH REPOSITORY. `releasesUrl` names the daemon's own repository, * `mgd34msu/goodvibes-daemon`. The daemon used to be built and released inside * the terminal app's repository and rode its tags; it is now a separate product * with its own release line, so its update source moved with it. The asset * names did not change (`goodvibes-daemon--`, `sqlite-vec--`), * so a daemon already installed on a machine hands itself over on its next * hourly check: it resolves the next tag from the new repository, downloads the * same-named asset, and swaps itself in place. The service unit's ExecStart is * path-stable, so nothing else has to change for the handover to complete. * * Like the worktree domain in schema-domain-runtime.ts, `update` is a * top-level config section registered via `declare module` here (co-located * with its defaults); the scalar keys additionally appear in the ConfigKey * union / ConfigValue map in schema-types.ts so config.get is typed. */ import { type ConfigSettingDefinition } from './schema-shared.js'; /** Daemon self-update: hourly check, verify, idle-moment swap, auto-restart. */ export interface UpdateConfig { auto: boolean; intervalMinutes: number; firstCheckSeconds: number; releasesUrl: string; rollbackAfterFailedStarts: number; alertAfterFailedChecks: number; } declare module './schema-types.js' { interface GoodVibesConfig { update: UpdateConfig; } } export declare const updateConfigDefaults: { readonly update: { readonly auto: true; readonly intervalMinutes: 60; readonly firstCheckSeconds: 30; readonly releasesUrl: "https://github.com/mgd34msu/goodvibes-daemon/releases/latest"; readonly rollbackAfterFailedStarts: 3; readonly alertAfterFailedChecks: 3; }; }; export declare const updateConfigSettings: ConfigSettingDefinition[]; //# sourceMappingURL=schema-domain-update.d.ts.map