This is an automated email from the ASF dual-hosted git repository. spmallette pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit ac854d7268e7466376970b84cd67863e26a87712 Merge: 3770aef258 3d94ba7dbf Author: Stephen Mallette <[email protected]> AuthorDate: Mon Oct 20 09:11:16 2025 -0400 Merge branch '3.8-dev' .github/workflows/build-test.yml | 4 +- CHANGELOG.asciidoc | 1 + .../dev/developer/development-environment.asciidoc | 24 +- docs/src/reference/gremlin-applications.asciidoc | 123 +- docs/src/upgrade/release-3.8.x.asciidoc | 10 + gremlin-javascript/pom.xml | 10 +- .../javascript/gremlin-javascript/package.json | 6 +- {gremlint => gremlin-mcp}/pom.xml | 138 +- gremlin-mcp/src/main/javascript/.env.example | 51 + gremlin-mcp/src/main/javascript/.gitignore | 64 + gremlin-mcp/src/main/javascript/.npmignore | 78 + gremlin-mcp/src/main/javascript/.prettierignore | 31 + gremlin-mcp/src/main/javascript/.prettierrc | 13 + gremlin-mcp/src/main/javascript/LICENSE | 201 + gremlin-mcp/src/main/javascript/NOTICE | 5 + gremlin-mcp/src/main/javascript/README.md | 509 ++ gremlin-mcp/src/main/javascript/eslint.config.js | 46 + gremlin-mcp/src/main/javascript/jest.config.js | 41 + gremlin-mcp/src/main/javascript/package-lock.json | 9113 ++++++++++++++++++++ gremlin-mcp/src/main/javascript/package.json | 96 + gremlin-mcp/src/main/javascript/src/config.ts | 288 + gremlin-mcp/src/main/javascript/src/constants.ts | 65 + gremlin-mcp/src/main/javascript/src/errors.ts | 154 + .../src/main/javascript/src/gremlin/client.ts | 41 + .../src/main/javascript/src/gremlin/connection.ts | 147 + .../main/javascript/src/gremlin/edge-patterns.ts | 190 + .../javascript/src/gremlin/models/graph-schema.ts | 159 + .../main/javascript/src/gremlin/models/index.ts | 27 + .../javascript/src/gremlin/models/query-result.ts | 143 + .../javascript/src/gremlin/property-analyzer.ts | 211 + .../src/main/javascript/src/gremlin/query-utils.ts | 223 + .../main/javascript/src/gremlin/schema-assembly.ts | 284 + .../main/javascript/src/gremlin/schema-cache.ts | 138 + .../javascript/src/gremlin/schema-generator.ts | 198 + .../src/main/javascript/src/gremlin/schema.ts | 71 + .../src/main/javascript/src/gremlin/service.ts | 189 + .../src/main/javascript/src/gremlin/types.ts | 71 + .../src/main/javascript/src/handlers/resources.ts | 105 + .../main/javascript/src/handlers/tool-patterns.ts | 109 + .../src/main/javascript/src/handlers/tools.ts | 147 + gremlin-mcp/src/main/javascript/src/server.ts | 371 + .../main/javascript/src/utils/result-metadata.ts | 92 + .../src/main/javascript/src/utils/result-parser.ts | 225 + .../src/main/javascript/src/utils/type-guards.ts | 63 + .../src/main/javascript/tests/config.test.ts | 281 + .../main/javascript/tests/edge-patterns.test.ts | 255 + .../tests/integration/mcp-integration.test.ts | 278 + .../src/main/javascript/tests/models.test.ts | 193 + .../javascript/tests/property-analyzer.test.ts | 149 + .../src/main/javascript/tests/query-utils.test.ts | 121 + .../main/javascript/tests/schema-assembly.test.ts | 383 + gremlin-mcp/src/main/javascript/tests/setup.ts | 36 + gremlin-mcp/src/main/javascript/tsconfig.json | 37 + gremlint/pom.xml | 10 +- pom.xml | 8 +- 55 files changed, 15918 insertions(+), 108 deletions(-) diff --cc .github/workflows/build-test.yml index 97ac025c10,a28b931cb2..1136e9c2b7 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@@ -4,8 -4,8 +4,8 @@@ env # modules commonly excluded from builds as they have their own independent non-JVM setups and can be run in parallel. # take care when modifying this list because GLVs use shell commands to remove themselves from this list and # modifications could break patterns of replacement they are searching for. - EXCLUDE_MODULES: '-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-javascript,-:gremlint,-:gremlin-python' + EXCLUDE_MODULES: '-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-javascript,-:gremlint,-:gremlin-mcp,-:gremlin-python' - EXCLUDE_FOR_GLV: '-:gremlin-annotations,-:gremlin-archetype,-:gremlin-console,-:hadoop-gremlin,-:neo4j-gremlin,-:spark-gremlin,-:sparql-gremlin' + EXCLUDE_FOR_GLV: '-:gremlin-annotations,-:gremlin-console,-:hadoop-gremlin,-:neo4j-gremlin,-:spark-gremlin,-:sparql-gremlin' jobs: smoke: name: smoke @@@ -198,46 -198,46 +198,46 @@@ run: | mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci mvn verify -pl gremlin-driver -DskipIntegrationTests=false - javascript: - name: javascript - timeout-minutes: 15 - needs: cache-gremlin-server-docker-image - runs-on: ${{ matrix.os }} - strategy: - matrix: - # Windows Disabled until Linux containers are supported on Windows runners: https://github.com/actions/virtual-environments/issues/252 - # os: [ubuntu-latest, windows-latest] - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v5 - - name: Set up JDK 11 - uses: actions/setup-java@v5 - with: - java-version: '11' - distribution: 'temurin' - - name: Get Cached Server Base Image - if: matrix.os == 'ubuntu-latest' - uses: actions/cache@v4 - id: gremlin-server-test-docker-image - with: - path: | - ./gremlin-server/* - ~/.m2/repository/org/apache/tinkerpop/* - key: ${{ github.sha }} -# - name: Download Server Base Image -# if: matrix.os == 'windows-latest' -# uses: actions/download-artifact@v3 +# javascript: +# name: javascript +# timeout-minutes: 15 +# needs: cache-gremlin-server-docker-image +# runs-on: ${{ matrix.os }} +# strategy: +# matrix: +# # Windows Disabled until Linux containers are supported on Windows runners: https://github.com/actions/virtual-environments/issues/252 +# # os: [ubuntu-latest, windows-latest] +# os: [ubuntu-latest] +# steps: +# - uses: actions/checkout@v5 +# - name: Set up JDK 11 +# uses: actions/setup-java@v5 # with: -# name: ${{ github.sha }} -# path: ./gremlin-server - - name: Load Docker Image - working-directory: ./gremlin-server - run: docker load --input gremlin-server.tar - - name: Build with Maven - run: | - EXCLUDE="-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-python,$EXCLUDE_FOR_GLV" - mvn clean install -pl $EXCLUDE -q -DskipTests -Dci - mvn verify -pl :gremlin-javascript,:gremlint,:gremlin-mcp +# java-version: '11' +# distribution: 'temurin' +# - name: Get Cached Server Base Image +# if: matrix.os == 'ubuntu-latest' +# uses: actions/cache@v4 +# id: gremlin-server-test-docker-image +# with: +# path: | +# ./gremlin-server/* +# ~/.m2/repository/org/apache/tinkerpop/* +# key: ${{ github.sha }} +## - name: Download Server Base Image +## if: matrix.os == 'windows-latest' +## uses: actions/download-artifact@v3 +## with: +## name: ${{ github.sha }} +## path: ./gremlin-server +# - name: Load Docker Image +# working-directory: ./gremlin-server +# run: docker load --input gremlin-server.tar +# - name: Build with Maven +# run: | +# EXCLUDE="-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-python,$EXCLUDE_FOR_GLV" +# mvn clean install -pl $EXCLUDE -q -DskipTests -Dci - # mvn verify -pl :gremlin-javascript,:gremlint ++# mvn verify -pl :gremlin-javascript,:gremlint,:gremlin-mcp python: name: python timeout-minutes: 20 diff --cc gremlin-javascript/src/main/javascript/gremlin-javascript/package.json index b28ac17a16,b06f98bddc..7abc1072bf --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json @@@ -1,8 -1,10 +1,10 @@@ { "name": "gremlin", - "version": "3.8.0-alpha1", + "version": "4.0.0-alpha1", "description": "JavaScript Gremlin Language Variant", - "author": "Apache TinkerPop team", + "author": { + "name": "Apache TinkerPop team" + }, "keywords": [ "graph", "gremlin", diff --cc pom.xml index 98dc6f8b27,615b2c8a76..feca7d21d2 --- a/pom.xml +++ b/pom.xml @@@ -140,9 -141,10 +141,9 @@@ limitations under the License <module>gremlin-driver</module> <module>gremlin-console</module> <module>gremlin-server</module> - <module>gremlin-archetype</module> <module>gremlin-tools</module> <module>gremlint</module> - <module>gremlin-util</module> + <module>gremlin-mcp</module> </modules> <scm> <connection>scm:git:[email protected]:apache/tinkerpop.git</connection>
