@ductape/sdk 0.0.4-v59 → 0.0.4-v60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/dist/agents/agents.service.d.ts +8 -2
  2. package/dist/agents/agents.service.js +5 -0
  3. package/dist/agents/agents.service.js.map +1 -1
  4. package/dist/agents/types/agents.types.d.ts +2 -0
  5. package/dist/agents/types/agents.types.js.map +1 -1
  6. package/dist/agents/vector-store-adapter.js +5 -5
  7. package/dist/agents/vector-store-adapter.js.map +1 -1
  8. package/dist/api/services/appApi.service.d.ts +3 -3
  9. package/dist/api/services/appApi.service.js.map +1 -1
  10. package/dist/api/services/productsApi.service.d.ts +1 -1
  11. package/dist/api/services/productsApi.service.js +20 -13
  12. package/dist/api/services/productsApi.service.js.map +1 -1
  13. package/dist/api/services/secretsApi.service.d.ts +12 -0
  14. package/dist/api/services/secretsApi.service.js +30 -2
  15. package/dist/api/services/secretsApi.service.js.map +1 -1
  16. package/dist/api/services/workspaceApi.service.d.ts +8 -0
  17. package/dist/api/services/workspaceApi.service.js +20 -0
  18. package/dist/api/services/workspaceApi.service.js.map +1 -1
  19. package/dist/api/urls.d.ts +2 -0
  20. package/dist/api/urls.js +10 -15
  21. package/dist/api/urls.js.map +1 -1
  22. package/dist/api/utils/auth.utils.d.ts +1 -3
  23. package/dist/api/utils/auth.utils.js.map +1 -1
  24. package/dist/apps/utils/oauth-manager.js +27 -3
  25. package/dist/apps/utils/oauth-manager.js.map +1 -1
  26. package/dist/brokers/brokers.service.d.ts +8 -0
  27. package/dist/brokers/brokers.service.js +50 -4
  28. package/dist/brokers/brokers.service.js.map +1 -1
  29. package/dist/brokers/types/index.d.ts +26 -0
  30. package/dist/brokers/utils/providers/kafka.service.d.ts +7 -0
  31. package/dist/brokers/utils/providers/kafka.service.js +102 -23
  32. package/dist/brokers/utils/providers/kafka.service.js.map +1 -1
  33. package/dist/brokers/utils/providers/rabbitmq.service.d.ts +2 -1
  34. package/dist/brokers/utils/providers/rabbitmq.service.js +99 -15
  35. package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -1
  36. package/dist/database/adapters/cassandra.adapter.d.ts +1 -0
  37. package/dist/database/adapters/cassandra.adapter.js +100 -44
  38. package/dist/database/adapters/cassandra.adapter.js.map +1 -1
  39. package/dist/database/adapters/dynamodb.adapter.d.ts +1 -0
  40. package/dist/database/adapters/dynamodb.adapter.js +89 -20
  41. package/dist/database/adapters/dynamodb.adapter.js.map +1 -1
  42. package/dist/database/adapters/mongodb.adapter.d.ts +1 -0
  43. package/dist/database/adapters/mongodb.adapter.js +123 -45
  44. package/dist/database/adapters/mongodb.adapter.js.map +1 -1
  45. package/dist/database/adapters/mysql.adapter.d.ts +1 -0
  46. package/dist/database/adapters/mysql.adapter.js +125 -48
  47. package/dist/database/adapters/mysql.adapter.js.map +1 -1
  48. package/dist/database/adapters/postgresql.adapter.d.ts +5 -0
  49. package/dist/database/adapters/postgresql.adapter.js +151 -50
  50. package/dist/database/adapters/postgresql.adapter.js.map +1 -1
  51. package/dist/database/databases.service.d.ts +15 -1
  52. package/dist/database/databases.service.js +143 -2
  53. package/dist/database/databases.service.js.map +1 -1
  54. package/dist/database/operators/aggregation-builder.d.ts +11 -8
  55. package/dist/database/operators/aggregation-builder.js +184 -89
  56. package/dist/database/operators/aggregation-builder.js.map +1 -1
  57. package/dist/database/operators/query-builder.d.ts +23 -19
  58. package/dist/database/operators/query-builder.js +77 -45
  59. package/dist/database/operators/query-builder.js.map +1 -1
  60. package/dist/database/types/aggregation.interface.d.ts +21 -15
  61. package/dist/database/types/query.interface.d.ts +27 -21
  62. package/dist/database/types/write.interface.d.ts +20 -12
  63. package/dist/graph/adapters/arangodb.adapter.js +61 -22
  64. package/dist/graph/adapters/arangodb.adapter.js.map +1 -1
  65. package/dist/graph/adapters/memgraph.adapter.js +22 -16
  66. package/dist/graph/adapters/memgraph.adapter.js.map +1 -1
  67. package/dist/graph/adapters/neo4j.adapter.js +51 -21
  68. package/dist/graph/adapters/neo4j.adapter.js.map +1 -1
  69. package/dist/graph/adapters/neptune.adapter.js +32 -16
  70. package/dist/graph/adapters/neptune.adapter.js.map +1 -1
  71. package/dist/graph/graphs.service.d.ts +24 -2
  72. package/dist/graph/graphs.service.js +238 -28
  73. package/dist/graph/graphs.service.js.map +1 -1
  74. package/dist/graph/types/connection.interface.d.ts +8 -0
  75. package/dist/graph/types/query.interface.d.ts +21 -14
  76. package/dist/index.d.ts +367 -20
  77. package/dist/index.js +510 -48
  78. package/dist/index.js.map +1 -1
  79. package/dist/inputs/inputs.service.d.ts +1 -1
  80. package/dist/notifications/notifications.service.d.ts +7 -2
  81. package/dist/notifications/notifications.service.js +2 -0
  82. package/dist/notifications/notifications.service.js.map +1 -1
  83. package/dist/processor/services/processor.service.d.ts +5 -1
  84. package/dist/processor/services/processor.service.js +35 -2
  85. package/dist/processor/services/processor.service.js.map +1 -1
  86. package/dist/products/services/products.service.d.ts +76 -2
  87. package/dist/products/services/products.service.js +984 -27
  88. package/dist/products/services/products.service.js.map +1 -1
  89. package/dist/products/validators/joi-validators/create.productAgent.validator.js +52 -4
  90. package/dist/products/validators/joi-validators/create.productAgent.validator.js.map +1 -1
  91. package/dist/products/validators/joi-validators/create.productGraph.validator.js +2 -0
  92. package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -1
  93. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +1 -7
  94. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
  95. package/dist/products/validators/joi-validators/create.productVector.validator.js +4 -4
  96. package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -1
  97. package/dist/products/validators/joi-validators/update.productGraph.validator.js +2 -0
  98. package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -1
  99. package/dist/resilience/fallback.service.d.ts +4 -1
  100. package/dist/resilience/fallback.service.js +8 -10
  101. package/dist/resilience/fallback.service.js.map +1 -1
  102. package/dist/resilience/healthcheck.service.d.ts +6 -1
  103. package/dist/resilience/healthcheck.service.js +9 -0
  104. package/dist/resilience/healthcheck.service.js.map +1 -1
  105. package/dist/resilience/quota.service.d.ts +4 -1
  106. package/dist/resilience/quota.service.js +2 -0
  107. package/dist/resilience/quota.service.js.map +1 -1
  108. package/dist/resilience/resilience.service.d.ts +4 -1
  109. package/dist/resilience/resilience.service.js.map +1 -1
  110. package/dist/secrets/secrets.service.d.ts +11 -1
  111. package/dist/secrets/secrets.service.js +109 -10
  112. package/dist/secrets/secrets.service.js.map +1 -1
  113. package/dist/storage/storage.service.d.ts +4 -1
  114. package/dist/storage/storage.service.js +6 -1
  115. package/dist/storage/storage.service.js.map +1 -1
  116. package/dist/test/index.js +1 -3
  117. package/dist/test/index.js.map +1 -1
  118. package/dist/test/test.broker.kafka.d.ts +1 -0
  119. package/dist/test/test.broker.kafka.js +172 -0
  120. package/dist/test/test.broker.kafka.js.map +1 -0
  121. package/dist/test/test.broker.nats.d.ts +1 -0
  122. package/dist/test/test.broker.nats.js +193 -0
  123. package/dist/test/test.broker.nats.js.map +1 -0
  124. package/dist/test/test.broker.pubsub.d.ts +1 -0
  125. package/dist/test/test.broker.pubsub.js +171 -0
  126. package/dist/test/test.broker.pubsub.js.map +1 -0
  127. package/dist/test/test.broker.rabbitmq.d.ts +1 -0
  128. package/dist/test/test.broker.rabbitmq.js +164 -0
  129. package/dist/test/test.broker.rabbitmq.js.map +1 -0
  130. package/dist/test/test.broker.redis.d.ts +1 -0
  131. package/dist/test/test.broker.redis.js +168 -0
  132. package/dist/test/test.broker.redis.js.map +1 -0
  133. package/dist/test/test.broker.sqs.d.ts +1 -0
  134. package/dist/test/test.broker.sqs.js +158 -0
  135. package/dist/test/test.broker.sqs.js.map +1 -0
  136. package/dist/test/test.caches.d.ts +1 -0
  137. package/dist/test/test.caches.js +231 -0
  138. package/dist/test/test.caches.js.map +1 -0
  139. package/dist/test/test.database.dynamo.d.ts +1 -0
  140. package/dist/test/test.database.dynamo.js +265 -0
  141. package/dist/test/test.database.dynamo.js.map +1 -0
  142. package/dist/test/test.database.js +2 -2
  143. package/dist/test/test.database.js.map +1 -1
  144. package/dist/test/test.database.mongo.d.ts +1 -0
  145. package/dist/test/test.database.mongo.js +371 -0
  146. package/dist/test/test.database.mongo.js.map +1 -0
  147. package/dist/test/test.database.mysql.d.ts +1 -0
  148. package/dist/test/test.database.mysql.js +415 -0
  149. package/dist/test/test.database.mysql.js.map +1 -0
  150. package/dist/test/test.database.postgres.d.ts +1 -0
  151. package/dist/test/test.database.postgres.js +412 -0
  152. package/dist/test/test.database.postgres.js.map +1 -0
  153. package/dist/test/test.email.brevo.d.ts +1 -0
  154. package/dist/test/test.email.brevo.js +326 -0
  155. package/dist/test/test.email.brevo.js.map +1 -0
  156. package/dist/test/test.email.mailgun.d.ts +1 -0
  157. package/dist/test/test.email.mailgun.js +352 -0
  158. package/dist/test/test.email.mailgun.js.map +1 -0
  159. package/dist/test/test.email.postmark.d.ts +1 -0
  160. package/dist/test/test.email.postmark.js +316 -0
  161. package/dist/test/test.email.postmark.js.map +1 -0
  162. package/dist/test/test.email.sendgrid.d.ts +1 -0
  163. package/dist/test/test.email.sendgrid.js +365 -0
  164. package/dist/test/test.email.sendgrid.js.map +1 -0
  165. package/dist/test/test.email.smtp.d.ts +1 -0
  166. package/dist/test/test.email.smtp.js +323 -0
  167. package/dist/test/test.email.smtp.js.map +1 -0
  168. package/dist/test/test.graph.arangodb.d.ts +1 -0
  169. package/dist/test/test.graph.arangodb.js +358 -0
  170. package/dist/test/test.graph.arangodb.js.map +1 -0
  171. package/dist/test/test.graph.memgraph.d.ts +1 -0
  172. package/dist/test/test.graph.memgraph.js +320 -0
  173. package/dist/test/test.graph.memgraph.js.map +1 -0
  174. package/dist/test/test.graph.neo4j.d.ts +1 -0
  175. package/dist/test/test.graph.neo4j.js +218 -0
  176. package/dist/test/test.graph.neo4j.js.map +1 -0
  177. package/dist/test/test.graph.neptune.d.ts +1 -0
  178. package/dist/test/test.graph.neptune.js +331 -0
  179. package/dist/test/test.graph.neptune.js.map +1 -0
  180. package/dist/test/test.notifications.d.ts +1 -0
  181. package/dist/test/test.notifications.js +198 -0
  182. package/dist/test/test.notifications.js.map +1 -0
  183. package/dist/test/test.push.expo.d.ts +1 -0
  184. package/dist/test/test.push.expo.js +442 -0
  185. package/dist/test/test.push.expo.js.map +1 -0
  186. package/dist/test/test.push.firebase.d.ts +1 -0
  187. package/dist/test/test.push.firebase.js +409 -0
  188. package/dist/test/test.push.firebase.js.map +1 -0
  189. package/dist/test/test.session.d.ts +1 -0
  190. package/dist/test/test.session.js +299 -0
  191. package/dist/test/test.session.js.map +1 -0
  192. package/dist/test/test.sms.nexmo.d.ts +1 -0
  193. package/dist/test/test.sms.nexmo.js +278 -0
  194. package/dist/test/test.sms.nexmo.js.map +1 -0
  195. package/dist/test/test.sms.twilio.d.ts +1 -0
  196. package/dist/test/test.sms.twilio.js +275 -0
  197. package/dist/test/test.sms.twilio.js.map +1 -0
  198. package/dist/test/test.storage.js +169 -299
  199. package/dist/test/test.storage.js.map +1 -1
  200. package/dist/test/test.vector.pinecone.d.ts +1 -0
  201. package/dist/test/test.vector.pinecone.js +238 -0
  202. package/dist/test/test.vector.pinecone.js.map +1 -0
  203. package/dist/test/test.vector.qdrant.d.ts +1 -0
  204. package/dist/test/test.vector.qdrant.js +307 -0
  205. package/dist/test/test.vector.qdrant.js.map +1 -0
  206. package/dist/test/test.vector.weaviate.d.ts +1 -0
  207. package/dist/test/test.vector.weaviate.js +325 -0
  208. package/dist/test/test.vector.weaviate.js.map +1 -0
  209. package/dist/types/appBuilder.types.d.ts +6 -2
  210. package/dist/types/enums.d.ts +2 -0
  211. package/dist/types/enums.js +2 -0
  212. package/dist/types/enums.js.map +1 -1
  213. package/dist/types/index.types.d.ts +2 -4
  214. package/dist/types/index.types.js +0 -1
  215. package/dist/types/index.types.js.map +1 -1
  216. package/dist/types/processor.types.d.ts +18 -0
  217. package/dist/types/productsBuilder.types.d.ts +19 -15
  218. package/dist/types/productsBuilder.types.js.map +1 -1
  219. package/dist/types/requests.types.d.ts +2 -0
  220. package/dist/utils/index.js +23 -4
  221. package/dist/utils/index.js.map +1 -1
  222. package/dist/vector/adapters/base.adapter.d.ts +1 -1
  223. package/dist/vector/adapters/memory.adapter.d.ts +1 -1
  224. package/dist/vector/adapters/memory.adapter.js +1 -1
  225. package/dist/vector/adapters/memory.adapter.js.map +1 -1
  226. package/dist/vector/adapters/pinecone.adapter.d.ts +1 -1
  227. package/dist/vector/adapters/pinecone.adapter.js +1 -1
  228. package/dist/vector/adapters/pinecone.adapter.js.map +1 -1
  229. package/dist/vector/adapters/qdrant.adapter.d.ts +1 -1
  230. package/dist/vector/adapters/qdrant.adapter.js +1 -1
  231. package/dist/vector/adapters/qdrant.adapter.js.map +1 -1
  232. package/dist/vector/adapters/weaviate.adapter.d.ts +1 -1
  233. package/dist/vector/adapters/weaviate.adapter.js +1 -1
  234. package/dist/vector/adapters/weaviate.adapter.js.map +1 -1
  235. package/dist/vector/index.d.ts +2 -2
  236. package/dist/vector/index.js +2 -2
  237. package/dist/vector/utils/vector-error.js +0 -1
  238. package/dist/vector/utils/vector-error.js.map +1 -1
  239. package/dist/vector/vector-database.service.d.ts +9 -6
  240. package/dist/vector/vector-database.service.js +7 -6
  241. package/dist/vector/vector-database.service.js.map +1 -1
  242. package/dist/vector/vector.service.d.ts +3 -3
  243. package/dist/vector/vector.service.js +12 -9
  244. package/dist/vector/vector.service.js.map +1 -1
  245. package/dist/workflows/workflow-executor.d.ts +4 -1
  246. package/dist/workflows/workflow-executor.js +10 -2
  247. package/dist/workflows/workflow-executor.js.map +1 -1
  248. package/dist/workflows/workflows.service.d.ts +8 -2
  249. package/dist/workflows/workflows.service.js +66 -41
  250. package/dist/workflows/workflows.service.js.map +1 -1
  251. package/package.json +29 -4
@@ -0,0 +1,320 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const index_1 = __importDefault(require("./index"));
7
+ /**
8
+ * Memgraph Graph Database Tests
9
+ *
10
+ * Comprehensive tests for Memgraph graph database operations:
11
+ * - Graph database creation/registration
12
+ * - Connection management
13
+ * - Node operations (create, find, update, delete)
14
+ * - Relationship operations (create, find, delete)
15
+ * - Graph traversal and neighborhood queries
16
+ * - Cypher queries (Memgraph is Cypher-compatible)
17
+ * - Transactions
18
+ * - Statistics
19
+ * - Memgraph-specific features (in-memory performance, streaming)
20
+ */
21
+ const { graphs } = index_1.default;
22
+ // Start timing
23
+ const startTime = performance.now();
24
+ console.log(`[${new Date().toISOString()}] Starting Memgraph graph database operations...`);
25
+ async function runMemgraphTests() {
26
+ try {
27
+ // ==================== CREATE GRAPH DATABASE ====================
28
+ console.log('\n--- Creating Graph Database Configuration ---');
29
+ const createStart = performance.now();
30
+ // Create/register a Memgraph graph database configuration
31
+ await graphs.create({
32
+ name: 'Memgraph Enterprise Graph',
33
+ tag: 'memgraph-db',
34
+ type: 'memgraph',
35
+ description: 'In-memory graph database for high-performance operations',
36
+ envs: [
37
+ {
38
+ slug: 'prd',
39
+ connection_url: process.env.MEMGRAPH_URI || 'bolt://localhost:7687',
40
+ username: process.env.MEMGRAPH_USER || 'memgraph',
41
+ password: process.env.MEMGRAPH_PASSWORD || 'password',
42
+ },
43
+ {
44
+ slug: 'dev',
45
+ connection_url: process.env.MEMGRAPH_DEV_URI || 'bolt://localhost:7688',
46
+ username: process.env.MEMGRAPH_USER || 'memgraph',
47
+ password: process.env.MEMGRAPH_PASSWORD || 'password',
48
+ },
49
+ ],
50
+ }, 'ductape:rematch');
51
+ console.log(`[TIMING] Create graph config: ${(performance.now() - createStart).toFixed(2)}ms`);
52
+ console.log('Graph database configuration created successfully');
53
+ // ==================== CONNECT ====================
54
+ console.log('\n--- Connecting to Memgraph ---');
55
+ const connectStart = performance.now();
56
+ const connection = await graphs.connect({
57
+ env: 'prd',
58
+ product: 'ductape:rematch',
59
+ graph: 'memgraph-db',
60
+ });
61
+ console.log(`[TIMING] Connect: ${(performance.now() - connectStart).toFixed(2)}ms`);
62
+ console.log('Memgraph connection established:', connection);
63
+ // ==================== NODE OPERATIONS ====================
64
+ console.log('\n--- Creating Nodes ---');
65
+ // Create Person nodes
66
+ const createNodeStart = performance.now();
67
+ const alice = await graphs.createNode({
68
+ labels: ['Person'],
69
+ properties: {
70
+ name: 'Alice',
71
+ email: 'alice@example.com',
72
+ age: 28,
73
+ department: 'Engineering',
74
+ created_at: new Date().toISOString(),
75
+ },
76
+ });
77
+ console.log(`[TIMING] Create node (Alice): ${(performance.now() - createNodeStart).toFixed(2)}ms`);
78
+ console.log('Created Alice:', JSON.stringify(alice, null, 2));
79
+ const bobStart = performance.now();
80
+ const bob = await graphs.createNode({
81
+ labels: ['Person'],
82
+ properties: {
83
+ name: 'Bob',
84
+ email: 'bob@example.com',
85
+ age: 32,
86
+ department: 'Marketing',
87
+ created_at: new Date().toISOString(),
88
+ },
89
+ });
90
+ console.log(`[TIMING] Create node (Bob): ${(performance.now() - bobStart).toFixed(2)}ms`);
91
+ console.log('Created Bob:', JSON.stringify(bob, null, 2));
92
+ // Create Company node
93
+ const companyStart = performance.now();
94
+ const techCorp = await graphs.createNode({
95
+ labels: ['Company'],
96
+ properties: {
97
+ name: 'TechCorp',
98
+ industry: 'Technology',
99
+ employees: 500,
100
+ founded: 2010,
101
+ },
102
+ });
103
+ console.log(`[TIMING] Create node (TechCorp): ${(performance.now() - companyStart).toFixed(2)}ms`);
104
+ console.log('Created TechCorp:', JSON.stringify(techCorp, null, 2));
105
+ // Create Project node
106
+ const projectStart = performance.now();
107
+ const projectX = await graphs.createNode({
108
+ labels: ['Project'],
109
+ properties: {
110
+ name: 'Project X',
111
+ status: 'active',
112
+ budget: 100000,
113
+ start_date: '2024-01-01',
114
+ },
115
+ });
116
+ console.log(`[TIMING] Create node (Project X): ${(performance.now() - projectStart).toFixed(2)}ms`);
117
+ console.log('Created Project X:', JSON.stringify(projectX, null, 2));
118
+ // ==================== RELATIONSHIP OPERATIONS ====================
119
+ console.log('\n--- Creating Relationships ---');
120
+ // Create FRIENDS_WITH relationship
121
+ const friendshipStart = performance.now();
122
+ const friendship = await graphs.createRelationship({
123
+ type: 'FRIENDS_WITH',
124
+ startNodeId: alice.node.id,
125
+ endNodeId: bob.node.id,
126
+ properties: {
127
+ since: new Date().toISOString(),
128
+ strength: 'strong',
129
+ },
130
+ });
131
+ console.log(`[TIMING] Create FRIENDS_WITH: ${(performance.now() - friendshipStart).toFixed(2)}ms`);
132
+ console.log('Created friendship:', JSON.stringify(friendship, null, 2));
133
+ // Create WORKS_AT relationships
134
+ const worksAtStart = performance.now();
135
+ const aliceWorksAt = await graphs.createRelationship({
136
+ type: 'WORKS_AT',
137
+ startNodeId: alice.node.id,
138
+ endNodeId: techCorp.node.id,
139
+ properties: {
140
+ role: 'Senior Engineer',
141
+ since: '2020-01-15',
142
+ },
143
+ });
144
+ console.log(`[TIMING] Create WORKS_AT (Alice): ${(performance.now() - worksAtStart).toFixed(2)}ms`);
145
+ const bobWorksAtStart = performance.now();
146
+ const bobWorksAt = await graphs.createRelationship({
147
+ type: 'WORKS_AT',
148
+ startNodeId: bob.node.id,
149
+ endNodeId: techCorp.node.id,
150
+ properties: {
151
+ role: 'Marketing Manager',
152
+ since: '2019-06-01',
153
+ },
154
+ });
155
+ console.log(`[TIMING] Create WORKS_AT (Bob): ${(performance.now() - bobWorksAtStart).toFixed(2)}ms`);
156
+ // Create WORKS_ON relationships
157
+ const worksOnStart = performance.now();
158
+ await graphs.createRelationship({
159
+ type: 'WORKS_ON',
160
+ startNodeId: alice.node.id,
161
+ endNodeId: projectX.node.id,
162
+ properties: {
163
+ role: 'Lead Developer',
164
+ allocation: 0.8,
165
+ },
166
+ });
167
+ console.log(`[TIMING] Create WORKS_ON: ${(performance.now() - worksOnStart).toFixed(2)}ms`);
168
+ // ==================== QUERY OPERATIONS ====================
169
+ console.log('\n--- Finding Nodes ---');
170
+ // Find all Person nodes
171
+ const findStart = performance.now();
172
+ const persons = await graphs.findNodes({
173
+ labels: ['Person'],
174
+ limit: 10,
175
+ });
176
+ console.log(`[TIMING] Find nodes: ${(performance.now() - findStart).toFixed(2)}ms`);
177
+ console.log('Found persons:', JSON.stringify(persons, null, 2));
178
+ // Find nodes with properties filter
179
+ const findWithPropsStart = performance.now();
180
+ const engineers = await graphs.findNodes({
181
+ labels: ['Person'],
182
+ properties: { department: 'Engineering' },
183
+ limit: 10,
184
+ });
185
+ console.log(`[TIMING] Find nodes with props: ${(performance.now() - findWithPropsStart).toFixed(2)}ms`);
186
+ console.log('Found engineers:', JSON.stringify(engineers, null, 2));
187
+ console.log('\n--- Finding Relationships ---');
188
+ // Find all relationships
189
+ const findRelStart = performance.now();
190
+ const allRels = await graphs.findRelationships({
191
+ types: ['WORKS_AT'],
192
+ limit: 10,
193
+ });
194
+ console.log(`[TIMING] Find relationships: ${(performance.now() - findRelStart).toFixed(2)}ms`);
195
+ console.log('Found WORKS_AT relationships:', JSON.stringify(allRels, null, 2));
196
+ // ==================== TRAVERSAL OPERATIONS ====================
197
+ console.log('\n--- Graph Traversal ---');
198
+ // Traverse from Alice
199
+ const traverseStart = performance.now();
200
+ const traversalResult = await graphs.traverse({
201
+ startNodeId: alice.node.id,
202
+ direction: 'outgoing',
203
+ maxDepth: 3,
204
+ relationshipTypes: ['WORKS_AT', 'WORKS_ON', 'FRIENDS_WITH'],
205
+ });
206
+ console.log(`[TIMING] Traverse: ${(performance.now() - traverseStart).toFixed(2)}ms`);
207
+ console.log('Traversal result:', JSON.stringify(traversalResult, null, 2));
208
+ // Get neighborhood
209
+ console.log('\n--- Get Neighborhood ---');
210
+ const neighborStart = performance.now();
211
+ const neighborhood = await graphs.getNeighborhood({
212
+ nodeId: alice.node.id,
213
+ depth: 2,
214
+ });
215
+ console.log(`[TIMING] Get neighborhood: ${(performance.now() - neighborStart).toFixed(2)}ms`);
216
+ console.log('Neighborhood:', JSON.stringify(neighborhood, null, 2));
217
+ // ==================== COUNTING ====================
218
+ console.log('\n--- Counting ---');
219
+ const countStart = performance.now();
220
+ const nodeCount = await graphs.countNodes(['Person']);
221
+ console.log(`[TIMING] Count nodes: ${(performance.now() - countStart).toFixed(2)}ms`);
222
+ console.log('Person count:', nodeCount);
223
+ const relCountStart = performance.now();
224
+ const relCount = await graphs.countRelationships(['WORKS_AT']);
225
+ console.log(`[TIMING] Count relationships: ${(performance.now() - relCountStart).toFixed(2)}ms`);
226
+ console.log('WORKS_AT count:', relCount);
227
+ // ==================== STATISTICS ====================
228
+ console.log('\n--- Graph Statistics ---');
229
+ const statsStart = performance.now();
230
+ const stats = await graphs.getStatistics();
231
+ console.log(`[TIMING] Get statistics: ${(performance.now() - statsStart).toFixed(2)}ms`);
232
+ console.log('Graph statistics:', JSON.stringify(stats, null, 2));
233
+ // ==================== UPDATE OPERATIONS ====================
234
+ console.log('\n--- Updating Node ---');
235
+ const updateStart = performance.now();
236
+ const updatedAlice = await graphs.updateNode({
237
+ id: alice.node.id,
238
+ properties: {
239
+ age: 29,
240
+ title: 'Staff Engineer',
241
+ updated_at: new Date().toISOString(),
242
+ },
243
+ });
244
+ console.log(`[TIMING] Update node: ${(performance.now() - updateStart).toFixed(2)}ms`);
245
+ console.log('Updated Alice:', JSON.stringify(updatedAlice, null, 2));
246
+ // ==================== RAW CYPHER QUERIES ====================
247
+ console.log('\n--- Raw Cypher Query ---');
248
+ // Memgraph uses Cypher query language (compatible with Neo4j)
249
+ const queryStart = performance.now();
250
+ const queryResult = await graphs.query('MATCH (p:Person)-[:WORKS_AT]->(c:Company) WHERE c.name = $companyName RETURN p.name AS employee, p.department AS dept', { companyName: 'TechCorp' });
251
+ console.log(`[TIMING] Raw query: ${(performance.now() - queryStart).toFixed(2)}ms`);
252
+ console.log('Query result:', JSON.stringify(queryResult, null, 2));
253
+ // Path finding query
254
+ console.log('\n--- Path Finding Query ---');
255
+ const pathStart = performance.now();
256
+ const pathResult = await graphs.query('MATCH path = (a:Person {name: $name1})-[*1..3]-(b:Person {name: $name2}) RETURN path', { name1: 'Alice', name2: 'Bob' });
257
+ console.log(`[TIMING] Path query: ${(performance.now() - pathStart).toFixed(2)}ms`);
258
+ console.log('Path result:', JSON.stringify(pathResult, null, 2));
259
+ // ==================== TRANSACTIONS ====================
260
+ console.log('\n--- Transaction Test ---');
261
+ const txStart = performance.now();
262
+ try {
263
+ const txResult = await graphs.executeTransaction(async (tx) => {
264
+ const charlie = await graphs.createNode({
265
+ labels: ['Person'],
266
+ properties: {
267
+ name: 'Charlie',
268
+ email: 'charlie@example.com',
269
+ age: 25,
270
+ department: 'Sales',
271
+ },
272
+ }, tx);
273
+ await graphs.createRelationship({
274
+ type: 'FRIENDS_WITH',
275
+ startNodeId: charlie.node.id,
276
+ endNodeId: alice.node.id,
277
+ properties: {
278
+ since: new Date().toISOString(),
279
+ },
280
+ }, tx);
281
+ await graphs.createRelationship({
282
+ type: 'WORKS_AT',
283
+ startNodeId: charlie.node.id,
284
+ endNodeId: techCorp.node.id,
285
+ properties: {
286
+ role: 'Sales Rep',
287
+ since: '2024-01-01',
288
+ },
289
+ }, tx);
290
+ return charlie;
291
+ });
292
+ console.log(`[TIMING] Transaction: ${(performance.now() - txStart).toFixed(2)}ms`);
293
+ console.log('Transaction result:', JSON.stringify(txResult, null, 2));
294
+ // Clean up Charlie
295
+ await graphs.deleteNode({ id: txResult.node.id, detachRelationships: true });
296
+ }
297
+ catch (error) {
298
+ console.log('Transaction test skipped or failed:', error);
299
+ }
300
+ // ==================== CLEANUP ====================
301
+ console.log('\n--- Cleanup ---');
302
+ const cleanupStart = performance.now();
303
+ // Delete relationships first (or use detachRelationships)
304
+ await graphs.deleteNode({ id: projectX.node.id, detachRelationships: true });
305
+ await graphs.deleteNode({ id: techCorp.node.id, detachRelationships: true });
306
+ await graphs.deleteNode({ id: alice.node.id, detachRelationships: true });
307
+ await graphs.deleteNode({ id: bob.node.id, detachRelationships: true });
308
+ console.log(`[TIMING] Cleanup: ${(performance.now() - cleanupStart).toFixed(2)}ms`);
309
+ console.log('Test nodes deleted.');
310
+ // ==================== SUMMARY ====================
311
+ const totalTime = performance.now() - startTime;
312
+ console.log(`\n[TIMING SUMMARY]`);
313
+ console.log(` Total time: ${totalTime.toFixed(2)}ms`);
314
+ }
315
+ catch (err) {
316
+ console.error('Error in Memgraph operations:', err);
317
+ }
318
+ }
319
+ runMemgraphTests();
320
+ //# sourceMappingURL=test.graph.memgraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.graph.memgraph.js","sourceRoot":"","sources":["../../src/test/test.graph.memgraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const index_1 = __importDefault(require("./index"));
7
+ /**
8
+ * Neo4j Graph Database Tests
9
+ *
10
+ * Comprehensive tests for Neo4j graph database operations:
11
+ * - Graph database creation/registration
12
+ * - Connection management
13
+ * - Node operations (create, find, update, delete)
14
+ * - Relationship operations (create, find, delete)
15
+ * - Graph traversal and neighborhood queries
16
+ * - Cypher queries
17
+ * - Transactions
18
+ * - Statistics
19
+ */
20
+ const { graphs } = index_1.default;
21
+ // Start timing
22
+ const startTime = performance.now();
23
+ console.log(`[${new Date().toISOString()}] Starting Neo4j graph database operations...`);
24
+ async function runNeo4jTests() {
25
+ try {
26
+ // ==================== CREATE GRAPH DATABASE ====================
27
+ console.log('\n--- Creating Graph Database Configuration ---');
28
+ const createStart = performance.now();
29
+ // Create/register a Neo4j graph database configuration
30
+ await graphs.create({
31
+ name: 'Neo4j Social Graph',
32
+ tag: 'neo4j-graph',
33
+ type: 'neo4j',
34
+ description: 'Social network graph for testing Neo4j operations',
35
+ envs: [
36
+ {
37
+ slug: 'prd',
38
+ connection_url: process.env.NEO4J_URI || 'bolt://localhost:7687',
39
+ username: process.env.NEO4J_USER || 'neo4j',
40
+ password: process.env.NEO4J_PASSWORD || 'password',
41
+ database: process.env.NEO4J_DATABASE || 'neo4j',
42
+ },
43
+ {
44
+ slug: 'dev',
45
+ connection_url: process.env.NEO4J_DEV_URI || 'bolt://localhost:7688',
46
+ username: process.env.NEO4J_USER || 'neo4j',
47
+ password: process.env.NEO4J_PASSWORD || 'password',
48
+ },
49
+ ],
50
+ }, 'ductape:rematch');
51
+ console.log(`[TIMING] Create graph config: ${(performance.now() - createStart).toFixed(2)}ms`);
52
+ console.log('Graph database configuration created successfully');
53
+ // ==================== CONNECT ====================
54
+ console.log('\n--- Connecting to Neo4j ---');
55
+ const connectStart = performance.now();
56
+ const connection = await graphs.connect({
57
+ env: 'prd',
58
+ product: 'ductape:rematch',
59
+ graph: 'neo4j-graph',
60
+ });
61
+ console.log(`[TIMING] Connect: ${(performance.now() - connectStart).toFixed(2)}ms`);
62
+ console.log('Graph connection established:', connection);
63
+ // Test creating nodes
64
+ console.log('\n--- Creating Nodes ---');
65
+ const createNodeStart = performance.now();
66
+ const alice = await graphs.createNode({
67
+ labels: ['Person'],
68
+ properties: {
69
+ name: 'Alice',
70
+ email: 'alice@example.com',
71
+ age: 28,
72
+ created_at: new Date().toISOString(),
73
+ },
74
+ });
75
+ console.log(`[TIMING] Create node (Alice): ${(performance.now() - createNodeStart).toFixed(2)}ms`);
76
+ console.log('Created Alice:', JSON.stringify(alice, null, 2));
77
+ const bobStart = performance.now();
78
+ const bob = await graphs.createNode({
79
+ labels: ['Person'],
80
+ properties: {
81
+ name: 'Bob',
82
+ email: 'bob@example.com',
83
+ age: 32,
84
+ created_at: new Date().toISOString(),
85
+ },
86
+ });
87
+ console.log(`[TIMING] Create node (Bob): ${(performance.now() - bobStart).toFixed(2)}ms`);
88
+ console.log('Created Bob:', JSON.stringify(bob, null, 2));
89
+ // Test creating relationships
90
+ console.log('\n--- Creating Relationships ---');
91
+ const relStart = performance.now();
92
+ const friendship = await graphs.createRelationship({
93
+ type: 'FRIENDS_WITH',
94
+ startNodeId: alice.node.id,
95
+ endNodeId: bob.node.id,
96
+ properties: {
97
+ since: new Date().toISOString(),
98
+ strength: 'strong',
99
+ },
100
+ });
101
+ console.log(`[TIMING] Create relationship: ${(performance.now() - relStart).toFixed(2)}ms`);
102
+ console.log('Created friendship:', JSON.stringify(friendship, null, 2));
103
+ // Test finding nodes
104
+ console.log('\n--- Finding Nodes ---');
105
+ const findStart = performance.now();
106
+ const persons = await graphs.findNodes({
107
+ labels: ['Person'],
108
+ limit: 10,
109
+ });
110
+ console.log(`[TIMING] Find nodes: ${(performance.now() - findStart).toFixed(2)}ms`);
111
+ console.log('Found persons:', JSON.stringify(persons, null, 2));
112
+ // Test finding relationships
113
+ console.log('\n--- Finding Relationships ---');
114
+ const findRelStart = performance.now();
115
+ const friendships = await graphs.findRelationships({
116
+ types: ['FRIENDS_WITH'],
117
+ limit: 10,
118
+ });
119
+ console.log(`[TIMING] Find relationships: ${(performance.now() - findRelStart).toFixed(2)}ms`);
120
+ console.log('Found friendships:', JSON.stringify(friendships, null, 2));
121
+ // Test traversal
122
+ console.log('\n--- Graph Traversal ---');
123
+ const traverseStart = performance.now();
124
+ const traversalResult = await graphs.traverse({
125
+ startNodeId: alice.node.id,
126
+ direction: 'outgoing',
127
+ maxDepth: 2,
128
+ relationshipTypes: ['FRIENDS_WITH'],
129
+ });
130
+ console.log(`[TIMING] Traverse: ${(performance.now() - traverseStart).toFixed(2)}ms`);
131
+ console.log('Traversal result:', JSON.stringify(traversalResult, null, 2));
132
+ // Test neighborhood
133
+ console.log('\n--- Get Neighborhood ---');
134
+ const neighborStart = performance.now();
135
+ const neighborhood = await graphs.getNeighborhood({
136
+ nodeId: alice.node.id,
137
+ depth: 1,
138
+ });
139
+ console.log(`[TIMING] Get neighborhood: ${(performance.now() - neighborStart).toFixed(2)}ms`);
140
+ console.log('Neighborhood:', JSON.stringify(neighborhood, null, 2));
141
+ // Test counting
142
+ console.log('\n--- Counting ---');
143
+ const countStart = performance.now();
144
+ const nodeCount = await graphs.countNodes(['Person']);
145
+ console.log(`[TIMING] Count nodes: ${(performance.now() - countStart).toFixed(2)}ms`);
146
+ console.log('Person count:', nodeCount);
147
+ const relCountStart = performance.now();
148
+ const relCount = await graphs.countRelationships(['FRIENDS_WITH']);
149
+ console.log(`[TIMING] Count relationships: ${(performance.now() - relCountStart).toFixed(2)}ms`);
150
+ console.log('Friendship count:', relCount);
151
+ // Test statistics
152
+ console.log('\n--- Graph Statistics ---');
153
+ const statsStart = performance.now();
154
+ const stats = await graphs.getStatistics();
155
+ console.log(`[TIMING] Get statistics: ${(performance.now() - statsStart).toFixed(2)}ms`);
156
+ console.log('Graph statistics:', JSON.stringify(stats, null, 2));
157
+ // Test updating a node
158
+ console.log('\n--- Updating Node ---');
159
+ const updateStart = performance.now();
160
+ const updatedAlice = await graphs.updateNode({
161
+ id: alice.node.id,
162
+ properties: {
163
+ age: 29,
164
+ updated_at: new Date().toISOString(),
165
+ },
166
+ });
167
+ console.log(`[TIMING] Update node: ${(performance.now() - updateStart).toFixed(2)}ms`);
168
+ console.log('Updated Alice:', JSON.stringify(updatedAlice, null, 2));
169
+ // Test raw query
170
+ console.log('\n--- Raw Query ---');
171
+ const queryStart = performance.now();
172
+ const queryResult = await graphs.query('MATCH (p:Person) WHERE p.name = $name RETURN p', { name: 'Alice' });
173
+ console.log(`[TIMING] Raw query: ${(performance.now() - queryStart).toFixed(2)}ms`);
174
+ console.log('Query result:', JSON.stringify(queryResult, null, 2));
175
+ // Test transactions
176
+ console.log('\n--- Transaction Test ---');
177
+ const txStart = performance.now();
178
+ try {
179
+ const txResult = await graphs.executeTransaction(async (tx) => {
180
+ const charlie = await graphs.createNode({
181
+ labels: ['Person'],
182
+ properties: {
183
+ name: 'Charlie',
184
+ email: 'charlie@example.com',
185
+ age: 25,
186
+ },
187
+ }, tx);
188
+ await graphs.createRelationship({
189
+ type: 'FRIENDS_WITH',
190
+ startNodeId: charlie.node.id,
191
+ endNodeId: alice.node.id,
192
+ }, tx);
193
+ return charlie;
194
+ });
195
+ console.log(`[TIMING] Transaction: ${(performance.now() - txStart).toFixed(2)}ms`);
196
+ console.log('Transaction result:', JSON.stringify(txResult, null, 2));
197
+ }
198
+ catch (error) {
199
+ console.log('Transaction test skipped or failed:', error);
200
+ }
201
+ // Cleanup - delete test nodes
202
+ console.log('\n--- Cleanup ---');
203
+ const cleanupStart = performance.now();
204
+ await graphs.deleteNode({ id: alice.node.id, detachRelationships: true });
205
+ await graphs.deleteNode({ id: bob.node.id, detachRelationships: true });
206
+ console.log(`[TIMING] Cleanup: ${(performance.now() - cleanupStart).toFixed(2)}ms`);
207
+ console.log('Test nodes deleted.');
208
+ // ==================== SUMMARY ====================
209
+ const totalTime = performance.now() - startTime;
210
+ console.log(`\n[TIMING SUMMARY]`);
211
+ console.log(` Total time: ${totalTime.toFixed(2)}ms`);
212
+ }
213
+ catch (err) {
214
+ console.error('Error in Neo4j operations:', err);
215
+ }
216
+ }
217
+ runNeo4jTests();
218
+ //# sourceMappingURL=test.graph.neo4j.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.graph.neo4j.js","sourceRoot":"","sources":["../../src/test/test.graph.neo4j.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};