This is an automated email from the ASF dual-hosted git repository. spmallette pushed a commit to branch gremlin-mcp in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit b070899365e089099dcb5b76ec71557e3b134249 Author: Stephen Mallette <[email protected]> AuthorDate: Wed Oct 1 10:00:02 2025 -0400 Hooked up build via maven and ran eslint in process --- gremlin-javascript/pom.xml | 10 +-- gremlin-tools/gremlin-mcp/pom.xml | 99 +++++++++++++++++++--- .../gremlin-mcp/src/main/javascript/.gitignore | 23 +---- .../gremlin-mcp/src/main/javascript/README.md | 8 +- .../src/main/javascript/eslint.config.js | 1 - .../gremlin-mcp/src/main/javascript/jest.config.js | 1 - .../src/main/javascript/src/gremlin/client.ts | 1 - .../src/main/javascript/src/gremlin/connection.ts | 1 - .../main/javascript/src/gremlin/edge-patterns.ts | 5 +- .../javascript/src/gremlin/models/graph-schema.ts | 1 - .../javascript/src/gremlin/models/import-export.ts | 1 - .../main/javascript/src/gremlin/models/index.ts | 1 - .../javascript/src/gremlin/models/query-result.ts | 1 - .../javascript/src/gremlin/property-analyzer.ts | 1 - .../src/main/javascript/src/gremlin/query-utils.ts | 1 - .../main/javascript/src/gremlin/schema-assembly.ts | 5 +- .../main/javascript/src/gremlin/schema-cache.ts | 1 - .../javascript/src/gremlin/schema-generator.ts | 8 +- .../src/main/javascript/src/gremlin/schema.ts | 1 - .../src/main/javascript/src/gremlin/service.ts | 1 - .../src/main/javascript/src/gremlin/types.ts | 1 - .../main/javascript/src/handlers/tool-patterns.ts | 1 - .../main/javascript/src/utils/data-operations.ts | 1 - .../main/javascript/src/utils/result-metadata.ts | 1 - .../src/main/javascript/src/utils/result-parser.ts | 1 - .../src/main/javascript/src/utils/type-guards.ts | 1 - .../src/main/javascript/tests/config.test.ts | 1 - .../main/javascript/tests/edge-patterns.test.ts | 5 +- .../tests/integration/mcp-integration.test.ts | 1 - .../src/main/javascript/tests/models.test.ts | 1 - .../javascript/tests/property-analyzer.test.ts | 1 - .../src/main/javascript/tests/query-utils.test.ts | 1 - .../main/javascript/tests/schema-assembly.test.ts | 17 +--- .../gremlin-mcp/src/main/javascript/tests/setup.ts | 1 - .../gremlin-mcp/src/main/javascript/tsconfig.json | 6 +- pom.xml | 5 ++ 36 files changed, 111 insertions(+), 105 deletions(-) diff --git a/gremlin-javascript/pom.xml b/gremlin-javascript/pom.xml index 868b1d92a6..fcafca0e8a 100644 --- a/gremlin-javascript/pom.xml +++ b/gremlin-javascript/pom.xml @@ -28,8 +28,6 @@ limitations under the License. <properties> <maven.test.skip>false</maven.test.skip> <skipTests>${maven.test.skip}</skipTests> - <npm.version>10.8.2</npm.version> - <node.version>v20.19.4</node.version> </properties> <build> <directory>${basedir}/target</directory> @@ -184,8 +182,8 @@ limitations under the License. </executions> <configuration> <workingDirectory>src/main/javascript/gremlin-javascript</workingDirectory> - <nodeVersion>${node.version}</nodeVersion> - <npmVersion>${npm.version}</npmVersion> + <nodeVersion>${runtime.node.version}</nodeVersion> + <npmVersion>${runtime.npm.version}</npmVersion> </configuration> </plugin> <!-- @@ -353,8 +351,8 @@ limitations under the License. --> <skip>false</skip> <workingDirectory>src/main/javascript/gremlin-javascript</workingDirectory> - <nodeVersion>${node.version}</nodeVersion> - <npmVersion>${npm.version}</npmVersion> + <nodeVersion>${runtime.node.version}</nodeVersion> + <npmVersion>${runtime.npm.version}</npmVersion> </configuration> </plugin> </plugins> diff --git a/gremlin-tools/gremlin-mcp/pom.xml b/gremlin-tools/gremlin-mcp/pom.xml index d38a0e6441..ebe28eec33 100644 --- a/gremlin-tools/gremlin-mcp/pom.xml +++ b/gremlin-tools/gremlin-mcp/pom.xml @@ -31,14 +31,31 @@ limitations under the License. <properties> <maven.test.skip>false</maven.test.skip> <skipTests>${maven.test.skip}</skipTests> - <npm.version>10.8.2</npm.version> - <node.version>v20.19.4</node.version> </properties> <build> <directory>${basedir}/target</directory> <finalName>${project.artifactId}-${project.version}</finalName> <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clean-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>clean</goal> + </goals> + </execution> + </executions> + <configuration> + <filesets> + <fileset> + <directory>src/main/javascript/dist</directory> + <directory>src/main/javascript/node_modules</directory> + </fileset> + </filesets> + </configuration> + </plugin> <plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> @@ -53,23 +70,22 @@ limitations under the License. </execution> <execution> <id>npm install</id> - <phase>validate</phase> + <phase>generate-resources</phase> <goals> <goal>npm</goal> </goals> <configuration> - <arguments>ci</arguments> + <arguments>install</arguments> </configuration> </execution> <execution> - <id>npm lint</id> - <phase>validate</phase> + <id>npm validate</id> + <phase>generate-resources</phase> <goals> <goal>npm</goal> </goals> <configuration> - <skip>${skipTests}</skip> - <arguments>run lint</arguments> + <arguments>run validate</arguments> </configuration> </execution> <execution> @@ -84,9 +100,9 @@ limitations under the License. </execution> </executions> <configuration> - <workingDirectory>${project.basedir}</workingDirectory> - <nodeVersion>${node.version}</nodeVersion> - <npmVersion>${npm.version}</npmVersion> + <workingDirectory>src/main/javascript</workingDirectory> + <nodeVersion>${runtime.node.version}</nodeVersion> + <npmVersion>${runtime.npm.version}</npmVersion> </configuration> </plugin> @@ -119,6 +135,67 @@ limitations under the License. <skip>true</skip> </configuration> </plugin> + <plugin> + <groupId>com.google.code.maven-replacer-plugin</groupId> + <artifactId>replacer</artifactId> + <configuration> + <file>src/main/javascript/src/constants.ts</file> + <replacements> + <replacement> + <token>GREMLIN_VERSION = '.*'</token> + <value>GREMLIN_VERSION = '${project.version}'</value> + </replacement> + </replacements> + </configuration> + </plugin> </plugins> </build> + <profiles> + <!-- + Provides a way to deploy the gremlin-mcp to npm. This cannot be part of the standard maven execution + because npm does not have a staging environment like sonatype for releases. As soon as the release is + published it is public. In our release workflow, deploy occurs prior to vote on the release and we can't + make this stuff public until the vote is over. + --> + <profile> + <id>gremlin-mcp-deploy</id> + <activation> + <activeByDefault>false</activeByDefault> + <property> + <name>npm</name> + </property> + </activation> + <build> + <plugins> + <plugin> + <groupId>com.github.eirslett</groupId> + <artifactId>frontend-maven-plugin</artifactId> + <executions> + <execution> + <id>npm publish</id> + <phase>deploy</phase> + <goals> + <goal>npm</goal> + </goals> + <configuration> + <arguments>publish</arguments> + </configuration> + </execution> + </executions> + <configuration> + <!-- + skip needs to be overridden given how the <configuration> is specified in the main build. + it should be fine to just always deploy because this <profile> needs to be manually + activated and that should be good enough given our deployment process. + --> + <skip>false</skip> + <workingDirectory>src/main/javascript</workingDirectory> + <nodeVersion>${runtime.node.version}</nodeVersion> + <npmVersion>${runtime.npm.version}</npmVersion> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> </project> diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/.gitignore b/gremlin-tools/gremlin-mcp/src/main/javascript/.gitignore index 75fbc34146..fa05560123 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/.gitignore +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/.gitignore @@ -1,24 +1,7 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - # Dependencies -../../../node_modules/ +node_modules/ +node/ + npm-debug.log* yarn-debug.log* yarn-error.log* diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/README.md b/gremlin-tools/gremlin-mcp/src/main/javascript/README.md index e98566bc53..9877335c51 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/README.md +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/README.md @@ -23,9 +23,9 @@ > **Connect AI agents like Claude, Cursor, and Windsurf to your graph > databases!** -An [MCP](https://modelcontextprotocol.io/) (Model Context Protocol) server that enables AI assistants to interact with +An [MCP](https://modelcontextprotocol.io/) (Model Context Protocol) server that enables AI assistants to interact with any Apache TinkerPop-compatible graph database hosted in [Gremlin Server](https://tinkerpop.apache.org/docs/current/reference/#gremlin-server) -through natural language. Query your data, discover schemas, analyze relationships, and manage graph data using simple +through natural language. Query your data, discover schemas, analyze relationships, and manage graph data using simple conversations. ## ✨ What You Can Do @@ -45,10 +45,10 @@ Talk to your graph database naturally: Your AI assistant gets access to these powerful tools: | Tool | Purpose | What It Does | -|-----------------------------| ---------------- |--------------------------------------------------------------| +| --------------------------- | ---------------- | ------------------------------------------------------------ | | 🔍 **get_graph_status** | Health Check | Verify database connectivity and server status | | 📋 **get_graph_schema** | Schema Discovery | Get complete graph structure with vertices and edges | -| ⚡ **run_gremlin_query** | Query Execution | Execute any Gremlin traversal query with full syntax support | +| ⚡ **run_gremlin_query** | Query Execution | Execute any Gremlin traversal query with full syntax support | | 🔄 **refresh_schema_cache** | Cache Management | Force immediate refresh of cached schema information | | 📥 **import_graph_data** | Data Import | Load data from GraphSON, CSV, or JSON with batch processing | | 📤 **export_subgraph** | Data Export | Extract subgraphs to JSON, GraphSON, or CSV formats | diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/eslint.config.js b/gremlin-tools/gremlin-mcp/src/main/javascript/eslint.config.js index 157f4888e8..d92a524869 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/eslint.config.js +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/eslint.config.js @@ -17,7 +17,6 @@ * under the License. */ - // @ts-check import eslint from '@eslint/js'; diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/jest.config.js b/gremlin-tools/gremlin-mcp/src/main/javascript/jest.config.js index 804d84d507..09f99bab37 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/jest.config.js +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/jest.config.js @@ -17,7 +17,6 @@ * under the License. */ - /** @type {import('jest').Config} */ export default { preset: 'ts-jest/presets/default-esm', diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/client.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/client.ts index d132788d6c..83563d38c9 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/client.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/client.ts @@ -17,7 +17,6 @@ * under the License. */ - import { Context } from 'effect'; import type { ConnectionState } from './types.js'; diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/connection.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/connection.ts index d35db2863b..8a005cfc90 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/connection.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/connection.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Provides a live implementation of the GremlinClient service. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/edge-patterns.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/edge-patterns.ts index f70c4fa39e..920f2599b6 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/edge-patterns.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/edge-patterns.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Relationship pattern analysis for graph schemas. * @@ -93,9 +92,7 @@ export const generateEdgePatterns = ( * @param rawPatterns - Raw pattern data from Gremlin query * @returns Effect with processed relationship patterns */ -const processRawPatterns = ( - rawPatterns: unknown[] -): Effect.Effect<EdgePattern[], never> => { +const processRawPatterns = (rawPatterns: unknown[]): Effect.Effect<EdgePattern[], never> => { // Extract pattern data handling both Map and object formats const extractedPatterns = rawPatterns.map(extractPatternData); diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/graph-schema.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/graph-schema.ts index b346337381..764f1f208a 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/graph-schema.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/graph-schema.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Graph schema models for Gremlin database structure definition. */ diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/import-export.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/import-export.ts index c430e427ff..81398af4e4 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/import-export.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/import-export.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Data import/export operation models. */ diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/index.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/index.ts index 8d05ab4cc0..c98a24b472 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/index.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/index.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Gremlin MCP data models. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/query-result.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/query-result.ts index bba9ced63f..6d91e57fcc 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/query-result.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/models/query-result.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Query result models for Gremlin database responses. */ diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/property-analyzer.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/property-analyzer.ts index 42f3004deb..6a8bfd0e01 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/property-analyzer.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/property-analyzer.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Property analysis for graph schema generation. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/query-utils.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/query-utils.ts index 0ad1c93f39..dd9400d21b 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/query-utils.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/query-utils.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Shared utilities for Gremlin query execution and batched processing. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-assembly.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-assembly.ts index 05345efd70..3804709be7 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-assembly.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-assembly.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Schema assembly and validation utilities. * @@ -205,9 +204,7 @@ export const validateVertices = (vertices: Vertex[]): Effect.Effect<void, Gremli * @param edges - Array of edges to validate * @returns Effect with validation result */ -export const validateEdges = ( - edges: Edge[] -): Effect.Effect<void, GremlinQueryError> => +export const validateEdges = (edges: Edge[]): Effect.Effect<void, GremlinQueryError> => Effect.gen(function* () { const issues: string[] = []; diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-cache.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-cache.ts index f235655fd3..d5125690dc 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-cache.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-cache.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Schema caching with Effect.ts patterns and intelligent TTL management. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-generator.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-generator.ts index 890cf18592..8a5cd99d2b 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-generator.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema-generator.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Streamlined graph schema generation orchestrator. * @@ -99,12 +98,7 @@ const executeSchemaGeneration = ( // Step 4: Add count information const vertices = addElementCounts<Vertex>(rawVertices, vertexCounts, config, 'labels'); - const edges = addElementCounts<Edge>( - rawEdges, - edgeCounts, - config, - 'type' - ); + const edges = addElementCounts<Edge>(rawEdges, edgeCounts, config, 'type'); // Step 5: Assemble final schema return yield* assembleGraphSchema(vertices, edges, patterns, config, startTime); diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema.ts index 26aed7e396..5ac1528a75 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/schema.ts @@ -17,7 +17,6 @@ * under the License. */ - import { Effect, Context, Layer } from 'effect'; import { generateGraphSchema, DEFAULT_SCHEMA_CONFIG } from './schema-generator.js'; import { diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/service.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/service.ts index 2aa8a4f7d7..19e4cabc18 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/service.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/service.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Effect-based Gremlin service for graph database operations. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/types.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/types.ts index bdd4a8a3d0..b83450e495 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/types.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/gremlin/types.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * Shared types and interfaces for Gremlin service modules */ diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/handlers/tool-patterns.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/handlers/tool-patterns.ts index 3ad2c7fc07..5b99b3e3cd 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/handlers/tool-patterns.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/handlers/tool-patterns.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Reusable patterns for MCP tool handler implementation. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/data-operations.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/data-operations.ts index f7545993fe..ee11b7259b 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/data-operations.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/data-operations.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Graph data import/export operations with Effect-based composition. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/result-metadata.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/result-metadata.ts index 20d999fa4a..892ec9cb51 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/result-metadata.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/result-metadata.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * Utilities for calculating metadata from Gremlin query results. */ diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/result-parser.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/result-parser.ts index fd9d6258ba..83bc3b083c 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/result-parser.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/result-parser.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Gremlin result parsing with type-safe transformations. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/type-guards.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/type-guards.ts index 195962b6bb..37bc0f2792 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/type-guards.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/src/utils/type-guards.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * Type guard functions for runtime type checking. */ diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/config.test.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/config.test.ts index 935f862173..9249214dc6 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/config.test.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/config.test.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * Tests for Effect-based configuration management and validation. */ diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/edge-patterns.test.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/edge-patterns.test.ts index 52035ab3bc..fb980ce255 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/edge-patterns.test.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/edge-patterns.test.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Tests for the edge patterns module. * @@ -85,9 +84,7 @@ describe('edge-patterns', () => { mockExecuteGremlinQuery.mockReturnValue(Effect.succeed(mockRawPatterns)); - const result = await Effect.runPromise( - generateEdgePatterns(mockTraversalSource, 500) - ); + const result = await Effect.runPromise(generateEdgePatterns(mockTraversalSource, 500)); expect(result).toHaveLength(1); expect(mockExecuteGremlinQuery).toHaveBeenCalledWith( diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/integration/mcp-integration.test.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/integration/mcp-integration.test.ts index 0c87ac87f8..6878eafd04 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/integration/mcp-integration.test.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/integration/mcp-integration.test.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * Integration tests for Gremlin MCP Server with external Gremlin server. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/models.test.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/models.test.ts index e133971fb5..9cac39c91a 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/models.test.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/models.test.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * Tests for Zod schemas and model validation. */ diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/property-analyzer.test.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/property-analyzer.test.ts index ff6973788b..24abbf5a32 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/property-analyzer.test.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/property-analyzer.test.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Tests for the property analyzer module. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/query-utils.test.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/query-utils.test.ts index c0a9b11f04..a5c11843df 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/query-utils.test.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/query-utils.test.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Tests for the query utilities module. * diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/schema-assembly.test.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/schema-assembly.test.ts index b4dec00159..f3d553851d 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/schema-assembly.test.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/schema-assembly.test.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * @fileoverview Tests for the schema assembly module. * @@ -155,13 +154,7 @@ describe('schema-assembly', () => { ]; const result = await Effect.runPromiseExit( - assembleGraphSchema( - invalidVertices, - sampleEdges, - samplePatterns, - mockConfig, - Date.now() - ) + assembleGraphSchema(invalidVertices, sampleEdges, samplePatterns, mockConfig, Date.now()) ); // The assembly might succeed even with invalid data since validation @@ -408,13 +401,7 @@ describe('schema-assembly', () => { }; const result = await Effect.runPromise( - assembleGraphSchema( - sampleVertices, - sampleEdges, - samplePatterns, - minimalConfig, - Date.now() - ) + assembleGraphSchema(sampleVertices, sampleEdges, samplePatterns, minimalConfig, Date.now()) ); const settings = result.metadata!.optimization_settings; diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/setup.ts b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/setup.ts index 2b61c7cb5e..8e6e941804 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/tests/setup.ts +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/tests/setup.ts @@ -17,7 +17,6 @@ * under the License. */ - /** * Jest setup file for Gremlin MCP Server tests. */ diff --git a/gremlin-tools/gremlin-mcp/src/main/javascript/tsconfig.json b/gremlin-tools/gremlin-mcp/src/main/javascript/tsconfig.json index 5463b7d5a3..61dc9119d7 100644 --- a/gremlin-tools/gremlin-mcp/src/main/javascript/tsconfig.json +++ b/gremlin-tools/gremlin-mcp/src/main/javascript/tsconfig.json @@ -30,11 +30,7 @@ "verbatimModuleSyntax": true }, "include": ["src/**/*"], - "exclude": [ - "node_modules", - "dist", - "tests" - ], + "exclude": ["node_modules", "dist", "tests"], "ts-node": { "esm": true } diff --git a/pom.xml b/pom.xml index 6fd3d9573d..f08affc833 100644 --- a/pom.xml +++ b/pom.xml @@ -222,6 +222,9 @@ limitations under the License. --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED </jdk17JvmArgs> + + <runtime.npm.version>10.8.2</runtime.npm.version> + <runtime.node.version>v20.19.4</runtime.node.version> </properties> <build> <directory>${basedir}/target</directory> @@ -526,12 +529,14 @@ limitations under the License. <exclude>**/node/**</exclude> <exclude>**/node_modules/**</exclude> <exclude>**/npm-debug.log</exclude> + <exclude>**/dist/**</exclude> <exclude>**/build/**</exclude> <!-- javascript docs/lib --> <exclude>**/doc/**</exclude> <exclude>**/lib/**</exclude> <exclude>**/.env</exclude> <exclude>**/.prettierrc</exclude> + <exclude>**/.prettierignore</exclude> <exclude>**/_site/**</exclude> <exclude>**/.pytest_cache/**</exclude> <exclude>**/venv/**</exclude>
