diff --git a/package.json b/package.json index edbdf985b..df1b749ec 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,6 @@ "lint": "nx run-many -t lint" }, "devDependencies": { - "nx": "^23.2.0" + "nx": "^23.2.1" } } diff --git a/packages/gitlab-mcp-db/package.json b/packages/gitlab-mcp-db/package.json index 971b008f3..845096e88 100644 --- a/packages/gitlab-mcp-db/package.json +++ b/packages/gitlab-mcp-db/package.json @@ -29,8 +29,8 @@ "devDependencies": { "@structured-world/gitlab-mcp": "workspace:^", "@types/jest": "^30.0.0", - "@types/node": "^25.9.5", - "jest": "^30.5.1", + "@types/node": "^25.9.8", + "jest": "^30.5.2", "ts-jest": "^29.4.12", "typescript": "^6.0.3" }, diff --git a/packages/gitlab-mcp/package.json b/packages/gitlab-mcp/package.json index 3e851c5ad..4c228d348 100644 --- a/packages/gitlab-mcp/package.json +++ b/packages/gitlab-mcp/package.json @@ -560,39 +560,39 @@ "build:mcpb": "./scripts/build-mcpb.sh" }, "dependencies": { - "@clack/prompts": "^1.7.0", + "@clack/prompts": "^1.8.1", "@modelcontextprotocol/sdk": "^1.30.0", "express": "^5.2.1", "graphql": "^17.0.2", "graphql-tag": "^2.12.7", - "open": "^11.0.2", + "open": "^11.0.4", "picomatch": "^4.0.7", "pino": "^10.3.1", "pino-pretty": "^13.1.3", "transliteration": "^2.6.1", "undici": "^8.10.2", - "xstate": "^5.32.6", - "yaml": "^2.9.0", - "zod": "^4.5.4" + "xstate": "^5.33.2", + "yaml": "^2.9.1", + "zod": "^4.6.5" }, "devDependencies": { - "@cloudflare/workers-types": "^5.20260905.1", + "@cloudflare/workers-types": "^5.20260919.1", "@eslint/js": "^10.0.1", "@graphql-typed-document-node/core": "^3.2.0", "@structured-world/vue-privacy": "^1.10.0", "@types/express": "^5.0.6", "@types/jest": "^30.0.0", - "@types/node": "^25.9.5", + "@types/node": "^25.9.8", "@types/picomatch": "^4.0.3", - "@typescript-eslint/eslint-plugin": "^8.69.0", - "@typescript-eslint/parser": "^8.69.0", - "auto-changelog": "^2.6.0", + "@typescript-eslint/eslint-plugin": "^8.70.0", + "@typescript-eslint/parser": "^8.70.0", + "auto-changelog": "^2.6.1", "cross-env": "^10.1.0", "dotenv": "^17.4.2", - "eslint": "^10.10.0", + "eslint": "^10.11.0", "eslint-plugin-prettier": "^5.5.6", - "jest": "^30.5.1", - "prettier": "^3.9.6", + "jest": "^30.5.2", + "prettier": "^3.9.8", "ts-jest": "^29.4.12", "ts-node": "^10.9.2", "typescript": "^6.0.3", diff --git a/packages/gitlab-mcp/tests/unit/cli/docker/docker-command.test.ts b/packages/gitlab-mcp/tests/unit/cli/docker/docker-command.test.ts index a4a2811bf..c304e715a 100644 --- a/packages/gitlab-mcp/tests/unit/cli/docker/docker-command.test.ts +++ b/packages/gitlab-mcp/tests/unit/cli/docker/docker-command.test.ts @@ -54,6 +54,7 @@ jest.mock('@clack/prompts', () => ({ select: jest.fn(), isCancel: jest.fn(() => false), cancel: jest.fn(), + CANCEL_SYMBOL: Symbol('clack:cancel'), })); import { @@ -589,9 +590,8 @@ describe('docker-command', () => { dockerRunning: true, composeInstalled: true, }); - const cancelSymbol = Symbol.for('cancel'); - mockP.text.mockResolvedValueOnce(cancelSymbol); - mockP.isCancel.mockImplementation((val) => val === cancelSymbol); + mockP.text.mockResolvedValueOnce(p.CANCEL_SYMBOL); + mockP.isCancel.mockImplementation((val) => val === p.CANCEL_SYMBOL); await initDocker(); @@ -605,9 +605,8 @@ describe('docker-command', () => { composeInstalled: true, }); mockP.text.mockResolvedValueOnce('3333'); - const cancelSymbol = Symbol.for('cancel'); - mockP.confirm.mockResolvedValueOnce(cancelSymbol); - mockP.isCancel.mockImplementation((val) => val === cancelSymbol); + mockP.confirm.mockResolvedValueOnce(p.CANCEL_SYMBOL); + mockP.isCancel.mockImplementation((val) => val === p.CANCEL_SYMBOL); await initDocker(); @@ -675,9 +674,8 @@ describe('docker-command', () => { }); mockP.text.mockResolvedValueOnce('3333'); mockP.confirm.mockResolvedValueOnce(false); - const cancelSymbol = Symbol.for('cancel'); - mockP.confirm.mockResolvedValueOnce(cancelSymbol); - mockP.isCancel.mockImplementation((val) => val === cancelSymbol); + mockP.confirm.mockResolvedValueOnce(p.CANCEL_SYMBOL); + mockP.isCancel.mockImplementation((val) => val === p.CANCEL_SYMBOL); await initDocker(); @@ -738,9 +736,8 @@ describe('docker-command', () => { }); it('should handle host input cancellation', async () => { - const cancelSymbol = Symbol.for('cancel'); - mockP.text.mockResolvedValueOnce(cancelSymbol); - mockP.isCancel.mockImplementation((val) => val === cancelSymbol); + mockP.text.mockResolvedValueOnce(p.CANCEL_SYMBOL); + mockP.isCancel.mockImplementation((val) => val === p.CANCEL_SYMBOL); await dockerAddInstance(); @@ -748,9 +745,8 @@ describe('docker-command', () => { }); it('should handle name input cancellation', async () => { - const cancelSymbol = Symbol.for('cancel'); - mockP.text.mockResolvedValueOnce(cancelSymbol); - mockP.isCancel.mockImplementation((val) => val === cancelSymbol); + mockP.text.mockResolvedValueOnce(p.CANCEL_SYMBOL); + mockP.isCancel.mockImplementation((val) => val === p.CANCEL_SYMBOL); await dockerAddInstance('gitlab.company.com'); @@ -759,9 +755,8 @@ describe('docker-command', () => { it('should handle OAuth confirmation cancellation', async () => { mockP.text.mockResolvedValueOnce('Name'); - const cancelSymbol = Symbol.for('cancel'); - mockP.confirm.mockResolvedValueOnce(cancelSymbol); - mockP.isCancel.mockImplementation((val) => val === cancelSymbol); + mockP.confirm.mockResolvedValueOnce(p.CANCEL_SYMBOL); + mockP.isCancel.mockImplementation((val) => val === p.CANCEL_SYMBOL); await dockerAddInstance('gitlab.company.com'); @@ -789,9 +784,8 @@ describe('docker-command', () => { it('should handle OAuth client ID cancellation', async () => { mockP.text.mockResolvedValueOnce('Name'); mockP.confirm.mockResolvedValueOnce(true); - const cancelSymbol = Symbol.for('cancel'); - mockP.text.mockResolvedValueOnce(cancelSymbol); - mockP.isCancel.mockImplementation((val) => val === cancelSymbol); + mockP.text.mockResolvedValueOnce(p.CANCEL_SYMBOL); + mockP.isCancel.mockImplementation((val) => val === p.CANCEL_SYMBOL); await dockerAddInstance('gitlab.company.com'); @@ -801,9 +795,8 @@ describe('docker-command', () => { it('should handle preset selection cancellation', async () => { mockP.text.mockResolvedValueOnce('Name'); mockP.confirm.mockResolvedValueOnce(false); - const cancelSymbol = Symbol.for('cancel'); - mockP.select.mockResolvedValueOnce(cancelSymbol); - mockP.isCancel.mockImplementation((val) => val === cancelSymbol); + mockP.select.mockResolvedValueOnce(p.CANCEL_SYMBOL); + mockP.isCancel.mockImplementation((val) => val === p.CANCEL_SYMBOL); await dockerAddInstance('gitlab.company.com'); diff --git a/packages/gitlab-mcp/tests/unit/cli/install/install-command.test.ts b/packages/gitlab-mcp/tests/unit/cli/install/install-command.test.ts index 631709199..f6af40a76 100644 --- a/packages/gitlab-mcp/tests/unit/cli/install/install-command.test.ts +++ b/packages/gitlab-mcp/tests/unit/cli/install/install-command.test.ts @@ -33,6 +33,7 @@ jest.mock('@clack/prompts', () => ({ confirm: jest.fn(), cancel: jest.fn(), isCancel: jest.fn(() => false), + CANCEL_SYMBOL: Symbol('clack:cancel'), })); // Mock detector module @@ -421,7 +422,7 @@ describe('install-command', () => { }); it('should handle user cancellation during client selection', async () => { - mockP.multiselect.mockResolvedValueOnce(Symbol.for('cancel')); + mockP.multiselect.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockP.isCancel.mockReturnValueOnce(true); const results = await runInstallWizard(mockServerConfig, {}); @@ -448,10 +449,9 @@ describe('install-command', () => { detectAllClients.mockReturnValueOnce([ { client: 'claude-desktop', detected: true, alreadyConfigured: true }, ]); - const cancelSymbol = Symbol.for('cancel'); - mockP.confirm.mockResolvedValueOnce(cancelSymbol); + mockP.confirm.mockResolvedValueOnce(p.CANCEL_SYMBOL); // isCancel is called after confirm returns - mockP.isCancel.mockImplementation((val) => val === cancelSymbol); + mockP.isCancel.mockImplementation((val) => val === p.CANCEL_SYMBOL); const results = await runInstallWizard(mockServerConfig, { claudeDesktop: true }); diff --git a/packages/gitlab-mcp/tests/unit/cli/setup/flows/configure-existing.test.ts b/packages/gitlab-mcp/tests/unit/cli/setup/flows/configure-existing.test.ts index 9d84b5cde..35243701f 100644 --- a/packages/gitlab-mcp/tests/unit/cli/setup/flows/configure-existing.test.ts +++ b/packages/gitlab-mcp/tests/unit/cli/setup/flows/configure-existing.test.ts @@ -20,6 +20,7 @@ jest.mock('@clack/prompts', () => ({ step: jest.fn(), }, isCancel: jest.fn().mockReturnValue(false), + CANCEL_SYMBOL: Symbol('clack:cancel'), })); jest.mock('../../../../../src/cli/install/installers', () => ({ @@ -103,7 +104,7 @@ describe('flows/configure-existing', () => { it('should return cancelled when action is cancelled', async () => { mockIsCancel.mockReturnValueOnce(true); - mockSelect.mockResolvedValueOnce(Symbol('cancel')); + mockSelect.mockResolvedValueOnce(p.CANCEL_SYMBOL); const result = await runConfigureExistingFlow(discoveryWithUnconfigured); @@ -153,7 +154,7 @@ describe('flows/configure-existing', () => { }); mockSelect.mockResolvedValueOnce('add-clients'); mockMultiselect.mockResolvedValueOnce(['claude-code']); - mockPassword.mockResolvedValueOnce(Symbol('cancel')); + mockPassword.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel .mockReturnValueOnce(false) // action .mockReturnValueOnce(false) // multiselect @@ -167,7 +168,7 @@ describe('flows/configure-existing', () => { it('should return cancelled when client selection is cancelled during add', async () => { mockSelect.mockResolvedValueOnce('add-clients'); - mockMultiselect.mockResolvedValueOnce(Symbol('cancel')); + mockMultiselect.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel.mockReturnValueOnce(false).mockReturnValueOnce(true); const result = await runConfigureExistingFlow(discoveryWithUnconfigured); @@ -206,7 +207,7 @@ describe('flows/configure-existing', () => { it('should return cancelled when client selection is cancelled during update', async () => { mockSelect.mockResolvedValueOnce('update-clients'); - mockMultiselect.mockResolvedValueOnce(Symbol('cancel')); + mockMultiselect.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel.mockReturnValueOnce(false).mockReturnValueOnce(true); const result = await runConfigureExistingFlow(discoveryWithUnconfigured); @@ -238,7 +239,7 @@ describe('flows/configure-existing', () => { }); mockSelect.mockResolvedValueOnce('update-clients'); mockMultiselect.mockResolvedValueOnce(['cursor']); - mockPassword.mockResolvedValueOnce(Symbol('cancel')); + mockPassword.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel .mockReturnValueOnce(false) // action .mockReturnValueOnce(false) // multiselect diff --git a/packages/gitlab-mcp/tests/unit/cli/setup/flows/local-setup.test.ts b/packages/gitlab-mcp/tests/unit/cli/setup/flows/local-setup.test.ts index aa70b8e36..38bdac78b 100644 --- a/packages/gitlab-mcp/tests/unit/cli/setup/flows/local-setup.test.ts +++ b/packages/gitlab-mcp/tests/unit/cli/setup/flows/local-setup.test.ts @@ -23,6 +23,7 @@ jest.mock('@clack/prompts', () => ({ step: jest.fn(), }, isCancel: jest.fn().mockReturnValue(false), + CANCEL_SYMBOL: Symbol('clack:cancel'), })); jest.mock('../../../../../src/cli/init/connection', () => ({ @@ -113,7 +114,7 @@ describe('flows/local-setup', () => { it('should return cancelled when instance type is cancelled', async () => { mockIsCancel.mockReturnValueOnce(true); - mockSelect.mockResolvedValueOnce(Symbol('cancel')); + mockSelect.mockResolvedValueOnce(p.CANCEL_SYMBOL); const result = await runLocalSetupFlow(emptyDiscovery); @@ -146,7 +147,7 @@ describe('flows/local-setup', () => { it('should return cancelled when URL input is cancelled', async () => { mockSelect.mockResolvedValueOnce('self-hosted'); - mockText.mockResolvedValueOnce(Symbol('cancel')); + mockText.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel.mockReturnValueOnce(false).mockReturnValueOnce(true); const result = await runLocalSetupFlow(emptyDiscovery); @@ -157,7 +158,7 @@ describe('flows/local-setup', () => { it('should return cancelled when has-token confirm is cancelled', async () => { mockSelect.mockResolvedValueOnce('saas'); - mockConfirm.mockResolvedValueOnce(Symbol('cancel')); + mockConfirm.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel.mockReturnValueOnce(false).mockReturnValueOnce(true); const result = await runLocalSetupFlow(emptyDiscovery); @@ -183,7 +184,7 @@ describe('flows/local-setup', () => { it('should return cancelled when token input is cancelled', async () => { mockSelect.mockResolvedValueOnce('saas'); mockConfirm.mockResolvedValueOnce(true); // has token - mockPassword.mockResolvedValueOnce(Symbol('cancel')); + mockPassword.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel .mockReturnValueOnce(false) // instance .mockReturnValueOnce(false) // confirm @@ -311,7 +312,7 @@ describe('flows/local-setup', () => { mockSelect.mockResolvedValueOnce('saas'); mockConfirm.mockResolvedValueOnce(true); mockPassword.mockResolvedValueOnce('glpat-xxxxxxxxxxxxxxxxxxxx'); - mockMultiselect.mockResolvedValueOnce(Symbol('cancel')); + mockMultiselect.mockResolvedValueOnce(p.CANCEL_SYMBOL); // isCancel returns false for all prior prompts, then true for multiselect mockIsCancel .mockReturnValueOnce(false) // instance type diff --git a/packages/gitlab-mcp/tests/unit/cli/setup/flows/server-setup.test.ts b/packages/gitlab-mcp/tests/unit/cli/setup/flows/server-setup.test.ts index 514d8d753..e0f688951 100644 --- a/packages/gitlab-mcp/tests/unit/cli/setup/flows/server-setup.test.ts +++ b/packages/gitlab-mcp/tests/unit/cli/setup/flows/server-setup.test.ts @@ -20,6 +20,7 @@ jest.mock('@clack/prompts', () => ({ }, note: jest.fn(), isCancel: jest.fn().mockReturnValue(false), + CANCEL_SYMBOL: Symbol('clack:cancel'), })); jest.mock('../../../../../src/cli/docker/docker-utils', () => ({ @@ -105,7 +106,7 @@ describe('flows/server-setup', () => { it('should return cancelled when deployment type is cancelled', async () => { mockIsCancel.mockReturnValueOnce(true); - mockSelect.mockResolvedValueOnce(Symbol('cancel')); + mockSelect.mockResolvedValueOnce(p.CANCEL_SYMBOL); const result = await runServerSetupFlow(dockerReadyDiscovery); @@ -115,7 +116,7 @@ describe('flows/server-setup', () => { it('should return cancelled when port is cancelled', async () => { mockSelect.mockResolvedValueOnce('standalone'); - mockText.mockResolvedValueOnce(Symbol('cancel')); + mockText.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel.mockReturnValueOnce(false).mockReturnValueOnce(true); const result = await runServerSetupFlow(dockerReadyDiscovery); @@ -127,7 +128,7 @@ describe('flows/server-setup', () => { it('should return cancelled when OAuth confirm is cancelled', async () => { mockSelect.mockResolvedValueOnce('standalone'); mockText.mockResolvedValueOnce('3333'); - mockConfirm.mockResolvedValueOnce(Symbol('cancel')); + mockConfirm.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel .mockReturnValueOnce(false) // deployment .mockReturnValueOnce(false) // port @@ -200,7 +201,7 @@ describe('flows/server-setup', () => { it('should return cancelled when database URL is cancelled', async () => { mockSelect.mockResolvedValueOnce('external-db'); - mockText.mockResolvedValueOnce('3333').mockResolvedValueOnce(Symbol('cancel')); // db url cancel + mockText.mockResolvedValueOnce('3333').mockResolvedValueOnce(p.CANCEL_SYMBOL); // db url cancel mockConfirm.mockResolvedValueOnce(true); // enable oauth mockIsCancel .mockReturnValueOnce(false) // deployment diff --git a/packages/gitlab-mcp/tests/unit/cli/setup/flows/tool-selection.test.ts b/packages/gitlab-mcp/tests/unit/cli/setup/flows/tool-selection.test.ts index 487c9cbd1..ff0f66ed6 100644 --- a/packages/gitlab-mcp/tests/unit/cli/setup/flows/tool-selection.test.ts +++ b/packages/gitlab-mcp/tests/unit/cli/setup/flows/tool-selection.test.ts @@ -14,6 +14,7 @@ jest.mock('@clack/prompts', () => ({ step: jest.fn(), }, isCancel: jest.fn().mockReturnValue(false), + CANCEL_SYMBOL: Symbol('clack:cancel'), })); import { @@ -58,7 +59,7 @@ describe('flows/tool-selection', () => { it('should return null when preset selection is cancelled', async () => { mockSelect.mockResolvedValueOnce('preset'); // Second call returns cancel symbol - mockSelect.mockResolvedValueOnce(Symbol('cancel')); + mockSelect.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel.mockReturnValueOnce(false).mockReturnValueOnce(true); const result = await runToolSelectionFlow(); @@ -87,7 +88,7 @@ describe('flows/tool-selection', () => { it('should return null when manual selection is cancelled', async () => { mockSelect.mockResolvedValueOnce('manual'); - mockMultiselect.mockResolvedValueOnce(Symbol('cancel')); + mockMultiselect.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel.mockReturnValueOnce(false).mockReturnValueOnce(true); const result = await runToolSelectionFlow(); @@ -177,7 +178,7 @@ describe('flows/tool-selection', () => { it('should return null when feature flags selection is cancelled', async () => { mockSelect.mockResolvedValueOnce('advanced'); - mockMultiselect.mockResolvedValueOnce(Symbol('cancel')); + mockMultiselect.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel.mockReturnValueOnce(false).mockReturnValueOnce(true); const result = await runToolSelectionFlow(); @@ -187,7 +188,7 @@ describe('flows/tool-selection', () => { it('should return null when read-only confirm is cancelled', async () => { mockSelect.mockResolvedValueOnce('advanced'); mockMultiselect.mockResolvedValueOnce(['USE_MRS']); - mockConfirm.mockResolvedValueOnce(Symbol('cancel')); + mockConfirm.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel .mockReturnValueOnce(false) // mode .mockReturnValueOnce(false) // features @@ -228,7 +229,7 @@ describe('flows/tool-selection', () => { mockMultiselect.mockResolvedValueOnce(['USE_MRS']); mockConfirm .mockResolvedValueOnce(false) // read-only - .mockResolvedValueOnce(Symbol('cancel')); // cross-refs cancel + .mockResolvedValueOnce(p.CANCEL_SYMBOL); // cross-refs cancel mockIsCancel .mockReturnValueOnce(false) // mode .mockReturnValueOnce(false) // features @@ -245,7 +246,7 @@ describe('flows/tool-selection', () => { mockConfirm .mockResolvedValueOnce(false) // read-only .mockResolvedValueOnce(true) // cross-refs - .mockResolvedValueOnce(Symbol('cancel')); // scope cancel + .mockResolvedValueOnce(p.CANCEL_SYMBOL); // scope cancel mockIsCancel .mockReturnValueOnce(false) // mode .mockReturnValueOnce(false) // features @@ -258,7 +259,7 @@ describe('flows/tool-selection', () => { }); it('should return null when scope type selection is cancelled', async () => { - mockSelect.mockResolvedValueOnce('advanced').mockResolvedValueOnce(Symbol('cancel')); // scope type cancel + mockSelect.mockResolvedValueOnce('advanced').mockResolvedValueOnce(p.CANCEL_SYMBOL); // scope type cancel mockMultiselect.mockResolvedValueOnce(['USE_MRS']); mockConfirm .mockResolvedValueOnce(false) // read-only @@ -283,7 +284,7 @@ describe('flows/tool-selection', () => { .mockResolvedValueOnce(false) // read-only .mockResolvedValueOnce(true) // cross-refs .mockResolvedValueOnce(true); // yes scope - mockText.mockResolvedValueOnce(Symbol('cancel')); + mockText.mockResolvedValueOnce(p.CANCEL_SYMBOL); mockIsCancel .mockReturnValueOnce(false) // mode .mockReturnValueOnce(false) // features @@ -298,7 +299,7 @@ describe('flows/tool-selection', () => { }); it('should return null when log level is cancelled', async () => { - mockSelect.mockResolvedValueOnce('advanced').mockResolvedValueOnce(Symbol('cancel')); // log level cancel + mockSelect.mockResolvedValueOnce('advanced').mockResolvedValueOnce(p.CANCEL_SYMBOL); // log level cancel mockMultiselect.mockResolvedValueOnce(['USE_MRS']); mockConfirm .mockResolvedValueOnce(false) // read-only diff --git a/yarn.lock b/yarn.lock index b760c0ca8..27d94ef6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -503,7 +503,17 @@ __metadata: languageName: node linkType: hard -"@clack/prompts@npm:1.7.0, @clack/prompts@npm:^1.7.0": +"@clack/core@npm:1.5.1": + version: 1.5.1 + resolution: "@clack/core@npm:1.5.1" + dependencies: + fast-wrap-ansi: "npm:^0.2.0" + sisteransi: "npm:^1.0.5" + checksum: 10c0/6dca93ff5a34bfe8c150367519bc40a847e9172cb1a78b18c88da0507cb6ad899debe1ad5cfcb9796e439108f12f003cf06fd002e2293bc85ff500975e45ff13 + languageName: node + linkType: hard + +"@clack/prompts@npm:1.7.0": version: 1.7.0 resolution: "@clack/prompts@npm:1.7.0" dependencies: @@ -526,10 +536,22 @@ __metadata: languageName: node linkType: hard -"@cloudflare/workers-types@npm:^5.20260905.1": - version: 5.20260905.1 - resolution: "@cloudflare/workers-types@npm:5.20260905.1" - checksum: 10c0/398d4a1e0b39eb1444995c0d853e543508ee17ab9d8450ffc0d80e71045f7a51fc5526cd60ad000a904997dca1a7e1b2f1e1f8f0af2779519aa33305e9c324ec +"@clack/prompts@npm:^1.8.1": + version: 1.8.1 + resolution: "@clack/prompts@npm:1.8.1" + dependencies: + "@clack/core": "npm:1.5.1" + fast-string-width: "npm:^3.0.2" + fast-wrap-ansi: "npm:^0.2.0" + sisteransi: "npm:^1.0.5" + checksum: 10c0/ed38748acde0cb1e7ebdac1242470c78bd90380cbdde1e5560e0828881e3c74e2676de666086cf8183c8d4d3f1fc6e489f15a004f0d9f8ee294a3aa744de2093 + languageName: node + linkType: hard + +"@cloudflare/workers-types@npm:^5.20260919.1": + version: 5.20260919.1 + resolution: "@cloudflare/workers-types@npm:5.20260919.1" + checksum: 10c0/2fe8b7167187a6b33031c91affaad18f9296314885495f5d0cc6daca2d595779d2f675b5fa5a92d719afb0dca66073a614280a299f70a417a4060a8c56fe461d languageName: node linkType: hard @@ -847,9 +869,9 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/console@npm:30.5.1" +"@jest/console@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/console@npm:30.5.2" dependencies: "@jest/types": "npm:30.5.1" "@types/node": "npm:*" @@ -857,19 +879,19 @@ __metadata: jest-message-util: "npm:30.5.1" jest-util: "npm:30.5.1" slash: "npm:^3.0.0" - checksum: 10c0/c4d674fd36bbbbe5605445782a298233eee356c71ef7cb11d097ce961b940a3d78278f8291f56f9c5102453abbbe36c1eb7d5b7279cd1facc16465c8beeeadcf + checksum: 10c0/1e7b14f09eec6af78dbe9d4acea6613c184409aa16ddc9ee86ced5b5ec7969f52da588e6bb300dc6333e82dc172aeb54a9f5cc8f7d50651586723288ac9c5ba4 languageName: node linkType: hard -"@jest/core@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/core@npm:30.5.1" +"@jest/core@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/core@npm:30.5.2" dependencies: - "@jest/console": "npm:30.5.1" + "@jest/console": "npm:30.5.2" "@jest/pattern": "npm:30.5.0" - "@jest/reporters": "npm:30.5.1" - "@jest/test-result": "npm:30.5.1" - "@jest/transform": "npm:30.5.1" + "@jest/reporters": "npm:30.5.2" + "@jest/test-result": "npm:30.5.2" + "@jest/transform": "npm:30.5.2" "@jest/types": "npm:30.5.1" "@types/node": "npm:*" ansi-escapes: "npm:^4.3.2" @@ -879,18 +901,18 @@ __metadata: fast-json-stable-stringify: "npm:^2.1.0" graceful-fs: "npm:^4.2.11" jest-changed-files: "npm:30.5.1" - jest-config: "npm:30.5.1" + jest-config: "npm:30.5.2" jest-haste-map: "npm:30.5.1" jest-message-util: "npm:30.5.1" jest-regex-util: "npm:30.5.0" jest-resolve: "npm:30.5.1" - jest-resolve-dependencies: "npm:30.5.1" - jest-runner: "npm:30.5.1" - jest-runtime: "npm:30.5.1" - jest-snapshot: "npm:30.5.1" + jest-resolve-dependencies: "npm:30.5.2" + jest-runner: "npm:30.5.2" + jest-runtime: "npm:30.5.2" + jest-snapshot: "npm:30.5.2" jest-util: "npm:30.5.1" jest-validate: "npm:30.5.1" - jest-watcher: "npm:30.5.1" + jest-watcher: "npm:30.5.2" pretty-format: "npm:30.5.1" slash: "npm:^3.0.0" peerDependencies: @@ -898,7 +920,7 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 10c0/a463de91ba0b0cfcbacb2f361abf0b02280740e93257d6f9d54383670aaab1522373cf2d502437d366d364331de7bbc735abed59c12afc63d4a7f41ba927892d + checksum: 10c0/9fa38140cb0a3c0eafa2ebd0595a42c0bdb13c6b7dacb398fe214cbc6dd750d7498b84a54e48f829b49e319d3ef480d0b9e47f0c53e1758ee528ea1b8f968fe6 languageName: node linkType: hard @@ -916,15 +938,15 @@ __metadata: languageName: node linkType: hard -"@jest/environment@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/environment@npm:30.5.1" +"@jest/environment@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/environment@npm:30.5.2" dependencies: - "@jest/fake-timers": "npm:30.5.1" + "@jest/fake-timers": "npm:30.5.2" "@jest/types": "npm:30.5.1" "@types/node": "npm:*" - jest-mock: "npm:30.5.1" - checksum: 10c0/f8cd7e3827927aef443f6d96700685f6526df66339b963f7ed8b6f62cd92b524f85383cf955c798ca4e17bfd8ad74503b0d548e504322c323e9eae089bc5b639 + jest-mock: "npm:30.5.2" + checksum: 10c0/f060f2d94dfccd7de4890a419e803735921d8358a3ecc8e424e5f6a632da80fc37372f6e54f1397876b721cec5bae2da515e6dce2ac6558bd90f0c1cbeb5c105 languageName: node linkType: hard @@ -937,36 +959,36 @@ __metadata: languageName: node linkType: hard -"@jest/expect-utils@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/expect-utils@npm:30.5.1" +"@jest/expect-utils@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/expect-utils@npm:30.5.2" dependencies: "@jest/get-type": "npm:30.5.0" - checksum: 10c0/8e154abddb5ff73cbd36d602b577fa7f64509ebcc2f5580794d813165f7ca9456b4d61f609d18b42de7647d0cfe1f275a36084d2c0bbf6818479a889f1afee17 + checksum: 10c0/0db00595907f6705c5acc8d10ee9d11d74960cd459beaae66bd7a1d6845c7df1d123295e957bb56b6882b380f2e7d55d277ced7646e0229fc4a67abeb713c048 languageName: node linkType: hard -"@jest/expect@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/expect@npm:30.5.1" +"@jest/expect@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/expect@npm:30.5.2" dependencies: - expect: "npm:30.5.1" - jest-snapshot: "npm:30.5.1" - checksum: 10c0/a6e8dd1491964b01859260607247583eb06cedbdf3b1e4bd3e7b257ef7fbf25e15ad303f60e280f70f045497fa1d82647e6167ad2d7bd46496b39727781bd825 + expect: "npm:30.5.2" + jest-snapshot: "npm:30.5.2" + checksum: 10c0/ceebb291be34707e3d2ac99bc5e4a5039927e01d28650b1dc51888dfa3963a3a75a3c72f0abe4df9aa243dc3b31af72e467072d75b52bd11b80a84ebe765d8f9 languageName: node linkType: hard -"@jest/fake-timers@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/fake-timers@npm:30.5.1" +"@jest/fake-timers@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/fake-timers@npm:30.5.2" dependencies: "@jest/types": "npm:30.5.1" "@sinonjs/fake-timers": "npm:^15.4.0" "@types/node": "npm:*" jest-message-util: "npm:30.5.1" - jest-mock: "npm:30.5.1" + jest-mock: "npm:30.5.2" jest-util: "npm:30.5.1" - checksum: 10c0/5af701f17c6909a5d5ec0db64a024ba0b8399e68fdbcb465bb3cb4ca61edaafed232fb60497b64b4181a1487d63fa10b0d11a5654cfeb2428360cbf10e97857d + checksum: 10c0/c8ff08f541743210abaf07b75bfe6224458c816a500d5be954690fd1661cd14b054201dfe2a6ebdc0083290d4c03d73bbac4f3c1fbef5c3b16d1981642dfff57 languageName: node linkType: hard @@ -984,15 +1006,15 @@ __metadata: languageName: node linkType: hard -"@jest/globals@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/globals@npm:30.5.1" +"@jest/globals@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/globals@npm:30.5.2" dependencies: - "@jest/environment": "npm:30.5.1" - "@jest/expect": "npm:30.5.1" + "@jest/environment": "npm:30.5.2" + "@jest/expect": "npm:30.5.2" "@jest/types": "npm:30.5.1" - jest-mock: "npm:30.5.1" - checksum: 10c0/7cc9ad8f382c244ef913398ffcae64fa1f2ebf3b7729022fdba12f4c04f75d4cd7440417ff900ba3cfbebd1b851ee11ecbf348e157320229bec8dfc8d595ca2b + jest-mock: "npm:30.5.2" + checksum: 10c0/e60738080d4866350b2152d98ddf99728cc1ac19983b80bea5d5ab219f82ef271fadd102b0cee2c01808367d6e054bea1c4ec4aa7c69e45b4e14b79a30f76538 languageName: node linkType: hard @@ -1030,14 +1052,14 @@ __metadata: languageName: node linkType: hard -"@jest/reporters@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/reporters@npm:30.5.1" +"@jest/reporters@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/reporters@npm:30.5.2" dependencies: "@bcoe/v8-coverage": "npm:^0.2.3" - "@jest/console": "npm:30.5.1" - "@jest/test-result": "npm:30.5.1" - "@jest/transform": "npm:30.5.1" + "@jest/console": "npm:30.5.2" + "@jest/test-result": "npm:30.5.2" + "@jest/transform": "npm:30.5.2" "@jest/types": "npm:30.5.1" "@jridgewell/trace-mapping": "npm:^0.3.31" "@types/node": "npm:*" @@ -1062,7 +1084,7 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 10c0/7e0fee38be99ae436572552398035d7c5f7cedede60569c9c6e3c5887982e0b8c3a049f9cf83f17ccfe4e19da085ab3a30de412206503e2617a7ee62233bddd8 + checksum: 10c0/be9c62eb48ecd8744226c65c4bcdfb2b2a807dbac451a0b136701aa6685b5566fbd4872874504da5d7c24d6686ed0afdcff02dc1ecd2d0231fd4cda0dc040eab languageName: node linkType: hard @@ -1096,45 +1118,45 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:30.5.0": - version: 30.5.0 - resolution: "@jest/source-map@npm:30.5.0" +"@jest/source-map@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/source-map@npm:30.5.2" dependencies: "@jridgewell/trace-mapping": "npm:^0.3.31" callsites: "npm:^3.1.0" convert-source-map: "npm:^2.0.0" graceful-fs: "npm:^4.2.11" - checksum: 10c0/26e63b86abcbe439e83487d9f4fef0efc34033194264df19fda2c0d1152033e3e5fe5733e13c56aea74e7fc77971128d6c76d6a1cd5ad390ee46028fe9a6a97e + checksum: 10c0/6d939ebec2a2a7322fd0c5d536810a4ac4fbf3700a47b6246829715791270386ba4e58b51f939532d061e06830cea3cc6c3026b2bb0234c9c6594df0fcb17495 languageName: node linkType: hard -"@jest/test-result@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/test-result@npm:30.5.1" +"@jest/test-result@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/test-result@npm:30.5.2" dependencies: - "@jest/console": "npm:30.5.1" + "@jest/console": "npm:30.5.2" "@jest/types": "npm:30.5.1" "@types/istanbul-lib-coverage": "npm:^2.0.6" collect-v8-coverage: "npm:^1.0.2" - checksum: 10c0/1563a0c0ac59985d49d1f67dec92b671581d3f6ae8d6b2faeb5668523062040a2665939d0625e3adfef5fa1abccd910f3b7de799a933a1880ec8cb6069b691e6 + checksum: 10c0/936ceb0a647e09eb00fa10bae0c19dd45c8029a1ba984ab4c22871fea68a72c0e5db9eebb48166af31c305b351978a2bcd23cbe59567587ca41c095d6c09c3c7 languageName: node linkType: hard -"@jest/test-sequencer@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/test-sequencer@npm:30.5.1" +"@jest/test-sequencer@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/test-sequencer@npm:30.5.2" dependencies: - "@jest/test-result": "npm:30.5.1" + "@jest/test-result": "npm:30.5.2" graceful-fs: "npm:^4.2.11" jest-haste-map: "npm:30.5.1" slash: "npm:^3.0.0" - checksum: 10c0/ea197d1fd59f7c4a991088a68972b2704c6d24e048be619b992a5fc107e72c567a1180e745404356fe0e9515df069ed86cf9ab56f399435736d5ceee03d0bc2c + checksum: 10c0/de92712f0ce196a0e36ea1beb1b70aa12c76ccf31e4017f1377473d41c76a672a5b810b054f53ecbd8b3d085208aad56fa60d4574b823958d279175c9fc6ad31 languageName: node linkType: hard -"@jest/transform@npm:30.5.1": - version: 30.5.1 - resolution: "@jest/transform@npm:30.5.1" +"@jest/transform@npm:30.5.2": + version: 30.5.2 + resolution: "@jest/transform@npm:30.5.2" dependencies: "@babel/core": "npm:^7.27.4" "@jest/types": "npm:30.5.1" @@ -1150,7 +1172,7 @@ __metadata: pirates: "npm:^4.0.7" slash: "npm:^3.0.0" write-file-atomic: "npm:^5.0.1" - checksum: 10c0/560f48993ede78507dc53eb6e063d1decf139faa8267ed1900541fbe98dce684cc0d70897d09ab976c2bbe4dc4fe3844e4798221da65e40fa93c87ac9efc60f4 + checksum: 10c0/be3f9aa812a442402ed41a37d0f11d174a0a9037038dc1326c32d1d55e22fc7bc5f5146284c5a18db3da572afb81739f0a93d3f1d519e811d25dacaeb380c647 languageName: node linkType: hard @@ -1342,72 +1364,72 @@ __metadata: languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:23.2.0": - version: 23.2.0 - resolution: "@nx/nx-darwin-arm64@npm:23.2.0" +"@nx/nx-darwin-arm64@npm:23.2.1": + version: 23.2.1 + resolution: "@nx/nx-darwin-arm64@npm:23.2.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:23.2.0": - version: 23.2.0 - resolution: "@nx/nx-darwin-x64@npm:23.2.0" +"@nx/nx-darwin-x64@npm:23.2.1": + version: 23.2.1 + resolution: "@nx/nx-darwin-x64@npm:23.2.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:23.2.0": - version: 23.2.0 - resolution: "@nx/nx-freebsd-x64@npm:23.2.0" +"@nx/nx-freebsd-x64@npm:23.2.1": + version: 23.2.1 + resolution: "@nx/nx-freebsd-x64@npm:23.2.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:23.2.0": - version: 23.2.0 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:23.2.0" +"@nx/nx-linux-arm-gnueabihf@npm:23.2.1": + version: 23.2.1 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:23.2.1" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:23.2.0": - version: 23.2.0 - resolution: "@nx/nx-linux-arm64-gnu@npm:23.2.0" +"@nx/nx-linux-arm64-gnu@npm:23.2.1": + version: 23.2.1 + resolution: "@nx/nx-linux-arm64-gnu@npm:23.2.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:23.2.0": - version: 23.2.0 - resolution: "@nx/nx-linux-arm64-musl@npm:23.2.0" +"@nx/nx-linux-arm64-musl@npm:23.2.1": + version: 23.2.1 + resolution: "@nx/nx-linux-arm64-musl@npm:23.2.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:23.2.0": - version: 23.2.0 - resolution: "@nx/nx-linux-x64-gnu@npm:23.2.0" +"@nx/nx-linux-x64-gnu@npm:23.2.1": + version: 23.2.1 + resolution: "@nx/nx-linux-x64-gnu@npm:23.2.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:23.2.0": - version: 23.2.0 - resolution: "@nx/nx-linux-x64-musl@npm:23.2.0" +"@nx/nx-linux-x64-musl@npm:23.2.1": + version: 23.2.1 + resolution: "@nx/nx-linux-x64-musl@npm:23.2.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:23.2.0": - version: 23.2.0 - resolution: "@nx/nx-win32-arm64-msvc@npm:23.2.0" +"@nx/nx-win32-arm64-msvc@npm:23.2.1": + version: 23.2.1 + resolution: "@nx/nx-win32-arm64-msvc@npm:23.2.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:23.2.0": - version: 23.2.0 - resolution: "@nx/nx-win32-x64-msvc@npm:23.2.0" +"@nx/nx-win32-x64-msvc@npm:23.2.1": + version: 23.2.1 + resolution: "@nx/nx-win32-x64-msvc@npm:23.2.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2104,8 +2126,8 @@ __metadata: "@prisma/client": "npm:^7.10.0" "@structured-world/gitlab-mcp": "workspace:^" "@types/jest": "npm:^30.0.0" - "@types/node": "npm:^25.9.5" - jest: "npm:^30.5.1" + "@types/node": "npm:^25.9.8" + jest: "npm:^30.5.2" prisma: "npm:^7.10.0" ts-jest: "npm:^29.4.12" typescript: "npm:^6.0.3" @@ -2116,41 +2138,41 @@ __metadata: version: 0.0.0-use.local resolution: "@structured-world/gitlab-mcp@workspace:packages/gitlab-mcp" dependencies: - "@clack/prompts": "npm:^1.7.0" - "@cloudflare/workers-types": "npm:^5.20260905.1" + "@clack/prompts": "npm:^1.8.1" + "@cloudflare/workers-types": "npm:^5.20260919.1" "@eslint/js": "npm:^10.0.1" "@graphql-typed-document-node/core": "npm:^3.2.0" "@modelcontextprotocol/sdk": "npm:^1.30.0" "@structured-world/vue-privacy": "npm:^1.10.0" "@types/express": "npm:^5.0.6" "@types/jest": "npm:^30.0.0" - "@types/node": "npm:^25.9.5" + "@types/node": "npm:^25.9.8" "@types/picomatch": "npm:^4.0.3" - "@typescript-eslint/eslint-plugin": "npm:^8.69.0" - "@typescript-eslint/parser": "npm:^8.69.0" - auto-changelog: "npm:^2.6.0" + "@typescript-eslint/eslint-plugin": "npm:^8.70.0" + "@typescript-eslint/parser": "npm:^8.70.0" + auto-changelog: "npm:^2.6.1" cross-env: "npm:^10.1.0" dotenv: "npm:^17.4.2" - eslint: "npm:^10.10.0" + eslint: "npm:^10.11.0" eslint-plugin-prettier: "npm:^5.5.6" express: "npm:^5.2.1" graphql: "npm:^17.0.2" graphql-tag: "npm:^2.12.7" - jest: "npm:^30.5.1" - open: "npm:^11.0.2" + jest: "npm:^30.5.2" + open: "npm:^11.0.4" picomatch: "npm:^4.0.7" pino: "npm:^10.3.1" pino-pretty: "npm:^13.1.3" - prettier: "npm:^3.9.6" + prettier: "npm:^3.9.8" transliteration: "npm:^2.6.1" ts-jest: "npm:^29.4.12" ts-node: "npm:^10.9.2" typescript: "npm:^6.0.3" undici: "npm:^8.10.2" vitepress: "npm:2.0.0-alpha.20" - xstate: "npm:^5.32.6" - yaml: "npm:^2.9.0" - zod: "npm:^4.5.4" + xstate: "npm:^5.33.2" + yaml: "npm:^2.9.1" + zod: "npm:^4.6.5" bin: gitlab-mcp: ./dist/src/main.js languageName: unknown @@ -2543,12 +2565,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^25.9.5": - version: 25.9.5 - resolution: "@types/node@npm:25.9.5" +"@types/node@npm:^25.9.8": + version: 25.9.8 + resolution: "@types/node@npm:25.9.8" dependencies: undici-types: "npm:>=7.24.0 <7.24.7" - checksum: 10c0/addbfe55f14d6a7f149a8796c2fca68463ac6caf911c623f552d07385691d36c0669a9c38724350d0e958131827d59a63c18781e753dede8113a903dd62b7932 + checksum: 10c0/482b8f1d8532fb034d4b49b8c7a5942aee4bb21482d7e49a5d3fbc1dcb3f04fde0c312f91f6aeca185875a325e14e75f94b6171f1ef7a718a6d62c0862c2ab80 languageName: node linkType: hard @@ -2639,105 +2661,105 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.69.0": - version: 8.69.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.69.0" +"@typescript-eslint/eslint-plugin@npm:^8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.70.0" dependencies: "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.69.0" - "@typescript-eslint/type-utils": "npm:8.69.0" - "@typescript-eslint/utils": "npm:8.69.0" - "@typescript-eslint/visitor-keys": "npm:8.69.0" + "@typescript-eslint/scope-manager": "npm:8.70.0" + "@typescript-eslint/type-utils": "npm:8.70.0" + "@typescript-eslint/utils": "npm:8.70.0" + "@typescript-eslint/visitor-keys": "npm:8.70.0" ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^2.5.0" peerDependencies: - "@typescript-eslint/parser": ^8.69.0 + "@typescript-eslint/parser": ^8.70.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/99ffb7f9aa2604b8aed7621dfbd0fc05a49dd5c327042112d5293ec613504fd313ec5e1a54fdd0b0edf76d2f830d89e8a98b0df973e7007987d46a72a9719c9a + checksum: 10c0/e69f6f697493f4b5cb0411498edd63d75afb3e6881c632f9b23c416e64dd06458956ae489a253f0d08b90645b935a32a509d1e2b17068974a2a34a5c2b3f334b languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.69.0": - version: 8.69.0 - resolution: "@typescript-eslint/parser@npm:8.69.0" +"@typescript-eslint/parser@npm:^8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/parser@npm:8.70.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.69.0" - "@typescript-eslint/types": "npm:8.69.0" - "@typescript-eslint/typescript-estree": "npm:8.69.0" - "@typescript-eslint/visitor-keys": "npm:8.69.0" + "@typescript-eslint/scope-manager": "npm:8.70.0" + "@typescript-eslint/types": "npm:8.70.0" + "@typescript-eslint/typescript-estree": "npm:8.70.0" + "@typescript-eslint/visitor-keys": "npm:8.70.0" debug: "npm:^4.4.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/71caf8cdeb5b05d6a719f2e288d557545bcc190d7a5c9ee564e23597383d6abf9b745a1c4834bcac0420f34ce34e79215cce1d473d54b30b62af7fb73ce20140 + checksum: 10c0/6d35e0cad56902295599c3da7e4f4c97ebf6f19fcc4333100ad05ef757ba9c431db9cdbd886b6748eb88afd0bc64f8c1c7a81b37589bbd4cc346f6e9eb4e3d12 languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.69.0": - version: 8.69.0 - resolution: "@typescript-eslint/project-service@npm:8.69.0" +"@typescript-eslint/project-service@npm:8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/project-service@npm:8.70.0" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.69.0" - "@typescript-eslint/types": "npm:^8.69.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.70.0" + "@typescript-eslint/types": "npm:^8.70.0" debug: "npm:^4.4.3" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/f0ab3f0e54f88bcf9480bdad421655c7cbce4005613aae548900e6d94063808aff99c0d588d595ab2903ffd1927fe70342e29a6116c10dd96fb3baf4274b6051 + checksum: 10c0/eb7d0b4c91015e9aa47672ba20dfda0717e5fa09afa7e28f25b5d7b7b0cd8af4b394f94c3a1528358a7d8c8be4165ed4291a345cbe19bb137a24c6a4f006b398 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.69.0": - version: 8.69.0 - resolution: "@typescript-eslint/scope-manager@npm:8.69.0" +"@typescript-eslint/scope-manager@npm:8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/scope-manager@npm:8.70.0" dependencies: - "@typescript-eslint/types": "npm:8.69.0" - "@typescript-eslint/visitor-keys": "npm:8.69.0" - checksum: 10c0/6052d17248807c198d531183ca2c412db8215cc97fc498fed9d54cec57339e4f142a25394c53643cacd11a75d2319d6733cc383596a3b4e03531a1cca66bf8bc + "@typescript-eslint/types": "npm:8.70.0" + "@typescript-eslint/visitor-keys": "npm:8.70.0" + checksum: 10c0/ca05825fb16266d90e73bd1745407f719fc6d5fdb33045cdae21d3259f13c9b54d8b956d5c64a3eb83baff7690527fb16d01a2d7318379f97fb79a1cbf8ca103 languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.69.0, @typescript-eslint/tsconfig-utils@npm:^8.69.0": - version: 8.69.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.69.0" +"@typescript-eslint/tsconfig-utils@npm:8.70.0, @typescript-eslint/tsconfig-utils@npm:^8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.70.0" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/41145d10ed1930014eef4b2464624b705c49df3c3a352fd2bfdb920b279ccfba730e6bc4ee1820528de3bc780a9338d72682ce8779c3b9e9539f37c1fe4dfbd5 + checksum: 10c0/925df7c1fbb4e8050dda3fa3dad4a6f515a1f7f2b43f5c145d9eaac856adb84bba04eb5038cc0f78c2307c1df4e2d64dbb4e2e47abffa4844e25cfe62ce402cf languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.69.0": - version: 8.69.0 - resolution: "@typescript-eslint/type-utils@npm:8.69.0" +"@typescript-eslint/type-utils@npm:8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/type-utils@npm:8.70.0" dependencies: - "@typescript-eslint/types": "npm:8.69.0" - "@typescript-eslint/typescript-estree": "npm:8.69.0" - "@typescript-eslint/utils": "npm:8.69.0" + "@typescript-eslint/types": "npm:8.70.0" + "@typescript-eslint/typescript-estree": "npm:8.70.0" + "@typescript-eslint/utils": "npm:8.70.0" debug: "npm:^4.4.3" ts-api-utils: "npm:^2.5.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/39b61aae6724ccd5d9a568f0a1954a3d1820109ee49ee8e9f1feb5a4f87e3156455bfb0d34c4fc7f3ef27c66cde982cc7d0f456a9ce7633dcc764991c79c0b88 + checksum: 10c0/b745dc16a9ae50fc1bf7880388425d05d7d1775d23819dfcbdbe5930829fb426d7a011a9848494f427f61e236a4deeb9e8f0fd60db4b7a717a791c8454d63584 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.69.0, @typescript-eslint/types@npm:^8.69.0": - version: 8.69.0 - resolution: "@typescript-eslint/types@npm:8.69.0" - checksum: 10c0/f260a33c5befb591e01dd8fa3e19de8cb599d04ca8f063b745a48f1b3314fce29682b43727531aed076761a8a56added5e51a9e123ae885944729626411e6288 +"@typescript-eslint/types@npm:8.70.0, @typescript-eslint/types@npm:^8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/types@npm:8.70.0" + checksum: 10c0/e3f98d0c0e708fcadebb3b457bf3f38a2512220b6bc9823212cacf310377539fb3c24f9e9e754d13b611a3ac6028a0bba16d02eeef03198c65e7ba605bb2036d languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.69.0": - version: 8.69.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.69.0" +"@typescript-eslint/typescript-estree@npm:8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.70.0" dependencies: - "@typescript-eslint/project-service": "npm:8.69.0" - "@typescript-eslint/tsconfig-utils": "npm:8.69.0" - "@typescript-eslint/types": "npm:8.69.0" - "@typescript-eslint/visitor-keys": "npm:8.69.0" + "@typescript-eslint/project-service": "npm:8.70.0" + "@typescript-eslint/tsconfig-utils": "npm:8.70.0" + "@typescript-eslint/types": "npm:8.70.0" + "@typescript-eslint/visitor-keys": "npm:8.70.0" debug: "npm:^4.4.3" minimatch: "npm:^10.2.2" semver: "npm:^7.7.3" @@ -2745,32 +2767,32 @@ __metadata: ts-api-utils: "npm:^2.5.0" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/b13db97c45fa724a78af823ac125b1fe35711f6e4883e4c375bc8eaf5a2b1b6304a041893ae945017918169d2183cfb1f213e7b502bd6c10d641e157395afc8d + checksum: 10c0/11e6c9c0108184902bc229376cce00eb81ee2b88a7cc3bf02a8c159bf59b2c7af21d2b330976b1751fedd5c27e257731b0d60840268299582c458c2a0a29525e languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.69.0": - version: 8.69.0 - resolution: "@typescript-eslint/utils@npm:8.69.0" +"@typescript-eslint/utils@npm:8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/utils@npm:8.70.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.69.0" - "@typescript-eslint/types": "npm:8.69.0" - "@typescript-eslint/typescript-estree": "npm:8.69.0" + "@typescript-eslint/scope-manager": "npm:8.70.0" + "@typescript-eslint/types": "npm:8.70.0" + "@typescript-eslint/typescript-estree": "npm:8.70.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/e9da8dc8b67ca8183b0fb2fa8b9e69de2cea908ee213d3de735f2cb5727406f5f7282180f172dbf5aee2196116963b31096147c8dc6254aecc7359aac2f9ba77 + checksum: 10c0/15353ecd0c5e29057e5846c6b84de601b679448e01293dbf1ae7dbe94ab6d4b586f8690a262630522441307fafad01ab3b0b46a85eb71907c19a2f124d7bba3f languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.69.0": - version: 8.69.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.69.0" +"@typescript-eslint/visitor-keys@npm:8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.70.0" dependencies: - "@typescript-eslint/types": "npm:8.69.0" + "@typescript-eslint/types": "npm:8.70.0" eslint-visitor-keys: "npm:^5.0.0" - checksum: 10c0/c86639e3a2a86729c77f9391d0fc3db32884d1740dc29f7316e958ff0e839640cd597628056dd3e8c8f21fbdcb312ccf3f5217d6a74a3a41f8ba01bbd414ce01 + checksum: 10c0/43fe28dc1045a686deead8c9334f6e9d8b3fa8f84917147aabd9747783b8bc531254a95a9bfb33355b25cf5ec9a72c62bcde313f13869d7a5e5603d96be593a9 languageName: node linkType: hard @@ -3514,9 +3536,9 @@ __metadata: languageName: node linkType: hard -"auto-changelog@npm:^2.6.0": - version: 2.6.0 - resolution: "auto-changelog@npm:2.6.0" +"auto-changelog@npm:^2.6.1": + version: 2.6.1 + resolution: "auto-changelog@npm:2.6.1" dependencies: commander: "npm:^7.2.0" handlebars: "npm:^4.7.9" @@ -3525,7 +3547,7 @@ __metadata: semver: "npm:^7.8.1" bin: auto-changelog: src/index.js - checksum: 10c0/e28bb8abfa7f318f8a0445cf670b215fd2785c21311c13bdf97797e1904e29c3bb1aee404e8dc4fe28848e61a2489fb7b440d8df88ee21f2a8aff0a588344388 + checksum: 10c0/ef22cabcc9b26a664def90a3746fcb0bb3cccb1b7c41ba444f509c4c46d98201d8f3d15bb720f9f8ffc65379aef2733e34c7808b92af18eb4d9e1d9b25e03ad5 languageName: node linkType: hard @@ -3548,11 +3570,11 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:30.5.1": - version: 30.5.1 - resolution: "babel-jest@npm:30.5.1" +"babel-jest@npm:30.5.2": + version: 30.5.2 + resolution: "babel-jest@npm:30.5.2" dependencies: - "@jest/transform": "npm:30.5.1" + "@jest/transform": "npm:30.5.2" "@types/babel__core": "npm:^7.20.5" babel-plugin-istanbul: "npm:^8.0.0" babel-preset-jest: "npm:30.5.0" @@ -3561,7 +3583,7 @@ __metadata: slash: "npm:^3.0.0" peerDependencies: "@babel/core": ^7.11.0 || ^8.0.0-0 - checksum: 10c0/ce3d18eb45443cb9351074fede247fc6ba7845e18ab4b9ee239a1c47560c939d8194d58f7a08d4ebc7fc1060b33189dd62d41972c68ccec3d82261313b98c6dc + checksum: 10c0/1bba4a4068a5de10dc9d1300c7f22170ffa5e51af8ec145c3efa06c4703994b245cfc212f9961a60b53a6657334fd7266998340edaa65c195eaad37bd62fc43b languageName: node linkType: hard @@ -4794,9 +4816,9 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^10.10.0": - version: 10.10.0 - resolution: "eslint@npm:10.10.0" +"eslint@npm:^10.11.0": + version: 10.11.0 + resolution: "eslint@npm:10.11.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.2" @@ -4835,7 +4857,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/ba583145305f088585f91c5dab6825492ec657614558e4610cffc94174cf800f456e39ec3cafd3eed73e04bd9a05794067ae33b553f1323e3e7c1157242409d2 + checksum: 10c0/c767f45f21d1921b41d70e30b1c8fa7ec4e65c0f43a8d80cc4990ca3d923127fa7b9b3416b8f5be6e877d9286f97d3c51a04ed341bc6aa73c0dba0f463e1f861 languageName: node linkType: hard @@ -4946,17 +4968,17 @@ __metadata: languageName: node linkType: hard -"expect@npm:30.5.1": - version: 30.5.1 - resolution: "expect@npm:30.5.1" +"expect@npm:30.5.2": + version: 30.5.2 + resolution: "expect@npm:30.5.2" dependencies: - "@jest/expect-utils": "npm:30.5.1" + "@jest/expect-utils": "npm:30.5.2" "@jest/get-type": "npm:30.5.0" - jest-matcher-utils: "npm:30.5.1" + jest-matcher-utils: "npm:30.5.2" jest-message-util: "npm:30.5.1" - jest-mock: "npm:30.5.1" + jest-mock: "npm:30.5.2" jest-util: "npm:30.5.1" - checksum: 10c0/351148b185c609a67c4ce5064572d02e7bba11febde47b5177e49fee7e6b680e945034c1ec9414d9fa1f7348a3eceb0d7429f9c9564c693e39c6d138f282370c + checksum: 10c0/31bf2307499008f267c84992a8ea27f76e97f207f685075439aa12f60b93dd81d024e5fcb0142755ed499233056f27fa51d01843d04cba437dfe7588387c352f languageName: node linkType: hard @@ -5465,7 +5487,7 @@ __metadata: version: 0.0.0-use.local resolution: "gitlab-mcp-monorepo@workspace:." dependencies: - nx: "npm:^23.2.0" + nx: "npm:^23.2.1" languageName: unknown linkType: soft @@ -6082,45 +6104,45 @@ __metadata: languageName: node linkType: hard -"jest-circus@npm:30.5.1": - version: 30.5.1 - resolution: "jest-circus@npm:30.5.1" +"jest-circus@npm:30.5.2": + version: 30.5.2 + resolution: "jest-circus@npm:30.5.2" dependencies: - "@jest/environment": "npm:30.5.1" - "@jest/expect": "npm:30.5.1" - "@jest/test-result": "npm:30.5.1" + "@jest/environment": "npm:30.5.2" + "@jest/expect": "npm:30.5.2" + "@jest/test-result": "npm:30.5.2" "@jest/types": "npm:30.5.1" "@types/node": "npm:*" chalk: "npm:^4.1.2" co: "npm:^4.6.0" dedent: "npm:^1.6.0" is-generator-fn: "npm:^2.1.0" - jest-each: "npm:30.5.1" - jest-matcher-utils: "npm:30.5.1" + jest-each: "npm:30.5.2" + jest-matcher-utils: "npm:30.5.2" jest-message-util: "npm:30.5.1" - jest-runtime: "npm:30.5.1" - jest-snapshot: "npm:30.5.1" + jest-runtime: "npm:30.5.2" + jest-snapshot: "npm:30.5.2" jest-util: "npm:30.5.1" p-limit: "npm:^3.1.0" pretty-format: "npm:30.5.1" pure-rand: "npm:^7.0.0" slash: "npm:^3.0.0" stack-utils: "npm:^2.0.6" - checksum: 10c0/dc7ee7e5dcb8415545922372c9909f514a78c7211b14cb31e3064f4b7f4f9ecd9daf55a9702f8f3fa87899e5a70e27f82b8f58d4cac9e6f8fd685f1c06b390d5 + checksum: 10c0/e6a1467ab5080c2620cd2bcf47b8dab0402eb15c1322f966915adfbf37bb42b6be2fb75359de198ae489182441f846bde271dd5d44be81c25395d29a161cf3b6 languageName: node linkType: hard -"jest-cli@npm:30.5.1": - version: 30.5.1 - resolution: "jest-cli@npm:30.5.1" +"jest-cli@npm:30.5.2": + version: 30.5.2 + resolution: "jest-cli@npm:30.5.2" dependencies: - "@jest/core": "npm:30.5.1" - "@jest/test-result": "npm:30.5.1" + "@jest/core": "npm:30.5.2" + "@jest/test-result": "npm:30.5.2" "@jest/types": "npm:30.5.1" chalk: "npm:^4.1.2" exit-x: "npm:^0.2.2" import-local: "npm:^3.2.0" - jest-config: "npm:30.5.1" + jest-config: "npm:30.5.2" jest-util: "npm:30.5.1" jest-validate: "npm:30.5.1" yargs: "npm:^17.7.2" @@ -6131,31 +6153,31 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 10c0/f30d39dbed226ff39a1f79f7361bd1ee8e156e4ff8890b6ff860111398b0d16f148fada806d257e9412986ab054b2545fa8cd3c055db6140fcfe42ebfc9032c9 + checksum: 10c0/dfa69c5af0186bb9b5f057234e1412c366d694a809d87f65c973ce208cd9d7a93b854009d728d2dac96a27797dca8f5d132a38e95658ac9bbfbe6c9cf645bd5e languageName: node linkType: hard -"jest-config@npm:30.5.1": - version: 30.5.1 - resolution: "jest-config@npm:30.5.1" +"jest-config@npm:30.5.2": + version: 30.5.2 + resolution: "jest-config@npm:30.5.2" dependencies: "@babel/core": "npm:^7.27.4" "@jest/get-type": "npm:30.5.0" "@jest/pattern": "npm:30.5.0" - "@jest/test-sequencer": "npm:30.5.1" + "@jest/test-sequencer": "npm:30.5.2" "@jest/types": "npm:30.5.1" - babel-jest: "npm:30.5.1" + babel-jest: "npm:30.5.2" chalk: "npm:^4.1.2" ci-info: "npm:^4.2.0" deepmerge: "npm:^4.3.1" glob: "npm:^13.0.6" graceful-fs: "npm:^4.2.11" - jest-circus: "npm:30.5.1" + jest-circus: "npm:30.5.2" jest-docblock: "npm:30.5.0" - jest-environment-node: "npm:30.5.1" + jest-environment-node: "npm:30.5.2" jest-regex-util: "npm:30.5.0" jest-resolve: "npm:30.5.1" - jest-runner: "npm:30.5.1" + jest-runner: "npm:30.5.2" jest-util: "npm:30.5.1" jest-validate: "npm:30.5.1" parse-json: "npm:^5.2.0" @@ -6173,7 +6195,7 @@ __metadata: optional: true ts-node: optional: true - checksum: 10c0/c8c0c027cdc386d88825ba9a5db0d906a01c7f3096fc7e8198114c8ed4eb9d801b14d3aefc7a5a2a2b3260dc73a01ea83e1196e0abca3ffebb192eac16c49541 + checksum: 10c0/fc554f3009d8a516af41dd0f1ffa47dc78b1127822873c74cec3283a32189be5a1b74b656f9336833d2b509d20eddbd99ecd4b8aeb462bc6ad59246655c72530 languageName: node linkType: hard @@ -6189,15 +6211,15 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:30.5.1": - version: 30.5.1 - resolution: "jest-diff@npm:30.5.1" +"jest-diff@npm:30.5.2": + version: 30.5.2 + resolution: "jest-diff@npm:30.5.2" dependencies: "@jest/diff-sequences": "npm:30.5.0" "@jest/get-type": "npm:30.5.0" chalk: "npm:^4.1.2" pretty-format: "npm:30.5.1" - checksum: 10c0/06e55c89249cd454f97b88c74ed24fa801646b9cf2b6dbc47c3c9976c6fcf677e8c8ecce2f7768ba2a03053d1640e94a3ad1016048dda2186b9a4069074e231c + checksum: 10c0/b11524e4b7a0c7b83c5b6a3775f705b1002bf086c211e9bd2e481686e3fa0ee1a87e61fa7453232aef2808f085f254f4f8fcbb41b69681d1b9384ec321cf6002 languageName: node linkType: hard @@ -6210,31 +6232,32 @@ __metadata: languageName: node linkType: hard -"jest-each@npm:30.5.1": - version: 30.5.1 - resolution: "jest-each@npm:30.5.1" +"jest-each@npm:30.5.2": + version: 30.5.2 + resolution: "jest-each@npm:30.5.2" dependencies: "@jest/get-type": "npm:30.5.0" "@jest/types": "npm:30.5.1" chalk: "npm:^4.1.2" + jest-regex-util: "npm:30.5.0" jest-util: "npm:30.5.1" pretty-format: "npm:30.5.1" - checksum: 10c0/fc61fc731aae1f749fa392780679ed943dd51ff4dc3e5b9db67c3b6c9aa2ed272cfe234625869b5d6cbb1175766a67dc378a9c9872394536843d42ce3b7232f0 + checksum: 10c0/25cc136905719a0b97d102b979eaf5ccc21712a29c5b0fca5a9024387a28a0cef7446d70589aa35c284226955446cc6dfde96fc9d5162f1579978f3938335261 languageName: node linkType: hard -"jest-environment-node@npm:30.5.1": - version: 30.5.1 - resolution: "jest-environment-node@npm:30.5.1" +"jest-environment-node@npm:30.5.2": + version: 30.5.2 + resolution: "jest-environment-node@npm:30.5.2" dependencies: - "@jest/environment": "npm:30.5.1" - "@jest/fake-timers": "npm:30.5.1" + "@jest/environment": "npm:30.5.2" + "@jest/fake-timers": "npm:30.5.2" "@jest/types": "npm:30.5.1" "@types/node": "npm:*" - jest-mock: "npm:30.5.1" + jest-mock: "npm:30.5.2" jest-util: "npm:30.5.1" jest-validate: "npm:30.5.1" - checksum: 10c0/bdef3e7b37eaca8351268ff1128020834c959772daf47f90c06b56d08a11e05e52635c7d7127a661f3a652f8aea77699a5f463dec6205edfff28a0503016f190 + checksum: 10c0/9dedafbc92232686277e232ed39c16e272fb8985b715761ea4963b1363317f0e1f52dbc55bd175cb88bf033a06e29a9154bfe192c231f5c2d483db2c693242e9 languageName: node linkType: hard @@ -6279,15 +6302,15 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:30.5.1": - version: 30.5.1 - resolution: "jest-matcher-utils@npm:30.5.1" +"jest-matcher-utils@npm:30.5.2": + version: 30.5.2 + resolution: "jest-matcher-utils@npm:30.5.2" dependencies: "@jest/get-type": "npm:30.5.0" chalk: "npm:^4.1.2" - jest-diff: "npm:30.5.1" + jest-diff: "npm:30.5.2" pretty-format: "npm:30.5.1" - checksum: 10c0/5cd6bf25c1fdf4e9439b69ed3911caefe035f2f2180fb6dbb9b648af1a2102e2546b4cc967394d63bb073d64ab4f025f81af5bf94b52acf314d45b9fad90e6fd + checksum: 10c0/30f075c6f897335415817ad25e6caae8994de87c31ad59ae8f501e2c8bf6c925635abb481c562436b6add42a784902f105ee2fa0eca3357bd26e038f7e004cb8 languageName: node linkType: hard @@ -6337,15 +6360,15 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:30.5.1": - version: 30.5.1 - resolution: "jest-mock@npm:30.5.1" +"jest-mock@npm:30.5.2": + version: 30.5.2 + resolution: "jest-mock@npm:30.5.2" dependencies: - "@jest/expect-utils": "npm:30.5.1" + "@jest/expect-utils": "npm:30.5.2" "@jest/types": "npm:30.5.1" "@types/node": "npm:*" jest-util: "npm:30.5.1" - checksum: 10c0/58b1a7f93142147949e1cf0fd5a0fbd91d8fae466c24950aaf7ea766aeb0c657f48add172a5b614240a77e9f652bf0cecd8365d0fb3aac9b81a938e983f97f16 + checksum: 10c0/24cc9ac6449c536ef5009c531e14ee6b145f5d68db6e4c5616a8f775c5c81173e83e2c6c47922d413da4dbf804eab555b91ab424b0bf918495ee1b29d8a8ebaa languageName: node linkType: hard @@ -6363,13 +6386,13 @@ __metadata: languageName: node linkType: hard -"jest-resolve-dependencies@npm:30.5.1": - version: 30.5.1 - resolution: "jest-resolve-dependencies@npm:30.5.1" +"jest-resolve-dependencies@npm:30.5.2": + version: 30.5.2 + resolution: "jest-resolve-dependencies@npm:30.5.2" dependencies: jest-regex-util: "npm:30.5.0" - jest-snapshot: "npm:30.5.1" - checksum: 10c0/cc0a2031ec36be9b1986d595798340e751285f868f1b48912c2f5275a333d2b2df9421beea2925dd60db0d63de4f4c195070f66805d0b212c1c1948b1ab0f6af + jest-snapshot: "npm:30.5.2" + checksum: 10c0/9015f81e25bdb10a04a26350ce8deca4d389394ea07cb3b3ba63e567ad0ed91bfcc27e7048289faaaa5865519e4ed8a14c238685d38f33bda5576298852c7ac0 languageName: node linkType: hard @@ -6388,15 +6411,15 @@ __metadata: languageName: node linkType: hard -"jest-runner@npm:30.5.1": - version: 30.5.1 - resolution: "jest-runner@npm:30.5.1" +"jest-runner@npm:30.5.2": + version: 30.5.2 + resolution: "jest-runner@npm:30.5.2" dependencies: - "@jest/console": "npm:30.5.1" - "@jest/environment": "npm:30.5.1" - "@jest/source-map": "npm:30.5.0" - "@jest/test-result": "npm:30.5.1" - "@jest/transform": "npm:30.5.1" + "@jest/console": "npm:30.5.2" + "@jest/environment": "npm:30.5.2" + "@jest/source-map": "npm:30.5.2" + "@jest/test-result": "npm:30.5.2" + "@jest/transform": "npm:30.5.2" "@jest/types": "npm:30.5.1" "@types/node": "npm:*" chalk: "npm:^4.1.2" @@ -6404,30 +6427,30 @@ __metadata: exit-x: "npm:^0.2.2" graceful-fs: "npm:^4.2.11" jest-docblock: "npm:30.5.0" - jest-environment-node: "npm:30.5.1" + jest-environment-node: "npm:30.5.2" jest-haste-map: "npm:30.5.1" jest-leak-detector: "npm:30.5.1" jest-message-util: "npm:30.5.1" jest-resolve: "npm:30.5.1" - jest-runtime: "npm:30.5.1" + jest-runtime: "npm:30.5.2" jest-util: "npm:30.5.1" - jest-watcher: "npm:30.5.1" + jest-watcher: "npm:30.5.2" jest-worker: "npm:30.5.1" p-limit: "npm:^3.1.0" - checksum: 10c0/37b703fefc9d6f410d3fa659f9601c9e5238e5089c83740038e5e73f8a2ea3bde6f06c4ca4823cf59dbe253ab85eb0fbe4b29d7669d52ce917a49098ec886695 + checksum: 10c0/a0a38536df5448905f517e74abd4682e8f48bfb7912b07b29da4daa94c15e468f7ac732806dde7ed4443b07e0fba28c469446009dd2344b52df96913d7db9f24 languageName: node linkType: hard -"jest-runtime@npm:30.5.1": - version: 30.5.1 - resolution: "jest-runtime@npm:30.5.1" - dependencies: - "@jest/environment": "npm:30.5.1" - "@jest/fake-timers": "npm:30.5.1" - "@jest/globals": "npm:30.5.1" - "@jest/source-map": "npm:30.5.0" - "@jest/test-result": "npm:30.5.1" - "@jest/transform": "npm:30.5.1" +"jest-runtime@npm:30.5.2": + version: 30.5.2 + resolution: "jest-runtime@npm:30.5.2" + dependencies: + "@jest/environment": "npm:30.5.2" + "@jest/fake-timers": "npm:30.5.2" + "@jest/globals": "npm:30.5.2" + "@jest/source-map": "npm:30.5.2" + "@jest/test-result": "npm:30.5.2" + "@jest/transform": "npm:30.5.2" "@jest/types": "npm:30.5.1" "@types/node": "npm:*" chalk: "npm:^4.1.2" @@ -6438,43 +6461,43 @@ __metadata: graceful-fs: "npm:^4.2.11" jest-haste-map: "npm:30.5.1" jest-message-util: "npm:30.5.1" - jest-mock: "npm:30.5.1" + jest-mock: "npm:30.5.2" jest-regex-util: "npm:30.5.0" jest-resolve: "npm:30.5.1" - jest-snapshot: "npm:30.5.1" + jest-snapshot: "npm:30.5.2" jest-util: "npm:30.5.1" slash: "npm:^3.0.0" strip-bom: "npm:^4.0.0" - checksum: 10c0/6d9ddfbca0124d08dfef2c38ba56506ad29292dfa55d1c5221c57dade2e3b5187628741736608f42b95d8c0ba52bfa4163d3ba3e752bbc1cdee3e7ae858e3f38 + checksum: 10c0/c1cb0f5eb8d55d768ece011dbe1bd5197ec4ca2497ed0c1a6d38ea4ba835fa3fd69a8ef6e95650f3f9e181d4f586d8596d14318f7cf8afd3e73c241c03c8dcac languageName: node linkType: hard -"jest-snapshot@npm:30.5.1": - version: 30.5.1 - resolution: "jest-snapshot@npm:30.5.1" +"jest-snapshot@npm:30.5.2": + version: 30.5.2 + resolution: "jest-snapshot@npm:30.5.2" dependencies: "@babel/core": "npm:^7.27.4" "@babel/generator": "npm:^7.27.5" "@babel/plugin-syntax-jsx": "npm:^7.27.1" "@babel/plugin-syntax-typescript": "npm:^7.27.1" "@babel/types": "npm:^7.27.3" - "@jest/expect-utils": "npm:30.5.1" + "@jest/expect-utils": "npm:30.5.2" "@jest/get-type": "npm:30.5.0" "@jest/snapshot-utils": "npm:30.5.1" - "@jest/transform": "npm:30.5.1" + "@jest/transform": "npm:30.5.2" "@jest/types": "npm:30.5.1" babel-preset-current-node-syntax: "npm:^1.2.0" chalk: "npm:^4.1.2" - expect: "npm:30.5.1" + expect: "npm:30.5.2" graceful-fs: "npm:^4.2.11" - jest-diff: "npm:30.5.1" - jest-matcher-utils: "npm:30.5.1" + jest-diff: "npm:30.5.2" + jest-matcher-utils: "npm:30.5.2" jest-message-util: "npm:30.5.1" jest-util: "npm:30.5.1" pretty-format: "npm:30.5.1" semver: "npm:^7.7.2" synckit: "npm:^0.11.8" - checksum: 10c0/a0733a3786d4b721db835b4340b33717181ded7e83287303008d93c93d5ffacce74f2a15c9c4b9a4c458041d00473484687e07e42c99e217c7ddabce16a3ebfb + checksum: 10c0/cef6b102f743cbefd5d8ad0cf15b5694c09522904c43ace56537990475805b7c6eaebf82e6c5564e225e8db7617ebdda77340acc9a47d9909f338fbb84fca345 languageName: node linkType: hard @@ -6520,11 +6543,11 @@ __metadata: languageName: node linkType: hard -"jest-watcher@npm:30.5.1": - version: 30.5.1 - resolution: "jest-watcher@npm:30.5.1" +"jest-watcher@npm:30.5.2": + version: 30.5.2 + resolution: "jest-watcher@npm:30.5.2" dependencies: - "@jest/test-result": "npm:30.5.1" + "@jest/test-result": "npm:30.5.2" "@jest/types": "npm:30.5.1" "@types/node": "npm:*" ansi-escapes: "npm:^4.3.2" @@ -6532,7 +6555,7 @@ __metadata: emittery: "npm:^0.13.1" jest-util: "npm:30.5.1" string-length: "npm:^4.0.2" - checksum: 10c0/7cfdb9eb43374ee5285c8018129af96a4347d492374a5c7bf3f9fe679743c00efde5f7d4095fb4353157ba44be1725c864ed62029f82ddcfd02a53c1feded827 + checksum: 10c0/50909a1db41bfe3cc114215e4a7dbfa6ba16df328a49c95dca71cc042fd98824e57e2a1e8c00d8c802f3e15fbeda7d4fd735902da0b6afe960d835a0b1d469be languageName: node linkType: hard @@ -6549,14 +6572,14 @@ __metadata: languageName: node linkType: hard -"jest@npm:^30.5.1": - version: 30.5.1 - resolution: "jest@npm:30.5.1" +"jest@npm:^30.5.2": + version: 30.5.2 + resolution: "jest@npm:30.5.2" dependencies: - "@jest/core": "npm:30.5.1" + "@jest/core": "npm:30.5.2" "@jest/types": "npm:30.5.1" import-local: "npm:^3.2.0" - jest-cli: "npm:30.5.1" + jest-cli: "npm:30.5.2" peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -6564,7 +6587,7 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 10c0/3837af2b884e2f99b255106edcf6d0543f2350124034d4f84b276f90cf1a72b5f5717fb01affcf80b0ccc0b3bf8d2e5c7c297140ca22a5b657765e3d307a0445 + checksum: 10c0/8aaf72602bbb7eedc4430e5a9c11e4e75cf7d56e2f95a08c039c021f0cdbe9d11596c32de193bf7e8ca106e75b1dbe8a14cda38b8dd9b1fd9da21bb24f688c77 languageName: node linkType: hard @@ -7362,9 +7385,9 @@ __metadata: languageName: node linkType: hard -"nx@npm:^23.2.0": - version: 23.2.0 - resolution: "nx@npm:23.2.0" +"nx@npm:^23.2.1": + version: 23.2.1 + resolution: "nx@npm:23.2.1" dependencies: "@clack/core": "npm:1.4.3" "@clack/prompts": "npm:1.7.0" @@ -7373,16 +7396,16 @@ __metadata: "@emnapi/wasi-threads": "npm:1.0.4" "@jest/diff-sequences": "npm:30.0.1" "@napi-rs/wasm-runtime": "npm:0.2.4" - "@nx/nx-darwin-arm64": "npm:23.2.0" - "@nx/nx-darwin-x64": "npm:23.2.0" - "@nx/nx-freebsd-x64": "npm:23.2.0" - "@nx/nx-linux-arm-gnueabihf": "npm:23.2.0" - "@nx/nx-linux-arm64-gnu": "npm:23.2.0" - "@nx/nx-linux-arm64-musl": "npm:23.2.0" - "@nx/nx-linux-x64-gnu": "npm:23.2.0" - "@nx/nx-linux-x64-musl": "npm:23.2.0" - "@nx/nx-win32-arm64-msvc": "npm:23.2.0" - "@nx/nx-win32-x64-msvc": "npm:23.2.0" + "@nx/nx-darwin-arm64": "npm:23.2.1" + "@nx/nx-darwin-x64": "npm:23.2.1" + "@nx/nx-freebsd-x64": "npm:23.2.1" + "@nx/nx-linux-arm-gnueabihf": "npm:23.2.1" + "@nx/nx-linux-arm64-gnu": "npm:23.2.1" + "@nx/nx-linux-arm64-musl": "npm:23.2.1" + "@nx/nx-linux-x64-gnu": "npm:23.2.1" + "@nx/nx-linux-x64-musl": "npm:23.2.1" + "@nx/nx-win32-arm64-msvc": "npm:23.2.1" + "@nx/nx-win32-x64-msvc": "npm:23.2.1" "@tybys/wasm-util": "npm:0.9.0" "@yarnpkg/lockfile": "npm:1.1.0" "@zkochan/js-yaml": "npm:0.0.7" @@ -7532,7 +7555,7 @@ __metadata: bin: nx: ./dist/bin/nx.js nx-cloud: ./dist/bin/nx-cloud.js - checksum: 10c0/a1c6e28db35f5ffeecf203e759b4da66b6b960404c203bf284eae4adfb94a3fc2c1178c8c5c39e8d04aa6899525206f9cdcd54ffd01103bde665816b35ab2a95 + checksum: 10c0/a2fed3c7f967c88e6388679a49ae6a282167c8e761e09e18b28a18da03e8b169d67ec1056f397fec030dc5abd521031fda5f95b360eba085e499977b66fa493e languageName: node linkType: hard @@ -7621,9 +7644,9 @@ __metadata: languageName: node linkType: hard -"open@npm:^11.0.2": - version: 11.0.2 - resolution: "open@npm:11.0.2" +"open@npm:^11.0.4": + version: 11.0.4 + resolution: "open@npm:11.0.4" dependencies: default-browser: "npm:^5.5.1" define-lazy-prop: "npm:^3.0.0" @@ -7631,7 +7654,7 @@ __metadata: is-inside-container: "npm:^1.0.0" powershell-utils: "npm:^0.2.1" wsl-utils: "npm:^1.0.0" - checksum: 10c0/f37914b4cf3b0d13cf97eed4cfff6cd17278a92f35b6e12b8a75f57f0ad1d100984a5042ff51cb443108a8592612c4d48627fa8071254b32f1d097138648e052 + checksum: 10c0/5be0a902323ea9266cf7323edf8d714b516f739519485e98b2508e38e1ffe6f98e3426aeb182fc88239bf98777258b27abbfe5cb1938bff8dbccec2fd603aca5 languageName: node linkType: hard @@ -8004,12 +8027,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.9.6": - version: 3.9.6 - resolution: "prettier@npm:3.9.6" +"prettier@npm:^3.9.8": + version: 3.9.8 + resolution: "prettier@npm:3.9.8" bin: prettier: bin/prettier.cjs - checksum: 10c0/9f7ddae234035868f3daab3dc34e6de7e54622185afb017378029f0c09a9c023248ccf6f34def0b17a0538e18c47aa1b3188bab72965d1bf735919baa0747e99 + checksum: 10c0/257e5ef11ba5006d0b0712271705701c065c8003e07763f996ce185d39633902f3fe1f814839eed76f75c97b6d5376d6157bd9f44db18cacb1dbdcb263cc66ae languageName: node linkType: hard @@ -9674,10 +9697,10 @@ __metadata: languageName: node linkType: hard -"xstate@npm:^5.32.6": - version: 5.32.6 - resolution: "xstate@npm:5.32.6" - checksum: 10c0/26927cbb17143ccabe8ae5542025801b847e10d595a1194c145a3fff49f329076f0e45dc85ad6e04a158c031c09f5dda9aea267714b95bd54d12c0c6c99cb36e +"xstate@npm:^5.33.2": + version: 5.33.2 + resolution: "xstate@npm:5.33.2" + checksum: 10c0/361b8d205dd182c2c673c16b343dd7fb658d8e56b4525aa165aede1c8f6285492d8d76c2684ecb84387f8dcbade79e3c56a6702c61ff884e0471a538a40bbe6d languageName: node linkType: hard @@ -9709,7 +9732,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:2.9.0, yaml@npm:^2.9.0": +"yaml@npm:2.9.0": version: 2.9.0 resolution: "yaml@npm:2.9.0" bin: @@ -9718,6 +9741,15 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^2.9.1": + version: 2.9.1 + resolution: "yaml@npm:2.9.1" + bin: + yaml: bin.mjs + checksum: 10c0/9d06676ef02b89559a8b10a71882bd2cdae81e8393dc8dbc871615c3259475d9609ad973d19cb3c9e71e72d6206e3d1e7aa241c7e55f3d16fd2e77db305827d6 + languageName: node + linkType: hard + "yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -9780,10 +9812,10 @@ __metadata: languageName: node linkType: hard -"zod@npm:^4.5.4": - version: 4.5.4 - resolution: "zod@npm:4.5.4" - checksum: 10c0/511a2a4d1a6f875dfdd70a1586989a8b14ef126776cd6218a2c760b9f65f14ef389ec20d92ee1aa4fcb4566d4ff3fa012956044f9dc503510d82e4c756a8ba92 +"zod@npm:^4.6.5": + version: 4.6.5 + resolution: "zod@npm:4.6.5" + checksum: 10c0/32eb6c5e98becbe045675b2141c3611451c16ba567f9779231d79af41c4d651ca1c22f154aef7e6c6e77b929f23e43f1154ca05b82e119e922353725d6776af5 languageName: node linkType: hard