diff --git a/.github/workflows/publish-mcp-server.yml b/.github/workflows/publish-mcp-server.yml index 3e6032e..2b5c1ac 100644 --- a/.github/workflows/publish-mcp-server.yml +++ b/.github/workflows/publish-mcp-server.yml @@ -16,13 +16,172 @@ on: description: 'Name to use for the prerelease: beta, dev, etc.' jobs: - placeholder: + update-dependencies: + if: inputs.update-providers runs-on: ubuntu-latest + outputs: + has-updates: ${{ steps.update-deps.outputs.has-updates }} steps: - - name: Placeholder job + - uses: actions/checkout@v4 + with: + token: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }} + + - name: Get Github user info + id: github-user-info + uses: salesforcecli/github-workflows/.github/actions/getGithubUserInfo@main + with: + SVC_CLI_BOT_GITHUB_TOKEN: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }} + + - uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + cache: yarn + + - name: Update provider dependencies + id: update-deps + run: | + cd packages/mcp + + # Define all provider packages + ALL_PROVIDERS=("@salesforce/mcp-provider-api" "@salesforce/mcp-provider-dx-core" "@salesforce/mcp-provider-code-analyzer") + + # Determine which providers to update + if [ -n "${{ inputs.providers-to-update }}" ]; then + IFS=',' read -ra PROVIDERS_TO_UPDATE <<< "${{ inputs.providers-to-update }}" + # Add @salesforce/ prefix if not present + for i in "${!PROVIDERS_TO_UPDATE[@]}"; do + if [[ "${PROVIDERS_TO_UPDATE[i]}" != @salesforce/* ]]; then + PROVIDERS_TO_UPDATE[i]="@salesforce/${PROVIDERS_TO_UPDATE[i]}" + fi + done + else + PROVIDERS_TO_UPDATE=("${ALL_PROVIDERS[@]}") + fi + + HAS_UPDATES=false + UPDATED_PACKAGES=() + + # Update each specified provider + for provider in "${PROVIDERS_TO_UPDATE[@]}"; do + echo "Checking for updates to $provider..." + + # Get current version + CURRENT_VERSION=$(node -p "require('./package.json').dependencies['$provider']") + + # Get latest version from npm + LATEST_VERSION=$(npm show "$provider" version) + + if [ "$CURRENT_VERSION" != "$LATEST_VERSION" ]; then + echo "Updating $provider from $CURRENT_VERSION to $LATEST_VERSION" + + # Update using jq (similar to provider workflow) + jq --arg pkg "$provider" --arg ver "$LATEST_VERSION" \ + '.dependencies[$pkg] = $ver' package.json > package.json.tmp + mv package.json.tmp package.json + + UPDATED_PACKAGES+=("$provider") + HAS_UPDATES=true + else + echo "$provider is already at latest version ($LATEST_VERSION)" + fi + done + + echo "has-updates=$HAS_UPDATES" >> "$GITHUB_OUTPUT" + + # Update lockfile and commit changes if any updates were made + if [ "$HAS_UPDATES" = true ]; then + cd ../../ + # TODO(cristian): need to nuke all `node_modules` to cleanup some dep, running `yarn install` 2 times fails at the second run. + git clean -fdx + yarn install + + git config user.name "${{ steps.github-user-info.outputs.username }}" + git config user.email "${{ steps.github-user-info.outputs.email }}" + git add packages/mcp/package.json yarn.lock + git commit -m "chore: update provider dependencies + + Updated packages: + $(printf '%s\n' "${UPDATED_PACKAGES[@]}")" + git push + fi + + publish-server: + needs: [update-dependencies] + # Skip publishing if update-providers=true but no provider updates were needed + # Logic: Run if (manual release) OR (provider updates were requested AND updates were found) + if: always() && (needs.update-dependencies.result == 'success' || needs.update-dependencies.result == 'skipped') && (!inputs.update-providers || needs.update-dependencies.outputs.has-updates == 'true') + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + token: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }} + fetch-depth: 0 + + - name: Get Github user info + id: github-user-info + uses: salesforcecli/github-workflows/.github/actions/getGithubUserInfo@main + with: + SVC_CLI_BOT_GITHUB_TOKEN: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }} + + - uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + cache: yarn + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Build package + run: | + cd packages/mcp + yarn build + + - name: Conventional Changelog Action + id: changelog + uses: TriPSs/conventional-changelog-action@3a392e9aa44a72686b0fc13259a90d287dd0877c + with: + git-user-name: ${{ steps.github-user-info.outputs.username }} + git-user-email: ${{ steps.github-user-info.outputs.email }} + github-token: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }} + tag-prefix: "" + release-count: "0" + skip-on-empty: false + git-path: "packages/mcp" + version-file: "packages/mcp/package.json" + output-file: "packages/mcp/CHANGELOG.md" + pre-release: ${{ inputs.prerelease && 'true' || 'false' }} + pre-release-identifier: ${{ inputs.prerelease || '' }} + + - name: Create Github Release + id: release + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 + if: ${{ steps.changelog.outputs.skipped == 'false' }} + with: + name: "${{ steps.changelog.outputs.version }}" + tag: "${{ steps.changelog.outputs.version }}" + commit: ${{ github.sha }} + body: | + ## Changes in @salesforce/mcp + + ${{ steps.changelog.outputs.clean_changelog }} + token: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }} + skipIfReleaseExists: true + prerelease: ${{ inputs.prerelease && 'true' || 'false' }} + + - name: Publish to npm + if: ${{ steps.changelog.outputs.skipped == 'false' && steps.release.outputs.id != '' }} run: | - echo "This is a placeholder workflow. The actual implementation is in feature branches." - echo "Update providers to latest: ${{ inputs.update-providers }}" - echo "Providers to update: ${{ inputs.providers-to-update }}" - echo "Prerelease tag: ${{ inputs.prerelease }}" - echo "This workflow will be replaced when the feature branch is merged to main." + cd packages/mcp + echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc + + # Determine npm dist-tag + if [ -n "${{ inputs.prerelease }}" ]; then + NPM_TAG="${{ inputs.prerelease }}" + echo "Publishing prerelease to npm tag: $NPM_TAG" + npm publish --access public --tag "$NPM_TAG" + else + echo "Publishing to latest tag" + npm publish --access public + fi + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/publish-providers.yml b/.github/workflows/publish-providers.yml index 5d07d5c..809b55a 100644 --- a/.github/workflows/publish-providers.yml +++ b/.github/workflows/publish-providers.yml @@ -1,6 +1,13 @@ name: publish-providers on: + push: + branches: + - main + paths: + - 'packages/mcp-provider-api/**' + - 'packages/mcp-provider-dx-core/**' + # - 'packages/mcp-provider-code-analyzer/**' workflow_dispatch: inputs: packages: @@ -13,12 +20,174 @@ on: default: true jobs: - placeholder: + detect-changes: runs-on: ubuntu-latest + outputs: + changed-packages: ${{ steps.detect.outputs.packages }} + has-changes: ${{ steps.detect.outputs.has-changes }} steps: - - name: Placeholder job + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Detect changed packages + id: detect run: | - echo "This is a placeholder workflow. The actual implementation is in feature branches." - echo "Packages requested: ${{ inputs.packages }}" - echo "Skip on empty: ${{ inputs.skip-on-empty }}" - echo "This workflow will be replaced when the feature branch is merged to main." + # Packages that auto-publish on push to main + AUTO_PUBLISHABLE_PACKAGES=("mcp-provider-api" "mcp-provider-dx-core") + + # All available provider packages + ALL_PACKAGES=("mcp-provider-api" "mcp-provider-dx-core" "mcp-provider-code-analyzer") + + # Initialize packages array + PACKAGES='[]' + HAS_CHANGES=false + + if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + echo "Manual workflow dispatch detected" + + if [ -n "${{ inputs.packages }}" ]; then + # Parse comma-separated input + IFS=',' read -ra SPECIFIED_PACKAGES <<< "${{ inputs.packages }}" + for pkg in "${SPECIFIED_PACKAGES[@]}"; do + # Trim whitespace + pkg=$(echo "$pkg" | xargs) + # Validate package exists + if [[ " ${ALL_PACKAGES[@]} " =~ " ${pkg} " ]]; then + PACKAGES=$(echo "$PACKAGES" | jq -c --arg pkg "$pkg" '. += [$pkg]') + HAS_CHANGES=true + echo "Manual publish requested for: $pkg" + else + echo "Warning: Unknown package '$pkg' specified, skipping" + fi + done + else + # No packages specified, publish auto-publishable packages only + # code-analyzer is excluded from bulk operations and must be specified explicitly + for pkg in "${AUTO_PUBLISHABLE_PACKAGES[@]}"; do + PACKAGES=$(echo "$PACKAGES" | jq -c --arg pkg "$pkg" '. += [$pkg]') + HAS_CHANGES=true + echo "Manual publish requested for: $pkg" + done + fi + else + echo "Push event detected, checking for changed files" + # Get changed files in the last commit + CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD) + + # Check each provider package for changes (only auto-publish enabled packages) + for pkg in "${AUTO_PUBLISHABLE_PACKAGES[@]}"; do + if echo "$CHANGED_FILES" | grep -q "^packages/$pkg/"; then + PACKAGES=$(echo "$PACKAGES" | jq -c --arg pkg "$pkg" '. += [$pkg]') + HAS_CHANGES=true + echo "Detected changes in: $pkg" + fi + done + fi + + echo "packages=$PACKAGES" >> "$GITHUB_OUTPUT" + echo "has-changes=$HAS_CHANGES" >> "$GITHUB_OUTPUT" + echo "Final packages to process: $PACKAGES" + + publish-package: + needs: detect-changes + if: needs.detect-changes.outputs.has-changes == 'true' + runs-on: ubuntu-latest + strategy: + matrix: + package: ${{ fromJson(needs.detect-changes.outputs.changed-packages) }} + steps: + - uses: actions/checkout@v4 + with: + token: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }} + fetch-depth: 0 + + - name: Get Github user info + id: github-user-info + uses: salesforcecli/github-workflows/.github/actions/getGithubUserInfo@main + with: + SVC_CLI_BOT_GITHUB_TOKEN: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }} + + - uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + cache: yarn + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Build package + run: | + cd packages/${{ matrix.package }} + yarn build + + - name: Conventional Changelog Action + id: changelog + uses: TriPSs/conventional-changelog-action@3a392e9aa44a72686b0fc13259a90d287dd0877c + with: + git-user-name: ${{ steps.github-user-info.outputs.username }} + git-user-email: ${{ steps.github-user-info.outputs.email }} + github-token: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }} + tag-prefix: "${{ matrix.package }}@" + release-count: "0" + skip-on-empty: ${{ github.event_name == 'push' || inputs.skip-on-empty }} + git-path: "packages/${{ matrix.package }}" + version-file: "packages/${{ matrix.package }}/package.json" + output-file: "packages/${{ matrix.package }}/CHANGELOG.md" + + - name: Create Github Release + id: release + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 + if: ${{ steps.changelog.outputs.skipped == 'false' }} + with: + name: "${{ matrix.package }}@${{ steps.changelog.outputs.version }}" + tag: "${{ matrix.package }}@${{ steps.changelog.outputs.version }}" + commit: ${{ github.sha }} + body: | + ## Changes in ${{ matrix.package }} + + ${{ steps.changelog.outputs.clean_changelog }} + token: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }} + skipIfReleaseExists: true + + - name: Publish to npm + if: ${{ steps.changelog.outputs.skipped == 'false' && steps.release.outputs.id != '' }} + run: | + cd packages/${{ matrix.package }} + echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc + npm publish --access public + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Update main server dependency + if: ${{ steps.changelog.outputs.skipped == 'false' && steps.release.outputs.id != '' }} + run: | + # Get the published version + PUBLISHED_VERSION="${{ steps.changelog.outputs.version }}" + PACKAGE_NAME="@salesforce/${{ matrix.package }}" + + echo "Updating $PACKAGE_NAME to version $PUBLISHED_VERSION in main MCP server" + + # Update the dependency in main server's package.json using jq + cd packages/mcp + jq --arg pkg "$PACKAGE_NAME" --arg ver "$PUBLISHED_VERSION" \ + '.dependencies[$pkg] = $ver' package.json > package.json.tmp + mv package.json.tmp package.json + + # Go back to root and update yarn.lock + cd ../../ + # TODO(cristian): need to nuke all `node_modules` to cleanup some dep, running `yarn install` 2 times fails at the second run. + git clean -fdx + yarn install + + # Commit the changes + git add packages/mcp/package.json yarn.lock + git config user.name "${{ steps.github-user-info.outputs.username }}" + git config user.email "${{ steps.github-user-info.outputs.email }}" + # TODO(cristian): remove `--no-verify` after linting issues are solved + git commit -m "chore: bump $PACKAGE_NAME to $PUBLISHED_VERSION --no-verify + + Auto-update dependency after provider package publish. + + Related release: ${{ matrix.package }}@${{ steps.changelog.outputs.version }}" + git push diff --git a/DEVELOPING.md b/DEVELOPING.md index 05b7b82..758d938 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -112,6 +112,29 @@ yarn install yarn workspace @salesforce/mcp build ``` +## Triggering releases for your provider + +Once your provider is ready for release, you can publish it and optionally trigger a full server release: + +### Provider-only release (automatic on main branch): +- Push changes to `main` branch - providers in the auto-publish list (`mcp-provider-api`, `mcp-provider-dx-core`) will automatically publish when changes are detected +- To opt-in to auto-publishing: add your provider to the `AUTO_PUBLISHABLE_PACKAGES` array in `.github/workflows/publish-providers.yml` and in the `on.push.paths` array. +- For manual-schedule providers like `mcp-provider-code-analyzer`, use: `gh workflow run publish-providers --field packages='mcp-provider-YOUR_PROVIDER'` + +### Full server release (includes your provider): +1. First ensure your provider is published: `gh workflow run publish-providers --field packages='mcp-provider-YOUR_PROVIDER'` +2. Then release the main server with updated dependencies: `gh workflow run publish-mcp-server --field update-providers=true` + +### Server release with all latest providers: +- To release the server with all provider packages updated to their latest versions: `gh workflow run publish-mcp-server --field update-providers=true` +- To update only specific providers: `gh workflow run publish-mcp-server --field update-providers=true --field providers-to-update='mcp-provider-api,mcp-provider-dx-core'` + +### Server prerelease (dev versions): +- For dev releases: `gh workflow run publish-mcp-server --field prerelease='dev'` +- Prereleases are published to custom npm tags (e.g., `npm install -g @salesforce/mcp@dev`). + +The server release workflow will automatically update to the latest provider versions before publishing the main MCP server package. + - For server wiring details and how providers are loaded, see `packages/mcp/DEVELOPING.md`. ## Running the MCP server locally diff --git a/packages/EXAMPLE-MCP-PROVIDER/package.json b/packages/EXAMPLE-MCP-PROVIDER/package.json index 195f3b9..f1d1b58 100644 --- a/packages/EXAMPLE-MCP-PROVIDER/package.json +++ b/packages/EXAMPLE-MCP-PROVIDER/package.json @@ -14,7 +14,7 @@ "types": "dist/index.d.ts", "dependencies": { "@modelcontextprotocol/sdk": "^1.17.3", - "@salesforce/mcp-provider-api": "0.0.1-alpha.1", + "@salesforce/mcp-provider-api": "^0.1.0", "zod": "^3.23.8" }, "devDependencies": { diff --git a/packages/mcp-provider-api/CHANGELOG.md b/packages/mcp-provider-api/CHANGELOG.md new file mode 100644 index 0000000..f5a7f0a --- /dev/null +++ b/packages/mcp-provider-api/CHANGELOG.md @@ -0,0 +1,15 @@ +# 0.1.0 (2025-08-26) + + +### Bug Fixes + +* force provider-api pkg release ([2951bec](https://github.com/salesforcecli/mcp/commit/2951bec17536274ebe3f3d4d6cbff155ce479f29)) +* **W-19398430:** clean up from initial refactor ([#148](https://github.com/salesforcecli/mcp/issues/148)) ([39a8a8a](https://github.com/salesforcecli/mcp/commit/39a8a8af9519529281acb1ee5b49ad4fd3f0229c)) + + +### Features + +* **W-19398454:** move dx core tools to separate package ([#155](https://github.com/salesforcecli/mcp/issues/155)) ([36f94bb](https://github.com/salesforcecli/mcp/commit/36f94bb97e0ba4de8aeba700ff947d03eb865bc0)) + + + diff --git a/packages/mcp-provider-api/package.json b/packages/mcp-provider-api/package.json index 06d501d..c7df502 100644 --- a/packages/mcp-provider-api/package.json +++ b/packages/mcp-provider-api/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/mcp-provider-api", "description": "(For Internal Use Only) API to implement a McpProvider that provides prompts, resources, and tools to be registered by an MCP server", - "version": "0.0.1-alpha.1", + "version": "0.1.0", "type": "module", "license": "Apache-2.0", "main": "dist/index.js", diff --git a/packages/mcp-provider-code-analyzer/CHANGELOG.md b/packages/mcp-provider-code-analyzer/CHANGELOG.md new file mode 100644 index 0000000..ec3ec9f --- /dev/null +++ b/packages/mcp-provider-code-analyzer/CHANGELOG.md @@ -0,0 +1,4 @@ +## 0.0.1 (2025-08-26) + + + diff --git a/packages/mcp-provider-code-analyzer/package.json b/packages/mcp-provider-code-analyzer/package.json index e676c27..c1c9dba 100644 --- a/packages/mcp-provider-code-analyzer/package.json +++ b/packages/mcp-provider-code-analyzer/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/mcp-provider-code-analyzer", "description": "(For Interal Use Only) Provides MCP Tools for Salesforce Code Analyzer to a MCP Server", - "version": "0.0.1-alpha.1", + "version": "0.0.1", "author": "Salesforce", "license": "Apache-2.0", "type": "module", @@ -20,7 +20,7 @@ "@salesforce/code-analyzer-pmd-engine": "0.28.0", "@salesforce/code-analyzer-regex-engine": "0.24.0", "@salesforce/code-analyzer-retirejs-engine": "0.24.0", - "@salesforce/mcp-provider-api": "0.0.1-alpha.1", + "@salesforce/mcp-provider-api": "0.1.0", "zod": "^3.23.8" }, "devDependencies": { @@ -48,4 +48,4 @@ "package": "yarn pack", "test": "tsc --build tsconfig.json --noEmit && vitest run --coverage" } -} \ No newline at end of file +} diff --git a/packages/mcp-provider-dx-core/CHANGELOG.md b/packages/mcp-provider-dx-core/CHANGELOG.md new file mode 100644 index 0000000..43c6863 --- /dev/null +++ b/packages/mcp-provider-dx-core/CHANGELOG.md @@ -0,0 +1,23 @@ +## [0.1.2](https://github.com/salesforcecli/mcp/compare/mcp-provider-dx-core@0.1.1...mcp-provider-dx-core@0.1.2) (2025-08-26) + + + +## [0.1.1](https://github.com/salesforcecli/mcp/compare/mcp-provider-dx-core@0.1.0...mcp-provider-dx-core@0.1.1) (2025-08-26) + + + +# [0.1.0](https://github.com/salesforcecli/mcp/compare/36f94bb97e0ba4de8aeba700ff947d03eb865bc0...mcp-provider-dx-core@0.1.0) (2025-08-26) + + +### Bug Fixes + +* tmp skip linting ([c99a55e](https://github.com/salesforcecli/mcp/commit/c99a55e56c43333f4d0382c61f6f998323af2515)) +* trigger initial dx provider release ([e3f5ea5](https://github.com/salesforcecli/mcp/commit/e3f5ea51e9e029cda72648fa9628693035e55128)) + + +### Features + +* **W-19398454:** move dx core tools to separate package ([#155](https://github.com/salesforcecli/mcp/issues/155)) ([36f94bb](https://github.com/salesforcecli/mcp/commit/36f94bb97e0ba4de8aeba700ff947d03eb865bc0)) + + + diff --git a/packages/mcp-provider-dx-core/package.json b/packages/mcp-provider-dx-core/package.json index 7aebc71..29bf830 100644 --- a/packages/mcp-provider-dx-core/package.json +++ b/packages/mcp-provider-dx-core/package.json @@ -1,6 +1,6 @@ { "name": "@salesforce/mcp-provider-dx-core", - "version": "0.0.1-alpha.1", + "version": "0.1.2", "description": "MCP provider for core Salesforce DX functionality", "types": "lib/index.d.ts", "license": "Apache-2.0", @@ -48,7 +48,7 @@ "@salesforce/apex-node": "^8.2.1", "@salesforce/core": "^8.18.0", "@salesforce/kit": "^3.1.6", - "@salesforce/mcp-provider-api": "0.0.1-alpha.1", + "@salesforce/mcp-provider-api": "^0.1.0", "@salesforce/source-deploy-retrieve": "^12.22.0", "@salesforce/source-tracking": "^7.4.8", "@salesforce/ts-types": "^2.0.11", diff --git a/packages/mcp/CHANGELOG.md b/packages/mcp/CHANGELOG.md new file mode 100644 index 0000000..0a26845 --- /dev/null +++ b/packages/mcp/CHANGELOG.md @@ -0,0 +1,23 @@ +## [0.17.2-dev.2](https://github.com/salesforcecli/mcp/compare/0.17.2-dev.1...0.17.2-dev.2) (2025-08-27) + + + +## [0.17.2-dev.1](https://github.com/salesforcecli/mcp/compare/0.17.2-dev.0...0.17.2-dev.1) (2025-08-26) + + + +## [0.17.2-dev.0](https://github.com/salesforcecli/mcp/compare/0.17.1...0.17.2-dev.0) (2025-08-26) + + +### Bug Fixes + +* trigger initial dx provider release ([e3f5ea5](https://github.com/salesforcecli/mcp/commit/e3f5ea51e9e029cda72648fa9628693035e55128)) +* **W-19398430:** clean up from initial refactor ([#148](https://github.com/salesforcecli/mcp/issues/148)) ([39a8a8a](https://github.com/salesforcecli/mcp/commit/39a8a8af9519529281acb1ee5b49ad4fd3f0229c)) + + +### Features + +* **W-19398454:** move dx core tools to separate package ([#155](https://github.com/salesforcecli/mcp/issues/155)) ([36f94bb](https://github.com/salesforcecli/mcp/commit/36f94bb97e0ba4de8aeba700ff947d03eb865bc0)) + + + diff --git a/packages/mcp/package.json b/packages/mcp/package.json index cf78e01..32b690b 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@salesforce/mcp", - "version": "0.17.1", + "version": "0.17.2-dev.2", "description": "MCP Server for interacting with Salesforce instances", "bin": { "sf-mcp-server": "bin/run.js" @@ -22,7 +22,6 @@ "lint-fix": "yarn sf-lint --fix", "package": "yarn pack", "postpack": "sf-clean --ignore-signing-artifacts", - "prepack": "sf-prepack", "prepare": "sf-install", "start": "yarn build && npm link && mcp-inspector sf-mcp-server", "test": "wireit", @@ -49,9 +48,9 @@ "@salesforce/apex-node": "^8.2.1", "@salesforce/core": "^8.18.0", "@salesforce/kit": "^3.1.6", - "@salesforce/mcp-provider-api": "0.0.1-alpha.1", - "@salesforce/mcp-provider-dx-core": "0.0.1-alpha.1", - "@salesforce/mcp-provider-code-analyzer": "0.0.1-alpha.1", + "@salesforce/mcp-provider-api": "0.1.0", + "@salesforce/mcp-provider-dx-core": "0.1.2", + "@salesforce/mcp-provider-code-analyzer": "0.0.1", "@salesforce/source-deploy-retrieve": "^12.22.0", "@salesforce/source-tracking": "^7.4.8", "@salesforce/telemetry": "^6.1.0",