{"_id":"hana-kgvector","_rev":"27-6e942cc09d5fb4989d913c617bb10825","name":"hana-kgvector","dist-tags":{"latest":"0.3.3"},"versions":{"0.1.0":{"name":"hana-kgvector","version":"0.1.0","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.1.0","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"8778e65f4ba1d39d9ced14f810ebee4a2b0eb18d","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.1.0.tgz","fileCount":14,"integrity":"sha512-Qx7S3BTglUzniMBMZnzdZhr125dZ736jk3IN8qsUyMdDTaIQuQtEG5Rfx5N9fuvRcK8a0Cf0QzrxLXHcWwOyQA==","signatures":[{"sig":"MEUCIQCg7vui0+kJBuT/bpijsKBUiRDdr7rGVsbKpwntpanpPQIgSzaE6NH8pX63aTsDTIHgjAcVKgWRvGmdjikZt+qnxcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323883},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f8f83e8a823bae868142be4e30aa2fc28cf3d351","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts","phase0:llamaindex":"tsx scripts/validate-llamaindex.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","dotenv":"^16.4.5","openai":"^4.0.0","llamaindex":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.1.0_1767236271340_0.36676206139190004","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"hana-kgvector","version":"0.1.1","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.1.1","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"86669d8ef7bca0c042a610e34ac652c9bf1d07be","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.1.1.tgz","fileCount":14,"integrity":"sha512-5aWGTKFtjJ+B46SVXL7I8EZXIxoCKfccZ6duXUqhdoYSvSv19Ipr5FyP5WEzqGoFTUDw50FXcQe3bt3GdgfsPg==","signatures":[{"sig":"MEQCIEljkDHcLiIhM1QWy70h9WuZ+g3eCSKvAvwZfdft+mwJAiBNk4CZxu+TrF2Iu07tJTXfzqmOzFelYvYVc25iP0CdzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323792},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f8f83e8a823bae868142be4e30aa2fc28cf3d351","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","dotenv":"^16.4.5","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.1.1_1767236837897_0.47289473690102013","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"hana-kgvector","version":"0.1.2","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.1.2","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"aa0647e1f2f1f72eb902727f3614acf38ae3e436","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.1.2.tgz","fileCount":14,"integrity":"sha512-Rmy1kkrErzG8BdM3V2ZI9LxZO9HTj0UFaXJYNX7QpuDqSKHIJMlk/6xqTV0cVQAzuNNBxr0KjcjzNeqALgIWHw==","signatures":[{"sig":"MEUCIQDAeRZdNzvFJSVsrGhGUrmk8/h4ZR7YwB3T4FFCvPJM0AIgcTWhbw7qpWtfKxf89ehGbmoEfdUICFd7BYgN+zXVwVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323746},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f8f83e8a823bae868142be4e30aa2fc28cf3d351","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","dotenv":"^16.4.5","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.1.2_1767237130940_0.9838602369188316","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"hana-kgvector","version":"0.1.3","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.1.3","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"06b14c5a538ee43029c3e4100671e2b3886883e0","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.1.3.tgz","fileCount":14,"integrity":"sha512-BZ/Prjb0RMQ4iDf0p5qA+6DFGdAhjlQSZiT+JbW6Ngxw2RKbKFCW7Jqcvdt0RkCDHZv3kUDgnFOft+5ChHT0Mw==","signatures":[{"sig":"MEYCIQD2jIH7uI9IsSo/Z69etzwchp/7fCy5KYkJbNB0P1nVmQIhALnKchhtFauaT4c+i5MNSmzp9OanIXZ3hT/QvEUkn/W3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323459},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f8f83e8a823bae868142be4e30aa2fc28cf3d351","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.1.3_1767237309223_0.3369100133570355","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"hana-kgvector","version":"0.1.4","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.1.4","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"240633c69fefbaf6d5a6634d7c8dafbedf5fc188","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.1.4.tgz","fileCount":6,"integrity":"sha512-jHCilqLnrHFkxAah6NfMXe8dt6ZN9FlV4/PHiqsrr+oRPdcOcn3NLKCdjRSauXW0qywdWDeUfi6SW1DS7Qp4dg==","signatures":[{"sig":"MEQCIHY+qfmD/xU8UmOI9Jh0EqW9InJl8l2gvFmmMUXwak9+AiBjpeTZzfacDYc+LuFq9UzTAwDqdGYuH6bR/0ipNjYkOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138474},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.1.4.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/689e654b13b1f015966838e05e543a4a/hana-kgvector-0.1.4.tgz","_integrity":"sha512-jHCilqLnrHFkxAah6NfMXe8dt6ZN9FlV4/PHiqsrr+oRPdcOcn3NLKCdjRSauXW0qywdWDeUfi6SW1DS7Qp4dg==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.1.4_1767415133749_0.1817944170794128","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"hana-kgvector","version":"0.1.5","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.1.5","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"3a4738ca60b25fa38551dde80aabb9428bb7fb23","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.1.5.tgz","fileCount":6,"integrity":"sha512-SAzWKkG8c89+vugsQOjdlL86qDuDmmJHfYtYPeCAyIO6QiNuONFUZ9PE3a2EQYGzkDScjhiBmDVJ0/VTSq+ZeQ==","signatures":[{"sig":"MEUCIQDdEjJdUSqCgHuDfTgXJLGiR+Lge6jlTFzaXYlzpP4vSwIgISXKlYUfcHj0IaIvgZR9s2VBje17IxM5+HqZk31IEts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141436},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.1.5.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/82a7f75fca3364d5d9f1a795979f1bc5/hana-kgvector-0.1.5.tgz","_integrity":"sha512-SAzWKkG8c89+vugsQOjdlL86qDuDmmJHfYtYPeCAyIO6QiNuONFUZ9PE3a2EQYGzkDScjhiBmDVJ0/VTSq+ZeQ==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.1.5_1767416717240_0.5713706322154364","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"hana-kgvector","version":"0.1.6","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.1.6","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"47404eb29658c89cc0881010e2998585d7db688d","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.1.6.tgz","fileCount":6,"integrity":"sha512-JtBJNmjq2ujd8cGGQAmnkzw1F9agucxP6OK/5L39t0CrDSC3DDCHUJesY4ezTQKiTrnmhL6AeWULeay61mmnzA==","signatures":[{"sig":"MEUCIQDxP5BPwpZQAlO2V+7eMPb0QEwvVm/mm+bHAWvjJWZ/jwIgWNWB+eB2szurSrygArKWKscmFyM0NMXJpQRNJutlGx8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142000},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.1.6.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/23dd5dbe9829044da685f8826899b63a/hana-kgvector-0.1.6.tgz","_integrity":"sha512-JtBJNmjq2ujd8cGGQAmnkzw1F9agucxP6OK/5L39t0CrDSC3DDCHUJesY4ezTQKiTrnmhL6AeWULeay61mmnzA==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.1.6_1767438693516_0.8739376686637637","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"hana-kgvector","version":"0.1.7","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.1.7","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"fd6b221f9d4a4fe582fcafdc0414fd0c07451490","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.1.7.tgz","fileCount":6,"integrity":"sha512-Tc40rlWyAxYDMko8ac9FG6nwUgQ9dFPkAEeJrz3xpJEGbPkjE0Z3qPj7mr9FsnwEktqgTl7IglLuiUxaaywu7w==","signatures":[{"sig":"MEQCIBWY2D9cDXC9SyNVh7fhvrgP6pJnDkNeB3pIqcBI8Y0/AiA/TWLF2OObay4gXh3ao2lfceVgZsQeSrVWSUgLt2kq3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142000},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.1.7.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/babb394b2a6dc5de60ea01c9a1346fc9/hana-kgvector-0.1.7.tgz","_integrity":"sha512-Tc40rlWyAxYDMko8ac9FG6nwUgQ9dFPkAEeJrz3xpJEGbPkjE0Z3qPj7mr9FsnwEktqgTl7IglLuiUxaaywu7w==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.1.7_1767506908453_0.981665554569989","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"hana-kgvector","version":"0.1.8","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.1.8","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"583b495fab303f1f8f7fa26384fb304ff8b89c13","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.1.8.tgz","fileCount":6,"integrity":"sha512-SNYi5ENXHFTC03HQZvIt22SnnC+uQtUHUBmzVdVwkH6+AtCbuRXdRWvlKlV3pc7oIjX+T7YoXgq2BE/OP1gOsg==","signatures":[{"sig":"MEUCIQDN9sN40Fg06A3Q61NHfN6LJBYe5VOFCkXWdCUbTq0VLAIgLUh0l91MwZxg0rQjPM73eIBu6Q5NNjMlrZPeKO61w9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162548},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.1.8.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/dbab019f200f2843b8859cdf3049b15c/hana-kgvector-0.1.8.tgz","_integrity":"sha512-SNYi5ENXHFTC03HQZvIt22SnnC+uQtUHUBmzVdVwkH6+AtCbuRXdRWvlKlV3pc7oIjX+T7YoXgq2BE/OP1gOsg==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.1.8_1767522548686_0.9243111230171186","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"hana-kgvector","version":"0.1.9","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.1.9","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"2041e3ee250d9322d4cef14b0a6908996619a3e4","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.1.9.tgz","fileCount":6,"integrity":"sha512-WzbK4a52n6sKYcpABHluma/IBivN2SiRemD3jsxL6J1Jwzw3RjW6gLNy13V3jtJPgvc8lSJTwwQxpv1m4MP3Ug==","signatures":[{"sig":"MEUCIDpv0aRpoiYdyqEccpOPiQJY4Reqijfp8xHeTh8Mk6MWAiEAhjZMSdtw9jVFUWv7iYM2NLn6g+3KzRBLEUOwUP6CqJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164883},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.1.9.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/f3debc3eb2470f30046e97e943906344/hana-kgvector-0.1.9.tgz","_integrity":"sha512-WzbK4a52n6sKYcpABHluma/IBivN2SiRemD3jsxL6J1Jwzw3RjW6gLNy13V3jtJPgvc8lSJTwwQxpv1m4MP3Ug==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.1.9_1767582610144_0.7454553040819956","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"hana-kgvector","version":"0.2.0","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.0","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"a47a5ebc40916ff6fa0683ea6a9c74ece66c42d4","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.0.tgz","fileCount":6,"integrity":"sha512-99oJ+2+OG2FKJMQZhPQkR0vRodn4F8ns6TriJIf8husSeQtpp41NCXWRtDF+Ly9vxGacvMeM8FgrZUuaS2Ymzw==","signatures":[{"sig":"MEYCIQDyA403rkgPaOOj8iMD3ajb23IV9PA1+2Nvnk01cDnPgwIhANUhgghaDQnl+rTLYlw031/DZ47fiDF0RJB27SA0XCnA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164883},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.2.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/0ece4565d194854684b2c2a6d5f2ac89/hana-kgvector-0.2.0.tgz","_integrity":"sha512-99oJ+2+OG2FKJMQZhPQkR0vRodn4F8ns6TriJIf8husSeQtpp41NCXWRtDF+Ly9vxGacvMeM8FgrZUuaS2Ymzw==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.0_1767583632794_0.03536342407974513","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"hana-kgvector","version":"0.2.1","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.1","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"621ce5461ff787fe512c701b7b1bd592418281fc","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.1.tgz","fileCount":6,"integrity":"sha512-9uXCd6sIzrI07TOBiettkHWO8S9/Pc90kaxGJLzR3hI13N7zYc3Enw9YtDtWMEbdQ6PHMEV8zWP8j7n0XOyAbQ==","signatures":[{"sig":"MEYCIQDTeKqimqbPFMY9nmVRRtJ8GG4C8bkSvqEE+MfKiXSTvQIhAN4VhF36R2uAus9IuqMyQ7icnAiiTHy+RK8Vl9pvsDKc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165047},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.2.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/ecb09df9548ed3b5dfb59476fbe8c02c/hana-kgvector-0.2.1.tgz","_integrity":"sha512-9uXCd6sIzrI07TOBiettkHWO8S9/Pc90kaxGJLzR3hI13N7zYc3Enw9YtDtWMEbdQ6PHMEV8zWP8j7n0XOyAbQ==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.1_1767599220668_0.14255793429595998","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"hana-kgvector","version":"0.2.2","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.2","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"3dde02f2f64de10e2d5dd2bd72ea656cd24a36d9","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.2.tgz","fileCount":6,"integrity":"sha512-a6NFB5wTWb/nFN3N0dPzPxMXQSPDDdFjznyQ/hZGqJJVgsyp6pe8qsGAItZL+snKGqF0qWTycFGljZ4WN2Celw==","signatures":[{"sig":"MEQCIDLq6lVqHOYu+fmE4EP+T3kBtu+YR4hldVh8XP8M91NVAiBzGSU0yPnIHRyuPMwcgnY1QEMB4vCBRv2u8aqUPXyEug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172661},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.2.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/a6b450e6f19170b22e627ed5da5c462d/hana-kgvector-0.2.2.tgz","_integrity":"sha512-a6NFB5wTWb/nFN3N0dPzPxMXQSPDDdFjznyQ/hZGqJJVgsyp6pe8qsGAItZL+snKGqF0qWTycFGljZ4WN2Celw==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.2_1767624918243_0.06969209439448965","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"hana-kgvector","version":"0.2.3","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.3","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"211214f313bbf77ab1557d24011841fe14581d49","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.3.tgz","fileCount":6,"integrity":"sha512-LB5bJX3qb/K1DLZ8qdRHeK6O6b+RdgZfgBeneh9gTjxkseX91nUwt0bRguhhTDKvcMe0KnVxVdEaDEqLCM/MkQ==","signatures":[{"sig":"MEYCIQCSpL39Z6LHhJF7IXVZbTp56+s+DeYBW1yWl9yKfE9QRwIhAK9mySR0yziZLHlXiMWPQWR8odkWgAJnMmx1/w5KlmgP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175897},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.2.3.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/1bbea1b82adba3ba0a07808302a48d4b/hana-kgvector-0.2.3.tgz","_integrity":"sha512-LB5bJX3qb/K1DLZ8qdRHeK6O6b+RdgZfgBeneh9gTjxkseX91nUwt0bRguhhTDKvcMe0KnVxVdEaDEqLCM/MkQ==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","dotenv":"^16.4.5","typescript":"^5.0.0","@types/node":"^22.0.0"},"optionalDependencies":{"@sap/hana-client":"^2.27.19"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.3_1767625405101_0.8639095057200901","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"hana-kgvector","version":"0.2.4","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.4","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"5e70dd5ee25705a45cffd8d6796e3b6914f8842f","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.4.tgz","fileCount":6,"integrity":"sha512-s4hhL5Y0U/+ts9RmMVZosHO9ylwTnyk95D0jJZAxF+eOIVq1zVV1xyP/w0cIjzBRhy14nbUFDeEEeGcVusspcA==","signatures":[{"sig":"MEQCID3agV5rA/GbE1Y9kjoOvBdy1BubNTrtBJvjEkZk5+qMAiBtFw2odC8OZdNCcZmaFlYS9/CDl30xgaYewvHB6dYSPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176376},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"75c8d9f3ce5110733fff2f75351096da296fb0f0","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.4_1774409095132_0.35693167253975266","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"hana-kgvector","version":"0.2.5","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.5","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"945def4c891894668a3ac744d503365448840574","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.5.tgz","fileCount":6,"integrity":"sha512-H422rcpm4she7ZSpbEDk6Jb9UwSFEvn8mtOZyT01F7fj1xaFRvd7O8/ZHJBvuxe44ZfhZKqo7MSsDBMpyXO5qg==","signatures":[{"sig":"MEUCIFn592PbRgpYEzqr4F3hAuMw5xx5L9QXbTdurEnmim0yAiEA0HNMxhTJsrx9tlQ/z2RJK2kb0LmNLrKBum6fkLlf6MU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178037},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"70996df8d44ebee6119a8ec4b6476a6054ffa2b3","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.5_1774446933963_0.20327385051220248","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"hana-kgvector","version":"0.2.6","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.6","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"dcd69c1439b1db391d3f1279f91adb38cafc8d80","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.6.tgz","fileCount":6,"integrity":"sha512-+fK6FnFd748S9jBB8gWC7wZ570m/TLYmwEcRFVavD48DDF76LghAfLgbsmp5Sv1UOZyg2wpjpLsG7inJtD1zNw==","signatures":[{"sig":"MEQCIDENFoMpAbngdKFgbJCNPlqFGpObNTQrZ1Vpo9TIMsy7AiAI5g9bGNazTvG9g8JaDmERjdfFnRPq4zhp0ChkFY7aXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178900},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c4a413003da98357f327a22c549ffd934b260eb2","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0","tiktoken":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.6_1774449280900_0.7406848903469982","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"hana-kgvector","version":"0.2.7","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.7","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"ecc0418eb797758725870c97870f4813468bcacd","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.7.tgz","fileCount":6,"integrity":"sha512-bVvHRuCw5MH2tkV9jwEQqnYPOgl/A5yEMQnDU/VS0mjBX3/rpeko/0BVA0rVJCk6BzxYyHb1Nst4+W0ot/GxHQ==","signatures":[{"sig":"MEYCIQCd0LWaeF3dyCvxXh39+Pst/4EXbRl70H0j+hvB8xOokQIhAOc0O4bdBtp03x3p10CyziV9YWvgAn5Ly2obmm7yfIh6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179239},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c4a413003da98357f327a22c549ffd934b260eb2","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0","tiktoken":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.7_1776218839563_0.9832797411452154","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"hana-kgvector","version":"0.2.8","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.8","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"5446e2d05f289d3d82ca52c86ea798ec3363aeaf","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.8.tgz","fileCount":6,"integrity":"sha512-bfptGCpsUryQzlgpmXqWEiM7LYWI6eD8NG3rAEziTTdAUOJAt/jGgKrUt+h7LciqeHgMdrdyFDoUILvI+N39bA==","signatures":[{"sig":"MEQCIBRaN/hMomAyaxiat2yWg2yaLVX3mcccv7l+0MZTn/GcAiAmxAnSmjhcawhg09VlpFXjq+FKX6RpuCrGlbXMLAhDNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179809},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"722716d9a2648da4f0b66e0411ca545582eea67a","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0","tiktoken":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.8_1776870957430_0.334226702192715","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"hana-kgvector","version":"0.2.9","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.9","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"710c97f81dc390cdade3c46d07a1f7881f606ad9","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.9.tgz","fileCount":6,"integrity":"sha512-Mgum3jf4ocbe8qJRn4PG2t2bXjkU+jY5n6RiqQHKXsu/U4VtivdGcG/0B7UH0dzTpd5M1AoH0mjK34plCq8gbw==","signatures":[{"sig":"MEUCIBexeYcs+zee1Pxh5tL7T3El7quOc6E32f5Obnl3AmukAiEApJWoCdNdroC0kfLGcJxH8PDRJ4nj3s/GW4wwqv5BZGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180857},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"722716d9a2648da4f0b66e0411ca545582eea67a","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0","tiktoken":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.9_1776871103188_0.21322675547043968","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"hana-kgvector","version":"0.2.10","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.10","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"3b1df61fd7b8e389131dd6c2e66b87e2c6097c62","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.10.tgz","fileCount":6,"integrity":"sha512-g1o4Wo3sTnYobYRPutXrj8KV7SRvr7OPR25M3FbO5XUhZlhaZg5yEpKYyelLbWeJhtjeLL89FObNeTTKFEB6kA==","signatures":[{"sig":"MEQCIAX4BhXGhmOM7F06RPAXX8rVH1dGITJiS1hmqYoI5dr2AiBJGGgWahkI+wnqJHRJhADNmsNfs+i6Q/njeiuuEqScWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183194},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e0b85471f5db1a49bd7c3028230364ab26661e1e","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0","tiktoken":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.10_1776902271396_0.5344476129031794","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"hana-kgvector","version":"0.2.11","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.11","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"9e10945548a8a180946c40099f3d5c860ec10d08","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.11.tgz","fileCount":6,"integrity":"sha512-47OQbuxPd0wQdif7MZYk9GcU5bNnSR7vizTwoaEISRZpJV56onAda66V8yjf1WxNLUzhILsoueXu4VWyKjrmRQ==","signatures":[{"sig":"MEUCIQCAL+iZet+Fq2PeUp2nh857YgLWjLYFoTV2aJKbVZDUbQIgedVLmpOAYI9O2vulsi9nssTH+keXMk/XAK2elTdX+O4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196339},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e0b85471f5db1a49bd7c3028230364ab26661e1e","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0","tiktoken":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.11_1776911263651_0.5370163425367891","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"hana-kgvector","version":"0.2.12","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.2.12","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"d3aea399dd8903c58a0cf18bd3955cec6fe2709b","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.2.12.tgz","fileCount":6,"integrity":"sha512-4VMGrxo5BN01v7e30kSlMuXmm1eZxh4OZJKB6xFCUSK2VK7q03ym1wF5RkxlxoVAImmVuwHCn3Af2ttfqNj2zw==","signatures":[{"sig":"MEUCICKFKbn1pCVSWtmuGONeoXLsPseuvrQekxrY+yyllL7YAiEAstyvt+EctRDwe/FkOBsOCPTCgZ+1GBiWagl0DfRiYlM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203966},"main":"dist/index.js","type":"module","_from":"file:hana-kgvector-0.2.12.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"_resolved":"/tmp/5233701044e5daafdb793dff2ad6563d/hana-kgvector-0.2.12.tgz","_integrity":"sha512-4VMGrxo5BN01v7e30kSlMuXmm1eZxh4OZJKB6xFCUSK2VK7q03ym1wF5RkxlxoVAImmVuwHCn3Af2ttfqNj2zw==","repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0","tiktoken":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.2.12_1782112793524_0.09451181809174658","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"hana-kgvector","version":"0.3.0","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.3.0","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"dca86b83ee6d66a2f5d44f064784f479ec279054","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.3.0.tgz","fileCount":6,"integrity":"sha512-hhJF+gnuWHvy0rFHq3pZUyQchCDMKTEsF8EKEYeESAr+5Om6I29CVs+DS3OpW+2EvJci9oAqjjtoqW9Eqg3rPQ==","signatures":[{"sig":"MEQCIF0b24NKZHHFg4YYzg/aELwwnNzxzyfb+5h/nh2nbL9OAiBfNX9DJJdrl4+b/f2brYkYbfWRO24lozk4KTqC0FBhow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288690},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"87583fd4add3bb1a784b68d4219791d27f3581d7","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","smoke:native":"tsx scripts/smoke-native.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0","tiktoken":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.3.0_1784295875281_0.23306195456294865","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"hana-kgvector","version":"0.3.1","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.3.1","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"6f0617a353f49b10991463585f7410bb29f2d108","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.3.1.tgz","fileCount":6,"integrity":"sha512-0oveBa+gbDufNO1A3idw2S+X/ioK+L+fDEqP/SlofXISUK1tiQoMFrUCLfVLPyuxOdf99ZFZkH9Uk9oV4ywzmA==","signatures":[{"sig":"MEQCIGwIbv33HrDKsW8+fnaE43LtPb+1JaX/KbV4bLdBgXwPAiBvgguYHgWRFe9j9Mgg4LKgbochI5jIBU8LZobCVmlFAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289045},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"8a59a52cea1a115e1189bd99939682c21309fe4c","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","smoke:native":"tsx scripts/smoke-native.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0","tiktoken":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.3.1_1784472999869_0.1483463071279949","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"hana-kgvector","version":"0.3.2","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","_id":"hana-kgvector@0.3.2","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"homepage":"https://github.com/skye0402/hana-kgvector#readme","bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"dist":{"shasum":"112dd9169371799c76d0be17f17219365d03c997","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.3.2.tgz","fileCount":6,"integrity":"sha512-F0HD6bFvMqSApsB2JWRaNjTx+CqgJUb0BZPGagzPKXHnV4jhMCB9udlK36rls/zZt5/fmDV+8v22aNXY3nZGPA==","signatures":[{"sig":"MEUCIQCnl6MS/QwK5qJaXA7t4zdilDDyEg8vzfRKfZhablSBowIgB2M5FD1yWVJEdL/L29zjSPTSuxnrD4i5cLTrG6c/M6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290691},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"8a59a52cea1a115e1189bd99939682c21309fe4c","scripts":{"dev":"tsx src/index.ts","build":"tsup","smoke:pg":"tsx scripts/smoke-property-graph.ts","phase0:hana":"tsx scripts/validate-hana.ts","smoke:native":"tsx scripts/smoke-native.ts","phase0:litellm":"tsx scripts/validate-litellm.ts"},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"repository":{"url":"git+https://github.com/skye0402/hana-kgvector.git","type":"git"},"_npmVersion":"11.6.2","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.25.76","openai":"^4.104.0","tiktoken":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","dotenv":"^16.6.1","typescript":"^5.9.3","@types/node":"^22.19.15"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"_npmOperationalInternal":{"tmp":"tmp/hana-kgvector_0.3.2_1784474875854_0.0652382853007909","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"hana-kgvector","version":"0.3.3","description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","type":"module","main":"dist/index.js","types":"dist/index.d.ts","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"author":{"name":"skye0402"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/skye0402/hana-kgvector.git"},"bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"homepage":"https://github.com/skye0402/hana-kgvector#readme","scripts":{"build":"tsup","dev":"tsx src/index.ts","phase0:litellm":"tsx scripts/validate-litellm.ts","phase0:hana":"tsx scripts/validate-hana.ts","smoke:pg":"tsx scripts/smoke-property-graph.ts","smoke:native":"tsx scripts/smoke-native.ts"},"dependencies":{"openai":"^4.104.0","tiktoken":"^1.0.22","zod":"^3.25.76"},"optionalDependencies":{"@sap/hana-client":"^2.28.17"},"devDependencies":{"@types/node":"^22.19.15","dotenv":"^16.6.1","tsup":"^8.5.1","tsx":"^4.21.0","typescript":"^5.9.3"},"gitHead":"e981f31fa865e38e0b576137373e40ce10f376ab","_id":"hana-kgvector@0.3.3","_nodeVersion":"22.19.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-yiM0eck7aLqkpjn3LX7DeCXrHpoTDhPgMg3v8DJ6RwDWvy2h5DV6efG9Aqvzlz+s6BAdxy1LkT9kM7ZzWWdBFQ==","shasum":"827c50c90000938129331f8a2e3dba95b5d4753d","tarball":"https://registry.npmjs.org/hana-kgvector/-/hana-kgvector-0.3.3.tgz","fileCount":6,"unpackedSize":291762,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB12F1dSMQRCHBH6HKEOeXS0T9C9NUsgMioKCdBNIs7VAiBKkq533NJRGF+A2+EgcSyemkAwuoAACJyHeHqgNqlD1w=="}]},"_npmUser":{"name":"skye0402","email":"skyegu75@gmail.com"},"directories":{},"maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hana-kgvector_0.3.3_1784523112435_0.35981473779520834"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-01T02:57:51.339Z","modified":"2026-07-20T04:51:52.735Z","0.1.0":"2026-01-01T02:57:51.558Z","0.1.1":"2026-01-01T03:07:18.071Z","0.1.2":"2026-01-01T03:12:11.113Z","0.1.3":"2026-01-01T03:15:09.421Z","0.1.4":"2026-01-03T04:38:53.879Z","0.1.5":"2026-01-03T05:05:17.392Z","0.1.6":"2026-01-03T11:11:33.691Z","0.1.7":"2026-01-04T06:08:28.592Z","0.1.8":"2026-01-04T10:29:08.832Z","0.1.9":"2026-01-05T03:10:10.296Z","0.2.0":"2026-01-05T03:27:12.957Z","0.2.1":"2026-01-05T07:47:00.810Z","0.2.2":"2026-01-05T14:55:18.396Z","0.2.3":"2026-01-05T15:03:25.259Z","0.2.4":"2026-03-25T03:24:55.307Z","0.2.5":"2026-03-25T13:55:34.119Z","0.2.6":"2026-03-25T14:34:41.135Z","0.2.7":"2026-04-15T02:07:19.828Z","0.2.8":"2026-04-22T15:15:57.595Z","0.2.9":"2026-04-22T15:18:23.359Z","0.2.10":"2026-04-22T23:57:51.564Z","0.2.11":"2026-04-23T02:27:43.788Z","0.2.12":"2026-06-22T07:19:53.686Z","0.3.0":"2026-07-17T13:44:35.431Z","0.3.1":"2026-07-19T14:56:40.002Z","0.3.2":"2026-07-19T15:27:55.980Z","0.3.3":"2026-07-20T04:51:52.590Z"},"bugs":{"url":"https://github.com/skye0402/hana-kgvector/issues"},"author":{"name":"skye0402"},"license":"MIT","homepage":"https://github.com/skye0402/hana-kgvector#readme","keywords":["sap-hana","knowledge-graph","vector-database","graph-rag","llm","embeddings","rdf","sparql","typescript"],"repository":{"type":"git","url":"git+https://github.com/skye0402/hana-kgvector.git"},"description":"A TypeScript framework for building hybrid GraphRAG applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings","maintainers":[{"name":"skye0402","email":"skyegu75@gmail.com"}],"readme":"# hana-kgvector\n\nA TypeScript framework for building **hybrid GraphRAG** applications using SAP HANA Cloud as the unified backend for knowledge graphs (RDF) and vector embeddings.\n\n![hana-kgvector](doc-assets/hana-kg-vector-title.png)\n**In a Nutshell:** Think of `hana-kgvector` as a super-smart librarian cat. It uses SAP HANA as a giant brain that stores data in two ways: a messy pile of \"fuzzy ideas\" (Vectors) and a neat corkboard of \"connected facts\" (Knowledge Graph). When you ask a question, it checks both the fuzzy pile and the neat board to sew together the perfect answer.\n\n## Features\n\n*   **Unified Storage**: SAP HANA Cloud for both RDF triples (Knowledge Graph Engine) and vector embeddings (Vector Engine)\n    \n*   **Hybrid Retrieval**: Combine vector similarity search (for vague semantic matches) with graph traversal (for precise factual connections)\n    \n*   **Multimodal RAG Support**: Index mixed-media documents. Retrieve images or diagrams based on the semantic relevance of their surrounding text by linking them structurally in the graph.\n    \n*   **PropertyGraphIndex**: LlamaIndex-inspired API for building and querying property graphs\n    \n*   **Schema-Guided Extraction**: Extract entities and relations from documents using LLMs based on strict rules\n    \n*   **Multi-Tenancy**: Isolate data using separate graph names for different domains\n    \n*   **LLM Agnostic**: Works with any LLM via LiteLLM proxy (OpenAI, Anthropic, Azure, etc.)\n\n> 📚 **New to hana-kgvector?** Check out the [Step-by-Step Tutorial](./TUTORIAL.md) for a complete guide.\n\n> 🚀 **Ready for real-world examples?** See the [hana-kgvector-examples](https://github.com/skye0402/hana-kgvector-examples) repository for:\n> - **Multi-Document Chat** - Full-featured Q&A with image processing and cross-document queries\n> - **Graph Visualizer** - Interactive web UI to explore your knowledge graph\n> - **PDF Chat** - Simple single-document example to get started\n\n## Installation\n\n```bash\npnpm add hana-kgvector\n# or\nnpm install hana-kgvector\n```\n\n## Quick Start\n\n### 1. Setup Environment\n\nCreate a `.env.local` file:\n\n```env\n# SAP HANA Cloud\nHANA_HOST=your-hana-instance.hanacloud.ondemand.com:443\nHANA_USER=your_user\nHANA_PASSWORD=your_password\n\n# LiteLLM Proxy\nLITELLM_PROXY_URL=http://localhost:4000\nLITELLM_API_KEY=your_key\n\n# Models\nDEFAULT_LLM_MODEL=gpt-4o-mini\nDEFAULT_EMBEDDING_MODEL=text-embedding-3-small\n```\n\n### 2. Create a PropertyGraphIndex\n\n```typescript\nimport {\n  createHanaConnection,\n  HanaPropertyGraphStore,\n  PropertyGraphIndex,\n  SchemaLLMPathExtractor,\n  ImplicitPathExtractor,\n} from \"hana-kgvector\";\nimport OpenAI from \"openai\";\n\n// Load environment variables (user should handle this in their application)\n// Example: dotenv.config({ path: \".env.local\" });\n\n// Connect to HANA\nconst conn = await createHanaConnection({\n  host: process.env.HANA_HOST!,\n  user: process.env.HANA_USER!,\n  password: process.env.HANA_PASSWORD!,\n});\n\n// Create OpenAI client (via LiteLLM)\nconst openai = new OpenAI({\n  apiKey: process.env.LITELLM_API_KEY,\n  baseURL: process.env.LITELLM_PROXY_URL,\n});\n\n// Create embed model adapter\nconst embedModel = {\n  async getTextEmbedding(text: string) {\n    const res = await openai.embeddings.create({\n      model: process.env.DEFAULT_EMBEDDING_MODEL ?? \"text-embedding-3-small\",\n      input: text,\n      encoding_format: \"base64\", // Required for some LiteLLM proxy configurations\n    });\n    return res.data[0].embedding;\n  },\n  async getTextEmbeddingBatch(texts: string[]) {\n    if (texts.length === 0) return [];\n    const res = await openai.embeddings.create({\n      model: process.env.DEFAULT_EMBEDDING_MODEL ?? \"text-embedding-3-small\",\n      input: texts,\n      encoding_format: \"base64\",\n    });\n    return res.data.map((d) => d.embedding);\n  },\n};\n\n// Create LLM client adapter\nconst llmClient = {\n  async structuredPredict<T>(schema: any, prompt: string): Promise<T> {\n    const res = await openai.chat.completions.create({\n      model: process.env.DEFAULT_LLM_MODEL ?? \"gpt-4o-mini\",\n      messages: [{ role: \"user\", content: prompt }],\n      response_format: { type: \"json_object\" },\n    });\n    let content = res.choices[0]?.message?.content ?? \"{}\";\n    // Strip markdown code blocks if present (some LLMs wrap JSON in ```json...```)\n    content = content.replace(/^```(?:json)?\\s*\\n?/i, \"\").replace(/\\n?```\\s*$/i, \"\").trim();\n    return JSON.parse(content);\n  },\n};\n\n// Create HANA-backed graph store\nconst graphStore = new HanaPropertyGraphStore(conn, {\n  graphName: \"my_knowledge_graph\",  // RDF named graph identifier\n  // vectorDimension is auto-detected from first embedding\n});\n\n// Create PropertyGraphIndex with extractors\nconst index = new PropertyGraphIndex({\n  propertyGraphStore: graphStore,\n  embedModel,\n  kgExtractors: [\n    new SchemaLLMPathExtractor({\n      llm: llmClient,\n      schema: {\n        entityTypes: [\"PERSON\", \"ORGANIZATION\", \"LOCATION\", \"PRODUCT\"],\n        relationTypes: [\"WORKS_AT\", \"LOCATED_IN\", \"PRODUCES\", \"KNOWS\"],\n        validationSchema: [\n          [\"PERSON\", \"WORKS_AT\", \"ORGANIZATION\"],\n          [\"PERSON\", \"KNOWS\", \"PERSON\"],\n          [\"ORGANIZATION\", \"LOCATED_IN\", \"LOCATION\"],\n          [\"ORGANIZATION\", \"PRODUCES\", \"PRODUCT\"],\n        ],\n      },\n    }),\n    new ImplicitPathExtractor(),\n  ],\n  embedKgNodes: true,\n});\n```\n\n### 3. Insert Documents\n\n```typescript\nawait index.insert([\n  {\n    id: \"doc_1\",\n    text: \"Alice works at SAP in Walldorf. She collaborates with Bob.\",\n    metadata: { documentId: \"company_info\" },\n  },\n  {\n    id: \"doc_2\", \n    text: \"SAP produces enterprise software and is headquartered in Germany.\",\n    metadata: { documentId: \"company_info\" },\n  },\n]);\n```\n\n### 4. Query the Graph\n\n```typescript\n// Simple query\nconst results = await index.query(\"Who works at SAP?\");\n\nfor (const result of results) {\n  console.log(`[${result.score.toFixed(3)}] ${result.node.text}`);\n}\n\n// Advanced: Use retriever directly\nimport { VectorContextRetriever } from \"hana-kgvector\";\n\nconst retriever = new VectorContextRetriever({\n  graphStore,\n  embedModel,\n  similarityTopK: 5,\n  pathDepth: 2,  // Traverse 2 hops from matched nodes\n});\n\nconst nodes = await retriever.retrieve({ queryStr: \"SAP employees\" });\n```\n\n## Architecture\n\n```\n┌────────────────────────────────────────────────────────────────────┐\n│                        hana-kgvector                               │\n├────────────────────────────────────────────────────────────────────┤\n│                                                                    │\n│  ┌────────────────────┐  ┌──────────────────┐  ┌────────────────┐  │\n│  │ PropertyGraphIndex │  │   Extractors     │  │  Retrievers    │  │\n│  │  - insert()        │  │  - SchemaLLM     │  │  - Vector      │  │\n│  │  - query()         │  │  - Implicit      │  │  - PGRetriever │  │\n│  └────────┬───────────┘  └──────────────────┘  └────────────────┘  │\n│           │                                                        │\n│           ▼                                                        │\n│  ┌──────────────────────────────────────────────────────────┐      │\n│  │              HanaPropertyGraphStore                      │      │\n│  │  - upsertNodes()   - vectorQuery()   - getRelMap()       │      │\n│  └──────────────────────────────────────────────────────────┘      │\n│           │                                                        │\n│           ▼                                                        │\n│  ┌──────────────────────┐    ┌─────────────────────┐               │\n│  │   HANA Vector Engine │    │   HANA KG Engine    │               │\n│  │   (REAL_VECTOR)      │    │   (SPARQL_EXECUTE)  │               │\n│  └──────────────────────┘    └─────────────────────┘               │\n│                                                                    │\n└────────────────────────────────────────────────────────────────────┘\n```\n\n## Core Components\n\n### HANA-Native GraphRAG APIs\n\nFor production-style HANA multimodel applications, prefer the HANA-native APIs. They keep vectors in a dedicated chunk table and use the HANA Knowledge Graph Engine as the source of truth for relationships.\n\n```typescript\nimport {\n  HanaNativeVectorStore,\n  HanaNativeKnowledgeGraphStore,\n  HanaNativeGraphRagIndex,\n} from \"hana-kgvector\";\n\nconst vectorStore = new HanaNativeVectorStore(conn, { graphName: \"abap_ext_demo\" });\nconst knowledgeGraphStore = new HanaNativeKnowledgeGraphStore(conn, { graphName: \"abap_ext_demo\" });\n\nconst index = new HanaNativeGraphRagIndex({\n  vectorStore,\n  knowledgeGraphStore,\n  embedModel, // any SDK/provider that implements getTextEmbedding + getTextEmbeddingBatch\n});\n\nawait index.insertGraph({ entities, relations, chunks });\nconst results = await index.query(\"Which reports read MARA?\", { pathDepth: 2 });\n```\n\nThe native APIs are LLM/SDK agnostic. Applications provide embeddings through the same minimal `EmbedModel` adapter used by the legacy API.\n\n### PropertyGraphIndex\n\nMain entry point for building and querying knowledge graphs.\n\n```typescript\nconst index = new PropertyGraphIndex({\n  propertyGraphStore: graphStore,  // Required: HANA-backed store\n  embedModel,                       // Optional: for vector search\n  kgExtractors: [...],             // Optional: extraction pipeline\n  embedKgNodes: true,              // Embed entity nodes\n});\n```\n\n### HanaPropertyGraphStore\n\nCompatibility implementation of the PropertyGraphStore interface. It remains supported for existing applications and examples.\n\n```typescript\nconst store = new HanaPropertyGraphStore(conn, {\n  graphName: \"my_graph\",              // RDF named graph identifier\n  vectorTableName: \"MY_VECTORS\",      // Optional: custom table name\n  // vectorDimension auto-detected from embeddings (supports 1536, 3072, etc.)\n});\n```\n\n### Extractors\n\nTransform text nodes into entities and relations.\n\n| Extractor | Description |\n|-----------|-------------|\n| `SchemaLLMPathExtractor` | Schema-guided extraction with LLM |\n| `ImplicitPathExtractor` | Extract structure-based relations (CHUNK → DOCUMENT) |\n| `AdjacencyLinker` | Create structural edges between adjacent chunks (same page, sequential) |\n\n### Retrievers\n\nRetrieve relevant context from the graph.\n\n| Retriever | Description |\n|-----------|-------------|\n| `VectorContextRetriever` | Vector similarity → graph traversal |\n| `PGRetriever` | Orchestrates multiple sub-retrievers |\n\n## Configuration Reference\n\n### HanaPropertyGraphStore Options\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `graphName` | `string` | Required | RDF named graph identifier (e.g., `\"my_knowledge_graph\"`) |\n| `vectorTableName` | `string` | Auto-generated | Custom table name for vector storage |\n| `documentNodesTableName` | `string` | Auto-generated | Custom table name for document nodes |\n| `sqlBatchSize` | `number` | `500` | Prepared statement batch size for vector/document table writes. Can also be set with `HANA_KGVECTOR_SQL_BATCH_SIZE` |\n| `resetTables` | `boolean` | `false` | Drop and recreate tables on init (dev/test only) |\n\n### Graph Discovery\n\nIf you're using a shared HANA schema (e.g. for demos or multiple apps), you can discover existing graphs created with hana-kgvector's table naming conventions:\n\n```typescript\nimport { createHanaConnection, listGraphs, getGraphTables } from \"hana-kgvector\";\n\nconst conn = await createHanaConnection({\n  host: process.env.HANA_HOST!,\n  port: parseInt(process.env.HANA_PORT || \"443\"),\n  user: process.env.HANA_USER!,\n  password: process.env.HANA_PASSWORD!,\n});\n\nconst graphs = await listGraphs(conn, {\n  // schema: \"MY_SCHEMA\",            // optional (defaults to CURRENT_SCHEMA)\n  // includeCounts: true,             // optional (row counts; can be expensive)\n  require: [\"VECTORS\", \"NODES\"],    // optional filter\n});\n\nfor (const g of graphs) {\n  console.log(g.graphName, g.hasVectors, g.hasNodes, g.hasImages);\n  console.log(getGraphTables(g.graphName));\n}\n```\n\n### PropertyGraphIndex Options\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `propertyGraphStore` | `PropertyGraphStore` | Required | HANA-backed graph store instance |\n| `embedModel` | `EmbedModel` | - | Embedding model for vector search |\n| `kgExtractors` | `TransformComponent[]` | `[ImplicitPathExtractor]` | Pipeline of entity/relation extractors. Pass `[]` for embed-only mode (vector search without KG extraction). |\n| `embedKgNodes` | `boolean` | `true` | Generate embeddings for extracted entity nodes |\n| `showProgress` | `boolean` | `false` | Log progress during extraction |\n| `maxEmbedTokens` | `number` | `8000` | Max tokens per text sent to the embedding model. Texts exceeding this are truncated using tiktoken (`cl100k_base` encoding). Default includes a safety buffer for 8192-token models like `text-embedding-3-small`. |\n\n### Query/Retrieval Options\n\nThese options can be passed to `index.query()` or `index.asRetriever()`:\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `similarityTopK` | `number` | `4` | Number of top similar nodes to retrieve via vector search |\n| `pathDepth` | `number` | `1` | Graph traversal depth (hops) from matched nodes |\n| `limit` | `number` | `30` | Maximum triplets/results to return after graph expansion |\n| `similarityScore` | `number` | - | Minimum similarity threshold (0.0-1.0) to filter results |\n| `crossCheckBoost` | `boolean` | `true` | Enable cross-check boosting (see below) |\n| `crossCheckBoostFactor` | `number` | `1.25` | Score multiplier for cross-check matches |\n| `includeStructuralEdges` | `boolean` | `true` | Traverse structural adjacency edges (ON_SAME_PAGE, ADJACENT_TO) |\n| `structuralDepth` | `number` | `1` | Depth for structural edge traversal |\n\n**Example:**\n\n```typescript\n// Retrieve more results with deeper graph traversal\nconst results = await index.query(\"Tech companies in California\", {\n  similarityTopK: 10,    // More initial matches\n  pathDepth: 2,          // Traverse 2 hops\n  limit: 50,             // Return up to 50 results\n  similarityScore: 0.5,  // Only results with score >= 0.5\n  crossCheckBoost: true, // Enable provenance-based boosting\n});\n```\n\n### Cross-Check Boosting\n\nCross-check boosting is an advanced retrieval feature that improves result quality by combining vector similarity with graph provenance:\n\n1. **Vector search** finds semantically similar entity nodes\n2. **Graph traversal** expands to find related facts/triplets\n3. **Cross-check**: If a graph fact originated from the same document as a vector-matched entity, its score is boosted\n\nThis rewards results that are **both semantically relevant AND have explicit graph connections**, improving precision for complex queries.\n\n```typescript\n// Disable cross-check boosting for raw vector scores\nconst results = await index.query(\"Apple CEO\", {\n  crossCheckBoost: false,\n});\n\n// Increase boost factor for stronger provenance preference\nconst results = await index.query(\"Apple CEO\", {\n  crossCheckBoostFactor: 1.5,  // 50% boost instead of default 25%\n});\n```\n\n### SchemaLLMPathExtractor Options\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `llm` | `LLMClient` | Required | LLM client for entity extraction. Uses the `Parseable<T>` interface (`{ parse(data: unknown): T }`) — compatible with both Zod 3 and Zod 4. |\n| `schema.entityTypes` | `string[]` | Required | Allowed entity types (e.g., `[\"PERSON\", \"ORG\"]`) |\n| `schema.relationTypes` | `string[]` | Required | Allowed relation types (e.g., `[\"WORKS_AT\"]`) |\n| `schema.validationSchema` | `[string,string,string][]` | - | Valid triplet patterns (e.g., `[\"PERSON\", \"WORKS_AT\", \"ORG\"]`) |\n| `maxTripletsPerChunk` | `number` | `10` | Max entities/relations to extract per document |\n| `strict` | `boolean` | `true` | Only allow relations defined in validationSchema |\n| `extractPromptTemplate` | `string` | Built-in | Custom prompt template for extraction |\n\n### VectorContextRetriever Options\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `graphStore` | `PropertyGraphStore` | Required | Graph store instance |\n| `embedModel` | `EmbedModel` | Required | Embedding model for query embedding |\n| `similarityTopK` | `number` | `4` | Number of top similar nodes |\n| `pathDepth` | `number` | `1` | Graph traversal depth |\n| `limit` | `number` | `30` | Max results after expansion |\n| `similarityScore` | `number` | - | Minimum similarity threshold |\n| `includeText` | `boolean` | `true` | Include source text in results |\n| `crossCheckBoost` | `boolean` | `true` | Enable cross-check boosting |\n| `crossCheckBoostFactor` | `number` | `1.25` | Score multiplier for provenance matches |\n| `includeStructuralEdges` | `boolean` | `true` | Traverse structural adjacency edges |\n| `structuralDepth` | `number` | `1` | Depth for structural edge traversal |\n\n## Structural Adjacency (Multimodal Support)\n\nFor documents with mixed content (text, images, tables), use `AdjacencyLinker` to create structural edges between chunks:\n\n```typescript\nimport { AdjacencyLinker } from \"hana-kgvector\";\n\nconst index = new PropertyGraphIndex({\n  propertyGraphStore: graphStore,\n  embedModel,\n  kgExtractors: [\n    new SchemaLLMPathExtractor({ llm: llmClient, schema }),\n    new ImplicitPathExtractor(),\n    new AdjacencyLinker({       // Must come AFTER ImplicitPathExtractor\n      linkSamePage: true,       // Link chunks on same page\n      linkAdjacent: true,       // Link sequential chunks\n      adjacentDistance: 1,      // How many chunks ahead to link\n      crossTypeOnly: false,     // Set true to only link text↔image\n    }),\n  ],\n});\n```\n\nThis enables image/table chunks to be retrieved when nearby text matches a query, via graph traversal of `ON_SAME_PAGE` and `ADJACENT_TO` edges.\n\n**Required metadata** for adjacency linking:\n- `documentId` — groups chunks by document\n- `pageNumber` — for same-page linking  \n- `chunkIndex` — for adjacent-chunk linking\n- `contentType` — (optional) for `crossTypeOnly` mode\n\n## Embed-Only Mode (Vector Search without KG Extraction)\n\nIf you manage entities and relationships externally (e.g., from a programmatic parser), you can use `PropertyGraphIndex` purely for vector search by passing an empty extractors array:\n\n```typescript\nconst index = new PropertyGraphIndex({\n  propertyGraphStore: graphStore,\n  embedModel,\n  kgExtractors: [],  // No LLM-based extraction\n});\n\n// Insert documents — only embeddings and document nodes are stored\nawait index.insert([\n  { id: \"doc_1\", text: \"Alice works at SAP.\", metadata: {} },\n  { id: \"doc_2\", text: \"SAP is headquartered in Walldorf.\", metadata: {} },\n]);\n\n// Query via vector similarity — returns matching document chunks directly\nconst results = await index.query(\"Where is SAP located?\");\nfor (const r of results) {\n  console.log(`[${r.score.toFixed(3)}] ${r.node.text}`);\n}\n\n// Entities/relations can be inserted separately via the store\nawait graphStore.upsertNodes([...]);\nawait graphStore.upsertRelations([...]);\n```\n\nWhen `kgExtractors` is empty, `query()` returns document chunks ranked by vector similarity. When entities and relations are also present, `query()` returns both document matches and graph-expanded triplets, merged and sorted by score.\n\n## Storage Architecture\n\n### HANA-Native Storage\n\nThe native path uses two storage areas per graph:\n\n| Storage | Table / Graph | Contents |\n|---------|---------------|----------|\n| **Chunks** | `{graphName}_CHUNKS` | Source text chunks, metadata, hashes, and `REAL_VECTOR` embeddings. |\n| **RDF graph** | `<graphName>` | Entities, typed relations, relation properties, and links from entities to source chunks. |\n\nRetrieval runs vector search over chunks and expands the result through the RDF graph with HANA Knowledge Graph queries.\n\n### Legacy Storage\n\nEach graph creates three storage areas:\n\n| Storage | Table | Contents |\n|---------|-------|----------|\n| **`_VECTORS`** | `{graphName}_VECTORS` | Unified query table. Stores entities (`NODE_TYPE='entity'`), document vectors (`NODE_TYPE='document'`), and relations (`NODE_TYPE='relation'` with indexed `source_id`/`target_id` columns). |\n| **`_NODES`** | `{graphName}_NODES` | Document node storage with full text, metadata, and content hashes for deduplication. |\n| **RDF graph** | SPARQL workspace | SPARQL-accessible triples (backward compat). Relations are also written here when HANA KG Engine is available. |\n\n`vectorQuery()` searches `_VECTORS` for rows with non-null embeddings (both entities and documents). `getRelMap()` queries `_VECTORS` for `NODE_TYPE='relation'` rows using indexed `source_id`/`target_id` lookups, with a SPARQL fallback for backward compatibility.\n\n## Multi-Tenancy\n\nIsolate data for different domains using separate graph names:\n\n```typescript\n// Tenant 1: Finance data\nconst financeStore = new HanaPropertyGraphStore(conn, {\n  graphName: \"finance_contracts\",\n});\nconst financeIndex = new PropertyGraphIndex({\n  propertyGraphStore: financeStore,\n  embedModel,\n  kgExtractors: [...],\n});\n\n// Tenant 2: HR data (completely isolated)\nconst hrStore = new HanaPropertyGraphStore(conn, {\n  graphName: \"hr_data\",\n});\nconst hrIndex = new PropertyGraphIndex({\n  propertyGraphStore: hrStore,\n  embedModel,\n  kgExtractors: [...],\n});\n```\n\nEach `graphName` creates:\n- A separate RDF named graph for knowledge graph data\n- A separate vector table for embeddings\n\n## Low-Level Access\n\n### Direct SPARQL Access\n\n```typescript\nimport { HanaSparqlStore } from \"hana-kgvector\";\n\nconst sparql = new HanaSparqlStore(conn);\n\n// Execute SPARQL query\nconst result = await sparql.execute({\n  sparql: `SELECT ?s ?p ?o FROM <my-graph> WHERE { ?s ?p ?o } LIMIT 10`,\n});\n\n// Load Turtle data\nawait sparql.loadTurtle({\n  turtle: `<urn:entity:1> <urn:rel:knows> <urn:entity:2> .`,\n  graphName: \"urn:hkv:my_graph\",\n});\n```\n\n## Requirements\n\n- **Node.js** 20+\n- **SAP HANA Cloud** with:\n  - Vector Engine enabled (GA since Q1 2024)\n  - Knowledge Graph Engine enabled (GA since Q1 2025)\n  - Minimum 3 vCPUs / 48 GB memory\n- **LiteLLM Proxy** (recommended) or direct LLM API access\n\n## Scripts\n\n```bash\n# Build\npnpm run build\n\n# Test\npnpm run test\n\n# Validate HANA connection\npnpm run phase0:hana\n\n# Validate LiteLLM connection\npnpm run phase0:litellm\n\n# Run PropertyGraphIndex smoke test\npnpm run smoke:pg\n\n# Run quality test suite (comprehensive testing)\npnpm exec tsx scripts/test-quality.ts\n```\n\n## License\n\nMIT\n\n## Contributing\n\nContributions welcome! Please read the PRD.md for architectural decisions and design principles.\n","readmeFilename":"README.md"}