You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2025/10/01 14:00:38 UTC
(tinkerpop) 04/04: Hooked up build via maven and ran eslint in process
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 a609e9a653d8d43fb8600f1a8811fb932213031d
Author: Stephen Mallette <st...@amazon.com>
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>