{"_id":"grafeo-ogm","_rev":"42-4308a74c63f8a354b0fd9d864d73d20f","name":"grafeo-ogm","dist-tags":{"beta":"1.7.0-beta.4","latest":"2.3.0"},"versions":{"1.0.0":{"name":"grafeo-ogm","version":"1.0.0","keywords":["neo4j","ogm","cypher","graphql","graph-database","typescript","object-graph-mapper"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.0.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/aleguzman/grafeo-ogm#readme","bugs":{"url":"https://github.com/aleguzman/grafeo-ogm/issues"},"dist":{"shasum":"4965f4f04ebb48207e462150e9c65ded4db31340","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.0.0.tgz","fileCount":333,"integrity":"sha512-mTK+gAvEb7TGHAM61cxwP9BrHid38Djoq9JkGo0mDYDbGOFJH6OoaIdyAVjCaw0rColEEHmujKzq94hjaHeyxg==","signatures":[{"sig":"MEQCID1RIksCCUo4TcPPbHS32yAZRrh+IXDL8JalFrHeZueXAiAHK3usk4ReFnEzvWNZYrE7iaXFOkCaZGcar5Osp801kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1371920},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"neomodular","email":"gluis0993@gmail.com"},"repository":{"url":"git+https://github.com/aleguzman/grafeo-ogm.git","type":"git"},"_npmVersion":"10.9.3","description":"Type-safe Object-Graph Mapper for Neo4j with GraphQL SDL schema support","directories":{},"_nodeVersion":"22.18.0","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.0.0_1776030823619_0.31447144313650255","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"grafeo-ogm","version":"1.0.6","keywords":["neo4j","ogm","cypher","graphql","graph-database","typescript","object-graph-mapper"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.0.6","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"2405ed90bb709da444a3bdcee21610ac3bd8fc1c","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.0.6.tgz","fileCount":333,"integrity":"sha512-TrnxZcC9C5L670qBb3N/t6qedsmZ9V0IBMzRG18GuT3hTAcl8nZ9GXjAqryOlWAgg0JT4oPEC66xxMwq0etpsQ==","signatures":[{"sig":"MEYCIQDtewrHujDrkDWTWwFE3Z4bl8NlqNYzfX9juJn7V91vWgIhAIjIagtxto2bWzW7R18VYiETrCRAtp4GiEcixpCxqZUO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1371921},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"70cb92f9c882d30e7a9b0e4b5ada9a93b06db8d0","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Object-Graph Mapper for Neo4j with GraphQL SDL schema support","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.0.6_1776046926224_0.8535222902746886","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"grafeo-ogm","version":"1.0.7","keywords":["neo4j","ogm","cypher","graphql","graph-database","typescript","object-graph-mapper"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.0.7","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"1701c7eb614f7730317e79c5a76d92523f7e78ea","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.0.7.tgz","fileCount":333,"integrity":"sha512-/EuWjkPQFnVJ8XmTK/xE41moZQ7NHBioQhPRfBymnU1bgUHKVmMvxIcwL7p29yLEiR7vnC4B6QnPxm51nyrckQ==","signatures":[{"sig":"MEQCIAjuKDicuycmphZ8c9uSsK/wx5g8KxliRuAC95os6TcnAiBlKxr4eWJHw8F0BsNit9Jowfb+DDlSaxNM4Kez2sPnzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1395348},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"c1dc865aaa3254872ec3814dedabe157257d5790","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Object-Graph Mapper for Neo4j with GraphQL SDL schema support","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.0.7_1776097714695_0.528908020670799","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"grafeo-ogm","version":"1.0.8","keywords":["neo4j","ogm","cypher","graphql","graph-database","typescript","object-graph-mapper"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.0.8","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"8e2040820931e51ca714f6f1d35bdafebc213c1c","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.0.8.tgz","fileCount":333,"integrity":"sha512-Pp+lldZHnmrmMyKDJ8DjrotOlCfutnHXGHpqqyrVkviVAqQPczdgBd0BhRXf96EtfIT1kbo6tfT6U2lTE7kONg==","signatures":[{"sig":"MEUCIFVqYOR9hX8oM9yl3+ocBPvkCNnXhMwyxOP4C0w3FKVLAiEA5aEFZoxsYnDGOtkZQ3tEMmZKb2YDKhCTxbXWhy8oTiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1397450},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"5ec96abcf5b4ff5e60cbda31079785b331f7ff3c","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Object-Graph Mapper for Neo4j with GraphQL SDL schema support","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.0.8_1776099639761_0.4357574826468895","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"grafeo-ogm","version":"1.1.0","keywords":["neo4j","ogm","cypher","graphql","graph-database","typescript","object-graph-mapper"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.1.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"aec382f2c114db86ce3acfc6091cb471921f2792","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.1.0.tgz","fileCount":333,"integrity":"sha512-ViLPQ5mPqdLx9UKpWMzYy023Vz0/PgiwJYZkDuTN7/dCQdBfKOgrC/s2trbN28Dy/3NLIYdlajPg+Yw4ii3Epw==","signatures":[{"sig":"MEYCIQCPIvzIwNJzuiivgCgQDE8V/RGgOUZOudJwqpXAnMteSQIhAOldeU5ZACWz44DKxggjRxAF0QXP/5K8FndPyfa4rDre","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1425190},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"7e5c58f76919715284707dbedfe4799ff00e60c6","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Object-Graph Mapper for Neo4j with GraphQL SDL schema support","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.1.0_1776212114472_0.9638247589609144","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"grafeo-ogm","version":"1.2.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.2.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"0bf9ab2eec74402ca65ad307323135c549cbebbd","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.2.0.tgz","fileCount":335,"integrity":"sha512-/b+DzhFe5XB/ZNTFwXpNHs83Xy1cR6nBP0tbzDqGtvp9+T8dkLJorNhTJ042DEW/YHjGTWSH6LJDOvBY/BYvvw==","signatures":[{"sig":"MEUCIC8r0XRufXGQQkejMSfOuORuuSBlGTpd0qvsTFhsU+swAiEA6ftcLEjiN81mkxyoFhEE1B9u0bjha37St8xNpW+M9F8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1470464},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"c4f650eac36c0d371d7ef840accc6e06156250b5","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.2.0_1776370733215_0.904171624403727","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"grafeo-ogm","version":"1.3.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.3.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"63595531592bb3f694c30ea872d9c160db671019","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.3.0.tgz","fileCount":351,"integrity":"sha512-q1Kmh0oue7UbHVGA7FKWC2Jyo57KOQ3nDO2y15woM/VQVhMeA+2MUkngEodQGc3ZH/u0lN3zOSGsUNKDx06PMQ==","signatures":[{"sig":"MEUCIQCXAxQItNhoS9II5RU4Owo9YON52W4+LIf9fPdV8mHnrgIgP5StRSLw18I6obM4LPI5o9uJ6lze3mlUp9ktbtnrHNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1581462},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"ff5f7cfe773719356fd094ae9dc06a6a739dcff2","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.3.0_1776448715441_0.39649724958012134","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"grafeo-ogm","version":"1.3.1","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.3.1","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"edb838632cb3ef35a83955756329d937c95f5166","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.3.1.tgz","fileCount":351,"integrity":"sha512-L1bH9sM+bi7f1PbsXae7C/Da9XoR7qRMF7zTqvxmOje+R1VCX0y3LFVbV7KeXnTVU8N7O+167+GDNNSmrfIPzQ==","signatures":[{"sig":"MEYCIQCNiBlws1doB3pSZt7g3af7skypesqBShutkuq2fc5wagIhAKnICZ/OkRT/zvdL4ko1JPsun5MBNTc6e4UPruP4bfly","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1583164},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"2088a2620ca2b1dc8bd7d9fa5f1eff941e1a0dd3","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.3.1_1776794082459_0.08842446540793403","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"grafeo-ogm","version":"1.4.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.4.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"56cd23178c91b72fdc8b6474148765da054cbfe9","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.4.0.tgz","fileCount":351,"integrity":"sha512-gJvxB21onEZcLKMtYchFd4Ckxmo467g0F8kpUdkybrFZWV6xl0oGHRQXf4TmCY5suK7LgO6Y9j755cVQoTQlAQ==","signatures":[{"sig":"MEUCIHqXJCEpQ/wzrHcHrOqqrE9RTCIltURCx1Qxs7w3g+uqAiEA21Hz5tn1G8ZyKanmUDbSiretUliriARrWK7MuFhethY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1591974},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"c955f9aff1d0dc398f3da7d0d7f86507c93a2942","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.4.0_1777570982175_0.5401623388226249","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"grafeo-ogm","version":"1.5.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.5.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"80fe60e3987931e0949d52f861a06edcc4a35a09","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.5.0.tgz","fileCount":359,"integrity":"sha512-wqoNiV3rzSgO2yAcPcaDBykoZIwPKOVNMwffQ0JIVJsdoZ+4MXzC1CAXkJUMb2EHTp04//1rVlXly8IAAvenRw==","signatures":[{"sig":"MEYCIQCmafgSAno8XcS+92NVkKt1QvtGzAhw7UAfB0WnrLcWYQIhAI875ualFXl/Zqt34vnqLd1xyCLGI3PfdmHP8SIf8pWP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1616060},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"56c5e432e68fc2af8a86e05082e33ffaf35bc026","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.5.0_1777579257812_0.7018631433924141","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"grafeo-ogm","version":"1.6.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.6.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"2a5e92404ff9bc7eeb6c90b2923713422389bc13","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.6.0.tgz","fileCount":367,"integrity":"sha512-3toFHgNQzrYYjwnk7NUXPxo7PLv2ZHf+hFWyNLV1O+wIenJgVXC4PsqbEXQzAFO5GjXXjanBD9EtnFQl31TnYw==","signatures":[{"sig":"MEUCIHa/m+XvOW8r02Q1eAbYbEK8LV01VsRhSoLSGFVHB0dfAiEA3wNNuTyLZRqeF9jydKJFnK2gTn5hyRGuLteOFGpKB7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1691775},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"33b23b96751f7d1a2c3fa4c2f731129d0e9b03e2","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.6.0_1777688234433_0.08631359522684923","host":"s3://npm-registry-packages-npm-production"}},"1.7.0-beta.1":{"name":"grafeo-ogm","version":"1.7.0-beta.1","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.7.0-beta.1","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"2fd10d231caaafef5f678a36ad8895e19330a612","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.7.0-beta.1.tgz","fileCount":391,"integrity":"sha512-kHMEpnkK7DLpzyyfZQud0y1CBVHqxcNtVxQtPOG83rWa9qX/Ak+MDOe365oLpylBRYUY//e44IrDvMZqW2VjMg==","signatures":[{"sig":"MEUCIBsIqru5C8PHyJgsfqIk6URxf/nN/WM4VMR5KIfo5KDJAiEA/mKo7IDJm0Pdu2a4GXcpbnJmGAA22RHzUqGjMOCRWlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.7.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1974725},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"95acae0d6047f4d2dee1faa5c4b497d81159eb13","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.7.0-beta.1_1777755737579_0.2222255128044761","host":"s3://npm-registry-packages-npm-production"}},"1.7.0-beta.2":{"name":"grafeo-ogm","version":"1.7.0-beta.2","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.7.0-beta.2","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"cc58525f0bc1baef52604de9056c3efde32df604","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.7.0-beta.2.tgz","fileCount":391,"integrity":"sha512-nifByOPv52qVXDPXPL5DR7EnVu9myi8d7bw1n7UDxWk2at3OZSiSrWl1AwYK6HmzxG/ksXJtB0Vl9SR7qWhZ1g==","signatures":[{"sig":"MEQCIDWZjIA8P6uvcEEMzmJBAC+pt5AaRq93z3BT0Lu3Bs7gAiBEovEDBNigyatqHODaAfRnqn1fq4+Qk/W8t+kOCN6qzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.7.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1970715},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"d490f9fd951cd2ed021728170fd99e59f01c7940","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.7.0-beta.2_1777763690507_0.3181019299739978","host":"s3://npm-registry-packages-npm-production"}},"1.7.0-beta.3":{"name":"grafeo-ogm","version":"1.7.0-beta.3","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.7.0-beta.3","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"d60bfaf6fbdba2b18b3b1f2cc52f82214770eddd","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.7.0-beta.3.tgz","fileCount":391,"integrity":"sha512-5ulWjYFuoIhoMgrUDsNb6YwqREAY4nK8cIF9WP5WLyZ4C02OBRK4jeV9gXJdLNXk75sYl4QK+NNaJpnkjz8B8g==","signatures":[{"sig":"MEYCIQDn3mr2gU1apfUyUnCU+9lOE5m4pFP7qK2HQlPucDWDcQIhAPKD+/T+ILGB2NNejEW7uMvCkf1cmXQt+bxJ6EuegGMH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.7.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1974137},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"bb128880a9d62daaabcbd87b321d41277a2ed59a","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.7.0-beta.3_1777764724919_0.5862394541073219","host":"s3://npm-registry-packages-npm-production"}},"1.7.0-beta.4":{"name":"grafeo-ogm","version":"1.7.0-beta.4","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.7.0-beta.4","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"16ed7e7756d963b3af3f523a4cb9ce5759594c9d","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.7.0-beta.4.tgz","fileCount":391,"integrity":"sha512-R4d3nh6LDgPmGb5zZ09dJxGle4GMFGH3OSTrH4E7zDq7+C9dufyB8ulPrhEgvUQElPMUIbF7eNr4L3cu1/xTsw==","signatures":[{"sig":"MEYCIQC//Kl5p1iO5VqrBkht+Ofu9Cq6lnDH4NH2gSZCs+7JggIhAOTXVXPGZbVNc979kG21O7Fud5rpezGko23U1zD81v0e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.7.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1981988},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"1f7b8fbe972f6ca9ca10d42ed38dfa707c24b3ac","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.7.0-beta.4_1777779021259_0.656583069720367","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"grafeo-ogm","version":"1.7.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.7.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"497c009666fc1329d8fa858b2a1e54ab225ea1f4","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.7.0.tgz","fileCount":391,"integrity":"sha512-suE7t0Bvl7ArjtQXhJkuNUDG5WVU6R7md5ZrJ30LT/NHuByQhbC9xtddlM0lLMPVT4NlRN/vSF5wVz+NXLOUjA==","signatures":[{"sig":"MEUCIQCqtVJpYUKHh0/jd5CdSIk2YgvRUcycn/kmHPVwIszKVAIgNO45mT6zjjuoIb9dsTLzw2F4bg6HwNBqsHdAJShNkl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1979064},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"b5b1616cc1029da1edf4c61358947b62f048dca1","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.7.0_1777910146509_0.34697806851319846","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"grafeo-ogm","version":"1.7.1","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.7.1","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"5e6c386646a6c2581e62272484493c95223b1d14","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.7.1.tgz","fileCount":391,"integrity":"sha512-nUTrHAKHDFn7C7cIoRVVpTCp/lOjG99T2a1qBlSi53BZMHn0qwcRth6XfGB7K3w48yPP7c+KW44ZIHh11vstoA==","signatures":[{"sig":"MEUCIDy7UL1s4iZBWOyjrvlHVvMwv4IalxadqfppsZdSAd8EAiEAs0toGcsQi+JmiR6jhUUD98qR0EQ7B2nBjWIyerkrBIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1993661},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"8dcab916f71489d08016e24149f941160d12f6bd","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.7.1_1777953202354_0.08336771725818348","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"grafeo-ogm","version":"1.7.2","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.7.2","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"8431834bc419f951a8c1151e3ea1c02595916c0a","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.7.2.tgz","fileCount":391,"integrity":"sha512-XKAzaldbz2ORs/W/F0CCZjev00MSJv3dZ3yJnfHUg/4YIA3PkEBR4Fv1oYOrs13YdZsXzbB3VOVE2vzcLBvNMg==","signatures":[{"sig":"MEUCIAL3AnqJkfPjcPsb6M/T2hjzzhKl/NVprcfmuYvPW/aDAiEAocB73DNALelkGFB3Pfk59d2J1vzC1Q5TqCfjYLlovb4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2026180},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"4d66fba1c10caa66b80d4608da419377c931cab6","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.7.2_1777994025166_0.4664540079931676","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"grafeo-ogm","version":"1.7.3","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.7.3","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"d0ed2a7e873b204257aa28d1e9e2d300214079d5","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.7.3.tgz","fileCount":391,"integrity":"sha512-6IhlVZ0oxcNJPv43P7oOfZr0claqwFB7XpFMGbIbZsjk1TKAhLtStVdJmZtnurPwS6LGyhg2TAJdP0qf6fO16Q==","signatures":[{"sig":"MEUCIFNDJARp3xHcByBh9y+yLIWj+nj9TLBAFAW+QPobCjdPAiEAt8WRIMTZ4jaFp6qKZwphhclvm9o/yMnc8j+YyskBHnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2039083},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"3f4be9eae1f238ff989fc24fa6a965e5cd4dc79e","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.7.3_1777994933061_0.6178800259438468","host":"s3://npm-registry-packages-npm-production"}},"1.7.4":{"name":"grafeo-ogm","version":"1.7.4","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.7.4","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"d2d7a5da9ffd596b3acf0aeb8c5a9d827e1f969b","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.7.4.tgz","fileCount":391,"integrity":"sha512-kWQcjuW4OYmTKeEkxkFS00WbJdo+ReI279oObIoK13AEstRtc0eO/ti3mDhp2yNHjfBAk7ZUgtB9AjFdZrZwqA==","signatures":[{"sig":"MEUCIF0ywIIRug951Ve+NIxJFsbUZCPdRXRzB4FoFWdDgovnAiEAnH1Dkny8a1t82S/QQjJFEh/X2Tkqv3UqSpCLqNDglCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.7.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2072985},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"142e2e2292cb9c44d653bf12986cbacfbb59d8af","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.7.4_1777995940221_0.541839420729928","host":"s3://npm-registry-packages-npm-production"}},"1.7.5":{"name":"grafeo-ogm","version":"1.7.5","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.7.5","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"e9d9dfbb064c0932f796d065c0eb44a93d3bd15c","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.7.5.tgz","fileCount":391,"integrity":"sha512-rlAFJWhr1pTWZNMOwofdaTQSarKdiqKlTHIA25d7vGPIZC1z3ECgpaM6gF11yaLYlZhtzI58sMBvJyN2zb8rNA==","signatures":[{"sig":"MEUCIDVXULPz9aX8si2a3kLjAP8XPTPawAp4rqyNZ9OoMlJpAiEA/jibD58AxKgM7/fPH8loKmDV6yXJDae9a0ni0cxCDcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.7.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2090564},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"3375197e6736fcf5c9753e1e325b4ad2b7592c25","scripts":{"lint":"eslint src/","test":"jest","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.7.5_1777996913311_0.1865170519444994","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"grafeo-ogm","version":"1.8.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.8.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"2bf02185263e64c146a95078a27f7668b074d941","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.8.0.tgz","fileCount":391,"integrity":"sha512-l/dk5KrXtL8MrUMZenTAf5yv6hYA9PAiCZL4P+P61ponUEoYEfmetME5U8hZe9IupaJ8WD3dcB/bj7Mg14hXUw==","signatures":[{"sig":"MEUCIDITnQWXv3x9nZmNFDKkEQWytQ+AQUrR0hKoZjcfjaffAiEAsf4jsc86LDHdetwAe/3HY+oGP8Ld/mPEW63LFFPQ/5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2105950},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"4c1389156eff11d3d04d50cddbc3badf370628df","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.8.0_1777999763533_0.41948878423704294","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"grafeo-ogm","version":"1.8.1","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.8.1","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"ab6312d19b9e947419d8237088fe9d3b914dd5fb","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.8.1.tgz","fileCount":391,"integrity":"sha512-GyMZm2KZON0cnGgy980H10d+RTRKqEgz/9XJ1L92jNTFh7/bQZ+dWRQq5To5Yq6+r2X028NbbBHVq8T+XYvCwA==","signatures":[{"sig":"MEUCIQDLHDVGw+8fhN9r9PHj9Uh6QnZxEqVg1NORWiEP2EvjfwIgZEQmlg8SyUCYtO/qug0JNLXWtorvGSQzWibwfx3fKa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2111607},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"fc85db165d08664109cd5f3bc7633e23a2b4e9ae","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.8.1_1778083643738_0.42211312607844165","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"grafeo-ogm","version":"1.8.2","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.8.2","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"f71a42c2c0eb42062be6bca5e07c76abb1de93a8","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.8.2.tgz","fileCount":391,"integrity":"sha512-iTUNsHovzzzfficL4DnTMirXjW+osEYtjhCvttFhrQijelRB+2zlO1BvPtZNdzPaiRrherHeMqYoeJ4as/Y2gw==","signatures":[{"sig":"MEQCIE+9L07jLEY+qxRGIY4YtokcWKZniezR87TXCtCRtU/fAiAwjxGyS+l5TO1aNZlAvaFtd1bkXyvRpnAAihy3QiPDsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2120705},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"d64dbb1d6c7bfff8009fbff47c1e7dfce61e52b0","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.8.2_1778084669055_0.6090093045654856","host":"s3://npm-registry-packages-npm-production"}},"1.8.3":{"name":"grafeo-ogm","version":"1.8.3","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.8.3","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"b9539d0622dc2abd7577686e82e65e90cca7f629","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.8.3.tgz","fileCount":391,"integrity":"sha512-DjdvE6kgtQCIVbIhsrQ1l+dvN5EkNBMHf7RxgSOzGmgHqGpC8NknC2cN2ugoS0RlX+fCqH8i/xkim8iFhzBVlg==","signatures":[{"sig":"MEUCID9VoFBi76k3N3wudwMh4tyZ9XyWXrrVolDnTcSgpXNnAiEA+aJypWGy7SUUsVlX/TUeEIOjX8FPUF309tIGblYdJIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2126325},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"f61028c78b31ecb7b43daaf0325846cf0b2722c3","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.8.3_1778091300451_0.6470608197927232","host":"s3://npm-registry-packages-npm-production"}},"1.8.4":{"name":"grafeo-ogm","version":"1.8.4","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.8.4","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"9da9a0fa4fbb9be7b13e3c607858478a18146a67","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.8.4.tgz","fileCount":391,"integrity":"sha512-CNdE5jXIb0L5BcvK3ha+gaWclaK36ALAqw0E1foson33hEx4QEEegCERR1TkjWmhIXBWBQXfOM56GC2fD9ZFow==","signatures":[{"sig":"MEYCIQDNSD4NE7vUg18TM/hA256ob+b6lA9RO5vvPMXsMJAwkQIhAOammEGZZJDaHmLEBVRAfPoVdXj06KQtXs+576oZj9np","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.8.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2137562},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"11fb7dab5b2ef9c2233fea487ad58246bb79a194","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.8.4_1778163882907_0.8510556877031235","host":"s3://npm-registry-packages-npm-production"}},"1.8.5":{"name":"grafeo-ogm","version":"1.8.5","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.8.5","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"0855081186a348b7010a328d99ff512b369b6190","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.8.5.tgz","fileCount":391,"integrity":"sha512-hR9R0ee7xDI9/GB4LcBx8BKchtKzwOdLWe1dL65CpL4ZYI9nOGGH90tN7FM/TplUKoM0TxPjXWYrvF4lvL9+dg==","signatures":[{"sig":"MEUCIQCxk6B3FjFdzdTurQzNIj6qGFSiRY5HSZsXTDn7Ow7dxQIgCMJKBKuUZ2Tt6+r2ZJmuz7MaJU7OQP4KBxL6bYvANX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.8.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2173632},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"233e2cc8c4b8fcd6110535d75aa9956da2a185c9","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.8.5_1778177390207_0.09048220099105975","host":"s3://npm-registry-packages-npm-production"}},"1.8.6":{"name":"grafeo-ogm","version":"1.8.6","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.8.6","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"90a12d1508c9e5bec91050fe9b2d2cdc6019256f","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.8.6.tgz","fileCount":391,"integrity":"sha512-rEL86TBcilP+5iiC9CF/0xSH/K2fqd9ctuLesCww8wILyzAKNeizSdtPMYy01RPdc9lWhuAQ47voEDTY7V4l1A==","signatures":[{"sig":"MEUCIGl1o5xEoqopKcs3HgVaCWVyJ0T1qHcMtJKXpI53IXU0AiEAl41PFNzMIHDBstL7Cf93WurZhR7VjAIE8k+6d3sBfaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2177588},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"7337702bc93657d919832c99d37e54caab34e82d","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.11.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.8.6_1778187940140_0.7852886830175736","host":"s3://npm-registry-packages-npm-production"}},"1.8.7":{"name":"grafeo-ogm","version":"1.8.7","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.8.7","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"aa55b1aa9bca3dc295921e60d58df476dbdf739f","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.8.7.tgz","fileCount":399,"integrity":"sha512-nXDzNrxctLunwC+GVJa+zGFCuvHU0MMbb/VbSQj8/pIoe6VGxyAHcBRgQ2gqzcXgBoWmYZY9Pvw7yjCe8HbGQQ==","signatures":[{"sig":"MEUCIQC4Y0czsdZsbpOFXMH5nFlJnxTJasJjg0n48rNNMVCZzAIgbfqlEaLsMAdjBXHYLKXpjFWf6lbj+L/7itfrsDi6JPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.8.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2216576},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"145e0eb62b6883f5e3bbad80bb675b10cede7976","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.13.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.8.7_1781312941251_0.48762810206359886","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"grafeo-ogm","version":"1.9.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.9.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"7dce67e431a0ad376bcb044279d9594a211006ac","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.9.0.tgz","fileCount":487,"integrity":"sha512-rV341GPzWJ/JCwXFzktabdr3AEqv9B6TSD2kG4nw/w6xZSuqBSFKUpgLM/Y8QUI+buOEvnzWPyujdBVFuUAPAw==","signatures":[{"sig":"MEUCIAupOubg9EGg+MCBYdjhcWyIlSZIp0qgZxXLkVBGOm9GAiEA3dQLvPcwHFL3xWo5GyVG60ycEmG7cGznjtUm63y2mYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2426289},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"37545b34d29c874aee9157d8486d474b4db45c51","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.13.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"neo4j-driver":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.9.0_1781361423621_0.09628939882166732","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"grafeo-ogm","version":"1.9.1","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.9.1","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"185ba832e05486b8a0be5df17bfeef844566a53a","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.9.1.tgz","fileCount":487,"integrity":"sha512-TbjhPyw8Ifu4eRW3SjdyErHaVmWlESVa5q6a7kFBm1vmJYuSSFnzxbSEHL/kKaH3udTUiHgOmZanfT3wGAA7Pg==","signatures":[{"sig":"MEYCIQDCN4IrCpCjcMoB39wwJv64tay5334z+x2RYx7UcetihwIhAJ6sxkK2oj9fRPJSBOUZEizNKYIj5QEeEAfJPM86tD0N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2430746},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"8bd5f071054812aec76d6c3093bbddc726281a96","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.13.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.9.1_1781366048594_0.6566947155960325","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"grafeo-ogm","version":"1.10.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.10.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"5e7716b67f7b24fe67d3541b0b834e208322e13a","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.10.0.tgz","fileCount":503,"integrity":"sha512-Jn1/PYu6pVJuGmF8uLzFDWpjuez/20CPFP2MbiA0RxzeOAINQ7C0g6METx0EX7AbAAIHwgj5ck0gIyXN4dFhnw==","signatures":[{"sig":"MEUCIQCP5oOMXswQgJstv8eWTUVPbubcoVUbyHxWaKdUErxmGQIgdRczXA3jx9DQQwehcGuUiQqjYuRQ23AbwtXhdAd7GrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2493234},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"a9e741128b2057a7ea5f91671a32de843de82325","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.13.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.10.0_1781369330179_0.5091374194666747","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"grafeo-ogm","version":"1.10.1","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.10.1","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"434b29930ec350bff6c71628355d0645a240da56","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.10.1.tgz","fileCount":503,"integrity":"sha512-S11OWeq5qNYmu6LV2x2wvvH1kc6ozB/rTByunsJR9CAZ0s83o5sn1YeGGQERfLuD0Jzx57xNIH6GAi0VehN9og==","signatures":[{"sig":"MEYCIQC/nZlbWX1Q9Gj8v0jAgVmuAYJSsgia5Z6RHAgrkmrhIAIhANY12dHW0I0PsiJ/AysPx+R5ybDF24Z8f7Ss4cipllTr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2493931},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"ca0f7d411c127519873361f5566dc3cc423f896c","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.13.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.10.1_1781376912039_0.6698046966081774","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"grafeo-ogm","version":"1.11.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.11.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"e7398aa0558d09958a2d816ad7a1985a5a61c249","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.11.0.tgz","fileCount":511,"integrity":"sha512-9nf48kfrmQeH1kJck/SjoSOCcx4Qel8p2eEc5JbDF8pjDUW8yaBSX3nIy1kXfqF8KkwN8YY07yFvSa+iEkNufw==","signatures":[{"sig":"MEYCIQCkvRvdbw5aUOlptkP5c88GLtfA7c1gQWsfV7z54URBrQIhAKP0sSwlh6mmV7hwD32R4njqBRN7vRXL+a5LY8GXF1Bf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2508165},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"c088c90cc2cd98cd0e73fe76ed3657257ac204c2","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.13.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.11.0_1781378175124_0.8371471139348934","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"grafeo-ogm","version":"1.12.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.12.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"c93f847ef1ea1752cddb8293ef096f8f280e2716","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.12.0.tgz","fileCount":511,"integrity":"sha512-ir2LU9g/LOwn281xD2qEKhJMAUQpi7McnkMjUcdYETu9/jOt0wMM1oKd18bZk82tLEZGJtBt8R7ibvvHEco3Uw==","signatures":[{"sig":"MEUCIQDieKXQ4L/pkgYXqHwnkI3jW+SzIjUmPrgC2ME9qQTkpAIgdKF8nUbXLitj8vAXuEwi4n/MEd7Ysx3W+ke63Q6S6NU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2523627},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"268c1d8c4c1a570da02fa90cf2caa67d2ca1b0f7","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.13.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.12.0_1782953229446_0.9195778340667031","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"grafeo-ogm","version":"1.13.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.13.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"984fa5392a73971236d7fce1b671e23ff023e4c7","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.13.0.tgz","fileCount":519,"integrity":"sha512-UUqmqVd59iSFQ1rWNVn7CwfObKkCfq0Dghv7SOQgONQYITPz7Ov2f2LjnUvqaFskDYFvp5wE/LSNT6QuZjqxGA==","signatures":[{"sig":"MEQCIAwZdjq2jKYvtwJQY+SunHQbLGMBXvWkRYAEQgi0//69AiAyfId3BbSd6o+IsAl/gl1Y/QHNbI03k1OQZdF57IjFjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2535390},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"5c9013434ed50e337bfe2965739f5a7afeb0abe3","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.16.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.13.0_1784051917978_0.503053101675401","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"grafeo-ogm","version":"1.14.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@1.14.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"01533a331a46af1e9bd491236bb6e411ffef15da","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-1.14.0.tgz","fileCount":519,"integrity":"sha512-PgTSi3uDZ/sXb7YnQ5FUgYTiThQO3HK+evMeMnLvgn8Ca7iJgA9BXQ8gOvRpMZUg6c0ZZDGXo5vJlZF6xYo0Sg==","signatures":[{"sig":"MEYCIQC027Lo5I2AuNOUkn3uPlDpnIGyHM3NNJmF6iPqxnrCpwIhAOg5fg4uouGS3Rb89Aq6URf3b5BefVHvyFtJ+0dLpp2s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2635042},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"a2c3bd00dafc971b959fd040cc6cd5e27c2a0d31","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.16.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_1.14.0_1784930400997_0.8700809520269099","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"grafeo-ogm","version":"2.0.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@2.0.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"d563b60c5d920b2be0b6225ce1bd3edbea03d351","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-2.0.0.tgz","fileCount":519,"integrity":"sha512-MgPZbi0o49EA8A2nTrjM80q8kD5KgtQHwN3+vLgsiErzc3RBDw9UhkQncO34kdbdcQglL5uaY3lBlAhi3Z1L6w==","signatures":[{"sig":"MEQCICPVYN9wT23AyNekKLu/XlMaFnFl2a3vZHQDA28g+YIuAiAsEsV/iN/Gk1IHJSPjG8ovGtXxlhzuQ3jhDprvZn2xgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2688172},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"71094043b59676833dcd66ae0b2f4192f448e176","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.16.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_2.0.0_1785891827528_0.09879538004794997","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"grafeo-ogm","version":"2.1.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@2.1.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"1f0026e9de8d97efb508057931370fd15c243495","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-2.1.0.tgz","fileCount":527,"integrity":"sha512-WFZpdE7MUYgwqwT7/JTnaQwvODTbthCXZFyNKYZQn4HwmIib75NMdafVDU82BUajj8Va/Mh1s62v6FPS0y7EIA==","signatures":[{"sig":"MEUCIQCp4V6rXrd2lO9lmbuxiV5T+E4cxKqHOJ9OV2x8Jv0glgIgPvEH827EvQgtMzlrwM0xOBV5niOmMCAiHEwITR4QTsA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2759971},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"9f90fb9a6175180af061a6c3d5baba0d4f3c968d","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.16.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_2.1.0_1786639047484_0.18251994892346102","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"grafeo-ogm","version":"2.1.1","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@2.1.1","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"6c4136ca693475592ba05a93f7098fd15160b441","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-2.1.1.tgz","fileCount":527,"integrity":"sha512-H+BbMqEmG1rhw6yP3eV3ok61PXdAGnFnpDvjo954m/mao0KP9btAZGFO6txEil1LF4upG8PZ/D5q73bYl1o/TQ==","signatures":[{"sig":"MEUCIQC4Kg0rho7BSA5UFkOju2UYZeOitC7SXrXlBWs4yEWGJgIgZa8iVYTTwAUfoySQHXAuEXe0BFV3oA9N44IuMx17C74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2771404},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"f29d6ff0db0f8bec85184818271e715f2ceb7a22","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.17.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_2.1.1_1786639745981_0.2254848094028874","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"grafeo-ogm","version":"2.2.0","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"author":{"name":"Alejandro Guzman"},"license":"MIT","_id":"grafeo-ogm@2.2.0","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"homepage":"https://github.com/neomodular/grafeo-ogm#readme","bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"bin":{"grafeo":"dist/cjs/cli/index.js"},"dist":{"shasum":"2fc3257cc5e2fda3ae267684b2ad441fc9368772","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-2.2.0.tgz","fileCount":535,"integrity":"sha512-BOwQ1ZTosH6gzwb3vy0Y21/oP/v5Uw/irUvsAbZTvbWOhJyuRETJOL3wjMdPThpNqIzHevbiG4P4WILNQDjgug==","signatures":[{"sig":"MEUCIQC1Gtp3bVybN6TIejtLzTeKoCvoybo4QqaF9oxy5kYeugIgExJp0+ojzCA83FC4HiCjRqrsidKTahZ/aFmM4jCecAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCDOqadhZ6sofR2UcnxLSjH7W3Fvptl+E3yV0q6kQzDjgIhAPHQkj9OcGjeidnW/ipYwdCqrTewOdY6r3iQFlpFLRSC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2891241},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"174196248d6ace170c8e04cfc6e11dee680d6b4a","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.19.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/grafeo-ogm_2.2.0_1790180387329_0.15975438035414302","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"_id":"grafeo-ogm@2.3.0","bin":{"grafeo":"dist/cjs/cli/index.js"},"bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"dist":{"shasum":"9df2acfa3184bd814c75afa3d29738a5fa634318","tarball":"https://registry.npmjs.org/grafeo-ogm/-/grafeo-ogm-2.3.0.tgz","fileCount":543,"integrity":"sha512-z5/J2BtU3CIH/OtZzClM3rhCnvJoL8G2h0zodavZHSJ23KL57qatJICFHLRykk78j8ZXh3NDNBMGJHAErJdUIg==","signatures":[{"sig":"MEYCIQDWaji1GazMHakdBPIwsPbehrkwO4wBcOfLjBBW1ES7HQIhAKuY9i4zd59YKvpSXBH3qYDuTregi2erLhsfeTTJQO5x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDJORD7Js/9h+x3EjkagER+Jj5atePj2jQpY/Vw8rLwzgIhALe0xjpBPirqa5swg6VRkjNU+C/hGcVgTzI82VJIyKLx"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/grafeo-ogm@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2980782},"main":"dist/cjs/index.js","name":"grafeo-ogm","types":"dist/cjs/index.d.ts","author":{"name":"Alejandro Guzman"},"module":"dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./testing":{"import":{"types":"./dist/esm/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/cjs/testing/index.d.ts","default":"./dist/cjs/testing/index.js"}}},"gitHead":"4d79ed805014ad4133812f55904e568da50a27c5","license":"MIT","scripts":{"lint":"eslint src/","test":"jest","bench":"ts-node --project bench/tsconfig.json bench/index.ts","build":"pnpm run clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node -e \"const fs=require('fs');fs.writeFileSync('dist/cjs/package.json','{\\\"type\\\":\\\"commonjs\\\"}\\n');fs.writeFileSync('dist/esm/package.json','{\\\"type\\\":\\\"module\\\"}\\n');\"","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint src/ --fix","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build","verify:examples":"node dist/cjs/cli/index.js generate --verify --schema examples/schema.graphql --out examples/grafeo.generated.ts"},"version":"2.3.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f06d80e6-757e-438c-815f-c9fef4ad2a01"}},"homepage":"https://github.com/neomodular/grafeo-ogm#readme","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"_npmVersion":"11.19.0","description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","directories":{},"maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"jiti":"^2.7.0","graphql":"^16.0.0","pluralize":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^9.39.2","mitata":"^1.0.34","globals":"^16.5.0","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^24.10.13","@eslint/eslintrc":"^3.3.3","@types/pluralize":"^0.0.33","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"peerDependencies":{"prettier":"^3.0.0","neo4j-driver":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/grafeo-ogm_2.3.0_1790211719839_0.4260741974132567"}}},"time":{"created":"2026-04-12T21:53:43.543Z","modified":"2026-09-24T01:02:00.329Z","1.0.0":"2026-04-12T21:53:43.824Z","1.0.6":"2026-04-13T02:22:06.426Z","1.0.7":"2026-04-13T16:28:34.908Z","1.0.8":"2026-04-13T17:00:39.985Z","1.1.0":"2026-04-15T00:15:14.621Z","1.2.0":"2026-04-16T20:18:53.409Z","1.3.0":"2026-04-17T17:58:35.629Z","1.3.1":"2026-04-21T17:54:42.654Z","1.4.0":"2026-04-30T17:43:02.453Z","1.5.0":"2026-04-30T20:00:57.955Z","1.6.0":"2026-05-02T02:17:14.641Z","1.7.0-beta.1":"2026-05-02T21:02:17.744Z","1.7.0-beta.2":"2026-05-02T23:14:50.712Z","1.7.0-beta.3":"2026-05-02T23:32:05.072Z","1.7.0-beta.4":"2026-05-03T03:30:21.431Z","1.7.0":"2026-05-04T15:55:46.683Z","1.7.1":"2026-05-05T03:53:22.661Z","1.7.2":"2026-05-05T15:13:45.371Z","1.7.3":"2026-05-05T15:28:53.275Z","1.7.4":"2026-05-05T15:45:40.448Z","1.7.5":"2026-05-05T16:01:53.453Z","1.8.0":"2026-05-05T16:49:23.732Z","1.8.1":"2026-05-06T16:07:23.945Z","1.8.2":"2026-05-06T16:24:29.295Z","1.8.3":"2026-05-06T18:15:00.648Z","1.8.4":"2026-05-07T14:24:43.081Z","1.8.5":"2026-05-07T18:09:50.569Z","1.8.6":"2026-05-07T21:05:40.414Z","1.8.7":"2026-06-13T01:09:01.438Z","1.9.0":"2026-06-13T14:37:03.828Z","1.9.1":"2026-06-13T15:54:08.779Z","1.10.0":"2026-06-13T16:48:50.407Z","1.10.1":"2026-06-13T18:55:12.241Z","1.11.0":"2026-06-13T19:16:15.290Z","1.12.0":"2026-07-02T00:47:09.653Z","1.13.0":"2026-07-14T17:58:38.155Z","1.14.0":"2026-07-24T22:00:01.190Z","2.0.0":"2026-08-05T01:03:47.705Z","2.1.0":"2026-08-13T16:37:27.718Z","2.1.1":"2026-08-13T16:49:06.135Z","2.2.0":"2026-09-23T16:19:47.461Z","2.3.0":"2026-09-24T01:01:59.969Z"},"bugs":{"url":"https://github.com/neomodular/grafeo-ogm/issues"},"author":{"name":"Alejandro Guzman"},"license":"MIT","homepage":"https://github.com/neomodular/grafeo-ogm#readme","keywords":["neo4j","neo4j-driver","neo4j-ogm","neo4j-orm","neo4j-graphql","neo4j-typescript","neo4j-client","neo4j-database","ogm","orm","graph-orm","graph-ogm","graph-database","graph","graphdb","cypher","cypher-query","cypher-builder","cypher-generator","graphql","graphql-sdl","graphql-schema","schema-first","prisma","prisma-like","typescript","type-safe","object-graph-mapper","code-generation","codegen","apoc","bolt","fulltext","fulltext-search","query-builder","knowledge-graph","social-graph","recommendation-engine","neo4j-graphql-ogm-alternative"],"repository":{"url":"git+https://github.com/neomodular/grafeo-ogm.git","type":"git"},"description":"Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.","maintainers":[{"name":"neomodular","email":"gluis0993@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"./assets/logo.jpg\" alt=\"grafeo-ogm — Type-safe OGM for Neo4j\" width=\"640\" />\n</p>\n\n<p align=\"center\"><strong>A type-safe Object-Graph Mapper for Neo4j, driven by GraphQL SDL.</strong></p>\n\n[![npm version](https://img.shields.io/npm/v/grafeo-ogm.svg)](https://www.npmjs.com/package/grafeo-ogm)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178C6.svg)](https://www.typescriptlang.org/)\n[![Node.js](https://img.shields.io/badge/Node.js-%3E%3D18-339933.svg)](https://nodejs.org/)\n[![Neo4j](https://img.shields.io/badge/Neo4j-5.x-008CC1.svg)](https://neo4j.com/)\n\nDefine your graph model once in `.graphql` and get fully typed CRUD operations, optimized Cypher compilation, and TypeScript code generation -- no boilerplate, no Cartesian products, no injection vulnerabilities.\n\n> **grafeo** (*/ˈɡra.fe.o/*) -- from Greek *grapho* (write, draw), the root behind \"graph.\" Because your data model should be written once and understood everywhere.\n\n---\n\n## Table of Contents\n\n- [Why grafeo-ogm?](#why-grafeo-ogm)\n- [Common Use Cases](#common-use-cases)\n- [Quick Start](#quick-start)\n- [CLI](#cli)\n- [Features Overview](#features-overview)\n- [Schema Definition](#schema-definition)\n- [Query API](#query-api)\n- [Mutation API](#mutation-api)\n- [Advanced Features](#advanced-features)\n- [Vector Search](#vector-search)\n- [Type Generation](#type-generation)\n- [Testing Utilities](#testing-utilities)\n- [Security](#security)\n- [Migration from @neo4j/graphql-ogm](#migration-from-neo4jgraphql-ogm)\n- [Comparisons](#comparisons)\n- [FAQ](#faq)\n- [API Reference](#api-reference)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Why grafeo-ogm?\n\nThe official [`@neo4j/graphql-ogm`](https://github.com/neo4j/graphql/tree/changeset-release/lts/packages/ogm/) was deprecated with no development path beyond v5. grafeo-ogm is a community continuation that maintains **full backward compatibility** while addressing five fundamental problems the original library could never patch:\n\n| Problem | @neo4j/graphql-ogm | grafeo-ogm |\n|---|---|---|\n| **Deprecation** | Abandoned by Neo4j; no path beyond v5 | Actively maintained; evolves with your schema |\n| **Query efficiency** | `OPTIONAL MATCH` chains that create Cartesian products across relationships | Pattern comprehensions scoped to matched nodes -- O(1) rows per node regardless of relationship count |\n| **Security** | No identifier validation, no injection prevention, no parameterization enforcement | 7 security controls: parameterization, identifier regex, label validation, prototype pollution prevention, Lucene escaping, depth limiting, sort direction validation |\n| **Type generation** | Monolithic multi-MB output; required a running Neo4j driver at build time | Modular emitter pipeline; no driver needed at build time; output sized proportionally to schema |\n| **Customization** | No union type support, no subquery isolation, no edge property queries | Full union/interface support, `CALL` subquery isolation for mutations, connection fields with edge properties |\n\n### Pattern Comprehensions vs. OPTIONAL MATCH\n\nThe most impactful difference is how relationships are queried. The old OGM chains `OPTIONAL MATCH` clauses that multiply intermediate rows:\n\n```\n10 variants x 5 categories x 3 tags = 150 intermediate rows per node\nQuery 200 nodes = 30,000 rows processed\n```\n\ngrafeo-ogm uses pattern comprehensions that evaluate each relationship independently inside the RETURN projection:\n\n```cypher\nRETURN n {\n  .id, .name,\n  variants: [(n)-[:HAS_VARIANT]->(n0:Variant) | n0 { .id, .value }],\n  status: head([(n)-[:HAS_STATUS]->(n0:Status) | n0 { .id, .name }])\n}\n-- Always 1 row per node. Adding relationships adds list expressions, never rows.\n```\n\n| Query | Old OGM (rows) | grafeo-ogm (rows) | Reduction |\n|---|---|---|---|\n| 1 node, 10+5+3 rels | 150 | 1 | 150x |\n| 50 nodes, same rels | 7,500 | 50 | 150x |\n| 200 nodes, same rels | 30,000 | 200 | 150x |\n\n### CALL Subquery Isolation\n\nMutations with multiple connect/disconnect operations are wrapped in `CALL { ... }` subqueries. Each operation runs in isolation -- no Cartesian products, no duplicate relationships, no silently dropped operations when a disconnect target doesn't exist.\n\n---\n\n## Common Use Cases\n\ngrafeo-ogm fits any TypeScript application backed by Neo4j. Common patterns it solves cleanly:\n\n**Knowledge graphs & semantic search**\nModel entities, properties, and relationships in GraphQL SDL. Combine relationship traversal with `@fulltext` indexes for hybrid keyword + structural queries (e.g. \"find all `Document` nodes mentioning *X* that are linked to active `Project` nodes owned by team *Y*\").\n\n**Social graphs & follower networks**\nMulti-hop traversals with relationship properties (e.g. `since`, `weight`) become typed `*Connection` queries with sortable edges. No raw Cypher needed for \"mutual followers\", \"friends of friends\", or \"shortest path between users\".\n\n**Recommendation engines**\nExpress collaborative filtering as relationship queries: \"users who bought *X* also bought *Y*\" becomes a typed `connect`/`*Connection` selection sorted by edge frequency or recency. Use `@cypher` directives for custom scoring algorithms in pure Cypher.\n\n**Permission & policy graphs (RBAC / ReBAC)**\nModel `User → ROLE → Permission` chains as native relationships. Filter queries with relationship existence (`Connection_SOME`) instead of joining tables. Multi-label nodes (`@node(labels: [...])`) handle hierarchical roles cleanly.\n\n**Master data management & data lineage**\nTrack provenance, transformations, and dependencies between datasets. Interface types (`InterfaceModel`) let you query polymorphic entities (any `Asset`, any `Pipeline`) without losing type safety.\n\n**Fraud detection & anti-money laundering**\nExpress patterns like \"transaction chains > 3 hops between sanctioned accounts\" using relationship quantifiers (`_SOME`, `_NONE`, `_ALL`). The mutation compiler's `CALL` subquery isolation prevents pipeline pollution when batching graph updates.\n\n**Content management with rich relationships**\nArticles, authors, tags, categories, and comments — all with edge metadata (timestamps, ordering, visibility). Connection edges with `orderBy: { edge: { ... } }` give you Prisma-style sortable joins on relationship properties.\n\n---\n\n## Quick Start\n\n### Installation\n\n```bash\n# npm\nnpm install grafeo-ogm neo4j-driver graphql\n\n# pnpm\npnpm add grafeo-ogm neo4j-driver graphql\n\n# yarn\nyarn add grafeo-ogm neo4j-driver graphql\n```\n\n### 1. Define your schema\n\n> **Fastest start:** `npx grafeo init` scaffolds a starter `schema.graphql` + `grafeo.config.ts` for you — and auto-detects an existing setup. See [CLI → `grafeo init`](#cli). Prefer to do it by hand? Define a `schema.graphql`:\n\n```graphql\n# schema.graphql\ntype Book @node\n  @fulltext(indexes: [{ name: \"BookSearch\", fields: [\"title\"] }]) {\n  id: ID! @id @unique\n  title: String!\n  isbn: String @unique\n  published: DateTime\n  author: Author! @relationship(type: \"WRITTEN_BY\", direction: OUT)\n  categories: [Category!]! @relationship(type: \"IN_CATEGORY\", direction: OUT)\n}\n\ntype Author @node {\n  id: ID! @id @unique\n  name: String!\n  books: [Book!]! @relationship(type: \"WRITTEN_BY\", direction: IN)\n}\n\ntype Category @node {\n  id: ID! @id @unique\n  name: String!\n}\n```\n\n### 2. Generate types (recommended)\n\n```bash\nnpx grafeo generate\n```\n\nThis wraps `generateTypes()` to emit typed models from your SDL — wire them in with `new OGM<ModelMap>(...)` for full inference. See the [CLI](#cli) and [Type Generation](#type-generation) sections. You can skip this and run the OGM untyped, but you forfeit compile-time safety.\n\n### 3. Initialize the OGM\n\n```typescript\nimport { OGM } from 'grafeo-ogm';\nimport neo4j from 'neo4j-driver';\nimport fs from 'fs';\n\nconst driver = neo4j.driver(\n  'bolt://localhost:7687',\n  neo4j.auth.basic('neo4j', 'password'),\n);\nconst typeDefs = fs.readFileSync('./schema.graphql', 'utf-8');\n\nconst ogm = new OGM({ typeDefs, driver });\n```\n\n### 4. Basic CRUD\n\n```typescript\nconst Book = ogm.model('Book');\n\n// Create\nconst result = await Book.create({\n  input: [{\n    title: 'Graph Databases',\n    isbn: '978-1491930892',\n    author: { connect: { where: { node: { name: 'Jim Webber' } } } },\n  }],\n});\n\n// Read\nconst books = await Book.find({\n  where: { title_CONTAINS: 'Graph' },\n  select: {\n    id: true,\n    title: true,\n    author: { select: { name: true } },\n  },\n});\n\n// Update\nawait Book.update({\n  where: { isbn: '978-1491930892' },\n  update: { title: 'Graph Databases, 2nd Edition' },\n});\n\n// Delete\nawait Book.delete({ where: { isbn: '978-1491930892' } });\n```\n\n### 5. Transactions\n\n```typescript\nawait ogm.$transaction(async (ctx) => {\n  await Book.create({ input: [{ title: 'Book A' }] }, { context: ctx });\n  await Book.create({ input: [{ title: 'Book B' }] }, { context: ctx });\n  // Both committed atomically, or both rolled back on error\n});\n```\n\n---\n\n## CLI\n\ngrafeo-ogm ships a `grafeo` binary (installed with the package — no global install needed). Run it with `npx grafeo <command>`. The CLI is plumbing over the same library machinery you can call programmatically: `generate` wraps `generateTypes()`, and `db push` reuses the constraint/index logic behind `assertIndexesAndConstraints()`.\n\n| Command | Purpose |\n|---|---|\n| `grafeo init` | Scaffold a project — or auto-detect an existing one — wiring config, schema, and an npm script |\n| `grafeo generate` | Generate TypeScript types from your SDL — one-shot, `--watch`, or `--verify` CI gate |\n| `grafeo db push` | Diff SDL-declared constraints/indexes against the live database and apply them |\n| `grafeo db seed` | Run your seed script with a constructed, connected OGM |\n\n### Configuration\n\nAll commands read `grafeo.config.ts` (or `.js` / `.json`) from the working directory — first found wins. Command-line flags override config values. `defineConfig` gives full type inference:\n\n```typescript\n// grafeo.config.ts\nimport { defineConfig } from 'grafeo-ogm';\n\nexport default defineConfig({\n  schema: './schema.graphql',          // default: ./schema.graphql\n  out: './src/generated/ogm-types.ts', // default: ./grafeo.generated.ts\n  // generate: forwarded to generateTypes(). Set packageName ONLY if you\n  // installed grafeo-ogm under an npm alias, e.g. { packageName: '@myorg/ogm' }\n  database: {\n    uri: process.env.NEO4J_URI,\n    username: process.env.NEO4J_USERNAME,\n    // password: from config or NEO4J_PASSWORD — never a CLI flag (see below)\n  },\n  seed: './scripts/seed.ts',\n  vectorIndexes: {\n    // @vector SDL carries no dimensions; db push reads them here, keyed by index name\n    BookEmbedding: { dimensions: 1536, similarity: 'cosine' },\n  },\n});\n```\n\n**Database connection** resolves per setting in precedence order: CLI flag (`--uri`, `--username`, `--database`) > config `database` block > environment (`NEO4J_URI`, `NEO4J_USERNAME`, `NEO4J_PASSWORD`, `NEO4J_DATABASE`). The **password is never accepted as a CLI flag** — argv leaks through process listings and shell history, so it must come from `NEO4J_PASSWORD` or the config file.\n\n> **Config and seed files run as trusted code.** `grafeo.config.ts` and your seed script are executed in-process (via [jiti](https://github.com/unjs/jiti)) with your database credentials — the same trust model as Prisma/Drizzle. Only run `grafeo` in a directory whose config and seed files you control.\n\n### `grafeo init`\n\nSets up a project in one step. In an **existing** grafeo project it auto-detects your schema (by its `@node`/`@relationship` directives) and a previously generated types file (by the generator's header marker), and writes a `grafeo.config.ts` wired to them. With **nothing to detect** (or `--fresh`), it scaffolds a starter `schema.graphql` — the Neo4j movie example — plus the config. Either way it adds a `\"generate\": \"grafeo generate\"` npm script.\n\n```bash\nnpx grafeo init          # interactive: detect or scaffold, confirm the paths\nnpx grafeo init --yes    # non-interactive: accept detected values / defaults (CI)\n```\n\n| Flag | Description |\n|---|---|\n| `--schema <path>` | schema path (skip detection/prompt) |\n| `--out <path>` | generated-types output path |\n| `--seed` | also scaffold a `seed.ts` upsert stub |\n| `--fresh` | ignore a detected setup and scaffold a new project |\n| `--yes` | non-interactive: detected values / defaults, no prompts |\n| `--force` | overwrite an existing `grafeo.config.ts` / `seed.ts` |\n\n`init` is **non-destructive** — it never overwrites your config, schema, or seed without `--force` (or an interactive confirmation), and connection settings reference `NEO4J_*` env vars (it never prompts for a password).\n\nOn an interactive run, `init` opens with the grafeo wordmark splash. It's purely decorative and gates on a real terminal: when stdout is piped or redirected (`grafeo init > file`, `grafeo init | tee`), or in CI, the splash is suppressed so captured output stays clean. `NO_COLOR` is honored.\n\n### `grafeo generate`\n\nCompiles your SDL to TypeScript types (wraps `generateTypes()` — see [Type Generation](#type-generation) for the programmatic API and the full option list).\n\n```bash\nnpx grafeo generate          # one-shot\nnpx grafeo generate --watch  # regenerate on schema change\nnpx grafeo generate --verify # CI gate: exit 1 if the file on disk is stale\n```\n\n| Flag | Description |\n|---|---|\n| `--schema <path>` | SDL path (overrides config; default `./schema.graphql`) |\n| `--out <path>` | Output path (default `./grafeo.generated.ts`) |\n| `--watch` | Debounced regeneration on change; a failed parse prints the error and keeps watching |\n| `--verify` | Generate in memory, byte-compare against the file on disk, write nothing, exit 1 on drift |\n| `--poll <ms>` | Use polling instead of `fs.watch` (fallback where native watching misfires) |\n\n`--verify` is the CI staleness gate: commit your generated types, then run `grafeo generate --verify` in CI to fail the build if the schema changed without a regeneration.\n\n### `grafeo db push`\n\nSynchronizes the **constraints and indexes** your SDL declares (`@id`/`@unique` → unique constraints, `@fulltext` → fulltext indexes, `@vector` → vector indexes) with the live database. Constraints and indexes only — **not data**. (`db push` is deliberately scoped; use a dedicated migration tool for data.)\n\n```bash\nnpx grafeo db push --dry-run          # preview the plan — DO THIS FIRST\nnpx grafeo db push                    # apply (additive: creates only what's missing)\nnpx grafeo db push --force-drop --yes # also drop orphaned grafeo-managed items\n```\n\n`db push` introspects `SHOW CONSTRAINTS` / `SHOW INDEXES`, diffs against your SDL, and prints a plan in four buckets:\n\n- **create** — declared in SDL, missing in the database\n- **in sync** — already present\n- **orphans** — grafeo-named (`{Label}_{prop}_unique`) constraints no longer in your SDL; **reported and kept** unless you pass `--force-drop`\n- **unmanaged** — constraints/indexes that don't follow grafeo's naming convention (hand-created DBA indexes, etc.); **never touched, never counted as drift**\n\nIt is **additive by default** and **idempotent** — a second run with no schema change is a no-op. Dropping orphans is destructive and gated: `--force-drop` lists the exact drops (shown in `--dry-run` too) and requires interactive confirmation, or `--yes` in non-interactive sessions like CI.\n\n| Flag | Description |\n|---|---|\n| `--dry-run` | Print the full plan (including the exact Cypher, drops included) and exit without writing |\n| `--force-drop` | Permit dropping orphaned grafeo-managed constraints/indexes |\n| `--yes` | Confirm destructive drops non-interactively (required with `--force-drop` in CI) |\n| `--schema <path>`, `--uri`, `--username`, `--database` | Schema path and connection overrides |\n\n> **Vector indexes** declare no dimensions in the SDL (the `@vector` directive only names the index and its embedding property), but Neo4j requires them at creation time. Supply them in `vectorIndexes` (keyed by index name) in your config. A `@vector` index without configured dimensions is reported and skipped — never silently created or dropped.\n\n### `grafeo db seed`\n\nRuns your seed script with a constructed, connected `OGM`. It resolves the entry point from config `seed`, then `./seed.ts`, then `./seed.js`. The module's default export receives the OGM; the CLI awaits it and **always closes the driver**, even if the seed throws.\n\n```typescript\n// seed.ts\nimport type { OGM } from 'grafeo-ogm';\n\nexport default async function seed(ogm: OGM) {\n  const Book = ogm.model('Book');\n  // Prefer upsert over create so repeated seeds converge instead of duplicating data.\n  await Book.upsert({\n    where: { id: '1' },\n    create: { id: '1', title: 'Dune' },\n    update: { title: 'Dune' },\n  });\n}\n```\n\n```bash\nnpx grafeo db seed\n```\n\ngrafeo does not enforce idempotency — use `upsert` so re-running the seed is safe. Connection and schema resolve exactly as for `db push`.\n\n---\n\n## Features Overview\n\n| Feature | Description |\n|---|---|\n| **Prisma-like query API** | `find`, `findFirst`, `findUnique`, `findFirstOrThrow`, `findUniqueOrThrow`, `create`, `createMany`, `update`, `updateMany`, `delete`, `deleteMany`, `upsert`, `count`, `aggregate` |\n| **GraphQL SDL schemas** | Define nodes, relationships, interfaces, unions, enums, and fulltext indexes using Neo4j GraphQL directives |\n| **Full TypeScript type safety** | Code generation produces typed models, where inputs, create/update inputs, select fields, and connection types |\n| **Pattern comprehensions** | Relationship traversal without Cartesian products -- O(1) rows per node |\n| **Typed `select` API** | `select: { id: true, author: { select: { name: true } } }` with compile-time type checking |\n| **Fulltext search** | Node and relationship indexes with phrase matching, score thresholds, and logical operators (`AND`, `OR`, `NOT`). Per-node typed inputs with literal-string autocomplete for index names |\n| **Vector search** | `@vector` directive with `searchByVector` (top-k similarity) and `searchByPhrase` (via the Neo4j GenAI plugin). Typed results as `{ node, score }[]` |\n| **Subgraph operations** | Clone and delete entire subgraphs via APOC with reference relationship re-attachment |\n| **Runtime multi-label** | Add/remove/filter by labels at query time: `labels: ['Active']`, `setLabels()` |\n| **Interface models** | Polymorphic read queries across all types implementing a shared interface, with `__typename` discrimination |\n| **Connection types** | Cursor pagination with edge properties via `*Connection` fields |\n| **Nested mutations** | Create, connect, disconnect, and cascade-delete related nodes in a single operation |\n| **Transaction support** | `$transaction()` for atomic multi-operation writes with automatic commit/rollback |\n| **Raw Cypher** | `$queryRaw()` and `$executeRaw()` for escape hatches |\n| **7 security controls** | Parameterization, identifier validation, label validation, prototype pollution prevention, Lucene escaping, depth limiting, sort direction validation |\n| **Testing utilities** | `CypherAssert`, `Neo4jRecordFactory`, `SelectionSetFactory` for unit testing without a database |\n| **Backward compatible** | Drop-in replacement for `@neo4j/graphql-ogm` |\n\n---\n\n## Schema Definition\n\ngrafeo-ogm uses standard GraphQL SDL with Neo4j directives to define your graph model.\n\n### Supported Directives\n\n| Directive | Target | Description |\n|---|---|---|\n| `@node` | Type | Marks a type as a Neo4j node. Optional `labels` argument for multi-label nodes |\n| `@relationship` | Field | Defines a relationship with `type`, `direction` (`IN`/`OUT`), and optional `properties` |\n| `@relationshipProperties` | Type | Marks a type as relationship properties (edge data) |\n| `@id` | Field | Auto-generates a UUID on create |\n| `@unique` | Field | Creates a uniqueness constraint in Neo4j |\n| `@cypher` | Field | Computed field resolved via a custom Cypher statement. Scalar return types are resolved at runtime in `select` / `selectionSet`, `where`, and `options.sort` (see [Computed Fields with @cypher](#computed-fields-with-cypher)); node/interface return types remain projection-only |\n| `@default` | Field | Sets a default value on create |\n| `@fulltext` | Type | Defines fulltext search indexes with `name` and `fields` |\n| `@vector` | Type | Registers one or more Neo4j vector indexes on a node (see [Vector Search](#vector-search)) |\n\n### Supported Scalar Types\n\n| Type | Neo4j Mapping | Notes |\n|---|---|---|\n| `String` | String | |\n| `Int` | Integer | |\n| `Float` | Float | |\n| `Boolean` | Boolean | |\n| `ID` | String | Typically used with `@id` for UUID generation |\n| `DateTime` | DateTime | ISO 8601 format |\n| `Date` | Date | |\n| `Time` | Time | |\n| `LocalTime` | LocalTime | |\n| `LocalDateTime` | LocalDateTime | |\n| `Duration` | Duration | |\n| `BigInt` | Integer | 64-bit integer |\n| `Point` | Point | Geographical coordinates (WGS-84) |\n| `CartesianPoint` | Point | 2D/3D Cartesian coordinates |\n\n### Relationships\n\n```graphql\ntype Book @node {\n  # Singular relationship (one author per book)\n  author: Author! @relationship(type: \"WRITTEN_BY\", direction: OUT)\n\n  # Array relationship (many categories)\n  categories: [Category!]! @relationship(type: \"IN_CATEGORY\", direction: OUT)\n\n  # Relationship with edge properties\n  reviews: [Review!]! @relationship(\n    type: \"HAS_REVIEW\",\n    direction: OUT,\n    properties: \"HasReview\"\n  )\n}\n\ntype HasReview @relationshipProperties {\n  createdAt: DateTime\n  rating: Int\n}\n```\n\n### Interfaces\n\n```graphql\ninterface Entity @node {\n  id: ID! @id\n  name: String!\n}\n\ntype User @node implements Entity {\n  id: ID! @id\n  name: String!\n  email: String!\n}\n\ntype Organization @node implements Entity {\n  id: ID! @id\n  name: String!\n  website: String\n}\n```\n\nInterface types can be queried polymorphically via `ogm.interfaceModel('Entity')`. Results include `__typename` to discriminate concrete types.\n\n### Enums\n\n```graphql\nenum Status {\n  DRAFT\n  PUBLISHED\n  ARCHIVED\n}\n\ntype Book @node {\n  status: Status\n}\n```\n\n### Fulltext Indexes\n\n```graphql\ntype Book @node\n  @fulltext(indexes: [\n    { name: \"BookSearch\", fields: [\"title\", \"description\"] }\n  ]) {\n  title: String!\n  description: String\n}\n```\n\nRelationship fulltext indexes are defined on `@relationshipProperties` types:\n\n```graphql\ntype WrittenBy @relationshipProperties\n  @fulltext(indexes: [{ name: \"AuthorRoleSearch\", fields: [\"role\"] }]) {\n  role: String\n}\n```\n\n---\n\n## Query API\n\n### Find Methods\n\n```typescript\nconst Book = ogm.model('Book');\n\n// find — returns all matching nodes\nconst books = await Book.find({\n  where: { title_CONTAINS: 'Graph' },\n  select: { id: true, title: true },\n  options: { sort: [{ title: 'ASC' }], limit: 10, offset: 0 },\n});\n\n// findFirst — returns first match or null\nconst book = await Book.findFirst({\n  where: { title_CONTAINS: 'Graph' },\n  select: { id: true, title: true },\n});\n\n// findUnique — find by unique identifier or null\nconst book = await Book.findUnique({\n  where: { isbn: '978-1491930892' },\n  select: { id: true, title: true },\n});\n\n// findFirstOrThrow — throws RecordNotFoundError if no match\nconst book = await Book.findFirstOrThrow({\n  where: { title: 'Exact Title' },\n});\n\n// findUniqueOrThrow — throws RecordNotFoundError if not found\nconst book = await Book.findUniqueOrThrow({\n  where: { id: 'book-1' },\n});\n```\n\n### WHERE Operators\n\n**Comparison operators:**\n\n| Operator | Cypher | Example |\n|---|---|---|\n| *(equality)* | `=` | `{ name: 'Wireless Mouse' }` |\n| `_NOT` | `<>` | `{ name_NOT: 'x' }` |\n| `_IN` | `IN` | `{ id_IN: ['a', 'b'] }` |\n| `_NOT_IN` | `NOT IN` | `{ id_NOT_IN: ['a'] }` |\n| `_GT` | `>` | `{ price_GT: 10 }` |\n| `_GTE` | `>=` | `{ price_GTE: 10 }` |\n| `_LT` | `<` | `{ price_LT: 50 }` |\n| `_LTE` | `<=` | `{ price_LTE: 50 }` |\n\n**String operators:**\n\n| Operator | Cypher | Example |\n|---|---|---|\n| `_CONTAINS` | `CONTAINS` | `{ name_CONTAINS: 'alb' }` |\n| `_NOT_CONTAINS` | `NOT CONTAINS` | `{ name_NOT_CONTAINS: 'x' }` |\n| `_STARTS_WITH` | `STARTS WITH` | `{ name_STARTS_WITH: 'A' }` |\n| `_NOT_STARTS_WITH` | `NOT STARTS WITH` | `{ name_NOT_STARTS_WITH: 'X' }` |\n| `_ENDS_WITH` | `ENDS WITH` | `{ name_ENDS_WITH: 'ol' }` |\n| `_NOT_ENDS_WITH` | `NOT ENDS WITH` | `{ name_NOT_ENDS_WITH: 'x' }` |\n| `_MATCHES` | `=~` (regex) | `{ name_MATCHES: '^A.*' }` |\n\n**Relationship quantifiers:**\n\n| Operator | Meaning | Example |\n|---|---|---|\n| *(bare key)* or `_SOME` | At least one related node matches | `{ categories_SOME: { name: 'Tech' } }` |\n| `_NONE` | No related node matches | `{ categories_NONE: { name: 'Fiction' } }` |\n| `_ALL` | Every related node matches | `{ categories_ALL: { name: 'Tech' } }` |\n| `_SINGLE` | Exactly one related node matches | `{ categories_SINGLE: { name: 'Tech' } }` |\n\nWith [Node-Level Security](#node-level-security), quantifiers range over the related nodes the caller may **see**: a related node hidden by its type's `read` policy neither satisfies nor falsifies `_SOME`, `_NONE`, `_ALL` or `_SINGLE`.\n\n**Logical operators:**\n\n```typescript\nawait Book.find({\n  where: {\n    OR: [\n      { title_CONTAINS: 'Graph' },\n      { title_CONTAINS: 'Neo4j' },\n    ],\n    NOT: { status: 'ARCHIVED' },\n  },\n});\n```\n\n**Null handling:**\n\n```typescript\n// Scalar null check\nawait Book.find({ where: { isbn: null } });        // WHERE n.isbn IS NULL\nawait Book.find({ where: { isbn_NOT: null } });    // WHERE n.isbn IS NOT NULL\n\n// Relationship existence\nawait Book.find({ where: { author: null } });       // NOT EXISTS pattern\nawait Book.find({ where: { author_NOT: null } });   // EXISTS pattern\n```\n\n| Input | Compiles to |\n|---|---|\n| `field: null` | `field IS NULL` |\n| `field_NOT: null` | `field IS NOT NULL` |\n| `relationship: null` | `NOT EXISTS { MATCH … }` |\n| `relationship_NOT: null` | `EXISTS { MATCH … }` |\n| any other operator with `null` (`_IN`, `_GT`, `_CONTAINS`, `_SOME`, …) | throws `OGMError` |\n| an unknown field with `null` | throws `OGMError`, even without `strictWhere` |\n\nThe same rules apply everywhere a `where` is accepted: policy `when` partials, nested `select` filters, and nested-write `where`. Before v2.3.0, `{ field_NOT: null }` compiled to the always-true `` n.`field_NOT` IS NULL ``, so a filter such as a policy restrictive `{ approvedAt_NOT: null }` silently matched every row.\n\n**Connection filters (with edge properties):**\n\n```typescript\nawait Book.find({\n  where: {\n    categoriesConnection_SOME: {\n      node: { name: 'Technology' },\n      edge: { isPrimary: true },\n    },\n  },\n});\n```\n\n### Selection Modes\n\ngrafeo-ogm supports two mutually exclusive selection modes. Providing both `select` and `selectionSet` throws an error.\n\n**Typed `select` API (recommended):**\n\n```typescript\nconst books = await Book.find({\n  select: {\n    id: true,\n    title: true,\n    author: { select: { name: true } },                          // nested selection\n    categories: { where: { name_STARTS_WITH: 'Tech' }, select: { name: true } }, // with filter\n  },\n});\n\n// Simple relationship: true returns all scalar fields\nconst books = await Book.find({\n  select: { id: true, author: true },\n});\n```\n\n**String `selectionSet` (legacy, fully supported):**\n\n```typescript\nconst books = await Book.find({\n  selectionSet: `{\n    id\n    title\n    author { name }\n    categories { id name }\n  }`,\n});\n\n// Or set a default on the model instance\nBook.selectionSet = `{ id title }`;\n```\n\n**Default (no selection):** Returns all scalar fields of the matched node.\n\n### Nested Sorting\n\nArray relationships and connection edges accept an `orderBy` clause that compiles to `apoc.coll.sortMulti` (requires the APOC plugin on the Neo4j instance).\n\n**Array relationships** — sort by target-node scalar fields. Priority follows array order:\n\n```typescript\nawait Author.find({\n  select: {\n    books: {\n      orderBy: [{ year: 'DESC' }, { title: 'ASC' }],\n      select: { id: true, title: true },\n    },\n  },\n});\n```\n\nSingular relationships do not accept `orderBy` — sorting a single value is meaningless.\n\n**Connection edges** — sort by **node** scalars or **`@relationshipProperties`** scalars, or mix both. Each `orderBy` entry has exactly one key: `node` or `edge`.\n\n```typescript\nawait Author.find({\n  select: {\n    booksConnection: {\n      where: { node: { published: true } },\n      orderBy: [\n        { edge: { since: 'DESC' } },   // sort edges first by relationship property\n        { node: { title: 'ASC' } },    // then by target-node field\n      ],\n      select: {\n        edges: {\n          node: { select: { id: true, title: true } },\n          properties: { select: { since: true } },\n        },\n      },\n    },\n  },\n});\n```\n\nValidation rules:\n- `edge` is only accepted when the relationship is declared with `@relationshipProperties`\n- Fields must be scalars on the target node (for `node`) or on the relationship properties type (for `edge`)\n- Direction must be `'ASC'` or `'DESC'`\n\n### Automatic `__typename` for Abstract Targets\n\nWhen a relationship resolves to a **union** or **interface**, `__typename` is emitted automatically into the projection — you don't need to add `__typename: true` to the select (or `__typename` to the `selectionSet`). This prevents silent discrimination failures on the client side where type guards return `false` because the discriminator was never projected.\n\n```typescript\n// Union target: __typename is synthesized from labels, no need to request it\nconst chapters = await Book.find({\n  select: {\n    chapters: {                 // chapters targets ChapterType = StandardChapter | RangeChapter\n      select: { id: true },\n    },\n  },\n});\n// Each chapter still has chapter.__typename === 'StandardChapter' | 'RangeChapter'\n```\n\nExplicitly requesting `__typename: true` (or including it in a `selectionSet`) is still supported and idempotent — it will not be emitted twice.\n\n### Sorting and Pagination\n\n```typescript\nconst books = await Book.find({\n  where: { status: 'PUBLISHED' },\n  options: {\n    sort: [{ title: 'ASC' }, { published: 'DESC' }],\n    limit: 20,\n    offset: 40,\n  },\n});\n// ORDER BY n.title ASC, n.published DESC\n```\n\n**Each sort entry carries exactly one ordering key.** `ORDER BY` precedence\ncomes from an entry's position in the array, never from key order inside an\nobject:\n\n```typescript\n// ✅ correct — precedence is unambiguous\nsort: [{ title: 'ASC' }, { published: 'DESC' }];\n\n// ❌ rejected — compile error, and throws at runtime\nsort: [{ title: 'ASC', published: 'DESC' }];\n```\n\nWhy not just honour both keys? Because object key order is not a reliable\ncarrier for precedence. When sort input arrives through a GraphQL layer,\n`graphql-js` rebuilds input objects by iterating the schema's field\ndefinitions, so the order a client wrote is already gone before the OGM sees\nit. Array position survives that trip; key order does not.\n\nBuilding a sort list conditionally works the same way — push entries rather\nthan assembling one object:\n\n```typescript\nconst sort: BookSort[] = [];\nif (byTitle) sort.push({ title: 'ASC' });\nif (byDate) sort.push({ published: 'DESC' });\n\nawait Book.find({ options: { sort } });\n```\n\n---\n\n## Mutation API\n\n### Create\n\n```typescript\nconst Book = ogm.model('Book');\n\n// Create one or more nodes\nconst result = await Book.create({\n  input: [{\n    title: 'Graph Databases',\n    isbn: '978-1491930892',\n    author: { connect: { where: { node: { name: 'Jim Webber' } } } },\n    categories: {\n      create: [{ node: { name: 'Technology' }, edge: { isPrimary: true } }],\n    },\n  }],\n});\n// result: { info: { nodesCreated, relationshipsCreated }, books: [...] }\n```\n\n### Create Many\n\n```typescript\n// Bulk create (scalar properties only, no nested ops)\nconst { count } = await Book.createMany({\n  data: [\n    { title: 'Book A', isbn: '111' },\n    { title: 'Book B', isbn: '222' },\n  ],\n  skipDuplicates: true, // uses MERGE on unique fields\n});\n```\n\n### Update\n\n```typescript\nconst result = await Book.update({\n  where: { id: 'book-1' },\n  update: { title: 'Updated Title' },\n  connect: {\n    categories: [{ where: { node: { name: 'Science' } } }],\n  },\n  disconnect: {\n    categories: { where: { node: { name: 'Fiction' } } },\n  },\n});\n```\n\n### Update Many\n\n```typescript\n// Bulk update (returns count only, no connect/disconnect)\nconst { count } = await Book.updateMany({\n  where: { published_LT: '2020-01-01' },\n  data: { isbn: null },\n});\n```\n\n### Delete\n\n```typescript\n// Simple delete\nawait Book.delete({ where: { id: 'book-1' } });\n\n// Cascade delete related nodes\nawait Book.delete({\n  where: { id: 'book-1' },\n  delete: {\n    categories: [{ where: { node: { name: 'Temp Category' } } }],\n  },\n});\n```\n\nCascade semantics:\n\n- Each item deletes only the related nodes matching its `where`. An empty item (`{}`) deletes every related node of that relationship.\n- An item may be a single object or an array of items.\n- With [Node-Level Security](#node-level-security), each cascaded node must also pass its own type's `delete` policy. Nodes the policy rejects are kept.\n- A `delete` nested inside a cascade item (multi-level cascade) throws `OGMError`, as do unknown keys in a cascade item.\n\n> **Behavior change in v2.3.0:** before v2.3.0 the per-item `where` was ignored and the cascade deleted **every** related node, including nodes shared with other records. If you relied on that, pass `{}` explicitly.\n\n### Delete Many\n\n```typescript\nconst { count } = await Book.deleteMany({\n  where: { title_CONTAINS: 'Draft' },\n});\n```\n\n### Upsert\n\n```typescript\n// Create if not found, update if exists (scalar properties only)\nconst book = await Book.upsert({\n  where: { isbn: '978-1491930892' },\n  create: { title: 'Graph Databases', isbn: '978-1491930892' },\n  update: { title: 'Graph Databases, Updated' },\n  select: { id: true, title: true },\n});\n```\n\n### Label Management\n\n```typescript\n// Set, add, or remove labels on existing nodes\nawait Book.setLabels({\n  where: { id: 'book-1' },\n  addLabels: ['Published', 'Featured'],\n  removeLabels: ['Draft'],\n});\n\n// Query with additional runtime labels\nconst activeBooks = await Book.find({\n  where: { title_CONTAINS: 'Graph' },\n  labels: ['Active'],  // MATCH (n:`Book`:`Active`)\n});\n```\n\n### Nested Mutations\n\nCreate, connect, disconnect, and cascade-delete related nodes in a single operation:\n\n```typescript\nawait Book.create({\n  input: [{\n    title: 'Graph Databases',\n    categories: {\n      create: [{\n        node: { name: 'Technology' },\n        edge: { isPrimary: true },  // relationship properties\n      }],\n    },\n    author: {\n      connect: {\n        where: { node: { name: 'Jim Webber' } },\n        edge: { role: 'Primary Author' },\n      },\n    },\n  }],\n});\n```\n\n---\n\n## Advanced Features\n\n### Fulltext Search\n\nRequires a `@fulltext` directive on the node type and the index to exist in Neo4j. Use `assertIndexesAndConstraints` to create indexes automatically:\n\n```typescript\nawait ogm.assertIndexesAndConstraints({ options: { create: true } });\n\nconst Book = ogm.model('Book');\n\n// Basic search\nconst results = await Book.find({\n  fulltext: {\n    BookSearch: { phrase: 'graph databases' },\n  },\n  select: { id: true, title: true },\n});\n\n// With score threshold\nconst highRelevance = await Book.find({\n  fulltext: {\n    BookSearch: { phrase: 'graph', score: 1.0 },\n  },\n});\n\n// Combined with where filters\nconst affordable = await Book.find({\n  fulltext: {\n    BookSearch: { phrase: 'art' },\n  },\n  where: { price_LT: 10 },\n});\n\n// Logical composition\nconst results = await Book.find({\n  fulltext: {\n    OR: [\n      { BookSearch: { phrase: 'graph' } },\n      { BookSearch: { phrase: 'database' } },\n    ],\n  },\n});\n```\n\n**Typed index names (v1.3.0+).** The generated `<Node>FulltextInput` type now carries the list of valid index names as literal-keyed optional fields. Typos surface as TypeScript errors and IDEs autocomplete the available indexes.\n\n```typescript\n// Before v1.3.0 — any string key compiled, typos only failed at runtime\nawait Book.find({ fulltext: { BokSearch: { phrase: 'graph' } } }); // silently accepted at type-check\n\n// v1.3.0+ — `BokSearch` is a compile-time error; `BookSearch` autocompletes\nawait Book.find({ fulltext: { BookSearch: { phrase: 'graph' } } });\n```\n\nThe runtime compiler is unchanged; this is a purely ergonomic type-level improvement. The global `FulltextInput`, `FulltextLeaf`, and `FulltextIndexEntry` exports remain for writing generic helpers across models.\n\n**One index per leaf (v2.0.0+).** A fulltext leaf references exactly one index. To search several, compose them with `AND` / `OR` — which is what those operators are for:\n\n```typescript\n// ✅ correct — both indexes are searched\nfulltext: {\n  AND: [\n    { BookSearch: { phrase: 'graph' } },\n    { BlurbSearch: { phrase: 'neo4j' } },\n  ],\n}\n\n// ❌ rejected — compile error, and throws at runtime\nfulltext: {\n  BookSearch: { phrase: 'graph' },\n  BlurbSearch: { phrase: 'neo4j' },\n}\n```\n\nBefore v2.0.0 the second form compiled to a search of `BookSearch` **only**; `BlurbSearch` and its phrase were dropped with no error, so the query returned a strictly *wider* result set than intended. `AND` compiles to correlated subqueries, `OR` to a `UNION` with `max(score)` deduplication.\n\n**One operator per object (v2.0.0+).** The same rule applies to `AND` / `OR` / `NOT` — they nest, they don't stack:\n\n```typescript\n// ✅ correct — nest to combine\nfulltext: {\n  AND: [\n    { OR: [{ BookSearch: { phrase: 'graph' } }, { BookSearch: { phrase: 'db' } }] },\n    { NOT: { BlurbSearch: { phrase: 'draft' } } },\n  ],\n}\n\n// ❌ rejected — two operators in one object\nfulltext: {\n  OR: [{ BookSearch: { phrase: 'graph' } }],\n  AND: [{ BlurbSearch: { phrase: 'neo4j' } }],\n}\n```\n\nThe compiler reads `OR`, then `AND`, then `NOT`, and stops at the first one it finds. Before v2.0.0 the rest were dropped silently — and because `AND` is checked before `NOT`, writing `{ NOT: …, AND: … }` compiled the `AND` alone and **discarded the exclusion entirely**. Mixing an operator with a bare index key (`{ OR: [...], BookSearch: {...} }`) is rejected at runtime; TypeScript can't express that one.\n\n### Subgraph Operations\n\nClone or delete entire subgraphs using APOC procedures. Requires the APOC plugin installed in Neo4j.\n\n```typescript\nimport { cloneSubgraph, deleteSubgraph } from 'grafeo-ogm';\n\n// Clone a subgraph rooted at a node\nconst cloneResult = await cloneSubgraph(\n  'source-node-id',\n  {\n    ownedLabels: ['Book', 'Chapter', 'Section'],\n    ownedRelationships: ['HAS_CHAPTER', 'HAS_SECTION'],\n    maxLevel: 5,\n    referenceRelationships: [\n      { fromLabel: 'Book', relationshipType: 'WRITTEN_BY', direction: 'OUT' },\n    ],\n  },\n  transaction,\n);\n// cloneResult: {\n//   clonedRootId,\n//   nodeMapping: Map<originalId, newId>,\n//   nodesByLabel: Map<label, newId[]>,   // v1.13.0+ — multi-label nodes appear under each label\n// }\n\n// v1.13.0+ — post-process only the nodes of one label, no broad-IN filtering:\nconst chapterIds = cloneResult.nodesByLabel.get('Chapter') ?? [];\n\n// Delete a subgraph\nconst deleteResult = await deleteSubgraph(\n  'root-node-id',\n  {\n    ownedLabels: ['Book', 'Chapter'],\n    ownedRelationships: ['HAS_CHAPTER'],\n    maxLevel: 5,\n    referenceRelationships: [],\n  },\n  transaction,\n);\n```\n\n### Computed Fields with @cypher\n\nThe `@cypher` directive declares a field whose value is produced by a custom Cypher statement at query time. Scalar `@cypher` fields are resolved in three scopes — `select` / `selectionSet`, `where`, and `options.sort` — so you can project, filter, and order by them just like stored properties.\n\n#### Declaration\n\n```graphql\ntype Book @node {\n  id: ID! @id\n  title: String!\n  published: DateTime\n\n  # Computed: lowercased title for case-insensitive sort/filter\n  insensitiveTitle: String @cypher(\n    statement: \"RETURN toLower(this.title) AS result\"\n    columnName: \"result\"\n  )\n\n  # Computed: count of related reviews\n  reviewCount: Int @cypher(\n    statement: \"MATCH (this)-[:HAS_REVIEW]->(r) RETURN count(r) AS count\"\n    columnName: \"count\"\n  )\n\n  # Computed: average review rating (aggregating relationship-property data)\n  averageRating: Float @cypher(\n    statement: \"MATCH (this)-[:HAS_REVIEW]->(r) RETURN avg(r.rating) AS avg\"\n    columnName: \"avg\"\n  )\n}\n```\n\n`statement` is the Cypher body — `this` is bound to the matched node. `columnName` is the alias the OGM reads from the `RETURN` clause; if omitted it defaults to the field name.\n\n> **⚠️ Security — `@cypher` SDL is trusted code, not data.** The `statement` argument is interpolated **verbatim** into the compiled Cypher (no parameterisation, no escaping). Treat `@cypher` directives the same way you treat `eval()` in your application code: the string MUST be a constant authored at development time, never built from runtime input. If your `typeDefs` are ever assembled from user input, environment variables, database records, or remote configuration, you have a Cypher-injection vector equivalent to RCE on the database (`MATCH (n) DETACH DELETE n RETURN '' AS x` in a `statement` will wipe the graph). The grafeo-ogm runtime cannot distinguish between developer-authored and user-derived SDL — that boundary is the application's responsibility.\n\n#### Using @cypher in SELECT\n\n```typescript\nconst books = await Book.find({\n  select: {\n    id: true,\n    title: true,\n    insensitiveTitle: true,\n    reviewCount: true,\n    averageRating: true,\n  },\n});\n\n// Or via the legacy selectionSet API:\nconst books = await Book.find({\n  selectionSet: '{ id title insensitiveTitle reviewCount averageRating }',\n});\n```\n\n#### Using @cypher in WHERE\n\n```typescript\n// Case-insensitive prefix match\nawait Book.find({\n  where: { insensitiveTitle_STARTS_WITH: 'the' },\n});\n\n// Combined with stored fields under AND/OR\nawait Book.find({\n  where: {\n    AND: [\n      { insensitiveTitle_CONTAINS: 'graph' },\n      { reviewCount_GT: 5 },\n    ],\n  },\n});\n\n// Nested inside a relationship quantifier\n// Find authors who have at least one book with more than 5 reviews\nawait Author.find({\n  where: { books_SOME: { reviewCount_GT: 5 } },\n});\n```\n\nAll standard operator suffixes are supported (`_EQ`, `_NOT`, `_IN`, `_NOT_IN`, `_LT`, `_LTE`, `_GT`, `_GTE`, `_CONTAINS`, `_NOT_CONTAINS`, `_STARTS_WITH`, `_ENDS_WITH`, `_MATCHES`).\n\n#### Using @cypher in ORDER BY\n\n```typescript\nawait Book.find({\n  where: { insensitiveTitle_STARTS_WITH: 'g' },\n  options: { sort: [{ insensitiveTitle: 'ASC' }] },\n  select: { id: true, title: true, reviewCount: true },\n});\n```\n\n#### Limitations\n\nThe following positions throw `OGMError` at compile time with a clear hint, rather than silently misbehaving:\n\n- **Connection `where` and `select.where`**: Prisma-style relationship filtering with `@cypher` is unsupported. Workaround: filter on the parent type, or query the related node directly via its own model.\n- **`_SINGLE` / `Connection_SINGLE` quantifiers**: unsupported. Workaround: combine `_SOME` and `_NONE` to express \"exactly one match.\"\n- **Nested-relationship SELECT projection**: `select: { rel: { select: { cypherField: true } } }` is unsupported. Workaround: query the related node directly via its own model and join in application code.\n\nThese are not OGM bugs — they are Cypher-language constraints. Pattern comprehensions (`[(n)-[:R]->(m) | m { ... }]`) cannot host `CALL` subqueries, so resolving an `@cypher` field inside a projection or relationship-scoped predicate is impossible at the language level.\n\n#### Performance\n\nEach scope (`where`, `select`, sort) emits its own `CALL { WITH n; WITH n AS this; <statement> }` block per `@cypher` field reference. A query that references the same `@cypher` field in all three scopes emits three `CALL` blocks. This is functionally correct and parameter-isolated, but worth knowing if your statement is expensive (multi-hop traversals, aggregations over large fan-outs). For frequently-accessed computed values, consider materializing as a stored property updated on write instead.\n\n### Node-Level Security\n\nNode-Level Security (NLS) is a per-request filter layer that compiles into the existing WHERE pipeline. It is opt-in: an OGM constructed without the `policies` option emits byte-identical Cypher to a no-policy OGM. Policies return `<Node>Where` partials, so every operator, quantifier, connection filter, and nested traversal already supported by `WhereCompiler` is automatically available inside policies — no new DSL.\n\n#### Declaration\n\n```typescript\nimport { OGM, override, permissive, restrictive } from 'grafeo-ogm';\n\ninterface RequestCtx {\n  userId: string;\n  capabilities: string[];\n  tierIds: string[];\n}\n\nconst ogm = new OGM<ModelMap>({\n  typeDefs,\n  driver,\n  policies: {\n    Book: [\n      // Compile-time short-circuit. When `when(ctx)` returns true, ALL\n      // other policies for `Book.read` are dropped — query is byte-\n      // identical to a no-policy query. Zero runtime cost for admins.\n      override({\n        operations: ['*'],\n        when: (c: RequestCtx) => c.capabilities.includes('admin'),\n        name: 'admin-bypass',\n      }),\n\n      // OR-grant. Multiple permissives compose with OR — any match grants.\n      permissive({\n        operations: ['read'],\n        when: (c: RequestCtx) => ({ ownerId: c.userId }),\n        name: 'owner-can-read',\n      }),\n\n      // Read-side restrictive — AND-row predicate. Compiles into the\n      // WHERE clause and applies to read|delete|aggregate|count.\n      // `when` receives only `ctx` and returns a where-partial (or\n      // `false` for a hard deny).\n      restrictive({\n        operations: ['read'],\n        when: (c: RequestCtx) => ({ tierIds_IN: c.tierIds }),\n        name: 'tier-isolation',\n      }),\n\n      // Write-side restrictive — Postgres `WITH CHECK` semantics. Runs\n      // at the application layer for create|update only; receives both\n      // `ctx` and the user-submitted `input`. MUST return a boolean.\n      // The OGM rejects mixed read+write `operations` arrays — split a\n      // single restrictive into two if you need both read- and write-\n      // side coverage.\n      restrictive({\n        operations: ['create', 'update'],\n        when: (c, input) =>\n          (input as { ownerId?: string }).ownerId === c.userId,\n        name: 'cannot-set-other-owner',\n      }),\n    ],\n  },\n  policyDefaults: {\n    onDeny: 'empty', // Or 'throw' — raises PolicyDeniedError pre-compile.\n    auditMetadata: true,\n  },\n});\n\n// Per request:\nconst Books = ogm.withContext({ userId, capabilities, tierIds }).model('Book');\nconst visible = await Books.find({ where: { published_GT: '2024-01-01' } });\n```\n\nThe Cypher emitted for the call above is roughly:\n\n```cypher\nMATCH (n:`Book`)\nWHERE (n.`published` > $param0) AND ((n.`ownerId` = $param1) AND n.`tierIds` IN $param2)\nRETURN n { .id, .title, .ownerId, .tierIds, ... }\n```\n\n#### Hierarchical ACL example\n\nCombine permissives to express \"owner OR member of an allowed tier\":\n\n```typescript\npolicies: {\n  Book: [\n    permissive({\n      operations: ['read'],\n      when: (c) => ({ ownerId: c.userId }),\n      name: 'owner-can-read',\n    }),\n    permissive({\n      operations: ['read'],\n      // Returns a where-partial that uses the existing _SOME quantifier.\n      when: (c) => ({ tiers_SOME: { id_IN: c.tierIds } }),\n      name: 'tier-can-read',\n    }),\n  ],\n}\n```\n\nBoth permissives OR together — a row passes if either branch matches.\n\n#### Interface inheritance\n\nPolicies on an interface AND with policies on every implementing concrete type. Concrete types can only narrow restrictives, never broaden — predictable. `OR` composition for permissives lets concrete types add allow paths their interface didn't anticipate.\n\n```typescript\npolicies: {\n  Resource: [\n    // Tenant isolation applies to every type that implements Resource.\n    restrictive({ operations: ['read'], when: (c) => ({ tenantId: c.tenantId }) }),\n  ],\n  Book: [\n    // Additional grant only for Book — composed via OR with any\n    // Resource-level permissives.\n    permissive({ operations: ['read'], when: (c) => ({ authorId: c.userId }) }),\n  ],\n}\n```\n\n#### Relationships and nested writes\n\nPolicies protect a **type**, wherever it is reached from. When a bound model reaches another type through a relationship, that type's own policies apply, whether or not the root type has any.\n\nReads:\n- **Nested selection**: related nodes are filtered by their type's `read` policy.\n- **Relationship filters** (`_SOME`, `_NONE`, `_ALL`, `_SINGLE`, `…Connection`): these range over the related nodes the caller may see. At any depth, a hidden node neither satisfies nor falsifies the quantifier.\n- **Interface and union targets**: each related node is checked against the policy of its concrete type (`CASE WHEN n:Chart THEN <Chart policy> WHEN n:Drug THEN <Drug policy> … ELSE false END`).\n\nWrites follow one principle: **a nested write enforces exactly what the equivalent direct write on the target type would.**\n\n| Nested operation | Target-type policy applied |\n|---|---|\n| `connect` / `disconnect` (in `create` or `update`) | `read`: only visible nodes can be linked or unlinked |\n| nested `update` | `update` row filter, plus its write restrictives (`WITH CHECK`) on the nested input |\n| nested `create` (in `create` or `update`) | `create`: at least one permissive must apply, plus its write restrictives on the nested input |\n| `delete` inside `update`, cascade `delete` | `delete` row filter |\n\nWrite restrictives and create default-deny are checked before the query runs, so a rejected nested write throws `PolicyDeniedError` and nothing is written.\n\n> **A type without policies is open, but not a gateway.** Before v2.3.0, reading or writing through a type with no policies of its own skipped the policies of the types beyond it, and nested writes enforced no target-type policy at all. If a nested write into a protected type now gets filtered or denied, add the matching policy for that operation on the target type, or perform the write directly on its model.\n\n#### Enforcement boundary\n\n> **The OGM enforces policies at the compiler.** Policies do NOT apply to `ogm.$queryRaw`, `ogm.$executeRaw`, or to `@cypher` directive bodies that traverse from a stored field. If you need raw-Cypher enforcement, write the predicate into your raw Cypher manually or layer a Neo4j role/RBAC at the database.\n\n#### Escape hatches\n\n```typescript\n// Disable policies for a single call. Logged via logger.warn.\nawait Books.find({ where: { id: 'b1' }, unsafe: { bypassPolicies: true } });\n\n// Disable policies for a derived OGM (data migrations, admin scripts).\nconst adminOgm = ogm.unsafe.bypassPolicies();\n```\n\nBoth paths emit byte-identical Cypher to a no-policy OGM.\n\n#### Audit metadata\n\nWhen `policies` is configured, every OGM-emitted query attaches transaction metadata:\n\n```typescript\n{\n  ogmPolicySetVersion: '1.7.0',\n  ctxFingerprint: '<sha256 of sorted ctx KEYS — never values>',\n  modelType: 'Book',\n  operation: 'read',\n  policiesEvaluated: ['owner-can-read', 'tier-isolation'],\n  bypassed: false,\n}\n```\n\nDisable via `policyDefaults: { auditMetadata: false }`. The fingerprint is intentionally key-only — no ctx values are leaked.\n\n`policiesEvaluated` lists only the policies that **applied** to the query. A restrictive whose `appliesWhen(ctx)` returned `false` is omitted (before v2.2.0 it was listed even though it contributed nothing). `explainPolicies` calls add `explain: true` and are always recorded, even with `auditMetadata: false`.\n\n#### Explaining policy decisions\n\nWhen a policy-bound read hides a node, `find` can only show *that* the node disappeared. `explainPolicies` shows *which* named clause decided it. It evaluates every `read` policy for the type separately, for each candidate node, without short-circuiting. Both `when:` and `cypher:` clauses are covered, and nodes the policies reject are returned too.\n\n```typescript\nconst report = await ogm\n  .withContext(ctx)\n  .model('Chart')\n  .explainPolicies({ where: { id_IN: candidateIds }, select: { id: true } });\n\n// [{\n//   node: { id: 'chart-8617' },\n//   visible: false,                        // exactly what `find` would enforce\n//   overriddenBy: null,\n//   permissiveGranted: true,\n//   failedRestrictives: ['chart.dose-translation-coverage'],\n//   policies: [\n//     { name: 'chart.read-grant', kind: 'permissive', source: 'Chart', applied: true, outcome: 'pass' },\n//     { name: 'chart.weight-zone', kind: 'restrictive', source: 'Chart', applied: true, outcome: 'pass' },\n//     { name: 'chart.text-field-scope', kind: 'restrictive', source: 'Chart', applied: false, outcome: 'not-applied' },\n//     { name: 'chart.dose-translation-coverage', kind: 'restrictive', source: 'Chart', applied: true, outcome: 'fail' },\n//   ],\n// }]\n```\n\n| `outcome` | Meaning |\n|---|---|\n| `pass` | Applied, and its predicate evaluated to `true`. |\n| `fail` | Applied, and it evaluated to `false`. This includes a restrictive hard deny (`when: () => false`). |\n| `null` | Applied, and it evaluated to NULL (for example, a missing property). Enforcement treats NULL as not-true. It is reported separately from `fail` because the fix is different. |\n| `abstain` | Applied, but it emitted no predicate. A permissive abstain grants nothing; a restrictive abstain restricts nothing. |\n| `not-applied` | `appliesWhen(ctx)` returned `false` (for an override: `when(ctx)` returned `false`). The policy was not evaluated. |\n| `skipped` | Not evaluated, because an earlier override fired. |\n\nHow it works:\n\n- **Same predicates as `find`.** The explain query projects the exact compiled fragments `find` would enforce. `visible` is computed from the same composed predicate `find` puts in its `WHERE`. The verdict recomputed from the per-policy outcomes must agree with it; if it ever doesn't, the call throws instead of returning a wrong explanation.\n- **Candidate selection.** `where` and `labels` select candidates exactly as in `find`, including target-type policies on relationship filters. The root type's policy clause is reported, not used as a filter. Candidates that don't match `where` are simply absent from the result.\n- **Selection.** `select` / `selectionSet` accept everything `find` accepts. Relationships in the selection are still filtered by their own target-type policies. Only the root type's policies are explained.\n- **Read-only.** When grafeo opens the session itself, it opens it in `READ` access mode, so the server rejects any write. If you pass your own `transaction` or `session`, it is used as-is, and you control its access mode.\n- **Bounded.** `options.limit` defaults to 100, and values above 1,000 are rejected. Each candidate evaluates every policy, and the enforcement predicate is evaluated a second time for the cross-check, so explain costs more than a normal read. `sort` and `offset` are supported.\n- **Unnamed policies** are reported as `<source>.<kind>[<index>]` with `named: false`. Give every policy a `name` if you want stable, readable output.\n- **Default deny is reported, not thrown.** With `onDeny: 'throw'`, `explainPolicies` still returns rows with `visible: false` and `permissiveGranted: false`.\n\n> **Security: `explainPolicies` bypasses policy filtering by design.** It returns nodes the bound context cannot see, together with their selected fields. Expose it only on admin-only diagnostic paths, and never let request input decide whether it runs. Every call logs a `warn` and is tagged `explain: true` in the transaction metadata. It is only available on policy-bound models (`ogm.withContext(ctx).model(...)`) and throws on a model with no policy binding or on a policy-bypassed OGM. In this release it covers `Model` and the `read` operation only: `InterfaceModel`, `count`, `aggregate`, and `delete` are not supported yet.\n\n#### Limitations\n\n- **`@cypher` scalar fields inside a policy `where`-partial throw when the policy is injected into nested-selection enforcement.** Refactor the policy to use stored properties or a relationship traversal.\n- **`upsert`** evaluates create- and update-side policies at the application layer (MERGE has no WHERE). Documented limit; full MERGE-aware enforcement is not yet implemented.\n- **Restrictives are split into read-side and write-side flavors.** A restrictive's `operations` array determines which `when` signature applies. Read-side ops (`read|delete|aggregate|count`) → `when(ctx)` returns a where-partial or boolean. Write-side ops (`create|update`) → `when(ctx, input)` returns a boolean only. Mixed arrays (e.g. `['read', 'create']`) are rejected at construction time — split into two restrictives. Each flavor is invoked exactly once per query (read-side at compile, write-side at the application layer). Use `isReadRestrictive` / `isWriteRestrictive` if you need to inspect a policy at runtime.\n- **InterfaceModel branches.** Each implementer's `CASE` branch is exactly the policy clause that implementer's own model enforces, including the interface-level policies it inherits. An implementer with no policies of its own therefore gets only the interface-level ones. The OGM emits a `logger.warn` at construction time when an interface has policies and one of its implementers does not. Silence it by registering an explicit policy on each implementer.\n- **`edge` filters in nested-write `where`** (connect, disconnect, nested update and delete) are not supported and throw.\n- **`@cypher` fields in the policies of more than one member of an interface or union** cannot be combined in one query and throw. Refactor all but one to stored properties.\n- **No AsyncLocalStorage integration.** Context is supplied via explicit `withContext()` only — create one wrapper per request, discard after.\n\n### Raw Cypher\n\n```typescript\n// Read query\nconst results = await ogm.$queryRaw<{ name: string; count: number }>(\n  'MATCH (a:Author)-[:WRITTEN_BY]-(b:Book) RETURN a.name AS name, count(b) AS count',\n);\n\n// Write operation\nconst { recordsAffected } = await ogm.$executeRaw(\n  'MATCH (b:Book) WHERE b.published < $cutoff DELETE b',\n  { cutoff: '2020-01-01' },\n);\n```\n\n### Transactions\n\n```typescript\n// Callback style — interactive transaction\nawait ogm.$transaction(async (ctx) => {\n  await Book.create({ input: [{ title: 'Book A' }] }, { context: ctx });\n  await Book.update(\n    { where: { id: 'book-1' }, update: { title: 'Updated' } },\n    { context: ctx },\n  );\n  // Committed on success, rolled back on error\n});\n\n// Sequential style — array of operations\nconst [books, authors] = await ogm.$transaction([\n  (ctx) => Book.find({ select: { id: true } }, { context: ctx }),\n  (ctx) => Author.find({ select: { id: true } }, { context: ctx }),\n]);\n```\n\n### Interface Models\n\nQuery across all types implementing a shared interface:\n\n```typescript\nconst Entity = ogm.interfaceModel('Entity');\n\n// Returns both Users and Organizations with __typename\nconst entities = await Entity.find({\n  where: { name_CONTAINS: 'Acme' },\n  selectionSet: `{ id name }`,\n});\n// [{ id: '1', name: 'Acme Corp', __typename: 'Organization' }, ...]\n\n// Count across all implementing types\nconst total = await Entity.count();\n\n// Aggregate across all implementing types\nconst agg = await Entity.aggregate({\n  aggregate: { count: true },\n});\n```\n\nInterface models are **read-only**. Use `ogm.model('User')` or `ogm.model('Organization')` for mutations.\n\n### Aggregation\n\n```typescript\nconst Book = ogm.model('Book');\n\n// Simple count\nconst total = await Book.count();\nconst published = await Book.count({ where: { status: 'PUBLISHED' } });\n\n// Field aggregation (min, max, average)\nconst priceStats = await Book.aggregate({\n  aggregate: { count: true, price: true },\n});\n// { count: 42, price: { min: 9.99, max: 59.99, average: 24.50 } }\n\n// With where filter\nconst publishedStats = await Book.aggregate({\n  where: { status: 'PUBLISHED' },\n  aggregate: { count: true, price: true },\n});\n```\n\n---\n\n## Vector Search\n\ngrafeo-ogm supports Neo4j's native vector indexes via the `@vector` directive. The directive lives on `@node` types, mirrors the official `@neo4j/graphql` spec shape, and enables two typed query methods on the generated model: `searchByVector` (pass a pre-computed embedding) and `searchByPhrase` (encode text server-side via the Neo4j GenAI plugin). Results are returned as `Array<{ node, score }>`.\n\n### Schema\n\nDeclare one or more vector indexes on a node type. Set `provider` only on indexes that should support phrase search; plain vector search is always available.\n\n```graphql\ntype Article @node @vector(indexes: [\n  {\n    indexName: \"article_content_idx\"\n    queryName: \"similarArticles\"\n    embeddingProperty: \"embedding\"\n    provider: \"OpenAI\"\n  },\n  {\n    indexName: \"article_title_idx\"\n    queryName: \"similarTitles\"\n    embeddingProperty: \"titleEmbedding\"\n    # no provider — only searchByVector is available for this index\n  }\n]) {\n  id: ID! @id\n  title: String!\n  content: String!\n  embedding: [Float!]!\n  titleEmbedding: [Float!]!\n  published: Boolean!\n}\n```\n\n### Creating the index in Neo4j\n\nThe `grafeo db push` CLI creates `@vector` indexes for you — the directive carries no dimensions, so supply them in your config's `vectorIndexes` map (keyed by index name) and `db push` issues the `CREATE VECTOR INDEX`. See the [CLI → `grafeo db push`](#grafeo-db-push) section. The runtime `assertIndexesAndConstraints()` does **not** create vector indexes (only fulltext indexes and unique constraints).\n\nYou can also run the Cypher yourself as part of a migration:\n\n```cypher\nCREATE VECTOR INDEX article_content_idx FOR (n:Article) ON n.embedding\nOPTIONS { indexConfig: { 'vector.dimensions': 1536, 'vector.similarity_function': 'cosine' } }\n```\n\n### `searchByVector` — top-k similarity with a pre-computed embedding\n\nUse this when you already have an embedding vector (for example, computed via an external SDK in your application code). `k` is clamped to the range `[1, 1000]`.\n\n```typescript\nconst Article = ogm.model('Article');\n\nconst vector = await myEmbedder.embed('distributed consensus algorithms');\n\nconst results = await Article.searchByVector({\n  indexName: 'article_content_idx',\n  vector,\n  k: 10,\n  where: { published: true },\n  select: { id: true, title: true },\n});\n// results: Array<{ node: { id: string, title: string }, score: number }>\n```\n\nCompiles to:\n\n```cypher\nCALL db.index.vector.queryNodes($v_name, $v_k, $v_vector) YIELD node AS n, score\nWHERE n.published = $param0\nRETURN n { .id, .title } AS n, score\n```\n\n### `searchByPhrase` — server-side encoding via Neo4j GenAI\n\nUse this when you want Neo4j to encode the phrase for you. This requires two things:\n\n1. The index's `@vector` entry has a `provider` set (e.g. `\"OpenAI\"`, `\"AzureOpenAI\"`, `\"VertexAI\"` — whatever the GenAI plugin accepts).\n2. The **Neo4j GenAI plugin** is installed on the database.\n\nAPI credentials never appear in the schema. Pass them at query time via `providerConfig`:\n\n```typescript\nconst results = await Article.searchByPhrase({\n  indexName: 'article_content_idx',\n  phrase: 'distributed consensus algorithms',\n  k: 10,\n  providerConfig: { token: process.env.OPENAI_API_KEY },\n  where: { published: true },\n  select: { id: true, title: true },\n});\n// results: Array<{ node: { id: string, title: string }, score: number }>\n```\n\nCompiles to:\n\n```cypher\nCALL genai.vector.encode($v_phrase, $v_provider, $v_providerConfig) YIELD vector AS __v_encoded\nCALL db.index.vector.queryNodes($v_name, $v_k, __v_encoded) YIELD node AS n, score\nWHERE n.published = $param0\nRETURN n { .id, .title } AS n, score\n```\n\nCalling `searchByPhrase` on an index that does not have `provider` set throws at compile time with a descriptive error.\n\n### Generated types\n\nFor the `Article` schema above, `generateTypes` emits typed helpers with literal-string index names:\n\n```typescript\nexport type ArticleVectorResult = { node: Article; score: number };\n\nexport type ArticleVectorSearchByVectorInput = {\n  indexName: 'article_content_idx' | 'article_title_idx';\n  vector: number[];\n  k: number;\n  where?: ArticleWhere;\n  selectionSet?: string;\n  labels?: string[];\n};\n\nexport type ArticleVectorSearchByPhraseInput = {\n  indexName: 'article_content_idx'; // only indexes with provider set\n  phrase: string;\n  k: number;\n  providerConfig?: Record<string, unknown>;\n  where?: ArticleWhere;\n  selectionSet?: string;\n  labels?: string[];\n};\n```\n\n`ArticleVectorSearchByPhraseInput` is only emitted when at least one `@vector` index declares `provider`. Index-name typos surface as TypeScript errors.\n\n### Not supported (deferred)\n\nThe following were intentionally left out of this release:\n\n- **`@embedded(from:, using:)` auto-write directive** — automatic embedding on create / update. Requires a pluggable embedder port and peer-dependency adapters.\n- **Third-party embedder SDKs** (`grafeo-ogm/embedders/openai`, etc.) — tracked for a future release with optional peer dependencies.\n- **Relationship-level `@vector` indexes** — the current Neo4j / official spec only supports node vector indexes.\n- **Vector index creation via the runtime `assertIndexesAndConstraints`** — that method covers fulltext indexes and unique constraints only. Create vector indexes with the `grafeo db push` CLI (see [CLI](#cli)) or run `CREATE VECTOR INDEX` yourself.\n\n---\n\n## Type Generation\n\nGenerate TypeScript types from your schema for compile-time safety. **No Neo4j driver connection needed at build time.**\n\n### Usage\n\n```typescript\nimport { generateTypes } from 'grafeo-ogm';\nimport fs from 'fs';\n\nconst result = await generateTypes({\n  typeDefs: fs.readFileSync('./schema.graphql', 'utf-8'),\n  outFile: './src/g","readmeFilename":"README.md"}