Commit c2819f4
committed
refactor(route-parity): honest standalone hono discovery + document MCP lockstep; broaden gate
Follow-ups on the route-parity work (#3369):
- hono-server: the standalone `registerDiscoveryAndCrudEndpoints` discovery
advertised metadata/packages/analytics/workflow/automation/ai/notifications/
i18n/storage/ui — none of which HonoServerPlugin mounts on its own — so a
truly standalone deployment advertised a dozen routes that 404. It now
advertises ONLY what it mounts (the `/data` CRUD surface + the `/auth/me/*`
helpers). Under `os serve` this fallback is shadowed by the dispatcher/REST
service-aware discovery, so real deployments are unaffected; the fix closes
the literal `declared !== enforced` gap the issue cited (hono-plugin.ts).
- http-dispatcher: document WHY `routes.mcp` is advertised on the
`isMcpServerEnabled()` flag rather than gated on service presence like every
other route — it is a deliberate LOCKSTEP (#2698): `os serve` auto-loads
plugin-mcp from the same flag, and `@objectstack/rest` advertises mcp from
the identical single source, so the two discovery producers stay symmetric
and an advertised `/mcp` always has a mounted handler. Comment-only; no
behaviour change (avoids forking the dispatcher from REST).
- route-parity gate: assert the standalone-hono honesty and note that
REST-owned routes (/data,/meta,/ui) are covered by the @objectstack/client
integration suite (booting a real hono server with the full dependency
graph), so this gate stays focused on the dispatcher↔hono seam where the
#3361/#3362/MCP regressions lived.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015si15Q1KWMKpVQWYsEvgcS1 parent 49ac8ef commit c2819f4
4 files changed
Lines changed: 74 additions & 16 deletions
File tree
- packages
- plugins/plugin-hono-server/src
- runtime/src
Lines changed: 32 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
134 | 166 | | |
135 | 167 | | |
136 | 168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
737 | 737 | | |
738 | 738 | | |
739 | 739 | | |
740 | | - | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
741 | 756 | | |
742 | 757 | | |
743 | 758 | | |
744 | 759 | | |
745 | | - | |
746 | | - | |
747 | | - | |
748 | | - | |
749 | | - | |
750 | | - | |
751 | | - | |
752 | | - | |
753 | | - | |
754 | | - | |
755 | | - | |
756 | | - | |
757 | | - | |
758 | | - | |
759 | | - | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
760 | 766 | | |
761 | 767 | | |
762 | 768 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1674 | 1674 | | |
1675 | 1675 | | |
1676 | 1676 | | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
1677 | 1688 | | |
1678 | 1689 | | |
1679 | 1690 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
256 | 256 | | |
257 | 257 | | |
258 | 258 | | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
0 commit comments