Skip to content

Wire UI consumer for hooks.json catalog #17

@samkeen

Description

@samkeen

Sub-issue of #10. Tracking the UI consumer for catalog/hooks.json.

State today

  • ✅ Sync: scripts/sync-hooks.js runs on the weekly cron, writes catalog/hooks.json (lifecycle table + handler-fields tables + per-event input/output schemas + commonInput).
  • ✅ Backend: round-trips through read_catalog as hooks on the wire (loaded as serde_json::Value so the new keys flow through transparently).
  • ❌ Frontend: nothing reads it. Declared as hooks: unknown in src/lib/catalog.ts.

Likely shape

The natural cross-reference is the inspector's hooks.<EventName> rows. Roadmap Next-up candidates already calls this out as the highest-value next drawer cross-reference. Two natural surfaces:

  1. Drawer cross-reference — extend the existing drawer plan to include a collapsible "event detail" section for hooks.<EventName> rows (handler signature, common inputs, per-event input/output fields, JSON example).
  2. Top-level Hooks reference panel — a topbar-pill takeover modeled on HelpView / ErrorPanel / EnvVarsPanel, browsable independently of any row.

The catalog supports both — pick based on UX value.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions