Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
ea2efce
feat: add seal committee aggregator support
ducnmm May 6, 2026
66351ae
ci: update Walrus site package
ducnmm May 8, 2026
ea960a2
Merge pull request #140 from MystenLabs/fix/walrus-site-package-dev
ducnmm May 8, 2026
e44be5d
fix: clean up seal sidecar config imports
ducnmm May 11, 2026
7830b32
docs: clarify sidecar walrus epoch cap
ducnmm May 11, 2026
99e2286
Revert "docs: clarify sidecar walrus epoch cap"
ducnmm May 11, 2026
94adfa6
Merge remote-tracking branch 'origin/dev' into codex/mem-25-seal-comm…
ducnmm May 11, 2026
731c8ba
fix(app): reload on stale vite chunks
ducnmm May 11, 2026
1d80022
fix: restore independent seal defaults
ducnmm May 11, 2026
d992b4d
fix: align seal sidecar threshold config
ducnmm May 11, 2026
ce07bff
Merge pull request #136 from MystenLabs/codex/mem-25-seal-committee-a…
ducnmm May 11, 2026
2e788fe
feat(mcp): @memwal/mcp stdio bridge + browser login + SSE proxy relia…
hien-p May 11, 2026
5acb0e4
security(mcp): fix CSRF + DoS + silent relayer rewrite (audit C2, H3,…
hien-p May 11, 2026
de491b7
Merge branch 'dev' into feat/mcp-server-sidecar
hien-p May 11, 2026
cb48371
fix(mcp): pin zod to ^3.25 to satisfy memwal SDK peer dep (CI ERESOLVE)
hien-p May 11, 2026
64a3276
chore: remove internal planning docs from repo + gitignore plans/
hien-p May 11, 2026
8990a88
chore: gitignore .local-plans/ (untracked local notes mirror)
hien-p May 11, 2026
df7e019
fix(playground): poll remember job until terminal state
hien-p May 11, 2026
8fffeab
feat(playground+sdk): poll each state transition (running → uploaded …
hien-p May 11, 2026
172bb6b
feat(mcp): Streamable HTTP transport — drop the package requirement
hien-p May 11, 2026
17fc86b
MEM-37: Cache SEAL ciphertext in Redis
ducnmm May 12, 2026
096a9d1
fix(sdk): normalize missing remember job status
ducnmm May 12, 2026
07455e3
Merge pull request #142 from MystenLabs/fix/playground-poll-job-status
ducnmm May 12, 2026
505756a
security(mcp): fix PR #141 review blockers — Dockerfile, rate limit, …
hien-p May 12, 2026
24e8da7
Merge remote-tracking branch 'origin/dev' into feat/mcp-server-sidecar
ducnmm May 12, 2026
c7f91be
feat: improve mcp release and connection flow
ducnmm May 12, 2026
316cefd
feat(server): collapse multi-wallet Apalis queues to single wallet + …
hien-p May 12, 2026
3d36a2f
Merge pull request #143 from MystenLabs/feature/mem-37-cache-seal-cip…
ducnmm May 13, 2026
6a15ce3
Merge remote-tracking branch 'origin/dev' into research/simplify-walr…
May 13, 2026
750dca9
fix(server): allow concurrent single-wallet Walrus jobs
May 13, 2026
531d8ed
fix(server): make single-wallet retries consistent
May 13, 2026
877d774
Merge pull request #144 from MystenLabs/research/simplify-walrus-wall…
ducnmm May 13, 2026
1b296b1
feat(mcp): add memwal_login + memwal_logout tools to eliminate manual…
hien-p May 13, 2026
bf4ae5f
Merge branch 'dev' into feat/mcp-server-sidecar
hien-p May 13, 2026
24a143c
Merge pull request #141 from MystenLabs/feat/mcp-server-sidecar
ducnmm May 13, 2026
3a062c7
fix(relayer): enable TLS for Neon postgres
May 14, 2026
e8ce3f7
Refactor: ENG-1747 server restructure — engine trait + services + sto…
hungtranphamminh May 14, 2026
cd03a7a
Merge pull request #149 from MystenLabs/fix/neon-postgres-tls
ducnmm May 14, 2026
77baf5f
chore: clean up ENG-1405 follow-ups
May 14, 2026
a51bc5d
docs(mcp): document memwal_login + memwal_logout tools (ENG-1749)
hien-p May 14, 2026
0c1f0d9
Merge pull request #150 from MystenLabs/chore/clean-up-1405
Aaron1924 May 14, 2026
729378e
Merge pull request #151 from MystenLabs/feat/mcp-server-sidecar
ducnmm May 14, 2026
59e98b6
fix(restore): lower default restore limit
May 14, 2026
0945bef
Merge pull request #152 from MystenLabs/fix/restore-default-limit
ducnmm May 14, 2026
c3644f3
chore(release): bump sdk package metadata
May 14, 2026
ad074f0
Merge pull request #154 from MystenLabs/chore/sdk-release-metadata
ducnmm May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/deploy-app-walrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,6 @@ jobs:
general:
wallet_env: mainnet
walrus_context: mainnet
walrus_package: 0xfa65cb2d62f4d39e60346fb7d501c12538ca2bbc646eaa37ece2aec5f897814e
walrus_package: 0x98da433aa0139512c210597b1c5e3df6cd121d8d77f8652691bb66fadfc8aa1b
gas_budget: 500000000
default_context: mainnet
146 changes: 146 additions & 0 deletions .github/workflows/release-mcp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
name: Release MCP Package

on:
push:
branches:
- main
- staging
- dev
paths:
- 'packages/mcp/**'
- '.github/workflows/release-mcp.yml'
workflow_dispatch:

concurrency: ${{ github.workflow }}-${{ github.ref }}

jobs:
release:
name: Version & Publish
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
id-token: write

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup PNPM
uses: pnpm/action-setup@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: pnpm
registry-url: 'https://registry.npmjs.org'

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Typecheck
run: pnpm --filter @mysten-incubation/memwal-mcp typecheck

- name: Build MCP package
run: pnpm --filter @mysten-incubation/memwal-mcp build

# ── main branch → changeset version + stable release (latest) ──
- name: Apply changesets (update version & CHANGELOG)
if: github.ref == 'refs/heads/main'
id: changeset_version
run: |
pnpm changeset version 2>/dev/null || true
if git diff --quiet; then
echo "has_changes=false" >> $GITHUB_OUTPUT
else
echo "has_changes=true" >> $GITHUB_OUTPUT
fi

- name: Commit changelog & version bump
if: github.ref == 'refs/heads/main' && steps.changeset_version.outputs.has_changes == 'true'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add -A
git commit -m "chore: version packages & update changelog [skip ci]"
git push

- name: Publish stable release
if: github.ref == 'refs/heads/main'
id: publish_mcp
run: |
VERSION=$(node -p "require('./packages/mcp/package.json').version")
echo "version=$VERSION" >> $GITHUB_OUTPUT
npm view @mysten-incubation/memwal-mcp@$VERSION version 2>/dev/null \
&& echo "Version $VERSION already published, skipping" && echo "published=false" >> $GITHUB_OUTPUT && exit 0
cd packages/mcp && npm publish --provenance --access public
echo "published=true" >> $GITHUB_OUTPUT

- name: Create GitHub Release
if: github.ref == 'refs/heads/main' && steps.publish_mcp.outputs.published == 'true'
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const version = '${{ steps.publish_mcp.outputs.version }}';
const tag = `@mysten-incubation/memwal-mcp@${version}`;
let body = `Release @mysten-incubation/memwal-mcp v${version}`;
try {
const changelog = fs.readFileSync('packages/mcp/CHANGELOG.md', 'utf8');
const match = changelog.match(/## \d+\.\d+\.\d+[\s\S]*?(?=## \d+\.\d+\.\d+|$)/);
if (match) body = match[0].trim();
} catch (e) { /* use default body */ }
await github.rest.repos.createRelease({
owner: context.repo.owner,
repo: context.repo.repo,
tag_name: tag,
name: tag,
body,
draft: false,
prerelease: false,
});

# ── staging branch → release candidate (rc tag, auto-increment) ──
- name: Publish staging release candidate
if: github.ref == 'refs/heads/staging'
run: |
BASE_VERSION=$(node -p "require('./packages/mcp/package.json').version")
LATEST=$(npm view @mysten-incubation/memwal-mcp versions --json 2>/dev/null \
| node -p "
const input = require('fs').readFileSync('/dev/stdin','utf8').trim();
const versions = input ? JSON.parse(input) : [];
const nums = (Array.isArray(versions) ? versions : [versions])
.filter(v => v.startsWith('${BASE_VERSION}-rc.'))
.map(v => +v.split('-rc.')[1])
.sort((a,b) => b - a);
nums.length ? nums[0] : -1;
" || echo "-1")
NEXT=$((LATEST + 1))
NEW_VERSION="${BASE_VERSION}-rc.${NEXT}"
echo "Publishing @mysten-incubation/memwal-mcp@${NEW_VERSION}"
cd packages/mcp
node -e "const p=require('./package.json');p.version='${NEW_VERSION}';require('fs').writeFileSync('./package.json',JSON.stringify(p,null,4)+'\n')"
npm publish --tag rc --provenance --access public

# ── dev branch → prerelease (dev tag, auto-increment) ──
- name: Publish dev prerelease
if: github.ref == 'refs/heads/dev'
run: |
BASE_VERSION=$(node -p "require('./packages/mcp/package.json').version")
LATEST=$(npm view @mysten-incubation/memwal-mcp versions --json 2>/dev/null \
| node -p "
const input = require('fs').readFileSync('/dev/stdin','utf8').trim();
const versions = input ? JSON.parse(input) : [];
const nums = (Array.isArray(versions) ? versions : [versions])
.filter(v => v.startsWith('${BASE_VERSION}-dev.'))
.map(v => +v.split('-dev.')[1])
.sort((a,b) => b - a);
nums.length ? nums[0] : -1;
" || echo "-1")
NEXT=$((LATEST + 1))
NEW_VERSION="${BASE_VERSION}-dev.${NEXT}"
echo "Publishing @mysten-incubation/memwal-mcp@${NEW_VERSION}"
cd packages/mcp
node -e "const p=require('./package.json');p.version='${NEW_VERSION}';require('fs').writeFileSync('./package.json',JSON.stringify(p,null,4)+'\n')"
npm publish --tag dev --provenance --access public
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -116,3 +116,10 @@ tmp-smashblob/

# Railway sensitive docs
railway-*.md

# Per-developer MCP client config (user paths)
.mcp.json

# Personal/internal planning notes — never include in repo
plans/
.local-plans/
2 changes: 2 additions & 0 deletions apps/app/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import LandingPage from './pages/LandingPage'
import Dashboard from './pages/Dashboard'
import SetupWizard from './pages/SetupWizard'
import Playground from './pages/Playground'
import ConnectMcp from './pages/ConnectMcp'


import '@mysten/dapp-kit/dist/index.css'
Expand Down Expand Up @@ -212,6 +213,7 @@ function AppContent() {
!currentAccount ? <Navigate to="/" replace /> :
delegateKey ? <Playground /> : <Navigate to="/dashboard" replace />
} />
<Route path="/connect/mcp" element={<ConnectMcp />} />
<Route path="*" element={<Navigate to="/" replace />} />
</Routes>
)
Expand Down
Loading
Loading