Implement MCP HTTP transport (v0.1.0)#1
Conversation
Port the shared KeeperHub MCP kernel from the plugins monorepo: session bootstrap, tools/call, 401/404 re-init, API key helpers, and unit tests. Bump both packages to 0.1.0 and update docs for first npm/PyPI release. Co-authored-by: Cursor <cursoragent@cursor.com>
Run TS build/test/type-check and Python pytest on PRs and main. Add npm keywords and a root test:python script for local verification. Co-authored-by: Cursor <cursoragent@cursor.com>
For maintainers - post-merge release checklistThis PR implements v0.1.0 of both clients and is ready for review/merge. After merge: npm (@keeperhub/mcp-client)
CI
Verified locally
|
Co-authored-by: Cursor <cursoragent@cursor.com>
- Replace the abbreviated 19-line LICENSE stub with the full Apache-2.0 text (root and packages/mcp-client) so GitHub and license scanners detect Apache-2.0 instead of Other, and the npm tarball ships the complete license. - Cap postMcp session re-init at a single retry to prevent unbounded recursion / a request storm against a persistently 401/404 endpoint. - Add regression tests for persistent 401 and persistent session-404. - Remove the non-existent Poll-to-terminal helper claim from the root README.
Pre-publish review + fixes (pushed as
|
…lic API - Add import/require-specific "types" to the exports map so node16/nodenext CommonJS consumers resolve dist/index.d.cts instead of the ESM dist/index.d.ts (was TS1479 'cannot be imported with require'). - Remove __resetClientForTests from the package entrypoint; it stays an internal seam imported directly from ./client by the test suite.
Follow-up polish (pushed as
|
Summary
Test plan
pm-v0.1.0 to trigger release workflow after npm bootstrap
Notes