Skip to content

chore(release): prepare the 0.1.0 npm release - #6

Closed
rahulrajaram wants to merge 2 commits into
perf/review-tranchefrom
chore/release-0.1.0
Closed

rahulrajaram wants to merge 2 commits into
perf/review-tranchefrom
chore/release-0.1.0

Conversation

@rahulrajaram

@rahulrajaram rahulrajaram commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

Prepares gptqueue for its first npm release, 0.1.0. Stacked on #5; GitHub retargets this PR to master once #5 merges.

  • Version: 0.1.0 in package.json and one src/version.ts used by every MCP server and client identity (these were hardcoded 1.0.0). A test keeps the two in sync.
  • Tarball contents: a files allowlist ships only dist/, bin/, README.md and LICENSE (256 files, 208 KB). Without it, npm pack shipped 598 files, including tests/, harness/, .githooks/ and local agent state.
  • Registry installs no longer build: postinstall used to run tsc against src/, which the published package does not include. The build moves to prepare (local, git, pack and publish), and typescript and @types/* move to devDependencies.
  • Publishing: prepublishOnly runs the test suite. engines.node is >=20 to match CI. Adds repository, homepage and bugs.
  • README: documents npm install -g gptqueue and the node-pty install-script approval that newer npm versions require.

Validation

  • npm run build passes. Full npm test: 869 passed, 0 failed, 87 skipped.
  • Packed the tarball, installed it into a clean project (no build step ran), and MCP-initialized the installed gptqueue-server: it reports serverInfo.version: "0.1.0", and the Lua scripts are present under dist/.

Review fixes (from the 2026-09-27 multi-perspective code review)

  • Session credentials no longer appear in errors. not_claim_owner (acknowledge, renew) and actor_owned_elsewhere errors no longer name the owning session. A session ID is a bearer credential, so these messages allowed one agent to take over another's session.
  • HTTP session lookup uses a Map. A client-supplied mcp-session-id such as constructor used to resolve to an inherited object property: a 500 instead of a 404, and with the idle sweep enabled, a process crash. Regression test added; against the old code it fails with 500.
  • Full npm test: 870 passed, 0 failed.

Not in this PR

Publishing itself (tag v0.1.0, GitHub release, npm publish) is pending a decision on how to publish: manually from a machine with npm credentials, or a tag-triggered workflow using an NPM_TOKEN secret.

🤖 Generated with Claude Code

- Version 0.1.0 in package.json and a single src/version.ts used by
  every MCP server and client identity (was hardcoded 1.0.0), with a
  test that keeps the two in sync.
- Ship only dist/, bin/, README.md and LICENSE (npm pack previously
  included tests/, harness/, .githooks/ and local agent state).
- Drop postinstall: it ran tsc against src/, which a registry install
  does not have. The build now runs in prepare (local, git installs,
  pack and publish); typescript and @types/* move to devDependencies.
- prepublishOnly runs the test suite; engines.node is >=20 to match CI.
- Add repository, homepage and bugs metadata; README documents npm
  install and the node-pty install-script approval.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rahulrajaram
rahulrajaram added this pull request to stack #7 September 27, 2026 17:32
From the 2026-09-27 multi-perspective review (run gptqueue-20260927-glm53):

- not_claim_owner (acknowledge, renew) and actor_owned_elsewhere errors
  no longer name the owning session. A session id is a bearer credential
  for its agent, so echoing it let any participant that saw a claim id
  take over the owner's session (security F2).
- The HTTP transport keeps sessions in a Map. Looking up a client-supplied
  mcp-session-id such as `constructor` in a plain object hit an
  inherited property: a 500 instead of 404, and with the idle sweep
  enabled a thrown close() that crashed the process (correctness F3).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rahulrajaram

Copy link
Copy Markdown
Owner Author

The 0.1.0 package preparation and credential/HTTP hardening are included in merged PR #8 with the additional review fixes. Closing this stacked PR as superseded. No npm release has been published.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant