hermes-agent/apps/desktop/src/contrib
Brooklyn Nicholson e8ccb4a2ea feat(desktop): ctx.os — the curated OS door for plugins
Fold ctx.notifyNative into a ctx.os namespace so every way a plugin
reaches outside the app window lives behind one attributed door instead
of accreting one top-level ctx method per capability:

- ctx.os.notify — the native-notification door from the previous commit,
  unchanged semantics (plugin kind pref, away-gating, per-plugin throttle).
- ctx.os.openExternal / ctx.os.revealPath / ctx.os.writeClipboard — the
  existing window.hermesDesktop bridge capabilities, now sanctioned and
  result-shaped: each resolves false (never throws) when the bridge or
  member is missing, so a plugin branches on the result instead of
  sniffing the preload surface or crashing on an older shell.

No new Electron surface: everything routes through bridge members the
app already ships; the notification path keeps every existing gate.
2026-08-04 11:33:25 -06:00
..
react
events.ts
index.ts
plugin.test.ts feat(desktop): ctx.os — the curated OS door for plugins 2026-08-04 11:33:25 -06:00
plugin.ts feat(desktop): ctx.os — the curated OS door for plugins 2026-08-04 11:33:25 -06:00
plugins-store.ts
plugins.ts
registry.ts
runtime-loader.test.ts fix(desktop): widen local plugin-root fix — profile-aware root + dir-watch path 2026-07-28 23:53:20 -07:00
runtime-loader.ts fix(desktop): widen local plugin-root fix — profile-aware root + dir-watch path 2026-07-28 23:53:20 -07:00
types.ts