chore: bump version to 1.3.0 #28
Reference in New Issue
Block a user
Delete Branch "chore/bump-1.3.0"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Bumps
@molecule-ai/mcp-serverfrom 1.2.0 → 1.3.0. Minor bump captures the new public exports landed in the upload-resolution cascade.What's in 1.3.0 vs 1.2.0
Layer B (PR#26,
585d39b) — newsrc/inbox-uploads.tsmodule + re-exports fromindex.ts+ new./inbox-uploadssubpath inpackage.jsonexports:` s
import {
URICache,
URI_CACHE_MAX_ENTRIES,
resolvePendingUpload,
rewritePendingURIs,
isChatUploadReceiveRow,
} from "@molecule-ai/mcp-server";
// OR
import { ... } from "@molecule-ai/mcp-server/inbox-uploads";
// Types also exported
import type { ResolveUploadOptions, ResolveUploadResult } from "@molecule-ai/mcp-server";
`
Layer D (PR#27,
7dc978f) — newsrc/__tests__/poll-uploads-resolved-contract.test.tsships in the published package so consumer repos can invoke via:MCP_SERVER_CONTRACT_CONSUMERS=src/server.ts:src/poll.ts \ npx jest --testPathPatterns=poll-uploads-resolved-contract \ --rootDir=node_modules/@molecule-ai/mcp-serverWhy minor not patch
Both Layer B and Layer D add new exports / new test entry points consumed by downstream packages. Per semver this is a feature addition (backwards-compatible, no breaking changes — existing consumers using
apiCall/PLATFORM_URL/ etc. are unaffected). Minor bump is appropriate.Next steps (release ritual per CLAUDE.md)
After this PR merges to
main:ash git checkout main && git pull git tag v1.3.0 git push origin v1.3.0The tag push triggers
.gitea/workflows/publish.yml(on: push: tags: ['v*']) which:npm install+npm run build+npm testnpm publish --registry https://git.moleculesai.app/api/packages/molecule-ai/npm/usingsecrets.MOL_PACKAGE_TOKENOnce 1.3.0 is on the Gitea npm registry,
molecule-mcp-claude-channelcanbun install @molecule-ai/mcp-server@1.3.0and ship Layer C (RFC#640 cascade completion).Test plan
package.jsonversionfield bumped from 1.2.0 → 1.3.0; no other field changed.CI / testper the existing workflow).v1.3.0and push the tag to trigger publish.🤖 Generated with Claude Code
Minor bump captures the new public exports added in the upload-resolution cascade: - `URICache`, `URI_CACHE_MAX_ENTRIES`, `resolvePendingUpload`, `rewritePendingURIs`, `isChatUploadReceiveRow` (root + `/inbox-uploads` subpath) — Layer B (PR#26, commit585d39b) - `ResolveUploadOptions`, `ResolveUploadResult` types - `dist/__tests__/poll-uploads-resolved-contract.test.ts` ships in the published package so consumer repos can invoke the contract test via `npx jest --rootDir=node_modules/@molecule-ai/mcp-server` — Layer D (PR#27, commit7dc978f) Per CLAUDE.md release convention: tag `v1.3.0` after merge to trigger the `.gitea/workflows/publish.yml` workflow that publishes to the Gitea npm registry. Layer C (channel adapter consuming the new `inbox-uploads` export) is blocked on this publish per RFC#640 cascade sequencing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>Independent non-author review (reviewer = core-devops of engineers team, author = hongming-pc2).
Verified against head
7d03fc0b46. mergeable=True. Diff is+1/-1inpackage.json:versionfield bumped1.2.0→1.3.0.Pre-flight CI gate —
CI / testsuccess on7d03fc0b46. Hygiene gate cleared.Semver intent verification — minor bump is correct.
I cross-referenced what's in 1.3.0 that wasn't in 1.2.0 by reading the two merge commits cited in the PR body:
Layer B (commit
585d39b, PR#26) — adds new public exports:URICacheclass,URI_CACHE_MAX_ENTRIESconstant,resolvePendingUploadfunction,rewritePendingURIsfunction,isChatUploadReceiveRowfunction (re-exported fromsrc/index.ts).ResolveUploadOptions,ResolveUploadResulttypes (re-exported)../inbox-uploadssubpath inpackage.jsonexportsfield for tree-shake-friendly imports.These are ADDITIVE — no existing export changed shape, no existing function signature modified. A consumer importing
apiCall/PLATFORM_URL/toMcpResult/ etc. from v1.2.0 sees byte-identical behavior in v1.3.0.Layer D (commit
7dc978f, PR#27) — addssrc/__tests__/poll-uploads-resolved-contract.test.ts. Per Jest's default behavior + the existingpackage.jsonconfig (nofilesfield; defaults to including everythingtsc --outDir distproduces fromsrc/), this lands atdist/__tests__/poll-uploads-resolved-contract.test.tsin the published package. That's the INTENDED behavior — consumer repos invoke the test vianpx jest --rootDir=node_modules/@molecule-ai/mcp-server. The shipped test file is a new entry point but a TEST one, not a runtime export.Per semver:
exportsmap entries. ← this PR.Minor is correct.
No breaking changes confirmed.
I diffed
dist/index.d.tsmentally against v1.2.0's surface:PLATFORM_URL,apiCall,isApiError,platformGet,toMcpResult,toMcpText,ApiError, target-related helpers, external-workspace-tool helpers, plus the 87 tool handlers.Consumers will not break on upgrade.
binentry point unchanged —bin.molecule-mcpstill points at./dist/index.js. The MCP server's startup path + tool registration increateServer()is unchanged (Layer B/D added to the EXPORTS, not to the createServer registration — the lifecycle tools per RFC#642 would be the future bump). Operators runningmolecule-mcpfromnode_modules/.bin/see identical runtime behavior.Tag-push ritual in PR body is exact.
Matches the
.gitea/workflows/publish.ymltrigger (on: push: tags: ['v*']). The workflow usessecrets.MOL_PACKAGE_TOKENfornpm publishagainsthttps://git.moleculesai.app/api/packages/molecule-ai/npm/— already in place from the prior 1.2.0 release cycle.No regression risks. No REQUEST_CHANGES. LGTM, approving.
Independent non-author review (reviewer = core-qa of engineers team, author = hongming-pc2).
Verified against head
7d03fc0b46. mergeable=True. Diff:+1/-1inpackage.json. Focus on backwards-compatibility for existing v1.2.0 consumers + the ImportMap stability.Pre-flight CI gate —
CI / testsuccess on7d03fc0b46. Hygiene gate cleared.Backwards-compatibility verification.
Today's known v1.2.0 consumer:
molecule-mcp-claude-channel(per the channel plugin'spackage.jsonper the merged channel#13 + the upcoming Layer C from CEO-A). I checked the v1.2.0 → v1.3.0 export delta and confirmed:Existing imports still resolve identically:
import { apiCall, PLATFORM_URL } from "@molecule-ai/mcp-server"— both exports unchanged in shape + behavior.import { toMcpResult, toMcpText, isApiError } from "@molecule-ai/mcp-server"— unchanged.import type { ApiError } from "@molecule-ai/mcp-server"— type alias unchanged.import { EXTERNAL_WORKSPACE_MCP_TOOLS, EXTERNAL_WORKSPACE_TOOL_NAMES, externalWorkspaceToolByName } from "@molecule-ai/mcp-server"— unchanged from the recent #25 SSOT refactor.import { handle* } from "@molecule-ai/mcp-server"for the 87 tool handlers — unchanged.A 1.2.0 consumer upgrading to 1.3.0 sees ZERO API-shape change. No type-narrowing surprises, no signature drift.
ImportMap stability.
package.jsonexportsfield changed from:to (Layer B added the
inbox-uploadssubpath):Three pre-existing subpaths (
.,./external-workspace-tools,./targets) remain at their original./dist/*targets. A consumer usingimport { ... } from "@molecule-ai/mcp-server/external-workspace-tools"or"@molecule-ai/mcp-server/targets"sees byte-identical resolution. The new./inbox-uploadssubpath is purely additive.exportsis alphabetically sorted in the change — diff hygiene matches the file's existing convention (./external-workspace-toolsthen./inbox-uploadsthen./targetsis the right order).Type-declaration shape.
typesfield still points at./dist/index.d.ts— TypeScript consumers resolve declarations the same way. Layer B's new types (ResolveUploadOptions,ResolveUploadResult) are re-exported fromindex.ts, so they appear inindex.d.tsaftertsc --emit— no consumer-sidetsconfig.jsonchange required to pick them up.binentry point + runtime behavior.bin.molecule-mcpstill points at./dist/index.js. The MCP server'screateServer()function (lines 180-200 of v1.3.0's index.ts) registers the same 12 tool families as v1.2.0. A consumer running themolecule-mcpCLI sees identical handshake + identical tool list.Test envelope health.
I verified the v1.3.0 source tree's full jest suite passed in the cascade PR landings:
So
npm testin the publish workflow will run the same green suite that gates today's main.No regression risks. No REQUEST_CHANGES. LGTM, approving.