hermes-agent/website/docs/developer-guide
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
..
plugins
…
_category_.json
…
acp-internals.md
…
adding-platform-adapters.md
…
adding-providers.md
…
adding-tools.md
…
agent-loop.md
…
architecture.md
…
browser-provider-plugin.md
…
browser-supervisor.md
…
context-compression-and-caching.md
…
context-engine-plugin.md fix(agent): isolate the pooled compression worker from the live transcript (review F3) 2026-08-02 16:16:36 -07:00
contributing.md
…
creating-skills.md
…
cron-internals.md
…
desktop-plugin-sdk.md feat(desktop): ctx.os — the curated OS door for plugins 2026-08-04 11:33:25 -06:00
egress-internals.md
…
extending-the-cli.md
…
gateway-internals.md
…
image-gen-provider-plugin.md
…
memory-provider-plugin.md
…
model-provider-plugin.md
…
plugin-llm-access.md
…
programmatic-integration.md
…
prompt-assembly.md
…
provider-runtime.md
…
secret-source-plugin.md
…
session-storage.md
…
subagent-lifecycle-api.md
…
tools-runtime.md
…
trajectory-format.md
…
video-gen-provider-plugin.md
…
web-search-provider-plugin.md
…
worktree-ui-dev.md
…