mirror of
https://github.com/morluto/rea.git
synced 2026-11-12 09:52:27 +00:00
* docs: organize canonical documentation layout (URGENTE) Group all existing authored guides by domain and ownership, expose complete navigation, and preserve their public routes. Update physical path consumers and release configuration while retaining historical records. Document domain-based specs and ADR slugs without global numbering. Co-Authored-By: Codex <noreply@openai.com> * fix(docs): honor home layout in all-page route verification * style: format reviewed source changes * fix(docs): preserve routes and navigation cache inputs * fix: repair the static-check failures on the default branch (#2895) * fix: repair the static-check failures on the default branch The default branch fails its own required `Static checks` job three ways, so every pull request reports that job as failed regardless of its own change. - `npm run format:check` reports `src/domain/functionComparison.test.ts` and `src/ida/IdaOperationRunner.ts`. - `npm run lint` reports a duplicate `import { join } from "node:path"` in `tests/boundary/mcp/ghidraInventoryMcp.test.ts` (lines 4 and 17). - `npm run typecheck` reports `format: "devin"` missing from the client format union in `src/application/SupportedClients.ts`, and an unchecked index in `tests/boundary/cli/clientProfileLifecycle.test.ts`, whose pair array is inferred as `string[][]`. Apply the pinned formatter, drop the duplicate import, list the `"devin"` format that its own definition already uses, and mark the pair array `as const`. Validation: `npm run check:fast` and `npm run format:check` pass. * fix(setup): keep Devin on the JSON configuration dialect --------- Co-authored-by: 吴佳浩 <wujiahao@supremind.com> Co-authored-by: morluto <76467478+morluto@users.noreply.github.com> * fix(docs): update links after guide relocation * docs: correct verified documentation route counts * fix(docs): update browser capture guide link after move (#2820) Refresh gettext protected-link comments alongside the authored href. Co-authored-by: Codex <noreply@openai.com> * fix(docs): include http3 lab in stable routes * fix(docs): preserve historical release evidence and links * fix(ghidra): restore Windows verifier identity import * docs(wakaru): preserve pinned upstream policy link * docs(index): retain recently added guide links * docs(mcp): preserve parent retention clarification * fix(cli): preserve standalone import guidance * fix(test): preserve translated guide link drift coverage --------- Co-authored-by: Matheus Breguêz <matbrgz@gmail.com> Co-authored-by: Codex <noreply@openai.com> Co-authored-by: morluto <17176810+morluto@users.noreply.github.com> Co-authored-by: 吴佳浩Alben <35291372+XiaoBinGan@users.noreply.github.com> Co-authored-by: 吴佳浩 <wujiahao@supremind.com>
2.1 KiB
2.1 KiB
Implementation plan
- Widen the runtime
servedependency to a transport-neutral factory that may bind asynchronously.startMcpTransportawaits it, hands it the server logger, and keeps stdio as the default; the shutdown handle type loses its stdio name. - Add
src/server/http/nodeHttpBridge.tsto turn an IncomingMessage into a web Request (headers, streamed body, abort on client close) and to pipe a web Response back with flushed headers, andsrc/server/http/serveStreamableHttp.tsto own oneMcpServerinstance and one stateful transport per session, ended byDELETEor replaced by the next client'sinitializewithout running the instance's shutdown hooks, plus plain routes, loopback Host validation, the listening log line and idempotent close. The typed listen error lives in its own module so the stdio entry never loads the listener. - Parse
--http,--hostand--portinsrc/main/mcpHttpArguments.tsfrom one schema that also renders help; resolveMCP_HOST/MCP_PORTinsrc/config/mcpHttpEndpoint.tsas aResultthat names rejected settings without their values. - Route the dispatcher to
runMcpHttpEntrypointwhen themcpentry carries--http; compose HTTP dependencies insrc/main.tswith the sharedrun()path so configuration, session, providers and shutdown stay common. - Register signals only for HTTP mode through
registerSignalShutdown, a projection ofregisterProcessShutdownwithout stdin that sets the signal exit status before the idempotent shutdown runs; stdio keeps its stdin end/close triggers. - Document the transport in docs/reference/mcp-contracts.md and docs/cli.md, relabel the architecture diagram, and cover each boundary with adapters, dispatcher, mcp-boundary and process-boundary tests plus a Python SDK client exchange.
No new dependency is introduced: the transport, Host validation and body bound
come from the already pinned @modelcontextprotocol/server root export. Tool
contracts, catalog digests, response budgets and stdio behaviour are unchanged.