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>

Reply via email to