From e5f5c0cced4e69346dfc381687cf56f55d7c4f43 Mon Sep 17 00:00:00 2001 From: Cristian Dominguez Date: Fri, 19 Dec 2025 12:13:08 -0300 Subject: [PATCH 01/11] chore: update nut --- .../test/e2e/deploy_metadata.test.ts | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts b/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts index 97886fd5..d0128f86 100644 --- a/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import fs from 'node:fs'; import path from 'node:path'; import { expect, assert } from 'chai'; import { McpTestClient, DxMcpTransport } from '@salesforce/mcp-test-client'; @@ -229,16 +230,7 @@ describe('deploy_metadata', () => { expect(deployResult.runTestsEnabled).to.be.true; }); - it('should deploy remote edit when ignoreConflicts is set to true', async () => { - const customAppPath = path.join( - testSession.project.dir, - 'force-app', - 'main', - 'default', - 'applications', - 'Dreamhouse.app-meta.xml', - ); - + it('should deploy remote edit when ignoreConflicts is set to true', async () => { // deploy the whole project to ensure the file exists const fullProjectDeploy = await client.callTool(deployMetadataSchema, { name: 'deploy_metadata', @@ -251,6 +243,21 @@ describe('deploy_metadata', () => { expect(fullProjectDeploy.isError).to.be.false; expect(fullProjectDeploy.content.length).to.equal(1); + const customAppPath = path.join( + testSession.project.dir, + 'force-app', + 'main', + 'default', + 'applications', + 'Dreamhouse.app-meta.xml', + ); + + // local edit + await fs.promises.writeFile( + customAppPath, + (await fs.promises.readFile(customAppPath, { encoding: 'utf-8' })).replace('Lightning App Builder', 'App Builder') + ); + // Make a remote edit using Tooling API const conn = await Connection.create({ authInfo: await AuthInfo.create({ username: orgUsername }), @@ -280,18 +287,17 @@ describe('deploy_metadata', () => { Metadata: updatedMetadata, }); - // Deploy with ignoreConflicts=true - should override remote edit + // Deploy without ignoreConflicts - should throw conflicts error const deployResult = await client.callTool(deployMetadataSchema, { name: 'deploy_metadata', params: { - sourceDir: [customAppPath], - ignoreConflicts: true, usernameOrAlias: orgUsername, directory: testSession.project.dir, }, }); + console.log(JSON.stringify(deployResult,null,2)); - expect(deployResult.isError).to.equal(false); + expect(deployResult.isError).to.equal(true); expect(deployResult.content.length).to.equal(1); if (deployResult.content[0].type !== 'text') assert.fail(); From 2b223de8591214a98db288fa9284717e5e4e6c03 Mon Sep 17 00:00:00 2001 From: Cristian Dominguez Date: Thu, 22 Jan 2026 15:30:38 -0300 Subject: [PATCH 02/11] chore: bump deps + fix deploy/retrieve --- .vscode/launch.json | 5 +- package.json | 2 +- packages/EXAMPLE-MCP-PROVIDER/package.json | 2 +- packages/mcp-provider-api/package.json | 2 +- .../mcp-provider-code-analyzer/package.json | 2 +- packages/mcp-provider-devops/package.json | 6 +- packages/mcp-provider-dx-core/package.json | 8 +- .../src/tools/deploy_metadata.ts | 15 +- .../src/tools/retrieve_metadata.ts | 15 +- packages/mcp-provider-mobile-web/package.json | 2 +- packages/mcp/package.json | 6 +- yarn.lock | 512 ++++-------------- 12 files changed, 125 insertions(+), 452 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 42034781..2ccfcd61 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -21,8 +21,7 @@ "request": "attach", "name": "Attach to Debug Hook Process", "skipFiles": ["/**"], - "sourceMaps": true, - "outFiles": ["${workspaceFolder}/packages/mcp/lib/**/*.js"] + "sourceMaps": true } ] -} \ No newline at end of file +} diff --git a/package.json b/package.json index 8338d942..01066b5c 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "rimraf": "^6.0.1" }, "overrides": { - "@salesforce/core": "^8.22.0" + "@salesforce/core": "^8.24.3" }, "scripts": { "build": "yarn workspaces run build", diff --git a/packages/EXAMPLE-MCP-PROVIDER/package.json b/packages/EXAMPLE-MCP-PROVIDER/package.json index a68fee4e..e7fa7999 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.18.0", - "@salesforce/mcp-provider-api": "^0.4.0", + "@salesforce/mcp-provider-api": "^0.4.1", "zod": "^3.25.76" }, "devDependencies": { diff --git a/packages/mcp-provider-api/package.json b/packages/mcp-provider-api/package.json index cbd2b622..fec46e05 100644 --- a/packages/mcp-provider-api/package.json +++ b/packages/mcp-provider-api/package.json @@ -8,7 +8,7 @@ "types": "dist/index.d.ts", "dependencies": { "@modelcontextprotocol/sdk": "^1.18.0", - "@salesforce/core": "^8", + "@salesforce/core": "^8.24.3", "@salesforce/ts-types": "^2", "@types/semver": "^7.7.1", "semver": "^7.7.2", diff --git a/packages/mcp-provider-code-analyzer/package.json b/packages/mcp-provider-code-analyzer/package.json index bac5ee8a..7a31d438 100644 --- a/packages/mcp-provider-code-analyzer/package.json +++ b/packages/mcp-provider-code-analyzer/package.json @@ -20,7 +20,7 @@ "@salesforce/code-analyzer-pmd-engine": "^0.33.0", "@salesforce/code-analyzer-regex-engine": "^0.30.0", "@salesforce/code-analyzer-retirejs-engine": "^0.29.0", - "@salesforce/mcp-provider-api": "^0.4.0", + "@salesforce/mcp-provider-api": "^0.4.1", "zod": "^3.25.76" }, "devDependencies": { diff --git a/packages/mcp-provider-devops/package.json b/packages/mcp-provider-devops/package.json index 75c345e6..a5366951 100644 --- a/packages/mcp-provider-devops/package.json +++ b/packages/mcp-provider-devops/package.json @@ -14,9 +14,9 @@ "types": "dist/index.d.ts", "dependencies": { "@modelcontextprotocol/sdk": "^1.18.0", - "@salesforce/mcp-provider-api": "^0.4.0", - "@salesforce/core": "^8.17.0", - "@salesforce/source-deploy-retrieve": "^12.22.13", + "@salesforce/mcp-provider-api": "^0.4.1", + "@salesforce/core": "^8.24.3", + "@salesforce/source-deploy-retrieve": "^12.31.7", "@salesforce/ts-types": "^2.0.12", "axios": "^1.10.0", "zod": "^3.25.76" diff --git a/packages/mcp-provider-dx-core/package.json b/packages/mcp-provider-dx-core/package.json index fea3287c..e58ab8fc 100644 --- a/packages/mcp-provider-dx-core/package.json +++ b/packages/mcp-provider-dx-core/package.json @@ -37,11 +37,11 @@ "@modelcontextprotocol/sdk": "^1.18.0", "@salesforce/agents": "^0.15.4", "@salesforce/apex-node": "^8.2.1", - "@salesforce/core": "^8.23.1", + "@salesforce/core": "^8.24.3", "@salesforce/kit": "^3.1.6", - "@salesforce/mcp-provider-api": "^0.4.0", - "@salesforce/source-deploy-retrieve": "^12.22.0", - "@salesforce/source-tracking": "^7.4.8", + "@salesforce/mcp-provider-api": "^0.4.1", + "@salesforce/source-deploy-retrieve": "^12.31.7", + "@salesforce/source-tracking": "^7.8.1", "@salesforce/ts-types": "^2.0.11", "open": "^10.1.2", "zod": "^3.25.76" diff --git a/packages/mcp-provider-dx-core/src/tools/deploy_metadata.ts b/packages/mcp-provider-dx-core/src/tools/deploy_metadata.ts index 2dd34477..b7d83208 100644 --- a/packages/mcp-provider-dx-core/src/tools/deploy_metadata.ts +++ b/packages/mcp-provider-dx-core/src/tools/deploy_metadata.ts @@ -15,7 +15,7 @@ */ import { z } from 'zod'; -import { Connection, Lifecycle, Org, SfError, SfProject } from '@salesforce/core'; +import { Connection, Org, SfError, SfProject } from '@salesforce/core'; import { SourceTracking } from '@salesforce/source-tracking'; import { ComponentSet, ComponentSetBuilder } from '@salesforce/source-deploy-retrieve'; import { ensureString } from '@salesforce/ts-types'; @@ -159,19 +159,16 @@ Deploy X to my org and run A,B and C apex tests.`, let jobId: string = ''; try { - // Clear old conflict listeners for force deploy - if (input.ignoreConflicts) { - const lifecycle = Lifecycle.getInstance(); - lifecycle.removeAllListeners('scopedPreDeploy'); - } - const stl = await SourceTracking.create({ org, project, - subscribeSDREvents: true, - ignoreConflicts: input.ignoreConflicts ?? false, + subscribeSDREvents: true, // Always subscribe for tracking updates (post-deploy) + ignoreConflicts: input.ignoreConflicts ?? false, // Only controls pre-deploy conflict checks }); + // Force refresh of the global ShadowRepo singleton cache to detect new changes + await stl.reReadLocalTrackingCache(); + const componentSet = await buildDeployComponentSet(connection, project, stl, input.sourceDir, input.manifest); if (componentSet.size === 0) { diff --git a/packages/mcp-provider-dx-core/src/tools/retrieve_metadata.ts b/packages/mcp-provider-dx-core/src/tools/retrieve_metadata.ts index ade95d49..3ba06632 100644 --- a/packages/mcp-provider-dx-core/src/tools/retrieve_metadata.ts +++ b/packages/mcp-provider-dx-core/src/tools/retrieve_metadata.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,7 @@ */ import { z } from 'zod'; -import { Connection, Lifecycle, Org, SfProject } from '@salesforce/core'; +import { Connection, Org, SfProject } from '@salesforce/core'; import { SourceTracking } from '@salesforce/source-tracking'; import { ComponentSet, ComponentSetBuilder } from '@salesforce/source-deploy-retrieve'; import { ensureString } from '@salesforce/ts-types'; @@ -129,19 +129,16 @@ Retrieve X metadata from my org and ignore any conflicts between the local proje } try { - // Clear old conflict listeners for force retrieve - if (input.ignoreConflicts) { - const lifecycle = Lifecycle.getInstance(); - lifecycle.removeAllListeners('scopedPreRetrieve'); - } - const stl = await SourceTracking.create({ org, project, - subscribeSDREvents: true, + subscribeSDREvents: true, // Always subscribe for tracking updates (post-retrieve) ignoreConflicts: input.ignoreConflicts ?? false, }); + // Force refresh of the global ShadowRepo singleton cache to detect new changes + await stl.reReadLocalTrackingCache(); + const componentSet = await buildRetrieveComponentSet(connection, project, stl, input.sourceDir, input.manifest); if (componentSet.size === 0) { // STL found no changes diff --git a/packages/mcp-provider-mobile-web/package.json b/packages/mcp-provider-mobile-web/package.json index adf4ac85..05b28615 100644 --- a/packages/mcp-provider-mobile-web/package.json +++ b/packages/mcp-provider-mobile-web/package.json @@ -16,7 +16,7 @@ "@modelcontextprotocol/sdk": "^1.17.3", "eslint": "^9.35.0", "dedent": "^1.5.3", - "@salesforce/mcp-provider-api": "^0.4.0", + "@salesforce/mcp-provider-api": "^0.4.1", "@salesforce/eslint-plugin-lwc-graph-analyzer": "^1.1.0-beta.2", "zod": "^3.25.76" }, diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 77ffb837..1dbe9882 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -42,7 +42,7 @@ "@oclif/core": "^4.5.1", "@salesforce/agents": "^0.15.4", "@salesforce/apex-node": "^8.2.1", - "@salesforce/core": "^8.23.1", + "@salesforce/core": "^8.24.3", "@salesforce/kit": "^3.1.6", "@salesforce/mcp-provider-api": "0.4.1", "@salesforce/mcp-provider-dx-core": "0.5.0", @@ -52,8 +52,8 @@ "@salesforce/mcp-provider-mobile-web": "0.2.1", "@salesforce/mcp-provider-devops": "0.1.9", "@salesforce/mcp-provider-scale-products": "0.0.2", - "@salesforce/source-deploy-retrieve": "^12.22.0", - "@salesforce/source-tracking": "^7.4.8", + "@salesforce/source-deploy-retrieve": "^12.31.7", + "@salesforce/source-tracking": "^7.8.1", "@salesforce/telemetry": "6.4.1", "@salesforce/ts-types": "^2.0.11", "zod": "^3.25.76" diff --git a/yarn.lock b/yarn.lock index 85103c05..9cc13ee9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -745,28 +745,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/core@^7.23.9", "@babel/core@^7.9.0": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.4.tgz#12a550b8794452df4c8b084f95003bce1742d496" - integrity sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.3" - "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-module-transforms" "^7.28.3" - "@babel/helpers" "^7.28.4" - "@babel/parser" "^7.28.4" - "@babel/template" "^7.27.2" - "@babel/traverse" "^7.28.4" - "@babel/types" "^7.28.4" - "@jridgewell/remapping" "^2.3.5" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/core@^7.28.0": +"@babel/core@^7.23.9", "@babel/core@^7.28.0", "@babel/core@^7.9.0": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.5.tgz#4c81b35e51e1b734f510c99b07dfbc7bbbb48f7e" integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw== @@ -865,18 +844,7 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.24.9", "@babel/generator@^7.26.10", "@babel/generator@^7.27.3", "@babel/generator@^7.28.3", "@babel/generator@^7.9.0": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e" - integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw== - dependencies: - "@babel/parser" "^7.28.3" - "@babel/types" "^7.28.2" - "@jridgewell/gen-mapping" "^0.3.12" - "@jridgewell/trace-mapping" "^0.3.28" - jsesc "^3.0.2" - -"@babel/generator@^7.25.9", "@babel/generator@^7.28.5": +"@babel/generator@^7.24.9", "@babel/generator@^7.25.9", "@babel/generator@^7.26.10", "@babel/generator@^7.27.3", "@babel/generator@^7.28.5", "@babel/generator@^7.9.0": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298" integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ== @@ -925,12 +893,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" - integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== - -"@babel/helper-validator-identifier@^7.25.9", "@babel/helper-validator-identifier@^7.28.5": +"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.25.9", "@babel/helper-validator-identifier@^7.27.1", "@babel/helper-validator-identifier@^7.28.5": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== @@ -948,14 +911,7 @@ "@babel/template" "^7.27.2" "@babel/types" "^7.28.4" -"@babel/parser@^7.23.9", "@babel/parser@^7.24.8", "@babel/parser@^7.25.4", "@babel/parser@^7.26.10", "@babel/parser@^7.27.2", "@babel/parser@^7.27.4", "@babel/parser@^7.28.3", "@babel/parser@^7.28.4", "@babel/parser@^7.9.0": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.4.tgz#da25d4643532890932cc03f7705fe19637e03fa8" - integrity sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg== - dependencies: - "@babel/types" "^7.28.4" - -"@babel/parser@^7.25.9", "@babel/parser@^7.28.5": +"@babel/parser@^7.23.9", "@babel/parser@^7.24.8", "@babel/parser@^7.25.4", "@babel/parser@^7.25.9", "@babel/parser@^7.26.10", "@babel/parser@^7.27.2", "@babel/parser@^7.27.4", "@babel/parser@^7.28.5", "@babel/parser@^7.9.0": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08" integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ== @@ -990,20 +946,7 @@ "@babel/parser" "^7.27.2" "@babel/types" "^7.27.1" -"@babel/traverse@^7.24.8", "@babel/traverse@^7.26.10", "@babel/traverse@^7.27.1", "@babel/traverse@^7.27.4", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.4.tgz#8d456101b96ab175d487249f60680221692b958b" - integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.3" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.4" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.4" - debug "^4.3.1" - -"@babel/traverse@^7.28.5": +"@babel/traverse@^7.24.8", "@babel/traverse@^7.26.10", "@babel/traverse@^7.27.1", "@babel/traverse@^7.27.4", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.5": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.5.tgz#450cab9135d21a7a2ca9d2d35aa05c20e68c360b" integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ== @@ -1029,15 +972,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.24.9", "@babel/types@^7.25.4", "@babel/types@^7.26.10", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.4", "@babel/types@^7.9.0": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.4.tgz#0a4e618f4c60a7cd6c11cb2d48060e4dbe38ac3a" - integrity sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - -"@babel/types@^7.25.9", "@babel/types@^7.28.5": +"@babel/types@^7.24.9", "@babel/types@^7.25.4", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.4", "@babel/types@^7.28.5", "@babel/types@^7.9.0": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b" integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA== @@ -1414,15 +1349,6 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== -"@eslint/config-array@^0.21.0": - version "0.21.0" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.21.0.tgz#abdbcbd16b124c638081766392a4d6b509f72636" - integrity sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ== - dependencies: - "@eslint/object-schema" "^2.1.6" - debug "^4.3.1" - minimatch "^3.1.2" - "@eslint/config-array@^0.21.1": version "0.21.1" resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.21.1.tgz#7d1b0060fea407f8301e932492ba8c18aff29713" @@ -1432,11 +1358,6 @@ debug "^4.3.1" minimatch "^3.1.2" -"@eslint/config-helpers@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.3.1.tgz#d316e47905bd0a1a931fa50e669b9af4104d1617" - integrity sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA== - "@eslint/config-helpers@^0.4.2": version "0.4.2" resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.4.2.tgz#1bd006ceeb7e2e55b2b773ab318d300e1a66aeda" @@ -1465,15 +1386,7 @@ dependencies: "@types/json-schema" "^7.0.15" -"@eslint/css-tree@^3.6.1", "@eslint/css-tree@^3.6.5": - version "3.6.6" - resolved "https://registry.yarnpkg.com/@eslint/css-tree/-/css-tree-3.6.6.tgz#a354acb7daeeb288bc3cc6f19a89b0966a9e7bcd" - integrity sha512-C3YiJMY9OZyZ/3vEMFWJIesdGaRY6DmIYvmtyxMT934CbrOKqRs+Iw7NWSRlJQEaK4dPYy2lZ2y1zkaj8z0p5A== - dependencies: - mdn-data "2.23.0" - source-map-js "^1.0.1" - -"@eslint/css-tree@^3.6.6": +"@eslint/css-tree@^3.6.1", "@eslint/css-tree@^3.6.5", "@eslint/css-tree@^3.6.6": version "3.6.8" resolved "https://registry.yarnpkg.com/@eslint/css-tree/-/css-tree-3.6.8.tgz#8449d80a6e061bde514bd302a278a533d9716aba" integrity sha512-s0f40zY7dlMp8i0Jf0u6l/aSswS0WRAgkhgETgiCJRcxIWb4S/Sp9uScKHWbkM3BnoFLbJbmOYk5AZUDFVxaLA== @@ -1534,27 +1447,17 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== -"@eslint/js@9.36.0", "@eslint/js@^9.17.0", "@eslint/js@^9.32.0", "@eslint/js@^9.35.0": - version "9.36.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.36.0.tgz#b1a3893dd6ce2defed5fd49de805ba40368e8fef" - integrity sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw== - -"@eslint/js@9.39.1", "@eslint/js@^9.39.1": +"@eslint/js@9.39.1", "@eslint/js@^9.17.0", "@eslint/js@^9.32.0", "@eslint/js@^9.35.0", "@eslint/js@^9.39.1": version "9.39.1" resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.39.1.tgz#0dd59c3a9f40e3f1882975c321470969243e0164" integrity sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw== -"@eslint/object-schema@^2.1.6": - version "2.1.6" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f" - integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== - "@eslint/object-schema@^2.1.7": version "2.1.7" resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.7.tgz#6e2126a1347e86a4dedf8706ec67ff8e107ebbad" integrity sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA== -"@eslint/plugin-kit@^0.3.1", "@eslint/plugin-kit@^0.3.5": +"@eslint/plugin-kit@^0.3.1": version "0.3.5" resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz#fd8764f0ee79c8ddab4da65460c641cefee017c5" integrity sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w== @@ -1955,26 +1858,10 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@jsforce/jsforce-node@^3.10.10": - version "3.10.10" - resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.10.10.tgz#2d7bb77d1d739712733a30de7e9c941d2127bc4a" - integrity sha512-/zUOX9kapwk8lyjmTYgXlBF+GbqcEpb0zrkDfX9i94xu5cvzERZxRHqSSaS/IImoDmvoSbatFSVfB7Y4lmANOw== - dependencies: - "@sindresorhus/is" "^4" - base64url "^3.0.1" - csv-parse "^5.5.2" - csv-stringify "^6.6.0" - faye "^1.4.0" - form-data "^4.0.4" - https-proxy-agent "^5.0.0" - multistream "^3.1.0" - node-fetch "^2.6.1" - xml2js "^0.6.2" - -"@jsforce/jsforce-node@^3.10.4": - version "3.10.7" - resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.10.7.tgz#9a377e8da925d1eec713ca43ea0bc1ba6aafd7f6" - integrity sha512-+2E7c/rRqB2QRtjFiBOkJwyZWw1vViQ2eeHIfLnF8WT6t8J5h16KyJ4dMyiw4JJx/WUT7xtNFiZ0kz85LS//cw== +"@jsforce/jsforce-node@^3.10.13": + version "3.10.13" + resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.10.13.tgz#d1e832178e2e74646c75b952e629ac5b8ceff7d0" + integrity sha512-Ft42/lp3WaVxijcX88Rb3yIxujk/u3LwL3913OTcB4WCpwjB9xTqP6jkVTKt2riXg+ZlNiS62SMpQeC3U1Efkw== dependencies: "@sindresorhus/is" "^4" base64url "^3.0.1" @@ -2250,7 +2137,7 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@oclif/core@^4", "@oclif/core@^4.4.0", "@oclif/core@^4.5.1", "@oclif/core@^4.5.3", "@oclif/core@^4.5.4": +"@oclif/core@^4", "@oclif/core@^4.5.1", "@oclif/core@^4.5.3", "@oclif/core@^4.5.4": version "4.5.4" resolved "https://registry.yarnpkg.com/@oclif/core/-/core-4.5.4.tgz#d82bf4516d1e8a210aab4ccde826a0ce6cadf514" integrity sha512-78YYJls8+KG96tReyUsesKKIKqC0qbFSY1peUSrt0P2uGsrgAuU9axQ0iBQdhAlIwZDcTyaj+XXVQkz2kl/O0w== @@ -3110,39 +2997,13 @@ semver "^7.5.4" ts-retry-promise "^0.7.1" -"@salesforce/core@^8", "@salesforce/core@^8.10.3", "@salesforce/core@^8.17.0", "@salesforce/core@^8.19.0", "@salesforce/core@^8.19.1", "@salesforce/core@^8.22.0", "@salesforce/core@^8.23.1", "@salesforce/core@^8.8.0": - version "8.23.1" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.23.1.tgz#89e04518d6d4033ef6a248380eb952328068797c" - integrity sha512-/mQMu6g0gmkKQsl+G93VkkU+yrLEjnBzdUu0sPlS0WY5jM4M9sxg97LmRXa6dchECU3c/ugamsXaP6j6QmEfsQ== - dependencies: - "@jsforce/jsforce-node" "^3.10.4" - "@salesforce/kit" "^3.2.4" - "@salesforce/schemas" "^1.10.0" - "@salesforce/ts-types" "^2.0.11" - ajv "^8.17.1" - change-case "^4.1.2" - fast-levenshtein "^3.0.0" - faye "^1.4.1" - form-data "^4.0.4" - js2xmlparser "^4.0.1" - jsonwebtoken "9.0.2" - jszip "3.10.1" - memfs "^4.30.1" - pino "^9.7.0" - pino-abstract-transport "^1.2.0" - pino-pretty "^11.3.0" - proper-lockfile "^4.1.2" - semver "^7.6.3" - ts-retry-promise "^0.8.1" - -"@salesforce/core@^8.23.4": - version "8.23.6" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.23.6.tgz#caa73369b3fe80df9e8212c58491c4490f9d326d" - integrity sha512-NPPp9vfOUtVCojrk8NRq+c6O4cil7i0Tz/BBh6+4tNbJTEk1scZdzkTUGGQ6ZSImesUyLiIsEo0Afc/UobtRnw== +"@salesforce/core@^8", "@salesforce/core@^8.10.3", "@salesforce/core@^8.19.0", "@salesforce/core@^8.19.1", "@salesforce/core@^8.23.1", "@salesforce/core@^8.23.4", "@salesforce/core@^8.24.0", "@salesforce/core@^8.24.3", "@salesforce/core@^8.8.0": + version "8.24.3" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.24.3.tgz#c18fb2481ab212c460fd351520712a4fa8b4329f" + integrity sha512-E9k4G3S8svS6QtsPVhUvxr0VHWyzg7KxH8sYM0o5pk7QEUXZCKQEQE5VjQOa+Gl3jRyX6zv/8Cp4UpQ2ZszOVg== dependencies: - "@jsforce/jsforce-node" "^3.10.10" + "@jsforce/jsforce-node" "^3.10.13" "@salesforce/kit" "^3.2.4" - "@salesforce/schemas" "^1.10.3" "@salesforce/ts-types" "^2.0.12" ajv "^8.17.1" change-case "^4.1.2" @@ -3150,7 +3011,7 @@ faye "^1.4.1" form-data "^4.0.4" js2xmlparser "^4.0.1" - jsonwebtoken "9.0.2" + jsonwebtoken "9.0.3" jszip "3.10.1" memfs "^4.30.1" pino "^9.7.0" @@ -3159,6 +3020,7 @@ proper-lockfile "^4.1.2" semver "^7.7.3" ts-retry-promise "^0.8.1" + zod "^4.1.12" "@salesforce/dev-config@^4.3.2": version "4.3.2" @@ -3289,20 +3151,20 @@ resolved "https://registry.yarnpkg.com/@salesforce/prettier-config/-/prettier-config-0.0.3.tgz#ba648d4886bb38adabe073dbea0b3a91b3753bb0" integrity sha512-hYOhoPTCSYMDYn+U1rlEk16PoBeAJPkrdg4/UtAzupM1mRRJOwEPMG1d7U8DxJFKuXW3DMEYWr2MwAIBDaHmFg== -"@salesforce/schemas@^1.10.0", "@salesforce/schemas@^1.10.3", "@salesforce/schemas@^1.6.1": +"@salesforce/schemas@^1.6.1": version "1.10.3" resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.10.3.tgz#52c867fdd60679cf216110aa49542b7ad391f5d1" integrity sha512-FKfvtrYTcvTXE9advzS25/DEY9yJhEyLvStm++eQFtnAaX1pe4G3oGHgiQ0q55BM5+0AlCh0+0CVtQv1t4oJRA== -"@salesforce/source-deploy-retrieve@^12.19.5", "@salesforce/source-deploy-retrieve@^12.22.0", "@salesforce/source-deploy-retrieve@^12.22.11", "@salesforce/source-deploy-retrieve@^12.22.13": - version "12.22.14" - resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.22.14.tgz#ec9b0a6c85a67392cbc2932a28fea87b0903ae9e" - integrity sha512-/MjbV4M40sz6JOBKbmzFSXMHF+k5u5gdG11Iy+uF6faakKOFvwLr65kKSKBH0rZs0ul7a3+iO+foIWNiBFfNBw== +"@salesforce/source-deploy-retrieve@^12.19.5", "@salesforce/source-deploy-retrieve@^12.31.5", "@salesforce/source-deploy-retrieve@^12.31.7": + version "12.31.7" + resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.31.7.tgz#d61b85a871fac0a1c7d636190d93917aad76e48f" + integrity sha512-SLfGjJnDdB0J+gwhY7Tt+Hcd6/4Qknqjnk94cTfXxrJy3gepP1SdfR0T0zimMWRXOZ/BH3yLlfBbj5EBRWvznA== dependencies: - "@salesforce/core" "^8.23.1" - "@salesforce/kit" "^3.2.3" + "@salesforce/core" "^8.24.0" + "@salesforce/kit" "^3.2.4" "@salesforce/ts-types" "^2.0.12" - "@salesforce/types" "^1.4.0" + "@salesforce/types" "^1.6.0" fast-levenshtein "^3.0.0" fast-xml-parser "^4.5.3" got "^11.8.6" @@ -3314,19 +3176,18 @@ proxy-agent "^6.4.0" yaml "^2.8.1" -"@salesforce/source-tracking@^7.4.8": - version "7.4.10" - resolved "https://registry.yarnpkg.com/@salesforce/source-tracking/-/source-tracking-7.4.10.tgz#c6c6af84da3d5b875d7ba9bf87c140649009a9cc" - integrity sha512-Vxy0jrNQ6a7Vn3Pajfy3tgNQbOvG0zNVH0KgcF1w2UZvoDkVHxOw9QOpEPhN5oNa/qRc0UfnjOp+noCBAU28+A== +"@salesforce/source-tracking@^7.8.1": + version "7.8.1" + resolved "https://registry.yarnpkg.com/@salesforce/source-tracking/-/source-tracking-7.8.1.tgz#12e9671ef2d62f7051823e68f8a6bbb25111b3c9" + integrity sha512-62DTrq77nvPAmrSFFQzk+vJeji3fwy9HlESqSLUJl4zv/cLnWb2u1VVWY735oP5kUvz+f1vqYcu2DSSTTMun/w== dependencies: - "@oclif/core" "^4.4.0" - "@salesforce/core" "^8.22.0" - "@salesforce/kit" "^3.2.3" - "@salesforce/source-deploy-retrieve" "^12.22.11" + "@salesforce/core" "^8.24.0" + "@salesforce/kit" "^3.2.4" + "@salesforce/source-deploy-retrieve" "^12.31.5" "@salesforce/ts-types" "^2.0.12" fast-xml-parser "^4.5.3" graceful-fs "^4.2.11" - isomorphic-git "^1.30.1" + isomorphic-git "^1.34.2" ts-retry-promise "^0.8.1" "@salesforce/telemetry@6.4.1": @@ -3357,10 +3218,10 @@ resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-2.0.12.tgz#60420622812a7ec7e46d220667bc29b42dc247ff" integrity sha512-BIJyduJC18Kc8z+arUm5AZ9VkPRyw1KKAm+Tk+9LT99eOzhNilyfKzhZ4t+tG2lIGgnJpmytZfVDZ0e2kFul8g== -"@salesforce/types@^1.3.0", "@salesforce/types@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@salesforce/types/-/types-1.4.0.tgz#a8b8baa0b7cc9cb6718379464d9bc9e4ab834e9e" - integrity sha512-WpXzQd+JglQrwUs05ePGa1/vFFn1s7rymw2ltBbFj2Z0p/ez1ft6J39ILVlteS/mGca47Ce8JN+u3USVxfxkKA== +"@salesforce/types@^1.3.0", "@salesforce/types@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@salesforce/types/-/types-1.6.0.tgz#926515ce3f6b16c8efe2afcc86475001d419c6cc" + integrity sha512-UHk1L3QRaa3WfIqQn5RLmcZmxErXvpFPUteLLgIxlFLrxhcKevvEwkMJF2xNIHpfT4Xj7PcYvqtrRYapX4Pp+A== "@sindresorhus/is@^4", "@sindresorhus/is@^4.0.0": version "4.6.0" @@ -4159,21 +4020,6 @@ natural-compare "^1.4.0" ts-api-utils "^2.0.1" -"@typescript-eslint/eslint-plugin@8.45.0": - version "8.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.45.0.tgz#9f251d4e85ec5089e7cccb09257ce93dbf0d7744" - integrity sha512-HC3y9CVuevvWCl/oyZuI47dOeDF9ztdMEfMH8/DW/Mhwa9cCLnK1oD7JoTVGW/u7kFzNZUKUoyJEqkaJh5y3Wg== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.45.0" - "@typescript-eslint/type-utils" "8.45.0" - "@typescript-eslint/utils" "8.45.0" - "@typescript-eslint/visitor-keys" "8.45.0" - graphemer "^1.4.0" - ignore "^7.0.0" - natural-compare "^1.4.0" - ts-api-utils "^2.1.0" - "@typescript-eslint/eslint-plugin@8.48.0", "@typescript-eslint/eslint-plugin@^8.47.0": version "8.48.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.48.0.tgz#cdc9bdbe947713f658eb6109eeeea5d746824cf4" @@ -4217,17 +4063,6 @@ "@typescript-eslint/visitor-keys" "8.30.1" debug "^4.3.4" -"@typescript-eslint/parser@8.45.0": - version "8.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.45.0.tgz#571660c98824aefb4a6ec3b3766655d1348520a4" - integrity sha512-TGf22kon8KW+DeKaUmOibKWktRY8b2NSAZNdtWh798COm1NWx8+xJ6iFBtk3IvLdv6+LGLJLRlyhrhEDZWargQ== - dependencies: - "@typescript-eslint/scope-manager" "8.45.0" - "@typescript-eslint/types" "8.45.0" - "@typescript-eslint/typescript-estree" "8.45.0" - "@typescript-eslint/visitor-keys" "8.45.0" - debug "^4.3.4" - "@typescript-eslint/parser@8.48.0", "@typescript-eslint/parser@^8.47.0": version "8.48.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.48.0.tgz#fc39ea9b1c8b2414c1f4b625277629e12a940e6b" @@ -4250,15 +4085,6 @@ "@typescript-eslint/visitor-keys" "6.21.0" debug "^4.3.4" -"@typescript-eslint/project-service@8.45.0": - version "8.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.45.0.tgz#f83dda1bca31dae2fd6821f9131daf1edebfd46c" - integrity sha512-3pcVHwMG/iA8afdGLMuTibGR7pDsn9RjDev6CCB+naRsSYs2pns5QbinF4Xqw6YC/Sj3lMrm/Im0eMfaa61WUg== - dependencies: - "@typescript-eslint/tsconfig-utils" "^8.45.0" - "@typescript-eslint/types" "^8.45.0" - debug "^4.3.4" - "@typescript-eslint/project-service@8.48.0": version "8.48.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.48.0.tgz#c21f6f897fbc4e61c7b1e20906ea1d59594ccc2d" @@ -4284,14 +4110,6 @@ "@typescript-eslint/types" "8.30.1" "@typescript-eslint/visitor-keys" "8.30.1" -"@typescript-eslint/scope-manager@8.45.0": - version "8.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.45.0.tgz#59615ba506a9e3479d1efb0d09d6ab52f2a19142" - integrity sha512-clmm8XSNj/1dGvJeO6VGH7EUSeA0FMs+5au/u3lrA3KfG8iJ4u8ym9/j2tTEoacAffdW1TVUzXO30W1JTJS7dA== - dependencies: - "@typescript-eslint/types" "8.45.0" - "@typescript-eslint/visitor-keys" "8.45.0" - "@typescript-eslint/scope-manager@8.48.0": version "8.48.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.48.0.tgz#8306afdf409364d4e434813f0df9a8557ddff751" @@ -4300,11 +4118,6 @@ "@typescript-eslint/types" "8.48.0" "@typescript-eslint/visitor-keys" "8.48.0" -"@typescript-eslint/tsconfig-utils@8.45.0", "@typescript-eslint/tsconfig-utils@^8.45.0": - version "8.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.45.0.tgz#63d38282790a2566c571bad423e7c1cad1f3d64c" - integrity sha512-aFdr+c37sc+jqNMGhH+ajxPXwjv9UtFZk79k8pLoJ6p4y0snmYpPA52GuWHgt2ZF4gRRW6odsEj41uZLojDt5w== - "@typescript-eslint/tsconfig-utils@8.48.0", "@typescript-eslint/tsconfig-utils@^8.48.0": version "8.48.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.0.tgz#05cf091cd9f24a8e047783ff979136df6cf1be04" @@ -4330,17 +4143,6 @@ debug "^4.3.4" ts-api-utils "^2.0.1" -"@typescript-eslint/type-utils@8.45.0": - version "8.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.45.0.tgz#04004bdf2598844faa29fb936fb6b0ee10d6d3f3" - integrity sha512-bpjepLlHceKgyMEPglAeULX1vixJDgaKocp0RVJ5u4wLJIMNuKtUXIczpJCPcn2waII0yuvks/5m5/h3ZQKs0A== - dependencies: - "@typescript-eslint/types" "8.45.0" - "@typescript-eslint/typescript-estree" "8.45.0" - "@typescript-eslint/utils" "8.45.0" - debug "^4.3.4" - ts-api-utils "^2.1.0" - "@typescript-eslint/type-utils@8.48.0": version "8.48.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.48.0.tgz#eb4e0e60e545b448112f291b6652eeddb16db83f" @@ -4362,11 +4164,6 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.30.1.tgz#20ff6d66ab3d8fe0533aeb7092a487393d53f925" integrity sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw== -"@typescript-eslint/types@8.45.0", "@typescript-eslint/types@^8.45.0": - version "8.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.45.0.tgz#fc01cd2a4690b9713b02f895e82fb43f7d960684" - integrity sha512-WugXLuOIq67BMgQInIxxnsSyRLFxdkJEJu8r4ngLR56q/4Q5LrbfkFRH27vMTjxEK8Pyz7QfzuZe/G15qQnVRA== - "@typescript-eslint/types@8.48.0", "@typescript-eslint/types@^8.48.0": version "8.48.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.48.0.tgz#f0dc5cf27217346e9b0d90556911e01d90d0f2a5" @@ -4400,22 +4197,6 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/typescript-estree@8.45.0": - version "8.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.45.0.tgz#3498500f109a89b104d2770497c707e56dfe062d" - integrity sha512-GfE1NfVbLam6XQ0LcERKwdTTPlLvHvXXhOeUGC1OXi4eQBoyy1iVsW+uzJ/J9jtCz6/7GCQ9MtrQ0fml/jWCnA== - dependencies: - "@typescript-eslint/project-service" "8.45.0" - "@typescript-eslint/tsconfig-utils" "8.45.0" - "@typescript-eslint/types" "8.45.0" - "@typescript-eslint/visitor-keys" "8.45.0" - debug "^4.3.4" - fast-glob "^3.3.2" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^2.1.0" - "@typescript-eslint/typescript-estree@8.48.0": version "8.48.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.0.tgz#38b340524ce34ce0e46ca541a86cf6cad8872e5b" @@ -4454,17 +4235,7 @@ "@typescript-eslint/types" "8.30.1" "@typescript-eslint/typescript-estree" "8.30.1" -"@typescript-eslint/utils@8.45.0", "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/utils@^8.0.0": - version "8.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.45.0.tgz#6e68e92d99019fdf56018d0e6664c76a70470c95" - integrity sha512-bxi1ht+tLYg4+XV2knz/F7RVhU0k6VrSMc9sb8DQ6fyCTrGQLHfo7lDtN0QJjZjKkLA2ThrKuCdHEvLReqtIGg== - dependencies: - "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.45.0" - "@typescript-eslint/types" "8.45.0" - "@typescript-eslint/typescript-estree" "8.45.0" - -"@typescript-eslint/utils@8.48.0": +"@typescript-eslint/utils@8.48.0", "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/utils@^8.0.0": version "8.48.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.48.0.tgz#c1196befb664f50be10692c781c7fc7624c1a5f9" integrity sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ== @@ -4490,14 +4261,6 @@ "@typescript-eslint/types" "8.30.1" eslint-visitor-keys "^4.2.0" -"@typescript-eslint/visitor-keys@8.45.0": - version "8.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.45.0.tgz#4e3bcc55da64ac61069ebfe62ca240567ac7d784" - integrity sha512-qsaFBA3e09MIDAGFUrTk+dzqtfv1XPVz8t8d1f0ybTzrCY7BKiMC5cjrl1O/P7UmHsNyW90EYSkU/ZWpmXelag== - dependencies: - "@typescript-eslint/types" "8.45.0" - eslint-visitor-keys "^4.2.1" - "@typescript-eslint/visitor-keys@8.48.0": version "8.48.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.0.tgz#6b07ef5661a85d08b01fbe4b8310a7311a6471af" @@ -6623,48 +6386,7 @@ eslint@8.57.1, eslint@^8.56.0, eslint@^8.57.1: strip-ansi "^6.0.1" text-table "^0.2.0" -eslint@^9.32.0, eslint@^9.35.0: - version "9.36.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.36.0.tgz#9cc5cbbfb9c01070425d9bfed81b4e79a1c09088" - integrity sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ== - dependencies: - "@eslint-community/eslint-utils" "^4.8.0" - "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.21.0" - "@eslint/config-helpers" "^0.3.1" - "@eslint/core" "^0.15.2" - "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.36.0" - "@eslint/plugin-kit" "^0.3.5" - "@humanfs/node" "^0.16.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.2" - "@types/estree" "^1.0.6" - "@types/json-schema" "^7.0.15" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.6" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.4.0" - eslint-visitor-keys "^4.2.1" - espree "^10.4.0" - esquery "^1.5.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - json-stable-stringify-without-jsonify "^1.0.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - -eslint@^9.39.1: +eslint@^9.32.0, eslint@^9.35.0, eslint@^9.39.1: version "9.39.1" resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.39.1.tgz#be8bf7c6de77dcc4252b5a8dcb31c2efff74a6e5" integrity sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g== @@ -7382,7 +7104,7 @@ glob@^10.4.1, glob@^10.4.5: package-json-from-dist "^1.0.0" path-scurry "^1.11.1" -glob@^11.0.0, glob@^11.0.3: +glob@^11.0.3: version "11.0.3" resolved "https://registry.yarnpkg.com/glob/-/glob-11.0.3.tgz#9d8087e6d72ddb3c4707b1d2778f80ea3eaefcd6" integrity sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA== @@ -7979,11 +7701,6 @@ is-generator-function@^1.0.10: has-tostringtag "^1.0.2" safe-regex-test "^1.1.0" -is-git-ref-name-valid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-git-ref-name-valid/-/is-git-ref-name-valid-1.0.0.tgz#6e151779357dd4f7888e1a83a07db329e3de119d" - integrity sha512-2hLTg+7IqMSP9nNp/EVCxzvAOJGsAn0f/cKtF8JaBeivjH5UgE/XZo3iJ0AvibdE7KSF1f/7JbjBTB8Wqgbn/w== - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -8188,22 +7905,20 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isomorphic-git@^1.30.1: - version "1.33.2" - resolved "https://registry.yarnpkg.com/isomorphic-git/-/isomorphic-git-1.33.2.tgz#8197f46d30d0c2148919dcfebba1a1b2f7e51660" - integrity sha512-xPCYL90rIwI/ngiOYGIMdvNlIbZ7++gJbnO2S/CPyIyKuKrYDJziLqfE4IL8yks931SXobwzwsVqVnuA4GZ4IA== +isomorphic-git@^1.34.2: + version "1.36.1" + resolved "https://registry.yarnpkg.com/isomorphic-git/-/isomorphic-git-1.36.1.tgz#e73bcca745bfb66154921c4d3b2afdc40a6573a7" + integrity sha512-fC8SRT8MwoaXDK8G4z5biPEbqf2WyEJUb2MJ2ftSd39/UIlsnoZxLGux+lae0poLZO4AEcx6aUVOh5bV+P8zFA== dependencies: async-lock "^1.4.1" clean-git-ref "^2.0.1" crc-32 "^1.2.0" diff3 "0.0.3" ignore "^5.1.4" - is-git-ref-name-valid "^1.0.0" minimisted "^2.0.0" pako "^1.0.10" - path-browserify "^1.0.1" pify "^4.0.1" - readable-stream "^3.4.0" + readable-stream "^4.0.0" sha.js "^2.4.12" simple-get "^4.0.1" @@ -8330,14 +8045,7 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js-yaml@^4.1.1: +js-yaml@^4.1.0, js-yaml@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== @@ -8477,6 +8185,22 @@ jsonwebtoken@9.0.2: ms "^2.1.1" semver "^7.5.4" +jsonwebtoken@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz#6cd57ab01e9b0ac07cb847d53d3c9b6ee31f7ae2" + integrity sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g== + dependencies: + jws "^4.0.1" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^7.5.4" + jszip@3.10.1, jszip@^3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" @@ -8506,6 +8230,15 @@ jwa@^1.4.1: ecdsa-sig-formatter "1.0.11" safe-buffer "^5.0.1" +jwa@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.1.tgz#bf8176d1ad0cd72e0f3f58338595a13e110bc804" + integrity sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg== + dependencies: + buffer-equal-constant-time "^1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + jws@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" @@ -8514,6 +8247,14 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" +jws@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.1.tgz#07edc1be8fac20e677b283ece261498bd38f0690" + integrity sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA== + dependencies: + jwa "^2.0.1" + safe-buffer "^5.0.1" + keyv@^4.0.0, keyv@^4.5.3, keyv@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -8755,14 +8496,7 @@ lucide-react@^0.523.0: resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.523.0.tgz#a855a3b5b6fdcdee597ecbbd3c16141711a1d974" integrity sha512-rUjQoy7egZT9XYVXBK1je9ckBnNp7qzRZOhLQx5RcEp2dCGlXo+mv6vf7Am4LimEcFBJIIZzSGfgTqc9QCrPSw== -magic-string@^0.30.17: - version "0.30.19" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.19.tgz#cebe9f104e565602e5d2098c5f2e79a77cc86da9" - integrity sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.5" - -magic-string@^0.30.21: +magic-string@^0.30.17, magic-string@^0.30.21: version "0.30.21" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.21.tgz#56763ec09a0fa8091df27879fd94d19078c00d91" integrity sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== @@ -8976,14 +8710,7 @@ minimatch@9.0.3: dependencies: brace-expansion "^2.0.1" -minimatch@^10.0.3: - version "10.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.0.3.tgz#cf7a0314a16c4d9ab73a7730a0e8e3c3502d47aa" - integrity sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw== - dependencies: - "@isaacs/brace-expansion" "^5.0.0" - -minimatch@^10.1.1: +minimatch@^10.0.3, minimatch@^10.1.1: version "10.1.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.1.1.tgz#e6e61b9b0c1dcab116b5a7d1458e8b6ae9e73a55" integrity sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ== @@ -9579,11 +9306,6 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - path-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/path-case/-/path-case-3.0.4.tgz#9168645334eb942658375c56f80b4c0cb5f82c6f" @@ -10360,15 +10082,7 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rimraf@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-6.0.1.tgz#ffb8ad8844dd60332ab15f52bc104bc3ed71ea4e" - integrity sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A== - dependencies: - glob "^11.0.0" - package-json-from-dist "^1.0.0" - -rimraf@^6.1.2: +rimraf@^6.0.1, rimraf@^6.1.2: version "6.1.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-6.1.2.tgz#9a0f3cea2ab853e81291127422116ecf2a86ae89" integrity sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g== @@ -10524,12 +10238,7 @@ semver@^6.0.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3, semver@^7.7.1, semver@^7.7.2: - version "7.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" - integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== - -semver@^7.7.3: +semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3, semver@^7.7.1, semver@^7.7.2, semver@^7.7.3: version "7.7.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== @@ -10979,16 +10688,11 @@ statuses@^2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382" integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== -std-env@^3.10.0: +std-env@^3.10.0, std-env@^3.9.0: version "3.10.0" resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.10.0.tgz#d810b27e3a073047b2b5e40034881f5ea6f9c83b" integrity sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg== -std-env@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1" - integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw== - stop-iteration-iterator@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" @@ -11591,17 +11295,7 @@ typescript-eslint@8.30.1: "@typescript-eslint/parser" "8.30.1" "@typescript-eslint/utils" "8.30.1" -typescript-eslint@^8.37.0, typescript-eslint@^8.44.0: - version "8.45.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.45.0.tgz#98ab164234dc04c112747ec0a4ae29a94efe123b" - integrity sha512-qzDmZw/Z5beNLUrXfd0HIW6MzIaAV5WNDxmMs9/3ojGOpYavofgNAAD/nC6tGV2PczIi0iw8vot2eAe/sBn7zg== - dependencies: - "@typescript-eslint/eslint-plugin" "8.45.0" - "@typescript-eslint/parser" "8.45.0" - "@typescript-eslint/typescript-estree" "8.45.0" - "@typescript-eslint/utils" "8.45.0" - -typescript-eslint@^8.47.0, typescript-eslint@^8.48.0: +typescript-eslint@^8.37.0, typescript-eslint@^8.44.0, typescript-eslint@^8.47.0, typescript-eslint@^8.48.0: version "8.48.0" resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.48.0.tgz#1f0cfb33351f5740d5a289bf389b4ccacb64be42" integrity sha512-fcKOvQD9GUn3Xw63EgiDqhvWJ5jsyZUaekl3KVpGsDJnN46WJTe3jWxtQP9lMZm1LJNkFLlTaWAxK2vUQR+cqw== @@ -11616,12 +11310,7 @@ typescript@5.8.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== -typescript@^5.8.3, typescript@^5.9.2: - version "5.9.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.2.tgz#d93450cddec5154a2d5cabe3b8102b83316fb2a6" - integrity sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A== - -typescript@^5.9.3: +typescript@^5.8.3, typescript@^5.9.2, typescript@^5.9.3: version "5.9.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== @@ -11759,21 +11448,7 @@ vite-node@3.2.4: pathe "^2.0.3" vite "^5.0.0 || ^6.0.0 || ^7.0.0-0" -"vite@^5.0.0 || ^6.0.0 || ^7.0.0-0", vite@^7.0.6, vite@^7.1.5: - version "7.1.7" - resolved "https://registry.yarnpkg.com/vite/-/vite-7.1.7.tgz#ed3f9f06e21d6574fe1ad425f6b0912d027ffc13" - integrity sha512-VbA8ScMvAISJNJVbRDTJdCwqQoAareR/wutevKanhR2/1EkoXVZVkkORaYm/tNVCjP/UDTKtcw3bAkwOUdedmA== - dependencies: - esbuild "^0.25.0" - fdir "^6.5.0" - picomatch "^4.0.3" - postcss "^8.5.6" - rollup "^4.43.0" - tinyglobby "^0.2.15" - optionalDependencies: - fsevents "~2.3.3" - -"vite@^6.0.0 || ^7.0.0", vite@^7.2.4: +"vite@^5.0.0 || ^6.0.0 || ^7.0.0-0", "vite@^6.0.0 || ^7.0.0", vite@^7.0.6, vite@^7.1.5, vite@^7.2.4: version "7.2.4" resolved "https://registry.yarnpkg.com/vite/-/vite-7.2.4.tgz#a3a09c7e25487612ecc1119c7d412c73da35bd4e" integrity sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w== @@ -12201,3 +11876,8 @@ zod@^3.22.4, zod@^3.23.8, zod@^3.24.2, zod@^3.25.76: version "3.25.76" resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.76.tgz#26841c3f6fd22a6a2760e7ccb719179768471e34" integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== + +zod@^4.1.12: + version "4.3.5" + resolved "https://registry.yarnpkg.com/zod/-/zod-4.3.5.tgz#aeb269a6f9fc259b1212c348c7c5432aaa474d2a" + integrity sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g== From 43e9d7a33fb055bc3c64d61cdf821e1c1b0d3dc2 Mon Sep 17 00:00:00 2001 From: Cristian Dominguez Date: Thu, 22 Jan 2026 16:55:04 -0300 Subject: [PATCH 03/11] test: better e2e test coverage --- .../test/e2e/deploy_metadata.test.ts | 31 +++++-- .../test/e2e/retrieve_metadata.test.ts | 92 +++++++++++++++++++ 2 files changed, 115 insertions(+), 8 deletions(-) diff --git a/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts b/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts index d0128f86..9a6bdba1 100644 --- a/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts @@ -295,26 +295,41 @@ describe('deploy_metadata', () => { directory: testSession.project.dir, }, }); - console.log(JSON.stringify(deployResult,null,2)); expect(deployResult.isError).to.equal(true); expect(deployResult.content.length).to.equal(1); if (deployResult.content[0].type !== 'text') assert.fail(); const deployText = deployResult.content[0].text; - expect(deployText).to.contain('Deploy result:'); + expect(deployText).to.contain('Failed to deploy metadata: 1 conflicts detected'); - const deployMatch = deployText.match(/Deploy result: ({.*})/); + // deploying with ignoreConflicts=true should succeed + const ignoreConflictDeployResult = await client.callTool(deployMetadataSchema, { + name: 'deploy_metadata', + params: { + ignoreConflicts: true, + usernameOrAlias: orgUsername, + directory: testSession.project.dir, + }, + }); + + expect(ignoreConflictDeployResult.content.length).to.equal(1); + if (ignoreConflictDeployResult.content[0].type !== 'text') assert.fail(); + + const responseText = ignoreConflictDeployResult.content[0].text; + expect(responseText).to.contain('Deploy result:'); + + // Parse the deploy result JSON + const deployMatch = responseText.match(/Deploy result: ({.*})/); expect(deployMatch).to.not.be.null; - const result = JSON.parse(deployMatch![1]) as { + const ignoreConflictsDeployRes = JSON.parse(deployMatch![1]) as { success: boolean; done: boolean; numberComponentsDeployed: number; }; - - expect(result.success).to.be.true; - expect(result.done).to.be.true; - expect(result.numberComponentsDeployed).to.equal(1); + expect(ignoreConflictsDeployRes.success).to.be.true; + expect(ignoreConflictsDeployRes.done).to.be.true; + expect(ignoreConflictsDeployRes.numberComponentsDeployed).to.equal(1); }); }); diff --git a/packages/mcp-provider-dx-core/test/e2e/retrieve_metadata.test.ts b/packages/mcp-provider-dx-core/test/e2e/retrieve_metadata.test.ts index 76281db8..483d68c3 100644 --- a/packages/mcp-provider-dx-core/test/e2e/retrieve_metadata.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/retrieve_metadata.test.ts @@ -21,6 +21,7 @@ import { McpTestClient, DxMcpTransport } from '@salesforce/mcp-test-client'; import { execCmd, TestSession } from '@salesforce/cli-plugins-testkit'; import { z } from 'zod'; import { ensureString } from '@salesforce/ts-types'; +import { AuthInfo, Connection } from '@salesforce/core'; import { retrieveMetadataParams } from '../../src/tools/retrieve_metadata.js'; describe('retrieve_metadata', () => { @@ -234,4 +235,95 @@ describe('retrieve_metadata', () => { expect(apexClass.fullName).to.equal('GeocodingService'); expect(apexClass.fileName).to.equal('unpackaged/classes/GeocodingService.cls'); }); + + it('should retrieve remote edit when ignoreConflicts is set to true', async () => { + // 1. Setup: Use a CustomApplication file + const customAppPath = path.join( + testSession.project.dir, + 'force-app', + 'main', + 'default', + 'applications', + 'Dreamhouse.app-meta.xml' + ); + + // 2. Make local edit + await fs.promises.writeFile( + customAppPath, + (await fs.promises.readFile(customAppPath, { encoding: 'utf-8' })).replace('Lightning App Builder', 'App Builder') + ); + + // 3. Make remote edit using Tooling API + const conn = await Connection.create({ + authInfo: await AuthInfo.create({ username: orgUsername }), + }); + + const customApp = await conn.singleRecordQuery<{ + Id: string; + Metadata: { description: string | null }; + }>("SELECT Id, Metadata FROM CustomApplication WHERE DeveloperName = 'Dreamhouse'", { tooling: true }); + + await conn.tooling.sobject('CustomApplication').update({ + Id: customApp.Id, + Metadata: { + ...customApp.Metadata, + description: customApp.Metadata.description + ? `${customApp.Metadata.description} - Remote edit via Tooling API` + : 'Remote edit via Tooling API', + }, + }); + + // 4. Retrieve without ignoreConflicts - should fail with conflicts error + const retrieveResult = await client.callTool(retrieveMetadataSchema, { + name: 'retrieve_metadata', + params: { + usernameOrAlias: orgUsername, + directory: testSession.project.dir, + }, + }); + + expect(retrieveResult.isError).to.equal(true); + expect(retrieveResult.content[0].type).to.equal('text'); + if (retrieveResult.content[0].type !== 'text') assert.fail(); + + const retrieveText = retrieveResult.content[0].text; + expect(retrieveText).to.contain('Failed to retrieve metadata: 1 conflicts detected'); + + // 5. Retrieve with ignoreConflicts=true - should succeed + const ignoreConflictRetrieveResult = await client.callTool(retrieveMetadataSchema, { + name: 'retrieve_metadata', + params: { + ignoreConflicts: true, + usernameOrAlias: orgUsername, + directory: testSession.project.dir, + }, + }); + + expect(ignoreConflictRetrieveResult.content[0].type).to.equal('text'); + const responseText = (ignoreConflictRetrieveResult.content[0] as { text: string }).text; + expect(responseText).to.contain('Retrieve result:'); + + const retrieveMatch = responseText.match(/Retrieve result: ({.*})/); + expect(retrieveMatch).to.not.be.null; + + const ignoreConflictsRetrieveRes = JSON.parse(retrieveMatch![1]) as { + success: boolean; + done: boolean; + fileProperties: Array<{ + type: string; + fullName: string; + fileName: string; + }>; + }; + expect(ignoreConflictsRetrieveRes.success).to.be.true; + expect(ignoreConflictsRetrieveRes.done).to.be.true; + + // Verify the CustomApplication was retrieved + const customAppFile = ignoreConflictsRetrieveRes.fileProperties.find( + (fp) => fp.type === 'CustomApplication' + ); + expect(customAppFile).to.not.be.undefined; + expect(customAppFile!.fullName).to.equal('Dreamhouse'); + expect(customAppFile!.fileName).to.equal('unpackaged/applications/Dreamhouse.app'); + }); }); From 6f428d86ccac81154dd53fac57e43da404c7076f Mon Sep 17 00:00:00 2001 From: soridalac Date: Fri, 23 Jan 2026 14:26:59 -0800 Subject: [PATCH 04/11] chore: bump STL lib to latest --- packages/mcp-provider-dx-core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mcp-provider-dx-core/package.json b/packages/mcp-provider-dx-core/package.json index e58ab8fc..9119895a 100644 --- a/packages/mcp-provider-dx-core/package.json +++ b/packages/mcp-provider-dx-core/package.json @@ -41,7 +41,7 @@ "@salesforce/kit": "^3.1.6", "@salesforce/mcp-provider-api": "^0.4.1", "@salesforce/source-deploy-retrieve": "^12.31.7", - "@salesforce/source-tracking": "^7.8.1", + "@salesforce/source-tracking": "^7.8.2", "@salesforce/ts-types": "^2.0.11", "open": "^10.1.2", "zod": "^3.25.76" From 1731fbbe33e28cf74d251ecd3aafadebbae1c874 Mon Sep 17 00:00:00 2001 From: soridalac Date: Fri, 23 Jan 2026 14:33:04 -0800 Subject: [PATCH 05/11] chore: bump sdr lib to latest --- packages/mcp-provider-dx-core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mcp-provider-dx-core/package.json b/packages/mcp-provider-dx-core/package.json index 9119895a..2aaba1f0 100644 --- a/packages/mcp-provider-dx-core/package.json +++ b/packages/mcp-provider-dx-core/package.json @@ -40,7 +40,7 @@ "@salesforce/core": "^8.24.3", "@salesforce/kit": "^3.1.6", "@salesforce/mcp-provider-api": "^0.4.1", - "@salesforce/source-deploy-retrieve": "^12.31.7", + "@salesforce/source-deploy-retrieve": "^12.31.8", "@salesforce/source-tracking": "^7.8.2", "@salesforce/ts-types": "^2.0.11", "open": "^10.1.2", From d40a16106fdf814a772e331b4bca890c2cef3189 Mon Sep 17 00:00:00 2001 From: soridalac Date: Fri, 23 Jan 2026 14:48:17 -0800 Subject: [PATCH 06/11] fix: update copyright header --- .../test/e2e/agentforce-vibes-mcp-args.test.ts | 2 +- .../mcp-provider-dx-core/test/e2e/assign_permission_set.test.ts | 2 +- .../mcp-provider-dx-core/test/e2e/create_scratch_org.test.ts | 2 +- packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts | 2 +- packages/mcp-provider-dx-core/test/e2e/dynamic-tools.test.ts | 2 +- packages/mcp-provider-dx-core/test/e2e/get_username.test.ts | 2 +- packages/mcp-provider-dx-core/test/e2e/list_all_orgs.test.ts | 2 +- .../mcp-provider-dx-core/test/e2e/retrieve_metadata.test.ts | 2 +- packages/mcp-provider-dx-core/test/e2e/run_apex_test.test.ts | 2 +- packages/mcp-provider-dx-core/test/e2e/run_soql_query.test.ts | 2 +- .../mcp-provider-dx-core/test/e2e/tool-registration.test.ts | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/mcp-provider-dx-core/test/e2e/agentforce-vibes-mcp-args.test.ts b/packages/mcp-provider-dx-core/test/e2e/agentforce-vibes-mcp-args.test.ts index aaf3c433..703826e1 100644 --- a/packages/mcp-provider-dx-core/test/e2e/agentforce-vibes-mcp-args.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/agentforce-vibes-mcp-args.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/e2e/assign_permission_set.test.ts b/packages/mcp-provider-dx-core/test/e2e/assign_permission_set.test.ts index e348972b..8947f15b 100644 --- a/packages/mcp-provider-dx-core/test/e2e/assign_permission_set.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/assign_permission_set.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/e2e/create_scratch_org.test.ts b/packages/mcp-provider-dx-core/test/e2e/create_scratch_org.test.ts index 5b17e83a..1fe29f42 100644 --- a/packages/mcp-provider-dx-core/test/e2e/create_scratch_org.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/create_scratch_org.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts b/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts index 9a6bdba1..66a07454 100644 --- a/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/deploy_metadata.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/e2e/dynamic-tools.test.ts b/packages/mcp-provider-dx-core/test/e2e/dynamic-tools.test.ts index d1c528a1..d5c542dc 100644 --- a/packages/mcp-provider-dx-core/test/e2e/dynamic-tools.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/dynamic-tools.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/e2e/get_username.test.ts b/packages/mcp-provider-dx-core/test/e2e/get_username.test.ts index f8a1a198..a42a6d30 100644 --- a/packages/mcp-provider-dx-core/test/e2e/get_username.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/get_username.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/e2e/list_all_orgs.test.ts b/packages/mcp-provider-dx-core/test/e2e/list_all_orgs.test.ts index 68f791ae..247fe10b 100644 --- a/packages/mcp-provider-dx-core/test/e2e/list_all_orgs.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/list_all_orgs.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/e2e/retrieve_metadata.test.ts b/packages/mcp-provider-dx-core/test/e2e/retrieve_metadata.test.ts index 483d68c3..b568fe1f 100644 --- a/packages/mcp-provider-dx-core/test/e2e/retrieve_metadata.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/retrieve_metadata.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/e2e/run_apex_test.test.ts b/packages/mcp-provider-dx-core/test/e2e/run_apex_test.test.ts index 3af9932c..508234c4 100644 --- a/packages/mcp-provider-dx-core/test/e2e/run_apex_test.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/run_apex_test.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/e2e/run_soql_query.test.ts b/packages/mcp-provider-dx-core/test/e2e/run_soql_query.test.ts index ec590103..6e7c6d79 100644 --- a/packages/mcp-provider-dx-core/test/e2e/run_soql_query.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/run_soql_query.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/e2e/tool-registration.test.ts b/packages/mcp-provider-dx-core/test/e2e/tool-registration.test.ts index b498cf31..21e35434 100644 --- a/packages/mcp-provider-dx-core/test/e2e/tool-registration.test.ts +++ b/packages/mcp-provider-dx-core/test/e2e/tool-registration.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From 7b70cfd4ec820d929627b757c9cebc73c99a0b1e Mon Sep 17 00:00:00 2001 From: soridalac Date: Fri, 23 Jan 2026 14:59:35 -0800 Subject: [PATCH 07/11] fix: update more copyright header --- packages/mcp-provider-dx-core/src/index.ts | 2 +- .../mcp-provider-dx-core/src/tools/assign_permission_set.ts | 2 +- packages/mcp-provider-dx-core/src/tools/create_org_snapshot.ts | 2 +- packages/mcp-provider-dx-core/src/tools/create_scratch_org.ts | 2 +- packages/mcp-provider-dx-core/src/tools/delete_org.ts | 2 +- packages/mcp-provider-dx-core/src/tools/deploy_metadata.ts | 2 +- packages/mcp-provider-dx-core/src/tools/get_username.ts | 2 +- packages/mcp-provider-dx-core/src/tools/list_all_orgs.ts | 2 +- packages/mcp-provider-dx-core/src/tools/open_org.ts | 2 +- .../mcp-provider-dx-core/src/tools/resume_tool_operation.ts | 2 +- packages/mcp-provider-dx-core/src/tools/retrieve_metadata.ts | 2 +- packages/mcp-provider-dx-core/src/tools/run_agent_test.ts | 2 +- packages/mcp-provider-dx-core/src/tools/run_apex_test.ts | 2 +- packages/mcp-provider-dx-core/src/tools/run_soql_query.ts | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/mcp-provider-dx-core/src/index.ts b/packages/mcp-provider-dx-core/src/index.ts index 829bdfcd..afbf4a0c 100644 --- a/packages/mcp-provider-dx-core/src/index.ts +++ b/packages/mcp-provider-dx-core/src/index.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/assign_permission_set.ts b/packages/mcp-provider-dx-core/src/tools/assign_permission_set.ts index 6e776d64..d55cba96 100644 --- a/packages/mcp-provider-dx-core/src/tools/assign_permission_set.ts +++ b/packages/mcp-provider-dx-core/src/tools/assign_permission_set.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/create_org_snapshot.ts b/packages/mcp-provider-dx-core/src/tools/create_org_snapshot.ts index b1be867d..1147fb73 100644 --- a/packages/mcp-provider-dx-core/src/tools/create_org_snapshot.ts +++ b/packages/mcp-provider-dx-core/src/tools/create_org_snapshot.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/create_scratch_org.ts b/packages/mcp-provider-dx-core/src/tools/create_scratch_org.ts index 67710ea4..9900fc1b 100644 --- a/packages/mcp-provider-dx-core/src/tools/create_scratch_org.ts +++ b/packages/mcp-provider-dx-core/src/tools/create_scratch_org.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/delete_org.ts b/packages/mcp-provider-dx-core/src/tools/delete_org.ts index baa40404..f52255ac 100644 --- a/packages/mcp-provider-dx-core/src/tools/delete_org.ts +++ b/packages/mcp-provider-dx-core/src/tools/delete_org.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/deploy_metadata.ts b/packages/mcp-provider-dx-core/src/tools/deploy_metadata.ts index b7d83208..b8016382 100644 --- a/packages/mcp-provider-dx-core/src/tools/deploy_metadata.ts +++ b/packages/mcp-provider-dx-core/src/tools/deploy_metadata.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/get_username.ts b/packages/mcp-provider-dx-core/src/tools/get_username.ts index 1315a2dd..2593f72f 100644 --- a/packages/mcp-provider-dx-core/src/tools/get_username.ts +++ b/packages/mcp-provider-dx-core/src/tools/get_username.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/list_all_orgs.ts b/packages/mcp-provider-dx-core/src/tools/list_all_orgs.ts index 7d8fc287..a52de023 100644 --- a/packages/mcp-provider-dx-core/src/tools/list_all_orgs.ts +++ b/packages/mcp-provider-dx-core/src/tools/list_all_orgs.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/open_org.ts b/packages/mcp-provider-dx-core/src/tools/open_org.ts index fd39c782..d19da049 100644 --- a/packages/mcp-provider-dx-core/src/tools/open_org.ts +++ b/packages/mcp-provider-dx-core/src/tools/open_org.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/resume_tool_operation.ts b/packages/mcp-provider-dx-core/src/tools/resume_tool_operation.ts index 5986b0a1..b087363e 100644 --- a/packages/mcp-provider-dx-core/src/tools/resume_tool_operation.ts +++ b/packages/mcp-provider-dx-core/src/tools/resume_tool_operation.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/retrieve_metadata.ts b/packages/mcp-provider-dx-core/src/tools/retrieve_metadata.ts index 3ba06632..d8b8663c 100644 --- a/packages/mcp-provider-dx-core/src/tools/retrieve_metadata.ts +++ b/packages/mcp-provider-dx-core/src/tools/retrieve_metadata.ts @@ -178,7 +178,7 @@ async function buildRetrieveComponentSet( sourceDir?: string[], manifestPath?: string, ): Promise { - if (sourceDir || manifestPath) { + if (sourceDir ?? manifestPath) { return ComponentSetBuilder.build({ apiversion: connection.getApiVersion(), sourceapiversion: ensureString((await project.resolveProjectConfig()).sourceApiVersion), diff --git a/packages/mcp-provider-dx-core/src/tools/run_agent_test.ts b/packages/mcp-provider-dx-core/src/tools/run_agent_test.ts index fb9f096d..5b8c416f 100644 --- a/packages/mcp-provider-dx-core/src/tools/run_agent_test.ts +++ b/packages/mcp-provider-dx-core/src/tools/run_agent_test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/run_apex_test.ts b/packages/mcp-provider-dx-core/src/tools/run_apex_test.ts index 17062322..0f429d2e 100644 --- a/packages/mcp-provider-dx-core/src/tools/run_apex_test.ts +++ b/packages/mcp-provider-dx-core/src/tools/run_apex_test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/tools/run_soql_query.ts b/packages/mcp-provider-dx-core/src/tools/run_soql_query.ts index b68f624d..e73accbb 100644 --- a/packages/mcp-provider-dx-core/src/tools/run_soql_query.ts +++ b/packages/mcp-provider-dx-core/src/tools/run_soql_query.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From 415c1ed4d2d2efc5a9ddf2f1bc92bdf3aea4bb28 Mon Sep 17 00:00:00 2001 From: soridalac Date: Fri, 23 Jan 2026 15:06:28 -0800 Subject: [PATCH 08/11] fix: update copyright header --- packages/mcp-provider-dx-core/src/shared/params.ts | 2 +- packages/mcp-provider-dx-core/src/shared/types.ts | 2 +- packages/mcp-provider-dx-core/src/shared/utils.ts | 2 +- packages/mcp-provider-dx-core/test/unit/utils.test.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/mcp-provider-dx-core/src/shared/params.ts b/packages/mcp-provider-dx-core/src/shared/params.ts index 034fd2fd..da95a948 100644 --- a/packages/mcp-provider-dx-core/src/shared/params.ts +++ b/packages/mcp-provider-dx-core/src/shared/params.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/shared/types.ts b/packages/mcp-provider-dx-core/src/shared/types.ts index dc63fdeb..a34de4cb 100644 --- a/packages/mcp-provider-dx-core/src/shared/types.ts +++ b/packages/mcp-provider-dx-core/src/shared/types.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/src/shared/utils.ts b/packages/mcp-provider-dx-core/src/shared/utils.ts index a1aaf410..24f0824e 100644 --- a/packages/mcp-provider-dx-core/src/shared/utils.ts +++ b/packages/mcp-provider-dx-core/src/shared/utils.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/mcp-provider-dx-core/test/unit/utils.test.ts b/packages/mcp-provider-dx-core/test/unit/utils.test.ts index 3455b3a1..d819a91b 100644 --- a/packages/mcp-provider-dx-core/test/unit/utils.test.ts +++ b/packages/mcp-provider-dx-core/test/unit/utils.test.ts @@ -1,5 +1,5 @@ /* - * Copyright 2025, Salesforce, Inc. + * Copyright 2026, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From d452a3049a37221dee76e745fd24f37199cc06d0 Mon Sep 17 00:00:00 2001 From: Cristian Dominguez Date: Mon, 26 Jan 2026 17:41:39 -0300 Subject: [PATCH 09/11] chore: bump deps --- packages/mcp/package.json | 4 +-- yarn.lock | 69 ++++++++++++++++++++------------------- 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/packages/mcp/package.json b/packages/mcp/package.json index b7c2f00d..60475620 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -45,7 +45,7 @@ "@salesforce/core": "^8.24.3", "@salesforce/kit": "^3.1.6", "@salesforce/mcp-provider-api": "0.4.1", - "@salesforce/mcp-provider-dx-core": "0.5.1", + "@salesforce/mcp-provider-dx-core": "0.6.0", "@salesforce/mcp-provider-code-analyzer": "0.4.0", "@salesforce/mcp-provider-lwc-experts": "0.6.5", "@salesforce/mcp-provider-aura-experts": "0.3.6", @@ -53,7 +53,7 @@ "@salesforce/mcp-provider-devops": "0.1.9", "@salesforce/mcp-provider-scale-products": "0.0.2", "@salesforce/source-deploy-retrieve": "^12.31.7", - "@salesforce/source-tracking": "^7.8.1", + "@salesforce/source-tracking": "^7.8.2", "@salesforce/telemetry": "6.4.1", "@salesforce/ts-types": "^2.0.11", "zod": "^3.25.76" diff --git a/yarn.lock b/yarn.lock index 4bbfe5b8..95727768 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3121,23 +3121,6 @@ zod "^3.24.2" zod-to-json-schema "^3.24.3" -"@salesforce/mcp-provider-dx-core@0.5.1": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@salesforce/mcp-provider-dx-core/-/mcp-provider-dx-core-0.5.1.tgz#3f5713a0081cf13cdea0dfd915a4dba8c55dd3a5" - integrity sha512-UhKiAKBJ537YeDkjsyRsJ5KW52+fjdbDHNicRdjUTr/TR8KsiB501Dop0WLaqBfvjBu57NwTg5dl8Ubhc7z2wA== - dependencies: - "@modelcontextprotocol/sdk" "^1.18.0" - "@salesforce/agents" "^0.15.4" - "@salesforce/apex-node" "^8.2.1" - "@salesforce/core" "^8.23.1" - "@salesforce/kit" "^3.1.6" - "@salesforce/mcp-provider-api" "^0.4.0" - "@salesforce/source-deploy-retrieve" "^12.22.0" - "@salesforce/source-tracking" "^7.4.8" - "@salesforce/ts-types" "^2.0.11" - open "^10.1.2" - zod "^3.25.76" - "@salesforce/mcp-provider-lwc-experts@0.6.5": version "0.6.5" resolved "https://registry.yarnpkg.com/@salesforce/mcp-provider-lwc-experts/-/mcp-provider-lwc-experts-0.6.5.tgz#d8f0a25aa0516b738521e4b4e36097862bc3e21e" @@ -3154,10 +3137,10 @@ zod "^3.24.2" zod-to-json-schema "^3.24.5" -"@salesforce/o11y-reporter@1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@salesforce/o11y-reporter/-/o11y-reporter-1.7.0.tgz#9ad4877ab4df18a80e904be564a2063b4563bbe2" - integrity sha512-K4kY3yf2RD2T/RYIID3Ucrlbi9cdR57Lak58o1KLhl4gO+LHMatuk5FJbYpEIuaOqE83G5/pIJ1dOps0BVBcVA== +"@salesforce/o11y-reporter@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@salesforce/o11y-reporter/-/o11y-reporter-1.6.0.tgz#b2c5e538d64337c44b69ce5ec8b43c55d6c409eb" + integrity sha512-FAdmfTtRlpuCwXSwPFrpp+mYn8h47EUAaHKL1PpVZYU+DoktVXrDoKTm3MxKRarcqtK1fc4PaO3UOcL5tIT1iA== dependencies: o11y "^258.7.0" o11y_schema "256.154.0" @@ -3172,7 +3155,7 @@ resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.10.3.tgz#52c867fdd60679cf216110aa49542b7ad391f5d1" integrity sha512-FKfvtrYTcvTXE9advzS25/DEY9yJhEyLvStm++eQFtnAaX1pe4G3oGHgiQ0q55BM5+0AlCh0+0CVtQv1t4oJRA== -"@salesforce/source-deploy-retrieve@^12.19.5", "@salesforce/source-deploy-retrieve@^12.31.5", "@salesforce/source-deploy-retrieve@^12.31.7": +"@salesforce/source-deploy-retrieve@^12.19.5", "@salesforce/source-deploy-retrieve@^12.31.7": version "12.31.7" resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.31.7.tgz#d61b85a871fac0a1c7d636190d93917aad76e48f" integrity sha512-SLfGjJnDdB0J+gwhY7Tt+Hcd6/4Qknqjnk94cTfXxrJy3gepP1SdfR0T0zimMWRXOZ/BH3yLlfBbj5EBRWvznA== @@ -3192,28 +3175,48 @@ proxy-agent "^6.4.0" yaml "^2.8.1" -"@salesforce/source-tracking@^7.8.1": - version "7.8.1" - resolved "https://registry.yarnpkg.com/@salesforce/source-tracking/-/source-tracking-7.8.1.tgz#12e9671ef2d62f7051823e68f8a6bbb25111b3c9" - integrity sha512-62DTrq77nvPAmrSFFQzk+vJeji3fwy9HlESqSLUJl4zv/cLnWb2u1VVWY735oP5kUvz+f1vqYcu2DSSTTMun/w== +"@salesforce/source-deploy-retrieve@^12.31.8": + version "12.31.8" + resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.31.8.tgz#0eade61d5f117722fed81a4f2c04eb7a7d5f4703" + integrity sha512-gp2yJUuAsR86v8QkGY50Sxyiup4H0QNyT7bC3rowxUnR/mw1q3gkXSDnhHOWt5toWsZr78oL1ztGQxG89l89XQ== dependencies: "@salesforce/core" "^8.24.0" "@salesforce/kit" "^3.2.4" - "@salesforce/source-deploy-retrieve" "^12.31.5" + "@salesforce/ts-types" "^2.0.12" + "@salesforce/types" "^1.6.0" + fast-levenshtein "^3.0.0" + fast-xml-parser "^4.5.3" + got "^11.8.6" + graceful-fs "^4.2.11" + ignore "^5.3.2" + jszip "^3.10.1" + mime "2.6.0" + minimatch "^9.0.5" + proxy-agent "^6.4.0" + yaml "^2.8.1" + +"@salesforce/source-tracking@^7.8.2": + version "7.8.2" + resolved "https://registry.yarnpkg.com/@salesforce/source-tracking/-/source-tracking-7.8.2.tgz#3bd186dd98ae72d52485ddb61e4b4b772a72c1aa" + integrity sha512-NCzCTiVztYsM9AtMhFCruG5dO9ucWjEI6NnF08zueGagP/F8QY4Z6JRrXst1MVYz5287XKWFqDHvA2nXVmAh3Q== + dependencies: + "@salesforce/core" "^8.24.0" + "@salesforce/kit" "^3.2.4" + "@salesforce/source-deploy-retrieve" "^12.31.8" "@salesforce/ts-types" "^2.0.12" fast-xml-parser "^4.5.3" graceful-fs "^4.2.11" isomorphic-git "^1.34.2" ts-retry-promise "^0.8.1" -"@salesforce/telemetry@6.4.5": - version "6.4.5" - resolved "https://registry.yarnpkg.com/@salesforce/telemetry/-/telemetry-6.4.5.tgz#2dd5973c52ad7e4fc4ae1b2e3f5b69d4ab8f9da8" - integrity sha512-RQkSl4DQe9FtlyPj+gMJ36uch67GUOggSk5dUcar6/8X+M5lVKXQ+OR12+QvMl2Ft9rjDKqBJ7Z4BAZ8DC5o3Q== +"@salesforce/telemetry@6.4.1": + version "6.4.1" + resolved "https://registry.yarnpkg.com/@salesforce/telemetry/-/telemetry-6.4.1.tgz#ad6cc5ae65d80f7c6317dd184523aee3a1e0d3aa" + integrity sha512-bfKRn7PShTKGe8SOUeXjWPchAGJ6vFbSRhMVq6Ty/5gSeSGegGl+cpA09fqLfBqzk9aLhP38E2VFNY7DsYhifA== dependencies: - "@salesforce/core" "^8.24.0" + "@salesforce/core" "^8.23.4" "@salesforce/kit" "^3.2.4" - "@salesforce/o11y-reporter" "1.7.0" + "@salesforce/o11y-reporter" "1.6.0" applicationinsights "^2.9.8" got "^11" proxy-agent "^6.5.0" From 86aa6acd1674373ec4baf96867ebcf8a6b788407 Mon Sep 17 00:00:00 2001 From: Cristian Dominguez Date: Mon, 26 Jan 2026 18:26:51 -0300 Subject: [PATCH 10/11] chore(ci): use stable sf --- .github/workflows/e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 7f21e481..fc7bd9bc 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -70,7 +70,7 @@ jobs: uses: salesforcecli/github-workflows/.github/actions/retry@main with: max_attempts: ${{ inputs.retries }} - command: npm install @salesforce/cli@nightly -g + command: npm install @salesforce/cli@latest -g - name: Install DX MCP if: inputs.dxMcpVersion From 12a7b9fe46f8aa1a462fe5d3bd63cb002cf51e7f Mon Sep 17 00:00:00 2001 From: Cristian Dominguez Date: Tue, 27 Jan 2026 16:47:58 -0300 Subject: [PATCH 11/11] Revert "chore(ci): use stable sf" This reverts commit 86aa6acd1674373ec4baf96867ebcf8a6b788407. --- .github/workflows/e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index fc7bd9bc..7f21e481 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -70,7 +70,7 @@ jobs: uses: salesforcecli/github-workflows/.github/actions/retry@main with: max_attempts: ${{ inputs.retries }} - command: npm install @salesforce/cli@latest -g + command: npm install @salesforce/cli@nightly -g - name: Install DX MCP if: inputs.dxMcpVersion